def add(self,region): """Add a new Region-like object to the RegionList""" try: self[region.chromosome].insert(region.rbeg,region.rend,region) except KeyError: itree = IntervalTree() itree.insert(region.rbeg,region.rend,region) self[region.chromosome]=itree
def btab_reclist_to_interval_list_0basedStart(recs): """ Return chr, list of IntervalNode """ tree = IntervalTree() for rec in recs: tree.insert(rec['rStart1'] - 1, rec['rEnd1']) path = [] tree.traverse(path.append) chr = recs[0]['chr'] return chr, path
def btab_reclist_to_interval_list_0basedStart(recs): """ Return chr, list of IntervalNode """ tree = IntervalTree() for rec in recs: tree.insert(rec['rStart1']-1, rec['rEnd1']) path = [] tree.traverse(path.append) chr = recs[0]['chr'] return chr, path
def btab_reclist_to_interval_list_0basedStart(recs): """ Return chr, list of IntervalNode """ tree = IntervalTree() for rec in recs: tree.insert(rec["rStart1"] - 1, rec["rEnd1"]) path = [] tree.traverse(path.append) seqname = recs[0]["chr"] return seqname, path
def setUp(self): iv = IntervalTree() n = 0 for i in range(1, 1000, 80): iv.insert(i, i + 10, dict(value=i * i)) # add is synonym for insert. iv.add(i + 20, i + 30, dict(astr=str(i * i))) # or insert/add an interval object with start, end attrs. iv.insert_interval( Interval(i + 40, i + 50, value=dict(astr=str(i * i)))) iv.add_interval( Interval(i + 60, i + 70, value=dict(astr=str(i * i)))) n += 4 self.intervals = self.iv = iv self.nintervals = n
def setUp(self): iv = IntervalTree() n = 0 for i in range(1, 1000, 80): iv.insert(i, i + 10, dict(value=i*i)) # add is synonym for insert. iv.add(i + 20, i + 30, dict(astr=str(i*i))) # or insert/add an interval object with start, end attrs. iv.insert_interval(Interval(i + 40, i + 50, value=dict(astr=str(i*i)))) iv.add_interval(Interval(i + 60, i + 70, value=dict(astr=str(i*i)))) n += 4 self.intervals = self.iv = iv self.nintervals = n
def add_new_locus(match, overlappers, chromo): intersecter = IntervalTree() locus = match.name2.split('|')[1] intersecter.insert(match.zstart1, match.end1, locus) overlappers[chromo][locus] = intersecter return overlappers
def add_new_locus(match, overlappers, chromo): intersecter = IntervalTree() locus = match.name2.split('|')[1] intersecter.insert(match.zstart1, match.end1, locus) overlappers[chromo][locus] = intersecter return overlappers