紧急情况,eggnog网页版暂时无法使用,只能使用本地版了,附上hmm方法的教程
最新版参考教程:https://github.com/eggnogdb/eggnog-mapper/wiki/eggNOG-mapper-v2.1.5-to-v2.1.12
创建虚拟环境
1
2
3
conda create -n eggnog_env -c conda-forge python=3.7 Biopython=1.76 psutil=5.7.0 xlsxwriter=1.4.3 -y
# 激活虚拟环境
conda activate eggnog_env
pip 安装eggnog-mapper
1
pip install eggnog-mapper -i https://pypi.tuna.tsinghua.edu.cn/simple
下载数据库(Hmmer 方法)
-
查看程序
download_eggnog_data.py -h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
$ download_eggnog_data.py -h usage: download_eggnog_data.py [-h] [-D] [-F] [-P] [-M] [-H] [-d HMMER_DBS] [--dbname DBNAME] [-y] [-f] [-s] [-q] [--data_dir] optional arguments: -h, --help show this help message and exit -D Do not install the diamond database (default: False) -F Install the novel families diamond and annotation databases, required for "emapper.py -m novel_fams" (default: False) -P Install the Pfam database, required for de novo annotation or realignment (default: False) -M Install the MMseqs2 database, required for "emapper.py -m mmseqs" (default: False) -H Install the HMMER database specified with "-d TAXID". Required for "emapper.py -m hmmer -d TAXID" (default: False) -d HMMER_DBS Tax ID of eggNOG HMM database to download. e.g. "-H -d 2" for Bacteria. Required if "-H". Available tax IDs can be found at http://eggnog5.embl.de/#/app/downloads. (default: None) --dbname DBNAME Tax ID of eggNOG HMM database to download. e.g. "-H -d 2 --dbname 'Bacteria'" to download Bacteria (taxid 2) to a directory named Bacteria (default: None) -y assume "yes" to all questions (default: False) -f forces download even if the files exist (default: False) -s simulate and print commands. Nothing is downloaded (default: False) -q quiet_mode (default: False) --data_dir Directory to use for DATA_PATH. (default: None)
-h, –help: 显示帮助信息并退出;
-D: 不安装diamond数据库(默认:False);
-F: 安装novel families的diamond和注释数据库,这对于
emapper.py -m novel_fams
是必需的(默认:False);-P: 安装Pfam数据库,这对于de novo注释或重新比对是必需的(默认:False);
-M: 安装MMseqs2数据库,这对于
emapper.py -m mmseqs
是必需的(默认:False);-H: 安装指定的HMMER数据库。这对于
emapper.py -m hmmer -d TAXID
是必需的(默认:False);-d HMMER_DBS: 要下载的eggNOG HMM数据库的Tax ID。例如,
-H -d 2
表示下载细菌的数据库。如果使用-H
参数,则此参数是必需的。可用的Tax ID可以在 eggNOG下载页面 找到(默认:None);–dbname DBNAME: 要下载的eggNOG HMM数据库的Tax I的名称。例如,
-H -d 2 --dbname 'Bacteria'
表示下载细菌(Tax ID: 2)并将其存储在名为 “Bacteria” 的目录中(默认:None);-y: 假设对所有问题的回答都是“是”(默认:False);
-f: 即使文件已存在也强制下载(默认:False);
-s: 模拟并打印命令。不下载任何内容(默认:False);
-q: 安静模式(默认:False);
–data_dir: 用于存储数据的目录路径(默认:None);
-
方法一:使用wget下载
-
第一步下载注释数据库
1 2 3 4 5 6
# 创建存放数据路的路径 mkdir ./eggnog_db # 下载数据库 wget http://eggnog6.embl.de/download/emapperdb-5.0.2/eggnog.db.gz ./eggnog_db && gunzip ./eggnog_db/eggnog.db.gz # 解压 gunzip ./eggnog_db/eggnog.db.gz
-
第二步下载hmm数据库(由于wget下载非常慢,建议在网页下载,再上传到服务器)
1 2 3 4
# 创建hmm数据库路径 mkdir -p ./eggnog_db/hmmer/Eukaryota wget http://eggnog5.embl.de/download/eggnog_5.0/per_tax_level/2759//2759_hmms.tar.gz -p ./eggnog_db/hmmer/Eukaryota wget http://eggnog5.embl.de/download/eggnog_5.0/per_tax_level/2759//2759_raw_algs.tar -p ./eggnog_db/hmmer/Eukaryota
-
第三步,直接复制到命令行
1
cd ./eggnog_db/hmmer/Eukaryota
- 解压raw_alg.faa.gz(耗时长)
直接粘贴到命令行就行
1 2 3 4 5 6 7 8 9 10 11 12 13
echo "Decompressing FASTAs..." && \ tar xf 2759_raw_algs.tar && \ echo 2759/* | xargs mv -t ./ && \ rm -r 2759 && \ rm 2759_raw_algs.tar && \ numf=$(find ./ | grep -c ".faa.gz$") && \ curr=0 && \ for file in $(find ./ | grep ".faa.gz$"); do \ curr=$((curr+1)); \ echo "processing FASTAs... ${file} (${curr}/${numf})"; \ outf=$(echo "$file" | sed "s/.raw_alg.faa.gz/.fa/"); \ zcat "$file" | awk '/^>/{print; next}{gsub("-", ""); print}' > "$outf" && rm "$file"; \ done
- 解压2759_hmms.tar.gz (耗时长)
注意把18行的/home/hanfc/anaconda3/envs/eggnog_env/lib/python3.7/site-packages/eggnogmapper/bin
替换成自己的路径
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
echo "Decompressing HMMs..." && \ tar zxf 2759_hmms.tar.gz && \ echo 2759/* | xargs mv -t ./ && \ rm -r 2759 && \ rm 2759_hmms.tar.gz && \ numf=$(find ./ | grep -c ".hmm$") && \ curr=0 && \ cat /dev/null > Eukaryota.hmm_tmp && \ for file in $(find ./ | grep ".hmm$"); do \ curr=$((curr+1)); \ echo "merging HMMs... ${file} (${curr}/${numf})"; \ cat "${file}" | sed -e "s/.faa.final_tree.fa//" -e "s/.faa.final_tree//" >> Eukaryota.hmm_tmp; \ rm "${file}"; \ done && \ mv Eukaryota.hmm_tmp Eukaryota.hmm && \ if [ -f Eukaryota.hmm.h3i ]; then rm Eukaryota.hmm.h3*; fi && \ echo "hmmpress-ing HMMs... " && \ /home/hanfc/anaconda3/envs/eggnog_env/lib/python3.7/site-packages/eggnogmapper/bin/hmmpress Eukaryota.hmm && \ echo "generating idmap file... " && \ cat Eukaryota.hmm | grep "^NAME" | sed -e "s/^NAME *//" | awk '{print NR" "$0}' > Eukaryota.hmm.idmap && \ echo "removing single OG hmm files... " && \ echo ./*hmm | xargs rm
- 解压raw_alg.faa.gz(耗时长)
-
-
方法二:使用
download_eggnog_data.py
更加方便,但是可能下载非常慢。-
如果使用hmm方法,注释物种为真核生物需要指定2759,具体taxaid可以查看(http://eggnog5.embl.de/#/app/downloads)
1 2
# 下载eggnog_db, eggnog_proteins.dmnd.gz和2759_hmms.tar.gz download_eggnog_data.py --data_dir ./ -H -d 2759 --dbname Eukaryota -y
-
使用emapper注释
emapper参数很多,详细信息可以查看Github信息(https://github.com/eggnogdb/eggnog-mapper/wiki/eggNOG-mapper-v2.1.5-to-v2.1.12)
-
把数据路径临时加载到环境变量中就可以省略
--data_dir
参数1
export EGGNOG_DATA_DIR=/path/eggnog_db/
-
运行任务
1
emapper.py -m hmmer -d Eukaryota -i /path/pep.fa -o eggnog_ann --cpu 100 --dbmem --excel --output_dir ./eggnog_db/eggnog_ann
-m
指定hmmer模型;-d
指定hmmer数据库名称,前面已指定--dbname Eukaryota
;-i
指定蛋白序列文件,也可以使用cds,但是需要声明参数先翻译成蛋白序列;-o
输出文件前缀;--output_dir
输出路径;--dbmem
直接把所有的数据库文件加载到内存中,内存充足可以使用;--excel
同时输出excel格式; -
ok 运行完成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
Processed queries:25954 total_time:5144.325042486191 rate:5.05 q/s 25932 5204.61475944519 4.98 q/s (% mem usage: 10.70, % mem avail: 89.35) Done Result files: /home/hanfc/software/eggnog_db/eggnog_ann/eggnog_ann.emapper.hits /home/hanfc/software/eggnog_db/eggnog_ann/eggnog_ann.emapper.seed_orthologs /home/hanfc/software/eggnog_db/eggnog_ann/eggnog_ann.emapper.annotations /home/hanfc/software/eggnog_db/eggnog_ann/eggnog_ann.emapper.annotations.xlsx ================================================================================ CITATION: If you use this software, please cite: [1] eggNOG-mapper v2: functional annotation, orthology assignments, and domain prediction at the metagenomic scale. Carlos P. Cantalapiedra, Ana Hernandez-Plaza, Ivica Letunic, Peer Bork, Jaime Huerta-Cepas. 2021. Molecular Biology and Evolution, msab293, https://doi.org/10.1093/molbev/msab293 [2] eggNOG 5.0: a hierarchical, functionally and phylogenetically annotated orthology resource based on 5090 organisms and 2502 viruses. Jaime Huerta-Cepas, Damian Szklarczyk, Davide Heller, Ana Hernandez-Plaza, Sofia K Forslund, Helen Cook, Daniel R Mende, Ivica Letunic, Thomas Rattei, Lars J Jensen, Christian von Mering and Peer Bork. Nucleic Acids Research, Volume 47, Issue D1, 8 January 2019, Pages D309-D314, https://doi.org/10.1093/nar/gky1085 [3] Accelerated Profile HMM Searches. Eddy SR. 2011. PLoS Comput. Biol. 7:e1002195. e.g. Functional annotation was performed using eggNOG-mapper (version emapper-2.1.12) [1] based on eggNOG orthology data [2]. Sequence searches were performed using [3]. ================================================================================ Total hits processed: 25932 Total time: 12114 secs FINISHED
可能的报错
-
Use “hmmpress” to create the .h3* files
这个报错是由于路径错误导致的,需要按照上面的过程检查一下路径是否错误
-
其他错误不希望你们遇到~
© 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!