萌哥碎碎念:
NCBI的官方注释流程一直都是出了名的效果拔群准确度极高,但可惜一直都是非开源的,看到这么好用的工具却用不到自己的项目里,心里可太刺挠了。
终于!最近NCBI开源了他们的流程,下面的内容由小伙伴阿良供稿大家如果有好的稿子也可以投稿给我呀
项目地址:
Eukaryotic Genome Annotation Pipeline - External (EGAPx)
使用体验
总的使用感受:最好能找到国外的好友帮忙,因为下载依赖文件时,网络速度是个问题
运行说明
本文采用singularity镜像方式运行,以示例数据为例。
原因:
采用singularity镜像可以避免aws S3部分的设置(这里会要求你开通亚马逊帐号)。整个流程要先配置nextflow,可以参考:
软件安装
1. 先安装nextflow
默认你已经装了java, 没安装的话记得安装。
curl -s https://get.nextflow.io | bash
chmod +x nextflow
sudo mv nextflow /usr/local/bin
nextflow info
如果你没有sudo权限,试试在conda环境下安装nextflow后运行。
2. 下载singularity镜像
可直接跳到github页面offline mode部分。
选择适合的方式获得镜像(考验你的网络)
singularity pull docker://ncbi/egapx:0.2-alpha
3. 下载本地缓存文件
下载“一些”注释所需要的文件(考验你网速的时刻到了)
git clone https://github.com/ncbi/egapx.git
cd egapx
python3 ui/egapx.py -dl -lc ../local_cache
4. 下载示例数据
下载3中的缓存文件的同时,下载示例所需数据
# 方法不限,能下载下来数据就行
prefetch SRR8506572
prefetch SRR9005248
fasterq-dump --skip-technical --threads 6 --split-files --seq-defline ">\$ac.\$si.\$ri" --fasta -O sradir/ ./SRR8506572
fasterq-dump --skip-technical --threads 6 --split-files --seq-defline ">\$ac.\$si.\$ri" --fasta -O sradir/ ./SRR9005248
5. 修改示例数据的配置文件内容
vim examples/input_D_farinae_small.yaml
6. 避坑指南 (本文最重要的地方)
biowulf_cluster.config
默认的是NIH的biowulf集群,配置文件虽然已经设好,但我无法选用,因此放弃。
考虑到自己用的本地singularity镜像,因此在后续命令中采用-e singularity
参数。
避坑点:直接使用会在运行过程中再次下载singularity镜像,既浪费了前面已下好的,又会因为网络问题失败。
所以记得修改egapx_config/singularity.config
文件:
echo "process.container = '/path_to_/egapx_0.2-alpha.sif'" >> egapx_config/singularity_config
#或者直接vim编辑 egapx_config/singularity_config文件
7. 开始运行示例数据
ui/egapx.py examples/input_D_farinae_small.yaml -e singularity -w dfs_work -o dfs_out -lc ../local_cache
目前正常运行中!有后续再更新~