Merge branch 'JAL-1013_pca_rna_dna' into develop
[jalview.git] / src / jalview / schemes / ResidueProperties.java
index 4c8394f..98b7101 100755 (executable)
@@ -97,6 +97,15 @@ public class ResidueProperties
     // extend subt. matrices
   }
 
+  /**
+   * maximum (gap) index for matrices involving protein alphabet 
+   */
+  public final static int maxProteinIndex=23;
+  /**
+   * maximum (gap) index for matrices involving nucleotide alphabet 
+   */
+  public final static int maxNucleotideIndex=10;
+  
   static
   {
     nucleotideIndex = new int[255];
@@ -572,21 +581,27 @@ public class ResidueProperties
    * new Color(60, 136, 238), // U Color.white, // I Color.white, // X
    * Color.white, // R Color.white, // Y Color.white, // N Color.white, // Gap
    */
+
+  // JBPNote: patch matrix for T/U equivalence when working with DNA or RNA.
+  // Will equate sequences if working with mixed nucleotide sets.
+  // treats T and U identically. R and Y weak equivalence with AG and CTU.
+  // N matches any other base weakly
+  // 
   static final int[][] DNA =
   {
-  { 10, -8, -8, -8, 1, 0, 0, 0, 0, 0, 1 }, // C
-      { -8, 10, -8, -8, 1, 0, 0, 0, 0, 0, 1 }, // T
-      { -8, -8, 10, -8, 1, 0, 0, 0, 0, 0, 1 }, // A
-      { -8, -8, -8, 10, 1, 0, 0, 0, 0, 0, 1 }, // G
-      { 1, 1, 1, 1, 10, 0, 0, 0, 0, 0, 1 }, // -
-      { 1, 1, 1, 1, 1, 10, 0, 0, 0, 0, 1 }, // -
-      { 1, 1, 1, 1, 1, 0, 10, 0, 0, 0, 1 }, // -
-      { 1, 1, 1, 1, 1, 0, 0, 10, 0, 0, 1 }, // -
-      { 1, 1, 1, 1, 1, 0, 0, 0, 10, 0, 1 }, // -
-      { 1, 1, 1, 1, 1, 0, 0, 0, 0, 10, 1 }, // -
-      { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, // -
+      { 10, -8, -8, -8, -8, 1,  1, -8,  1,  1, 1 }, // C
+      { -8, 10, -8, -8, 10, 1,  1, -8,  1,  1, 1 }, // T
+      { -8, -8, 10, -8, -8, 1,  1,  1, -8,  1, 1 }, // A
+      { -8, -8, -8, 10, -8, 1,  1,  1, -8,  1, 1 }, // G
+      { -8, 10, -8, -8, 10, 1,  1, -8,  1,  1, 1 }, // U
+      {  1,  1,  1,  1,  1, 10, 0,  0,  0,  1, 1 }, // I
+      {  1,  1,  1,  1,  1, 0, 10,  0,  0,  1, 1 }, // X
+      { -8, -8,  1,  1, -8, 0,  0, 10,  0,  1, 1 }, // R
+      {  1,  1, -8, -8,  1, 0,  0,  0, 10,  1, 1 }, // Y
+      {  1,  1,  1,  1,  1, 1,  1,  1,  1, 10, 1 }, // N
+      {  1,  1,  1,  1,  1, 1,  1,  1,  1,  1, 1 }, // -
   };
-  /**
+/**
    * register matrices in list
    */
   static
@@ -594,6 +609,7 @@ public class ResidueProperties
     scoreMatrices.put("BLOSUM62", new ScoreMatrix("BLOSUM62", BLOSUM62, 0));
     scoreMatrices.put("PAM250", new ScoreMatrix("PAM250", PAM250, 0));
     scoreMatrices.put("DNA", new ScoreMatrix("DNA", DNA, 1));
+    
   }
 
   public static final Color[] pidColours =