Esempio n. 1
0
    def test_build_read_transformations(self):
        primer_pair = clipper.PrimerPair(target_id="target_1",
                                         chrom="chr42",
                                         sense_primer_region=(100,102),
                                         antisense_primer_region=(148,150))
        read1 = MockRead(query_name="read1-sense",
                        is_positive_strand=True,
                        reference_name="chr42",
                        reference_start=100,
                        reference_end=150,
                        cigarstring="10M",
                        is_paired=True,
                        is_unmapped=False,
                        key=111)
        read2 = MockRead(query_name="read2-antisense",
                        is_positive_strand=False,
                        reference_name="chr42",
                        reference_start=140,
                        reference_end=150,
                        cigarstring="10M",
                        is_paired=False,
                        is_unmapped=False,
                        key=222)
        read3 = MockRead(query_name="read3",
                        is_positive_strand=True,
                        reference_name="chr42",
                        reference_start=333,
                        reference_end=343,
                        cigarstring="10M",
                        is_paired=True,
                        is_unmapped=False,
                        key=333)
        filter_builder = lambda transform: []

        read_iter = iter([read1, read2, read3])
        actual_read_transforms = _build_read_transformations(read_iter,
                                                             filter_builder)
        self.assertEquals(3, len(actual_read_transforms))
        filter_builder=lambda x: []
        transform1 = ReadTransformation(read1,
                                        primer_pair,
                                        MockCigarUtil(reference_start=102,
                                                      cigar="2S8M"),
                                        filter_builder)
        transform2 = ReadTransformation(read2,
                                        primer_pair,
                                        MockCigarUtil(reference_start=140,
                                                      cigar="8M2S"),
                                        filter_builder)
        transform3 = ReadTransformation(read3,
                                        clipper.PrimerPair.NULL,
                                        MockCigarUtil(reference_start=333,
                                                      cigar="10M"),
                                        filter_builder)
        self.assertEquals(transform1,
                          actual_read_transforms[111])
        self.assertEquals(transform2,
                          actual_read_transforms[222])
        self.assertEquals(transform3,
                          actual_read_transforms[333])
Esempio n. 2
0
    def test_build_read_transformations(self):
        primer_pair = clipper.PrimerPair(target_id="target_1",
                                         chrom="chr42",
                                         sense_primer_region=(100, 102),
                                         antisense_primer_region=(148, 150))
        read1 = MockRead(query_name="read1-sense",
                         is_positive_strand=True,
                         reference_name="chr42",
                         reference_start=100,
                         reference_end=150,
                         cigarstring="10M",
                         is_paired=True,
                         is_unmapped=False,
                         key=111)
        read2 = MockRead(query_name="read2-antisense",
                         is_positive_strand=False,
                         reference_name="chr42",
                         reference_start=140,
                         reference_end=150,
                         cigarstring="10M",
                         is_paired=False,
                         is_unmapped=False,
                         key=222)
        read3 = MockRead(query_name="read3",
                         is_positive_strand=True,
                         reference_name="chr42",
                         reference_start=333,
                         reference_end=343,
                         cigarstring="10M",
                         is_paired=True,
                         is_unmapped=False,
                         key=333)
        filter_builder = lambda transform: []

        read_iter = iter([read1, read2, read3])
        actual_read_transforms = _build_read_transformations(
            read_iter, filter_builder)
        self.assertEquals(3, len(actual_read_transforms))
        filter_builder = lambda x: []
        transform1 = ReadTransformation(
            read1, primer_pair, MockCigarUtil(reference_start=102,
                                              cigar="2S8M"), filter_builder)
        transform2 = ReadTransformation(
            read2, primer_pair, MockCigarUtil(reference_start=140,
                                              cigar="8M2S"), filter_builder)
        transform3 = ReadTransformation(
            read3, clipper.PrimerPair.NULL,
            MockCigarUtil(reference_start=333, cigar="10M"), filter_builder)
        self.assertEquals(transform1, actual_read_transforms[111])
        self.assertEquals(transform2, actual_read_transforms[222])
        self.assertEquals(transform3, actual_read_transforms[333])
Esempio n. 3
0
    def test_build_read_transformations2_addsFilters(self):
        clipper.PrimerPair(target_id="target_1",
                           chrom="chr42",
                           sense_primer_region=(100, 102),
                           antisense_primer_region=(148, 150))
        clipper.PrimerPair(target_id="target_2",
                           chrom="chr42",
                           sense_primer_region=(200, 202),
                           antisense_primer_region=(248, 250))
        read1 = MockRead(query_name="readA",
                         is_positive_strand=True,
                         reference_name="chr42",
                         reference_start=100,
                         reference_end=150,
                         cigarstring="50M",
                         is_paired=True,
                         is_unmapped=False,
                         key=111)
        read2 = MockRead(query_name="readB",
                         is_positive_strand=False,
                         reference_name="chr42",
                         reference_start=200,
                         reference_end=250,
                         cigarstring="50M",
                         is_paired=False,
                         is_unmapped=False,
                         key=222)
        read_iter = iter([read1, read2])
        filter_builder = lambda transform: [
            str(transform.reference_start), transform.primer_pair.target_id
        ]

        actual_read_transforms = _build_read_transformations(
            read_iter, filter_builder)
        self.assertEquals(2, len(actual_read_transforms))
        self.assertEquals(("102", "target_1"),
                          actual_read_transforms[111].filters)
        self.assertEquals(("202", "target_2"),
                          actual_read_transforms[222].filters)
Esempio n. 4
0
    def test_build_read_transformations2_addsFilters(self):
        clipper.PrimerPair(target_id="target_1",
                           chrom="chr42",
                           sense_primer_region=(100,102),
                           antisense_primer_region=(148,150))
        clipper.PrimerPair(target_id="target_2",
                           chrom="chr42",
                           sense_primer_region=(200,202),
                           antisense_primer_region=(248,250))
        read1 = MockRead(query_name="readA",
                        is_positive_strand=True,
                        reference_name="chr42",
                        reference_start=100,
                        reference_end=150,
                        cigarstring="50M",
                        is_paired=True,
                        is_unmapped=False,
                        key=111)
        read2 = MockRead(query_name="readB",
                        is_positive_strand=False,
                        reference_name="chr42",
                        reference_start=200,
                        reference_end=250,
                        cigarstring="50M",
                        is_paired=False,
                        is_unmapped=False,
                        key=222)
        read_iter = iter([read1, read2])
        filter_builder = lambda transform: [str(transform.reference_start),
                                            transform.primer_pair.target_id]

        actual_read_transforms = _build_read_transformations(read_iter,
                                                             filter_builder)
        self.assertEquals(2, len(actual_read_transforms))
        self.assertEquals(("102", "target_1"),
                          actual_read_transforms[111].filters)
        self.assertEquals(("202", "target_2"),
                          actual_read_transforms[222].filters)