Merge branch 'develop' into feature/JAL-4159_pasimap
[jalview.git] / test / jalview / analysis / AlignSeqTest.java
index 85f619b..03bdd0b 100644 (file)
@@ -52,13 +52,14 @@ public class AlignSeqTest
     assertEquals(AlignSeq.extractGaps(" -", " AC-G.T"), "ACG.T");
     assertEquals(AlignSeq.extractGaps(" -.", " AC-G.T ."), "ACGT");
     assertEquals(AlignSeq.extractGaps("-", " AC-G.T"), " ACG.T");
+    assertEquals(AlignSeq.extractGaps("-. ", " -. .-"), "");
   }
 
   @Test(groups = { "Functional" })
   public void testIndexEncode_nucleotide()
   {
-    AlignSeq as = new AlignSeq(new Sequence("s1", "TTAG"), new Sequence(
-            "s2", "ACGT"), AlignSeq.DNA);
+    AlignSeq as = new AlignSeq(new Sequence("s1", "TTAG"),
+            new Sequence("s2", "ACGT"), AlignSeq.DNA);
     int[] expected = new int[] { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,
         7, 7, 8, 8, 9, 9, -1, -1, 10, -1 };
     String s = "aAcCgGtTuUiIxXrRyYnN .-?";
@@ -68,11 +69,23 @@ public class AlignSeqTest
   @Test(groups = { "Functional" })
   public void testIndexEncode_peptide()
   {
-    AlignSeq as = new AlignSeq(new Sequence("s1", "PFY"), new Sequence(
-            "s2", "RQW"), AlignSeq.PEP);
-    int[] expected = new int[] { 0, 0, 1, 1, 2, 2, 21, 21, 22, 22, -1, 24,
-        -1, 23, -1 };
+    AlignSeq as = new AlignSeq(new Sequence("s1", "PFY"),
+            new Sequence("s2", "RQW"), AlignSeq.PEP);
+    int[] expected = new int[] { 0, 0, 1, 1, 2, 2, 21, 21, 22, 22, -1, 23,
+        -1, -1, -1 };
     String s = "aArRnNzZxX *.-?";
     assertArrayEquals(expected, as.indexEncode(s));
   }
+  @Test(groups= {"Functional"})
+  public void testGlobalAlignment()
+  {
+    String seq1="CAGCTAGCG",seq2="CCATACGA";
+    Sequence sq1=new Sequence("s1",seq1),sq2=new Sequence("s2",seq2);
+    // AlignSeq doesn't report the unaligned regions at either end of sequences
+    //String alseq1="-CAGCTAGCG-",alseq2="CCA--TA-CGA";
+    // so we check we have the aligned segment correct only
+    String alseq1="CAGCTAGCG",alseq2="CA--TA-CG";
+    AlignSeq as = AlignSeq.doGlobalNWAlignment(sq1,sq2,AlignSeq.DNA);
+    assertEquals(as.getAStr1()+"\n"+as.getAStr2(),alseq1+"\n"+alseq2);
+  }
 }