wsInfo = setWebService();\r
\r
SequenceI seq = msf[0];\r
+\r
altitle = "JNet prediction on " + seq.getName() +\r
" using alignment from " + title;\r
\r
AlignSeq.extractGaps("-. ", seq.getSequence()) +\r
"\n");\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
+ for (int i=0,j=msf.length; i<j;i++) {\r
+ aln[i] = new jalview.datamodel.Sequence(msf[i]);\r
+ }\r
+\r
SequenceInfo = jalview.analysis.SeqsetUtils.uniquify(aln, true);\r
\r
if (!locateWebService())\r
WebServiceName = "JNetWS";\r
WebServiceJobTitle = "JNet secondary structure prediction";\r
WebServiceReference =\r
- "\"Cuff J. A and Barton G.J (1999) Application of enhanced " +\r
+ "\"Cuff J. A and Barton G.J (2000) Application of " +\r
"multiple sequence alignment profiles to improve protein secondary structure prediction, " +\r
"Proteins 40:502-511\".";\r
WsURL = "http://www.compbio.dundee.ac.uk/JalviewWS/services/jpred";\r
{\r
jalview.bin.Cache.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
+ String format = new jalview.io.IdentifyFile().Identify(result.getAligfile(),\r
"Paste");\r
\r
if (jalview.io.FormatAdapter.formats.contains(format))\r
{\r
al = new Alignment(new FormatAdapter().readFile(\r
result.getAligfile(), "Paste", format));\r
+ SequenceI sqs[] = new SequenceI[al.getHeight()];\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
+ sqs[i] = al.getSequenceAt(i);\r
+ }\r
+ if (!jalview.analysis.SeqsetUtils.deuniquify(\r
+ (Hashtable) SequenceInfo,sqs))\r
{\r
throw (new Exception(\r
- "Couldn't recover sequence properties for JNet "\r
- +((i==0) ? "Query sequence" : "alignment sequence ("+i+")")));\r
+ "Couldn't recover sequence properties for alignment."));\r
}\r
- }\r
+\r
noMsa = false;\r
FirstSeq = 0;\r
}\r
}\r
}\r
\r
+ al.setDataset(null);\r
\r
AlignmentAnnotation annot;\r
Annotation[] annotations = null;\r
// JBPNote Should also rename the query sequence sometime...\r
i = 0;\r
\r
+ SequenceI seqRef = al.getSequenceAt(FirstSeq);\r
+\r
while (i < preds.length)\r
{\r
String id = preds[i].getName().toUpperCase();\r
{\r
annot = new AlignmentAnnotation(preds[i].getName(),\r
"JNet Output", annotations, 0f,\r
- 10f, 1);\r
+ 10f,\r
+ AlignmentAnnotation.BAR_GRAPH);\r
}\r
else\r
{\r
"JNet Output", annotations);\r
}\r
\r
- al.addAnnotation(annot);\r
+ al.addAnnotation(annot, seqRef);\r
\r
if (noMsa)\r
{\r
}\r
catch (Exception ex)\r
{\r
- jalview.bin.Cache.log.warn("Exception whilst parsing JNet style secondary structure prediction.");\r
- jalview.bin.Cache.log.debug("Exception: ",ex);\r
+ jalview.bin.Cache.log.warn("Exception whilst parsing JNet style secondary structure prediction.",ex);\r
}\r
}\r
}\r