Open hschult opened 3 weeks ago
Workflow exits with the following error:
Running on a PBS system:
Building DAG of jobs...
Creating conda environment environments/bigwig.yml...
Downloading and installing remote packages.
Environment for /xxxxxxxxx/denis/snakefiles/../environments/bigwig.yml created (location: .snakemake/conda/8b761192e7c474111471a21e65fd14b7)
Creating conda environment environments/motif.yml...
Downloading and installing remote packages.
Environment for /xxxxxxxx/denis/snakefiles/../environments/motif.yml created (location: .snakemake/conda/024f814690ea462e2d5954805d1047d6)
Using shell: /bin/bash
Provided cores: 64
Rules claiming more threads will be scaled down.
Traceback (most recent call last):
File "/xxxxxxxx/anaconda3/envs/snakemake-denis/lib/python3.10/site-packages/snakemake/__init__.py", line 722, in snakemake
success = workflow.execute(
File "/xxxxxxxx/anaconda3/envs/snakemake-denis/lib/python3.10/site-packages/snakemake/workflow.py", line 1092, in execute
logger.run_info("\n".join(dag.stats()))
File "/xxxxxxxx/anaconda3/envs/snakemake-denis/lib/python3.10/site-packages/snakemake/dag.py", line 2248, in stats
yield tabulate(rows, headers="keys")
File "/xxxxxxxx/anaconda3/envs/snakemake-denis/lib/python3.10/site-packages/tabulate/__init__.py", line 2048, in tabulate
list_of_lists, headers = _normalize_tabular_data(
File "/xxxxxxxx/anaconda3/envs/snakemake-denis/lib/python3.10/site-packages/tabulate/__init__.py", line 1471, in _normalize_tabular_data
rows = list(map(lambda r: r if _is_separating_line(r) else list(r), rows))
File "/xxxxxxxx/envs/snakemake-denis/lib/python3.10/site-packages/tabulate/__init__.py", line 1471, in <lambda>
rows = list(map(lambda r: r if _is_separating_line(r) else list(r), rows))
File "/xxxxxxxx/anaconda3/envs/snakemake-denis/lib/python3.10/site-packages/tabulate/__init__.py", line 107, in _is_separating_line
(len(row) >= 1 and row[0] == SEPARATING_LINE)
File "/xxxxxxxx/anaconda3/envs/snakemake-denis/lib/python3.10/site-packages/snakemake/rules.py", line 1213, in __eq__
return self.name == other.name and self.output == other.output
AttributeError: 'str' object has no attribute 'name'
Using conda environment:
name: snakemake-denis
channels:
- conda-forge
- mathieu
- bioconda
- r
- imperial-college-research-computing
dependencies:
- _libgcc_mutex=0.1=conda_forge
- _openmp_mutex=4.5=2_gnu
- aioeasywebdav=2.4.0=pyha770c72_0
- aiohappyeyeballs=2.4.3=pyhd8ed1ab_0
- aiohttp=3.10.10=py310h89163eb_0
- aiosignal=1.3.1=pyhd8ed1ab_0
- amply=0.1.6=pyhd8ed1ab_0
- annotated-types=0.7.0=pyhd8ed1ab_0
- appdirs=1.4.4=pyh9f0ad1d_0
- async-timeout=4.0.3=pyhd8ed1ab_0
- attrs=24.2.0=pyh71513ae_0
- bcrypt=4.2.0=py310h505e2c1_1
- boto3=1.35.52=pyhd8ed1ab_0
- botocore=1.35.53=pyge310_1234567_0
- brotli-python=1.1.0=py310hf71b8c6_2
- bzip2=1.0.8=h4bc722e_7
- c-ares=1.34.2=heb4867d_0
- ca-certificates=2024.8.30=hbcca054_0
- cachetools=5.5.0=pyhd8ed1ab_0
- certifi=2024.8.30=pyhd8ed1ab_0
- cffi=1.17.1=py310h8deb56e_0
- charset-normalizer=3.4.0=pyhd8ed1ab_0
- click=8.1.7=unix_pyh707e725_0
- coin-or-cbc=2.10.12=h8b142ea_1
- coin-or-cgl=0.60.9=h1d3f3f2_0
- coin-or-clp=1.17.10=h07f2a63_0
- coin-or-osi=0.108.11=h6514dde_1
- coin-or-utils=2.11.12=h99da652_1
- coincbc=2.10.12=1_metapackage
- colorama=0.4.6=pyhd8ed1ab_0
- coloredlogs=15.0.1=pyhd8ed1ab_3
- configargparse=1.7=pyhd8ed1ab_0
- connection_pool=0.0.3=pyhd3deb0d_0
- cryptography=43.0.3=py310h6c63255_0
- datrie=0.8.2=py310ha75aee5_8
- decorator=5.1.1=pyhd8ed1ab_0
- defusedxml=0.7.1=pyhd8ed1ab_0
- docutils=0.21.2=pyhd8ed1ab_0
- dpath=2.2.0=pyha770c72_0
- dropbox=11.36.2=pyhd8ed1ab_0
- exceptiongroup=1.2.2=pyhd8ed1ab_0
- filechunkio=1.8=py_2
- filelock=3.16.1=pyhd8ed1ab_0
- frozenlist=1.5.0=py310ha75aee5_0
- ftputil=5.1.0=pyhd8ed1ab_0
- gitdb=4.0.11=pyhd8ed1ab_0
- gitpython=3.1.43=pyhd8ed1ab_0
- google-api-core=2.22.0=pyhd8ed1ab_0
- google-api-python-client=2.151.0=pyhff2d567_0
- google-auth=2.35.0=pyhff2d567_0
- google-auth-httplib2=0.2.0=pyhd8ed1ab_0
- google-cloud-core=2.4.1=pyhd8ed1ab_0
- google-cloud-storage=2.18.2=pyhff2d567_0
- google-crc32c=1.1.2=py310hd027165_6
- google-resumable-media=2.7.2=pyhd8ed1ab_1
- googleapis-common-protos=1.65.0=pyhd8ed1ab_0
- grpcio=1.67.1=py310h1a6248f_0
- h2=4.1.0=pyhd8ed1ab_0
- hpack=4.0.0=pyh9f0ad1d_0
- httplib2=0.22.0=pyhd8ed1ab_0
- humanfriendly=10.0=pyhd8ed1ab_6
- hyperframe=6.0.1=pyhd8ed1ab_0
- idna=3.10=pyhd8ed1ab_0
- importlib_resources=6.4.5=pyhd8ed1ab_0
- iniconfig=2.0.0=pyhd8ed1ab_0
- jinja2=3.1.4=pyhd8ed1ab_0
- jmespath=1.0.1=pyhd8ed1ab_0
- jsonschema=4.23.0=pyhd8ed1ab_0
- jsonschema-specifications=2024.10.1=pyhd8ed1ab_0
- jupyter_core=5.7.2=pyh31011fe_1
- ld_impl_linux-64=2.43=h712a8e2_2
- libabseil=20240722.0=cxx17_h5888daf_1
- libblas=3.9.0=25_linux64_openblas
- libcblas=3.9.0=25_linux64_openblas
- libcrc32c=1.1.2=h9c3ff4c_0
- libffi=3.4.2=h7f98852_5
- libgcc=14.2.0=h77fa898_1
- libgcc-ng=14.2.0=h69a702a_1
- libgfortran=14.2.0=h69a702a_1
- libgfortran-ng=14.2.0=h69a702a_1
- libgfortran5=14.2.0=hd5240d6_1
- libgomp=14.2.0=h77fa898_1
- libgrpc=1.67.1=hc2c308b_0
- liblapack=3.9.0=25_linux64_openblas
- liblapacke=3.9.0=25_linux64_openblas
- libnsl=2.0.1=hd590300_0
- libopenblas=0.3.28=pthreads_h94d23a6_0
- libprotobuf=5.28.2=h5b01275_0
- libre2-11=2024.07.02=hbbce691_1
- libsodium=1.0.20=h4ab18f5_0
- libsqlite=3.47.0=hadc24fc_1
- libstdcxx=14.2.0=hc0a3c3a_1
- libstdcxx-ng=14.2.0=h4852527_1
- libuuid=2.38.1=h0b41bf4_0
- libxcrypt=4.4.36=hd590300_1
- libzlib=1.3.1=hb9d3cd8_2
- logmuse=0.2.8=pyhd8ed1ab_0
- markdown-it-py=3.0.0=pyhd8ed1ab_0
- markupsafe=3.0.2=py310h89163eb_0
- mdurl=0.1.2=pyhd8ed1ab_0
- multidict=6.1.0=py310h89163eb_1
- nbformat=5.10.4=pyhd8ed1ab_0
- ncurses=6.5=he02047a_1
- numpy=2.1.2=py310hd6e36ab_0
- oauth2client=4.1.3=pyhd8ed1ab_1
- openssl=3.3.2=hb9d3cd8_0
- packaging=24.1=pyhd8ed1ab_0
- pandas=2.2.3=py310h5eaa309_1
- paramiko=3.5.0=pyhd8ed1ab_0
- pephubclient=0.4.4=pyhd8ed1ab_0
- peppy=0.40.7=pyhd8ed1ab_1
- pip=24.3.1=pyh8b19718_0
- pkgutil-resolve-name=1.3.10=pyhd8ed1ab_1
- plac=1.4.3=pyhd8ed1ab_0
- platformdirs=4.3.6=pyhd8ed1ab_0
- pluggy=1.5.0=pyhd8ed1ab_0
- ply=3.11=pyhd8ed1ab_2
- prettytable=3.12.0=pyhd8ed1ab_0
- propcache=0.2.0=py310ha75aee5_2
- proto-plus=1.25.0=pyhd8ed1ab_0
- protobuf=5.28.2=py310hf71b8c6_0
- psutil=6.1.0=py310ha75aee5_0
- pulp=2.7.0=py310hff52083_1
- py=1.11.0=pyh6c4a22f_0
- pyasn1=0.6.1=pyhd8ed1ab_1
- pyasn1-modules=0.4.1=pyhd8ed1ab_0
- pycparser=2.22=pyhd8ed1ab_0
- pydantic=2.9.2=pyhd8ed1ab_0
- pydantic-core=2.23.4=py310h505e2c1_0
- pygments=2.18.0=pyhd8ed1ab_0
- pynacl=1.5.0=py310ha75aee5_4
- pyopenssl=24.2.1=pyhd8ed1ab_2
- pyparsing=3.2.0=pyhd8ed1ab_1
- pysftp=0.2.9=py_1
- pysocks=1.7.1=pyha2e5f31_6
- pytest=8.3.3=pyhd8ed1ab_0
- python=3.10.15=h4a871b0_2_cpython
- python-dateutil=2.9.0=pyhd8ed1ab_0
- python-fastjsonschema=2.20.0=pyhd8ed1ab_0
- python-irodsclient=2.1.0=pyhd8ed1ab_0
- python-tzdata=2024.2=pyhd8ed1ab_0
- python_abi=3.10=5_cp310
- pytz=2024.1=pyhd8ed1ab_0
- pyu2f=0.1.5=pyhd8ed1ab_0
- pyyaml=6.0.2=py310ha75aee5_1
- ratelimiter=1.2.0=pyhd8ed1ab_1003
- re2=2024.07.02=h77b4e00_1
- readline=8.2=h8228510_1
- referencing=0.35.1=pyhd8ed1ab_0
- requests=2.32.3=pyhd8ed1ab_0
- retry=0.9.2=py_0
- rich=13.9.3=pyhd8ed1ab_0
- rpds-py=0.20.0=py310h505e2c1_1
- rsa=4.9=pyhd8ed1ab_0
- s3transfer=0.10.3=pyhd8ed1ab_0
- setuptools=75.3.0=pyhd8ed1ab_0
- setuptools-scm=8.1.0=pyhd8ed1ab_0
- shellingham=1.5.4=pyhd8ed1ab_0
- six=1.16.0=pyh6c4a22f_0
- slacker=0.14.0=py_0
- smart_open=7.0.5=pyhd8ed1ab_1
- smmap=5.0.0=pyhd8ed1ab_0
- snakemake=7.3.7=hdfd78af_0
- snakemake-minimal=7.3.7=pyhdfd78af_0
- stone=3.3.8=pyhd8ed1ab_0
- stopit=1.1.2=py_0
- tabulate=0.9.0=pyhd8ed1ab_1
- tk=8.6.13=noxft_h4845f30_101
- tomli=2.0.2=pyhd8ed1ab_0
- toposort=1.10=pyhd8ed1ab_0
- traitlets=5.14.3=pyhd8ed1ab_0
- typer=0.12.5=pyhd8ed1ab_0
- typer-slim=0.12.5=pyhd8ed1ab_0
- typer-slim-standard=0.12.5=hd8ed1ab_0
- typing-extensions=4.12.2=hd8ed1ab_0
- typing_extensions=4.12.2=pyha770c72_0
- tzdata=2024b=hc8b5060_0
- ubiquerg=0.8.0=pyhd8ed1ab_0
- uritemplate=4.1.1=pyhd8ed1ab_0
- urllib3=2.2.3=pyhd8ed1ab_0
- veracitools=0.1.3=py_0
- wcwidth=0.2.13=pyhd8ed1ab_0
- wheel=0.44.0=pyhd8ed1ab_0
- wrapt=1.16.0=py310ha75aee5_1
- xz=5.2.6=h166bdaf_0
- yaml=0.2.5=h7f98852_2
- yarl=1.16.0=py310ha75aee5_0
- yte=1.5.4=pyha770c72_0
- zipp=3.20.2=pyhd8ed1ab_0
- zstandard=0.23.0=py310ha39cb0e_1
- zstd=1.5.6=ha6fb4c9_0
prefix: /xxxxxxxx/anaconda3/envs/snakemake-denis
Please excuse the wait time, this turned out to be three different issues at once, which resulted in a lot of trial and error on my side.
The first error did occur because of a missing new line at the end of my Snakefile. Older versions of Snakemake were fine with this but newer versions (e.g. Snakemake 8.25.0
) are not. This is fixed and already on the main branch (#2).
The second error, which you reported for Snakemake 7.3.7
is a known bug caused by a dependency (see here). It can be manually fixed by installing tabulate=0.8.10
but is also fixed in Snakemake >=7.15.2
. Upgrading Snakemake to 8.25.0
led me to the third bug, which is discussed here. From what I can tell, this was introduced with Snakemake 8 and unfortunately does not have a solution, yet. My recommendation is to use Snakemake >=7.15.2,<8
.
Tldr: This pipeline is broken in Snakemake >=8
. Use one installed with e.g. this: mamba install "snakemake>=7.15.2,<8"
.
DENIS hits an error with snakemake v8.25.0:
^ Seems to be from line 54 of the Snakefile.
Downgrading snakemake to v7.3.7 resolves the error.