Sequence uniquify/deuniquify now uses the SequenceIdMatcher to cope with mangled...
[jalview.git] / src / jalview / ws / JPredClient.java
index 4cb8aee..f503f91 100755 (executable)
@@ -57,6 +57,7 @@ public class JPredClient
       wsInfo = setWebService();\r
 \r
     SequenceI seq = msf[0];\r
+\r
     altitle = "JNet prediction on " + seq.getName() +\r
         " using alignment from " + title;\r
 \r
@@ -65,8 +66,10 @@ public class JPredClient
                            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
@@ -403,16 +406,17 @@ public class JPredClient
           {\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