基因注释:MAKER全记录(参照徐洲更老师)

MAKER 目前支持

🔹SNAP (效果好、易于训练,但在长内含子的基因组上表现不如其他软件)
🔹Augustus (效果好、训练麻烦但提升效果好)
🔹GeneMark (自我训练,在碎片化基因组或长内含子上表现不佳)
🔹FGENESH (效果好,但是训练需要花钱)

1.AUGUSTUS
将PASA获得的database.sqlite.assemblies.fasta.transdecoder.genome.gff3转为genbank格式
augustus/scripts/gff2gbSmallDNA.pl database.sqlite.assemblies.fasta.transdecoder.genome.gff3 genome.fasta 1000 trans.gene.raw.gb 
过滤可能错误的基因结构
#创建物种初始化hmm文件
augustus/scripts/new_species.pl  --species=new 
#训练,捕捉错误
augustus/bin/etraining --species=new --stopCodonExcludedFromCDS=false trans.gene.raw.gb 2> train.err 
#过滤错误
cat train.err | perl -pe 's/.*in sequence (\S+): .*/$1/' > badgenes_list.txt
augustus/scripts/filterGenes.pl badgenes_list.txt trans.gene.raw.gb > trans.genes.gb
初步训练

将过滤后的trans.genes.gb随机分为训练集trans.genes.gb.train和测试集trans.genes.gb.test ,为了使测试准确性具有统计学意义,测试集应该足够大(包括100~200个loci),剩余loci包含在训练集中。

augustus/scripts/randomSplit.pl trans.genes.gb 100 #100是测试集的loci数

创建初始化HMM参数文件,并进行训练,从头预测trans.genes.gb.train中的基因

augustus/scripts/new_species.pl --species=new
augustus/bin/etraining --species=new trans.genes.gb.train | tee firsttest.out
grep -A 22 Evaluation firsttest.out #查看报告
*******      Evaluation of gene prediction     *******

---------------------------------------------\
                 | sensitivity | specificity |
---------------------------------------------|
nucleotide level |       0.873 |       0.626 |
---------------------------------------------/

----------------------------------------------------------------------------------------------------------\
           |  #pred |  #anno |      |    FP = false pos. |    FN = false neg. |             |             |
           | total/ | total/ |   TP |--------------------|--------------------| sensitivity | specificity |
           | unique | unique |      | part | ovlp | wrng | part | ovlp | wrng |             |             |
----------------------------------------------------------------------------------------------------------|
           |        |        |      |                253 |                101 |             |             |
exon level |    484 |    332 |  231 | ------------------ | ------------------ |       0.696 |       0.477 |
           |    484 |    332 |      |   35 |    0 |  218 |   36 |    0 |   65 |             |             |
----------------------------------------------------------------------------------------------------------/

----------------------------------------------------------------------------\
transcript | #pred | #anno |   TP |   FP |   FN | sensitivity | specificity |
----------------------------------------------------------------------------|
gene level |   156 |   100 |   47 |  109 |   53 |        0.47 |       0.301 |
----------------------------------------------------------------------------/
100个基因中有47个被准确预测
69.6%的外显子被准确预测
47.7%预测的外显子在测试集中确切存在

使用optimize_augustus.pl可以将预测准确度提高几个百分点,但极其耗时

augustus/scripts/optimize_augustus.pl --species=new trans.genes.gb.train 

在optimize_augustus.pl完成后,重新使用它设置的参数进行训练

augustus/bin/etraining --species=new trans.genes.gb.train 

用测试集检查预测准确度

augustus/bin/augustus --species=new trans.genes.test.gb

如果sensitivity低于20%,可能是训练集不够大、基因组质量不高或者物种在某种程度上很“特殊”

2.SNAP模型训练

①SNAP是从基因组中从头预测基因的软件,首先训练一个包含转录组序列与基因组比对结果的SNAP模型

maker -CTL 
vi maker_opts.ctl
 genome=genome.fasta #基因组序列
 est=trinity.fasta #从头组装的转录组序列
 protein=protein.fasta #t同源蛋白序列
 est2genome=1
 protein2genome=1
 cpus=12
maker &> maker.log &

②将上一步生成的结果转换为构建SNAP模型的输入文件

