使用Conda YAML配置Snakemake环境时Samtools缺失libcrypto.so.1.0.0依赖
解决Samtools依赖libcrypto.so.1.0.0缺失的问题
我通过main.yml配置文件安装依赖环境以运行Snakemake流程,其中Samtools是核心依赖项之一。此前仅在配置中列出samtools未指定版本时运行正常,但现在出现错误:Samtools共享库libcrypto.so.1.0.0未找到。
当前使用的YAML配置内容如下:
name: yevo_pipeline_env channels: - defaults - conda-forge - bioconda dependencies: - bcftools - bedtools=2.27.1 - biopython=1.71 - bwa=0.7.15 - fastqc=0.11.9 - freebayes=1.0.2 - gatk=3.7 - htslib - lofreq - numpy=1.16.6 - perl - r-base - picard=2.23.3 - pip=19.3.1 - python - samtools - vcftools=0.1.16 - zlib=1.2.11 - libgcc-ng - xz
我尝试过以下操作但未解决问题:
- 在base环境安装
samtools=1.9,出现包冲突 - 执行
conda env update --name myenv --file local.yml --prune命令更新环境
解决方案
1. 锁定Samtools版本并匹配对应openssl
这个错误大多是因为Samtools版本过高,或者环境中openssl版本和Samtools依赖不匹配。直接在YAML里指定之前能正常运行的Samtools版本,同时添加对应版本的openssl:
修改后的YAML配置:
name: yevo_pipeline_env channels: - defaults - conda-forge - bioconda dependencies: - bcftools - bedtools=2.27.1 - biopython=1.71 - bwa=0.7.15 - fastqc=0.11.9 - freebayes=1.0.2 - gatk=3.7 - htslib - lofreq - numpy=1.16.6 - perl - r-base - picard=2.23.3 - pip=19.3.1 - python - samtools=1.9 # 锁定稳定版本 - openssl=1.0.2u # 提供libcrypto.so.1.0.0 - vcftools=0.1.16 - zlib=1.2.11 - libgcc-ng - xz
2. 彻底重建环境(最稳妥)
如果现有环境已经有包冲突残留,更新可能没用,直接删了重开:
- 删除旧环境:
conda env remove -n yevo_pipeline_env - 用修改后的YAML重新创建:
conda env create -f main.yml
3. 给现有环境强制重装指定版本
不想重建环境的话,激活环境后直接强制重装:
- 激活环境:
conda activate yevo_pipeline_env - 强制重装Samtools和对应openssl:
conda install --force-reinstall samtools=1.9 openssl=1.0.2u
如果openssl=1.0.2u找不到,可以试试openssl=1.0.*的其他兼容版本。
内容的提问来源于stack exchange,提问作者dgode19
相关产品推荐
相关产品推荐

