static convenience methods for constructing and calculating conservation
authorjprocter <jprocter@compbio.dundee.ac.uk>
Wed, 19 Oct 2011 17:26:26 +0000 (18:26 +0100)
committerjprocter <jprocter@compbio.dundee.ac.uk>
Fri, 21 Oct 2011 14:53:24 +0000 (15:53 +0100)
src/jalview/analysis/Conservation.java

index 5c26ac4..6957b5c 100755 (executable)
@@ -694,4 +694,42 @@ public class Conservation
       }
     }
   }
+
+  /**
+   * construct and call the calculation methods on a new Conservation object
+   * @param name - name of conservation
+   * @param consHash - hash table of properties for each amino acid (normally ResidueProperties.propHash)
+   * @param threshold - minimum number of conserved residues needed to indicate conservation (typically 3)
+   * @param seqs
+   * @param start first column in calculation window
+   * @param end last column in calculation window
+   * @param posOrNeg positive (true) or negative (false) conservation 
+   * @param consPercGaps percentage of gaps tolerated in column
+   * @param calcQuality flag indicating if alignment quality should be calculated  
+   * @return Conservation object ready for use in visualization
+   */
+  public static Conservation calculateConservation(String name,
+          Hashtable consHash, int threshold, List<SequenceI> seqs, int start, int end, boolean posOrNeg, int consPercGaps, boolean calcQuality)
+  {
+    Conservation cons = new Conservation(name, consHash, threshold, seqs, start,end);
+    return calculateConservation(cons, posOrNeg, consPercGaps, calcQuality);
+  }
+  /**
+  * @param b positive (true) or negative (false) conservation 
+  * @param consPercGaps percentage of gaps tolerated in column
+  * @param calcQuality flag indicating if alignment quality should be calculated  
+  * @return Conservation object ready for use in visualization
+  */
+ public static Conservation calculateConservation(Conservation cons, boolean b, int consPercGaps, boolean calcQuality)
+ {
+   cons.calculate();
+    cons.verdict(b, consPercGaps); 
+
+    if (calcQuality)
+    {
+      cons.findQuality();
+    }
+
+    return cons;
+  }
 }