Merge branch 'spikes/mungo' into trialMerge
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Mon, 5 Feb 2018 09:54:10 +0000 (09:54 +0000)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Mon, 5 Feb 2018 09:54:10 +0000 (09:54 +0000)
Conflicts:
src/jalview/analysis/AlignmentUtils.java
test/jalview/analysis/AlignmentUtilsTests.java

1  2 
src/jalview/analysis/AlignmentUtils.java
test/jalview/analysis/AlignmentUtilsTests.java

@@@ -2430,11 -2430,14 +2430,11 @@@ public class AlignmentUtil
          {
            for (String base : alleles.split(","))
            {
 -            if (!base1.equalsIgnoreCase(base))
 +            if (!base1.equals(base))
              {
 -              String codon = base.toUpperCase() + base2.toLowerCase()
 -                      + base3.toLowerCase();
 -              String canonical = base1.toUpperCase() + base2.toLowerCase()
 -                      + base3.toLowerCase();
 +              String codon = base + base2 + base3;
                if (addPeptideVariant(peptide, peptidePos, residue, var,
 -                      codon, canonical))
 +                      codon))
                {
                  count++;
                }
          {
            for (String base : alleles.split(","))
            {
 -            if (!base2.equalsIgnoreCase(base))
 +            if (!base2.equals(base))
              {
 -              String codon = base1.toLowerCase() + base.toUpperCase()
 -                      + base3.toLowerCase();
 -              String canonical = base1.toLowerCase() + base2.toUpperCase()
 -                      + base3.toLowerCase();
 +              String codon = base1 + base + base3;
                if (addPeptideVariant(peptide, peptidePos, residue, var,
 -                      codon, canonical))
 +                      codon))
                {
                  count++;
                }
          {
            for (String base : alleles.split(","))
            {
 -            if (!base3.equalsIgnoreCase(base))
 +            if (!base3.equals(base))
              {
 -              String codon = base1.toLowerCase() + base2.toLowerCase()
 -                      + base.toUpperCase();
 -              String canonical = base1.toLowerCase() + base2.toLowerCase()
 -                      + base3.toUpperCase();
 +              String codon = base1 + base2 + base;
                if (addPeptideVariant(peptide, peptidePos, residue, var,
 -                      codon, canonical))
 +                      codon))
                {
                  count++;
                }
    }
  
    /**
-    * Helper method that adds a peptide variant feature, provided the given codon
-    * translates to a value different to the current residue (is a non-synonymous
-    * variant). ID and clinical_significance attributes of the dna variant (if
-    * present) are copied to the new feature.
+    * Helper method that adds a peptide variant feature. ID and
+    * clinical_significance attributes of the dna variant (if present) are copied
+    * to the new feature.
     * 
     * @param peptide
     * @param peptidePos
     * @param residue
     * @param var
     * @param codon
     * @return true if a feature was added, else false
     */
    static boolean addPeptideVariant(SequenceI peptide, int peptidePos,
 -          String residue, DnaVariant var, String codon, String canonical)
 +          String residue, DnaVariant var, String codon)
    {
      /*
       * get peptide translation of codon e.g. GAT -> D
      {
        return false;
      }
 -    String desc = canonical + "/" + codon;
 +    String desc = codon;
      String featureType = "";
      if (trans.equals(residue))
      {
@@@ -2193,13 -2193,13 +2193,13 @@@ public class AlignmentUtilsTest
      assertEquals(1, sf.getBegin());
      assertEquals(1, sf.getEnd());
      assertEquals("stop_gained", sf.getType());
 -    assertEquals("Aaa/Taa", sf.getDescription());
 +    assertEquals("TAA", sf.getDescription());
      assertEquals("var3", sf.getValue("ID"));
      assertEquals("Bad", sf.getValue("clinical_significance"));
      assertEquals("ID=var3;clinical_significance=Bad", sf.getAttributes());
      assertEquals(1, sf.links.size());
      assertEquals(
 -            "Aaa/Taa var3|http://www.ensembl.org/Homo_sapiens/Variation/Summary?v=var3",
 +            "TAA var3|http://www.ensembl.org/Homo_sapiens/Variation/Summary?v=var3",
              sf.links.get(0));
      assertEquals(dbSnp, sf.getFeatureGroup());
  
      assertEquals(1, sf.getBegin());
      assertEquals(1, sf.getEnd());
      assertEquals("synonymous_variant", sf.getType());
 -    assertEquals("aaA/aaG", sf.getDescription());
 +    assertEquals("AAG", sf.getDescription());
+     assertEquals("var4", sf.getValue("ID"));
+     assertEquals("None", sf.getValue("clinical_significance"));
+     assertEquals("ID=var4;clinical_significance=None", sf.getAttributes());
+     assertEquals(1, sf.links.size());
+     assertEquals(
 -            "aaA/aaG var4|http://www.ensembl.org/Homo_sapiens/Variation/Summary?v=var4",
++            "AAG var4|http://www.ensembl.org/Homo_sapiens/Variation/Summary?v=var4",
++            sf.links.get(0));
++    assertEquals(cosmic, sf.getFeatureGroup());
++
++    // AAA -> AAG synonymous
++    sf = sfs.get(4);
++    assertEquals(1, sf.getBegin());
++    assertEquals(1, sf.getEnd());
++    assertEquals("synonymous_variant", sf.getType());
++    assertEquals("AAG", sf.getDescription());
 +    assertEquals("var4", sf.getValue("ID"));
 +    assertEquals("None", sf.getValue("clinical_significance"));
 +    assertEquals("ID=var4;clinical_significance=None", sf.getAttributes());
 +    assertEquals(1, sf.links.size());
 +    assertEquals(
 +            "AAG var4|http://www.ensembl.org/Homo_sapiens/Variation/Summary?v=var4",
              sf.links.get(0));
      assertEquals(cosmic, sf.getFeatureGroup());
  
      assertEquals(2, sf.getBegin());
      assertEquals(2, sf.getEnd());
      assertEquals("synonymous_variant", sf.getType());
 -    assertEquals("ttT/ttC", sf.getDescription());
 +    assertEquals("TTC", sf.getDescription());
      assertEquals("var6", sf.getValue("ID"));
      assertNull(sf.getValue("clinical_significance"));
      assertEquals("ID=var6", sf.getAttributes());
      assertEquals(1, sf.links.size());
      assertEquals(
 -            "ttT/ttC var6|http://www.ensembl.org/Homo_sapiens/Variation/Summary?v=var6",
 +            "TTC var6|http://www.ensembl.org/Homo_sapiens/Variation/Summary?v=var6",
              sf.links.get(0));
      assertEquals(dbSnp, sf.getFeatureGroup());