JAL-845 further code/tests/refactoring
[jalview.git] / test / jalview / datamodel / AlignmentTest.java
index dbd063c..3b3d926 100644 (file)
@@ -105,6 +105,35 @@ public class AlignmentTest
     assertFalse(iter.hasNext());
   }
 
+  @Test
+  public void testDeleteAllAnnotations_includingAutocalculated()
+  {
+    AlignmentAnnotation aa = new AlignmentAnnotation("Consensus",
+            "Consensus", 0.5);
+    aa.autoCalculated = true;
+    al.addAnnotation(aa);
+    AlignmentAnnotation[] anns = al.getAlignmentAnnotation();
+    assertEquals("Wrong number of annotations before deleting", 4,
+            anns.length);
+    al.deleteAllAnnotations(true);
+    assertEquals("Not all deleted", 0, al.getAlignmentAnnotation().length);
+  }
+
+  @Test
+  public void testDeleteAllAnnotations_excludingAutocalculated()
+  {
+    AlignmentAnnotation aa = new AlignmentAnnotation("Consensus",
+            "Consensus", 0.5);
+    aa.autoCalculated = true;
+    al.addAnnotation(aa);
+    AlignmentAnnotation[] anns = al.getAlignmentAnnotation();
+    assertEquals("Wrong number of annotations before deleting", 4,
+            anns.length);
+    al.deleteAllAnnotations(false);
+    assertEquals("Not just one annotation left", 1,
+            al.getAlignmentAnnotation().length);
+  }
+
   /**
    * Tests for realigning as per a supplied alignment: Dna as Dna.
    * 
@@ -134,7 +163,7 @@ public class AlignmentTest
     acf.addMap(al2.getSequenceAt(1), al1.getSequenceAt(1), ml);
     al1.addCodonFrame(acf);
 
-    al2.alignAs(al1);
+    ((Alignment) al2).alignAs(al1, false, true);
     assertEquals("GC-TC--GUC-GTA-CT", al2.getSequenceAt(0)
             .getSequenceAsString());
     assertEquals("-GG-GTC--AGG---CAGT", al2.getSequenceAt(1)
@@ -154,7 +183,7 @@ public class AlignmentTest
     String before0 = al2.getSequenceAt(0).getSequenceAsString();
     String before1 = al2.getSequenceAt(1).getSequenceAsString();
 
-    al2.alignAs(al1);
+    ((Alignment) al2).alignAs(al1, false, true);
     assertEquals(before0, al2.getSequenceAt(0).getSequenceAsString());
     assertEquals(before1, al2.getSequenceAt(1).getSequenceAsString());
   }
@@ -180,38 +209,13 @@ public class AlignmentTest
     acf.addMap(al1.getSequenceAt(1), al2.getSequenceAt(1), ml);
     al2.addCodonFrame(acf);
 
-    al1.alignAs(al2);
-    assertEquals("AC-G---G--CUC-CA------A-CT", al1.getSequenceAt(0)
-            .getSequenceAsString());
-    assertEquals("---CG-T---TA--ACG---A---AGT", al1.getSequenceAt(1)
-            .getSequenceAsString());
-  }
-
-  /**
-   * Test aligning cdna (with introns) as per protein alignment.
-   * 
-   * @throws IOException
-   */
-  @Test
-  public void testAlignAs_cdnaAsProteinWithIntrons() throws IOException
-  {
     /*
-     * Load alignments and add mappings for cDNA to protein
+     * Realign DNA; currently keeping existing gaps in introns only
      */
-    AlignmentI al1 = loadAlignment(CDNA_SEQS_1, "FASTA");
-    AlignmentI al2 = loadAlignment(AA_SEQS_1, "FASTA");
-    AlignedCodonFrame acf = new AlignedCodonFrame();
-    MapList ml = new MapList(new int[]
-    { 1, 12 }, new int[]
-    { 1, 4 }, 3, 1);
-    acf.addMap(al1.getSequenceAt(0), al2.getSequenceAt(0), ml);
-    acf.addMap(al1.getSequenceAt(1), al2.getSequenceAt(1), ml);
-    al2.addCodonFrame(acf);
-
-    al1.alignAs(al2);
-    assertEquals("AC-G---G--CUC-CA------A-CT", al1.getSequenceAt(0)
+    ((Alignment) al1).alignAs(al2, false, true);
+    assertEquals("ACG---GCUCCA------ACT", al1.getSequenceAt(0)
             .getSequenceAsString());
-    assertEquals("---CG-T---TA--ACG---A---AGT", al1.getSequenceAt(1)
+    assertEquals("---CGT---TAACGA---AGT", al1.getSequenceAt(1)
             .getSequenceAsString());
   }
 
@@ -252,7 +256,8 @@ public class AlignmentTest
     ((Alignment) al1).alignAs(al2, false, false);
     assertEquals("---AAagG------GCCcTTT", al1.getSequenceAt(0)
             .getSequenceAsString());
-    assertEquals("cCCGgg---TTT------AAA", al1.getSequenceAt(1)
+    // note 1 gap in protein corresponds to 'gg-' in DNA (3 positions)
+    assertEquals("cCCGgg-TTT------AAA", al1.getSequenceAt(1)
             .getSequenceAsString());
 
     /*
@@ -266,7 +271,7 @@ public class AlignmentTest
     // assumption: we include 'the greater of' protein/dna gap lengths, not both
     assertEquals("---A-Aa-gG------GCC-cT-TT", al1.getSequenceAt(0)
             .getSequenceAsString());
-    assertEquals("c--CCGgg---TT--T------AA-A", al1.getSequenceAt(1)
+    assertEquals("c--CCGgg-TT--T------AA-A", al1.getSequenceAt(1)
             .getSequenceAsString());
   }
 }