[Py008]|[Py008] gff文件处理2
根据第三列的type,提取mRNA及相应exon的信息。
【[Py008]|[Py008] gff文件处理2】和[Py005]是一样的,但是这次换一种处理思路。
思路:
? 每次读取一行,拆分为list;
? 将第三列的特征值追加到新命令的list(type)中;
? 如果第三列的特征值为mRNA,打印该行;
? 如果第三列的特征值为exon,并且通过true_exon函数判断符合“mRNA;
exon;
exon”之类的顺序,则打印该行。
?
import redef true_exon(list):
list = list[::-1]
list = ";
".join(list)
if re.match(r'(?:exon;
)+mRNA', list):
return True
else:
return Falsetype = []
outGFF = open('out.gff', 'w')
for line in open('in.gff'):
line_list = line.strip().split('\t')
type.append(line_list[2])
if line_list[2] == 'mRNA':
outGFF.write(line)
if line_list[2] == 'exon' and true_exon(type):
outGFF.write(line)
outGFF.close()
推荐阅读
- django-前后端交互
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 使用composer自动加载类文件
- ssh生成公钥秘钥
- Android系统启动之init.rc文件解析过程
- 微信小程序基础知识
- 误删/清空.bashrc文件/内容
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- 插件化无法获取或找到.so文件
- locate搜索