1. 引言
最近两款基于机器学习的基因预测软件ANNEVO和Helixer很火,实测下来确实比Agustus的表现好的不止一点。Helixer虽然可以通过网站提交,但是需要排队,还是本地部署方便。为了本地使用这两个软件,我特意购入了一个RTX 5060 Ti的显卡。
2. Helixer
推荐使用Docker和Apptainer等容器运行,方便快捷,这里我选择使用Apptainer进行配置。
安装Apptainer
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository -y ppa:apptainer/ppa
sudo apt update
sudo apt install -y apptainer
拉取Apptainer镜像
apptainer pull docker://gglyptodon/helixer-docker:latest
下载训练好的模型
apptainer run helixer-docker_latest.sif fetch_helixer_models.py
下载示例数据
wget ftp://ftp.ensemblgenomes.org/pub/plants/release-47/fasta/arabidopsis_lyrata/dna/Arabidopsis_lyrata.v.1.0.dna.chromosome.8.fa.gz
会输出下面四条信息,记录下载的模型和位置信息:
saved model land_plant_v0.3_a_0080.h5 to /home/majunpeng/.local/share/Helixer/models
saved model vertebrate_v0.3_m_0080.h5 to /home/majunpeng/.local/share/Helixer/models
saved model fungi_v0.3_a_0100.h5 to /home/majunpeng/.local/share/Helixer/models
saved model invertebrate_v0.3_m_0100.h5 to /home/majunpeng/.local/share/Helixer/models
基因预测
apptainer run --nv helixer-docker_latest.sif Helixer.py \
--fasta-path Arabidopsis_lyrata.v.1.0.dna.chromosome.8.fa.gz --lineage land_plant \
--gff-output-path Arabidopsis_lyrata_chromosome8_helixer.gff3
# --fasta-path 输入基因组文件
# --gff-output-path 预测结果的gff文件
# --lineage 模型
实测注释的速度很快,测试数据运行了几分钟就跑完了,我的显卡是16G显存的,大家可以参考一下。
2. ANNEVO
这是我自己长期用的软件,很好的替代了Augutus,并且和Helixer不同,貌似对GPU的依赖不大,之前我的显卡显存只有2G都可以正常用。
安装
git clone https://github.com/xjtu-omics/ANNEVO.git
cd ANNEVO
conda env create -f ANNEVO.yml -n your_env_name
官方推荐的安装方法我踩雷了,因为我的CUDA版本是12.8,yml文件中写的是13.0。
mamba create -n ANNEVO python=3.10 -y
mamba install pytorch==2.8.0 torchvision torchaudio pytorch-cuda -c pytorch -c nvidia
使用上面的命令安装成功了,需要注意的是pytorch的版本要和自己的显卡对上,一些旧的显卡可能支持的pytorch版本很低,我的卡比较新所有直接下载最新的2.8.0.
基因预测
python annotation.py \
--threads 40 \
--genome example/Arabidopsis_chr4_genome.fna \
--model_path ANNEVO_model/ANNEVO_Embryophyta.pt \
--output TW-2024a.gff
# --threads 运行的CPU数量
# --model_path 模型的路,径根据物种自行选择
# --output 输出的注释文件
结语
实测一下,比Augutus注释结果好的不是一星半点,BUSCO值高了很多,可以在EVM整合的时候将这两个软件替代Agustus。