Closed TakacsBertalan closed 1 year ago
Hi @TakacsBertalan,
Thanks for submitting this issue. Unfortunately it seems like recent releases of mamba (a supposedly better environment solver than conda) have caused lots of issues with it doing its job. My first suggestion here would be to run sunbeam with the conda frontend set to conda instead of mamba. Please try changing line 3 of sunbeam/tests/test_suite.sh
from
sunbeam run -- --configfile=$TEMPDIR/tmp_config.yml -p
to
sunbeam run -- --configfile=$TEMPDIR/tmp_config.yml -p --conda-frontend conda
and then run bash tests/run_tests.bash -e sunbeam3.1.1 -v -t test_all
to check if there are other issues.
Hi! Thanks for the answer! I modified the file and ran the script again. This is the running_test_all part of the output where the problem occured again:
Running test_all... Found extension sbx_test in folder sbx_test
Found extension sbx_test_subdir in folder sbx_test_subdir
Found extension sbx_test_smk in folder sbx_test_smk
Collecting host/contaminant genomes... done.
Collecting target genomes... done.
Building DAG of jobs...
Creating conda environment /media/deltagene/Microbiome/sunbeam/rules/mapping/../../envs/mapping.yml...
Downloading and installing remote packages.
CreateCondaEnvironmentException:
Could not create conda environment from /media/deltagene/Microbiome/sunbeam/rules/mapping/../../envs/mapping.yml:
Command:
conda env create --quiet --file "/media/deltagene/Microbiome/sunbeam/.snakemake/cd9e002dbe0498010481da5ecc68c23e_.yaml" --prefix "/media/deltagene/Microbiome/sunbeam/.snakemake/cd9e002dbe0498010481da5ecc68c23e_"
Output:
Retrieving notices: ...working... done
Collecting package metadata (repodata.json): ...working... done
Solving environment: ...working... done
Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
ERROR conda.core.link:_execute(740): An error occurred while installing package 'conda-forge::perl-5.32.1-2_h7f98852_perl5'.
Rolling back transaction: ...working... done
[Errno 22] Invalid argument: '/media/deltagene/Microbiome/sunbeam/.snakemake/cd9e002dbe0498010481da5ecc68c23e_/man/man3/App::Cpan.3'
()
--configfile flag not found, either it is missing (not ok) or was provided as --configfile=filename (ok)
Running: snakemake --snakefile /media/deltagene/Microbiome/sunbeam/Snakefile -c --use-conda --conda-prefix /media/deltagene/Microbiome/sunbeam/.snakemake --configfile=/tmp/tmp.D9y7PPAwab/tmp_config.yml -p --conda-frontend conda
Failed command error output:
Found extension sbx_test in folder sbx_test
Found extension sbx_test_subdir in folder sbx_test_subdir
Found extension sbx_test_smk in folder sbx_test_smk
Collecting host/contaminant genomes... done.
Collecting target genomes... done.
Building DAG of jobs...
Creating conda environment /media/deltagene/Microbiome/sunbeam/rules/mapping/../../envs/mapping.yml...
Downloading and installing remote packages.
CreateCondaEnvironmentException:
Could not create conda environment from /media/deltagene/Microbiome/sunbeam/rules/mapping/../../envs/mapping.yml:
Command:
conda env create --quiet --file "/media/deltagene/Microbiome/sunbeam/.snakemake/cd9e002dbe0498010481da5ecc68c23e_.yaml" --prefix "/media/deltagene/Microbiome/sunbeam/.snakemake/cd9e002dbe0498010481da5ecc68c23e_"
Output:
Retrieving notices: ...working... done
Collecting package metadata (repodata.json): ...working... done
Solving environment: ...working... done
Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
ERROR conda.core.link:_execute(740): An error occurred while installing package 'conda-forge::perl-5.32.1-2_h7f98852_perl5'.
Rolling back transaction: ...working... done
[Errno 22] Invalid argument: '/media/deltagene/Microbiome/sunbeam/.snakemake/cd9e002dbe0498010481da5ecc68c23e_/man/man3/App::Cpan.3'
()
x (log: /tmp/tmp.D9y7PPAwab/test_all.[out/err])
-- TESTS FAILED --
Deleting temporary directory /tmp/tmp.D9y7PPAwab
Restoring extensions folder
Ahh that's unfortunate, seems like conda can't solve the environment either. This is the major downside of using underspecified environments, it means that releases of new versions of dependencies can break the solver very unpredictably. We should soon be releasing version 4 of sunbeam that will dramatically reduce the amount of dependencies.
For now, I can make a couple suggestions. For one thing, if you don't need the mapping environment you can just use the portions of the pipeline you need without running the tests. Otherwise, you can try (and this is a real shot in the dark) removing these lines from envs/mapping.yml
:
- conda-forge::gsl # bcftools
- conda-forge::libopenblas # bcftools
Sorry for the inconvenience. If none of this works, I'd suggest waiting on v4.
Thank you for the suggestions! The mapping portions of the pipeline is not very important for my work, so I will just use the rest.
Hi! After installing sunbeam, I am running the run-tests script, but it results the following error: I use this command to run the script:
bash tests/run_tests.bash -e sunbeam3.1.1
The error I get
I tried running it multiple times and using real files, but the error seems consistent. It is always at the annotation step and the problem seems to be with a perl package, although not always the same. Sometimes it is perl-5.26.2, other times it is perl-5.5.32.1-2. What could be the problem? Thanks in advance, Bertalan Takács