[Biojava-l] RE: Sequence serialization exception -
AlphabetManagerproblem?
Schreiber, Mark
mark.schreiber at agresearch.co.nz
Mon Oct 6 17:33:08 EDT 2003
Hi -
Looks like the same problem from the other side. I'll have a look at it this afternoon.
- Mark
-----Original Message-----
From: Mark Southern [mailto:msouthern at exsar.com]
Sent: Tue 7/10/2003 3:50 a.m.
To: Schreiber, Mark; biojava-l at biojava.org
Cc:
Subject: RE: [Biojava-l] RE: Sequence serialization exception - AlphabetManagerproblem?
Hi Mark,
I have downloaded and tested the latest EmblFileFormer.java (1.24.2.1) and
it can now successfully write out a swissprot format file after first having
written it in (Thank you).
However, i am still seeing an exception attempting to read in a serialized
sequence. Test code and exception below.
Best regards,
Mark.
//------------------------------------------
public static void main(String[] args) throws Exception{
File file = new File("c:\\temp\\sequence.ser");
String seqFile = "c:\\temp\\KAP0_BOVIN.swiss";
SequenceIterator iter = (SequenceIterator) SeqIOTools.fileToBiojava(
SeqIOConstants.SWISSPROT, new BufferedReader( new FileReader( seqFile ) ) );
Sequence seq = iter.nextSequence();
// this now works
//SeqIOTools.biojavaToFile( SeqIOConstants.SWISSPROT, System.out,
seq );
ObjectOutputStream out = new ObjectOutputStream( new
FileOutputStream(file) );
out.writeObject( seq );
out.flush();
out.close();
ObjectInputStream in = new ObjectInputStream( new
FileInputStream(file) );
// still get an error deserializing
seq = (Sequence) in.readObject();
in.close();
}
//------------------------------------------
org.biojava.bio.symbol.IllegalSymbolException: Symbol ALA not found in
alphabet DNA
at
org.biojava.bio.symbol.AbstractAlphabet.validate(AbstractAlphabet.java:278)
at
org.biojava.bio.symbol.AlphabetManager$ImmutableWellKnownAlphabetWrapper.val
idate(AlphabetManager.java:1423)
at
org.biojava.bio.seq.io.CharacterTokenization._tokenizeSymbol(CharacterTokeni
zation.java:178)
at
org.biojava.bio.seq.io.CharacterTokenization.tokenizeSymbol(CharacterTokeniz
ation.java:191)
at
org.biojava.bio.symbol.AlphabetManager$WellKnownTokenizationWrapper.tokenize
Symbol(AlphabetManager.java:1276)
at
org.biojava.bio.seq.io.AbstractGenEmblFileFormer.formatTokenBlock(AbstractGe
nEmblFileFormer.java:337)
at
org.biojava.bio.seq.io.EmblFileFormer.addSymbols(EmblFileFormer.java:211)
rethrown as org.biojava.bio.symbol.IllegalAlphabetException: DNA not
tokenizing
at
org.biojava.bio.seq.io.EmblFileFormer.addSymbols(EmblFileFormer.java:224)
at
org.biojava.bio.seq.io.SeqIOEventEmitter.getSeqIOEvents(SeqIOEventEmitter.ja
va:125)
rethrown as org.biojava.bio.BioError: An internal error occurred processing
symbols
at
org.biojava.bio.seq.io.SeqIOEventEmitter.getSeqIOEvents(SeqIOEventEmitter.ja
va:137)
at
org.biojava.bio.seq.io.EmblLikeFormat.writeSequence(EmblLikeFormat.java:289)
at
org.biojava.bio.seq.io.EmblLikeFormat.writeSequence(EmblLikeFormat.java:253)
at
org.biojava.bio.seq.io.SeqIOTools.writeSwissprot(SeqIOTools.java:316)
at org.biojava.bio.seq.io.SeqIOTools.seqToFile(SeqIOTools.java:1078)
at
org.biojava.bio.seq.io.SeqIOTools.biojavaToFile(SeqIOTools.java:870)
at com.exsar.test.SerializeTest.main(SerializeTest.java:36)
-----Original Message-----
From: Schreiber, Mark [mailto:mark.schreiber at agresearch.co.nz]
Sent: Wednesday, October 01, 2003 1:54 AM
To: msouthern at exsar.com; biojava-l at biojava.org
Subject: RE: [Biojava-l] RE: Sequence serialization exception -
AlphabetManagerproblem?
OK -
I tracked it down to a bug in the EMBLFileFormer (which gets coopted for
SwissProt writing). It assumed a DNA alphabet and therefore couldn't write
protein in SwissProt format.
I have checked it into CVS, I will port it back to the 1.3 branch of CVS
shortly.
- Mark
-----Original Message-----
From: Mark Southern [mailto:msouthern at exsar.com]
Sent: Wed 1/10/2003 1:25 a.m.
To: Schreiber, Mark; biojava-l at biojava.org
Cc:
Subject: RE: [Biojava-l] RE: Sequence serialization exception -
AlphabetManagerproblem?
Hi Mark,
I did also have an error with binary serialization. I was just trying to
approach to problem from a different direction. B/c that also was a problem
with finding / determining a protein symbol, i wondered if was coming from
AlphabetManager rather than the Swissprot writing. I include below the code
fragment along with the serialization error.
Best regards,
Mark.
public static void main(String[] args) throws Exception{
File file = new File("c:\\temp\\sequence.ser");
String seqFile = "c:\\temp\\KAP0_BOVIN.swiss";
SequenceIterator iter = (SequenceIterator) SeqIOTools.fileToBiojava(
SeqIOConstants.SWISSPROT
,
new BufferedReader( new FileReader( seqFile ) ) );
Sequence seq = iter.nextSequence();
System.out.println("\nWriting Sequence object");
ObjectOutputStream out = new ObjectOutputStream( new
FileOutputStream(file) );
out.writeObject( seq );
out.flush();
out.close();
System.out.println("\nReading Sequence object");
ObjectInputStream in = new ObjectInputStream( new
FileInputStream(file) );
seq = (Sequence) in.readObject();
in.close();
}
Writing Sequence object
Reading Sequence object
java.io.InvalidObjectException: Couldn't resolve symbol:ALA
at
org.biojava.bio.symbol.AlphabetManager$WellKnownAtomicSymbol$OPH.readResolve
(AlphabetManager.java:1480)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:911)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1655)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1603)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1271)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at
java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:452)
at
org.biojava.bio.seq.impl.SimpleSequence.readObject(SimpleSequence.java:119)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:824)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at com.exsar.test.SerializeTest.main(SerializeTest.java:38)
Exception in thread "main"
-----Original Message-----
From: Schreiber, Mark [mailto:mark.schreiber at agresearch.co.nz]
Sent: Tuesday, September 30, 2003 6:28 AM
To: msouthern at exsar.com; biojava-l at biojava.org
Subject: RE: [Biojava-l] RE: Sequence serialization exception -
AlphabetManagerproblem?
Hi -
I was a bit thrown off at first cause I thought you meant there was an error
in binary serialization. There seems to be a problem with SwissProt writing.
I've commited an addition to SeqIOToolsTest in biojava live that replicates
the error but I haven't got time to track it down just yet. If some one else
doesn't get it I'll probably find it tommorrow.
- Mark
-----Original Message-----
From: Mark Southern [mailto:msouthern at exsar.com]
Sent: Tue 30/09/2003 10:45 a.m.
To: biojava-l at biojava.org
Cc:
Subject: [Biojava-l] RE: Sequence serialization exception -
AlphabetManagerproblem?
Appologies for following up on my own post. What follows is a simpler test
than the serialization I attempted before.
Consider the bit of code below and corresponding error message;
For some reason, the protein sequence is being treated as a dna sequence. Is
there something I am missing with respect to how AlphabetManager treats dna
and protein alphabets?
Any explainations would be most welcome.
Thanks again,
Mark.
//------------------------------------------------------------------------
public static void main(String[] args) throws Exception{
String seqFile = "c:\\temp\\KAP0_BOVIN.swiss";
SequenceIterator iter = (SequenceIterator)
SeqIOTools.fileToBiojava(SeqIOConstants.SWISSPROT
,new BufferedReader( new FileReader( seqFile ) ) );
Sequence seq = iter.nextSequence();
SeqIOTools.biojavaToFile( SeqIOConstants.SWISSPROT, System.out,
seq );
}
org.biojava.bio.symbol.IllegalSymbolException: Symbol ALA not found in
alphabet DNA
at
org.biojava.bio.symbol.AbstractAlphabet.validate(AbstractAlphabet.java:278)
at
org.biojava.bio.symbol.AlphabetManager$ImmutableWellKnownAlphabetWrapper.val
idate(AlphabetManager.java:1423)
at
org.biojava.bio.seq.io.CharacterTokenization._tokenizeSymbol(CharacterTokeni
zation.java:178)
at
org.biojava.bio.seq.io.CharacterTokenization.tokenizeSymbol(CharacterTokeniz
ation.java:191)
at
org.biojava.bio.symbol.AlphabetManager$WellKnownTokenizationWrapper.tokenize
Symbol(AlphabetManager.java:1276)
at
org.biojava.bio.seq.io.AbstractGenEmblFileFormer.formatTokenBlock(AbstractGe
nEmblFileFormer.java:337)
at
org.biojava.bio.seq.io.EmblFileFormer.addSymbols(EmblFileFormer.java:211)
rethrown as org.biojava.bio.symbol.IllegalAlphabetException: DNA not
tokenizing
at
org.biojava.bio.seq.io.EmblFileFormer.addSymbols(EmblFileFormer.java:224)
at
org.biojava.bio.seq.io.SeqIOEventEmitter.getSeqIOEvents(SeqIOEventEmitter.ja
va:125)
rethrown as org.biojava.bio.BioError: An internal error occurred processing
symbols
at
org.biojava.bio.seq.io.SeqIOEventEmitter.getSeqIOEvents(SeqIOEventEmitter.ja
va:137)
at
org.biojava.bio.seq.io.EmblLikeFormat.writeSequence(EmblLikeFormat.java:289)
at
org.biojava.bio.seq.io.EmblLikeFormat.writeSequence(EmblLikeFormat.java:253)
at
org.biojava.bio.seq.io.SeqIOTools.writeSwissprot(SeqIOTools.java:316)
at org.biojava.bio.seq.io.SeqIOTools.seqToFile(SeqIOTools.java:1078)
at
org.biojava.bio.seq.io.SeqIOTools.biojavaToFile(SeqIOTools.java:870)
at com.exsar.test.SerializeTest.main(SerializeTest.java:24)
-----Original Message-----
From: Mark Southern [mailto:msouthern at exsar.com]
Sent: Monday, September 29, 2003 2:01 PM
Cc: 'biojava-l at biojava.org'
Subject: Sequence serialization exception
I am getting the following exception when trying to serialize a protein
sequence. I am using biojava 1.3. Can anyone please explain to me why?
Many thanks,
Mark.
java.io.InvalidObjectException: Couldn't resolve symbol:SER
at
org.biojava.bio.symbol.AlphabetManager$WellKnownAtomicSymbol$OPH.readResolve
(AlphabetManager.java:1441)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:911)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1655)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1603)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1271)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at
java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:452)
at
org.biojava.bio.seq.impl.SimpleSequence.readObject(SimpleSequence.java:119)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:824)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at
java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:452)
at org.biojava.bio.seq.ViewSequence.readObject(ViewSequence.java:93)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:824)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at java.util.HashMap.readObject(HashMap.java:985)
at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:824)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at java.util.HashMap.readObject(HashMap.java:986)
at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:824)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at
java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at com.exsar.hdex.model.calc.Test.main(Test.java:104)
_______________________________________________
Biojava-l mailing list - Biojava-l at biojava.org
http://biojava.org/mailman/listinfo/biojava-l
=======================================================================
Attention: The information contained in this message and/or attachments
from AgResearch Limited is intended only for the persons or entities
to which it is addressed and may contain confidential and/or privileged
material. Any review, retransmission, dissemination or other use of, or
taking of any action in reliance upon, this information by persons or
entities other than the intended recipients is prohibited by AgResearch
Limited. If you have received this message in error, please notify the
sender immediately.
=======================================================================
=======================================================================
Attention: The information contained in this message and/or attachments
from AgResearch Limited is intended only for the persons or entities
to which it is addressed and may contain confidential and/or privileged
material. Any review, retransmission, dissemination or other use of, or
taking of any action in reliance upon, this information by persons or
entities other than the intended recipients is prohibited by AgResearch
Limited. If you have received this message in error, please notify the
sender immediately.
=======================================================================
=======================================================================
Attention: The information contained in this message and/or attachments
from AgResearch Limited is intended only for the persons or entities
to which it is addressed and may contain confidential and/or privileged
material. Any review, retransmission, dissemination or other use of, or
taking of any action in reliance upon, this information by persons or
entities other than the intended recipients is prohibited by AgResearch
Limited. If you have received this message in error, please notify the
sender immediately.
=======================================================================
More information about the Biojava-l
mailing list