程序与技术分享:02Prodigal基因预测

简介: 程序与技术分享:02Prodigal基因预测

1、简介


Prodigal是为细菌和古菌基因组进行蛋白编码基因预测的软件 ,其缩写源于PROkaryotic DYnamic Programming Genefinding ALgorithm,表示原核生物基因预测的动态规划算法。


最早在2007年,在美国能源部联合基因组研究所(DOE)的支持下,由橡树岭国家实验室和田纳西大学诺克斯维尔分校联合开发.2010年,发表在BMC Bioinformatics.很快,Prodigal成为使用最多的微生物基因预测算法之一。截至2021年2月,该出版物已被引用4400多次,在NCBI的ftp网站上保存着使用Prodigal预测的所有细菌和古生菌基因组的结果。


2、基因特点


原核生物mRNA的特征:


? 1.原核生物mRNA的5’端无帽子结构,3’端没有或只有较短的多聚(A)结构


? 2.原核生物起始密码子AUG上游有一被称为Ribosome Binding Site (RBS)或SD


序列(Shine –Dalgarno sequence)的保守区,该序列与16S-rRNA 3’端反向互


补,被认为在核糖体-mRNA的结合过程中起作用


? 3.原核生物常以AUG(有时GUG,甚至UUG)作为起始密码子;真核生物几乎永远以


AUG作为起始密码子


? 4.半衰期短:原核生物中,mRNA的转录和翻译是在同一个细胞空间里同步进行的,


蛋白质合成往往在mRNA刚开始转录时就被引发了;大多数细菌mRNA在转录开始1


分钟后就开始降解


? 5.许多原核生物mRNA以多顺反子的形式存在:原核细胞的mRNA(包括病毒)有时可


以同时编码几个多肽


? 单顺反子mRNA (monocistronic mRNA):只编码一个蛋白质的mRNA


? 多顺反子mRNA(polycistronic mRNA):编码多个蛋白质的mRNA


3、特点


Prodigal可以做的:


? 处理基因组类型多样: Finished genomes、draft genomes以及metagenomes


? 输出格式多样: GFF3、Genbank以及Sequin表格形式


? 运行速度快: 在PC上10秒钟就能分析出E. coli K-12基因组的蛋白序列


? 无监督学习: 使用无监督的机器学习算法,无需提供任何训练数据,而是从输入


序列本身自动学习基因组的特性,包括遗传密码使用以及核糖体结合位点的


motif识别


? 可以处理基因组gaps、contig、scaffolds和不完整基因预测


Prodigal不能做的:


? 预测RNA基因: Prodigal暂不能预测RNA基因


? 处理含有内含子的基因: 原核生物种含有内含子的基因非常罕见,所以Prodiga省


去了对这一部分基因的预测


? 基因功能注释: Prodigal并不为它预测的基因提供功能注释


? 处理移码突变(frame shifts): 不包含任何处理碱基插入或删除的逻辑, Indel类型的


测序错误将对基因预测产生影响


? 病毒基因预测: 慎重,尽管可以进行预测, 但是没有大规模验证


4、安装


conda install -c bioconda prodigal


5、输入文件


多种类型的基因组文件:


? Finished genomes: 原核生物基因组完整基因组


? Draft genomes: 原核生物组装草图基因组


? Metagenomes:元基因组组装基因组


Prodigal适用于上述所有基因组的基因预测,并且支持多种格式的输入文件


? 单个或多个序列的FASTA格式序列


? 单个或多个序列的Genbank格式序列


? 单个或多个序列的EMBL格式序列


? 推荐FASTA格式序列


6、基本命令


conda activate py2env


conda install prodigal -c bioconda


perl filter.pl contig.fa ###删去500bp 一下的序列,生成filter.fa


比如: perl /home/wz/prodigal/filter.pl M3W4_3_final.contigs.fa


这一步需要用到一个名为filter.pl的脚本


#!/usr/bin/perl


open IN,"$ARGV【0】";


open OUT,">./filter.fa";


$/ = ">";


readline(IN);


while($line=)


{


$line =~ s/>//g;


($name,$seq) = split(/\n/,$line,2);


$seq =~ s/\n//g;


$len = length($seq);


if($len >= 500)


{


print OUT ">$line\n";


}


else


{


next;


}


}


prodigal -a ./prodigal/protein.fa -d ./prodigal/dna.fa -i ./megahit/finalfinal.contigs.fa -m -o ./prodigal/temp.txt -p meta -q


-a ./prodigal/protein.fa: 设置输出文件 protein.fa,将预测到的氨基酸序列写入该文件。


-d ./prodigal/dna.fa: 设置输出文件 dna.fa,将预测到的dna序列写入该文件。


-i ./megahit/finalfinal.contigs.fa: 输入文件为 finalfinal.contigs.fa,代表拼接好的contigs序列。


