Roary从安装到分析(Ubuntu+conda)

本人作为一名非计算机专业的小白,因为课题研究的需要,要对一种属的基因组进行泛基因组学分析,寻找特定基因组所包含的特有基因。因此入坑软件的使用,前后从csdn和github也查了很多问题最终实现软件的完全运行,以下是从安装到分析的记录。

Roary软件呢采用GFF3格式的注释组件并计算泛基因组(github链接更多介绍)。然而大部分的应用场景都是fasta编码序列或者从NCBI下载的基因组编码文件fna,要进行一次格式的转化,因此需要将fna转GFF3就需要用到prokka软件。因此,本文从prokka+roary的安装配置→roary分析实操进行记录。

环境基本信息

Win11运行Vmare16;Vmare16安装Ubuntu22.04;Ubuntu22.04安装anconda22.10。

具体配置过程可以通过网络帖进行学习,此处省略。

Prokka+Roary安装

Prokka安装

Prokka是用于快速注释细菌、古细菌和病毒基因组并产生符合标准的输出文件的软件工具(github链接更多介绍)。在github中列举了支持很多种安装方式,当然不同的安装方式难度不同,中途报错也不同。这里我推荐以下组合,能够正常运行。

  1. 首先我们在conda环境中创建一个用来安装prokka的env。

conda activate
conda create -n prokka    #-n XXX参数是这个环境的名字,你可以给装prokka的环境命名为你想取的
  1. 激活刚刚创建的env,并安装prokka。

conda activate prokka
conda install -c bioconda prokka
#这里我是通过bioconda源进行安装
#没有参考github推荐的conda install -c conda-forge -c bioconda -c defaults prokka
#这种指定多源需要的时间更长,或者可能有依赖关系的冲突,如果安不上,可以尝试
#另外还github还给出了在ubuntu整个系统中直接通过sudo apt-get进行安装,不推荐,会改变整个系统的环境关系
#从而导致其他软件运行报错
  1. 安装完成后更新工具和重置数据库(关键一点)

如果仅安装完后,立即进行prokka注释,大概率会遇到以下错误:

Could not run command: cat prokka/IS.faa | parallel --gnu --plain -j 8 --block 88671 --recstart '>' --pipe blastp -query - -db /usr/local/prokka/db/kingdom/Bacteria/IS -evalue 1e-30 -qcov_hsp_perc 90 -num_threads 1 -num_descriptions 1 -num_alignments 1 -seg no > prokka/IS.blast 2> /dev/null
#大致就是Could not run command: cat XXX.faa | parallel XXX '>' --pipe XXX no > prokka/IS.blast 2> /dev/null

出现这个问题,我查到作者在github的issues/586issues/402issues/385问题中做出了详细的回应。主要的解决办法分成三点(推荐第3种):1.更新BLAST+,GNU Parallel ;2.conda中删除prokka软件所在的环境,并重新创建和安装;3.更新工具和重置数据库的组合。因此在安装结束后,应进行以下代码操作:

conda activate prokka    #激活并进入prokka所在的环境
prokka    #检测是否安装成功,会弹出prokka软件的使用信息
prokka --setupdb    #更新工具和重置数据库的组合
#代码运行完毕后,系统会跑一段代码,跑完之后就可以解决该问题

Roary安装

Roary软件在本篇开头的github链接中可以查看。在github上提供了许多平台和环境的配置过程,但是从实际配置过程来讲,我成功并推荐的是将Roary在ubuntu系统大环境安装,不通过conda进行安装(安装过程失败)。我这里列出conda的安装代码,但是否有效可能跟你的conda源、网络、电脑都有关系,可以尝试,不行就换吧。

conda config --add channels r
conda config --add channels defaults
conda config --add channels conda-forge
conda config --add channels bioconda
#以上的代码是恢复conda默认源,并且是顺序的
#但是R、defaults、conda-forge和bioconda源的顺序,有网友指出这种顺序的改变,也会让roary安装过成产生区别
#有可能安装过程会很漫长,最后被系统结束进程,因此不推荐此方法
conda install roary
  1. ubuntu安装roary

#如果你的ubuntu源未修改过,以下代码应该不会出问题,我用的是安装之后的默认源
sudo apt-get install roary
#没错,就是这一条代码就完成了,但是要注意网络问题
#安装完成之后
roary
#能够弹出roary的运行指导信息,就表示安装成功了

至此conda环境的prokka和ubuntu系统的roary软件就安装完毕了,我们进入下一步分析。

Roary分析

批量fasta转gff

首先是从NCBI网站下载基因组,比如以Bacillus licheniformis为例。直接打开官网,在all database中搜索之后弹出如下内容:

接着点击Genomes选项,会链接到新的网页,你可以根据你的需要进行筛选符合下游分析的基因组,这里我选择的是Filters中的ASSEMBLY LEVEL选为染色体组装水平及以上,然后全选Assembly。点击download中的package。选择genbank的fsata格式打包下载。此处有GFF格式,但跟GFF3是不同的,请勿下载错。

下载完成后将文件解压,并将所有的fna文件提取至同一个文件夹

提取完毕后就可以开始prokka注释了

#首先是在终端中打开fna提取之后所存在的文件夹
cd ~/home/user/桌面/XXX/XXX
conda activate prokka    #在本文件夹中激活prokka环境,你将fna统一放的文件夹
for i in *.fna; do k=`echo $i | sed 's/.fna//g'` && prokka $i --prefix $k -outdir $k --cpus 24; done
#此操作就是批量,将存在于本文夹中的fna文件进行prokka注释,并以创建对应新文件夹的形式输出结果
#--cpus 24是设置你的运行核心数,具体以你能够分配的核心数进行修改

cp */*.gff genome_gff; done
#复制本文件夹中下属文件夹内所有的gff 文件到 genome_gff夹中保存
#genome_gff文件夹可能需要手动创建,也可能不需要,以代码报错为准多尝试

roary泛基因分析

roary 用 blastp 对 gff 文件中的序列进行 orthologs 分析,获得 pangenome 和 coregenome 结果,还可以使用 mafft 对核心基因组进行序列比对,生成系统发生树。

roary -e --mafft -p 24 genome_gff/*.gff -f roary
#本步骤以genome_gff文件夹中的所有gff文件,进行分析并在roary文件夹中输出文件
#本步骤可能还会弹出类似Use of uninitialized value in require at /usr/lib/x86_64-linux-gnu/perl5/5.34/Encode.pm line 70
#这属于警告信息,不影响分析结果,忽略它就可以

到这,所有的roary分析就结束了。接下来就是对roary得出的文件进行个性化的挖掘分析了。

产生的各文件是什么数据,可以参考原网站理解。

  • 9
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值