Merge branch 'Jalview-JS/develop_j2s_v3_2_9_j11' into Jalview-JS/develop
[jalview.git] / src / jalview / ws / jws2 / AAConClient.java
index 166edff..327864a 100644 (file)
@@ -1,29 +1,31 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * Jalview is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License 
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
  *  
  * Jalview is distributed in the hope that it will be useful, but 
  * WITHOUT ANY WARRANTY; without even the implied warranty 
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
  * PURPOSE.  See the GNU General Public License for more details.
  * 
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
  * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.ws.jws2;
 
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.gui.AlignFrame;
-import jalview.gui.AlignmentPanel;
-import jalview.ws.jws2.dm.AAConSettings;
+import jalview.util.MessageManager;
 import jalview.ws.jws2.jabaws2.Jws2Instance;
 import jalview.ws.params.WsParamSetI;
+import jalview.ws.uimodel.AlignAnalysisUIText;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -31,10 +33,11 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
 
+import compbio.data.sequence.FastaSequence;
 import compbio.data.sequence.Score;
 import compbio.metadata.Argument;
 
-public class AAConClient extends JabawsAlignCalcWorker
+public class AAConClient extends JabawsCalcWorker
 {
 
   public AAConClient(Jws2Instance service, AlignFrame alignFrame,
@@ -45,27 +48,12 @@ public class AAConClient extends JabawsAlignCalcWorker
     alignedSeqs = true;
     nucleotidesAllowed = false;
     proteinAllowed = true;
+    filterNonStandardResidues = true;
     gapMap = new boolean[0];
     initViewportParams();
   }
 
-  protected void initViewportParams()
-  {
-    ((jalview.gui.AlignViewport) alignViewport).setCalcIdSettingsFor(
-            getCalcId(),
-            new AAConSettings(true, service, this.preset,
-                    (arguments != null) ? JabaParamStore
-                            .getJwsArgsfromJaba(arguments) : null), true);
-  }
-
   @Override
-  public void updateParameters(WsParamSetI newpreset,
-          java.util.List<Argument> newarguments)
-  {
-    super.updateParameters(newpreset, newarguments);
-    initViewportParams();
-  };
-
   public String getServiceActionText()
   {
     return "calculating Amino acid consensus using AACon service";
@@ -76,13 +64,14 @@ public class AAConClient extends JabawsAlignCalcWorker
    * current visualization settings.
    */
 
+  @Override
   public void updateResultAnnotation(boolean immediate)
   {
     if (immediate || !calcMan.isWorking(this) && scoremanager != null)
     {
       Map<String, TreeSet<Score>> scoremap = scoremanager.asMap();
       int alWidth = alignViewport.getAlignment().getWidth();
-      ArrayList<AlignmentAnnotation> ourAnnot = new ArrayList<AlignmentAnnotation>();
+      ArrayList<AlignmentAnnotation> ourAnnot = new ArrayList<>();
       for (String score : scoremap.keySet())
       {
         Set<Score> scores = scoremap.get(score);
@@ -115,17 +104,28 @@ public class AAConClient extends JabawsAlignCalcWorker
     }
   }
 
+  @Override
+  boolean checkValidInputSeqs(boolean dynamic, List<FastaSequence> seqs)
+  {
+    return (seqs.size() > 1);
+  }
+
+  @Override
   public String getCalcId()
   {
-    return SequenceAnnotationWSClient.AAConCalcId;
+    return CALC_ID;
   }
 
-  public static void removeAAConsAnnotation(AlignmentPanel alignPanel)
+  private static String CALC_ID = "jabaws2.AACon";
+
+  public static AlignAnalysisUIText getAlignAnalysisUITest()
   {
-    for (AlignmentAnnotation aa : alignPanel.getAlignment().findAnnotation(
-            SequenceAnnotationWSClient.AAConCalcId))
-    {
-      alignPanel.getAlignment().deleteAnnotation(aa);
-    }
+    return new AlignAnalysisUIText(
+            compbio.ws.client.Services.AAConWS.toString(),
+            jalview.ws.jws2.AAConClient.class, CALC_ID, false, true, true,
+            MessageManager.getString("label.aacon_calculations"),
+            MessageManager.getString("tooltip.aacon_calculations"),
+            MessageManager.getString("label.aacon_settings"),
+            MessageManager.getString("tooltip.aacon_settings"));
   }
 }