[Biojava-dev] IsoelectricPointCalc bug?
Pjm
pjm at sanger.ac.uk
Tue Jul 22 18:02:22 EDT 2003
I think I have found a bug in the IsoeletricPoint code. The emboss code gives
the below sequence a value of 13 but the biojava code gives the following error;
org.biojava.bio.BioException: Illegal initial range limits.
at org.biojava.utils.math.BinarySearch.solve (BinarySearch.java:58)
(pc 70)
at org.biojava.bio.proteomics.IsoelectricPointCalc.getPI
(IsoelectricPointCalc.java:192) (pc 47)
at org.genedb.prelim.tests.IsoelectricPointBroken.main
(IsoelectricPointBroken.java:43) (pc 46)
I've ran this code over 1000's of peptides sequences but this one sequence
blows it up - heres the code to generate the above message;
// This is AA seq for GeneDB_Spombe:SPCC663.04
String peptideString = "MPSHKSFRTKQKLAKAARQNRPIPQWIRLRTGNTVHYNMKRRHWRRTKLNI";
SymbolList aaSymList = null;
double isoelectricPoint;
try {
Alphabet aa = ProteinTools.getAlphabet();
SymbolTokenization aaToken = aa.getTokenization("token");
aaSymList = new SimpleSymbolList(aaToken, peptideString);
IsoelectricPointCalc iep = new IsoelectricPointCalc();
isoelectricPoint = (float) iep.getPI(aaSymList, true, true);
System.out.println("isoelectricPoint for SPCC663.04 is "+isoelectricPoint);
}
catch(Exception e){
e.printStackTrace();
System.exit(1);
}
Does anyone know whats going on? Have I missed something obvious?
Paul Mooney
More information about the biojava-dev
mailing list