bioconda / bioconda-recipes

Conda recipes for the bioconda channel.
https://bioconda.github.io
MIT License
1.64k stars 3.27k forks source link

rgi (CARD Resistance Gene Identifier) default install installs old version #18169

Open pvanheus opened 5 years ago

pvanheus commented 5 years ago

When doing conda create -n rgi rgi (no version specified), conda (version 4.7.11) offers to install version 3.1.0, which happens to be the oldest version in the channel. When doing conda create -n rgi rgi=5.1.0 the correct (latest) version is installed.

This might be related to something in the solver. The output of conda create -vv -n rgi rgi=5.1.0 contains the lines:

DEBUG conda.resolve:filter_group(600): rgi: pruned from 2 -> 0
DEBUG conda.core.solve:_add_specs(616): specs_map with targets: OrderedDict()
DEBUG conda.resolve:bad_installed(1066): Checking if the current environment is consistent
DEBUG conda.core.solve:_find_inconsistent_packages(483): inconsistent precs: None
DEBUG conda.resolve:_get_sat_solver_cls(52): Using SAT solver interface 'pycosat'.
DEBUG conda.resolve:gen_clauses(878): gen_clauses returning with clause count: 21021
DEBUG conda.resolve:generate_spec_constraints(886): generate_spec_constraints returning with clause count: 21021
DEBUG conda.common.logic:_run_sat(717): Invoking SAT with clause count: 21022
DEBUG conda.resolve:generate_spec_constraints(886): generate_spec_constraints returning with clause count: 21021
DEBUG conda.common.logic:_run_sat(717): Invoking SAT with clause count: 21022
DEBUG conda.core.solve:_run_sat(756): conflicting specs: 
  - rgi=5.1.0
DEBUG conda.core.solve:_run_sat(800): final specs to add: 
  - rgi=5.1.0
DEBUG conda.resolve:solve(1198): Solving for: 
  - 0: rgi=5.1.0 target=None optional=False
DEBUG conda.resolve:solve(1208): Solve: Getting reduced index of compliant packages
failed with repodata from current_repodata.json, will retry with next repodata source.
DEBUG conda.core.solve:solve_final_state(222): solving prefix /home/pvh/anaconda3/envs/rgi

Full output of using -vv is here:

conda create -d -vv -n rgi rgi conda create -d -vv -n rgi rgi=5.1.0

dpryan79 commented 5 years ago

I actually get 5.1.0 with conda create -d -n foo rgi. Can you post the output of conda config --show?

pvanheus commented 5 years ago
add_anaconda_token: True
add_pip_as_python_dependency: True
aggressive_update_packages:
  - ca-certificates
  - certifi
  - openssl
allow_conda_downgrades: False
allow_cycles: True
allow_non_channel_urls: False
allow_softlinks: False
always_copy: False
always_softlink: False
always_yes: None
anaconda_upload: None
auto_activate_base: True
auto_update_conda: True
bld_path: 
changeps1: True
channel_alias: https://conda.anaconda.org
channel_priority: flexible
channels:
  - conda-forge
  - bioconda
  - defaults
client_ssl_cert: None
client_ssl_cert_key: None
clobber: False
conda_build: {}
create_default_packages: []
croot: /home/pvh/anaconda3/conda-bld
custom_channels:
  pkgs/main: https://repo.anaconda.com
  pkgs/r: https://repo.anaconda.com
  home/pvh/anaconda3/conda-bld: file://
  pkgs/pro: https://repo.anaconda.com
custom_multichannels:
  defaults: 
    - https://repo.anaconda.com/pkgs/main
    - https://repo.anaconda.com/pkgs/r
  local: 
    - file:///home/pvh/anaconda3/conda-bld
debug: False
default_channels:
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
default_python: 3.7
default_threads: None
deps_modifier: not_set
dev: False
disallowed_packages: []
download_only: False
dry_run: False
enable_private_envs: False
env_prompt: ({default_env}) 
envs_dirs:
  - /home/pvh/anaconda3/envs
  - /home/pvh/.conda/envs
error_upload_url: https://conda.io/conda-post/unexpected-error
execute_threads: 1
extra_safety_checks: False
force: False
force_32bit: False
force_reinstall: False
force_remove: False
ignore_pinned: False
json: False
local_repodata_ttl: 1
migrated_channel_aliases: []
migrated_custom_channels: {}
non_admin_enabled: True
notify_outdated_conda: True
offline: False
override_channels_enabled: True
path_conflict: clobber
pinned_packages: []
pip_interop_enabled: False
pkgs_dirs:
  - /home/pvh/anaconda3/pkgs
  - /home/pvh/.conda/pkgs
