HUMAnN3的安装经验分享

  • HUMAnN3的安装过程
    • HUMAnN3的安装
    • 依赖项的安装
      • 安装Bowtie2
      • 安装biom-format
      • 安装MetaPhlAn3
      • 安装Diamond
    • HUMAnN3的使用
      • 前三个数据库的安装和设置
      • 后一个数据库的安装
  • 致谢

HUMAnN3的安装过程

HUMAnN是基于宏基因组、宏转录组数据分析微生物通路丰度的有效工具。通过MetaPhlAn组件能够分析物种构成,并对UniRef和MetaCyc进行比对分析,描述群体成员的代谢潜能,以此回答微生物群体成员是什么,以及可能在干什么的问题。这个软件用起来,做物种构成感觉没有用Kraken爽,但是做通路分析是真的方便。
前几天赫然发现HUMAnN和MetaPhlAn都已经进入了3.0时代,于是对新版本的软件进行了安装,在此特意跟大家分享一下安装过程。我使用的系统是Ubuntu 20.04 LTS,硬件是NUC10i7FNH。

HUMAnN3的安装

按照Huttenhower实验室的线上说明文档,有conda和pip两种安装方法。然而我使用conda安装的时候总会出现各种conflict的报错,最终使用pip安装成功。
需要先使用conda建立一个python 3.7的环境humann:

$ conda create -n humann python=3.7

然后启动这个环境:

$ conda activate humann

使用pip安装humann3

$ pip install humann

如果觉得安装速度比较慢,可以在后面加上-i调整一下pip的源,比如我就常规用隔壁学校的。

$ pip install humann -i https://pypi.tuna.tsinghua.edu.cn/simple

依赖项的安装

此时我们可以发现HUMAnN3其实还是不能使用,因为依赖项没有安装。官方要求的主要依赖项如下:
Python (>= 3.7)(这个在建立环境的时候已经建立了。)
MetaPhlAn (version >= 3.0)(这个不会自动安装。)
Bowtie2 (version >= 2.1)(这个不会自动安装。)
DIAMOND (>=0.9.0)(这个特别坑,说是>=0.9.0,其实指定要求用0.9.24。)
MinPath(这个应该已经自动搞定了。)
biom-format(这个没有在HUMAnN3的官方文档里面提到,但是后面发现是需要的。)

安装Bowtie2

这个直接用conda安装应该没有问题。

$ conda install -c bioconda bowtie2

安装biom-format

这个最后使用pip安装成功的,其他的安装方法貌似出现了问题,当然官方也是可以用conda安装。

$ pip install numpy
$ pip install biom-format
$ pip install h5py

安装MetaPhlAn3

官方文件也是可以用conda安装MetaPhlAn3,但是我还是出现各种conflict,最后使用pip搞定。

$ pip install metaphlan

安装Diamond

Diamond是一个很优秀的快速比对工具,但是对于版本要求比较特殊,不同版本建立的索引好像不能相互兼容。我比较奇怪,使用conda安装的时候只能自动安装0.9.14版,无法在此使用。我估计软件使用的201901版uniref数据库是使用0.9.24,因此拷贝到其他更高的版本也不能识别。之后我就是直接从anaconda上面下载各个diamond的版本拷贝到anaconda3的各个环境的bin目录下面运行。
在使用过程中发现,uniref数据库(后面会讲到)当中的uniref90_ec_filtered_v201901可能不是用0.9.24版建立的索引,运行时会报错。搞不好在同一个软件里面还会出现版本冲突,其他三个索引文件能用0.9.24进行操作,就这个不行。我晚些时候再尝试一下其他版本的diamond看看行不行。
后来在github上跟作者沟通了一下,可以用如下代码从索引文件导出序列并重建索引:

$ /old/diamond getseq -d uniref90_201901.dmnd | /new/diamond makedb -d out_db

根据作者的说法,uniref90_ec_filtered_v201901.dmnd这个文件是用0.8.38版建立的索引,所以需要从https://github.com/bbuchfink/diamond/releases/tag/v0.8.38这里下载该版本,并使用上述的代码重新用0.9.24版建立索引。

HUMAnN3的使用

HUMAnN软件的基本使用其实很简单:

$ humann -i input.fastq -o output_dir

但是在使用之前还是需要进行一些相关准备,特别是数据库的准备。
这里需要四个数据库的准备:
UniRef
Utility_Mapping
ChocoPhlAn
MetaPhlAn(缩写为mpa)

