Merge branch 'develop' into releases/Release_2_10_2_Branch
authorJim Procter <jprocter@issues.jalview.org>
Mon, 14 Aug 2017 09:35:00 +0000 (10:35 +0100)
committerJim Procter <jprocter@issues.jalview.org>
Mon, 14 Aug 2017 09:35:00 +0000 (10:35 +0100)
src/jalview/gui/Jalview2XML.java
src/jalview/ws/jws2/AbstractJabaCalcWorker.java

index d472ef8..ffbe6a1 100644 (file)
@@ -4489,8 +4489,8 @@ public class Jalview2XML
     }
 
     af.viewport.setGlobalColourScheme(cs);
-    af.viewport.getResidueShading().setThreshold(
-            view.getPidThreshold(), true);
+    af.viewport.getResidueShading().setThreshold(view.getPidThreshold(),
+            view.getIgnoreGapsinConsensus());
     af.viewport.getResidueShading().setConsensus(
             af.viewport.getSequenceConsensusHash());
     af.viewport.setColourAppliesToAllGroups(false);
index b33df0c..c691fee 100644 (file)
@@ -30,6 +30,7 @@ import jalview.datamodel.AnnotatedCollectionI;
 import jalview.datamodel.SequenceI;
 import jalview.gui.AlignFrame;
 import jalview.gui.IProgressIndicator;
+import jalview.schemes.ResidueProperties;
 import jalview.workers.AlignCalcWorker;
 import jalview.ws.jws2.dm.AAConSettings;
 import jalview.ws.jws2.dm.JabaWsParamSet;
@@ -63,6 +64,11 @@ public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
   protected boolean submitGaps = true;
 
   /**
+   * by default, we filter out non-standard residues before submission
+   */
+  private boolean filterNonStandardResidues = true;
+
+  /**
    * Recover any existing parameters for this service
    */
   protected void initViewportParams()
@@ -113,7 +119,7 @@ public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
 
   public List<Option> getJabaArguments()
   {
-    List<Option> newargs = new ArrayList<Option>();
+    List<Option> newargs = new ArrayList<>();
     if (preset != null && preset instanceof JabaWsParamSet)
     {
       newargs.addAll(((JabaWsParamSet) preset).getjabaArguments());
@@ -450,19 +456,19 @@ public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
       inputSeqs = alignment;
     }
 
-    List<compbio.data.sequence.FastaSequence> seqs = new ArrayList<compbio.data.sequence.FastaSequence>();
+    List<compbio.data.sequence.FastaSequence> seqs = new ArrayList<>();
 
     int minlen = 10;
     int ln = -1;
     if (bySequence)
     {
-      seqNames = new HashMap<String, SequenceI>();
+      seqNames = new HashMap<>();
     }
     gapMap = new boolean[0];
     start = inputSeqs.getStartRes();
     end = inputSeqs.getEndRes();
 
-    for (SequenceI sq : ((List<SequenceI>) inputSeqs.getSequences()))
+    for (SequenceI sq : (inputSeqs.getSequences()))
     {
       if (bySequence ? sq.findPosition(end + 1)
               - sq.findPosition(start + 1) > minlen - 1 : sq.getEnd()
@@ -491,7 +497,12 @@ public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
           }
           for (int apos : sq.gapMap())
           {
-            gapMap[apos] = true; // aligned.
+            if (!filterNonStandardResidues
+                    || ResidueProperties.aaIndex[sq.getCharAt(apos)] < 20)
+            {
+              gapMap[apos] = true; // aligned and real amino acid residue
+            }
+            ;
           }
         }
         else