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))
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))
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))
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))
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))
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))
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))
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))
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')))
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')))
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))