[Biojava-l] two questions from new biojava user

Thomas Down td2@sanger.ac.uk
Tue, 1 Oct 2002 23:28:45 +0100


On Tue, Oct 01, 2002 at 01:39:47PM -0400, Dave Barkan wrote:
> Hey all, new to Biojava and have two quick questions.
> 
> 1)  I am attempting to use the transcribe() method of the RNATools class
> and am having trouble; the program stops and outputs
> "org.biojava.bio.symbol.TranslatedSymbolList" before it returns from the
> method.   I examined the source code of the transcribe() method and
> followed its call tree and don't actually see where the "transcription" is
> taking place; the TranslatedSymbolList constructor just sets the object to
> have the original (DNA) symbol list as its "source" instance variable.  I
> was just wondering if I am not understanding everything or if the method
> hasn't been fully implemented.

Um...  I don't have the specific version that you're using handy,
but I've checked through the current CVS version (which I don't
think has changed recently in this area) and it looks correct.
The TranslatedSymbolList constructor stores a reference to the
DNA SymbolList, plus a TranslationTable object which actually
contains the relevant mappings.  The transcription actually occurs
symbol by symbol, when you call symbolAt() on the TranslatedSymbolList.

Just guessing as to why you're seeing that message.  Are you doing
something like:

    SymbolList dna = ...;
    SymbolList rna = RNATools.transcribe(dna);
    System.out.println(rna);

Quite a few of our objects don't have a specific toString() method
[although this is now being fixed], so the code above just prints out
the class name and hashcode of the object.  If you do:

    System.out.println(rna.seqString());

You should see the correct result.

[If I've guessed wrong -- please could you send me a copy of your
code, so I can have a proper look at what's going on, and maybe do
some testing?]

> 2) (this might help answer 1).  I am working with the biojava source with
> the ant-build. I downloaded the version "biojava-20020823.tar.gz" and set
> the classpath to the source folder (also to the xerces and bytecode jar
> files).  I just wanted to make sure this is the correct version; it is a
> bit suspicious as the tar file doesn't have a version tag, but it seems
> to have a lot of methods that 'biojava-1.22.tar.gz" doesn't.  If I am
> missing something obvious, my apologies as I am still new to some of the
> "administrative" aspects of java.

Download versions with names like that are `snapshots' of the current
CVS development tree (that one was made on 23rd August 2002, from the
name).  They're not proper releases.  If you want a release version,
stick to 1.2x for now.

If you want to live at the cutting edge, you can get up-to-the-minute
source code from http://cvs.open-bio.org/ (although there's going to be
some downtime on that server over the next day or so -- but normally
it works).

If you've downloaded a source release or snapshot, you need to
build a binary .jar file.  This needs the ANT build took
(http://jakarta.apache.org/).  You should be able to build the
package just by typing `ant' at the command line.  The finished
JAR appears in the ant-build directory, and this is what you should
add to your CLASSPATH.  There's no need to add the src/ directory
to your classpath.

There are some more instructions at:

    http://www.biojava.org/docs/started.html

Hope this helps,

     Thomas.