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 rubygems.org. Biogems are automatically listed at biogems.info
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 github.com and/or rubygems.org and packaging. Bundler is used used for setting up a predefined developing environment.
Also Biogem makes use of webservices. E.g.
GitHub.com and RubyGems.org are two different services and you need to create different accounts for them if you already use GitHub.com you are set for using Biogem
Biogems Official Archive
The latest version is on github.com/helios/bioruby-gem/blob/master/Tutorial.rdoc
Contributing to Biogem
The source code repositories for Biogem and biogems.info website are on github. If you want to contribute, feel free! Clone the project!
Toshiaki Katayama wrote a step by step guide for a bio-foobar plugin @ bioruby.open-bio.org/wiki/BiogemInstallation.
BioRuby's Wiki Official Documentation
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.