X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=pysam.git;a=blobdiff_plain;f=tests%2Ftabix_test.py;h=207a59c6c125360655ac77192f43640903fc1c1d;hp=2caa628660f74a4389a23bf8b09c8c9e55266dee;hb=e1756c41e7a1d7cc01fb95e42df9dd04da2d2991;hpb=ca46ef4ba4a883c57cea62d5bf1bc021f1185109 diff --git a/tests/tabix_test.py b/tests/tabix_test.py index 2caa628..207a59c 100644 --- a/tests/tabix_test.py +++ b/tests/tabix_test.py @@ -127,6 +127,7 @@ class TestIteration( unittest.TestCase ): b.difference(a) )) for x, d in enumerate( zip( result, ref )): + self.assertEqual( d[0], d[1], "unexpected results in pair %i: '%s', expected '%s'" % \ (x, @@ -203,17 +204,6 @@ class TestIteration( unittest.TestCase ): header = list( self.tabix.header ) self.assertEqual( ref, header ) - def testReopening( self ): - '''test repeated opening of the same file.''' - def func1(): - # opens any tabix file - inf = pysam.Tabixfile(self.filename) - return - - for i in range(10000): - func1() - - class TestParser( unittest.TestCase ): filename = "example.gtf.gz" @@ -229,16 +219,9 @@ class TestParser( unittest.TestCase ): self.assertEqual( self.compare[x], list(r) ) self.assertEqual( len(self.compare[x]), len(r) ) - # test indexing for c in range(0,len(r)): self.assertEqual( self.compare[x][c], r[c] ) - # test slicing access - for c in range(0, len(r)-1): - for cc in range(c+1, len(r)): - self.assertEqual( self.compare[x][c:cc], - r[c:cc] ) - def testWrite( self ): for x, r in enumerate(self.tabix.fetch( parser = pysam.asTuple() )): @@ -267,18 +250,10 @@ class TestParser( unittest.TestCase ): self.assertEqual( "\t".join(e), str(r) ) class TestGTF( TestParser ): - def testRead( self ): for x, r in enumerate(self.tabix.fetch( parser = pysam.asGTF() )): - c = self.compare[x] - - self.assertEqual( len(c), len(r) ) - self.assertEqual( "\t".join(c), str(r) ) - self.assertTrue( r.gene_id.startswith("ENSG") ) - if r.feature != "gene": - self.assertTrue( r.transcript_id.startswith("ENST") ) - self.assertEqual( c[0], r.contig ) + self.assertEqual( "\t".join( self.compare[x]), str(r) ) class TestBed( unittest.TestCase ): filename = "example.bed.gz" @@ -332,8 +307,8 @@ class TestVCF( TestParser ): c = self.compare[x] for y, field in enumerate( self.columns ): if field == "pos": - self.assertEqual( int(c[y]) - 1, getattr( r, field ) ) - self.assertEqual( int(c[y]) - 1, r.pos ) + self.assertEqual( int(c[y])-1, getattr( r, field ) ) + self.assertEqual( int(c[y])-1, r.pos ) else: self.assertEqual( c[y], getattr( r, field ), "mismatch in field %s: %s != %s" %\ @@ -348,24 +323,12 @@ class TestVCF( TestParser ): ncolumns = len(self.columns) for x, r in enumerate(self.tabix.fetch( parser = pysam.asVCF() )): - c = self.compare[x] - - # check unmodified string - ref_string = "\t".join( c ) - cmp_string = str(r) - self.assertEqual( ref_string, cmp_string ) - - # set fields and compare field-wise for y, field in enumerate( self.columns ): if field == "pos": - rpos = getattr( r, field ) - self.assertEqual( int(c[y]) - 1, rpos ) - self.assertEqual( int(c[y]) - 1, r.pos ) - # increment pos by 1 - setattr( r, field, rpos + 1 ) - self.assertEqual( getattr( r, field ), rpos + 1 ) - c[y] = str(int(c[y]) + 1 ) + r.pos += 1 + self.assertEqual( int(c[y]), getattr( r, field ) ) + self.assertEqual( int(c[y]), r.pos ) else: setattr( r, field, "test_%i" % y) c[y] = "test_%i" % y @@ -379,23 +342,7 @@ class TestVCF( TestParser ): c[ncolumns+y] = "test_%i" % y r[y] = "test_%i" % y self.assertEqual( c[ncolumns+y], r[y] ) - -class TestVCF( TestParser ): - - filename = "example.vcf40.gz" - - def testOpening( self ): - while 1: - infile = pysam.Tabixfile( self.filename ) - infile.close() - - # check strings - ref_string = "\t".join( c ) - cmp_string = str(r) - - self.assertEqual( ref_string, cmp_string ) - if __name__ == "__main__": unittest.main()