[BioRuby] getting started with BioRuby

Pjotr Prins pjotr2008 at thebird.nl
Sun Apr 6 17:21:19 EDT 2008


On Sun, Apr 06, 2008 at 10:54:49AM -0700, bio scientist wrote:
> the basic kind, while most posts here seem to be coming from and for coders.
> So, please bear with me and have the patience to clear my doubts.

What doubts ;-). There should be no doubts - there is only one true
gospel.

> Thanks a ton to Katayama, Goto and Prins for the tutorials.

Well, we do what we can... and perhaps, we could do a little more!

> ---------------------------------------------------------------------------------------------------------------
> I have installed Ruby 1.8.6 and followed the instructions to install 'bio'
> and 'bioruby' via gems. Now, I can see the '*bioruby>*' prompt and am able
> to do the simple examples like translation, complement, GC% etc. However, I
> am unable to work with a saved program as in the example copy -pasted below
> from http://dev.bioruby.org/wiki/en/?Tutorial.rd:
> 
> 
> In most cases, sequences are read from files or retrieved from databases.
> For example:
> 
> require 'bio'
> 
> input_seq = ARGF.read       # reads all files in arguments
> 
> my_naseq = Bio::Sequence::NA.new(input_seq)
> my_aaseq = my_naseq.translate
> 
> puts my_aaseq
> 
> Save the program as na2aa.rb. Prepare a nucleic acid sequence described
> below and saves it as my_naseq.txt:
> 
> gtggcgatctttccgaaagcgatgactggagcgaagaaccaaagcagtgacatttgtctg
> atgccgcacgtaggcctgataagacgcggacagcgtcgcatcaggcatcttgtgcaaatg
> tcggatgcggcgtga
> 
> na2aa.rb translates a nucleic acid sequence to a protein sequence. For
> example, translates my_naseq.txt:
> 
> % ruby na2aa.rb my_naseq.txt
> 
> ---------------------------------------------------------------------------------------------------------
> I saved the files as per the example, but when I try to open the file using
> bioruby>na2aa.rb, it gives me an error message saying '* undefined local
> variable or method'na2aa'* for main:Object.

The bioruby shell is correct. You are trying something that is not
ruby, or Ruby shell, but rather a shell command. That may sound
weird, and I guess we should make the Tutorial more accurate.

You can run Ruby from the command line - and feed it na2aa.rb as a
command. So not from within the Ruby shell, but from the Unix (or
cygwin) command prompt.

> Can you please tell me what I should do?
> --------------------------------------------------------------------------------------------------------
> 
> Also, could you please throw some more light on saving .seq sequences from
> NCBI's ftp site? This is in reference to the Parsing example in the tutorial
> :
> Parsing GenBank data (Bio::GenBank class)
> 
> We assume that you already have some GenBank data files. (If you don't,
> download some .seq files from ftp://ftp.ncbi.nih.gov/genbank/).As an example
> we fetch the ID, definition and sequence of each entry from the GenBank
> format and convert it to FASTA. This is also an example script in the
> BioRuby distribution.
> 
> A first attempt could be to use the Bio::GenBank class for reading in the
> data:
> 
> #!/usr/bin/env ruby
> 
> require 'bio'
> 
> # Read all lines from STDIN split by the GenBank delimiter
> while entry = gets(Bio::GenBank::DELIMITER)
>   gb = Bio::GenBank.new(entry)      # creates GenBank object
> 
>   print ">#{gb.accession} "         # Accession
>   puts gb.definition                # Definition
>   puts gb.naseq                     # Nucleic acid sequence
>                                     # (Bio::Sequence::NA object)
> end
> ----------------------------------------------------------------------------------------------------------
> Thanks in advance,
> KK

again, this is a shell thing. When you have .seq files on your file
system you can parse them with these commands. Download .seq files
from NCBI - maybe someone has a link - and run the Ruby program from
the command line.

The command line is king - there is a tutorial here:

  http://www.linuxcommand.org/learning_the_shell.php

you can run Ruby from the command line - that is the missing link.

Pj (aka prins)

> _______________________________________________
> BioRuby mailing list
> BioRuby at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioruby


More information about the BioRuby mailing list