[BioRuby] bioruby as a rails plugin.

George georgkam at gmail.com
Wed Oct 24 08:49:38 UTC 2007


Hi Toshiaki

Thank you for the comprehensive explanation and for the insight on 
bioruby rails generator.

george

Toshiaki Katayama wrote:
> Hi George,
>
> On 2007/10/23, at 7:08, George wrote:
>   
>> Hi all,
>> I have a rails project in which i need to access the bioruby library.
>> Currently, i have just done a require 'bio' in the environment.rb
>>     
>
> I think this is the right way.
>
>   
>> However i had a rumor that bioruby is possible as a rails plugin. and on 
>> checking from
>> http://rubyforge.org/pm/task.php?func=detailtask&project_task_id=820&group_id=769&group_project_id=194
>> I found that the implementation is a 100% complete.
>>     
>
> I have implemented a Rails generator for BioRuby shell and it is
> bundled in the BioRuby v1.1.0 release.
>
> It is called "BioRuby shell", and the "bioruby" command can be used as
> a better replacement for the "script/console", and if you use "--rails"
> option, it will generate a web interface and acts as a replacement for
> the "script/server".
>
> The strength of the bioruby command is that it can store your command line
> history and objects across the sessions.
>
> This functionality is generally applicable for any rails application,
> and not necessary to be prefixed with bio-, but as a historical reason,
> and I can't spare enough time for refactoring, it remains as it was born.
>
> You can invoke it as
>
>   % bioruby --rails foo
>
> or on top of the existing rails app as
>
>   % rails bar
>   % bioruby --rails bar
>
> This will create 'data' and 'shell' directories in addition to the
> rails defaults, and installs bioruby_controller, related views,
> stylesheets and icons for the following functionality.
>
> Then you can access to http://localhost:3000/bioruby/ where
> you can type in any Ruby code including BioRuby shell commands to execute.
>
> For example,
>
>   cdc28 = getent("uniprot:CDC28_YEAST")
>   genes = keggapi.get_genes_by_pathway("path:hsa00010")
>
> You can use all Bio::* classes in BioRuby as well.
>
>   seq = Bio::Sequence::NA.new("atgc" * 10).randomize
>   seq.translate
>
> You can also use your Rails models as in script/console.
>
>   user = User.find(:first)
>   user.name
>
> The goal of this interface is to make it as a front end of
> the workflow of the bioinformatics analysis.
>
> For example,
>   1) find a specific gene, select orthologs, alignment,
>      build trees, visualize it with ape in R thorough RSruby.
>   2) load expression profiles, map to KEGG, generate sub graphs,
>      rendering it in Cytoscape.
>   3) ...
>
>
> More work should be done:
>   * prettier rendering of various kind of objects including images
>   * auto complementation of the variables, methods and services
>   * integrating more web services, applications
>
>
> Here is a snippet from a changelog of 2007-06-08
>
> http://cvs.open-bio.org/cgi-bin/viewcvs/viewcvs.cgi/bioruby/ChangeLog?rev=1.68&cvsroot=bioruby&content-type=text/vnd.viewcvs-markup
>
> 	  If --rails (-r) option is applied, 'bioruby' command will run in
> 	  the Rails server mode, and the server will start in the :savedir.
>
> 	  (A) IRB mode
>
> 	  1. run in the current directory and the session will be saved
> 	     in the ~/.bioruby directory
>
> 	       % bioruby
>
> 	  2. run in the current directory and the session will be saved
> 	     in the foo/bar directory
>
> 	       % bioruby foo/bar
>
> 	  3. run in the current directory and the session will be saved
> 	     in the /tmp/foo/bar directory
>
> 	       % bioruby /tmp/foo/bar
>
> 	  (B) Rails mode
>
> 	  4. run in the ~/.bioruby directory and the session will also be saved
> 	     in the ~/.bioruby directory
>
> 	       % bioruby -r
>
> 	  5. run in the foo/bar directory and the session will also be saved
> 	     in the foo/bar directory
>
> 	       % bioruby -r foo/bar
>
> 	  6. run in the /tmp/foo/bar directory and the session will also be
> 	     saved in the /tmp/foo/bar directory
>
> 	       % bioruby -r /tmp/foo/bar
>
> 	  (C) Script mode
>
> 	  7. run in the current directory using the session saved
> 	     in the ~/.bioruby directory
>
> 	       % bioruby ~/.bioruby/shell/script.rb
>
> 	  8. run in the current directory using the session saved
> 	     in the foo/bar directory
>
> 	       % bioruby foo/bar/shell/script.rb
>
> 	  9. run in the current directory using the session saved
> 	     in the /tmp/foo/bar directory
>
> 	       % bioruby /tmp/foo/bar/shell/script.rb
>
>
>
>   




More information about the BioRuby mailing list