Example #1
0
    def test_main(self):
        primer_file_content = \
'''Customer TargetID|Chr|Sense Start|Antisense Start|Sense Sequence|Antisense Sequence
primer1|1|101|200|AAGG|CCTT
primer2|2|501|600|CGCG|ATAT
'''.replace("|", "\t")
        CIGAR_10M = ((0,10),)
        readA1 = build_read(query_name = "readA",
                            query_sequence="AGCTTAGCTA",
                            flag = 99,
                            reference_id = 0,
                            reference_start = 100,
                            cigar = CIGAR_10M,
                            next_reference_id =0,
                            next_reference_start=190,
                            template_length=80)
        readA2 = build_read(query_name = "readA",
                            query_sequence="AGCTTAGCTA",
                            flag = 147,
                            reference_id = 0,
                            reference_start = 190,
                            cigar = CIGAR_10M,
                            next_reference_id = 0,
                            next_reference_start=100,
                            template_length=80)
        readB1 = build_read(query_name = "readB",
                            query_sequence="AGCTTAGCTA",
                            flag = 0,
                            reference_id = 1,
                            reference_start = 242,
                            cigar = CIGAR_10M,
                            next_reference_id = 0,
                            next_reference_start=0,
                            template_length=0)

        with TempDirectory() as input_dir, TempDirectory() as output_dir:
            input_bam_filename = os.path.join(input_dir.path, "input.bam")
            output_bam_filename = os.path.join(output_dir.path, "output.bam")
            input_primers_filename = self._create_file(input_dir.path,
                                                       'primers.txt',
                                                       primer_file_content)
            make_bam_file(input_bam_filename, [readA1, readA2, readB1])

            clipper.main(["katana",
                          input_primers_filename,
                          input_bam_filename,
                          output_bam_filename])

            actual = self._bam_to_sam(output_bam_filename)

        self.assertRegexpMatches(actual[0], "readA.*chr1.*105.*4S6M.*191")
        self.assertRegexpMatches(actual[1], "readA.*chr1.*191.*6M4S.*105")
        self.assertEquals(2, len(actual))
Example #2
0
    def test_main(self):
        primer_file_content = \
'''Customer TargetID|Chr|Sense Start|Antisense Start|Sense Sequence|Antisense Sequence
primer1|1|101|200|AAGG|CCTT
primer2|2|501|600|CGCG|ATAT
'''.replace("|", "\t")
        CIGAR_10M = ((0, 10), )
        readA1 = build_read(query_name="readA",
                            query_sequence="AGCTTAGCTA",
                            flag=99,
                            reference_id=0,
                            reference_start=100,
                            cigar=CIGAR_10M,
                            next_reference_id=0,
                            next_reference_start=190,
                            template_length=80)
        readA2 = build_read(query_name="readA",
                            query_sequence="AGCTTAGCTA",
                            flag=147,
                            reference_id=0,
                            reference_start=190,
                            cigar=CIGAR_10M,
                            next_reference_id=0,
                            next_reference_start=100,
                            template_length=80)
        readB1 = build_read(query_name="readB",
                            query_sequence="AGCTTAGCTA",
                            flag=0,
                            reference_id=1,
                            reference_start=242,
                            cigar=CIGAR_10M,
                            next_reference_id=0,
                            next_reference_start=0,
                            template_length=0)

        with TempDirectory() as input_dir, TempDirectory() as output_dir:
            input_bam_filename = os.path.join(input_dir.path, "input.bam")
            output_bam_filename = os.path.join(output_dir.path, "output.bam")
            input_primers_filename = self._create_file(input_dir.path,
                                                       'primers.txt',
                                                       primer_file_content)
            make_bam_file(input_bam_filename, [readA1, readA2, readB1])

            clipper.main([
                "katana", input_primers_filename, input_bam_filename,
                output_bam_filename
            ])

            actual = self._bam_to_sam(output_bam_filename)

        self.assertRegexpMatches(actual[0], "readA.*chr1.*105.*4S6M.*191")
        self.assertRegexpMatches(actual[1], "readA.*chr1.*191.*6M4S.*105")
        self.assertEquals(2, len(actual))
    def test_examples(self):
        with TempDirectory() as output_dir:

            input_bam = "chr10.pten.bam"
            output_bam = "chr10.pten.clipped.bam"
            output_bai = output_bam + ".bai"
            input_primer_filename = os.path.join(INPUT_DIR, "primers.txt")
            input_bam_filename = os.path.join(INPUT_DIR, input_bam)
            expect_bam_filename = os.path.join(INPUT_DIR, output_bam)
            expect_bai_filename = os.path.join(INPUT_DIR, output_bai)
            output_bam_filename = os.path.join(output_dir.path, output_bam)
            output_bai_filename = os.path.join(output_dir.path, output_bai)
            clipper.main(["program_name",
                          input_primer_filename,
                          input_bam_filename,
                          output_bam_filename])
            self.assertTrue(filecmp.cmp(expect_bam_filename,
                                        output_bam_filename),
                            "{} does not match expected".format(output_bam))
            self.assertTrue(filecmp.cmp(expect_bai_filename,
                                        output_bai_filename),
                            "{} does not match expected".format(output_bai))
Example #4
0
    def test_examples(self):
        with TempDirectory() as output_dir:

            input_bam = "chr10.pten.bam"
            output_bam = "chr10.pten.clipped.bam"
            output_bai = output_bam + ".bai"
            input_primer_filename = os.path.join(INPUT_DIR, "primers.txt")
            input_bam_filename = os.path.join(INPUT_DIR, input_bam)
            expect_bam_filename = os.path.join(INPUT_DIR, output_bam)
            expect_bai_filename = os.path.join(INPUT_DIR, output_bai)
            output_bam_filename = os.path.join(output_dir.path, output_bam)
            output_bai_filename = os.path.join(output_dir.path, output_bai)
            clipper.main([
                "program_name", input_primer_filename, input_bam_filename,
                output_bam_filename
            ])
            self.assertTrue(
                filecmp.cmp(expect_bam_filename, output_bam_filename),
                "{} does not match expected".format(output_bam))
            self.assertTrue(
                filecmp.cmp(expect_bai_filename, output_bai_filename),
                "{} does not match expected".format(output_bai))
Example #5
0
"""Katana entry point"""
import sys

from katana.clipper import main

main(sys.argv)
Example #6
0
"""Katana entry point"""
import sys

from katana.clipper import main


main(sys.argv)