ID转换,把ensbl_id换成gene_name

import re
gene_dict = {}
f1 = open('human.gtf')
f2 = open('mRNAmatrix.txt')
f3 = open('sym.txt','w')
for lines in f1:
    if lines.startswith('#'):
        continue
    line = lines.strip().split('\t')
    #print(line[2])
    if line[2] == "gene":
        gene_id = re.search(r'gene_id "([^;]+)";',line[8]).group(1)
        #print(geneid)
        gene_name = re.search(r' gene_name "([^;]+)";',line[8]).group(1)
        #print(gene_name)
        gene_dict[gene_id] = gene_name

for lines in f2:
    lines = lines.strip()
    if lines.startswith('id'):
        print(lines,file = f3)
        continue
    line = lines.split('\t')
    gene_inf = line[0][:15]

    if gene_inf in gene_dict:
        print(gene_dict[gene_inf]+"\t"+'\t'.join(line[1:]),file = f3 )
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容