Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug] bactopia tools depend on uninstallable bioperl-1.7.2 #502

Open
pvanheus opened this issue Apr 5, 2024 · 15 comments
Open

[bug] bactopia tools depend on uninstallable bioperl-1.7.2 #502

pvanheus opened this issue Apr 5, 2024 · 15 comments
Labels
bug Something isn't working fixed

Comments

@pvanheus
Copy link

pvanheus commented Apr 5, 2024

Description
An attempt to run bactopia with conda package resolution fails because prokka relies on bioperl-1.7.2 which is currently not installable using conda.

Steps to Reproduce
Either (1) run bactopia or (2) directly try and install the dependencies that the prokka module needs. In fact the problem is the same if you simply try and install bioperl-1.7.2.

$ conda create -n testenv perl-bioperl=1.7.2 prokka=1.14.6
Channels:
 - conda-forge
 - bioconda
 - defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: \ warning  libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning  libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
[...]
warning  libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
failed

LibMambaUnsatisfiableError: Encountered problems while solving:
  - package perl-bioperl-1.7.2-pl526_8 requires perl-bioperl-core 1.7.2, but none of the providers can be installed

Could not solve for environment specs
The following packages are incompatible
└─ perl-bioperl 1.7.2**  is not installable because there are no viable options
   ├─ perl-bioperl 1.7.2 would require
   │  ├─ perl >=5.26.2,<5.26.3.0a0 , which can be installed;
   │  └─ perl-bioperl-core 1.007002 , which requires
   │     └─ perl-svg but there are no viable options
   │        ├─ perl-svg 2.87 would require
   │        │  └─ perl >=5.32.1,<6.0a0 *_perl5, which conflicts with any installable versions previously reported;
   │        └─ perl-svg [2.64|2.84|2.86|2.87] conflicts with any installable versions previously reported;
   └─ perl-bioperl 1.7.2 would require
      └─ perl-bioperl-core 1.7.2 , which requires
         ├─ perl >=5.26.2,<5.26.3.0a0 , which can be installed;
         └─ perl-clone but there are no viable options
            ├─ perl-clone 0.46 would require
            │  └─ perl-b-cow 0.007.* , which requires
            │     └─ perl >=5.32.1,<5.33.0a0 *_perl5, which conflicts with any installable versions previously reported;
            └─ perl-clone [0.38|0.39|0.41|0.42|0.46] conflicts with any installable versions previously reported.```

Expected Behavior
A description of what is expected to happen.

Execution Environment

  • Bactopia Version: Happens with 3.0.0 and 3.0.1
  • OS: Ubuntu 22.04
  • Environment: conda

Additional Information
This is strictly a problem with the bioperl recipe and not bactopia. I think the bioperl problem is related to the pinning of bioperl 1.7.2 to perl-bioperl-core 1.007002. This problem is resolved in bioperl 1.7.8.

The prokka module in bactopia is listed as nf-core but it is somewhat diverged from the upstream nf-core module.

@pvanheus pvanheus added the bug Something isn't working label Apr 5, 2024
@rpetit3
Copy link
Member

rpetit3 commented Apr 5, 2024

Hmmm, this is an interesting one.

This works for me

conda create -n test-prokka -c conda-forge -c bioconda perl-bioperl=1.7.2 prokka=1.14.6

Interestingly, I got perl-bioperl-1.7.2-pl526_11 and yours picked perl-bioperl-1.7.2-pl526_8.

Do you have anything in the condarc file other than the channels?

Or does this by chance work for you?

conda create \
    -n test-prokka \
    -c conda-forge \
    -c bioconda \
    'bioconda/noarch::perl-bioperl=1.7.2=pl526_11' \
    'bioconda/noarch::prokka=1.14.6=pl5262hdfd78af_3'

@pvanheus
Copy link
Author

pvanheus commented Apr 5, 2024

So:

  1. Nothing in ~/.condarc
  2. conda is version 24.3.0 with the libmamba solver version 1.5.8
  3. the install you suggested still fails:
LibMambaUnsatisfiableError: Encountered problems while solving:
  - package perl-bioperl-1.7.2-pl526_11 requires perl-bio-coordinate, but none of the providers can be installed

Could not solve for environment specs
The following packages are incompatible
├─ perl-bioperl ==1.7.2 pl526_11 is installable and it requires
│  └─ perl-bio-coordinate with the potential options
│     ├─ perl-bio-coordinate 1.007001 would require
│     │  └─ perl-parent with the potential options
│     │     ├─ perl-parent [0.236|0.238|0.239|0.240|0.241] would require
│     │     │  └─ perl >=5.32.1,<6.0a0 *_perl5, which can be installed;
│     │     └─ perl-parent 0.236 conflicts with any installable versions previously reported;
│     └─ perl-bio-coordinate 1.007001 would require
│        └─ perl >=5.32.1,<6.0a0 *_perl5, which can be installed;
└─ prokka ==1.14.6 pl5262hdfd78af_3 is not installable because it requires
   ├─ perl 5.26.2.* , which conflicts with any installable versions previously reported;
   └─ perl-xml-simple with the potential options
      ├─ perl-xml-simple 2.22 would require
      │  └─ perl >=5.22.0,<5.23.0 , which can be installed;
      ├─ perl-xml-simple [2.22|2.25] would require
      │  └─ perl-xml-sax-expat with the potential options
      │     ├─ perl-xml-sax-expat 0.51 would require
      │     │  └─ perl >=5.32.1,<6.0a0 *_perl5, which can be installed;
      │     └─ perl-xml-sax-expat 0.51 conflicts with any installable versions previously reported;
      └─ perl-xml-simple 2.25 would require
         └─ perl >=5.32.1,<6.0a0 *_perl5, which can be installed.

@rpetit3
Copy link
Member

rpetit3 commented Apr 5, 2024

Hmmm, still can replicate here.

mamba --version
mamba 1.5.5
conda 23.11.0

Here's my base environment

name: base
channels:
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=2_gnu
  - archspec=0.2.2=pyhd8ed1ab_0
  - boltons=23.1.1=pyhd8ed1ab_0
  - brotli-python=1.1.0=py310hc6cd4ac_1
  - bzip2=1.0.8=hd590300_5
  - c-ares=1.24.0=hd590300_0
  - ca-certificates=2023.11.17=hbcca054_0
  - certifi=2023.11.17=pyhd8ed1ab_0
  - cffi=1.16.0=py310h2fee648_0
  - charset-normalizer=3.3.2=pyhd8ed1ab_0
  - colorama=0.4.6=pyhd8ed1ab_0
  - conda=23.11.0=py310hff52083_1
  - conda-libmamba-solver=23.12.0=pyhd8ed1ab_0
  - conda-package-handling=2.2.0=pyh38be061_0
  - conda-package-streaming=0.9.0=pyhd8ed1ab_0
  - distro=1.8.0=pyhd8ed1ab_0
  - fmt=10.1.1=h00ab1b0_1
  - icu=73.2=h59595ed_0
  - idna=3.6=pyhd8ed1ab_0
  - jsonpatch=1.33=pyhd8ed1ab_0
  - jsonpointer=2.4=py310hff52083_3
  - keyutils=1.6.1=h166bdaf_0
  - krb5=1.21.2=h659d440_0
  - ld_impl_linux-64=2.40=h41732ed_0
  - libarchive=3.7.2=h2aa1ff5_1
  - libcurl=8.5.0=hca28451_0
  - libedit=3.1.20191231=he28a2e2_2
  - libev=4.33=hd590300_2
  - libffi=3.4.2=h7f98852_5
  - libgcc-ng=13.2.0=h807b86a_3
  - libgomp=13.2.0=h807b86a_3
  - libiconv=1.17=hd590300_2
  - libmamba=1.5.5=had39da4_0
  - libmambapy=1.5.5=py310h39ff949_0
  - libnghttp2=1.58.0=h47da74e_1
  - libnsl=2.0.1=hd590300_0
  - libsolv=0.7.27=hfc55251_0
  - libsqlite=3.44.2=h2797004_0
  - libssh2=1.11.0=h0841786_0
  - libstdcxx-ng=13.2.0=h7e041cc_3
  - libuuid=2.38.1=h0b41bf4_0
  - libxml2=2.12.3=h232c23b_0
  - libzlib=1.2.13=hd590300_5
  - lz4-c=1.9.4=hcb278e6_0
  - lzo=2.10=h516909a_1000
  - mamba=1.5.5=py310h51d5547_0
  - menuinst=2.0.1=py310hff52083_0
  - ncurses=6.4=h59595ed_2
  - openssl=3.2.0=hd590300_1
  - packaging=23.2=pyhd8ed1ab_0
  - pip=23.3.2=pyhd8ed1ab_0
  - platformdirs=4.1.0=pyhd8ed1ab_0
  - pluggy=1.3.0=pyhd8ed1ab_0
  - pybind11-abi=4=hd8ed1ab_3
  - pycosat=0.6.6=py310h2372a71_0
  - pycparser=2.21=pyhd8ed1ab_0
  - pysocks=1.7.1=pyha2e5f31_6
  - python=3.10.13=hd12c33a_0_cpython
  - python_abi=3.10=4_cp310
  - readline=8.2=h8228510_1
  - reproc=14.2.4.post0=hd590300_1
  - reproc-cpp=14.2.4.post0=h59595ed_1
  - requests=2.31.0=pyhd8ed1ab_0
  - ruamel.yaml=0.18.5=py310h2372a71_0
  - ruamel.yaml.clib=0.2.7=py310h2372a71_2
  - setuptools=68.2.2=pyhd8ed1ab_0
  - tk=8.6.13=noxft_h4845f30_101
  - tqdm=4.66.1=pyhd8ed1ab_0
  - truststore=0.8.0=pyhd8ed1ab_0
  - tzdata=2023c=h71feb2d_0
  - urllib3=2.1.0=pyhd8ed1ab_0
  - wheel=0.42.0=pyhd8ed1ab_0
  - xz=5.2.6=h166bdaf_0
  - yaml-cpp=0.8.0=h59595ed_0
  - zstandard=0.22.0=py310h1275a96_0
  - zstd=1.5.5=hfc55251_0
prefix: /home/rpetit3/miniforge3

@pvanheus
Copy link
Author

pvanheus commented Apr 6, 2024

My base environment:

name: base
channels:
  - conda-forge
  - bioconda
  - defaults
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=2_gnu
  - archspec=0.2.3=pyhd8ed1ab_0
  - boltons=23.1.1=pyhd8ed1ab_0
  - brotli-python=1.1.0=py310hc6cd4ac_1
  - bzip2=1.0.8=hd590300_5
  - c-ares=1.24.0=hd590300_0
  - ca-certificates=2024.2.2=hbcca054_0
  - certifi=2024.2.2=pyhd8ed1ab_0
  - cffi=1.16.0=py310h2fee648_0
  - charset-normalizer=3.3.2=pyhd8ed1ab_0
  - colorama=0.4.6=pyhd8ed1ab_0
  - conda=24.3.0=py310hff52083_0
  - conda-libmamba-solver=23.12.0=pyhd8ed1ab_0
  - conda-package-handling=2.2.0=pyh38be061_0
  - conda-package-streaming=0.9.0=pyhd8ed1ab_0
  - distro=1.8.0=pyhd8ed1ab_0
  - fmt=10.2.1=h00ab1b0_0
  - icu=73.2=h59595ed_0
  - idna=3.6=pyhd8ed1ab_0
  - jsonpatch=1.33=pyhd8ed1ab_0
  - jsonpointer=2.4=py310hff52083_3
  - keyutils=1.6.1=h166bdaf_0
  - krb5=1.21.2=h659d440_0
  - ld_impl_linux-64=2.40=h41732ed_0
  - libarchive=3.7.2=h2aa1ff5_1
  - libcurl=8.7.1=hca28451_0
  - libedit=3.1.20191231=he28a2e2_2
  - libev=4.33=hd590300_2
  - libffi=3.4.2=h7f98852_5
  - libgcc-ng=13.2.0=h807b86a_3
  - libgomp=13.2.0=h807b86a_3
  - libiconv=1.17=hd590300_2
  - libmamba=1.5.8=had39da4_0
  - libmambapy=1.5.8=py310h39ff949_0
  - libnghttp2=1.58.0=h47da74e_1
  - libnsl=2.0.1=hd590300_0
  - libsolv=0.7.27=hfc55251_0
  - libsqlite=3.44.2=h2797004_0
  - libssh2=1.11.0=h0841786_0
  - libstdcxx-ng=13.2.0=h7e041cc_3
  - libuuid=2.38.1=h0b41bf4_0
  - libxml2=2.12.3=h232c23b_0
  - libzlib=1.2.13=hd590300_5
  - lz4-c=1.9.4=hcb278e6_0
  - lzo=2.10=h516909a_1000
  - mamba=1.5.8=py310h51d5547_0
  - menuinst=2.0.1=py310hff52083_0
  - ncurses=6.4=h59595ed_2
  - openssl=3.2.1=hd590300_1
  - packaging=23.2=pyhd8ed1ab_0
  - pip=23.3.2=pyhd8ed1ab_0
  - platformdirs=4.1.0=pyhd8ed1ab_0
  - pluggy=1.3.0=pyhd8ed1ab_0
  - pybind11-abi=4=hd8ed1ab_3
  - pycosat=0.6.6=py310h2372a71_0
  - pycparser=2.21=pyhd8ed1ab_0
  - pysocks=1.7.1=pyha2e5f31_6
  - python=3.10.13=hd12c33a_0_cpython
  - python_abi=3.10=4_cp310
  - readline=8.2=h8228510_1
  - reproc=14.2.4.post0=hd590300_1
  - reproc-cpp=14.2.4.post0=h59595ed_1
  - requests=2.31.0=pyhd8ed1ab_0
  - ruamel.yaml=0.18.5=py310h2372a71_0
  - ruamel.yaml.clib=0.2.7=py310h2372a71_2
  - setuptools=68.2.2=pyhd8ed1ab_0
  - tk=8.6.13=noxft_h4845f30_101
  - tqdm=4.66.1=pyhd8ed1ab_0
  - truststore=0.8.0=pyhd8ed1ab_0
  - tzdata=2023c=h71feb2d_0
  - urllib3=2.1.0=pyhd8ed1ab_0
  - wheel=0.42.0=pyhd8ed1ab_0
  - xz=5.2.6=h166bdaf_0
  - yaml-cpp=0.8.0=h59595ed_0
  - zstandard=0.22.0=py310h1275a96_0
  - zstd=1.5.5=hfc55251_0

BTW I have seen this problem with several other people's fresh conda installs, so I know it is not just me.

@rpetit3
Copy link
Member

rpetit3 commented Apr 6, 2024

Thank you for sharing, gives me something to compare against.

Curious, have you tried with mamba create (I realize it should be the same, and am assuming it will not work)

@rpetit3
Copy link
Member

rpetit3 commented Apr 6, 2024

If it helps, I'm using the latest miniforge

@pvanheus
Copy link
Author

pvanheus commented Apr 7, 2024

I've just tried with mamba create and... same error.

I have now created a Docker-based example to reproduce this bug here.

@Kiratrea
Copy link

Kiratrea commented Apr 7, 2024

Hiya, today I installed Bactopia with conda on a new computer and have run into what I think is the same problem.

ERROR ~ Error executing process > 'BACTOPIA:ANNOTATOR:PROKKA_MODULE (15)'

Caused by:
Failed to create Conda environment
command: conda create -c conda-forge -c bioconda --mkdir --yes --quiet --prefix /home/grege/.bactopia/conda/env-53c609d5bc90aa9625d65730446a4d7d bioconda::prokka=1.14.6 bioconda::perl-bioperl=1.7.2
status : 1
message:
Channels:
- conda-forge
- bioconda
- defaults
Platform: linux-64
Collecting package metadata (repodata.json): ...working... done
Solving environment: ...working... warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
warning libmamba Problem type not implemented SOLVER_RULE_STRICT_REPO_PRIORITY
failed

LibMambaUnsatisfiableError: Encountered problems while solving:
  - package perl-bioperl-1.7.2-pl526_8 requires perl-bioperl-core 1.7.2, but none of the providers can be installed

Could not solve for environment specs
The following packages are incompatible
├─ perl-bioperl 1.7.2*  is not installable because there are no viable options
│  ├─ perl-bioperl 1.7.2 would require
│  │  ├─ perl >=5.26.2,<5.26.3.0a0 , which can be installed;
│  │  └─ perl-bio-coordinate but there are no viable options
│  │     ├─ perl-bio-coordinate 1.007001 would require
│  │     │  └─ perl-parent but there are no viable options
│  │     │     ├─ perl-parent [0.236|0.238|0.239|0.240|0.241] would require
│  │     │     │  └─ perl >=5.32.1,<6.0a0 *_perl5, which conflicts with any installable versions previously reported;
│  │     │     └─ perl-parent 0.236 conflicts with any installable versions previously reported;
│  │     └─ perl-bio-coordinate 1.007001 would require
│  │        └─ perl >=5.32.1,<6.0a0 *_perl5, which conflicts with any installable versions previously reported;
│  └─ perl-bioperl 1.7.2 would require
│     └─ perl-bioperl-core 1.7.2 , which requires
│        ├─ perl >=5.26.2,<5.26.3.0a0 , which can be installed;
│        └─ perl-clone but there are no viable options
│           ├─ perl-clone 0.46 would require
│           │  ├─ perl >=5.32.1,<5.33.0a0 *_perl5, which conflicts with any installable versions previously reported;
│           │  └─ perl-b-cow 0.007.* , which requires
│           │     └─ perl >=5.32.1,<5.33.0a0 *_perl5, which conflicts with any installable versions previously reported;
│           └─ perl-clone [0.38|0.39|0.41|0.42|0.46] conflicts with any installable versions previously reported;
└─ prokka 1.14.6*  is not installable because there are no viable options
   ├─ prokka 1.14.6 would require
   │  └─ perl-xml-simple but there are no viable options
   │     ├─ perl-xml-simple 2.22 would require
   │     │  ├─ perl >=5.22.0,<5.23.0 , which conflicts with any installable versions previously reported;
   │     │  └─ perl-xml-namespacesupport but there are no viable options
   │     │     ├─ perl-xml-namespacesupport 1.12 would require
   │     │     │  └─ perl >=5.32.1,<6.0a0 *_perl5, which conflicts with any installable versions previously reported;
   │     │     └─ perl-xml-namespacesupport [1.11|1.12] conflicts with any installable versions previously reported;
   │     ├─ perl-xml-simple [2.22|2.25] would require
   │     │  ├─ perl-xml-namespacesupport but there are no viable options
   │     │  │  ├─ perl-xml-namespacesupport 1.12, which cannot be installed (as previously explained);
   │     │  │  └─ perl-xml-namespacesupport [1.11|1.12] conflicts with any installable versions previously reported;
   │     │  └─ perl-xml-sax-expat but there are no viable options
   │     │     ├─ perl-xml-sax-expat 0.51 would require
   │     │     │  └─ perl >=5.32.1,<6.0a0 *_perl5, which conflicts with any installable versions previously reported;
   │     │     └─ perl-xml-sax-expat 0.51 conflicts with any installable versions previously reported;
   │     └─ perl-xml-simple 2.25 would require
   │        └─ perl >=5.32.1,<6.0a0 *_perl5, which conflicts with any installable versions previously reported;
   ├─ prokka 1.14.6 would require
   │  ├─ perl 5.26.2.* , which can be installed;
   │  ├─ perl-bioperl 1.7.2.* , which cannot be installed (as previously explained);
   │  └─ perl-xml-simple, which cannot be installed (as previously explained);
   └─ prokka 1.14.6 would require
      └─ perl >=5.32.1,<6.0a0 *_perl5, which conflicts with any installable versions previously reported.

@Kiratrea
Copy link

Kiratrea commented Apr 7, 2024

The working build on my old laptop has perl v. 5.26.1, whereas the new build has v. 5.34.0. Could that be the issue? Similar to what was seen here bioconda/bioconda-recipes#20459 (comment)

@rpetit3
Copy link
Member

rpetit3 commented Apr 7, 2024

@pvanheus and @Kiratrea can you confirm if channel_priority is set to strict on you conda set ups?

@pvanheus - if I remove conda config --set channel_priority strict from the testconda.sh the Docker file works.

Possible culprit - Perl packages moved from Bioconda to Conda-Forge

If you are using strict priority, here's what I'm thinking is happening (pure speculation, but makes sense).

Two of the packages perl-xml-sax-expat and perl-parent were was moved off of bioconda over to conda-forge. The reason for this is, in the past conda-forge did not accept Perl packages. Given the reliance of Perl on many bioinformatic packages, bioconda allowed non-binf Perl packages. conda-forge changed it's stance, and over time non-binf Perl packages are being moved to conda-forge.

Circling back, perl-xml-sax-expat, on conda-forge there is perl-xml-sax-expat=0.51=pl5321hd8ed1ab_0, and on Bioconda we have perl-xml-sax-expat=0.51=pl526_3. The non-strict channel priority will get the bioconda version, is you try forcing the Bioconda version with strict you will get:

LibMambaUnsatisfiableError: Encountered problems while solving:
  - package perl-xml-sax-expat-0.51-pl526_3 is excluded by strict repo priority

Similar situation if you explicittly ask for the bioconda version perl-parent.

LibMambaUnsatisfiableError: Encountered problems while solving:
  - package perl-parent-0.236-pl5321hdfd78af_2 is excluded by strict repo priority

At the end of all this I agree with @pvanheus I don't think this is a Bactopia specific issue, but a wider issue, related to strict channel priority and the effect of moving packages from Bioconda to Conda-Forge.

I guess, question becomes: Can the Prokka recipe on Bioconda be fixed to allow the usage of strict channel priority?

@rpetit3
Copy link
Member

rpetit3 commented Apr 7, 2024

Me again! More digging on my end.

I was curious why I explicitly pinned Bioperl to 1.7.2, and it was due to this: bioconda/bioconda-recipes#33411

Which was subsequently fixed in bioconda/bioconda-recipes#33805

It looks like my pinning of bioperl to 1.7.2, is now the issue due to the movement of packages from bioconda to conda-forge and strict priority.

Good news though, it should be a simple solution! Just need to unpin bioperl in the module, since the missing Perl package is no longer an issue. Which I have done: f0f3b32 (it is available in my dev build)

@rpetit3 rpetit3 added the fixed label Apr 7, 2024
@Kiratrea
Copy link

Kiratrea commented Apr 8, 2024

I installed the development build and everything ran great! Thank you so much for your help!

@rpetit3
Copy link
Member

rpetit3 commented Apr 8, 2024

Thank you verifying @Kiratrea

Thank you too @pvanheus for the extra effort, and helping learn more nuances with Conda!

@VictorPizarroR
Copy link

VictorPizarroR commented Apr 23, 2024

Hello! @rpetit3 I'm a bioinformatics student and I don't know much about programming. Can you help me learn how to install the development build? Thanks!

@rpetit3
Copy link
Member

rpetit3 commented Apr 25, 2024

Apologies for the delay @VictorPizarroR

Here's the command:

mamba create -n bactopia-dev -c rpetit3 -c conda-forge -c bioconda bactopia

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working fixed
Projects
None yet
Development

No branches or pull requests

4 participants