# 前言
最近的推文将是一个大系列,目录就不放了,可能会有点多,主要涉及了基因注释,比较基因组学分析,基因家族分析等,大家看我博客的顺序就行。
基因注释参考链接 (不得不说州更大神真的是植物生信方面的专家了)
基因注释主要有三种策略
从头注释 (de novo prediction):通过已有的概率模型来预测基因结构,在预测剪切位点和 UTR 区准确性较低
同源预测 (homology-based prediction):有一些基因蛋白在相近物种间的保守型搞,所以可以使用已有的高质量近缘物种注释信息通过序列联配的方式确定外显子边界和剪切位点
基于转录组预测 (transcriptome-based prediction):通过物种的 RNA-seq 数据辅助注释,能够较为准确的确定剪切位点和外显子区域。
每一种方法都有自己的优缺点,所以最后需要用 EvidenceModeler (EVM) 和 GLEAN 工具进行整合,合并成完整的基因结构。基于可靠的基因结构,后续可才是功能注释,蛋白功能域注释,基因本体论注释,通路注释等。
在注释之前需要对重复序列进行屏蔽,可以参考我之前的推文:repeatmasker 的安装与使用
# 从头注释
可以看到在该文献中从头注释使用的是 augustus 和 GlimmerHMM
# augustus 根据已有模型训练
AUGUSTUS 的无 root 安装比较麻烦,我折腾了好几天最后卒,不过辛亏有 bioconda, conda create -n annotation augustus=3.3
我这次预测的基因是一种担子菌,可以使用 augustus --species=help
查看已有的物种,在本次分析中,我使用 laccaria_bicolor 作为已有的模型 (pudorinus.mask.fa 是去除重复序列的基因组序列)
augustus --species=laccaria_bicolor pudorinus.mask.fa > pudorinus.gff |
如果嫌慢,可以试一下并行策略
seqkit split pudorinus.mask.fa | |
find pudorinus.mask.fa.split/-type f -name "*.fa" | parallel -j 30 augustus --species=arabidopsis --gff3=on >> temp.gff #并行处理 | |
join_aug_pred.pl <temp.gff | grep -v '^#'> temp.joined.gff | |
bedtools sort -i temp.joined.gff > pudorinus.augustus.gff |
# 无监督训练模型
GeneMark-ES/ET 则是唯一一款支持无监督训练模型,之后再识别真核基因组蛋白编码区的工具。
wget http://topaz.gatech.edu/GeneMark/tmp/GMtool_Qg87n/gm_et_linux_64.tar.gz | |
tar xf gm_et_linux_64.tar.gz | |
mv gm_et_linux_64/gmes_petap/ /datadisk02/soft | |
wget http://topaz.gatech.edu/GeneMark/tmp/GMtool_Qg87n/gm_key_64.gz | |
gzip -dc gm_key_64.gz > ~/.gm_key | |
cpan YAML Hash::Merge Logger::Simple Parallel::ForkManager | |
echo "export PATH=$PATH:/datadisk02/soft/gmes_petap/" >> ~/.bashrc |
安装之后进行预测
gmes_petap.pl --ES --sequence pudorinus.mask.fa --cores 50 |
最后得到的是 genemark.gtf,是标准的 GTF 格式,可以使用 gffread 转换
gffread genemark.gtf -o- > pudorinus.genemarkes.gff3 |
从头注释已经完成,接下来的是同源与转录组。