terrimporter / MetaWorks

MetaWorks is a flexible multi-marker metabarcode pipeline for processing paired-end Illumina reads from raw fastq.gz files to taxonomic assignments.
https://terrimporter.github.io/MetaWorksSite/
GNU General Public License v3.0
17 stars 4 forks source link

Create conda environment with environment.yml problem: ResolvePackageNotFound #4

Closed jordan841220 closed 2 years ago

jordan841220 commented 2 years ago

The problem might be naive but I can't seem to find solution online. So I've tried to conda env create both 1.9.6 and 1.10.0 version of MetaWorks and ResolvePackageNotFound error always occurs.

Solving environment: failed

ResolvePackageNotFound: 
  - giflib==5.2.1=h36c2ea0_2
  - biopython==1.78=py38h7b6447c_0
  - isa-l==2.30.0=h7f98852_1
.
.

Since it looks like the issue of build numbers, I manually edited package names by removing everything after = in environment.yml files, and the ResolvePackageNotFound errors has reduced to these particular packages:

ResolvePackageNotFound:
- libstdcxx-ng
- alsa-lib
- _openmp_mutex
- libgomp
- libgcc-ng
- seqprep
- glibc214

I then moving these names under - pip: line that I just added (in environment.yml files):

- dependencies:
  - OTHER_PACKAGES...
  - pip:
    - alsa-lib
    - _openmp_mutex
    - libgomp
    - seqprep
    - glibc214
    - libstdcxx-ng
    - libgcc-ng

conda environment was successfully created but these packages were never installed in the environment

CondaEnvException: Pip failed

which caused errors during the implementation.

In order to install these packages, after anaconda search -t conda seqprep and anaconda show bioconda/seqprep, I've tried either conda install --channel https://conda.anaconda.org/bioconda seqprep or conda install -c bioconda seqprep in the environment, but the error remained.

PackagesNotFoundError: The following packages are not available from current channels:

  - libgcc-ng
  - _openmp_mutex
  - glibc214
  - libgomp
  - seqprep
  - alsa-lib
  - libstdcxx-ng

Current channels:

  - https://conda.anaconda.org/conda-forge/osx-64
  - https://conda.anaconda.org/conda-forge/noarch
  - https://repo.anaconda.com/pkgs/main/osx-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/free/osx-64
  - https://repo.anaconda.com/pkgs/free/noarch
  - https://repo.anaconda.com/pkgs/r/osx-64
  - https://repo.anaconda.com/pkgs/r/noarch

But seqprep seems to be available on channel.

Same installation problems were appeared on other 6 ResolvePackageNotFound packages

My conda version is 4.13.0 and I am using macOS monterey 12.4. Maybe it's because the packages are only available for linux x64 in that channel? Please let me know how to fix this problem. Thank you!!

terrimporter commented 2 years ago

I suspect this is a mac specific issue. MetaWorks is meant to be run on a linux server (as you noticed, many packages are meant to be run on linux x64). I would highly recommend that you try running MetaWorks on a linux server instead to avoid these issues. If you plan to routinely work with metabarcode datasets, HPC-based processing is the norm and really is the most efficient way to process larger datasets.

jordan841220 commented 2 years ago

Thanks for your reply! So MetaWorks can't be run properly on mac for sure. Everything works just fine on linux server (I don't even need to delete the build numbers in environment.yml).