Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
    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
Ejemplo n.º 6
0
    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
Ejemplo n.º 7
0
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