PacificBiosciences / pbbioconda

PacBio Secondary Analysis Tools on Bioconda. Contains list of PacBio packages available via conda.
BSD 3-Clause Clear License
252 stars 44 forks source link

snakemake --reason deprecated #631

Closed johnstonmj closed 3 months ago

johnstonmj commented 10 months ago

Snakemake 8.0 has been released. This removes the snakemake option '--reason', and causes ipa to fail.

Operating system Ubuntu 22.04.3 LTS

Package name ipa (wrapper) version=1.8.0

Conda environment

# packages in environment at /some/path/.snakemake/conda/6c6b6775dbae66b01cf772b931baaebc_:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
amply                     0.1.6              pyhd8ed1ab_0    conda-forge
appdirs                   1.4.4              pyh9f0ad1d_0    conda-forge
argparse-dataclass        2.0.0              pyhd8ed1ab_0    conda-forge
attrs                     23.1.0             pyh71513ae_1    conda-forge
brotli-python             1.1.0           py312h30efb56_1    conda-forge
bzip2                     1.0.8                hd590300_5    conda-forge
c-ares                    1.24.0               hd590300_0    conda-forge
ca-certificates           2023.11.17           hbcca054_0    conda-forge
certifi                   2023.11.17         pyhd8ed1ab_0    conda-forge
charset-normalizer        3.3.2              pyhd8ed1ab_0    conda-forge
coin-or-cbc               2.10.10              h9002f0b_0    conda-forge
coin-or-cgl               0.60.7               h516709c_0    conda-forge
coin-or-clp               1.17.8               h1ee7a9c_0    conda-forge
coin-or-osi               0.108.8              ha2443b9_0    conda-forge
coin-or-utils             2.11.9               hee58242_0    conda-forge
coincbc                   2.10.10           0_metapackage    conda-forge
conda-inject              1.3.1              pyhd8ed1ab_0    conda-forge
configargparse            1.7                pyhd8ed1ab_0    conda-forge
connection_pool           0.0.3              pyhd3deb0d_0    conda-forge
datrie                    0.8.2           py312h98912ed_7    conda-forge
docutils                  0.20.1          py312h7900ff3_3    conda-forge
dpath                     2.1.6              pyha770c72_0    conda-forge
gitdb                     4.0.11             pyhd8ed1ab_0    conda-forge
gitpython                 3.1.40             pyhd8ed1ab_0    conda-forge
htslib                    1.19                 h81da01d_0    bioconda
humanfriendly             10.0               pyhd8ed1ab_6    conda-forge
idna                      3.6                pyhd8ed1ab_0    conda-forge
immutables                0.20            py312h98912ed_1    conda-forge
importlib_resources       6.1.1              pyhd8ed1ab_0    conda-forge
jinja2                    3.1.2              pyhd8ed1ab_1    conda-forge
jsonschema                4.20.0             pyhd8ed1ab_0    conda-forge
jsonschema-specifications 2023.11.2          pyhd8ed1ab_0    conda-forge
jupyter_core              5.5.1           py312h7900ff3_0    conda-forge
k8                        0.2.5                hdcf5f25_4    bioconda
keyutils                  1.6.1                h166bdaf_0    conda-forge
krb5                      1.21.2               h659d440_0    conda-forge
ld_impl_linux-64          2.40                 h41732ed_0    conda-forge
libblas                   3.9.0           20_linux64_openblas    conda-forge
libcblas                  3.9.0           20_linux64_openblas    conda-forge
libcurl                   8.5.0                hca28451_0    conda-forge
libdeflate                1.19                 hd590300_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 hd590300_2    conda-forge
libexpat                  2.5.0                hcb278e6_1    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 13.2.0               h807b86a_3    conda-forge
libgfortran-ng            13.2.0               h69a702a_3    conda-forge
libgfortran5              13.2.0               ha4646dd_3    conda-forge
libgomp                   13.2.0               h807b86a_3    conda-forge
liblapack                 3.9.0           20_linux64_openblas    conda-forge
liblapacke                3.9.0           20_linux64_openblas    conda-forge
libnghttp2                1.58.0               h47da74e_1    conda-forge
libnsl                    2.0.1                hd590300_0    conda-forge
libopenblas               0.3.25          pthreads_h413a1c8_0    conda-forge
libsqlite                 3.44.2               h2797004_0    conda-forge
libssh2                   1.11.0               h0841786_0    conda-forge
libstdcxx-ng              13.2.0               h7e041cc_3    conda-forge
libuuid                   2.38.1               h0b41bf4_0    conda-forge
libzlib                   1.2.13               hd590300_5    conda-forge
markupsafe                2.1.3           py312h98912ed_1    conda-forge
minimap2                  2.26                 he4a0461_2    bioconda
nbformat                  5.9.2              pyhd8ed1ab_0    conda-forge
ncurses                   6.4                  h59595ed_2    conda-forge
networkx                  3.2.1              pyhd8ed1ab_0    conda-forge
openssl                   3.2.0                hd590300_1    conda-forge
packaging                 23.2               pyhd8ed1ab_0    conda-forge
pb-falconc                1.15.0               haabb649_2    bioconda
pbipa                     1.8.0                h6ead514_2    bioconda
pcre                      8.45                 h9c3ff4c_0    conda-forge
pip                       23.3.2             pyhd8ed1ab_0    conda-forge
pkgutil-resolve-name      1.3.10             pyhd8ed1ab_1    conda-forge
plac                      1.4.2              pyhd8ed1ab_0    conda-forge
platformdirs              4.1.0              pyhd8ed1ab_0    conda-forge
psutil                    5.9.7           py312h98912ed_0    conda-forge
pulp                      2.7.0           py312h7900ff3_1    conda-forge
pyparsing                 3.1.1              pyhd8ed1ab_0    conda-forge
pysocks                   1.7.1              pyha2e5f31_6    conda-forge
python                    3.12.0          hab00c5b_0_cpython    conda-forge
python-fastjsonschema     2.19.0             pyhd8ed1ab_0    conda-forge
python_abi                3.12                    4_cp312    conda-forge
pyyaml                    6.0.1           py312h98912ed_1    conda-forge
racon                     1.5.0                h21ec9f0_2    bioconda
readline                  8.2                  h8228510_1    conda-forge
referencing               0.32.0             pyhd8ed1ab_0    conda-forge
requests                  2.31.0             pyhd8ed1ab_0    conda-forge
reretry                   0.11.8             pyhd8ed1ab_0    conda-forge
rpds-py                   0.15.2          py312h4b3b743_0    conda-forge
samtools                  1.19                 h50ea8bc_0    bioconda
setuptools                68.2.2             pyhd8ed1ab_0    conda-forge
smart_open                6.4.0              pyhd8ed1ab_0    conda-forge
smmap                     5.0.0              pyhd8ed1ab_0    conda-forge
snakemake-interface-common 1.15.0             pyhdfd78af_1    bioconda
snakemake-interface-executor-plugins 8.1.3              pyhdfd78af_0    bioconda
snakemake-interface-storage-plugins 3.0.0              pyhdfd78af_0    bioconda
snakemake-minimal         8.0.1              pyhdfd78af_0    bioconda
stopit                    1.1.2                      py_0    conda-forge
tabulate                  0.9.0              pyhd8ed1ab_1    conda-forge
throttler                 1.2.2              pyhd8ed1ab_0    conda-forge
tk                        8.6.13          noxft_h4845f30_101    conda-forge
toposort                  1.10               pyhd8ed1ab_0    conda-forge
traitlets                 5.14.0             pyhd8ed1ab_0    conda-forge
typing_extensions         4.9.0              pyha770c72_0    conda-forge
tzdata                    2023c                h71feb2d_0    conda-forge
urllib3                   2.1.0              pyhd8ed1ab_0    conda-forge
wheel                     0.42.0             pyhd8ed1ab_0    conda-forge
wrapt                     1.16.0          py312h98912ed_0    conda-forge
xz                        5.2.6                h166bdaf_0    conda-forge
yaml                      0.2.5                h7f98852_2    conda-forge
yte                       1.5.4              pyha770c72_0    conda-forge
zipp                      3.17.0             pyhd8ed1ab_0    conda-forge
zlib                      1.2.13               hd590300_5    conda-forge
zstd                      1.5.5                hfc55251_0    conda-forge

