normalised logo rendering (JAL-958)
[jalview.git] / src / jalview / gui / AlignViewport.java
index 0a9cad4..5ac946a 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
+ * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
  * 
  * This file is part of Jalview.
  * 
@@ -404,6 +404,7 @@ public class AlignViewport implements SelectionSource, VamsasSource
       showConsensusHistogram = Cache.getDefault("SHOW_CONSENSUS_HISTOGRAM",
               true);
       showSequenceLogo = Cache.getDefault("SHOW_CONSENSUS_LOGO", false);
+      normaliseSequenceLogo = Cache.getDefault("NORMALISE_CONSENSUS_LOGO", false);
       showGroupConsensus = Cache.getDefault("SHOW_GROUP_CONSENSUS", false);
       // TODO: add menu option action that nulls or creates consensus object
       // depending on if the user wants to see the annotation or not in a
@@ -413,7 +414,7 @@ public class AlignViewport implements SelectionSource, VamsasSource
       consensus.hasText = true;
       consensus.autoCalculated = true;
 
-      if (alignment.isNucleotide())
+      if (alignment.isNucleotide() && alignment.hasRNAStructure())
       {
         strucConsensus = new AlignmentAnnotation("StrucConsensus", "PID",
                 new Annotation[1], 0f, 100f, AlignmentAnnotation.BAR_GRAPH);
@@ -425,7 +426,7 @@ public class AlignViewport implements SelectionSource, VamsasSource
       {
         alignment.addAnnotation(consensus);
         // TODO: Make own if for structure
-        if (alignment.isNucleotide())
+        if (alignment.isNucleotide() && alignment.hasRNAStructure())
         {
           alignment.addAnnotation(strucConsensus);
         }
@@ -2302,7 +2303,10 @@ public class AlignViewport implements SelectionSource, VamsasSource
    * should consensus profile be rendered by default
    */
   public boolean showSequenceLogo = false;
-
+  /**
+   * should consensus profile be rendered normalised to row height
+   */
+  public  boolean normaliseSequenceLogo = false;
   /**
    * should consensus histograms be rendered by default
    */
@@ -2466,4 +2470,15 @@ public class AlignViewport implements SelectionSource, VamsasSource
     }
     return seqvectors.toArray(new SequenceI[seqvectors.size()][]);
   }
+
+  
+  public boolean isNormaliseSequenceLogo()
+  {
+    return normaliseSequenceLogo;
+  }
+
+  public void setNormaliseSequenceLogo(boolean state)
+  {
+    normaliseSequenceLogo = state;
+  }
 }