[Biojava-dev] Re: [Biojava-l] Location output
Thomas Down
td2 at sanger.ac.uk
Thu Apr 14 09:24:47 EDT 2005
On 14 Apr 2005, at 13:43, mmatilai at hytti.uku.fi wrote:
> Hi,
>
> Below is the stack trace. I actually imported the RangeLocation class
> to my program project so I don't
> know if this should affect something. The code is the same and I still
> called it RangeLocation.
>
> Error occurred.
> java.lang.ClassCastException
> at
> org.biojava.bio.seq.io.AbstractGenEmblFileFormer.formatLocationBlock(Ab
> stractGenEmblFileFormer.java
> :647)
Java classes are identified by their fully qualified names, so
your.app.RangeLocation isn't considered to be interchangeable with
org.biojava.bio.symbol.RangeLocation. This seems to have triggered a
bug in the Genbank (and EMBL) file-writing code, which couldn't handle
any Location implementation outside the core set included in the
BioJava library.
I've now fixed the Genbank-writing bug, so if you use the latest
version from CVS, everything should work as expected.
An alternative solution would be to make your custom RangeLocation a
subclass of BioJava's built-in RangeLocation class:
public class MyRangeLocation extends RangeLocation {
public MyRangeLocation(int min, int max) {
super(min, max);
}
public String toString() {
return "" + getMin() + "," + getMax();
}
}
Thomas
More information about the biojava-dev
mailing list