proxy_servers: {}
quiet: False
remote_connect_timeout_secs: 9.15
remote_max_retries: 3
remote_read_timeout_secs: 60.0
repodata_fns:
  - current_repodata.json
  - repodata.json
repodata_threads: None
report_errors: None
restore_free_channel: False
rollback_enabled: True
root_prefix: /home/pvh/anaconda3
safety_checks: warn
sat_solver: pycosat
separate_format_cache: False
shortcuts: True
show_channel_urls: None
solver_ignore_timestamps: False
ssl_verify: True
subdir: linux-64
subdirs:
  - linux-64
  - noarch
target_prefix_override: 
track_features: []
update_modifier: update_specs
use_index_cache: False
use_local: False
use_only_tar_bz2: False
verbosity: 0
verify_threads: 1
whitelist_channels: []
pvanheus commented 5 years ago

conda version 4.7.11 btw

dpryan79 commented 5 years ago

Hmm, I just upgraded to 4.7.12 and I still get 5.1.0. Maybe this is an odd issue with 4.7.11, so try updating it.

pvanheus commented 5 years ago

@tseemann which conda version were you on when you saw this?

I tested this on another conda 4.7.11 install (also Linux) and it picks 5.1.0. So 4.7.11 is not the problem. I think there might be some caching causing this?

dpryan79 commented 5 years ago

Could be caching, compare the output of conda config --show on both and maybe that will help.

pvanheus commented 5 years ago

conda config --show on the machine where it resolves to 5.1.0:

add_anaconda_token: True
add_pip_as_python_dependency: True
aggressive_update_packages:
  - ca-certificates
  - certifi
  - openssl
allow_conda_downgrades: False
allow_cycles: True
allow_non_channel_urls: False
allow_softlinks: False
always_copy: False
always_softlink: False
always_yes: None
anaconda_upload: None
auto_activate_base: True
auto_update_conda: True
bld_path: 
changeps1: True
channel_alias: https://conda.anaconda.org
channel_priority: flexible
channels:
  - conda-forge
  - bioconda
  - defaults
client_ssl_cert: None
client_ssl_cert_key: None
clobber: False
conda_build: {}
create_default_packages: []
croot: /usr/people/pvh/miniconda3/conda-bld
custom_channels:
  pkgs/main: https://repo.anaconda.com
  pkgs/r: https://repo.anaconda.com
  usr/people/pvh/miniconda3/conda-bld: file://
  pkgs/pro: https://repo.anaconda.com
custom_multichannels:
  defaults: 
    - https://repo.anaconda.com/pkgs/main
    - https://repo.anaconda.com/pkgs/r
  local: 
    - file:///usr/people/pvh/miniconda3/conda-bld
debug: False
default_channels:
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
default_python: 3.6
default_threads: None
deps_modifier: not_set
dev: False
disallowed_packages: []
download_only: False
dry_run: False
enable_private_envs: False
env_prompt: ({default_env}) 
envs_dirs:
  - /usr/people/pvh/miniconda3/envs
  - /usr/people/pvh/.conda/envs
error_upload_url: https://conda.io/conda-post/unexpected-error
execute_threads: 1
extra_safety_checks: False
force: False
force_32bit: False
force_reinstall: False
force_remove: False
ignore_pinned: False
json: False
local_repodata_ttl: 1
migrated_channel_aliases: []
migrated_custom_channels: {}
non_admin_enabled: True
notify_outdated_conda: True
offline: False
override_channels_enabled: True
path_conflict: clobber
pinned_packages: []
pip_interop_enabled: False
pkgs_dirs:
  - /usr/people/pvh/miniconda3/pkgs
  - /usr/people/pvh/.conda/pkgs
proxy_servers: {}
quiet: False
remote_connect_timeout_secs: 9.15
remote_max_retries: 3
remote_read_timeout_secs: 60.0
repodata_fns:
  - current_repodata.json
  - repodata.json
repodata_threads: None
report_errors: None
restore_free_channel: False
rollback_enabled: True
root_prefix: /usr/people/pvh/miniconda3
safety_checks: warn
sat_solver: pycosat
separate_format_cache: False
shortcuts: True
show_channel_urls: None
solver_ignore_timestamps: False
ssl_verify: True
subdir: linux-64
subdirs:
  - linux-64
  - noarch
