Limits...
XGAP: a uniform and extensible data model and software platform for genotype and phenotype experiments.

Swertz MA, Velde KJ, Tesson BM, Scheltema RA, Arends D, Vera G, Alberts R, Dijkstra M, Schofield P, Schughart K, Hancock JM, Smedley D, Wolstencroft K, Goble C, de Brock EO, Jones AR, Parkinson HE, Coordination of Mouse Informatics Resources (CASIMIR)Genotype-To-Phenotype (GEN2PHEN) ConsortiumsJansen RC - Genome Biol. (2010)

Bottom Line: We present an extensible software model for the genotype and phenotype community, XGAP.XGAP has simple load formats for any type of genotype, epigenotype, transcript, protein, metabolite or other phenotype data.Current functionality includes tools ranging from eQTL analysis in mouse to genome-wide association studies in humans.

View Article: PubMed Central - HTML - PubMed

Affiliation: Genomics Coordination Center, Department of Genetics, University Medical Center Groningen and University of Groningen, Groningen, The Netherlands. m.a.swertz@rug.nl

ABSTRACT
We present an extensible software model for the genotype and phenotype community, XGAP. Readers can download a standard XGAP (http://www.xgap.org) or auto-generate a custom version using MOLGENIS with programming interfaces to R-software and web-services or user interfaces for biologists. XGAP has simple load formats for any type of genotype, epigenotype, transcript, protein, metabolite or other phenotype data. Current functionality includes tools ranging from eQTL analysis in mouse to genome-wide association studies in humans.

Show MeSH
Auto-generation of XGAP software. Open source generator tools are used to produce a customized XGAP software infrastructure. 1, The XGAP object model is described using the MOLGENIS' little modeling language (Figure 4). 2, Central software termed MolgenisGenerate runs several generators, building on the MOLGENIS catalogue of reusable assets. 3, At the push of the button, the software code for a working XGAP implementation is automatically generated from the DSL file. GUI and APIs provide simple tools to add and retrieve data, while the reusable assets of MOLGENIS hide the complexity normally needed to implement such tools. For customization, only simple changes to the XGAP model file are required; the MOLGENIS generator takes care of rewriting all the necessary files of SQL and Java software code, saving time and ensuring a consistent quality.
© Copyright Policy - open-access
Related In: Results  -  Collection

License
getmorefigures.php?uid=PMC2864567&req=5

Figure 6: Auto-generation of XGAP software. Open source generator tools are used to produce a customized XGAP software infrastructure. 1, The XGAP object model is described using the MOLGENIS' little modeling language (Figure 4). 2, Central software termed MolgenisGenerate runs several generators, building on the MOLGENIS catalogue of reusable assets. 3, At the push of the button, the software code for a working XGAP implementation is automatically generated from the DSL file. GUI and APIs provide simple tools to add and retrieve data, while the reusable assets of MOLGENIS hide the complexity normally needed to implement such tools. For customization, only simple changes to the XGAP model file are required; the MOLGENIS generator takes care of rewriting all the necessary files of SQL and Java software code, saving time and ensuring a consistent quality.

Mentions: Figure 6 summarizes how MOLGENIS generates the XGAP database software in three layers: database, API and GUI. MOLGENIS either generates a high-performance 'server' edition, which requires installation on server software, or a limited 'standalone' edition that runs on a desktop computer without any additional configuration. The database layer is generated as SQL files with 'database CREATE statements' that are loaded into either MySQL (server), PostgreSQL (server) or HSQLDB (standalone). Each data type in the XGAP object model (Figure 1) is mapped to its own table - for example, there is a 'Trait' table. Each inheritance adds another table, for example, each Gene has an entry in the 'Gene' table and also in the 'Trait' table. One-to-many cross-references between data types are mapped as foreign keys - for example, Data has a numeric field called 'Investigation' that must refer to the foreign key 'molgenisid' of Investigation. Many-to-many cross-references are mapped via a 'link-table' - for example, an additional table 'mref_import_data' is generated for two foreign keys to Data and ProtocolApplication, respectively, to model the importData relationship between them. The API layer is generated as Java files either served via Tomcat (server) or Jetty (standalone). A Java class is generated for each data type - for example, there is a class Gene. All data can be queried programmatically via a central Database class, that is, command db.find(Gene.class) returns all Gene objects in the database. To enhance performance, the API uses the 'batched' update methods of Java's DataBase Connectivity (JDBC) package and the 'multi-row-syntax' of MySQL to allow inserts of 10,000s of data entries in a single command, an optimization that is 5 to 15 times quicker than standard one-by-one updates. The Java/API is exposed with a SOAP/API, HTTP/API and R/API, so XGAP can also be accessed via web service tools like Taverna, HTTP or R, respectively (accessible via hyperlinks in the GUI). The GUI layer is also generated as Java files. The GUI includes classes for each Menu and Form - for example, the InvestigationForm class generates a view- and editform for investigations in the GUI. The generation is steered from one XML file written in MOLGENIS DSL (partially shown in Figure 5). To enable FuGE extension, the FuGE model was automatically translated into MOLGENIS DSL. We therefore first downloaded the FuGE v1 MagicDraw file from [68], exported from MagicDraw to XMI 2.1, parsed the XMI using the EMF parser from Eclipse [69] and then automatically translated it into MOLGENIS DSL using a newly built XmiToMolgenis tool. Compatibility with the FuGE standard is ensured via inheritance; that is, Investigation, Protocol, ProtocolApplication, Data and DimensionElement in XGAP all extend FuGE data types of the same name. Further implementation details can be found at [51,57].


XGAP: a uniform and extensible data model and software platform for genotype and phenotype experiments.

Swertz MA, Velde KJ, Tesson BM, Scheltema RA, Arends D, Vera G, Alberts R, Dijkstra M, Schofield P, Schughart K, Hancock JM, Smedley D, Wolstencroft K, Goble C, de Brock EO, Jones AR, Parkinson HE, Coordination of Mouse Informatics Resources (CASIMIR)Genotype-To-Phenotype (GEN2PHEN) ConsortiumsJansen RC - Genome Biol. (2010)

Auto-generation of XGAP software. Open source generator tools are used to produce a customized XGAP software infrastructure. 1, The XGAP object model is described using the MOLGENIS' little modeling language (Figure 4). 2, Central software termed MolgenisGenerate runs several generators, building on the MOLGENIS catalogue of reusable assets. 3, At the push of the button, the software code for a working XGAP implementation is automatically generated from the DSL file. GUI and APIs provide simple tools to add and retrieve data, while the reusable assets of MOLGENIS hide the complexity normally needed to implement such tools. For customization, only simple changes to the XGAP model file are required; the MOLGENIS generator takes care of rewriting all the necessary files of SQL and Java software code, saving time and ensuring a consistent quality.
© Copyright Policy - open-access
Related In: Results  -  Collection

License
Show All Figures
getmorefigures.php?uid=PMC2864567&req=5

Figure 6: Auto-generation of XGAP software. Open source generator tools are used to produce a customized XGAP software infrastructure. 1, The XGAP object model is described using the MOLGENIS' little modeling language (Figure 4). 2, Central software termed MolgenisGenerate runs several generators, building on the MOLGENIS catalogue of reusable assets. 3, At the push of the button, the software code for a working XGAP implementation is automatically generated from the DSL file. GUI and APIs provide simple tools to add and retrieve data, while the reusable assets of MOLGENIS hide the complexity normally needed to implement such tools. For customization, only simple changes to the XGAP model file are required; the MOLGENIS generator takes care of rewriting all the necessary files of SQL and Java software code, saving time and ensuring a consistent quality.
Mentions: Figure 6 summarizes how MOLGENIS generates the XGAP database software in three layers: database, API and GUI. MOLGENIS either generates a high-performance 'server' edition, which requires installation on server software, or a limited 'standalone' edition that runs on a desktop computer without any additional configuration. The database layer is generated as SQL files with 'database CREATE statements' that are loaded into either MySQL (server), PostgreSQL (server) or HSQLDB (standalone). Each data type in the XGAP object model (Figure 1) is mapped to its own table - for example, there is a 'Trait' table. Each inheritance adds another table, for example, each Gene has an entry in the 'Gene' table and also in the 'Trait' table. One-to-many cross-references between data types are mapped as foreign keys - for example, Data has a numeric field called 'Investigation' that must refer to the foreign key 'molgenisid' of Investigation. Many-to-many cross-references are mapped via a 'link-table' - for example, an additional table 'mref_import_data' is generated for two foreign keys to Data and ProtocolApplication, respectively, to model the importData relationship between them. The API layer is generated as Java files either served via Tomcat (server) or Jetty (standalone). A Java class is generated for each data type - for example, there is a class Gene. All data can be queried programmatically via a central Database class, that is, command db.find(Gene.class) returns all Gene objects in the database. To enhance performance, the API uses the 'batched' update methods of Java's DataBase Connectivity (JDBC) package and the 'multi-row-syntax' of MySQL to allow inserts of 10,000s of data entries in a single command, an optimization that is 5 to 15 times quicker than standard one-by-one updates. The Java/API is exposed with a SOAP/API, HTTP/API and R/API, so XGAP can also be accessed via web service tools like Taverna, HTTP or R, respectively (accessible via hyperlinks in the GUI). The GUI layer is also generated as Java files. The GUI includes classes for each Menu and Form - for example, the InvestigationForm class generates a view- and editform for investigations in the GUI. The generation is steered from one XML file written in MOLGENIS DSL (partially shown in Figure 5). To enable FuGE extension, the FuGE model was automatically translated into MOLGENIS DSL. We therefore first downloaded the FuGE v1 MagicDraw file from [68], exported from MagicDraw to XMI 2.1, parsed the XMI using the EMF parser from Eclipse [69] and then automatically translated it into MOLGENIS DSL using a newly built XmiToMolgenis tool. Compatibility with the FuGE standard is ensured via inheritance; that is, Investigation, Protocol, ProtocolApplication, Data and DimensionElement in XGAP all extend FuGE data types of the same name. Further implementation details can be found at [51,57].

Bottom Line: We present an extensible software model for the genotype and phenotype community, XGAP.XGAP has simple load formats for any type of genotype, epigenotype, transcript, protein, metabolite or other phenotype data.Current functionality includes tools ranging from eQTL analysis in mouse to genome-wide association studies in humans.

View Article: PubMed Central - HTML - PubMed

Affiliation: Genomics Coordination Center, Department of Genetics, University Medical Center Groningen and University of Groningen, Groningen, The Netherlands. m.a.swertz@rug.nl

ABSTRACT
We present an extensible software model for the genotype and phenotype community, XGAP. Readers can download a standard XGAP (http://www.xgap.org) or auto-generate a custom version using MOLGENIS with programming interfaces to R-software and web-services or user interfaces for biologists. XGAP has simple load formats for any type of genotype, epigenotype, transcript, protein, metabolite or other phenotype data. Current functionality includes tools ranging from eQTL analysis in mouse to genome-wide association studies in humans.

Show MeSH