Difference between revisions of "Gmod-dbsf"
(First stab of Alexie's Drupal module 1) |
m (ic link) |
||
Line 1: | Line 1: | ||
− | = Overview = | + | = Overview = |
The GMOD Drupal Bioinformatic Server Framework (GMOD-DBSF) is an Application Programming Interface module for the [http://drupal.org Drupal] CMS which simplifies programming bioinformatic Drupal modules. This Drupal API is not a visualization module, like [[Tripal]]. It is aimed for developers and seeks to make the co-existence of Chado and Drupal seamless to the end-user and reduces the learning curve for the bioinformatic community. It was developed with the non-model species community in mind and is especially interested in enhancing support for non-genome data types. It is an open-source package and the community is invited to contribute to its development. | The GMOD Drupal Bioinformatic Server Framework (GMOD-DBSF) is an Application Programming Interface module for the [http://drupal.org Drupal] CMS which simplifies programming bioinformatic Drupal modules. This Drupal API is not a visualization module, like [[Tripal]]. It is aimed for developers and seeks to make the co-existence of Chado and Drupal seamless to the end-user and reduces the learning curve for the bioinformatic community. It was developed with the non-model species community in mind and is especially interested in enhancing support for non-genome data types. It is an open-source package and the community is invited to contribute to its development. | ||
Line 21: | Line 21: | ||
= Examples = | = Examples = | ||
== Websites using it == | == Websites using it == | ||
− | The InsectaCentral database is coded using the GMOD-DBSF engine and the custom genes4all module for visualization | + | The [http://insectacentral.org InsectaCentral] database is coded using the GMOD-DBSF engine and the custom genes4all module for visualization |
== Examples of capabilities == | == Examples of capabilities == | ||
* Chado manipulation: | * Chado manipulation: | ||
− | ** The function gmod_dbsf_add_cv() allows for one to add a new Controlled Vocabulary (CV) by providing the name of the CV and an array with the CV terms they wish to add. | + | ** The function gmod_dbsf_add_cv() allows for one to add a new Controlled Vocabulary (CV) by providing the name of the CV and an array with the CV terms they wish to add. |
− | ** This and other functions can connect to a Chado database via the gmod_dbsf_db_execute() function or operate on the local Drupal database (or make use of the gmod_dbsf_is_chado(), an auto-detect function). | + | ** This and other functions can connect to a Chado database via the gmod_dbsf_db_execute() function or operate on the local Drupal database (or make use of the gmod_dbsf_is_chado(), an auto-detect function). |
− | ** Similar functions operate to add, delete and populate the feature, db, pub and other Chado tables: ancillary Chado tables, such as the featureprop, feature_cvterm tables, often require complicated SQL commands with multiple joins and a number of gmod_dbsf functions cater to simplify manipulating these tables by simply passing the desired variables. Thus a featureprop table can be populated with a single line of code which passes the feature ID or feature name, the CV term and properties one wishes to associate. | + | ** Similar functions operate to add, delete and populate the feature, db, pub and other Chado tables: ancillary Chado tables, such as the featureprop, feature_cvterm tables, often require complicated SQL commands with multiple joins and a number of gmod_dbsf functions cater to simplify manipulating these tables by simply passing the desired variables. Thus a featureprop table can be populated with a single line of code which passes the feature ID or feature name, the CV term and properties one wishes to associate. |
* Secure approaches for often-used tasks: | * Secure approaches for often-used tasks: | ||
− | ** The gmod_dbsf_create_uid() function creates a unique MD5 identifier, based on a user's session ID, time and optionally a text string, which can be used for file uploads. | + | ** The gmod_dbsf_create_uid() function creates a unique MD5 identifier, based on a user's session ID, time and optionally a text string, which can be used for file uploads. |
** The gmod_dbsf_batch_upload_fasta() function allows web-users to upload a FASTA file to the server even if it is many megabytes large or takes a considerable amount of time | ** The gmod_dbsf_batch_upload_fasta() function allows web-users to upload a FASTA file to the server even if it is many megabytes large or takes a considerable amount of time | ||
** A few functions have been created to make use of BioPerl functions, for example: | ** A few functions have been created to make use of BioPerl functions, for example: | ||
*** Creating and parsing GFF3 files | *** Creating and parsing GFF3 files | ||
− | *** The gmod_dbsf_get_taxonomy_from_ncbi() function uses Bio::DB::Taxon to query NCBI (via Entrez or via a local NCBI Taxonomy database flatfile) for the taxonomy of a species. | + | *** The gmod_dbsf_get_taxonomy_from_ncbi() function uses Bio::DB::Taxon to query NCBI (via Entrez or via a local NCBI Taxonomy database flatfile) for the taxonomy of a species. |
* and an evergrowing list of many others... | * and an evergrowing list of many others... | ||
Revision as of 20:14, 4 August 2010
Contents
Overview
The GMOD Drupal Bioinformatic Server Framework (GMOD-DBSF) is an Application Programming Interface module for the Drupal CMS which simplifies programming bioinformatic Drupal modules. This Drupal API is not a visualization module, like Tripal. It is aimed for developers and seeks to make the co-existence of Chado and Drupal seamless to the end-user and reduces the learning curve for the bioinformatic community. It was developed with the non-model species community in mind and is especially interested in enhancing support for non-genome data types. It is an open-source package and the community is invited to contribute to its development.
It is freely available from http://drupal.org/project/gmod_dbsf and http://gmod-dbsf.googlecode.com with the latter being a more complete repository.
Dependencies
GMOD-DBSF depends on Drupal 6.
Features
GMOD-DBSF offers:
- imports a subset of the Chado tables to Drupal
- creates new tables in Drupal using Chado-conventions in order to better support sequence-less features.
- provides functions to communicate with Chado and Drupal database schemas
- provides other, generic, functions useful for bioinformatic module development.
- makes use of other GMOD tools such as BioPerl
Examples
Websites using it
The InsectaCentral database is coded using the GMOD-DBSF engine and the custom genes4all module for visualization
Examples of capabilities
- Chado manipulation:
- The function gmod_dbsf_add_cv() allows for one to add a new Controlled Vocabulary (CV) by providing the name of the CV and an array with the CV terms they wish to add.
- This and other functions can connect to a Chado database via the gmod_dbsf_db_execute() function or operate on the local Drupal database (or make use of the gmod_dbsf_is_chado(), an auto-detect function).
- Similar functions operate to add, delete and populate the feature, db, pub and other Chado tables: ancillary Chado tables, such as the featureprop, feature_cvterm tables, often require complicated SQL commands with multiple joins and a number of gmod_dbsf functions cater to simplify manipulating these tables by simply passing the desired variables. Thus a featureprop table can be populated with a single line of code which passes the feature ID or feature name, the CV term and properties one wishes to associate.
- Secure approaches for often-used tasks:
- The gmod_dbsf_create_uid() function creates a unique MD5 identifier, based on a user's session ID, time and optionally a text string, which can be used for file uploads.
- The gmod_dbsf_batch_upload_fasta() function allows web-users to upload a FASTA file to the server even if it is many megabytes large or takes a considerable amount of time
- A few functions have been created to make use of BioPerl functions, for example:
- Creating and parsing GFF3 files
- The gmod_dbsf_get_taxonomy_from_ncbi() function uses Bio::DB::Taxon to query NCBI (via Entrez or via a local NCBI Taxonomy database flatfile) for the taxonomy of a species.
- and an evergrowing list of many others...
Demos and Screenshots
A screencast on how to install it will soon be available from http://scivee.tv
License
This software is GPLv2+ licensed as part of the Drupal package. It is currently supported by Alexie Papanicolaou while at CSIRO, the Australian Commonwealth Scientific and Research Organization (http://www.csiro.au).