modules
modules copied to clipboard
Fix bcftools/stats module
PR checklist
This PR fixes the module bcftools/stats and enables to use a regions (with index tbi files) or targets file (no index tbi file required) and adjusts the tests.
- [x] This comment contains a description of changes (with reason).
- [x] If you've fixed a bug or added code that should be tested, add tests!
- [x ] If you've added a new tool - have you followed the module conventions in the contribution docs
- [x] If necessary, include test data in your PR.
- [x] Remove all TODO statements.
- [x] Emit the
versions.yml
file. - [x] Follow the naming conventions.
- [x] Follow the parameters requirements.
- [x] Follow the input/output options guidelines.
- [x] Add a resource
label
- [x] Use BioConda and BioContainers if possible to fulfil software requirements.
- Ensure that the test works with either Docker / Singularity. Conda CI tests can be quite flaky:
- [x]
PROFILE=docker pytest --tag <MODULE> --symlink --keep-workflow-wd --git-aware
- [ ]
PROFILE=singularity pytest --tag <MODULE> --symlink --keep-workflow-wd --git-aware
- [ ]
PROFILE=conda pytest --tag <MODULE> --symlink --keep-workflow-wd --git-aware
- [x]
The container with conda uses htslib=1.15.1
while the docker/singularity containers use htslib=1.15
, therefore the files created with conda have checksums that differ from the test.yml
. They just contain a different string in the header which specifies the versions used to create the test.bcftools.stats.txt
:
# This file was produced by bcftools stats (1.15.1+htslib-1.15.1) and can be plotted using plot-vcfstats.
# This file was produced by bcftools stats (1.15.1+htslib-1.15) and can be plotted using plot-vcfstats.
@SusiJo to fix the issue with the different md5sums beween conda and docker/singularity, you can instead use a string:
https://pytest-workflow.readthedocs.io/en/stable/#test-options
e.g. you could use - `contains: ["This file was produced by bcftools stats"], or another string further done with actual content
Thanks! Somehow I didn't come up with just using a substring 😅