title + ") on sequence :\n>" + seq.getName() + "\n" +\r
AlignSeq.extractGaps("-. ", seq.getSequence()) +\r
"\n");\r
-\r
- SequenceInfo = jalview.analysis.SeqsetUtils.SeqCharacterHash(seq);\r
+ SequenceI aln[] = new SequenceI[msf.length];\r
+ for (int i=0,j=msf.length; i<j;i++)\r
+ aln[i] = new jalview.datamodel.Sequence(msf[i]);\r
+ SequenceInfo = jalview.analysis.SeqsetUtils.uniquify(aln, true);\r
\r
if (!locateWebService())\r
{\r
return;\r
}\r
\r
- JPredThread jthread = new JPredThread(msf);\r
+ JPredThread jthread = new JPredThread(aln);\r
jthread.start();\r
}\r
\r
OutputHeader += ("\n" + result.getAligfile());\r
}\r
\r
- wsInfo.setProgressText(OutputHeader);\r
+ wsInfo.setProgressText(OutputHeader+"Parsing...");\r
\r
try\r
{\r
+ jalview.bin.Jalview.log.debug("Parsing output from JNet job.");\r
// JPredFile prediction = new JPredFile("C:/JalviewX/files/jpred.txt", "File");\r
jalview.io.JPredFile prediction = new jalview.io.JPredFile(result.\r
getPredfile(),\r
"Paste");\r
SequenceI[] preds = prediction.getSeqsAsArray();\r
+ jalview.bin.Jalview.log.debug("Got prediction profile.");\r
Alignment al;\r
int FirstSeq; // the position of the query sequence in Alignment al\r
boolean noMsa = true; // set if no MSA has been returned by JPred\r
\r
if ( (this.msa != null) && (result.getAligfile() != null))\r
{\r
+ jalview.bin.Jalview.log.debug("Getting associated alignment.");\r
// we ignore the returned alignment if we only predicted on a single sequence\r
String format = jalview.io.IdentifyFile.Identify(result.getAligfile(),\r
"Paste");\r
{\r
al = new Alignment(jalview.io.FormatAdapter.readFile(\r
result.getAligfile(), "Paste", format));\r
+ for (int i=0, j=al.getHeight(); i<j; i++) {\r
+ SequenceI sq = al.getSequenceAt(i);\r
+ if (!jalview.analysis.SeqsetUtils.SeqCharacterUnhash(\r
+ sq, (Hashtable) SequenceInfo.get(sq.getName())))\r
+ {\r
+ throw (new Exception(\r
+ "Couldn't recover sequence properties for JNet "\r
+ +((i==0) ? "Query sequence" : "alignment sequence ("+i+")")));\r
+ }\r
+ }\r
noMsa = false;\r
FirstSeq = 0;\r
}\r
{\r
al = new Alignment(preds);\r
FirstSeq = prediction.getQuerySeqPosition();\r
+ if (!jalview.analysis.SeqsetUtils.SeqCharacterUnhash(\r
+ al.getSequenceAt(FirstSeq), SequenceInfo))\r
+ {\r
+ throw (new Exception(\r
+ "Couldn't recover sequence properties for JNet Query sequence!"));\r
+ }\r
}\r
\r
- if (!jalview.analysis.SeqsetUtils.SeqCharacterUnhash(\r
- al.getSequenceAt(FirstSeq), SequenceInfo))\r
- {\r
- throw (new Exception(\r
- "Couldn't recover sequence properties for JNet Query sequence!"));\r
- }\r
\r
AlignmentAnnotation annot;\r
Annotation[] annotations = null;\r
addFloatAnnotations(al, gapmap, (Vector)scores.get("JNETPROPC"),\r
"JnetpropC", "Jnet Coil Propensity", 0f,1f,1);\r
*/\r
+\r
+ wsInfo.setProgressText(OutputHeader);\r
+ jalview.bin.Jalview.log.debug("Finished parsing output.");\r
AlignFrame af = new AlignFrame(al);\r
\r
Desktop.addInternalFrame(af, altitle,\r
catch (Exception ex)\r
{\r
jalview.bin.Jalview.log.warn("Exception whilst parsing JNet style secondary structure prediction.");\r
- jalview.bin.Jalview.log.debug(ex);\r
+ jalview.bin.Jalview.log.debug("Exception: ",ex);\r
}\r
}\r
}\r