-m: 指示 prodigal 使用 meta 模式,以便处理宏转录组或宏基因组样本。


-o ./prodigal/temp.txt: 设置输出文件 temp.txt,具体输出内容和格式由 -p 参数控制。


-p meta: 指示 prodigal 输出与 meta 模式相关的信息,例如orf(开放阅读框架)预测结果、编码调整状态等。可以选择其他模式,如 single、normal 或 mito,分别用于常见基因组、无线粒体基因组和原核基因组的预测。


-q: 禁用标准错误输出。


接下来,对得到的dna和蛋白进行rename ###否则可能报错有相同名字的序列


对得到的dna和蛋白进行rename ###否则可能报错有相同名字的序列


perl rename.pl dna.fa ###得到dna_rename.fa


建立专门装所有样品dna序列的文件夹dna


建立专门装所有样品protein序列的文件夹protein


mv dna_rename.fa ../dna/0414.fa ###命名为样品名字


mv protein_rename.fa ../protein/0414.fa ###命名为样品名字


#将所有核酸序列dna.fa (rename后的) cat在一起dna_all.fa


#将所有蛋白序列protein.fa (rename后的) cat在一起protein_all.fa


这一步需要用到一个名为rename2.pl的脚本


#!/usr/bin/perl


open IN,"$ARGV【0】";


$a = $ARGV【0】;


$a =~ /(\S+).fa/;


$name = $1;


open OUT,">./${name}rename.fa";


while($line=)


{


if($line =~ /^>/)


{


$line =~ s/>/>$name\/;


print OUT "$line";


}


else


{


print //代码效果参考:http://www.jhylw.com.cn/445039277.html

OUT "$line";

}


}


##################################################################################


perl /home/wz/prodigal/filter.pl M3W4_3_final.contigs.fa


prodigal -a ./protein.fa -d ./dna.fa -i ./filter.fa -m -o ./temp.txt -p meta -q


perl rename2.pl dna.fa


perl rename2.pl protein.fa


mv dna_rename.fa M3W4_3.fa


perl rename2.pl M3W4_3.fa


mv M3W4_3_rename.fa /home/wz/prodigal/dna


mv protein_rename.fa M3W4_3.fa


perl rename2.pl M3W4_3.fa


mv M3W4_3_rename.fa /home/wz/prodigal/protein


#################################################################################################


7、输出文件


这些DNA序列表示一个基因组上的一段DNA序列。下面是每一部分的详细分析:


B1W10_1_dna_k127_18_1: 这是这个DNA序列的名称或ID,可能是根据序列名或位置生成的。


2: 表示这个DNA序列所在的染色体数目或序号。


235: 表示这个DNA序列起始位置的基对编号。


-1: 表示这个DNA序列的朝向或方向,-1表示反向互补链,+1表示正向链。


ID=2_1;partial=10;start_type=ATG;rbs_motif=GGAGG;rbs_spacer=3-4bp;gc_cont=0.667 :这个是各种附加信息和注释(metadata and annotations)的标签。具体来说,


ID=2_1表示这个DNA序列的ID,通常由基因号和isoform号组成;


partial=10表示这个DNA序列不完整,在N端或C端已经有10个氨基酸缺失;


start_type=ATG表示这个DNA序列的起始密码子是ATG;


rbs_motif=GGAGG和rbs_spacer=3-4bp描述了几个在细胞内起催化作用的区域;


gc_cont=0.667表示这段DNA序列的GC含量为0.667。


这些信息和注释可以帮助科学家研究基因组结构和功能,例如识别起始密码子、翻译启动子、启动转录子和编码蛋白质的区域。


这是一个蛋白质序列的输出,下面是每一部分的解释:


B1W10_1_protein_k127_18_1:这是该蛋白质的名称或ID。


2:这是该蛋白质在基因组中的位置(第2个基因)。


235:这是该蛋白质在基因组中的终止位置。


-1:这是该蛋白质的方向,-1表示逆向。


ID=2_1;partial=10;start_type=ATG;rbs_motif=GGAGG;rbs_spacer=3-4bp;gc_cont=0.667:这是一些关于该蛋白质的注释信息,包括其基因编号、起始位点、起始密码子类型和RBS序列等。


Prodigal是一种常见的宏基因组分析软件,用于预测基因和开放阅读框(ORF)。该软件使用隐藏马尔科夫模型来识别约束编码区域(CDS),并将ORF识别为可能的编码序列。因此,上述输出表示了通过Prodigal预测出的CDS的相应信息。


Prodigal 是一个基因预测软件,用于在基因组序列中寻找编码蛋白质的基因。它采用了一种称为“开放阅读框架(open reading frame, ORF)”的策略来识别潜在的基因。从DNA序列中预测出的ORFs是可能编码蛋白质的特定区域,这些区域具有启动子、终止子等特定标志。Prodigal 能够识别和预测含有起始密码子和终止密码子的ORFs,并做出判断是否是一个具有生物学功能的基因。


