[BioRuby] A question for BioRuby newbies

Pjotr Prins pjotr.public14 at thebird.nl
Thu Feb 16 13:16:22 UTC 2012


Following up on the E-mail on addressing newbies, I have the
following suggestion using Github issues and Cucumber features:

Any biogem hosted on github can create a feature request. The feature
should be written out in cucumber, with accompanying test cases. 

For example I wrote the following feature:

  Feature: Alignment editing, the bridge rule
  Remove columns that contain too many gaps

  Drop all bridges in less than 'min_bridges_fraction' (default 1/3 or 33%).

  The dropped columns are tracked by the table columns.

  Scenario: Apply the bridge rule to an amino acid alignment
    Given I have an alignment
    """
    ----SNSFSRPTIIFSGCSTACSGK--SELVCGFRSFMLSDV
    SSIISNSFSRPTIIFSGCSTACSGK--SEQVCGFR---LSDV
    SSIISNSFSRPTIIFSGCSTACSGKLTSEQVCGFR---LSDV
    ----PKLFSRPTIIFSGCSTACSGK--SEPVCGFRSFMLSDV
    ----------PTIIFSGCSKACSGKGLSELVCGFRSFMLSDV
    ----------PTIIFSGCSKACSGK-----FRSFRSFMLSAV
    ----------PTIIFSGCSKACSGK-----VCGIFHAVRSFM
    ----------PTIIFSGCSKACSGK--SELVCGFRSFMLSAV
    -------------IFHAVR-TC-HP-----------------
    """
    When I apply rule 3 with max_gap_size 4
    Then it should have removed 4 bridges
    """
    SNSFSRPTIIFSGCSTACSGKSELVCGFRSFMLSDV
    SNSFSRPTIIFSGCSTACSGKSEQVCGFR---LSDV
    SNSFSRPTIIFSGCSTACSGKSEQVCGFR---LSDV
    PKLFSRPTIIFSGCSTACSGKSEPVCGFRSFMLSDV
    ------PTIIFSGCSKACSGKSELVCGFRSFMLSDV
    ------PTIIFSGCSKACSGK---FRSFRSFMLSAV
    ------PTIIFSGCSKACSGK---VCGIFHAVRSFM
    ------PTIIFSGCSKACSGKSELVCGFRSFMLSAV
    ---------IFHAVR-TC-HP---------------
    """
    Then I should be able to track removed columns

This was the most important step. Now we need to announce the feature 
request. I propose to raise an issue through github, e.g.

  https://github.com/pjotrp/bioruby-alignment/issues/1

the issue should contain a link to the feature, i.e

  https://github.com/pjotrp/bioruby-alignment/blob/master/features/edit/del_bridges.feature

and be marked with the 'Newbie' label. We can also introduce more
labels, such as 'Experienced', 'Advanced' and targets, such as 'Rails'
and 'FFI'.

This is enough information to automatically create a consolidated list
on the bioruby or biogems website(s). And this list can be used by
people who want to try a contribution or bug fix. We should define a
number of such tasks for newbies.

Bug fixes are also possible, as long as it is written out as a
feature (note that features are automatically tests!).

What do you think?

Pj.

On Wed, Feb 08, 2012 at 07:48:17PM +0100, Pjotr Prins wrote:
> Hi All,
> 
> This mailing list counts 180 subscribed readers. Which is impressive.
> Also since the introduction of http://biogems.info/ the number of
> BioRuby downloads has increased rapidly.
> 
> You may also have noticed Ruby, in general, is making its mark in
> bioinformatics. More and more people are programming in Ruby, which I
> think rather delightful. And Biogems.info is proving to be cutting
> edge, and accelerating development.
> 
> So here is a question to people who read the mailing list, but do not
> necessarily participate. What is needed to pull you in? 
> 
> At this point I have two ideas to increase participation. 
> 
> (1) First a race. I would like all readers to vote a few times a year on
> the most beautiful Biogem source code. We'll put up a few projects to
> choose from, and the winner will be highlighted on
> http://biogems.info/. Ruby is about beauty, and we are seeing
> some of that in the biogems.
> 
> The other idea I got at FOSDEM this year from a convincing talk by Brian
> Ostergard, titled 'You are doing it all wrong'
> 
>   http://fosdem.org/2012/schedule/event/really_grow_community
> 
> where he made a strong case to address inexperienced developers. And
> you know what, I believe he is right. So
> 
> (2) We will look for ways to get inexperienced developers involved.
> One way is to define uncomplicated and moderately complicated tasks,
> feature requests and bug fixes.
> 
> We are going to list these 'jobs' on http://biogems.info/. If anyone
> picks up a task he/she will get very *strong* support from the plugin
> owner, as well as the Biogem maintainers. You, the programmer,
> will get all the credit for the work.
> 
> How does this sound? Does this appeal to you? Anyone of the less
> experienced, or even experienced, wants to voice his or her opinion?
> We may even turn some work into a Google Summer of Code project
> proposal.
> 
> Pj.
> 



More information about the BioRuby mailing list