def make_ramp(strand, sign=1): transfrags = [] chrom = 'chr1' start = 1000 end = 1220 change_expr = 0.0 base_expr = 0.0 # "flat" part of expression landscape expr = 1.0 for i in xrange(0, 50): t = Transfrag(chrom=chrom, strand=strand, _id='T1.%d' % i, sample_id='S%d' % i, expr=expr, is_ref=False, exons=[Exon(start, end)]) transfrags.append(t) change_expr += expr base_expr += expr # "changing" area i = 0 expr = 10.0 for pos in range(1100, 1120): left, right = (start, pos) if sign < 0 else (pos, end) t = Transfrag(chrom=chrom, strand=strand, _id='T2.%d' % i, sample_id='S%d' % i, expr=expr, is_ref=False, exons=[Exon(left, right)]) transfrags.append(t) change_expr += expr i += 1 return chrom, start, end, strand, change_expr, base_expr, transfrags
def test_splices(): t = Transfrag(chrom='chrTest', strand=Strand.POS, exons=[Exon(0, 10), Exon(20, 30), Exon(40, 50)]) splice_sites = frozenset(t.itersplices()) assert len(splice_sites) == 4 assert splice_sites == frozenset((10, 20, 30, 40))
def test_introns(): t = Transfrag(chrom='chrTest', strand=Strand.POS, exons=[Exon(0, 10), Exon(20, 30), Exon(40, 50)]) introns = list(t.iterintrons()) assert len(introns) == 2 assert introns[0] == (10, 20) assert introns[1] == (30, 40)