Exemplo n.º 1
0
def ids2cds(ql):
    cdmic = CDMI_API(URLS.cdmi)
    idm = IdMap(URLS.idmap)

    gl = set()
    rd = {}
    eids = []
    lids = set()
    mids = set()
    for gid in ql:
        rd[gid] = gid
        if 'kb|g.' in gid:
            if 'locus' in gid:
                lids.add(gid)
            elif 'mRNA' in gid:
                mids.add(gid)
        else:
            eids.append(gid)

    sid2fids = cdmic.source_ids_to_fids(eids)
    for sid in sid2fids:
        for fid in sid2fids[sid]:
            rd[sid] = fid
            if 'locus' in fid:
                lids.add(fid)
            elif 'mRNA' in fid:
                mids.add(fid)
    lidmap = ()
    if len(lids) > 0: lidmap = idm.longest_cds_from_locus(list(lids))
    for lid in lidmap:
        for k in lidmap[lid]:
            gl.add(k)
    midl = list(mids)
    midmap = ()
    if len(mids) > 0: lidmap = idm.longest_cds_from_mrna(list(mids))
    for lid in midmap:
        for k in midmap[lid]:
            gl.add(k)

    for gid in ql:
        if 'kb|g.' in gid:
            if 'locus' in gid:
                for k in lidmap[gid]:
                    rd[gid] = k
            elif 'mRNA' in gid:
                for k in midmap[gid]:
                    rd[gid] = k
        else:
            if 'locus' in rd[gid]:
                for k in lidmap[rd[gid]]:
                    rd[gid] = k
            elif 'mRNA' in rd[gid]:
                for k in midmap[rd[gid]]:
                    rd[gid] = k
    return rd
Exemplo n.º 2
0
def ids2cds(ql):
    cdmic = CDMI_API(URLS.cdmi)
    idm = IdMap(URLS.idmap)

    gl = set()
    rd = {}
    eids = []
    lids = set()
    mids = set()
    for gid in ql:
      rd[gid] = gid
      if 'kb|g.' in gid:
        if 'locus' in gid:
          lids.add(gid)
        elif 'mRNA' in gid:
          mids.add(gid)
      else:
        eids.append(gid)

    sid2fids = cdmic.source_ids_to_fids(eids)
    for sid in sid2fids:
      for fid in sid2fids[sid]:
        rd[sid] = fid
        if 'locus' in fid:
          lids.add(fid)
        elif 'mRNA' in fid:
          mids.add(fid)
    lidmap = ()
    if len(lids) > 0: lidmap = idm.longest_cds_from_locus(list(lids))
    for lid in lidmap:
      for k in lidmap[lid]:
        gl.add(k)
    midl = list(mids)
    midmap = ()
    if len(mids) > 0: lidmap = idm.longest_cds_from_mrna(list(mids))
    for lid in midmap:
      for k in midmap[lid]:
        gl.add(k)

    for gid in ql:
      if 'kb|g.' in gid:
        if 'locus' in gid:
          for k in lidmap[gid]:
            rd[gid] = k
        elif 'mRNA' in gid:
          for k in midmap[gid]:
            rd[gid] = k
      else:
        if 'locus' in rd[gid]:
            for k in lidmap[rd[gid]]:
              rd[gid] = k
        elif 'mRNA' in rd[gid]:
            for k in midmap[rd[gid]]:
              rd[gid] = k
    return rd