前三个数据库的安装和设置

我在主目录下面建立了一个humann文件夹,里面放了三个目录:chocophlan、uniref和misc三个目录,分别放置ChocoPhlAn、UniRef和Utility_Mapping三个数据库,而这三个数据库下载地址如下:
chocophlan : full = http://huttenhower.sph.harvard.edu/humann2_data/chocophlan/full_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
utility_mapping : full = http://huttenhower.sph.harvard.edu/humann2_data/full_mapping_v201901.tar.gz

上述文件下载解压后放到对应的三个目录下面即可。chocophlan下面是10669个物种的特征性序列文件,uniref下面是四个diamond的索引文件,utility_mapping是大17个mapping用的文件。随后在HUMAnN3的设置当中对上述目录进行相应的设置。

$ humann_config --update database_folder nucleotide ~/humann/chocophlan/
$ humann_config --update database_folder protein ~/humann/uniref/
$ humann_config --update database_folder utility_mapping ~/humann/misc/

注意在前面diamond部分已经说过的,对uniref的uniref90_ec_filtered_201901数据索引文件使用0.8.38提取序列,再用0.9.24重建索引,否则不能顺利运行。

后一个数据库的安装

如果能够科学上网,其实最后一个MetaPhlAn的索引数据库安装情况本来也没什么特殊。特殊就在于这些索引数据库和这些数据库的索引文件被放到了不太方便的dropbox上面:
https://www.dropbox.com/sh/7qze7m7g9fe2xjg/AAA4XDP85WHon_eHvztxkamTa/file_list.txt?dl=1

而这个文件只不过是数据库的索引文件file_list.txt,还要按照这个索引文件的内容把索引数据库给下载下来才行。其实原来可以在biobakery的MetaPhlAn页面下载到这些文件的,但后来不知道为什么,都无法下载了。这里面主要的文件是mpa_latest和最新的mpa_v30_CHOCOPhlAn_201901.tar、mpa_v30_CHOCOPhlAn_201901.md5和mpa_v30_CHOCOPhlAn_201901_marker_info.txt.bz2。其他的文件嘛……还是也一起下载下来吧。
这些文件下载之后,按照代码本身的要求,需要放到script代码所在目录的metaphlan_databases目录下,具体位置应该是在~/anaconda3/envs/humann/lib/python3.7/site-packages/metaphlan/metaphlan_databases/这个目录里面。千万注意要把file_list.txt这个文件也一起放进去,因为我记得代码里一开始就是要识别这个文件在不在。

由于这个索引数据库比较大(再大也没有UniRef的索引数据库大),在写这个帖子的时候还没能上传完毕,所以过一段时间再分享这些文件吧。
文件地址分享如下:
链接:https://pan.baidu.com/s/1aiSzGaMU50KcgwIWarINoA 提取码:22J6

致谢

在此特别感谢我的好友,隐藏在某大厂里的高手高手之高高手,帮忙搞到了这些文件。
同时感谢陈同和刘永鑫Adam,在两位老师那里学到了很多东西,感谢!

最后祝大家软件使用愉快,有钱一定要用好主机,我跑一个500MB的数据,卡在diamond比对uniref90_annotated_v201901数据库已经三个多小时了……

