M1芯片下Conda安装Biobakery Suite的Metaphlan/BLAST解决方案求助
解决M1芯片上MetaPhlAn及BioBakery Suite的安装问题
一、Conda环境下MetaPhlAn安装的BLAST依赖解决方案
方案1:创建x86架构的Conda环境(推荐)
M1芯片的Conda默认使用osx-arm64架构,但多数生物信息学工具(包括BLAST)的arm64包尚未适配,可通过创建x86架构环境绕过依赖缺失问题:
- 创建x86专属环境:
CONDA_SUBDIR=osx-64 conda create -n metaphlan_x86 python=3.9 - 激活环境并锁定架构配置:
conda activate metaphlan_x86 conda config --env --set subdir osx-64 - 正常安装MetaPhlAn:
此环境下Conda会自动拉取osx-64版本的BLAST及所有依赖,无需手动干预。conda install bioconda::metaphlan
方案2:手动配置已下载的BLAST到Conda环境
若坚持使用arm64环境,可将手动下载的BLAST加入环境变量,让MetaPhlAn识别:
- 确认BLAST解压后的路径,假设为
~/tools/blast,其bin目录包含blastn等可执行文件。 - 为Conda环境添加激活/停用脚本:
- 创建激活脚本目录:
mkdir -p ~/miniconda3/envs/metaphlan/etc/conda/activate.d - 写入环境变量配置(替换为你的BLAST实际路径):
echo 'export PATH="~/tools/blast/bin:$PATH"' > ~/miniconda3/envs/metaphlan/etc/conda/activate.d/env_vars.sh - 创建停用脚本目录:
mkdir -p ~/miniconda3/envs/metaphlan/etc/conda/deactivate.d - 写入环境变量清理规则:
echo 'export PATH=$(echo $PATH | sed -e "s|~/tools/blast/bin:||")' > ~/miniconda3/envs/metaphlan/etc/conda/deactivate.d/env_vars.sh
- 创建激活脚本目录:
- 跳过依赖检查安装MetaPhlAn:
conda activate metaphlan conda install bioconda::metaphlan --no-deps - 验证:运行
blastn -version和metaphlan --version确认工具可用。
二、Brew安装BioBakery Suite失败的修复
Brew安装时出现的strainphlan_homebrew_counter.txt下载失败,是因为Bitbucket上的对应资源已失效,可通过以下方式解决:
- 手动导入资源到Brew缓存:
查找该资源的最新可用版本(可从BioBakery官方代码仓库获取替代文件),下载strainphlan_homebrew_counter.txt后,放入Brew缓存目录(通常为~/Library/Caches/Homebrew/downloads/)对应的资源路径(可通过brew info biobakery_tool_suite查看具体路径)。 - 单独安装核心工具替代完整套件:
若仅需MetaPhlAn4,可跳过BioBakery Suite,直接用pip安装:
安装后确保BLAST等依赖已在系统环境变量中。pip install metaphlan
内容的提问来源于stack exchange,提问作者Lye000
相关产品推荐
相关产品推荐

