[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