JAL-2325 update release date to next Tuesday
[jalview.git] / src / jalview / datamodel / ProfileI.java
1 package jalview.datamodel;
2
3 public interface ProfileI
4 {
5
6   /**
7    * Set the full profile of counts
8    * 
9    * @param residueCounts
10    */
11   public abstract void setCounts(ResidueCount residueCounts);
12
13   /**
14    * Returns the percentage identity of the profile, i.e. the highest proportion
15    * of conserved (equal) symbols. The percentage is as a fraction of all
16    * sequences, or only ungapped sequences if flag ignoreGaps is set true.
17    * 
18    * @param ignoreGaps
19    * @return
20    */
21   public abstract float getPercentageIdentity(boolean ignoreGaps);
22
23   /**
24    * Returns the full symbol counts for this profile
25    * 
26    * @return
27    */
28   public abstract ResidueCount getCounts();
29
30   /**
31    * Returns the number of sequences in the profile
32    * 
33    * @return
34    */
35   public abstract int getHeight();
36
37   /**
38    * Returns the number of sequences in the profile which had a gap character
39    * (or were too short to be included in this column's profile)
40    * 
41    * @return
42    */
43   public abstract int getGapped();
44
45   /**
46    * Returns the highest count for any symbol(s) in the profile
47    * 
48    * @return
49    */
50   public abstract int getMaxCount();
51
52   /**
53    * Returns the symbol (or concatenated symbols) which have the highest count
54    * in the profile, or an empty string if there were no symbols counted
55    * 
56    * @return
57    */
58   public abstract String getModalResidue();
59
60   /**
61    * Answers the number of non-gapped sequences in the profile
62    * 
63    * @return
64    */
65   public abstract int getNonGapped();
66
67 }