Kraken 2 编译安装及使用
Kraken 是用于宏基因组DNA序列进行物种注释的软件,该软件通过查询序列中的 k-mers 与数据库进行比对。Kraken 2主程序包含 kraken2 和 kraken2-build 以及一些其他的脚本程序。下面介绍如何在 SonmiHPC 集群系统上安装及使用 Kraken 2。
下面分别介绍两种安装方式:
- 使用 conda 安装 Kraken 2
- 从源码编译安装 Kraken 2
使用 conda 安装 Kraken 2
建议重新创建一个单独的虚拟环境用于安装Kraken 2,并激活该虚拟环境:
shell
conda create -n kraken2
conda activate kraken2
conda create -n kraken2
conda activate kraken2
使用下面的命令安装 Kraken 2:
shell
conda install bioconda::kraken2
conda install bioconda::kraken2
后续需要使用的时候激活该虚拟环境即可。
从源码编译安装 Kraken 2
直接从Github 官方仓库拉取源码:
shell
git clone https://github.com/DerrickWood/kraken2.git
git clone https://github.com/DerrickWood/kraken2.git
进入源码目录中:
shell
cd kraken2
cd kraken2
执行如下的命令进行安装:
shell
# 设置安装路径并安装,该例子中将安装在/share/apps/kraken2下
./install_kraken2.sh /share/apps/kraken2
# 设置安装路径并安装,该例子中将安装在/share/apps/kraken2下
./install_kraken2.sh /share/apps/kraken2
为方便集群上面其他用户使用,创建如下的目录,并在该目录下创建Modulefile文件:
shell
mkdir -p /share/apps/modulefiles
cd /share/apps/modulefiles && vim kraken2
mkdir -p /share/apps/modulefiles
cd /share/apps/modulefiles && vim kraken2
新建的文件内容如下:
tcl
#%Module###########################################
set modulefilename "kraken2"
set modulefilever "v2.1.3"
set min_tcl_ver 8.4
if { $tcl_version < $min_tcl_ver } {
puts stderr " "
puts stderr "ERROR: This modulefile requires tcl $min_tcl_ver or greater."
puts stderr "Your system reports that tclsh version $tcl_version is installed."
exit 1
}
if { [ module-info mode load ] } {
puts stderr "Loading $modulefilename version $modulefilever"
}
if { [ module-info mode ] == "unload" || [ module-info mode ] == "remove" } {
puts stderr "Removing $modulefilename version $modulefilever"
puts stderr "Use to view any remaining dependent modules."
}
prepend-path PATH /share/apps/kraken2
#%Module###########################################
set modulefilename "kraken2"
set modulefilever "v2.1.3"
set min_tcl_ver 8.4
if { $tcl_version < $min_tcl_ver } {
puts stderr " "
puts stderr "ERROR: This modulefile requires tcl $min_tcl_ver or greater."
puts stderr "Your system reports that tclsh version $tcl_version is installed."
exit 1
}
if { [ module-info mode load ] } {
puts stderr "Loading $modulefilename version $modulefilever"
}
if { [ module-info mode ] == "unload" || [ module-info mode ] == "remove" } {
puts stderr "Removing $modulefilename version $modulefilever"
puts stderr "Use to view any remaining dependent modules."
}
prepend-path PATH /share/apps/kraken2
保存后,设置一下权限:
shell
chmod -R 755 /share/apps/modulefiles
chmod -R 755 /share/apps/modulefiles
集群上面的其他用户可以通过下面的命令来加载该模块:
shell
module load kraken2
module load kraken2