@@ -101,6 +101,40 @@ public void testGetPair() {
101101 assertEquals (alignment .getPair ().toString (), String .format ("ARND%n-RDG%n" ));
102102 assertEquals (self .getPair ().toString (), String .format ("ARND%nARND%n" ));
103103 }
104+ /**
105+ * @author Daniel Cameron
106+ */
107+ @ Test
108+ public void should_align_shorter_query () {
109+ DNASequence query = new DNASequence ("A" , AmbiguityDNACompoundSet .getDNACompoundSet ());
110+ DNASequence target = new DNASequence ("AT" , AmbiguityDNACompoundSet .getDNACompoundSet ());
111+ GuanUberbacher <DNASequence , NucleotideCompound > aligner = new GuanUberbacher <DNASequence , NucleotideCompound >(query , target , new SimpleGapPenalty ((short )5 , (short )2 ), SubstitutionMatrixHelper .getNuc4_4 ());
112+ assertEquals (String .format ("A-%nAT%n" ), aligner .getPair ().toString ());
113+ }
114+ /**
115+ * @author Daniel Cameron
116+ */
117+ @ Test
118+ public void should_align_shorter_target () {
119+ DNASequence query = new DNASequence ("AT" , AmbiguityDNACompoundSet .getDNACompoundSet ());
120+ DNASequence target = new DNASequence ("A" , AmbiguityDNACompoundSet .getDNACompoundSet ());
121+ GuanUberbacher <DNASequence , NucleotideCompound > aligner = new GuanUberbacher <DNASequence , NucleotideCompound >(query , target , new SimpleGapPenalty ((short )5 , (short )2 ), SubstitutionMatrixHelper .getNuc4_4 ());
122+ assertEquals (String .format ("AT%nA-%n" ), aligner .getPair ().toString ());
123+ }
124+ /**
125+ * @author Daniel Cameron
126+ */
127+ @ Test
128+ public void should_align_multiple_cuts () {
129+ DNASequence query = new DNASequence ("AA" , AmbiguityDNACompoundSet .getDNACompoundSet ());
130+ DNASequence target = new DNASequence ("AATT" , AmbiguityDNACompoundSet .getDNACompoundSet ());
131+ GuanUberbacher <DNASequence , NucleotideCompound > aligner = new GuanUberbacher <DNASequence , NucleotideCompound >(query , target , new SimpleGapPenalty ((short )5 , (short )2 ), SubstitutionMatrixHelper .getNuc4_4 ());
132+ aligner .setCutsPerSection (2 );
133+ assertEquals (String .format ("AA--%nAATT%n" ), aligner .getPair ().toString ());
134+ }
135+ /**
136+ * @author Daniel Cameron
137+ */
104138 @ Test
105139 public void testAnchoredDNAAlignment () {
106140 DNASequence query = new DNASequence ( "ACGTAACCGGTT" , AmbiguityDNACompoundSet .getDNACompoundSet ());
@@ -109,6 +143,7 @@ public void testAnchoredDNAAlignment() {
109143 int [] anchors = new int [query .getLength ()];
110144 for (int i = 0 ; i < anchors .length ; i ++) anchors [i ] = -1 ;
111145 anchors [0 ] = 1 ;
146+ aligner .setCutsPerSection (1000 );
112147 AlignedSequence <DNASequence , NucleotideCompound > aligned = aligner .getPair ().getQuery ();
113148 assertEquals (1 , (int )aligned .getStart ().getPosition ());
114149 assertEquals (13 , (int )aligned .getEnd ().getPosition ());
0 commit comments