Augustus 进行基因注释

目前的从头预测软件大多是基于HMM(隐马尔科夫链)和贝叶斯理论,通过已有物种的注释信息对软件进行训练,从训练结果中去推断一段基因序列中可能的结构,在这方面做的最好的工具是AUGUSTUS它可以仅使用序列信息进行预测,也可以整合EST, cDNA, RNA-seq数据作为先验模型进行预测。

  • 安装

安装较为复杂,可选用conda进行安装

  • 使用

(1)若存在已经被训练的物种(augustus --species=help查看),则直接使用一下代码进行预测基因,以拟南芥为例:

1 augustus --speices=arabidopsis test.fa > test.gff

(2)若不存在被训练过的物种,则需要进行训练

  • 准备训练集和测试集

根据Augutus的官方教程,可靠的基因结构序列的要求如下:

a. 提供基因的编码部分,包含上游几KB。通常而言,基因越多,效果越好,至少准备200个基因以上。还得保证这些基因中要有足够多的外显子,这样子才能训练内含子

b. 这些基因的基因结构一定要足够的准确。不过,也不需要百分百的正确,甚至注释都不需要特别的完整,只要保证起始密码子和终止密码子的准确是准确的即可。

c. 需要保证这些基因没有冗余,也就是说不同序列如果有几乎相同的注释后氨基酸序列,那么仅仅取其中一个(AUGUSTUS教程的建议是:保证任意两个基因在氨基酸水平上低于70%的相似度),这一步既可以避免过度拟合现象,也能用于检验预测的准确性

d. 一条序列允许有多个基因,基因可以在正链也可以在负链,但是这些基因间不能有重叠,每个基因只要其中一个转录本,存放格式是GenBank

之后随机将注释数据集分成训练集和测试集,为了保证测试集有统计学意义,因此测试集要足够多的基因(100~200个),并且要足够的随机。

基因结构集的可能来源有:

a. Genbank

b. EST/mRNA-seq的可变剪切联配, 如PASA

c. 临近物种蛋白的可变剪切联配,如GeneWise

d. 相关物种的数据

e. 预测基因的迭代训练

  • 流程如下

(1)格式转换;基于选取物种的GFF3以及ref.fa 文件将其转换为Genbank格式

1 perl ~/miniconda2/bin/gff2gbSmallDNA.pl ./Spinach_genome/spinach_gene_v1.gff3 ./Spinach_genome/spinach_genome_v1.fa 1000 genes.raw.gb

(2)尝试训练,捕捉错误;

1 etraining --species=generic --stopCodonExcludedFromCDS=false genes.raw.gb 2> train.err

(3)过滤掉可能错误掉基因结构

1 cat train.err | perl -pe ‘s/.*in sequence (\S+): .*/$1/‘ >badgenes.lst
2 filterGenes.pl badgenes.lst genes.raw.gb > genes.gb

(3.1)提取上一步顾虑后的genes.db中的蛋白,进行自身比对,并鉴定出identity <70%的基因,形成GFF3文件,而后在从格式转换开始进行操作 (有些人不进行这个操作)

(4)将上一步过滤后的文件随机分成两份,测试集和训练集。其中训练集的数目根据gb的LOCUS数目决定,至少要有200

1 ## 100 为测试集的基因数目,其余为训练集
2 randomSplit.pl genes.gb 100

(5)初始化HMM参数设置(在相应config中形成参数),并进行训练

1 new_species.pl --species=spinach
2 etraining --species=spinach genes.gb.train

(6)用测试数据集检验预测效果,这里可以比较我们训练的结果,和近缘已训练物种的训练效果

1 augustus --species=spinach genes.gb.test | tee firsttest.out
2 augustus --species=arabidopsis genes.gb.test | tee firsttest_ara.out

在 firsttest.out 的尾部可以查看预测结果的统计,首先需要解释几个统计学概念

  • TP(True Positive): 预测为真,事实为真
  • FP(False Positive): 预测为真,事实为假
  • FN(False Negative): 预测为假,事实为真
  • TN(True Negative): 预测为假,事实为假

基于上述,引出下面两个概念。"sensitivity"等于TP/(TP+FP)(预测到的百分率), 是预测为真且实际为真的占你所有认为是真的比例."specificity"等于TN/(TN+FN)(其中正确的百分率), 是预测为假且实际为假的占你所有认为是假的比例。我们希望在预测中,尽可能地不要发生误判,也就是没有基因的地方不要找出基因,有基因的地方不要漏掉基因。

(7)很有可能的一种情况是,我们第一次的训练结果没有已有训练的效果好,所以我们需要进行循环训练找到最优参数;(运行会非常费时间,而且最终的效果一般只能提高准确度几个百分点,慎重使用)

1 optimize_augustus.pl --species=spinach genes.gb.train

(8)再次进行训练,并检验,进行前后比较

1 etraining --species=spinach genes.gb.train
2 augustus --species=spinach genes.gb.test | tee secondtest.out
  • 如果此时你的gene level的sensitivity还是低于20%说明Trainning set不够大,请添加数据;
  • 如果你获得了满意的Trainning结果,请开始prediction

下面命令可用于从 firsttest.out 中提取氨基酸序列

sed -n ‘/^#/p‘ firsttest.out | sed -n ‘/start/,/\]/p‘ | sed ‘s/# start gene />/g;s/protein sequence \= \[//g;s/#//g;s/\]//g;s/^\s//g‘ >seq.fa

