Check for all gapped seqs
[jalview.git] / src / jalview / ws / MsaWSClient.java
index 6d46e4b..7d65ceb 100755 (executable)
@@ -43,6 +43,7 @@ public class MsaWSClient
    * server is a WSDL2Java generated stub for an archetypal MsaWSI service.\r
    */\r
   ext.vamsas.MuscleWS server;\r
+  AlignFrame alignFrame;\r
 \r
 \r
   /**\r
@@ -56,10 +57,14 @@ public class MsaWSClient
    * @param preserveOrder DOCUMENT ME!\r
    */\r
 \r
-  public MsaWSClient(ext.vamsas.ServiceHandle sh, String altitle, SequenceI[] msa,\r
-                     boolean submitGaps, boolean preserveOrder)\r
+  public MsaWSClient(ext.vamsas.ServiceHandle sh, String altitle,\r
+                     SequenceI[] msa,\r
+                     boolean submitGaps, boolean preserveOrder,\r
+                     Alignment seqdataset,\r
+                     AlignFrame _alignFrame)\r
   {\r
 \r
+    alignFrame = _alignFrame;\r
     if (!sh.getAbstractName().equals("MsaWS"))\r
     {\r
       JOptionPane.showMessageDialog(Desktop.desktop,\r
@@ -81,13 +86,13 @@ public class MsaWSClient
 \r
        return;\r
      }\r
-    startMsaWSClient(altitle, msa, submitGaps, preserveOrder);\r
+    startMsaWSClient(altitle, msa, submitGaps, preserveOrder, seqdataset);\r
 \r
   }\r
 \r
 \r
   private void startMsaWSClient(String altitle, SequenceI[] msa,\r
-                     boolean submitGaps, boolean preserveOrder)\r
+                     boolean submitGaps, boolean preserveOrder, Alignment seqdataset)\r
   {\r
     if (!locateWebService())\r
     {\r
@@ -99,7 +104,7 @@ public class MsaWSClient
 \r
     MsaWSThread musclethread = new MsaWSThread(WebServiceName +\r
                                                " alignment of " + altitle, msa,\r
-                                               submitGaps, preserveOrder);\r
+                                               submitGaps, preserveOrder, seqdataset);\r
     wsInfo.setthisService(musclethread);\r
     musclethread.start();\r
   }\r
@@ -145,20 +150,22 @@ public class MsaWSClient
     vamsas.objects.simple.SequenceSet seqs = new vamsas.objects.simple.\r
         SequenceSet();\r
     Hashtable SeqNames = null;\r
-    boolean submitGaps = false; // and always store and recover sequence order\r
+    boolean submitGaps = false; // pass sequences including gaps to alignment service\r
     boolean preserveOrder = true; // and always store and recover sequence order\r
     String jobId;\r
     String alTitle; // name which will be used to form new alignment window.\r
     int allowedServerExceptions = 3; // thread dies if too many exceptions.\r
     boolean jobComplete = false;\r
 \r
+    Alignment dataset; // dataset to which the new alignment will be associated.\r
+\r
     MsaWSThread(String title, SequenceI[] msa, boolean subgaps,\r
-                boolean presorder)\r
+                boolean presorder, Alignment seqset)\r
     {\r
       alTitle = title;\r
       submitGaps = subgaps;\r
       preserveOrder = presorder;\r
-\r
+      dataset = seqset;\r
       OutputHeader = wsInfo.getProgressText();\r
       SeqNames = new Hashtable();\r
 \r
@@ -467,9 +474,15 @@ public class MsaWSClient
           jalview.analysis.SeqsetUtils.deuniquify(SeqNames, seqs);\r
 \r
           Alignment al = new Alignment(seqs);\r
-\r
+          if (dataset!=null) {\r
+            al.setDataset(dataset);\r
+          }\r
           // TODO: JBPNote Should also rename the query sequence sometime...\r
           AlignFrame af = new AlignFrame(al);\r
+\r
+          //>>>This is a fix for the moment, until a better solution is found!!<<<\r
+          af.getFeatureRenderer().transferSettings(alignFrame.getFeatureRenderer());\r
+\r
           af.addSortByOrderMenuItem(ServiceName + " Ordering",\r
                                     msaorder);\r
 \r