Beispiel #1
0
    def testExtractTouching(self):
        passed = [
            x.qname for x in ngsutils.bam.extract.bam_extract_reads(
                testbam1, 'chr1', 2520, 2540, None)
        ]
        self.assertTrue(_matches(['foo6'], passed))

        passed = [
            x.qname for x in ngsutils.bam.extract.bam_extract_reads(
                testbam1, 'chr1', 2510, 2530, None)
        ]
        self.assertTrue(_matches(['foo6'], passed))

        passed = [
            x.qname for x in ngsutils.bam.extract.bam_extract_reads(
                testbam1, 'chr1', 2530, 2550, None)
        ]
        self.assertTrue(_matches(['foo6'], passed))

        passed = [
            x.qname for x in ngsutils.bam.extract.bam_extract_reads(
                testbam1, 'chr1', 2500, 2600, None)
        ]
        self.assertTrue(_matches(['foo6'], passed))

        passed = [
            x.qname for x in ngsutils.bam.extract.bam_extract_reads(
                testbam1, 'chr1', 2530, 2535, None)
        ]
        self.assertTrue(_matches(['foo6'], passed))
Beispiel #2
0
    def testExtract(self):
        passed = [x.qname for x in ngsutils.bam.extract.bam_extract_reads(testbam1, 'chr1', 200, 250, '+')]
        self.assertTrue(_matches(['foo2', 'foo4'], passed))

        passed = [x.qname for x in ngsutils.bam.extract.bam_extract_reads(testbam1, 'chr1', 200, 250, '-')]
        self.assertTrue(_matches(['foo5'], passed))

        passed = [x.qname for x in ngsutils.bam.extract.bam_extract_reads(testbam1, 'chr1', 200, 250, None)]
        self.assertTrue(_matches(['foo2', 'foo4', 'foo5'], passed))
Beispiel #3
0
    def testExtractTouching(self):
        passed = [x.qname for x in ngsutils.bam.extract.bam_extract_reads(testbam1, 'chr1', 2520, 2540, None)]
        self.assertTrue(_matches(['foo6'], passed))

        passed = [x.qname for x in ngsutils.bam.extract.bam_extract_reads(testbam1, 'chr1', 2510, 2530, None)]
        self.assertTrue(_matches(['foo6'], passed))

        passed = [x.qname for x in ngsutils.bam.extract.bam_extract_reads(testbam1, 'chr1', 2530, 2550, None)]
        self.assertTrue(_matches(['foo6'], passed))

        passed = [x.qname for x in ngsutils.bam.extract.bam_extract_reads(testbam1, 'chr1', 2500, 2600, None)]
        self.assertTrue(_matches(['foo6'], passed))

        passed = [x.qname for x in ngsutils.bam.extract.bam_extract_reads(testbam1, 'chr1', 2530, 2535, None)]
        self.assertTrue(_matches(['foo6'], passed))
Beispiel #4
0
 def testExtractBED3(self):
     outbam = MockBam(['chr1'])
     ngsutils.bam.extract.bam_extract(testbam1,
                                      outbam,
                                      self.fname2,
                                      quiet=True)
     passed = [x.qname for x in outbam]
     self.assertTrue(_matches(['foo2', 'foo5', 'foo1', 'foo4'], passed))
Beispiel #5
0
    def testExtract(self):
        passed = [
            x.qname for x in ngsutils.bam.extract.bam_extract_reads(
                testbam1, 'chr1', 200, 250, '+')
        ]
        self.assertTrue(_matches(['foo2', 'foo4'], passed))

        passed = [
            x.qname for x in ngsutils.bam.extract.bam_extract_reads(
                testbam1, 'chr1', 200, 250, '-')
        ]
        self.assertTrue(_matches(['foo5'], passed))

        passed = [
            x.qname for x in ngsutils.bam.extract.bam_extract_reads(
                testbam1, 'chr1', 200, 250, None)
        ]
        self.assertTrue(_matches(['foo2', 'foo4', 'foo5'], passed))