参考

原文地址:https://www.cnblogs.com/zhanmaomao/p/12359964.html

时间: 2024-11-09 00:47:11

Augustus 进行基因注释的相关文章

转录组入门(4):了解参考基因组及基因注释

任务列表 1.在UCSC下载hg19参考基因组: 2.从gencode数据库下载基因注释文件,并且用IGV去查看感兴趣的基因的结构,比如TP53,KRAS,EGFR等等. 3.截图几个基因的IGV可视化结构 4.下载ENSEMBL,NCBI的gtf,也导入IGV看看,截图基因结构 5.了解IGV常识 在UCSC下载hg19参考基因组 hg19.GRCH38. ensembl75这3种基因组版本应该是大家见得比较多的了,国际通用的人类参考基因组,其实他们储存的是同样的fasta序列,只是分别对应着

项目二:使用机器学习(SVM)进行基因预测

参考链接: LIBSVM -- A Library for Support Vector Machines(本项目所用到的SVM包)   SVM SVM - 知乎精华 支持向量机请通俗介绍 高中文化 请看Coursera的ML视频,里面有SVM     基因注释 基因组注释介绍  注释四部分:重复序列:非编码RNA:基因结构:功能注释. 真核基因组注释方法与流程的文章 : A beginner's guide to eukaryotic genome annotation 基因组注释分析主要包括

Annovar注释说明【转载自http://blog.csdn.net/u013816205/article/details/51262289】

ANNOVAR是一个perl编写的命令行工具,能在安装了perl解释器的多种操作系统上 执行.允许多种输入文件格式,包括最常被使用的VCF格式.输出文件也有多种格式,包括注释过的VCF文件.用tab或者逗号分隔的text文件. ANNOVAR能快速注释遗传变异并预测其功能.类似的variants注释软件还有 VEP, snpEff, VAAST, AnnTools等等. ANNOVAR支持三种不同形式的注释: gene-based, region-based 和filter-based. 这三种

annovar对人类基因组和非人类基因组variants注释流程

部分翻译:Hui Y, Kai W. Genomic variant annotation and prioritization with ANNOVAR and wANNOVAR[J]. Nature Protocols, 2015, 10(10). 此文只是用于作者和所有初接触annovar软件者分享交流.更深入学习请仔细阅读全文.转载请注明. ANNOVAR是一个perl编写的命令行工具,能在安装了perl解释器得多种操作系统上执行.允许多种输入文件格式,包括最常被使用的VCF格式.输出文

10、差异基因topGO富集

参考:http://www.biotrainee.com/thread-558-1-1.html http://bioconductor.org/packages/3.7/bioc/ http://www.bioconductor.org/packages/release/bioc/html/topGO.html topGO使用: 首先,我们制作准备文件,CC.BP.MF三个注释文件,格式为:基因ID\t GO:xxx,GO:yyy(topGO.map) 然后准备我们的差异基因列表,两列差异基因

KEGG数据库

参考:KEGG数据库中文教程 - 博奥  &[学习笔记]KEGG数据库 - 微信 学习一个技能最主要的事情你必须知道,那就是能通过它来做什么? KEGG数据库里面有什么? 如何查询某一特定的代谢途径(pathway)的信息,例如Glycolysis / Gluconeogenesis? 如何查询某一化合物的信息,例如Pyruvate? 如何查询Pyruvate涉及了哪些生化反应? 如何查询某一基因的信息,例如gltA ? 如何知道Bacillus subtilis是否有gltA? 如何查询 gl

antiSMASH数据库:微生物次生代谢物合成基因组簇查询和预测

2017年4月28日,核酸研究(Nucleic Acids Research)杂志上,在线公布了一个可搜索微生物次生代谢物合成基因组簇的综合性数据库antiSMASH数据库 4.0版,前3版年均引用250次,累计引物1600+:可实现基因组与基因组之间的相关天然产物合成基因簇的查询和预测. 临床上使用的大部分抗生素和药物均来自植物或微生物的天然产物.结合基因组挖掘的经典分离与分析法使得能鉴定和描述基于宏基因组的天然产物途径,该过程与研究结果是天然产物研究领域中在近二十年来较为创新的技术.为使该技

HarvardX: PH525.4x Introduction to Bioconductor第二周笔记

PH525.4x第二周内容围绕GRange类的操作和使用Annotation进行数据关联两个主题展开,并展示了几个比较“炫”的功能.由于内容繁多,信息量大,故笔记之以便日后参考.该课程的演示数据为ChIP-seq的实验数据,背景为人类肝细胞(cell line:HepG2和GM12878)中被ESRRA (estrogen related receptor alpha)绑定的基因片段.在展示数据操作之前,首先检查bioconductor的版本号,不同版本的输出可能存在差异. library(Bi

转载:ensemble计划和数据库

原文来源:x2yline在生信进化树上的评论,http://www.biotrainee.com/thread-626-1-1.html Ensemble( ensembl.org网站是常用真核生物参考基因组来源之一 )能够对人类基因自动进行注释,包括人类,小鼠,斑马鱼,猪和大鼠等,也包括来自HAVANA的人工注释信息.Ensembl是一项生物信息学研究计划,旨在开发种能够对真核生物基因组进行自动注释(automatic annotation)并加以维护的软件系统.该计划由英国Sanger研究所