def test_extend_bug(self): cluster = Cluster(read=BED, write=PK) cluster.read_line('chr3 1 35 666 noname +') cluster2 = Cluster(read=BED, write=PK) cluster2.read_line('chr3 156 200 666 noname -') cluster.extend(100) cluster2.extend(100) result = cluster + cluster2 self.assertEqual(200, len(result))
def test_extend(self): cluster = Cluster(read=BED) cluster.read_line('chr3 1 35 noname 666 +') cluster2 = Cluster(read=BED) cluster2.read_line('chr3 56 100 noname 666 -') cluster.extend(100) cluster2.extend(100) self.assertEqual(cluster.write_line(), 'chr3\t1\t100\t100:1.00\t1.0\t+\t50\t100.0\n') self.assertEqual(cluster2.write_line(), 'chr3\t1\t100\t100:1.00\t1.0\t-\t50\t100.0\n')
def read_and_extend(self, cluster, line, extension): cluster_aux = Cluster(read=BED, write=BED, read_half_open=True, write_half_open=True, rounding = True) if cluster.is_empty(): cluster.read_line(line) cluster.extend(extension) #print cluster.write_line(), cluster._profile else: cluster_aux.read_line(line) cluster_aux.extend(extension) #print cluster_aux.write_line(), cluster_aux._profile cluster += cluster_aux #print cluster.write_line() return cluster
def test_bed_half_open_to_wig_half_open2(self): cluster = Cluster(read=BED, write=WIG, read_half_open=True, write_half_open=True, rounding=True, cached=True) cluster2 = Cluster(read=BED, write=WIG, read_half_open=True, write_half_open=True, rounding=True, cached=True) cluster3 = Cluster(read=BED, write=WIG, read_half_open=True, write_half_open=True, rounding=True, cached=True) result = Cluster(read=BED, write=WIG, read_half_open=True, write_half_open=True, rounding=True) extension = 130 result.read_line('chr1 156 192 id:7043691 1000 +') result.extend(extension) cluster.read_line('chr1 241 277 id:916714 1000 +') cluster.extend(extension) result +=cluster cluster2.read_line('chr1 241 277 id:916714 1000 +') cluster2.extend(extension) result +=cluster2 cluster3.read_line('chr1 241 277 id:6880101 1000 +') cluster3.extend(extension) result +=cluster3 self.assertEqual(result.write_line(), 'chr1\t156\t241\t1\nchr1\t241\t286\t4\nchr1\t286\t371\t3\n')