def test_Two_Insertions_Consecutive(self): # Two insertions at position 1 and 2. data = "T[-/A][-/G]GACACGTACGT" parser = SnpSequence(data) snps = parser.snps() expected = [Snp('.1insA'), Snp('.2insG')] self.assertEqual(snps, expected)
def test_Two_Substitutions(self): # Substitution at position 5 and 6. data = "TGACA[C/G][G/A]TACGT" parser = SnpSequence(data) snps = parser.snps() expected = [Snp('.5C>G'), Snp('.6G>A')] self.assertEqual(snps, expected)
def test_del_and_ins(self): # Deletion at position 0 and insertion of 'T' at position 4. data = ">Allele1\nTGAC-ACGTACGT\n>Allele2\n-GACTACGTACGT" parser = TwoAlleles(data) snps = parser.snps() expected = [Snp('.0del'), Snp('.4insT')] expected[0].ref_nucleotide = 'T' self.assertEqual(snps, expected)
def test_Two_Insertions(self): # Allele1 = TGACACGTACGT # Insertion of 'A' at position 1 and 'G' at position 8. data = ">Allele1\nT-GACACG-TACGT\n>Allele2\nTAGACACGGTACGT" parser = TwoAlleles(data) snps = parser.snps() expected = [Snp('.1insA'), Snp('.8insG')] self.assertEqual(snps, expected)
def test_Two_Insertions(self): # Allele1: TGACACGTACGT # Insertion of 'A' at position 1 and # Insertion of 'G' at position 6. data = "T[-/A]GACA[-/G]CGTACGT" parser = SnpSequence(data) snps = parser.snps() expected = [Snp('.1insA'), Snp('.6insG')] self.assertEqual(snps, expected)
def test_Two_Deletions(self): # Two deletions at positions 0 and 6. data = "[T/-]GACAC[G/-]TACGT" parser = SnpSequence(data) snps = parser.snps() expected = [Snp('.0del'), Snp('.6del')] expected[0].ref_nucleotide = 'T' expected[1].ref_nucleotide = 'G' self.assertEqual(snps, expected)
def test_Two_Deletions(self): # Two deletions at positions 9 and 11. data = ">Allele1\nTGACACGTACGT\n>Allele2\nTGACACGTA-G-" parser = TwoAlleles(data) snps = parser.snps() expected = [Snp('.9del'), Snp('.11del')] expected[0].ref_nucleotide = 'C' expected[1].ref_nucleotide = 'T' self.assertEqual(snps, expected)
def test_rev_comp(self): data = """>H26A region TGCGATGACGGAAAAAAAAAGGTGGTGGGAGTATGACGAAAATAAACCAGCGAAAATTAACCGCGCGGACTATTCATCAAGTCGTCCATTAGGAGTAGAGATTTTCACAACCCAATTTGCCTATTTTATTTA >H26A region TGCGATGACGGAAAAAAAAAGGTGGTGGGAGTATGACGA-AATAAACCAGCGAAAATTAACCGCGCGGACTATTCATCAAGTCGTCCATTAGGAGTAGAGATTTTCACAACCCAATTTGCCTATTTTATTTA""" parser = TwoAlleles(data) snp = parser.snps()[0] expected = Snp(descriptor='.39del') expected.ref_nucleotide = 'A' self.assertEqual(expected, snp)
def test_single_blast_parser(self): sequence = """ Query 1 TGCGATGACGGAAAAAAAAAGGTGGTGGGAGTATGACGAAAATAAACCAGCGAAAATTAA 60 |||||||| ||||||||||||| ||||||||||||||||||||||||||||||||||||| Sbjct 528388742 TGCGATGA-GGAAAAAAAAAGGCGGTGGGAGTATGACGAAAATAAACCAGCGAAAATTAA 528388684 Query 61 CCG-GCGGACTATTCACCAAGTCGTCCATTAGGAGTAGAGAT 102 ||| |||||||||||||||||||||||||||||||||||||| Sbjct 528388683 CCGTGCGGACTATTCACCAAGTCGTCCATTAGGAGTAGAGAT 528388642""" parser = SingleBlastParser(sequence) snps = parser.snps() expected = [Snp('.8del'), Snp('.22T>C'), Snp('.63insT')] expected[0].ref_nucleotide = 'C' self.assertEqual(expected, snps)
def test_Substitution(self): # Substitution at position 5. data = "TGACA[C/G]GTACGT" parser = SnpSequence(data) snps = parser.snps() expected = [Snp('.5C>G')] self.assertEqual(snps, expected)
def test_One_Insertion(self): # Insertion of 'A' at position 1. data = "T[-/A]GACACGTACGT" parser = SnpSequence(data) snps = parser.snps() expected = [Snp('.1insA')] self.assertEqual(snps, expected)
def test_Substitution(self): # Substitution at position 6: G>C data = ">Allele1\nTGACACGTACGT\n>Allele2\nTGACACCTACGT" parser = TwoAlleles(data) snps = parser.snps() expected = [Snp('.6G>C')] self.assertEqual(snps, expected)
def test_init_one_deletion(self): descriptor = 'NG_012232.1:g.19del' snp = Snp(descriptor) self.assertEqual(snp.prefix, 'NG_012232.1:g.') self.assertEqual(snp.position, 19) self.assertEqual(snp.type, 'deletion') self.assertEqual(snp.ref_nucleotide, '') self.assertEqual(snp.new_nucleotide, '')
def test_init_one_insertion(self): descriptor = 'NC_000023.10:g.32867861insT' snp = Snp(descriptor) self.assertEqual(snp.prefix, 'NC_000023.10:g.') self.assertEqual(snp.position, 32867861) self.assertEqual(snp.type, 'insertion') self.assertEqual(snp.ref_nucleotide, '') self.assertEqual(snp.new_nucleotide, 'T')
def test_init_one_subsitution(self): descriptor = 'NC_000023.10:g.33038255C>A' snp = Snp(descriptor) self.assertEqual(snp.prefix, 'NC_000023.10:g.') self.assertEqual(snp.position, 33038255) self.assertEqual(snp.type, 'substitution') self.assertEqual(snp.ref_nucleotide, 'C') self.assertEqual(snp.new_nucleotide, 'A')
def test_One_Deletion(self): # Deletion at position 9. data = ">Allele1\nTGACACGTACGT\n>Allele2\nTGACACGTA-GT" parser = TwoAlleles(data) snps = parser.snps() expected = [Snp('.9del')] expected[0].ref_nucleotide = 'C' self.assertEqual(snps, expected)
def test_simple_prefix(self): descriptor = '.12C>G' snp = Snp(descriptor) self.assertEqual(snp.prefix, '.')
def test_One_Insertion(self): data = ">Allele1\nT-GACACGTACGT\n>Allele2\nTAGACACGTACGT" parser = TwoAlleles(data) snps = parser.snps() expected = [Snp('.1insA')] self.assertEqual(snps, expected)