JAL-2403 JAL-1483 changes to ScoreModelI hierarchy and signatures to
[jalview.git] / src / jalview / api / analysis / PairwiseScoreModelI.java
1 package jalview.api.analysis;
2
3 /**
4  * An interface that describes classes that can compute similarity (aka
5  * substitution) scores for pairs of residues
6  */
7 public interface PairwiseScoreModelI
8 {
9   /**
10    * Answers a similarity score between two sequence characters (for
11    * substitution of the first by the second). Typically the highest scores are
12    * for identity, and the lowest for substitution of a residue by one with very
13    * different properties.
14    * 
15    * @param c
16    * @param d
17    * @return
18    */
19   abstract public float getPairwiseScore(char c, char d);
20
21   /**
22    * Returns a readable name for the model, suitable for display in menus
23    * 
24    * @return
25    */
26   String getName();
27
28   /**
29    * Answers true if the model is applicable to nucleotide data
30    * 
31    * @return
32    */
33   boolean isDNA();
34
35   /**
36    * Answers true if the model is applicable to peptide data
37    * 
38    * @return
39    */
40   boolean isProtein();
41
42 }