简介
(由于humann3和humann2原理是一致的,所以了解huamnn2的原理就可以了。简介内容来自刘大神的一篇博文,是humann2的文章介绍)
- HUMAnN2是一款快速获得宏基因组、宏转录组物种和功能组成的软件。
- 与传统的翻译比对方法相比,采用分层式(tiered)检索策略,可以在环境和宿主相关群体中快速、准确获得种水平的功能组成。
- HUMAnN2采用比对泛基因组的方法鉴定群体的已知物种,并进一步翻译检索末分类的序列,最终定量基因家族和通路。
- 结果同时获得功能通路中具体物种组成,建立起了物种与功能的联系,可进一步研究功能组成的贡献者。
- 应用HUMAnN2研究海洋代谢和生态贡献模式的阶梯变异(clinal variation),实现了人类微生物组通路、物种基因组变异与转录贡献和株水平组成的分析。
- 作者引入了贡献多样性的概念(contributional diversity),以解释不同微生物群体类型生态学组装的模式。
- 软件特点:
- 可对已知和末知生物分析群体功能谱
– MetaPhlAn2和ChocoPhlAn泛基因组数据库, 可以更快速准确获得功能谱
– 物种包括古菌、细菌、真核生物和病毒 - 可获得基因组、基因和通路层面的结果
– UniRef数据库提供基因家族的定义
– MetaCyc通路基因通路的定义
– MinPath提供定义的最小通路集 - 简单的使用界面(单行命令工作流)
– 用户只需提供质控的宏基因组或宏转录组数据 - 加速序列比对
– 采用Bowtie2加速核酸水平搜索
– 采用Diamond加速翻译蛋白水平搜索
安装
安装方式有多种,个人还是比较推荐使用conda虚拟环境安装。假设之前有安装了metaplan3,可以在metaphlan3的虚拟环境中继续安装,直接conda安装即可。如果没有安装metaphlan3的,可以新建一个虚拟环境,在虚拟环境中直接安装humann3,会自动把metaphlan3也安装上。因为metaphlan3是humann3中的一个依赖软件。可以参考上一篇关于metaphlan3的文章。MetaPhlAn3安装及使用。metaphlan2和humann2都是使用python2的,而metaphlan3和humann3都是使用python3,所以要匹配一起安装,不然依赖关系容易出错。
## 构建虚拟环境,并安装python3.7
conda create --name mpa -c bioconda python=3.7
## conda安装humann
source activate mpa
conda install humann
## 安装完成后,可以运行下面命令测试是否安装成功。
humann_test
数据库下载
安装完成后,需要下载humann数据库。最主要的三个数据库,chocophlan 泛基因数据库,uniref 基因家族数据库,utility_mapping 注释数据库。
humann_databases --download chocophlan full /path/to/databases --update-config yes
humann_databases --download uniref uniref90_diamond /path/to/databases --update-config yes
humann_databases --download utility_mapping full /path/to/databases --update-config yes
使用humann_databases 命令可以查看数据库下载地址。下载太慢,建议直接网页下载后再上传到/path/to/databases(个人具体路径)
chocophlan : full = http://huttenhower.sph.harvard.edu/humann2_data/chocophlan/full_chocophlan.v296_201901.tar.gz
chocophlan : DEMO = http://huttenhower.sph.harvard.edu/humann2_data/chocophlan/DEMO_chocophlan.v296_201901.tar.gz
uniref : uniref50_diamond = http://huttenhower.sph.harvard.edu/humann2_data/uniprot/uniref_annotated/uniref50_annotated_v201901.tar.gz
uniref : uniref90_diamond = http://huttenhower.sph.harvard.edu/humann2_data/uniprot/uniref_annotated/uniref90_annotated_v201901.tar.gz
uniref : uniref50_ec_filtered_diamond = http://huttenhower.sph.harvard.edu/humann2_data/uniprot/uniref_ec_filtered/uniref50_ec_filtered_201901.tar.gz
uniref : uniref90_ec_filtered_diamond = http://huttenhower.sph.harvard.edu/humann2_data/uniprot/uniref_ec_filtered/uniref90_ec_filtered_201901.tar.gz
uniref : DEMO_diamond = http://huttenhower.sph.harvard.edu/humann2_data/uniprot/uniref_annotated/uniref90_DEMO_diamond_v201901.tar.gz
utility_mapping : full = http://huttenhower.sph.harvard.edu/humann2_data/full_mapping_v201901.tar.gz
上传完成后,解压数据库压缩文件
mkdir chocophlan_v296_201901
mkdir uniref90_v201901
mkdir mapping_v201901
tar -zxvf full_chocophlan.v296_201901.tar.gz -C ./chocophlan_v296_201901/
tar -zxvf uniref90_annotated_v201901.tar.gz -C uniref90_v201901
tar -zxvf full_mapping_v201901.tar.gz -C ./mapping_v201901/
更新config文件,主要是更新数据库路径,其他的设置更新也是可以通过这种方式更新
## 更新格式:humann_config --update <section> <name> <value>
humann_config --update database_folders nucleotide /path/to/databases/chocophlan_v296_201901
humann_config --update database_folders protein /path/to/databases/uniref90_v201901/
humann_config --update database_folders utility_mapping /path/to/databases/mapping_v201901/
## 更新后查看设置
humann_config
运行
humann3和humann2的运行命令基本没有差别,就是把huamnn2***换成huamnn***,说人话就是把脚本名中的版本号去除。其他运行脚本名也是同样处理。
## 运行必须参数,输入文件及输出路径。
## 输入文件可以为多种数据形式,包括测序文件及压缩格(fasta