Biogem provides a set of tools for those Bioinformaticans who want to start coding an application, or a library for using/extending BioRuby’s core library and sharing the code as a gem through Biogems are automatically listed at

The basic idea is to promote a modular approach to the BioRuby package, and simplify creating such modules. Biogem creates the necessary directory structure for a gem, and generates files, based on templates. Biogem includes templates for parsing the command line, logging, libraries, documentation, tests. Also there is Ruby on Rails support, BioSQL and FFI (for binding to C libraries).

Biogem does not reinvent the wheel, but puts together different tools and modifies their original behavior, when needed. The tool jeweler is used to create the initial scaffold, setting up git for versioning, releasing it to and/or and packaging. Bundler is used used for setting up a predefined developing environment.

Also Biogem makes use of webservices. E.g.



Note: another Ruby version management system used in BioRuby community is but for now we can not provide support for it.


Rubygems will not let you install Biogem in an environment with a Ruby interpreter older than 1.9


Install the Biogem toolset with

$ gem install bio-gem

all the required dependencies will be downloaded and installed automatically.

$ gem install bio-gem
Fetching: rake- (100%)
Fetching: git-1.2.5.gem (100%)
Fetching: jeweler-1.6.4.gem (100%)
Fetching: json-1.6.4.gem (100%)
Building native extensions.  This could take a while...
Fetching: rdoc-3.12.gem (100%)
Depending on your version of ruby, you may need to install ruby rdoc/ri data:

<= 1.8.6 : unsupported
 = 1.8.7 : gem install rdoc-data; rdoc-data --install
 = 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!
Fetching: bio-gem-1.2.0.gem (100%)
Successfully installed rake-
Successfully installed git-1.2.5
Successfully installed jeweler-1.6.4
Successfully installed json-1.6.4
Successfully installed rdoc-3.12
Successfully installed bio-gem-1.2.0
6 gems installed
Installing ri documentation for rake-
Installing ri documentation for git-1.2.5...
Installing ri documentation for jeweler-1.6.4...
Installing ri documentation for json-1.6.4...
Installing ri documentation for rdoc-3.12...
Installing ri documentation for bio-gem-1.2.0...
Installing RDoc documentation for rake-
Installing RDoc documentation for git-1.2.5...
Installing RDoc documentation for jeweler-1.6.4...
Installing RDoc documentation for json-1.6.4...
Installing RDoc documentation for rdoc-3.12...
Installing RDoc documentation for bio-gem-1.2.0...

Note: the above list of dependencies is just an example and it may vary from your current installation.

Browse the documentation

During the installation you may note how Rubygems install the documentation for you, for each library installed. Is possible to access to all the documentations and API installed simply typing in the command line:

$ gem server
    Server started at
    Server started at http://[::ffff:]:8808

The next test is to open your preferred browser and point it to localhost:8808 which is the same link reported above. To see Biogem documentation locally use this link:


Note: the above link must be update with your current version of Biogem

Biogem Tutorial HowTo Develop a plugins

Please follow the guide reported in tutorial, which is the most up to date version. You’ll find out how to create:

and much more

Biogems Official Archive

Contributing to Biogem

The source code repositories for Biogem and website are on github. If you want to contribute, feel free! Clone the project!

BioRuby’s Wiki Official Documentation

Biogem options

Usage: biogem [options] reponame

e.g. biogem the-perfect-gem

--directory [DIRECTORY]      specify the directory to generate into

These options are for BioGem

–meta create a meta package, just the Rakefile, Gemfile, Licence, Readme. This options takes the precedence over every other option.

--with-bin                   create the bin directory and an executable template script called bioreponame
--with-db                    create the database directory for a db application-library.
--with-test-data             create the data directory inside the test directory if the user need to set up a test with its own dataset
--with-engine [NAMESPACE]    create a Rails engine with the namespace given in input. Set default database creation

These options are for Jeweler

    --rspec                      generate rspec code examples
    --shoulda                    generate shoulda tests
    --testunit                   generate test/unit tests
    --bacon                      generate bacon specifications
    --testspec                   generate test/spec tests
    --minitest                   generate minitest tests
    --micronaut                  generate micronaut examples
    --riot                       generate riot tests
    --shindo                     generate shindo tests

    --[no-]bundler               use bundler for managing dependencies
    --cucumber                   generate cucumber stories in addition to the other tests

    --reek                       generate rake task for reek
    --roodi                      generate rake task for roodi

    --summary [SUMMARY]          specify the summary of the project
    --description [DESCRIPTION]  specify a description of the project

    --user-name [USER_NAME]      the user's name, ie that is credited in the LICENSE
    --user-email [USER_EMAIL]    the user's email, ie that is credited in the Gem specification

    --github-username [GITHUB_USERNAME]
                                 name of the user on GitHub to set the project up under
    --github-token [GITHUB_TOKEN]
                                 GitHub token to use for interacting with the GitHub API
    --git-remote [GIT_REMOTE]    URI to set the git origin remote to
    --homepage [HOMEPAGE]        the homepage for your project (defaults to the GitHub repo)
    --no-create-repo             create the repository on GitHub

    --yard                       use yard for documentation
    --rdoc                       use rdoc for documentation
-h, --help                       display this help and exit

Copyright © 2010, 2011 Raoul J.P. Bonnal. See LICENSE.txt for further details.