title: The MOLGENIS toolkit: rapid prototyping of biosoftware at the push of a button.
abstract: BACKGROUND
  There is a huge demand on bioinformaticians to provide their biologists with user friendly and scalable software infrastructures to capture, exchange, and exploit the unprecedented amounts of new *omics data. We here present MOLGENIS, a generic, open source, software toolkit to quickly produce the bespoke MOLecular GENetics Information Systems needed.
  
  
  METHODS
  The MOLGENIS toolkit provides bioinformaticians with a simple language to model biological data structures and user interfaces. At the push of a button, MOLGENIS' generator suite automatically translates these models into a feature-rich, ready-to-use web application including database, user interfaces, exchange formats, and scriptable interfaces. Each generator is a template of SQL, JAVA, R, or HTML code that would require much effort to write by hand. This 'model-driven' method ensures reuse of best practices and improves quality because the modeling language and generators are shared between all MOLGENIS applications, so that errors are found quickly and improvements are shared easily by a re-generation. A plug-in mechanism ensures that both the generator suite and generated product can be customized just as much as hand-written software.
  
  
  RESULTS
  In recent years we have successfully evaluated the MOLGENIS toolkit for the rapid prototyping of many types of biomedical applications, including next-generation sequencing, GWAS, QTL, proteomics and biobanking. Writing 500 lines of model XML typically replaces 15,000 lines of hand-written programming code, which allows for quick adaptation if the information system is not yet to the biologist's satisfaction. Each application generated with MOLGENIS comes with an optimized database back-end, user interfaces for biologists to manage and exploit their data, programming interfaces for bioinformaticians to script analysis tools in R, Java, SOAP, REST/JSON and RDF, a tab-delimited file format to ease upload and exchange of data, and detailed technical documentation. Existing databases can be quickly enhanced with MOLGENIS generated interfaces using the 'ExtractModel' procedure.
  
  
  CONCLUSIONS
  The MOLGENIS toolkit provides bioinformaticians with a simple model to quickly generate flexible web platforms for all possible genomic, molecular and phenotypic experiments with a richness of interfaces not provided by other tools. All the software and manuals are available free as LGPLv3 open source at http://www.molgenis.org.
authors.affiliation: Genomics Coordination Center, Groningen Bioinformatics Center, University of Groningen & Department of Genetics, University Medical Center Groningen, P.O. Box 30001, 9700 RB Groningen, The Netherlands. m.a.swertz@rug.nl
authors.forename: Morris A
authors.initials: MA
authors.lastname: Swertz
authors.forename: Martijn
authors.initials: M
authors.lastname: Dijkstra
authors.forename: Tomasz
authors.initials: T
authors.lastname: Adamusiak
authors.forename: Joeri K
authors.initials: JK
authors.lastname: van der Velde
authors.forename: Alexandros
authors.initials: A
authors.lastname: Kanterakis
authors.forename: Erik T
authors.initials: ET
authors.lastname: Roos
authors.forename: Joris
authors.initials: J
authors.lastname: Lops
authors.forename: Gudmundur A
authors.initials: GA
authors.lastname: Thorisson
authors.forename: Danny
authors.initials: D
authors.lastname: Arends
authors.forename: George
authors.initials: G
authors.lastname: Byelas
authors.forename: Juha
authors.initials: J
authors.lastname: Muilu
authors.forename: Anthony J
authors.initials: AJ
authors.lastname: Brookes
authors.forename: Engbert O
authors.initials: EO
authors.lastname: de Brock
authors.forename: Ritsert C
authors.initials: RC
authors.lastname: Jansen
authors.forename: Helen
authors.initials: H
authors.lastname: Parkinson
mesh_terms: D019295:Computational Biology / Q000379:methods*; D030541:Databases, Genetic; D023281:Genomics; D007256:Information Systems; D020407:Internet; D010641:Phenotype; D012984:Software; D014584:User-Computer Interface