美文网首页生物信息学与算法
生信编程实战第8题(python)

生信编程实战第8题(python)

作者: 天秤座的机器狗 | 来源:发表于2018-08-25 12:34 被阅读15次

    题目来自生信技能树论坛

    image.png

    这道题很简单,但是应该更重要的是学会用R的方法,我后面会用R把这个系列的题目重做一遍,这里先用python做。

    ID转换主要就是构建对应关系的字典

    先看一下文件的内容

    对应关系文件

    head geneid2symbol.txt
    
    1   A1BG
    2   A2M
    3   A2MP1
    9   NAT1
    10  NAT2
    11  NATP
    12  SERPINA3
    13  AADAC
    14  AAMP
    15  AANAT
    
    

    geneID文件

    head my_geneID.txt
    
    1175
    2263
    1581
    4091
    1783
    2051
    2248
    22941
    1410
    881
    
    

    脚本

    import collections
    
    geneDict=collections.OrderedDict()
    with open ("geneid2symbol.txt") as fh:
      for line in fh:
        lineL=line.strip().split("\t")
        gene_id=lineL[0]
        symbol=lineL[1]
        geneDict[gene_id]=symbol
    
    for line in open("my_geneID.txt"):
       line=line.strip()
       print(geneDict[line])
    
    

    运行结果

    python3 exchange.py
    
    AP2S1
    FGFR2
    CYP7A1
    SMAD6
    DYNC1LI2
    EPHB6
    FGF3
    SHANK2
    CRYAB
    CCIN
    CHKB
    TSPAN2
    YAF2
    ZFC3H1
    ATP6V0E2
    LOC101929524
    PCCA
    HLA-DRB6
    TMC6
    JTB
    POLD1
    LHCGR
    WBP4
    FGL2
    DEPDC5
    EAPP
    RRAS
    B3GALT5
    DESI2
    SCN7A
    
    

    其他的,geneID,symbol,ensembleID,entrez ID,probe ID 等等之间的转换,方法是一样的

    相关文章

      网友评论

        本文标题:生信编程实战第8题(python)

        本文链接:https://www.haomeiwen.com/subject/qozwiftx.html