Since the initial release of BioGroovy, a lot has changed, and the library has continued to grow substantially. With the recent BioGroovy 1.1 release, I thought I would review some of the changes, and update the information on how you can get started using BioGroovy. Here’s a brief list of some of the changes:
- Support for new model objects, including Drug, ClinicalTrial
- A new search engine client API with support for EntrezGene, PubMed, and ClinicalTrials.gov.
- Refactored IO framework that supports:
- direct fetching of data, and mapping into model objects (“fetch KRAS from EntrezGene [id=3845] and return the result as a Gene object”).
- caching of data in your local file system to make unit testing your code easier and to reduce the load on external web services.
- New fetchers to support fetching data from EntrezGene, PubMed, UniProt, MyGene.info, OMIM, ClinicalTrial.gov, JournalTOCS, Chembl, and PubChem
- The frameworks also support either the use of JSON results, or XML.
- Support for web service identity.
In addition to these changes, we’re also publishing the BioGroovy binaries, source and documentation through Bintray. This means that you’ll want to update your .groovy/grapeConfig.xml using the instructions found here.
BioGroovy uses POGOs (Plain Old Groovy Objects) to hold commonly accessible data. In a typical usecase, you might want to fetch a list of Genes from EntrezGene, and write the results out in an Excel file or CSV file, or to a database. With the 1.1 release, we’ve added support for ClinicalTrial objects, Drugs, Journals, RSS feeds. We’ve also added support for clustering, to let users generate graphs of data that can be rendered using Cytoscape. For example, you can cluster a set of genes by GO terms, and export the result as a SIF file using the Go2SIFClusterWriter. You can cluster articles by keywords, journal or MeSH terms. You can also use the FrequencyMap object to create a simple map of the number of occurrences of a particular object.