mkdir SNAP && cd SNAP
maker/bin/gff3_merge -d ../genome.fasta.maker.output/genome.fasta_master_datastore_index.log
maker/bin/maker2zff -c 0.8 -e 0.8 -o 0.8 -x 0.2 genome.fasta.all.gff

🔹maker2zff生成一个ZFF格式文件(genome.ann)和一个FASTA格式文件(genome.dna),过滤用于再次训练的高置信度基因,共有7个选项:
-c 由EST/mRNA-Seq比对确定的剪接位点的比例,默认0.5
-e 与EST/mRNA-Seq比对重叠的外显子的比例,默认0.5
-o 和任何证据(EST或者蛋白)重叠的外显子的比例,默认0.5
-a 从头预测证实的剪接位点的比例,默认0
-t 和从头预测结果重叠的外显子的比例,默认0
-l mRNA翻译的蛋白质序列的最短长度
-x 最大AED值,默认0.5
-n 不过滤
🔸AED值:maker2使用注释编辑距离(AED)来评估基因组注释的准确性,AED是一个介于 0 和 1 之间的数字,衡量注释与支持它的evidence的拟合优度,0 表示与可用证据完全一致,1 表示缺乏对注释基因模型的支持

③接着构建模型,生成输入maker2的hmm文件

SNAP/fathom -categorize 1000 genome.ann genome.dna
SNAP/fathom -export 1000 -plus uni.ann uni.dna
SNAP/forge export.ann export.dna
SNAP/hmm-assembler.pl snap . > snap.hmm

④回到maker2的文件夹,编辑maker_opts.ctl,重新运行maker2

vi maker_opts.ctl
 genome=genome.fasta
 est=trinity.fasta
 protein=protein.fasta
 snap=snap.hmm
 est2genome=0 #直接从EST中预测基因,1=yes,0=no
 protein2genome=0
maker &> maker.log &

②-④重复2~3次

ERROR: Could not determine if RepBase is installed

参考ERROR: Could not determine if RepBase is installed · Issue #16501 · bioconda/bioconda-recipes · GitHub
将maker_opts.ctl文件中的model_org设为空选项,不会检查RepBase有没有安装

ERROR:Comparison failed. Retrying with larger minmatch (10)

根据custom de novo library failing - batch failures and "Comparison failed. Retrying with larger minmatch (10)" · Issue #124 · rmhubley/RepeatMasker · GitHub,暂无解决办法
参考文章:
MAKER Tutorial for WGS Assembly and Annotation Winter School 2018 - MAKER Wiki (utah.edu)
http://www.yandell-lab.org/publications/pdf/maker_current_protocols.pdf
https://vcru.wisc.edu/simonlab/bioinformatics/programs/augustus/docs/tutorial2015/training.html
使用MAKER进行基因注释(高级篇之AUGUSTUS模型训练) - 简书 (jianshu.com)
https://biohpc.cornell.edu/doc/annotation_2018_exercises1.pdf
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3280279/
https://www.nature.com/articles/s41598-018-26416-2
http://weatherby.genetics.utah.edu/MAKER/wiki/index.php/The_MAKER_control_files_explained

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容

  • 基因组组装完成后,或者是完成了草图,就不可避免遇到一个问题,需要对基因组序列进行注释。注释之前首先得构建基因模型,...
    xuzhougeng阅读 50,339评论 11 184
  • 准备阶段 训练SNAP模型,需要准备三个文件,分别是参考基因组序列,组装的转录本序列和同源蛋白序列。 对于参考基因...
    xuzhougeng阅读 4,388评论 2 12
  • 使用BRAKER2进行基因组注释 BRAKER2是一个基因组注释流程,能够组合GeneMark,AUGUSTUS和...
    xuzhougeng阅读 5,934评论 0 21
  • 1. 组装基因组质控 得到组装好的基因组序列之后,首先要使用多种方法评估组装质量。这里用到2款可用于基因组组装质量...
    扇子和杯子阅读 11,976评论 1 49
  • 目前的从头预测软件大多是基于HMM(隐马尔科夫链)和贝叶斯理论,通过已有物种的注释信息对软件进行训练,从训练结果中...
    斩毛毛阅读 20,881评论 5 29