[BioRuby] Developing a VISION
Pjotr Prins
pjotr.public14 at thebird.nl
Tue Feb 21 12:31:21 EST 2012
I guess this is a good moment to work on a VISION for BioRuby. A
VISION may lead to a ROADMAP. See if you like the following...
# BioRuby Vision
Here BioRuby is defined as the wider eco-system of Ruby in bioinformatics.
This includes the BioRuby project, biogems, and external libraries and tools
which can interoperate with Ruby. Note that for Ruby one can equally use
Python or Perl.
## Challenges in Computational Biology
At this point in time a number of challenges in computational biology are
recognised:
1. Big data: bioinformatics software needs to address performance and
efficiency required for TB analysis
2. Biological analysis: we need to find ways of making analysis software
available to users not so proficient in programming software
3. Education: more biologists need to become software engineers, from
entry level all the way to expert
BioRuby is the natural place to look for a concerted drive in addressing these
challenges, as it has a thriving community, software engineering expertise, and
people working in all three areas of challenge.
## Vision statement: BioRuby should focus on inexperienced developers
Experienced people tend to be very busy in their jobs. Experienced developers
do not scale that well. Young people are less experienced, but have the time
and energy to make a difference. Experienced developers were once
inexperienced too. This leads to a natural conclusion that BioRuby should focus
on inexperienced developers.
Realisation:
We need to find ways of making BioRuby cool (something RoR handles very well),
we need to have young people engage with us, we need to pull them into BioRuby
with a good web presence. Talented developers like challenges, so we should set
challenges and make sure there is the proper guidance. Questions on the mailing
list should be rapidly responded to, always in a positive fashion. Rapidly
means within hours, not within days. The IRC channel should be monitored at all
time. GSoC is an almost free way of attracting talent, and deserves the effort
of mentoring GSoC students.
## Vision statement: BioRuby aims for distributed development
Distributed development puts power into the hands of developers, and makes sure
they get the credits. Dependencies are clear, and modules are easily replaced
and upgraded.
Realisation:
We have Biogem, which is a powerful tool in making distributed
development possible. Anyone can create a biogem. The current BioRuby
source base, meanwhile, is bloated, and confusing to newcomers. The
code base needs to be reduced, and modules have to be moved into
biogems. These biogems may gain new ownership, or may disappear over
time. RoR shows the way of reducing complexity, and striving for
logical organisation of pluggable modules. External dependencies, such
as FFI, need to be implemented in independent biogems. We will have
biogems for the JVM and native Ruby. The core BioRuby gem itself
should be platform independent.
more to come...
More information about the BioRuby
mailing list