JAL-629 - remove TODO from jalview.bin.Jalview since it is now done via jalview.bin...
[jalview.git] / src / jalview / datamodel / AlignmentAnnotation.java
index 0f41850..de98c64 100755 (executable)
@@ -34,6 +34,7 @@ import java.util.Map.Entry;
 import jalview.analysis.Rna;
 import jalview.analysis.SecStrConsensus.SimpleBP;
 import jalview.analysis.WUSSParseException;
+import jalview.structure.StructureImportSettings;
 
 /**
  * DOCUMENT ME!
@@ -43,6 +44,7 @@ import jalview.analysis.WUSSParseException;
  */
 public class AlignmentAnnotation
 {
+
   private static final String ANNOTATION_ID_PREFIX = "ann";
 
   /*
@@ -96,6 +98,21 @@ public class AlignmentAnnotation
   private long invalidrnastruc = -2;
 
   /**
+   * the type of temperature factor plot (if it is one)
+   */
+  private StructureImportSettings.TFType tfType = StructureImportSettings.TFType.DEFAULT;
+
+  public void setTFType(StructureImportSettings.TFType t)
+  {
+    tfType = t;
+  }
+
+  public StructureImportSettings.TFType getTFType()
+  {
+    return tfType;
+  }
+
+  /**
    * Updates the _rnasecstr field Determines the positions that base pair and
    * the positions of helices based on secondary structure from a Stockholm file
    * 
@@ -289,6 +306,13 @@ public class AlignmentAnnotation
 
   public static final int LINE_GRAPH = 2;
 
+  public static final int CONTACT_MAP = 4;
+
+  /**
+   * property that when set to non-empty string disables display of column groups defined on the contact matrix
+   */
+  public static final String CONTACT_MAP_NOGROUPS = "CMNOGRPS";
+
   public boolean belowAlignment = true;
 
   public SequenceGroup groupRef = null;
@@ -549,12 +573,12 @@ public class AlignmentAnnotation
                       : annotations[index + offset].displayCharacter == null
                               || annotations[index
                                       + offset].displayCharacter
-                                      .length() == 0
-                                              ? annotations[index
-                                                      + offset].secondaryStructure
-                                              : annotations[index
-                                                      + offset].displayCharacter
-                                                      .charAt(0));
+                                              .length() == 0
+                                                      ? annotations[index
+                                                              + offset].secondaryStructure
+                                                      : annotations[index
+                                                              + offset].displayCharacter
+                                                                      .charAt(0));
     }
 
     @Override
@@ -807,6 +831,7 @@ public class AlignmentAnnotation
       {
         this.sequenceMapping = null;
       }
+
     }
     // TODO: check if we need to do this: JAL-952
     // if (this.isrna=annotation.isrna)
@@ -1725,5 +1750,23 @@ public class AlignmentAnnotation
     }
     return aa;
   }
+  
+  /**
+   * convenience method to check for the 'CONTACT_MAP_NOGROUPS' property for this alignment annotation row
+   * @return true if no CONTACT_MAP_NOGROUPS property is found, or it is set to ""
+   */
+  public boolean isShowGroupsForContactMatrix()
+  {
+    return getProperty(AlignmentAnnotation.CONTACT_MAP_NOGROUPS)==null || "".equals(getProperty(AlignmentAnnotation.CONTACT_MAP_NOGROUPS));
+  }
+  /**
+   * set the 'CONTACT_MAP_NOGROUPS' property for this alignment annotation row
+   * @see isShowGroupsForContactMatrix
+   */
+  public void setShowGroupsForContactMatrix(boolean showGroups)
+  {
+    setProperty(AlignmentAnnotation.CONTACT_MAP_NOGROUPS, showGroups ? "" : "nogroups");
+  }
+
 
 }