M1架构Mac使用conda安装bioconda源blat包找不到包如何解决
问题说明
- 需安装blat包以运行GAMMA程序开展序列突变分析,本地已完成bioconda配置,参考单行命令教程安装blat
- 此前曾在Intel架构Mac设备上成功安装blat,推测本次安装失败根源为blat暂未适配M1架构Mac设备;本人具备基础编程能力,无法确认是否存在操作疏漏,寻求可行解决方案参考
执行的安装命令
conda install -c bioconda blat
完整报错信息
Collecting package metadata (current_repodata.json): done Solving environment: failed with initial frozen solve. Retrying with flexible solve. Collecting package metadata (repodata.json): done Solving environment: failed with initial frozen solve. Retrying with flexible solve. PackagesNotFoundError: The following packages are not available from current channels: - blat Current channels: - https://conda.anaconda.org/bioconda/osx-arm64 - https://conda.anaconda.org/bioconda/noarch - https://conda.anaconda.org/conda-forge/osx-arm64 - https://conda.anaconda.org/conda-forge/noarch To search for alternate channels that may provide the conda package you're looking for, navigate to https://anaconda.org
可行解决方案
报错核心原因确认:从返回的channel列表可看出,当前conda默认检索osx-arm64(即M系列芯片原生架构)路径下的安装包,bioconda暂未上传该架构下的blat预编译包,因此触发找不到包的报错,和个人操作疏漏无关。可选择以下任意一种方案解决:
- 方案1:通过conda创建x86_64子环境安装(最推荐,依赖兼容性最好)
M系列Mac自带Rosetta 2转译层,可无感知运行x86架构的程序,性能损耗对序列分析类工具几乎无影响。- 终端执行命令创建指定x86架构的conda环境:
CONDA_SUBDIR=osx-64 conda create -n gamma_env python=3.10 -y- 激活新建的环境:
conda activate gamma_env- 固定该环境的包检索架构为x86_64,避免后续装包自动切回arm64架构:
conda config --env --set subdir osx-64- 执行原安装命令即可正常安装blat,后续GAMMA程序的所有依赖也都装在这个环境里,不会和原生arm环境的包冲突:
conda install -c bioconda blat -y - 方案2:手动下载UCSC官方预编译的blat二进制文件配置
如果不想新建转译环境,可直接获取blat的可执行文件,添加执行权限后放到系统环境变量包含的路径下(如/usr/local/bin),终端输入blat能正常返回帮助信息即配置完成。该方案适合仅需要单独用blat的场景,如果后续GAMMA需要安装其他生物信息类依赖,还是优先选方案1避免架构混乱。
注意:不要随意添加非官方第三方conda源检索blat,这类源的包普遍版本老旧,存在依赖冲突甚至恶意修改的风险。
内容的提问来源于stack exchange,提问作者Kathleen
相关产品推荐
相关产品推荐

