gagneurlab / gagneurlab/wBuild
Incompatibility with `snakemake>8`
- Dominant language
- Python
- Stars
- 4
- Forks
- 6
- PR merge metrics
- No merged PRs in 30d
Description
Have you already done this?
- [x] Skim through FAQ section of the docu (https://wbuild.readthedocs.io/en/latest/faq.html)
- [x] Rebuild your project
#### Environment
- setup environment with: `mamba create -n drop_env_debug -c conda-forge -c bioconda drop --override-channels`
```
name: drop_env_debug
channels:
- bioconda
- conda-forge
- defaults
dependencies:
...
- python=3.12.2=hab00c5b_0_cpython
...
- snakemake-interface-common=1.17.2=pyhdfd78af_0
- snakemake-interface-executor-plugins=9.1.1=pyhdfd78af_0
- snakemake-interface-report-plugins=1.0.0=pyhdfd78af_0
- snakemake-interface-storage-plugins=3.1.1=pyhdfd78af_0
- snakemake-minimal=8.10.7=pyhdfd78af_0
...
- wbuild=1.8.0=pyhdfd78af_1
```
#### Issue description
Runing as `wbuild` wirjfkiw with `snakemake>=8` fails as eg `'get_argument_parser'` has been deprecated (Eg removal in commit: https://github.com/snakemake/snakemake/commit/c9eaa4e12e4a348f93e5ea5793faaec1fd547fac#diff-f36ddf38d7a01c55552d675c82a06d201bd48a90ef14f916df328a2113ed66b6)
#### Steps to reproduce the issue
I encountered this in the `drop` pipeline demo (https://github.com/gagneurlab/drop/issues/534`
1. `mamba create -n drop_env -c conda-forge -c bioconda drop --override-channels`
2.
```
conda activate drop_env
mkdir ~/drop_demo
cd ~/drop_demo
drop demo
```
3. `snakemake -n # dryrun`
#### What's the expected result?
Workflow should work
#### What's the actual result?
Error:
```
(drop_env_debug) xxx:~/drop_demo$ snakemake -n
ImportError in file /home/vitoz/drop_demo/Snakefile, line 3:
cannot import name 'get_argument_parser' from 'snakemake' (/home/vitoz/mambaforge/envs/drop_env_debug/lib/python3.12/site-packages/snakemake/__init__.py)
File "/home/vitoz/drop_demo/Snakefile", line 3, in
File "/home/vitoz/mambaforge/envs/drop_env_debug/lib/python3.12/site-packages/drop/__init__.py", line 1, in
File "/home/vitoz/mambaforge/envs/drop_env_debug/lib/python3.12/site-packages/drop/setupDrop.py", line 2, in
File "/home/vitoz/mambaforge/envs/drop_env_debug/lib/python3.12/site-packages/drop/config/__init__.py", line 1, in
File "/home/vitoz/mambaforge/envs/drop_env_debug/lib/python3.12/site-packages/drop/config/DropConfig.py", line 1, in
File "/home/vitoz/mambaforge/envs/drop_env_debug/lib/python3.12/site-packages/drop/config/SampleAnnotation.py", line 1, in
File "/home/vitoz/mambaforge/envs/drop_env_debug/lib/python3.12/site-packages/drop/utils.py", line 3, in
File "/home/vitoz/mambaforge/envs/drop_env_debug/lib/python3.12/site-packages/wbuild/__init__.py", line 10, in
File "/home/vitoz/mambaforge/envs/drop_env_debug/lib/python3.12/site-packages/wbuild/autolink.py", line 6, in
File "/home/vitoz/mambaforge/envs/drop_env_debug/lib/python3.12/site-packages/wbuild/utils.py", line 12, in
```
Contributor guide
Research direction
Start by reproducing the failure with the documented mamba environment and `snakemake -n`. Then inspect `wbuild/utils.py` and `wbuild/autolink.py`, the files shown in the traceback, along with the `Snakefile` import at line 3. Done means the drop demo dry run completes with Snakemake 8.10.7 without the `get_argument_parser` ImportError.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100