Describe the bug ipa fails due to error with arguments to snakemake

Error message

__main__.py: error: unrecognized arguments: --reason

ERROR: Command '/some/path/.snakemake/conda/6c6b6775dbae66b01cf772b931baaebc_/bin/python3 -m snakemake -j 1 -d RUN -p -s /some/path/.snakemake/conda/6c6b6775dbae66b01cf772b931baaebc_/etc/ipa.snakefile --configfile RUN/config.yaml --reason' returned non-zero exit status 2.
Exiting.

To Reproduce ipa local --input-fn some_file.fastq.gz --njobs 1 --nthreads "8" --genome-size "200000" --coverage "400"

Expected behavior snakemake commands generated within ipa should only include valid arguments to snakemake.

armintoepfer commented 10 months ago

Thank you for hint. It's unfortunate that snakemake broke this....please use an older version until we get to fixing this.

johnstonmj commented 10 months ago

Agreed! I doubt I'll be the only person destined to walk face-first into this change.

Setting the env to use snakemake = 7.32 allowed ipa to run successfully in the meantime.

Fortunately, it looks like the removed --reason option is now the default. Hopefully it is not too tricky to remove it down the line.

Thanks!

Marh32 commented 4 months ago

Hello, I would like to ask how to set the version of snakemake from 8 to 7.23, thanks in advance for your help.

sckieran commented 3 months ago

Unfortunately, downgrading snakemake to 7.32 introduced new problems for me.

ValueError in file /home/skieran/miniconda3/envs/ipa/etc/ipa.snakefile, line 57: Invalid format specifier ' 02d ' for object of type 'int' File "/home/skieran/miniconda3/envs/ipa/etc/ipa.snakefile", line 59, in File "/home/skieran/miniconda3/envs/ipa/etc/ipa.snakefile", line 57, in prenum

Do you have any recommendations for other packages that may need to be changed alongside snakemake? In my empty conda environment, I simply installed ipa and then installed snakemake=7.32, no clobber or force flag.

armintoepfer commented 3 months ago

We are in the process of deprecating IPA. Please use alternative HiFi genome assemblers, such as https://github.com/chhylp123/hifiasm