HUMAnN3的安装经验分享相关推荐

  1. Tensorflow-gpu安装+Keras安装+Pytorch-gpu安装 经验分享/Win10 (conda安装Cuda和Cudnn) 含测试代码

    Tensorflow-gpu安装+Keras安装+Pytorch-gpu安装 经验分享/Win10 (conda安装Cuda和Cudnn) 含测试代码 注意: 本文中的Cuda和Cudnn安装均采用c ...

  2. Win10下NVIDIA-GForce940MX-Python3.9.7的Pytorch包安装经验分享(pip安装法)

    ----------------更新于2022.4.10---------------- 内容提要:安装Pytorch是进行人工神经网络深度学习必备的程序pag,在这里借用3W原则给大家进行解释. W ...

  3. 4k hidpi 黑苹果_【ITX小钢炮】黑苹果安装经验分享

    [ITX小钢炮]黑苹果安装教程 主机配置 主机配置如图所示,建议装黑苹果之前先去了解黑苹果配置需求,目前来说最方便的配置就是AMD的显卡加上intel的CPU的组合. 制作系统安装盘 在Windows ...

  4. SAP2014年最新版本EHP7安装经验分享

    随着SAP行业的鞥新渗入,SAP的安装技巧,已经变的越来越傻瓜化和被普通大众所接收及尝试,以下就以2014最新版本的安装技巧,滋以分享给大家. 1, 首先,确认已下安装包: 其中SAP安装,核心需要3 ...

  5. 【室内温度+树莓派性能监控】树莓派+DS18B20温度传感器+0.96寸OLED显示屏使用及安装经验分享

    以下内容为本人原创 原文链接:https://blog.csdn.net/Yhen1/article/details/113760948 作者:@Yhen 发布网站:CSDN 未经本人同意禁止转载,如 ...

  6. 技嘉b365dv3主板黑苹果efi_【ITX小钢炮】黑苹果安装经验分享

    [ITX小钢炮]黑苹果安装教程 主机配置 主机配置如图所示,建议装黑苹果之前先去了解黑苹果配置需求,目前来说最方便的配置就是AMD的显卡加上intel的CPU的组合. 制作系统安装盘 在Windows ...

  7. debian搭建php mysql_Debian下MySQL安装经验分享

    在Debian下安装MySQL,步骤如下: Debian: /# apt-get install mysql-server 装好之后要缺省root是没有密码的,可以更 在Debian下安装MySQL, ...

  8. 从零开始学网安:Day1 部分基本软件、vm虚拟机、靶场安装经验分享

      本人目前"加里敦"大学大五,在准备今年计算机考研同时学习网络安全内容.本科智能科学与技术,传统网络安全小白一枚.这栏博客用以记载学习内容,不定期更新,希望能多多与大家交流,共同 ...

  9. linux医学软件,Schrodinger Suites 2015-2 Linux版简单安装经验分享

    首先感谢网友蔡剑雄药物制剂提供的安装文件. 我是在ubuntu16.04桌面系统里安装的. 1. 挂载schrodinger2015-2.iso 2. 打开终端,进入刚挂载的安装光盘所在目录(cd  ...

最新文章

  1. 昨天,JetBrains 推出“下一代 IDE”,快看有哪些值得期待的功能!
  2. 中国安防视频监控行业发展前景分析
  3. 0x0F19B7EC (ucrtbased.dll)处(位于 ex6.exe 中)引发的异常: 0xC0000005: 写入位置 0x00740000 时发生访问冲突。...
  4. linux一切对象皆文件,为什么说Linux下“一切皆文件”?
  5. could not create the java virtual machine启动eclipse报错
  6. 微信小程序通过getUserProfile和wx.login获取后端的token
  7. powerpoint预览_如何放大和缩小PowerPoint演示文稿的一部分
  8. 微信小程序消息推送自有服务器无法接收到信息,消息推送服务器配置次数用完的解决方式。
  9. 干货:结合Scikit-learn介绍几种常用的特征选择方法
  10. C#中,当从数据库中查询到数据,以DataTable类型返回后,如果需要对DataTable中的数据进行筛选,可以选择下面的方式...
  11. Android开发注意点小记
  12. 示波器上1G/S 100MHZ的含义
  13. 联想电脑硬盘保护系统EDU8.0.1iso安装
  14. pythonjam教程_colorama(pythonjam官网)
  15. Dukto在路由器联互联网的情况下传输文件是否会耗互联网流量?
  16. android_studio运行,Android Studio怎么运行程序?
  17. ictclas怎么配置java_ICTCLAS2015 Java版本的使用方法
  18. 项目组织战略管理及组织结构
  19. shell 变量五 字符串掐头去尾
  20. JOOQ 为table和view自动生成代码

热门文章

  1. Qt之超简单的TCP通信(自定义TCP通信类,含源码+注释)
  2. PTP同步(1588协议与802.1区别)
  3. ros中 指针传递 ros::NodeHandle *node 报received signal SIGSEGV, Segmentation fault
  4. 思科的IOS系统,关于这个怎么看
  5. 吞吐量和TPS的区别
  6. 2030年的6G:5大趋势,13个核心技术
  7. 长期阅读英文技术博客的好处
  8. Linux磁盘管理和文件系统(相思相见知何日?此时此夜难为情)
  9. android动画特效
  10. 程序员注意了!使用IDEA一定要绿色护眼模式