def test_change_chroms_mismatch(self): self.exon.add_sequence(self.test_seq) variant1 = veffects.VariantRecord("2L", 118, "T", "C", 118) variant2 = veffects.VariantRecord("3L", 118, "T", "C", 118) variants = [variant1, variant2] self.assertRaises(ValueError, self.exon.add_sequence, variants)
def test_overlapping_variant_error(self): self.exon.add_sequence(self.test_seq) variant1 = veffects.VariantRecord("2L", 117, "AT", "A", 118) variant2 = veffects.VariantRecord("2L", 115, "GAATA", "G", 119) variants = [variant1, variant2] self.exon.variants = variants self.assertRaises(veffects.OverlappingVariantError, self.exon.change)
def test_multi_base_ref_alelle(self): self.exon.add_sequence(self.test_seq) variant1 = veffects.VariantRecord("2L", 118, "TA", "AA", 119) variant2 = veffects.VariantRecord("2L", 127, "ATA", "CTA", 129) variants = [variant1, variant2] self.exon.variants = variants self.exon.change() test_changed_seq = "CGATATGAAAATGACCAGCTATGAGT" self.assertEqual(self.exon.changed_sequence, test_changed_seq)
def test_change_allele_out_of_bounds(self): self.exon.add_sequence(self.test_seq) variant1 = veffects.VariantRecord("2L", 4, "G", "GGGG", 4) self.assertRaises(ValueError, self.exon.add_sequence, [variant1])
def test_change_ref_alleles_mismatch(self): self.exon.add_sequence(self.test_seq) variant1 = veffects.VariantRecord("2L", 131, "GGG", "G", 133) self.assertRaises(ValueError, self.exon.add_sequence, [variant1])
def test_change(self): self.exon.add_sequence(self.test_seq) variant1 = veffects.VariantRecord("2L", 110, "GA", "G", 111) variant2 = veffects.VariantRecord("2L", 118, "T", "C", 118) variant3 = veffects.VariantRecord("2L", 125, "A", "AAAAAAA", 125) variant4 = veffects.VariantRecord("2L", 131, "GAG", "G", 133) variants = [variant1, variant2, variant3, variant4] self.exon.variants = variants test_changed_seq = "CGTATGAACATGACCAAAAAAAGATATGT" self.exon.change() self.assertEqual(self.exon.changed_sequence, test_changed_seq)
def setUp(self): test_seq = "ATGCTTCATCAGCAGCAGCCCGGGGCCTAG" self.transcript = veffects.Transcript("2L", test_seq) exon1 = veffects.ExonSequence("2L", "foo", 1, "+", 5, 18) #14 exon2 = veffects.ExonSequence("2L", "foo", 2, "+", 50, 55) #6 exon3 = veffects.ExonSequence("2L", "foo", 3, "+", 70, 74) #5 exon4 = veffects.ExonSequence("2L", "foo", 4, "+", 103, 107) #5 self.exons = [exon1, exon2, exon3, exon4] variant1 = veffects.VariantRecord("2L", 15, "A", "AA", 15) variant2 = veffects.VariantRecord("2L", 16, "GCA", "G", 18) variant3 = veffects.VariantRecord("2L", 52, "A", "AAAAA", 52) variant4 = veffects.VariantRecord("2L", 70, "CGG", "C", 72) self.variants = [variant1, variant2, variant3, variant4]
def test_catches_overlapping_variants(self): ##pass a set of variants that overlaps an exon boundary ##and make sure a VariantOverlapsExonBoundaryError is raised for exon in self.exons: self.transcript.add_exon(exon) variant5 = veffects.VariantRecord("2L", 4, "CAT", "C", 6) self.assertRaises(veffects.VariantCrossesExonBoundaryError, self.transcript.check_for_overlapping_variants, [variant5])