Merge branch 'develop' into develop_m2_8_1_2
[jalview.git] / src / jalview / datamodel / Annotation.java
index b7a83a5..e99c321 100755 (executable)
  */
 package jalview.datamodel;
 
-import java.awt.*;
+import java.awt.Color;
 
 /**
- * DOCUMENT ME!
+ * Holds all annotation values for a position in an AlignmentAnnotation row
  * 
  * @author $author$
  * @version $Revision$
  */
 public class Annotation
 {
-  /** DOCUMENT ME!! */
+  /** Character label - also shown below histogram */
   public String displayCharacter = "";
 
-  /** DOCUMENT ME!! */
-  public String description = ""; // currently used as mouse over
+  /**
+   * Text label for position: shown in mouse over and displayed on secondary
+   * structure glyphs
+   */
+  public String description = "";
 
-  /** DOCUMENT ME!! */
-  public char secondaryStructure = ' '; // recognises H, E and S(?)
+  /**
+   * Secondary structure symbol: Protein symbols are H, E and S(?), RNA are
+   * WUSS/Vienna plus extended pseudoknot symbols
+   */
+  public char secondaryStructure = ' ';
 
-  /** DOCUMENT ME!! */
+  /** Score for the position - used in histograms, line graphs and for shading */
   public float value;
-
-  // add visual cues here
-
-  /** DOCUMENT ME!! */
+  
+  /** Colour for position */
   public Color colour;
 
   /**
@@ -62,6 +66,7 @@ public class Annotation
     description = desc;
     secondaryStructure = ss;
     value = val;
+    
   }
 
   /**
@@ -105,6 +110,7 @@ public class Annotation
     secondaryStructure = that.secondaryStructure;
     value = that.value;
     colour = that.colour;
+
   }
 
   /**
@@ -115,9 +121,18 @@ public class Annotation
    */
   public Annotation(float val)
   {
-    this(null, null, ' ', val);
+    this(null, null, ' ', val,null);
   }
 
+  /**
+   * human readable representation of an annotation row element.
+   *
+   * Format is 'display Char','secondary Structure
+   * Char',"description",score,[colourstring]
+   *
+   * fields may be missing if they are null, whitespace, or equivalent to
+   * Float.NaN
+   */
   @Override
   public String toString()
   {