Exemple #1
0
        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"));
        }
Exemple #2
0
        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
        }