使用MAKER进行基因注释(高级篇之SNAP模型训练)

简介: 训练 ab initio 基因预测工具(以SNAP为例)对于一个新的物种而言,你大概率是没有一个高质量的基因模型去进行基因预测。但是我们可以利用EST序列(少部分物种估计有)、二代测序数据、同源物种蛋白序列,先直接用Maker做基因注释,尽管得到的模型可能不是特别的完美,但可以作为输入反复迭代运行Maker,从而提高最终的表现。

训练 ab initio 基因预测工具(以SNAP为例)

对于一个新的物种而言,你大概率是没有一个高质量的基因模型去进行基因预测。但是我们可以利用EST序列(少部分物种估计有)、二代测序数据、同源物种蛋白序列,先直接用Maker做基因注释,尽管得到的模型可能不是特别的完美,但可以作为输入反复迭代运行Maker,从而提高最终的表现。

这次使用的是下载的练习数据集(见附录)

cd ~/maker_tutorial/example_02_abinitio

同样,让我们先构建配置文件,并修改如下配置

maker -CTL
vim maker_opts.ctl
# modify the following line
genome=pyu_contig.fasta
est=pyu_est.fasta
protein=sp_protein.fasta
est2genome=1
protein2genome=1

这里的"est2genome"和"protein2genome"表示直接从EST序列和同源但序列中推测基因结构,当然这肯定不靠谱。不过没有关系,我们的目标是将其作为输入用于训练而已。

运行预测程序,大约需要20分钟

~/opt/biosoft/maker/bin/maker &> maker.log &

那么下一步就是收集所有的GFF文件,整理成SNAP所需的ZFF格式

mkdir snap
cd snap
~/opt/biosoft/maker/bin/gff3_merge -d ../pyu_contig1.maker.output/pyu_contig1_master_datastore_index.log
~/opt/biosoft/maker/bin/maker2zff pyu_contig1.all.gff

于是我们就会在snap文件下得到"genome.ann"和"genome.dna". 在这两个文件的基础上,我们就可以参考SNAP的文档开始训练

可以先用fathom genome.ann genome.dna -gene-stats了解基因的一些信息,比如说这里的测试数据集就有153个基因,几乎平均的分布在正负链上。

1 sequences
0.525725 avg GC fraction (min=0.525725 max=0.525725)
153 genes (plus=79 minus=74)
5 (0.032680) single-exon
148 (0.967320) multi-exon
130.782104 mean exon (min=3 max=704)
87.851593 mean intron (min=61 max=384)

此外还可以用fathom genome.ann genome.dna -validate检查下是否有明显的错误,这里的153个基因有106个warning,警告类型粗略看了一眼基本都是CDS不完整。

后续就可以开始参数预测。步骤是,先用fathom -genome.ann genome.dna -categorize 1000将序列分类,这里的1000表示基因两侧会额外有1000bp的序列。该参数推荐使用基因一半的长度,如果基因比较稠密则要调低。这一步会生成如下文件:

  • alt.ann, alt.dna (genes with alternative splicing)
  • err.ann, err.dna (genes that have errors)
  • olp.ann, olp.dna (genes that overlap other genes)
  • wrn.ann, wrn.dna (genes with warnings)
  • uni.ann, uni.dna (single gene per sequence)

这里只用第四类的基因,也就是每个序列上只有一个基因。用fathom uni.ann uni.dna -export 1000 -plus只输出unigene中正链基因,这一步同样会生成四个文件

  • export.aa 每个基因的蛋白序列
  • export.ann 正链的基因结构
  • export.dna 正链的DNA
  • export.tx 每个基因的转录本

接着让forge负责预测参数, 由于输出会很多,所以建议创建个文件夹

mkdir params
cd params
forge ../export.ann ../export.dna
cd ..

最后是hmm-assembler.pl构建HMM,即基因模型文件, hmm-assembler pyu params > pyu1.hmm

完成SNAP的模型构建后,修改"maker_opts.ctl"用以增加该文件,并不再用est和protein直接推测基因结构。

