def test_duplicate(self): stream = fstream([(10,12,0.5), (14,15,1.2)], fields=['start','end','score']) res = duplicate(stream,'score','score2') expected = [(10,12,0.5,0.5), (14,15,1.2,1.2)] self.assertListEqual(res.fields,['start','end','score','score2']) self.assertEqual(list(res),expected) stream = fstream([(10,12,0.5), (14,15,1.2)], fields=['start','end','score']) res = duplicate(stream,'score',['s2','s3','s4']) expected = [(10,12,0.5,0.5,0.5,0.5), (14,15,1.2,1.2,1.2,1.2)] self.assertListEqual(res.fields,['start','end','score','s2','s3','s4']) self.assertEqual(list(res),expected)
def test_duplicate(self): stream = fstream([(10, 12, 0.5), (14, 15, 1.2)], fields=['start', 'end', 'score']) res = duplicate(stream, 'score', 'score2') expected = [(10, 12, 0.5, 0.5), (14, 15, 1.2, 1.2)] self.assertListEqual(res.fields, ['start', 'end', 'score', 'score2']) self.assertEqual(list(res), expected) stream = fstream([(10, 12, 0.5), (14, 15, 1.2)], fields=['start', 'end', 'score']) res = duplicate(stream, 'score', ['s2', 's3', 's4']) expected = [(10, 12, 0.5, 0.5, 0.5, 0.5), (14, 15, 1.2, 1.2, 1.2, 1.2)] self.assertListEqual(res.fields, ['start', 'end', 'score', 's2', 's3', 's4']) self.assertEqual(list(res), expected)
def convert_junc_file(self, filename): """Convert a .junc SOAPsplice output file to bed format. Return the file name. :param filename: (str) name of the .junc file to convert. """ t = track(filename, format='txt', fields=['chr','start','end','strand','score'], chrmeta=self.assembly.chrmeta) stream = t.read() # Translate chromosome names s1 = map_chromosomes(stream, self.assembly.chromosomes) # Add junction IDs s2 = duplicate(s1,'strand','name') C = itertools.count() s3 = apply(s2,'name', lambda x: 'junction'+str(C.next())) # Convert to bed format outfile = unique_filename_in() bed = outfile + '.bed' out = track(bed, fields=s3.fields, chrmeta=self.assembly.chrmeta) out.write(s3) return bed
def convert_junc_file(self, filename): """Convert a .junc SOAPsplice output file to bed format. Return the file name. :param filename: (str) name of the .junc file to convert. """ t = track(filename, format='txt', fields=['chr', 'start', 'end', 'strand', 'score'], chrmeta=self.assembly.chrmeta) stream = t.read() # Translate chromosome names s1 = map_chromosomes(stream, self.assembly.chromosomes) # Add junction IDs s2 = duplicate(s1, 'strand', 'name') C = itertools.count() s3 = apply(s2, 'name', lambda x: 'junction' + str(C.next())) # Convert to bed format outfile = unique_filename_in() bed = outfile + '.bed' out = track(bed, fields=s3.fields, chrmeta=self.assembly.chrmeta) out.write(s3) return bed