[Biojava-l] RE: Sequence serialization exception - AlphabetManagerproblem?

Schreiber, Mark mark.schreiber at agresearch.co.nz
Wed Oct 1 01:54:22 EDT 2003


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.
=======================================================================



More information about the Biojava-l mailing list