public void TestIsRepeat() { // mononucleotide repeats Assert.True(OverlapEvaluator.IsRepeat("AAAAAAA")); Assert.False(OverlapEvaluator.IsRepeat("TAAAAA")); Assert.False(OverlapEvaluator.IsRepeat("AAATAA")); Assert.False(OverlapEvaluator.IsRepeat("AAAAAT")); // dinucleotide repeats Assert.True(OverlapEvaluator.IsRepeat("ATATAT")); Assert.True(OverlapEvaluator.IsRepeat("ATATATA")); Assert.False(OverlapEvaluator.IsRepeat("AATATATA")); Assert.False(OverlapEvaluator.IsRepeat("ATATAATA")); // trinucleotide repeats Assert.True(OverlapEvaluator.IsRepeat("ATGATGATG")); // 3x ATG Assert.True(OverlapEvaluator.IsRepeat("ATGATGATGA")); // 3x ATG + A Assert.True(OverlapEvaluator.IsRepeat("ATGATGATGAT")); // 3x ATG + AT Assert.False(OverlapEvaluator.IsRepeat("ATGATGATGAG")); // 3x ATG + AG Assert.False(OverlapEvaluator.IsRepeat("ATGATGATGTG")); // 3x ATG + TG Assert.True(OverlapEvaluator.IsRepeat("AA")); Assert.False(OverlapEvaluator.IsRepeat("ATC")); Assert.False(OverlapEvaluator.IsRepeat("AT")); Assert.False(OverlapEvaluator.IsRepeat("A")); Assert.True(OverlapEvaluator.IsRepeat("ATA")); }
public void TestSlidingWindow() { // Short overlap, min windowsize var units = OverlapEvaluator.SlideSequence("ATA", 1); // Will survey 3-1 = Up to index 2 positions to get [A,T,A] = [A,T] Assert.Equal(2, units.Count()); // Short overlap, max windowsize var units2 = OverlapEvaluator.SlideSequence("ATAG", 3); // Will survey 4-3 = Up to index 1 positions to get [ATA, TAG] Assert.Equal(2, units2.Count()); // Long overlap, min windowsize var units3 = OverlapEvaluator.SlideSequence("ATTTACGCAGTAGACAGATAAAAA", 1); // [A,T,T] = [A,T] Assert.Equal(2, units3.Count()); // Long overlap, max windowsize var units4 = OverlapEvaluator.SlideSequence("ATGATGATGATGATGATGATGATG", 3); // [ATG,TGA,GAT] Assert.Equal(3, units4.Count()); // Windowsize above maximum allowed Assert.Throws <ArgumentException>(() => OverlapEvaluator.SlideSequence("ATGATGATGATGATGATGATGATG", 4)); }
public void TestIsRepeat() { // mononucleotide repeats Assert.True(OverlapEvaluator.IsRepeat("AAAAAAA")); Assert.False(OverlapEvaluator.IsRepeat("TAAAAA")); Assert.False(OverlapEvaluator.IsRepeat("AAATAA")); Assert.False(OverlapEvaluator.IsRepeat("AAAAAT")); // dinucleotide repeats Assert.True(OverlapEvaluator.IsRepeat("ATATAT")); Assert.True(OverlapEvaluator.IsRepeat("ATATATA")); Assert.False(OverlapEvaluator.IsRepeat("AATATATA")); Assert.False(OverlapEvaluator.IsRepeat("ATATAATA")); // trinucleotide repeats Assert.True(OverlapEvaluator.IsRepeat("ATGATGATG")); // 3x ATG Assert.True(OverlapEvaluator.IsRepeat("ATGATGATGA")); // 3x ATG + A Assert.True(OverlapEvaluator.IsRepeat("ATGATGATGAT")); // 3x ATG + AT Assert.False(OverlapEvaluator.IsRepeat("ATGATGATGAG")); // 3x ATG + AG Assert.False(OverlapEvaluator.IsRepeat("ATGATGATGTG")); // 3x ATG + TG Assert.True(OverlapEvaluator.IsRepeat("TGATGATGATG")); // 3x ATG, starts with end of unit Assert.True(OverlapEvaluator.IsRepeat("GATGATGATG")); // 3x ATG, starts with end of unit Assert.True(OverlapEvaluator.IsRepeat("GATGATGATGA")); // 3x ATG, partials on either side Assert.True(OverlapEvaluator.IsRepeat("AA")); Assert.False(OverlapEvaluator.IsRepeat("ATC")); Assert.False(OverlapEvaluator.IsRepeat("AT")); Assert.False(OverlapEvaluator.IsRepeat("A")); Assert.True(OverlapEvaluator.IsRepeat("ATA")); Assert.True(OverlapEvaluator.IsRepeat("ATAT")); Assert.False(OverlapEvaluator.IsRepeat("ATGCAATGCA")); // Unit too long }