BioRuby

Home Page

Title Page

Yoshinori K. Okuji
Toshiaki Katayama
Mitsuteru S. Nakao
Bioinformatics Center, Institute for Chemical
Research, Kyoto University, JapanJJ

IIJI

Page 1 of 10

Go Back

July 19, 2001

Full Screen

CloseQuitBackground

Home Page

Title Page

1. Too many DB formats exist (GenBank, SWISSPROT, KEGG, etc.).
2. The interfaces for tools are often unfriendly forbatch processing (FASTA, BLAST, CLUSTALW,etc.).
3. Object-oriented design is very useful for an
unified interface, regardless of underlying dataobjects!

JJIIJI

Page 2 of 10Go Back

Full Screen

Close

Quit

Overview of Ruby

Home Page• Interpreted scripting language for quick andeasy object-oriented programming.
• Complete, full, pure object oriented language:
All data are objects.
• Simple, straight-forward,portable.

extensible,

and• Very popular, especially in Japan. In part, because the author “Matz” is Japanese.
• Totally free.

Title Page

JJIIJ

I

Page 3 of 10

Go Back

Full Screen

Close

Quit

Hello World

Home Page

Title Page

Rubyputs ’Hello’

JJ

IICmain(){puts("Hello");}

JI

Perlprint "Hello\n";Page 4 of 10

Pythonprint "Hello"Tclputs "Hello"

BASHecho Hello

Go Back

Full Screen

CloseQuitSerious Example# Perlpackage Foo;sub new {my $self = shift;
bless { ’foo’ => 0 }, $self;}
sub add {my $self = shift;
my $arg = shift;}# Rubyclass Foodef initialize@foo = 0end
def add(arg)@foo += arg
end
def output
puts @fooend
endHome Page

Title PageJJIIJI

Page 5 of 10

sub output {my $self = shift;

Go Back

print $self->{’foo’}, "\n";}Full Screen

package main;$foo = new Foo;$foo->output;$foo->add(10);$foo->output;

Close

foo = Foo.new
foo.output
foo.add 10
foo.output

Quit

What is BioRuby• The aim is to provide “open source” resources forbioinformatics.
• Based on the pure object-oriented language
Ruby.
• Creating applications, as well as libraries.
• Licensed under the term of LGPL.

Home Page

Title PageJJIIJI

Page 6 of 10

Go Back

Full Screen

CloseQuitWhy BioRuby

Home Page

Title Page

• Ruby has good readability, so your code won’t
be write-only code.
• Ruby is easily extensible by Ruby itself (i.e. overriding methods) and by dynamically loadable Cmodules.
• Ruby’s object-oriented design support
straightforward and complete.

is• We love Ruby ! Programming with Ruby is quitedelightful !

JJ

II

JI

Page 7 of 10

Go Back

Full Screen

CloseQuit

Current Status
DB parsers
GenBank, GenBank location, DDBJ, KEGG/GENES,
KEGG/GENOME, PROSITE, TRANSFAC, LITDB, andGene Ontology classes.

Data modules
Amino Acids, Nucleic Acids, Codon Table, and KEGG
organisms modules.

Home Page

Title PageJJIIJI

Page 8 of 10Tool support
FASTA and SSEARCH.

Misc
DBGET module, Sequence class, modules for Hierarchical Clustering and Smith-Waterman algorithmalignment, Matrix class for Bioinformatics, etc.

Go Back

Full Screen

Close

Quit

Application
BioRuby Genome Browser is an example ofBioRuby applications, which supports GIF, PNG
and SVG formats.

Home Page

Title Page

JJ

IIJI

Page 9 of 10Go Back

Full Screen

Close

Quit

StaffHome Page“Yoshinori K. Okuji” o@bioruby.org“Toshiaki Katayama” k@bioruby.org

Title PageJJIIJI

Page 10 of 10

Go Back“Mitsuteru S. Nakao” n@bioruby.org
Full Screen

Feel free to join us!
http://bioruby.org/
staff@bioruby.org

CloseQuit