Beispiel #6
0
    def testBedFile(self):
        fname = os.path.join(os.path.dirname(__file__), 'test.bed')
        valid = ['chr1|100|150|foo|1|+',
                   'chr1|100|150|foo|1|-',
                   'chr1|200|250|foo|1|+',
                   'chr1|300|350|foo|1|-',
                ]

        regions = ['%s|%s|%s|%s|%s|%s' % (x.chrom, x.start, x.end, x.name, x.score, x.strand) for x in BedFile(fname)]
        self.assertTrue(_matches(valid, regions))
Beispiel #7
0
    def testBedFile(self):
        fname = os.path.join(os.path.dirname(__file__), 'test.bed')
        valid = ['chr1|100|150|foo|1|+',
                   'chr1|100|150|foo|1|-',
                   'chr1|200|250|foo|1|+',
                   'chr1|300|350|foo|1|-',
                ]

        regions = ['%s|%s|%s|%s|%s|%s' % (x.chrom, x.start, x.end, x.name, x.score_int, x.strand) for x in BedFile(fname)]
        self.assertTrue(_matches(valid, regions))
Beispiel #8
0
    def testBedFileObj(self):
        valid = ['chr1|100|150|foo|1|+',
                   'chr1|100|150|foo|1|-',
                ]

        instr = StringIO.StringIO('''
chr1|100|150|foo|1|+
chr1|100|150|foo|1|-
'''.replace('|', '\t'))

        regions = ['%s|%s|%s|%s|%s|%s' % (x.chrom, x.start, x.end, x.name, x.score, x.strand) for x in BedFile(fileobj=instr)]
        self.assertTrue(_matches(valid, regions))
Beispiel #9
0
    def testReduceExtendAsync(self):
        valids = '''\
chr1|90|220|foo1,foo2|20|+
chr1|490|720|foo3,foo4,foo5|30|+
'''.replace('|', '\t').split('\n')

        out = StringIO.StringIO('')
        ngsutils.bed.reduce.bed_reduce(bedtest,
                                       extend=(10, 20),
                                       stranded=False,
                                       out=out)
        self.assertTrue(_matches(valids, out.getvalue().split('\n')))
Beispiel #10
0
    def testBedFileObj(self):
        valid = ['chr1|100|150|foo|1|+',
                   'chr1|100|150|foo|1|-',
                ]

        instr = StringIO.StringIO('''
chr1|100|150|foo|1|+
chr1|100|150|foo|1|-
'''.replace('|', '\t'))

        regions = ['%s|%s|%s|%s|%s|%s' % (x.chrom, x.start, x.end, x.name, x.score, x.strand) for x in BedFile(fileobj=instr)]
        self.assertTrue(_matches(valid, regions))
Beispiel #11
0
    def testReduceStranded(self):
        valids = '''\
chr1|100|200|foo1,foo2|20|+
chr1|500|550|foo3|10|+
chr1|560|600|foo4|10|-
chr1|600|700|foo5|10|+
'''.replace('|', '\t').split('\n')

        out = StringIO.StringIO('')
        ngsutils.bed.reduce.bed_reduce(bedtest,
                                       extend=(0, 0),
                                       stranded=True,
                                       count=False,
                                       out=out)
        self.assertTrue(_matches(valids, out.getvalue().split('\n')))
Beispiel #12
0
    def testBedRegion(self):
        valid = ['chr1|100|150']

        regions = ['%s|%s|%s' % (x.chrom, x.start, x.end) for x in BedFile(region="chr1:101-150")]
        self.assertTrue(_matches(valid, regions))
Beispiel #13
0
 def testExtractBED3(self):
     outbam = MockBam(['chr1'])
     ngsutils.bam.extract.bam_extract(testbam1, outbam, self.fname2, quiet=True)
     passed = [x.qname for x in outbam]
     self.assertTrue(_matches(['foo2', 'foo5', 'foo1', 'foo4'], passed))
Beispiel #14
0
    def testBedRegion(self):
        valid = ['chr1|100|150']

        regions = ['%s|%s|%s' % (x.chrom, x.start, x.end) for x in BedFile(region="chr1:101-150")]
        self.assertTrue(_matches(valid, regions))