对于DNA序列,Prodigal 的预测就是找到每个开放阅读框架(ORF),并与数据库进行比对来预测编码蛋白质的基因。此外,该软件还可以根据概率模型评估每个ORF的概率成为一个真正的基因序列。同时,它也能预测非编码RNA(例如:tRNA或rRNA)等重要的RNA分子,提高了基因寻找的准确性和鉴别力。


综上所述,Prodigal 主要通过对开放阅读框架(ORF)的预测,结合各种算法进行分析及判断,识别并预测出蛋白质基因的序列,并支持其他生物学功能注释。


EOF

相关文章
|
7月前
|
数据挖掘 数据库
略微学习一下二区4.5分纯生信,单基因肺结核叶酸基因集+泛癌分析
研究摘要: 一项发表于2023年《MEDIATORS OF INFLAMMATION》杂志的文章发现,RTP4基因可能成为诊断肺结核的新生物标志物。研究者通过分析GEO数据库中的多个微阵列数据集,使用WGCNA方法识别与肺结核和叶酸生物合成相关的基因模块。RTP4在健康与肺结核患者间的表达有显著差异,并且在抗结核治疗前后表达量变化。泛癌分析显示,RTP4在不同肿瘤类型中的表达与预后关联不一,提示其可能在多种癌症中具有重要功能。这些发现支持RTP4作为诊断工具的潜力,并为进一步研究其在结核病和癌症中的作用奠定了基础。
92 1
|
网络协议 大数据 数据挖掘
文献丨多组学大数据构建小麦穗发育转录调控网络,TRN+GWAS挖掘关键转录调控(二)
文献丨多组学大数据构建小麦穗发育转录调控网络,TRN+GWAS挖掘关键转录调控(二)
|
6月前
|
数据采集 算法 数据可视化
审稿人:拜托,请把模型时间序列去趋势!!
**时间序列去趋势概述** 时间序列分析中,去趋势是关键步骤,旨在消除长期变化模式以便更好地分析数据。趋势可以上升、下降或平稳。常用去趋势方法包括移动平均、差分和多项式拟合。移动平均通过计算窗口内平均值平滑数据;差分通过相邻点差值去除趋势;多项式拟合通过拟合函数描述并减去趋势。去趋势后数据更平稳,便于预测和决策。实际应用如股票市场、气象和经济指标分析。在处理时需注意数据周期性、过度拟合和预处理。
123 5
审稿人:拜托,请把模型时间序列去趋势!!
|
7月前
|
机器学习/深度学习 数据可视化 算法
PACNet & CellNet(代码开源)|bulk数据作细胞分类,评估细胞命运性能的一大利器
PACNet和CellNet都是强大的工具,分别用于研究细胞命运工程和细胞类型保真度,它们在细胞类型分类和网络分析方面有所不同,可以根据研究需求选择合适的工具。
132 1
|
大数据 数据挖掘 Go
文献丨多组学大数据构建小麦穗发育转录调控网络,TRN+GWAS挖掘关键转录调控(一)
文献丨多组学大数据构建小麦穗发育转录调控网络,TRN+GWAS挖掘关键转录调控
|
数据可视化 大数据 数据挖掘
文献丨多组学大数据构建小麦穗发育转录调控网络,TRN+GWAS挖掘关键转录调控(三)
文献丨多组学大数据构建小麦穗发育转录调控网络,TRN+GWAS挖掘关键转录调控(三)
|
机器学习/深度学习 数据采集 传感器
机器学习实战系列[一]:工业蒸汽量预测(最新版本上篇)含数据探索特征工程等
在工业蒸汽量预测上篇中,主要讲解了数据探索性分析:查看变量间相关性以及找出关键变量;数据特征工程对数据精进:异常值处理、归一化处理以及特征降维;在进行归回模型训练涉及主流ML模型:决策树、随机森林,
|
数据可视化 数据挖掘 Python
跟着Science学数据分析:利用三代测序数据(PacBio)鉴定结构变异
跟着Science学数据分析:利用三代测序数据(PacBio)鉴定结构变异
|
数据可视化 数据挖掘 Windows
单细胞免疫组库VDJ| 从零开始scRepertoire分析,解决真实场景中可能的问题(上)
单细胞免疫组库VDJ| 从零开始scRepertoire分析,解决真实场景中可能的问题
865 0
|
数据处理
单细胞免疫组库VDJ| 从零开始scRepertoire分析,解决真实场景中可能的问题(下)
单细胞免疫组库VDJ| 从零开始scRepertoire分析,解决真实场景中可能的问题(下)
521 0