target_prefix_override: 
track_features: []
update_modifier: update_specs
use_index_cache: False
use_local: False
use_only_tar_bz2: True
verbosity: 0
verify_threads: 1
whitelist_channels: []
tseemann commented 5 years ago

My settings are:

conda --version
conda 4.7.12

cat ~/.condarc
channels:
  - conda-forge
  - bioconda
  - defaults

conda config --show
add_anaconda_token: True
add_pip_as_python_dependency: True
aggressive_update_packages:
  - ca-certificates
  - certifi
  - openssl
allow_conda_downgrades: False
allow_cycles: True
allow_non_channel_urls: False
allow_softlinks: False
always_copy: False
always_softlink: False
always_yes: None
anaconda_upload: None
auto_activate_base: True
auto_update_conda: True
bld_path:
changeps1: True
channel_alias: https://conda.anaconda.org
channel_priority: flexible
channels:
  - conda-forge
  - bioconda
  - defaults
client_ssl_cert: None
client_ssl_cert_key: None
clobber: False
conda_build: {}
create_default_packages: []
croot: /scratch/punim0401/miniconda3/conda-bld
custom_channels:
  pkgs/main: https://repo.anaconda.com
  pkgs/r: https://repo.anaconda.com
  pkgs/pro: https://repo.anaconda.com
custom_multichannels:
  defaults:
    - https://repo.anaconda.com/pkgs/main
    - https://repo.anaconda.com/pkgs/r
  local:
debug: False
default_channels:
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
default_python: 3.7
default_threads: None
deps_modifier: not_set
dev: False
disallowed_packages: []
download_only: False
dry_run: False
enable_private_envs: False
env_prompt: ({default_env})
envs_dirs:
  - /scratch/punim0401/miniconda3/envs
  - /home/torsten/.conda/envs
error_upload_url: https://conda.io/conda-post/unexpected-error
execute_threads: 1
extra_safety_checks: False
force: False
force_32bit: False
force_reinstall: False
force_remove: False
ignore_pinned: False
json: False
local_repodata_ttl: 1
migrated_channel_aliases: []
migrated_custom_channels: {}
non_admin_enabled: True
notify_outdated_conda: True
offline: False
override_channels_enabled: True
path_conflict: clobber
pinned_packages: []
pip_interop_enabled: False
pkgs_dirs:
  - /scratch/punim0401/miniconda3/pkgs
  - /home/torsten/.conda/pkgs
proxy_servers: {}
uiet: False
remote_connect_timeout_secs: 9.15
remote_max_retries: 3
remote_read_timeout_secs: 60.0
repodata_fns:
  - current_repodata.json
  - repodata.json
repodata_threads: None
report_errors: None
restore_free_channel: False
rollback_enabled: True
root_prefix: /scratch/punim0401/miniconda3
safety_checks: warn
sat_solver: pycosat
separate_format_cache: False
shortcuts: True
show_channel_urls: None
solver_ignore_timestamps: False
ssl_verify: True
subdir: linux-64
subdirs:
  - linux-64
  - noarch
target_prefix_override:
track_features: []
unsatisfiable_hints: True
repodata_threads: None
report_errors: None
restore_free_channel: False
rollback_enabled: True
root_prefix: /scratch/punim0401/miniconda3
safety_checks: warn
sat_solver: pycosat
separate_format_cache: False
shortcuts: True
show_channel_urls: None
solver_ignore_timestamps: False
ssl_verify: True
subdir: linux-64
subdirs:
  - linux-64
  - noarch
target_prefix_override:
track_features: []
unsatisfiable_hints: True
update_modifier: update_specs
use_index_cache: False
use_local: False
use_only_tar_bz2: False
verbosity: 0
verify_threads: 1
whitelist_channels: []
rpetit3 commented 5 years ago

TLDR: Try conda config --set use_only_tar_bz2 True

Late to the party, but I was getting the same thing (3.1.0 older version). When comparing @pvanheus config, the only differences that stuck out were:

Gets rgi 5.1.0 config: (@pvanheus)

default_python: 3.6
use_only_tar_bz2: True

Gets rgi 3.1.0 config: (@tseemann and my own)

default_python: 3.7
use_only_tar_bz2: False

I changed default_python to 3.6 (conda config --set default_python 3.6) and still got 3.1.0. But after changing use_only_tar_bz2 to True (conda config --set use_only_tar_bz2 True), I now get 5.1.0.

As to why that works, haha no idea!

tseemann commented 5 years ago

I'm not sure if this it related, but parts of the CARD project keep being provided at .bz2 files but actually they are .gz files. The creator says "it doesn't matter, because tar xf auto-detects it."