zavolanlab / zarp-cli

A user-friendly command-line interface for the ZARP RNA-seq analysis workflow
https://zavolanlab.github.io/zarp-cli/
Apache License 2.0
5 stars 1 forks source link

Strict Conda channel priority not supported #94

Open uniqueg opened 2 weeks ago

uniqueg commented 2 weeks ago

Describe the bug

ZARP-cli fails when conda's channel priority is set to strict:

LibMambaUnsatisfiableError: Encountered problems while solving:
  - package htsinfer-0.11.0-pyhdfd78af_0 requires biopython >=1.78, but none of the providers can be installed

Could not solve for environment specs
The following package could not be installed
└─ htsinfer 0.11.0**  is not installable because it requires
   └─ biopython >=1.78 , which conflicts with any installable versions previously reported.

To Reproduce Steps to reproduce the behavior:

  1. Install and initialize ZARP as described
  2. Execute conda config --set channel_priority strict
  3. Start ZARP-cli example run with zarp SRR23590181 SRR23529108

Expected behavior A clear and concise description of what you expected to happen.

ZARP-cli finishes without issues.

System

Additional context Add any other context about the problem here.

Comprehensive error messages:

               INFO     Inferring metadata...
CreateCondaEnvironmentException:
Could not create conda environment from /path/to/zarp/workflow/rules/../envs/htsinfer.yaml:
Command:
mamba env create --quiet --file "/path/to/.zarp/htsinfer/.snakemake/conda/c1bf96f9b4b753f56e7729c3610e5c1f_.yaml" --prefix "/path/to/.zarp/htsinfer/.snakemake/conda/c1bf96f9b4b753f56e7729c3610e5c1f_"
Output:
Channels:
 - bioconda
 - conda-forge
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
failed
Channels:
 - bioconda
 - conda-forge
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
failed

LibMambaUnsatisfiableError: Encountered problems while solving:
  - package htsinfer-0.11.0-pyhdfd78af_0 requires biopython >=1.78, but none of the providers can be installed

Could not solve for environment specs
The following package could not be installed
└─ htsinfer 0.11.0**  is not installable because it requires
   └─ biopython >=1.78 , which conflicts with any installable versions previously reported.

MM-DD HH:MM:SS ERROR    Command '['snakemake', '--printshellcmds', '--snakefile',         cli.py:105
                        '/path/to/zarp/workflow/rules/htsinfer.smk',              
                        '--cores', '4', '--directory', '/path/to/.zarp/htsinfer',              
                        '--configfile',                                                             
                        '/path/to/.zarp/htsinfer/runs/3AMP1E/config.yaml',                     
                        '--use-conda']' returned non-zero exit status 1.                            
               DEBUG    Traceback (most recent call last):                                cli.py:106
                          File "/path/to/zarp-cli/zarp/cli.py", line              
                        102, in main                                                                
                            samples = zarp.process_samples()                                        
                          File "/path/to/zarp-cli/zarp/zarp.py", line             
                        120, in process_samples                                                     
                            df = processor_htsinfer.process(                                        
                          File                                                                      
                        "/path/to/zarp-cli/zarp/plugins/sample_processo           
                        rs/htsinfer.py", line 64, in process                                        
                            executor.run(cmd=cmd)                                                   
                          File                                                                      
                        "/path/to/zarp-cli/zarp/snakemake/run.py", line           
                        108, in run                                                                 
                            raise exc                                                               
                          File                                                                      
                        "/path/to/zarp-cli/zarp/snakemake/run.py", line           
                        104, in run                                                                 
                            subprocess.run(cmd, check=True)                                         
                          File                                                                      
                        "/path/to/miniforge3/envs/zarp-cli/lib/python3.10/s           
                        ubprocess.py", line 524, in run                                             
                            raise CalledProcessError(retcode, process.args,                         
                        subprocess.CalledProcessError: Command '['snakemake',                       
                        '--printshellcmds', '--snakefile',                                          
                        '/path/to/zarp/workflow/rules/htsinfer.smk',              
                        '--cores', '4', '--directory', '/path/to/.zarp/htsinfer',              
                        '--configfile',                                                             
                        '/path/to/.zarp/htsinfer/runs/3AMP1E/config.yaml',                     
                        '--use-conda']' returned non-zero exit status 1.
uniqueg commented 2 weeks ago

Current workaround: Disable channel priority with conda config --set channel_priority disabled