Skip to content
Gene Ontology (GO) interface for Ruby



GoRuby is a library to interact with the Gene Ontology by using the infrastructure setup in R. By connecting to R using RSRuby, the database interrogated and the surrounding R code can be leveraged. Plus, keeping the R library up to date is much simpler than having to trying to keep or store some other kind of data.


First install RSRuby. For me it was like this, but there's more info at

$ gem install rsruby -- --with-R-dir=/usr/lib/R/ --with-R-include=/usr/share/R/include/

Then installing goruby, which should be comparatively simple:

$ gem install goruby

Make sure that the Bioconductor package GO.db is available. In R:

> library(GO.db)

If not, you can install like this in R:

> source("")
> biocLite("GO.db")


To extract a list of GO terms that have “melanosome” (GO:0042470) as an ancestor:

go.go_offspring('GO:0042470')  #=> ["GO:0033162", "GO:0034493"]

And to convert those offspring into human-readable names

go.go_offspring('GO:0042470').collect{|offspring| go.term(offspring)} #=> ["melanosome membrane", "melanosome lumen"]

More methods are documented in the rdoc at particularly in the Bio::Go class. Also, be sure to have fun.


Drug target prediction and prioritization: using orthology to predict essentiality in parasite genomes. Maria A Doyle, Robin B Gasser, Ben J Woodcroft, Ross S Hall and Stuart A Ralph BMC Genomics. 2010 Apr 3;11:222.


Copyright © 2010 Ben J Woodcroft. See LICENSE for details.

Something went wrong with that request. Please try again.