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.
GMOD-DBSF depends on Drupal 6.
- 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
Websites using it
The InsectaCentral database is coded using the GMOD-DBSF engine and the custom genes4all module for visualization
Drupal modules using it
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
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).