recover original data for tree and pca as alignment view.
[jalview.git] / src / jalview / ws / MsaWSClient.java
index 999fc96..49c879b 100755 (executable)
@@ -58,7 +58,7 @@ public class MsaWSClient
    */\r
 \r
   public MsaWSClient(ext.vamsas.ServiceHandle sh, String altitle,\r
-                     SequenceI[] msa,\r
+                     jalview.datamodel.AlignmentView msa,\r
                      boolean submitGaps, boolean preserveOrder,\r
                      Alignment seqdataset,\r
                      AlignFrame _alignFrame)\r
@@ -91,7 +91,7 @@ public class MsaWSClient
   }\r
 \r
 \r
-  private void startMsaWSClient(String altitle, SequenceI[] msa,\r
+  private void startMsaWSClient(String altitle, AlignmentView msa,\r
                      boolean submitGaps, boolean preserveOrder, Alignment seqdataset)\r
   {\r
     if (!locateWebService())\r
@@ -141,6 +141,16 @@ public class MsaWSClient
     return true;\r
   }\r
 \r
+  protected String getServiceActionKey()\r
+  {\r
+    return "MsaWS";\r
+  }\r
+\r
+  protected String getServiceActionDescription()\r
+  {\r
+    return "Multiple Sequence Alignment";\r
+  }\r
+\r
   protected class MsaWSThread\r
       extends Thread implements WSClientI\r
   {\r
@@ -159,33 +169,34 @@ public class MsaWSClient
 \r
     Alignment dataset; // dataset to which the new alignment will be associated.\r
 \r
-    MsaWSThread(String title, SequenceI[] msa, boolean subgaps,\r
+    MsaWSThread(String title, AlignmentView _msa, boolean subgaps,\r
                 boolean presorder, Alignment seqset)\r
     {\r
+      // jbpnote - transformation should be above here - this is per sequence set contig, not for many contigs.\r
       alTitle = title;\r
       submitGaps = subgaps;\r
       preserveOrder = presorder;\r
       dataset = seqset;\r
       OutputHeader = wsInfo.getProgressText();\r
       SeqNames = new Hashtable();\r
-\r
+      SeqCigar[] msa = _msa.getSequences();\r
       vamsas.objects.simple.Sequence[] seqarray = new vamsas.objects.simple.\r
           Sequence[msa.length];\r
 \r
-      for (int i = 0; i < msa.length; i++)\r
+      for (int i = 0,n=0; i < msa.length; i++)\r
       {\r
         String newname = jalview.analysis.SeqsetUtils.unique_name(i);\r
-\r
+        SequenceI mseq = msa[i].getSeq('-');\r
         // uniquify as we go\r
         // TODO: JBPNote: this is a ubiquitous transformation - set of jalview seq objects to vamsas sequences with name preservation\r
         SeqNames.put(newname,\r
-                     jalview.analysis.SeqsetUtils.SeqCharacterHash(msa[i]));\r
+                     jalview.analysis.SeqsetUtils.SeqCharacterHash(mseq));\r
         seqarray[i] = new vamsas.objects.simple.Sequence();\r
         seqarray[i].setId(newname);\r
-        seqarray[i].setSeq( (submitGaps) ? msa[i].getSequence()\r
+        seqarray[i].setSeq( (submitGaps) ? mseq.getSequence()\r
                            : AlignSeq.extractGaps(\r
                                jalview.util.Comparison.GapChars,\r
-                               msa[i].getSequence()));\r
+                               mseq.getSequence()));\r
       }\r
 \r
       this.seqs = new vamsas.objects.simple.SequenceSet();\r