生物信息学与算法

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

2018-08-25  本文已影响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 等等之间的转换,方法是一样的

上一篇下一篇

猜你喜欢

热点阅读