clarified help documentation for annotation file format and tweaked reader code to...
authorjprocter <Jim Procter>
Mon, 11 Dec 2006 16:20:19 +0000 (16:20 +0000)
committerjprocter <Jim Procter>
Mon, 11 Dec 2006 16:20:19 +0000 (16:20 +0000)
help/html/features/annotationsFormat.html
src/jalview/io/AnnotationFile.java

index ba9bc99..b5a52f5 100755 (executable)
@@ -1,82 +1,82 @@
-<html>\r
-\r
-<head><title>The Alignment Annotations File</title></head>\r
-\r
-<body>\r
-<p><strong>The Alignment Annotations File</strong></p>\r
-<p>Alignment annotations can be imported onto an alignment since\r
-  version 2.08 of Jalview, via an annotations file. It is a simple\r
-  ASCII text file consisting of tab\r
-  delimited records similar to the <a\r
-  href="featuresFormat.html">Sequence Features File</a>, and\r
-  introduced primarily for use with the Jalview applet.</p>\r
-<p>Alignment annotations files are imported into Jalview in the\r
-following ways:<br>\r
-<ul>\r
-<li>from the command line<strong><pre>\r
- -annotations &lt;<em>Annotations filename</em>&gt;</pre></strong></li>\r
-<li>Dragging an annotations file onto an alignment window</li>\r
-<li>Via the &quot;Load Features / Annotations&quot; entry in the\r
-<strong>File</strong> menu of an alignment window.</li>\r
-</ul>\r
-</p>\r
-<p><strong>Annotations File Format</strong></p>\r
-<p>The File consists of lines containing an instruction followed by\r
-  tab delimited fields, and any lines starting with &quot;#&quot; are\r
-  ignored. The first non-commented out line of a valid Annotations file must begin with :<strong><pre>JALVIEW_ANNOTATION</pre></strong></p>\r
-<p>A row of annotation is added with a line like\r
-<strong><pre><em>GRAPH_TYPE</em>&#9;<em>Label</em>&#9;<em>Values</em></pre></strong>\r
-<ul>\r
-<li><em>GRAPH_TYPE</em><br>This is can be either of &quot;BAR_GRAPH&quot;,\r
-  &quot;LINE_GRAPH&quot; or &quot;NO_GRAPH&quot;, defining the type of\r
-  annotation row that is being described.\r
-  </li>\r
-  <li><em>Values</em><br>This field is a series\r
-  of symbols and/or quantities separated by the pipe symbol &quot;|&quot;,\r
-  mapped onto the columns of the alignment.<br>Some types of annotation\r
-  can display both text, symbols and quantities at each column, and these are\r
-  separated with commas within the pipe-delimited Value field. Jalview\r
-  will display the content if it's values are appropriate for the type\r
-  of the annotation being defined:<ul>\r
-<li>BAR_GRAPH<br><em>text\r
-  character</em>,<em>number</em></li>\r
-<li>LINE_GRAPH<br><em>number</em></li>\r
-<li>NO_GRAPH<br><em>text label</em>,<em>H or E for helix or strand\r
-  symbol</em></li></ul>\r
-</li></ul></p>\r
-<p>You can associate an annotation with a sequence by preceding its\r
-  definition with the line:\r
-<strong><pre>SEQUENCE_REF&#9;<em>seq_name</em>&#9;<em>[startIndex]</em></pre></strong>\r
-All Annotations defined after a SEQUENCE_REF command will then be \r
-  associated with that sequence, and the first field in the Value\r
-  field list will (optionally) be\r
-  placed at the <em>startIndex</em>'th column.</p><p>Sequence associations\r
-  are turned off for subsequent annotation definitions by:\r
-<strong><pre>SEQUENCE_REF&#9;ALIGNMENT</pre></strong></p>\r
-<p><em>LINE_GRAPH</em> type annotations can be given a colour\r
-  (specified as 24 bit RGB triplet in hexadecimal or comma separated values),\r
-  combined onto the same vertical axis, and have ordinate lines (horizontal\r
-  lines at a particular vertical axis value) using the following\r
-  commands (respectively):\r
-<strong><pre>COLOUR&#9;<em>graph_name</em>&#9;<em>colour</em>\r
-COMBINE&#9;<em>graph_1_name</em>&#9;<em>graph_2_name</em>\r
-GRAPHLINE&#9;<em>graph_name</em>&#9;<em>value</em>&#9;<em>label</em>&#9;<em>colour</em></pre></strong>\r
-<p>An example Annotation file is given below:\r
-<pre>#Comment lines follow the hash symbol\r
-JALVIEW_ANNOTATION\r
-SEQUENCE_REF&#9;FER1_MESCR&#9;5\r
-BAR_GRAPH&#9;Bar Graph 1&#9;||-100,-|-200,-|-300,-|-400,-|200,+|300,+|150,+\r
-LINE_GRAPH&#9;Green Values&#9;1.1|2.2|1.3|3.4|0.7|1.4|3.3|2.2|2.1|-1.1|3.2\r
-LINE_GRAPH&#9;Red Values&#9;2.1|3.2|1.3|-1.4|5.5|1.4|1.3|4.2|-1.1|1.1|3.2\r
-BAR_GRAPH&#9;Bar Graph&#9;2 1,.|2,*|3,:|4,.|5,*|4,:|3,.|2|1|1|2|3|4|5|4\r
-NO_GRAPH&#9;Icons &#9;||||E,Sheet1|E|E||||H,Sheet 2|H|H|H||||||\r
-NO_GRAPH&#9;Purple Letters&#9;m|y|p|r|o|t|e|i|n\r
-COLOUR&#9;Bar Graph 2&#9;blue\r
-COLOUR&#9;Red Values&#9;255,0,0\r
-COLOUR&#9;Green Values&#9;green\r
-COLOUR&#9;Purple Letters&#9;151,52,228\r
-COMBINE&#9;Green Values&#9;Red Values\r
-GRAPHLINE&#9;Red Values&#9;2.6&#9;threshold&#9;black\r
-</pre></p>\r
-</body>\r
-</html>\r
+<html>
+
+<head>
+<title>The Alignment Annotations File</title>
+</head>
+
+<body>
+<p><strong>The Alignment Annotations File</strong></p>
+<p>Alignment annotations can be imported onto an alignment since
+version 2.08 of Jalview, via an annotations file. It is a simple ASCII
+text file consisting of tab delimited records similar to the <a
+       href="featuresFormat.html">Sequence Features File</a>, and introduced
+primarily for use with the Jalview applet.</p>
+<p>Alignment annotations files are imported into Jalview in the
+following ways:<br>
+<ul>
+       <li>from the command line<strong><pre>
+ -annotations &lt;<em>Annotations filename</em>&gt;</pre></strong></li>
+       <li>Dragging an annotations file onto an alignment window</li>
+       <li>Via the &quot;Load Features / Annotations&quot; entry in the <strong>File</strong>
+       menu of an alignment window.</li>
+</ul>
+</p>
+<p><strong>Annotations File Format</strong></p>
+<p>The File consists of lines containing an instruction followed by
+tab delimited fields, and any lines starting with &quot;#&quot; are
+ignored. The first non-commented out line of a valid Annotations file
+must begin with :<strong><pre>JALVIEW_ANNOTATION</pre></strong></p>
+<p>A row of annotation is added with a line like <strong><pre><em>GRAPH_TYPE</em>&#9;<em>Label</em>&#9;<em>Values</em></pre></strong></p>
+<p>The <em>GRAPH_TYPE</em> field, which appears first, defines the
+appearance of the annotation row when rendered by Jalview. The next field is the row label for the annotation. The final <em>Values</em> field contains a series of &quot;|&quot;
+separated value fields. Each value field is itself a comma separated list of fields of a particular type defined by the annotation row's
+GRAPH_TYPE. The allowed values of GRAPH_TYPE and the format of their respective value fields (with the trailing &quot;<strong>|</strong>&quot; symbol) are shown below:<ul>
+       <li>BAR_GRAPH<br>
+       Plots a histogram with labels below each bar.<br>
+       <em>number</em>,<em>text character</em></li>
+       <li>LINE_GRAPH<br>
+       Draws a line between values on the annotation row.<br>
+       <em>number</em></li>
+       <li>NO_GRAPH<br>
+       For a row consisting of text labels and/or secondary structure symbols.<br>
+       <em>{Secondary Structure Symbol}</em>,<em>text label</em><br>
+       Currently supported secondary structure structure symbols are <em>H</em> (for   helix) and <em>E</em> (for strand)</li>
+</ul>
+Any or all value fields may be left empty, as well as the BAR_GRAPH's
+text character field, and either or both of the text-label and secondary
+structure symbol fields of the NO_GRAPH type annotation rows.
+</p>
+<p>You can associate an annotation with a sequence by preceding its
+definition with the line: <strong><pre>SEQUENCE_REF&#9;<em>seq_name</em>&#9;<em>[startIndex]</em></pre></strong>
+All Annotations defined after a SEQUENCE_REF command will then be
+associated with that sequence, and the first field in the Value field
+list will (optionally) be placed at the <em>startIndex</em>'th column.</p>
+<p>Sequence associations are turned off for subsequent annotation
+definitions by: <strong><pre>SEQUENCE_REF&#9;ALIGNMENT</pre></strong></p>
+<p><em>LINE_GRAPH</em> type annotations can be given a colour
+(specified as 24 bit RGB triplet in hexadecimal or comma separated
+values), combined onto the same vertical axis, and have ordinate lines
+(horizontal lines at a particular vertical axis value) using the
+following commands (respectively): <strong><pre>COLOUR&#9;<em>graph_name</em>&#9;<em>colour</em>
+COMBINE&#9;<em>graph_1_name</em>&#9;<em>graph_2_name</em>
+GRAPHLINE&#9;<em>graph_name</em>&#9;<em>value</em>&#9;<em>label</em>&#9;<em>colour</em></pre></strong>
+<p>An example Annotation file is given below:
+<pre>#Comment lines follow the hash symbol
+JALVIEW_ANNOTATION
+SEQUENCE_REF&#9;FER1_MESCR&#9;5
+BAR_GRAPH&#9;Bar Graph 1&#9;||-100,-|-200,-|-300,-|-400,-|200,+|300,+|150,+
+LINE_GRAPH&#9;Green Values&#9;1.1|2.2|1.3|3.4|0.7|1.4|3.3|2.2|2.1|-1.1|3.2
+LINE_GRAPH&#9;Red Values&#9;2.1|3.2|1.3|-1.4|5.5|1.4|1.3|4.2|-1.1|1.1|3.2
+BAR_GRAPH&#9;Bar Graph&#9;2 1,.|2,*|3,:|4,.|5,*|4,:|3,.|2|1|1|2|3|4|5|4
+NO_GRAPH&#9;Icons &#9;||||E,Sheet1|E|E||||H,Sheet 2|H|H|H||||||
+NO_GRAPH&#9;Purple Letters&#9;m|y|p|r|o|t|e|i|n
+COLOUR&#9;Bar Graph 2&#9;blue
+COLOUR&#9;Red Values&#9;255,0,0
+COLOUR&#9;Green Values&#9;green
+COLOUR&#9;Purple Letters&#9;151,52,228
+COMBINE&#9;Green Values&#9;Red Values
+GRAPHLINE&#9;Red Values&#9;2.6&#9;threshold&#9;black
+</pre>
+</p>
+</body>
+</html>
index 04861a2..9f9ca20 100755 (executable)
@@ -101,17 +101,17 @@ public class AnnotationFile
         if(row.annotations[j]!=null)\r
         {\r
           comma = "";\r
-          if (row.annotations[j].displayCharacter.length() > 0\r
-              && !row.annotations[j].displayCharacter.equals(" "))\r
-          {\r
-            text.append(row.annotations[j].displayCharacter);\r
-            comma = ",";\r
-          }\r
           if (row.annotations[j].secondaryStructure!=' ')\r
           {\r
             text.append(comma + row.annotations[j].secondaryStructure);\r
             comma = ",";\r
           }\r
+          if (row.annotations[j].displayCharacter.length() > 0 \r
+                  && !row.annotations[j].displayCharacter.equals(" "))\r
+              {\r
+                text.append(row.annotations[j].displayCharacter);\r
+                comma = ",";\r
+              }\r
           if (row.annotations[j].value!=0f)\r
           {\r
             color = row.annotations[j].colour;\r