def test_no_context(self): genome = Genome(self.gdfilepath) chr1 = genome["chr1"] tracknames = genome.tracknames_continuous data = chr1[100:1000] # Used to segfault chr2 = genome["chrY"] chr2.close() # Make sure manual close doesn't break it self.assertTrue(chr1.isopen) self.assertFalse(chr2.isopen) genome.close() self.assertFalse(chr1.isopen) self.assertRaises(Exception, iter(chr1).next)
def test_no_context(self): genome = Genome(self.gdfilepath) chr1 = genome["chr1"] genome.tracknames_continuous # test access chr1[100:1000] # test access: at one point segfaulted chr2 = genome["chrY"] chr2.close() # Make sure manual close doesn't break it self.assertTrue(chr1.isopen) self.assertFalse(chr2.isopen) genome.close() self.assertFalse(chr1.isopen) self.assertRaises(Exception, next, iter(chr1))
def test_repr_str(self): genome = Genome(self.gdfilepath, mode="r") self.assertEqual(repr(genome), "Genome('%s', **{'mode': 'r'})" % self.gdfilepath) chr = genome["chr1"] if self.mode == "dir": self.assertEqual( repr(chr), "<Chromosome 'chr1', file='%s/chr1.genomedata'>" % self.gdfilepath) self.assertEqual(str(chr), "chr1") elif self.mode == "file": self.assertEqual( repr(chr), "<Chromosome 'chr1', file='%s'>" % self.gdfilepath) self.assertEqual(str(chr), "chr1") genome.close()
def test_repr_str(self): genome = Genome(self.gdfilepath, mode="r") self.assertEqual(repr(genome), "Genome('%s', **{'mode': 'r'})" % self.gdfilepath) chr = genome["chr1"] if self.mode == "dir": self.assertEqual(repr(chr), "<Chromosome 'chr1', file='%s/chr1.genomedata'>" % self.gdfilepath) self.assertEqual(str(chr), "chr1") elif self.mode == "file": self.assertEqual(repr(chr), "<Chromosome 'chr1', file='%s'>" % self.gdfilepath) self.assertEqual(str(chr), "chr1") genome.close()
INFO = True outFile.writelines(line) else: # rest of the VCF file should now just be the variants if line == "": break line = line.decode('utf-8').strip().split('\t') if line[0] != currentChrom: chrom = genome["chr"+line[0]] currentChrom = "chr"+line[0] pos = int(line[1]) - 1 #switch to zero based indexing score = chrom[pos,'anc'] # check to see if there is a GERP score for the position, if not output line and continue # We should probably check ot see if the variant is not a SNP, as GERP isn't well defined # for non-SNP variants if math.isnan(score): anc = '.' else: anc = chr(score) if line[7] == '.': line[7] = 'AA=%s' % (anc.upper()) else : rsField = ';AA=%s' % (anc.upper()) line[7] += rsField outFile.writelines('\t'.join(line)+'\n') genome.close() inFile.close() outFile.close()