生信相关我爱编程

python一次性提取所有RNA的注释文件

2018-04-12  本文已影响113人  Stone_Stan4d

从ensembl下载的人RNA注释文件gtf格式,从里面提取RNA的关键信息:
代码如下:

# -*- coding:utf-8 -*-
import os
import csv

os.chdir(r'E:\2018\lncRNA与mRNA分离')
# 先处理GTF文件,lncRNA存入列表
allRNA = open('allRNA.csv', 'w', newline = '')
allWriter = csv.writer(allRNA,delimiter=',',lineterminator='\r\n')
allWriter.writerow(['genensmbl', 'genename', 'genetype'])

with open("Homo_sapiens.GRCh38.92.chr.gtf", 'r') as f_gtf:
    for line in f_gtf:
        if line.startswith('#'):
            continue
        line = line.strip('\n').split('\t')
        genetype = line[2]
        '''
        j = 2 if (genetype == 'gene') else 3
        genensmbl = line[8].split(';')[0].split('"')[1]
        genename = line[8].split(';')[j].split('"')[1]
        '''
        if genetype == 'gene':
            genensmbl = line[8].split(';')[0].split('"')[1]
            genename = line[8].split(';')[2].split('"')[1]
            genetype = line[8].split(';')[4].split('"')[1]
            allWriter.writerow([genensmbl, genename, genetype])

f_gtf.close()
allRNA.close()           

这是提取完成后的表格,RNA类型有多种:


image.png

下一次尝试用R语言来提取这个文件,听说有成熟的软件包可以调用。

上一篇下一篇

猜你喜欢

热点阅读