Exemple #1
0
 def test_combine(self):
     # Complement
     fields = ['chr','start','end','name','strand','score']
     s1 = fstream([('chr',0,20,'a1',1,6.),('chr',40,60,'b',1,3.)], fields=fields)
     s2 = fstream([('chr',0,20,'a1',1,6.),('chr',40,60,'b',1,3.)], fields=fields)
     res = list(combine([s1,s2],fn=lambda x:not any(x)))
     expected = [('chr',20,40,'0','0','0')]
     self.assertListEqual(res,expected)
Exemple #2
0
 def test_combine(self):
     # Complement
     fields = ['chr', 'start', 'end', 'name', 'strand', 'score']
     s1 = fstream([('chr', 0, 20, 'a1', 1, 6.),
                   ('chr', 40, 60, 'b', 1, 3.)],
                  fields=fields)
     s2 = fstream([('chr', 0, 20, 'a1', 1, 6.),
                   ('chr', 40, 60, 'b', 1, 3.)],
                  fields=fields)
     res = list(combine([s1, s2], fn=lambda x: not any(x)))
     expected = [('chr', 20, 40, '0', '0', '0')]
     self.assertListEqual(res, expected)
Exemple #3
0
def _combine(func,output,**kw):
    chrmeta = _get_chrmeta(**kw)
    format = kw.get('format') or 'sql'
    output += format
    tracks = kw['TrackMulti']['tracks']
    if not isinstance(tracks, list):
        tracks = [tracks]
    tracks = [track(sig, chrmeta=chrmeta) for sig in tracks]
    chrmeta = tracks[0].chrmeta
    tout = track(output, chrmeta=chrmeta, info={'datatype': 'qualitative'})
    for chrom in chrmeta:
        trackList = [sig.read(chrom) for sig in tracks]
        res = combine(trackList, fn=func)
        tout.fields = res.fields
        tout.write(res, chrom=chrom, clip=True)
    tout.close()
    return output
Exemple #4
0
def _combine(func, output, **kw):
    chrmeta = _get_chrmeta(**kw)
    format = kw.get('format') or 'sql'
    output += format
    tracks = kw['TrackMulti']['tracks']
    if not isinstance(tracks, list):
        tracks = [tracks]
    tracks = [track(sig, chrmeta=chrmeta) for sig in tracks]
    chrmeta = tracks[0].chrmeta
    tout = track(output, chrmeta=chrmeta, info={'datatype': 'qualitative'})
    for chrom in chrmeta:
        trackList = [sig.read(chrom) for sig in tracks]
        res = combine(trackList, fn=func)
        tout.fields = res.fields
        tout.write(res, chrom=chrom, clip=True)
    tout.close()
    return output