Imported Upstream version 0.5
[pysam.git] / tests / tabix_test.py
index 2caa628660f74a4389a23bf8b09c8c9e55266dee..207a59c6c125360655ac77192f43640903fc1c1d 100644 (file)
@@ -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()