[Biojava-l] Restriction Mapper - Thread (or dual core cpu) problem

ilhami visne ilhami.visne at gmail.com
Tue Dec 12 22:57:07 UTC 2006


hello,

in last summer, i wrote a program, which uses Restriction Mapper. As it 
was in example (if i remember correctly), for each enzyme i used one 
thread. everytime i got error.

then i noticed, if i use only one enzyme, i get no error. i thought, 
this could be a thread-safe issue, because if enzyme count is more than 
one, more than one thread will run. therefore i have changed my program 
to single threaded. and it has worked well, even for many enzymes. till 
this week...

one of my clients has run my program on a dual cpu machine. Guess what? 
Again same error!!! i have a single-cpu laptop. a friend of mine has a 
dual-core cpu laptop. i have tried myself on this machine. And yeah. 
that is the problem, because for the same file i don't get any error on 
my single-core machine, but everytime the same error on dual-core cpu. 
Two more important information: 1. here i got an error for HpaII but it 
can be any other enzyme. 2. my file has 24000 sequences. the sequence, 
by which this exception is thrown, is random too. sometimes the 5600. 
sequence, another time the 17456. sequence. it changes too. i checked, 
all sequences are normal.

is this a known issue? is there any solution?

The exception:

Exception in thread "Thread-13" org.biojava.bio.BioRuntimeException: 
Failed to complete search for HpaII CCGG (1/3)
    at 
org.biojava.bio.molbio.RestrictionSiteFinder.run(RestrictionSiteFinder.java:137)
    at 
org.biojava.utils.SimpleThreadPool$PooledThread.run(SimpleThreadPool.java:295)
Caused by: java.lang.NullPointerException
    at 
org.biojava.bio.seq.io.SymbolListCharSequence.charAt(SymbolListCharSequence.java:115)
    at java.lang.Character.codePointAt(Unknown Source)
    at java.util.regex.Pattern$Single.match(Unknown Source)
    at java.util.regex.Pattern$Curly.match(Unknown Source)
    at java.util.regex.Pattern$Start.match(Unknown Source)
    at java.util.regex.Matcher.search(Unknown Source)
    at java.util.regex.Matcher.find(Unknown Source)
    at 
org.biojava.bio.molbio.RestrictionSiteFinder.run(RestrictionSiteFinder.java:104)
    ... 1 more

thanx in advance.

P.S.: i got here a nullpointer exception. if i remember correctly, i got 
that time ArrayIndexOutOfBound exception. the index was bigger than the 
length of the sequence.



More information about the Biojava-l mailing list