snaphmm=pyu1.hmm
est2genome=0
protein2genome=0

再一次运行maker

~/opt/biosoft/maker/bin/maker &> maker.log &

这次结果会比上一次有很明显的提升,你可以重复上面的代码从而进一步提高SNAP的模型。

目录
相关文章
|
机器学习/深度学习 人工智能 自然语言处理
一文尽览 | 开放世界目标检测的近期工作及简析!(基于Captioning/CLIP/伪标签/Prompt)(上)
人类通过自然监督,即探索视觉世界和倾听他人描述情况,学会了毫不费力地识别和定位物体。我们人类对视觉模式的终身学习,并将其与口语词汇联系起来,从而形成了丰富的视觉和语义词汇,不仅可以用于检测物体,还可以用于其他任务,如描述物体和推理其属性和可见性。人类的这种学习模式为我们实现开放世界的目标检测提供了一个可以学习的角度。
一文尽览 | 开放世界目标检测的近期工作及简析!(基于Captioning/CLIP/伪标签/Prompt)(上)
|
7月前
|
人工智能 自然语言处理 数据处理
首次引入大模型!Bert-vits2-Extra中文特化版40秒素材复刻巫师3叶奈法
Bert-vits2项目又更新了,更新了一个新的分支:中文特化,所谓中文特化,即针对中文音色的特殊优化版本,纯中文底模效果百尺竿头更进一步,同时首次引入了大模型,使用国产IDEA-CCNL/Erlangshen-MegatronBert-1.3B大模型作为Bert特征提取,基本上完全解决了发音的bad case,同时在情感表达方面有大幅提升,可以作为先前V1.0.1纯中文版本更好的替代。
首次引入大模型!Bert-vits2-Extra中文特化版40秒素材复刻巫师3叶奈法
|
7月前
|
机器学习/深度学习 编解码 人工智能
SAM-Med | 英伟达基于SAM提出医学图像标注效率神器
SAM-Med | 英伟达基于SAM提出医学图像标注效率神器
352 0
|
7月前
|
机器学习/深度学习 自然语言处理 算法
Coggle 30 Days of ML(23年7月)任务三:使用TFIDF提取文本特征
Coggle 30 Days of ML(23年7月)任务三:使用TFIDF提取文本特征
|
数据可视化 算法 搜索推荐
Sentieon | 每周文献-Gene Editing(基因编辑)-第六期
Sentieon | 每周文献-Gene Editing(基因编辑)-第六期
77 0
Sentieon | 每周文献-Gene Editing(基因编辑)-第六期
|
机器学习/深度学习 算法 数据挖掘
Sentieon | 每周文献-Benchmark and Method Study(基准与方法研究)-第八期
Sentieon | 每周文献-Benchmark and Method Study(基准与方法研究)-第八期
95 0
|
人工智能 编解码
告诉Stable Diffusion 2.0你不想要什么,生成效果更好:Negative Prompt显奇效(1)
告诉Stable Diffusion 2.0你不想要什么,生成效果更好:Negative Prompt显奇效
346 1
|
XML 人工智能 JSON
告别手动标注时代 | SAM 助力 Label-Studio 形成 SOTA 级半自动标注工具
告别手动标注时代 | SAM 助力 Label-Studio 形成 SOTA 级半自动标注工具
2229 0
告别手动标注时代 | SAM 助力 Label-Studio 形成 SOTA 级半自动标注工具
|
机器学习/深度学习 自然语言处理 JavaScript
7 Papers & Radios | 首个用于工业开发的自动代码生成系统;多模态图像合成与编辑综述
7 Papers & Radios | 首个用于工业开发的自动代码生成系统;多模态图像合成与编辑综述
244 0
|
存储 负载均衡 计算机视觉
【训练Trick】让你在一张卡上训练1000万个id人脸数据集成为可能(附开源代码和论文链接)
【训练Trick】让你在一张卡上训练1000万个id人脸数据集成为可能(附开源代码和论文链接)
123 0