怎么用Python对gff3格式进行处理
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍"怎么用Python对gff3格式进行处理"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"怎么用Python对gff3格式进行处理"文章能帮助大
千家信息网最后更新 2026年11月01日怎么用Python对gff3格式进行处理
这篇文章主要介绍"怎么用Python对gff3格式进行处理"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"怎么用Python对gff3格式进行处理"文章能帮助大家解决问题。
1.平常从下载的植物基因组注释文件,以gff3格式为例
从JGI上下载的玉米基因组的注释文件(gff3格式),第一例通常为基因的定位信息。1则表示位于玉米的1号染色体上,第二例表示注释的版本信息,第三列通常为gene,mRNA,CDS等信息,同时一个基因可能对应多个mRNA,对生物有些了解的也知道,一个mRNA即是一个转录信息, 这个和注释过后的序列文件也是一一对应的。第四列和第五列分别为基因的第三列信息在染色体上的物理位置。第七列则表示基因位于正链上还是负链上。第八列是相位信息。第九列则是基因注释的一些ID信息。而本次数据处理主要是提取第一列、第三列、第四列、第五列和第九列的信息。
2.利用程序处理后的结果
处理后的格式一共有五列,第一列为基因所在的染色体上,第二列是利用gene的起始位点和终止位点进行排序的逻辑顺序而生成的新的ID信息,第三列和第四列就是基因的起始位点和终止位点了。第五列就是从原始的注释信息第九列提取出来的,必须个序列文件一一对应才行。下面直接上代码。
3.代码信息
#!usr/bin/pythonimport re,iofrom operator import itemgetterinput_file = io.open('Zmays_284_Ensembl-18_2010-01-MaizeSequence.gene.gff3','r',encoding='UTF-8')# 基因的注释信息,GFF3格式的文件out_file = open('Zm.newid.gff', 'w', encoding='UTF-8')# 输出文件的名字list_two = []chr_name = []de_list = ('#','M','P','s') # 需要修改for line in input_file: if line.startswith(de_list): continue list_one = line.strip().split() if list_one[2] == 'mRNA': # gene_id = list_one[8].split(';')[2] # 需要修改 gene_id = list_one[8] gene_id = ''.join(re.findall(r'pacid=(.+?);longest',gene_id)) # 需要修改 # 获取gene的id信息 list_one[0] = re.sub(r'\D',"",list_one[0]) # list_two.append(gene_na_st_end) list_two.append((int(list_one[0]), int(list_one[3]), int(list_one[4]), int(gene_id))) chr_name.append(int(list_one[0])) # print (gene_id) else: continuechr_name = list(set(chr_name))chr_name.sort()number = 0list_thrre = sorted(list_two,key = itemgetter(0,1,2))next_chr = 0for i in list_thrre: new_i = "\t".join('%s' %id for id in i) # print (new_i) lp = str(new_i).strip().split() # chr_id = re.sub('\[',"",lp[0]) if str(lp[0])== str(chr_name[next_chr]): number = number + 1 else: number = 1 next_chr = next_chr + 1 # newid = "Zm"+''%lp[0]+'G'+''%number newid = "Zm"+str(lp[0]).zfill(2)+"G"+str(number).zfill(5) # 需要修改 print (newid) out_file.write('Zm'+str(lp[0])+"\t"+newid+"\t"+str(lp[1])+"\t"+str(lp[2])+"\t"+str(lp[3])+'\n')input_file.close()# make by ligaojie from North China University of Technology关于"怎么用Python对gff3格式进行处理"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
信息
基因
格式
注释
处理
文件
位点
染色体
知识
染色
一一对应
代码
基因组
序列
玉米
行业
起始
不同
原始
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网络科技
河南云网互联网络科技有限公司
互联网科技工作委员会主任
互联网扶贫科技
中国互联网科技发展
润盈互联网科技
互联网科技的未来发展
人人互联网科技是培训
开启互联网科技时代小说
北京华百购互联网科技有限公司
互联网科技研发水平
本届互联网博览会上的黑科技
河南住房之家互联网科技
互联网科技创新的路径
合肥互联网科技公司公章图片
互联网营销推广黑科技
北京互联网科技类企业分布
互联网金融金融科技
上海互联网科技园景观
青岛互联网科技园
上海卓越科技互联网
科技与互联网
科技互联网公司装修
互联网络科技有限公司
互联网金融科技委员会
互联网5g黑科技有哪些
互联网科技产业特征
互联网在线教育科技创业
中国互联网有什么科技
互联网科技包装股