[Biojava-l] Exception on Running BlastLikeSearchBuilder with null query SequenceDB
Jianjun Wang
jwang at biohealthbase.org
Tue Sep 4 13:09:54 UTC 2007
Hi Colleagues,
I used the Blast parsing example from the Biojava tutorial and ran into this problem:
######################
Failed to build SeqSimilaritySearchResult:
org.biojava.bio.BioException: Running BlastLikeSearchBuilder with null query SequenceDB
at org.biojava.bio.program.ssbind.BlastLikeSearchBuilder.makeSearchResult(BlastLikeSearchBuilder.java:239)
at org.biojava.bio.program.ssbind.BlastLikeSearchBuilder.endSearch(BlastLikeSearchBuilder.java:319)
at org.biojava.bio.program.ssbind.SeqSimilarityStAXAdapter.endElement(SeqSimilarityStAXAdapter.java:119)
at org.biojava.utils.stax.SAX2StAXAdaptor.endElement(SAX2StAXAdaptor.java:153)
at org.biojava.bio.program.ssbind.SeqSimilarityAdapter.endElement(SeqSimilarityAdapter.java:136)
at org.biojava.bio.program.sax.AbstractNativeAppSAXParser.endElement(AbstractNativeAppSAXParser.java:300)
at org.biojava.bio.program.sax.BlastSAXParser.parse(BlastSAXParser.java:181)
at org.biojava.bio.program.sax.BlastLikeSAXParser.onNewDataSet(BlastLikeSAXParser.java:311)
at org.biojava.bio.program.sax.BlastLikeSAXParser.interpret(BlastLikeSAXParser.java:274)
at org.biojava.bio.program.sax.BlastLikeSAXParser.parse(BlastLikeSAXParser.java:160)
###########################
I experimented with both supported Blast versions such as 2.2.3 and later ones, such as 2.2.13, and with the lazymode both on and off, and concluded that this problem is independent of Blast version and the lazymode. My debugging didn't yield much fruit, except that the obvious cause of the exception was BlastLikeSearchBuilder.querySeqHolder being null. Can someone shed some light on this?
Here is the relevant section of my code:
try {
StringReader sr = new StringReader(in);
BlastLikeSAXParser parser = new BlastLikeSAXParser();
//works for 2.2.13?
//parser.setModeLazy();
//make the SAX event adapter that will pass events to a Handler.
SeqSimilarityAdapter adapter = new SeqSimilarityAdapter();
//set the parsers SAX event adapter
parser.setContentHandler(adapter);
//The list to hold the SeqSimilaritySearchResults
//List results = new ArrayList();
//create the SearchContentHandler that will build SeqSimilaritySearchResults
//in the results List
SearchContentHandler builder = new BlastLikeSearchBuilder(results);
//register builder with adapter
adapter.setSearchContentHandler(builder);
//parse the file, after this the result List will be populated with SeqSimilaritySearchResults
parser.parse(new InputSource(sr));
//output some blast details - expect 1 result only
......
Thanks,
Jianjun
More information about the Biojava-l
mailing list