-
Notifications
You must be signed in to change notification settings - Fork 196
Comparing changes
Open a pull request
base repository: snakemake/snakemake-wrappers
base: master@{1day}
head repository: snakemake/snakemake-wrappers
compare: master
- 5 commits
- 40 files changed
- 4 contributors
Commits on Jun 11, 2025
-
feat: Add wrapper for Tandem Repeat Finder (TRF) utility (#4160)
This PR provides support of executing TRF command line utility (https://prefix.dev/channels/bioconda/packages/trf) through Snakemake using Snakemake wrappers. On top of basic TRF feature(s) this wrapper additionally makes it easy for users to write Snakemake rules by providing following things: - In case user doesn't provide any parameters it automatically sets to recommended defaults by the TRF author as on the website(https://tandem.bu.edu/trf/help) and allows users to right a bare minimum Snakemake rule. - Raises errors or warning in case the parameter value or flag with options value is set to that not allowed by the author. - It filters or recognizes some mistakes and raise errors or warning based on that: - Error in case a known flag is mistyped like -m tp *m with feedback. - Warning and ignoring unknown flags if tried to entered like -) -Y etc. - Supporting multiple options for option value flag, -l20, -l 20 and -l=20. - In case user provides partial parameters list, it use recommended defaults with updates to those parameters which user provided specifically. - Handles missing log files gracefully. - Support to print the directory contents on Screen once output has been ready. - Has logging configured for debug, info mode etc. - Allows fasta format only as per snakemake wrapper utils: https://github.com/snakemake/snakemake-wrapper-utils/blob/master/snakemake_wrapper_utils/snakemake.py - Have basic integration tests in place with various rule scenarios. - Updated meta for related documentation. ### QC * [X] I confirm that I have followed the [documentation for contributing to `snakemake-wrappers`](https://snakemake-wrappers.readthedocs.io/en/stable/contributing.html). While the contributions guidelines are more extensive, please particularly ensure that: * [X] `test.py` was updated to call any added or updated example rules in a `Snakefile` -> _**yes, but in test-wrappers.py**_ * [X] `input:` and `output:` file paths in the rules can be chosen arbitrarily * [X] wherever possible, command line arguments are inferred and set automatically (e.g. based on file extensions in `input:` or `output:`) * [ ] temporary files are either written to a unique hidden folder in the working directory, or (better) stored where the Python function `tempfile.gettempdir()` points to -> _**Not applicable in my case.**_ * [X] the `meta.yaml` contains a link to the documentation of the respective tool or command under `url:` * [X] conda environments use a minimal amount of channels and packages, in recommended ordering <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added a Snakemake wrapper for the Tandem Repeat Finder (TRF) tool, enabling automated detection of tandem repeats in DNA sequences. - Provided environment configuration files for reproducible setup on Linux platforms. - Included metadata and documentation for wrapper usage, parameters, and outputs. - **Tests** - Introduced comprehensive test workflows and sample data to validate the TRF wrapper under various scenarios, including parameter variations and error handling. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: rohan-ibn-tariq <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for be31100 - Browse repository at this point
Copy the full SHA be31100View commit details -
fix!: trimmomatic wrappers: remove parallel gzip, merge wrappers, add…
…ed docs, and code refactoring. (#4158) <!-- Ensure that the PR title follows conventional commit style (<type>: <description>)--> <!-- Possible types are here: https://github.com/commitizen/conventional-commit-types/blob/master/index.json --> <!-- Add a description of your PR here--> Current parallel compression/decompression with `pigz` is no longer supported in latest versions of `Trimmomatic` and it breaks MultiQC reporting. Since it seems that the next version of Trimmomatic will have [parallel compression]( usadellab/Trimmomatic@7220eba), this issues removes it, bumps versions, refactors code, merges the two PE/SE wrappers, and iproves docs. Closes #778 Closes #869 Fixes #961 ### QC <!-- Make sure that you can tick the boxes below. --> * [x] I confirm that I have followed the [documentation for contributing to `snakemake-wrappers`](https://snakemake-wrappers.readthedocs.io/en/stable/contributing.html). While the contributions guidelines are more extensive, please particularly ensure that: * [x] `test.py` was updated to call any added or updated example rules in a `Snakefile` * [x] `input:` and `output:` file paths in the rules can be chosen arbitrarily * [x] wherever possible, command line arguments are inferred and set automatically (e.g. based on file extensions in `input:` or `output:`) * [x] temporary files are either written to a unique hidden folder in the working directory, or (better) stored where the Python function `tempfile.gettempdir()` points to * [x] the `meta.yaml` contains a link to the documentation of the respective tool or command under `url:` * [x] conda environments use a minimal amount of channels and packages, in recommended ordering <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced unified configuration and metadata files for running Trimmomatic, supporting both paired-end and single-end workflows with various input/output formats. - Added a new wrapper script to streamline Trimmomatic execution within Snakemake workflows. - **Refactor** - Consolidated multiple environment and metadata files into a single set for easier management and reproducibility. - Unified Snakemake rules for Trimmomatic into a single, comprehensive Snakefile covering all compression and read-type combinations. - Removed legacy single-end and paired-end specific environment and metadata files along with deprecated wrapper scripts. - **Tests** - Simplified and consolidated test coverage for paired-end workflows; removed separate single-end tests. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Configuration menu - View commit details
-
Copy full SHA for c914d68 - Browse repository at this point
Copy the full SHA c914d68View commit details -
fix: GATK variantrecalibrator wrapper path (#4126)
<!-- Ensure that the PR title follows conventional commit style (<type>: <description>)--> <!-- Possible types are here: https://github.com/commitizen/conventional-commit-types/blob/master/index.json --> <!-- Add a description of your PR here--> Fixes #4125 ### QC <!-- Make sure that you can tick the boxes below. --> * [x] I confirm that I have followed the [documentation for contributing to `snakemake-wrappers`](https://snakemake-wrappers.readthedocs.io/en/stable/contributing.html). While the contributions guidelines are more extensive, please particularly ensure that: * [x] `test.py` was updated to call any added or updated example rules in a `Snakefile` * [x] `input:` and `output:` file paths in the rules can be chosen arbitrarily * [x] wherever possible, command line arguments are inferred and set automatically (e.g. based on file extensions in `input:` or `output:`) * [x] temporary files are either written to a unique hidden folder in the working directory, or (better) stored where the Python function `tempfile.gettempdir()` points to * [x] the `meta.yaml` contains a link to the documentation of the respective tool or command under `url:` * [x] conda environments use a minimal amount of channels and packages, in recommended ordering <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Chores** - Updated the source path for the wrapper used in the variant recalibration workflow. - Improved remote resource access by updating URLs and fetching methods in the variant recalibration tests. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Configuration menu - View commit details
-
Copy full SHA for 965df4d - Browse repository at this point
Copy the full SHA 965df4dView commit details -
feat: add param for mem_overhead (#4122)
<!-- Ensure that the PR title follows conventional commit style (<type>: <description>)--> <!-- Possible types are here: https://github.com/commitizen/conventional-commit-types/blob/master/index.json --> <!-- Add a description of your PR here--> ### QC <!-- Make sure that you can tick the boxes below. --> * [x] I confirm that I have followed the [documentation for contributing to `snakemake-wrappers`](https://snakemake-wrappers.readthedocs.io/en/stable/contributing.html). While the contributions guidelines are more extensive, please particularly ensure that: * [x] `test.py` was updated to call any added or updated example rules in a `Snakefile` * [x] `input:` and `output:` file paths in the rules can be chosen arbitrarily * [x] wherever possible, command line arguments are inferred and set automatically (e.g. based on file extensions in `input:` or `output:`) * [x] temporary files are either written to a unique hidden folder in the working directory, or (better) stored where the Python function `tempfile.gettempdir()` points to * [x] the `meta.yaml` contains a link to the documentation of the respective tool or command under `url:` * [x] conda environments use a minimal amount of channels and packages, in recommended ordering <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a configurable memory overhead setting to optimize memory allocation during FastQC runs. - Enhanced output descriptions for FastQC results, clarifying file formats and contents. - **Refactor** - Improved memory management during FastQC execution to optimize resource allocation per thread, enhancing performance stability without changing user workflows. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Configuration menu - View commit details
-
Copy full SHA for 50f8acb - Browse repository at this point
Copy the full SHA 50f8acbView commit details -
chore(master): release 7.0.0 (#4124)
🤖 I have created a release *beep* *boop* --- ## [7.0.0](v6.2.0...v7.0.0) (2025-06-11) ### ⚠ BREAKING CHANGES * trimmomatic wrappers: remove parallel gzip, merge wrappers, added docs, and code refactoring. ([#4158](#4158)) ### Features * add param for mem_overhead ([#4122](#4122)) ([50f8acb](50f8acb)) * add wrapper for MEGAHIT ([#4121](#4121)) ([be71b0b](be71b0b)) * Add wrapper for Tandem Repeat Finder (TRF) utility ([#4160](#4160)) ([be31100](be31100)) * enable gzip output for bedtools wrappers ([#3642](#3642)) ([fc6df02](fc6df02)) ### Bug Fixes * fix 4118 ([#4119](#4119)) ([00f7aaf](00f7aaf)) * GATK variantrecalibrator wrapper path ([#4126](#4126)) ([965df4d](965df4d)) * remove hardcoded shrink type, and fix typos ([#4123](#4123)) ([7832d9f](7832d9f)) * trimmomatic wrappers: remove parallel gzip, merge wrappers, added docs, and code refactoring. ([#4158](#4158)) ([c914d68](c914d68)) ### Performance Improvements * autobump bio/bamtools/filter ([#4127](#4127)) ([a5f375c](a5f375c)) * autobump bio/bamtools/filter_json ([#4131](#4131)) ([da6cc46](da6cc46)) * autobump bio/bamtools/split ([#4130](#4130)) ([bcb48e4](bcb48e4)) * autobump bio/bamtools/stats ([#4128](#4128)) ([cab52d7](cab52d7)) * autobump bio/bbtools ([#4137](#4137)) ([095c7cc](095c7cc)) * autobump bio/bcftools/call ([#4168](#4168)) ([49a7824](49a7824)) * autobump bio/bcftools/concat ([#4187](#4187)) ([c9e2d7a](c9e2d7a)) * autobump bio/bcftools/filter ([#4197](#4197)) ([34f008f](34f008f)) * autobump bio/bcftools/index ([#4192](#4192)) ([b9959e9](b9959e9)) * autobump bio/bcftools/merge ([#4174](#4174)) ([bbb3c6c](bbb3c6c)) * autobump bio/bcftools/mpileup ([#4178](#4178)) ([0c8a6d1](0c8a6d1)) * autobump bio/bcftools/norm ([#4175](#4175)) ([7305a0b](7305a0b)) * autobump bio/bcftools/reheader ([#4177](#4177)) ([a468bca](a468bca)) * autobump bio/bcftools/sort ([#4183](#4183)) ([250b4bc](250b4bc)) * autobump bio/bcftools/stats ([#4194](#4194)) ([7525cf1](7525cf1)) * autobump bio/bcftools/view ([#4162](#4162)) ([879af38](879af38)) * autobump bio/bedtools/bamtobed ([#4188](#4188)) ([7ef5b5d](7ef5b5d)) * autobump bio/bedtools/complement ([#4189](#4189)) ([fbea34a](fbea34a)) * autobump bio/bedtools/coveragebed ([#4191](#4191)) ([38f8b93](38f8b93)) * autobump bio/bedtools/genomecov ([#4163](#4163)) ([923dc25](923dc25)) * autobump bio/bedtools/intersect ([#4198](#4198)) ([48042ac](48042ac)) * autobump bio/bedtools/merge ([#4169](#4169)) ([46bb04e](46bb04e)) * autobump bio/bedtools/slop ([#4170](#4170)) ([c314c49](c314c49)) * autobump bio/bedtools/sort ([#4173](#4173)) ([e72641d](e72641d)) * autobump bio/bedtools/split ([#4185](#4185)) ([f305aeb](f305aeb)) * autobump bio/bellerophon ([#4180](#4180)) ([1064bf7](1064bf7)) * autobump bio/benchmark/chm-eval-sample ([#4179](#4179)) ([8b3ecfd](8b3ecfd)) * autobump bio/bgzip ([#4166](#4166)) ([a5dcdad](a5dcdad)) * autobump bio/bismark/bam2nuc ([#4181](#4181)) ([f88f3f8](f88f3f8)) * autobump bio/bismark/bismark ([#4193](#4193)) ([868363e](868363e)) * autobump bio/bismark/bismark_genome_preparation ([#4182](#4182)) ([6177626](6177626)) * autobump bio/bismark/bismark_methylation_extractor ([#4165](#4165)) ([e509dea](e509dea)) * autobump bio/bismark/bismark2bedGraph ([#4195](#4195)) ([1d17cae](1d17cae)) * autobump bio/bismark/bismark2report ([#4196](#4196)) ([e884149](e884149)) * autobump bio/bismark/bismark2summary ([#4190](#4190)) ([85e4883](85e4883)) * autobump bio/bismark/deduplicate_bismark ([#4161](#4161)) ([6de357f](6de357f)) * autobump bio/bowtie2/align ([#4186](#4186)) ([36ec656](36ec656)) * autobump bio/bustools/count ([#4138](#4138)) ([60fd30a](60fd30a)) * autobump bio/bustools/sort ([#4139](#4139)) ([1f5cf71](1f5cf71)) * autobump bio/bustools/text ([#4140](#4140)) ([b53856a](b53856a)) * autobump bio/bwa-mem2/mem ([#4172](#4172)) ([f77bd3b](f77bd3b)) * autobump bio/bwa/mem ([#4184](#4184)) ([2212b96](2212b96)) * autobump bio/bwa/sampe ([#4164](#4164)) ([2463d6e](2463d6e)) * autobump bio/bwa/samse ([#4176](#4176)) ([3f13ef9](3f13ef9)) * autobump bio/bwa/samxe ([#4171](#4171)) ([244efbd](244efbd)) * autobump bio/bwameth/memx ([#4129](#4129)) ([0c8667d](0c8667d)) * autobump bio/bwameth/memx ([#4167](#4167)) ([978cd77](978cd77)) * autobump bio/cnvkit/export ([#4200](#4200)) ([e4b3659](e4b3659)) * autobump bio/cutadapt/pe ([#4142](#4142)) ([e764619](e764619)) * autobump bio/cutadapt/se ([#4141](#4141)) ([735bfda](735bfda)) * autobump bio/deepvariant ([#4143](#4143)) ([4ad6bc7](4ad6bc7)) * autobump bio/delly ([#4203](#4203)) ([1bd71f5](1bd71f5)) * autobump bio/diamond/blastp ([#4205](#4205)) ([0a4b009](0a4b009)) * autobump bio/diamond/blastx ([#4201](#4201)) ([0b8cd8f](0b8cd8f)) * autobump bio/diamond/makedb ([#4202](#4202)) ([1bcad8a](1bcad8a)) * autobump bio/entrez/efetch ([#4144](#4144)) ([2d09ee0](2d09ee0)) * autobump bio/fastp ([#4145](#4145)) ([1e38402](1e38402)) * autobump bio/fastp ([#4207](#4207)) ([6cd7e64](6cd7e64)) * autobump bio/freebayes ([#4132](#4132)) ([c9749da](c9749da)) * autobump bio/freebayes ([#4206](#4206)) ([a2650e2](a2650e2)) * autobump bio/gatk/applybqsr ([#4208](#4208)) ([647384e](647384e)) * autobump bio/gatk/applybqsrspark ([#4209](#4209)) ([df09bb5](df09bb5)) * autobump bio/gdc-api/bam-slicing ([#4146](#4146)) ([68cbc01](68cbc01)) * autobump bio/gdc-api/bam-slicing ([#4211](#4211)) ([b2b3643](b2b3643)) * autobump bio/gseapy/gsea ([#4210](#4210)) ([5f38932](5f38932)) * autobump bio/hap.py/hap.py ([#4147](#4147)) ([86efd6d](86efd6d)) * autobump bio/hisat2/align ([#4213](#4213)) ([b349a8c](b349a8c)) * autobump bio/homer/makeTagDirectory ([#4212](#4212)) ([fd9c4ff](fd9c4ff)) * autobump bio/lofreq/call ([#4216](#4216)) ([d838abd](d838abd)) * autobump bio/lofreq/indelqual ([#4215](#4215)) ([53e6cac](53e6cac)) * autobump bio/mapdamage2 ([#4148](#4148)) ([87d0a10](87d0a10)) * autobump bio/mapdamage2 ([#4218](#4218)) ([420835f](420835f)) * autobump bio/minimap2/aligner ([#4217](#4217)) ([2eb12e1](2eb12e1)) * autobump bio/multiqc ([#4133](#4133)) ([9ebdbe9](9ebdbe9)) * autobump bio/ngs-disambiguate ([#4134](#4134)) ([015d8ef](015d8ef)) * autobump bio/ngsbits/sampleancestry ([#4149](#4149)) ([dff8a93](dff8a93)) * autobump bio/ngsbits/samplesimilarity ([#4150](#4150)) ([1362ea7](1362ea7)) * autobump bio/open-cravat/module ([#4219](#4219)) ([14f3d59](14f3d59)) * autobump bio/open-cravat/run ([#4220](#4220)) ([f68c4dc](f68c4dc)) * autobump bio/paladin/align ([#4224](#4224)) ([60a4073](60a4073)) * autobump bio/paladin/index ([#4222](#4222)) ([9a49585](9a49585)) * autobump bio/paladin/prepare ([#4226](#4226)) ([5ffeda7](5ffeda7)) * autobump bio/picard/markduplicates ([#4221](#4221)) ([67ca39e](67ca39e)) * autobump bio/pretext/map ([#4227](#4227)) ([d9fef0b](d9fef0b)) * autobump bio/pretext/snapshot ([#4223](#4223)) ([6287d9a](6287d9a)) * autobump bio/prinseq-plus-plus ([#4225](#4225)) ([d720752](d720752)) * autobump bio/samtools/calmd ([#4244](#4244)) ([d7ee375](d7ee375)) * autobump bio/samtools/collate ([#4240](#4240)) ([a682845](a682845)) * autobump bio/samtools/depth ([#4231](#4231)) ([a7a7101](a7a7101)) * autobump bio/samtools/faidx ([#4243](#4243)) ([f7fc7f3](f7fc7f3)) * autobump bio/samtools/fastx ([#4238](#4238)) ([17ec481](17ec481)) * autobump bio/samtools/fixmate ([#4248](#4248)) ([be8b325](be8b325)) * autobump bio/samtools/flagstat ([#4237](#4237)) ([917a816](917a816)) * autobump bio/samtools/idxstats ([#4235](#4235)) ([b22e851](b22e851)) * autobump bio/samtools/index ([#4233](#4233)) ([3f128ef](3f128ef)) * autobump bio/samtools/markdup ([#4242](#4242)) ([58e7715](58e7715)) * autobump bio/samtools/merge ([#4246](#4246)) ([a1b731a](a1b731a)) * autobump bio/samtools/mpileup ([#4251](#4251)) ([9575f39](9575f39)) * autobump bio/samtools/sort ([#4228](#4228)) ([3ce39f0](3ce39f0)) * autobump bio/samtools/stats ([#4229](#4229)) ([a390efc](a390efc)) * autobump bio/samtools/view ([#4249](#4249)) ([da8e2ad](da8e2ad)) * autobump bio/seqkit ([#4230](#4230)) ([731cfb0](731cfb0)) * autobump bio/seqtk ([#4234](#4234)) ([d83a202](d83a202)) * autobump bio/snpeff/annotate ([#4250](#4250)) ([0d55cf9](0d55cf9)) * autobump bio/snpeff/download ([#4245](#4245)) ([9ee55b8](9ee55b8)) * autobump bio/snpsift/annotate ([#4247](#4247)) ([0d827da](0d827da)) * autobump bio/snpsift/dbnsfp ([#4232](#4232)) ([266def8](266def8)) * autobump bio/snpsift/genesets ([#4241](#4241)) ([6476dcc](6476dcc)) * autobump bio/snpsift/gwascat ([#4239](#4239)) ([a3b9e06](a3b9e06)) * autobump bio/sortmerna ([#2985](#2985)) ([574b4ac](574b4ac)) * autobump bio/sourmash/compute ([#4236](#4236)) ([f3abaf2](f3abaf2)) * autobump bio/tabix/query ([#4253](#4253)) ([c2937be](c2937be)) * autobump bio/ucsc/twoBitInfo ([#4135](#4135)) ([c3cad4f](c3cad4f)) * autobump bio/umis/bamtag ([#4255](#4255)) ([d5c415c](d5c415c)) * autobump bio/unicycler ([#4254](#4254)) ([2085374](2085374)) * autobump bio/varlociraptor/call-variants ([#4156](#4156)) ([7d3f8ef](7d3f8ef)) * autobump bio/varlociraptor/control-fdr ([#4153](#4153)) ([ca393f5](ca393f5)) * autobump bio/varlociraptor/estimate-alignment-properties ([#4151](#4151)) ([469076e](469076e)) * autobump bio/varlociraptor/preprocess-variants ([#4154](#4154)) ([4217362](4217362)) * autobump bio/vembrane/filter ([#4258](#4258)) ([be1d8ae](be1d8ae)) * autobump bio/vembrane/table ([#4257](#4257)) ([93d47bb](93d47bb)) * autobump bio/vep/annotate ([#4155](#4155)) ([e5240f1](e5240f1)) * autobump bio/vep/cache ([#4152](#4152)) ([f8af0af](f8af0af)) * autobump bio/vg/giraffe ([#4256](#4256)) ([60522de](60522de)) * autobump bio/whatshap/haplotag ([#4157](#4157)) ([d55da33](d55da33)) * autobump utils/csvtk ([#4199](#4199)) ([c61588a](c61588a)) * autobump utils/datavzrd ([#4204](#4204)) ([24ff485](24ff485)) * bump deepvariant version ([#4136](#4136)) ([2b488c6](2b488c6)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Configuration menu - View commit details
-
Copy full SHA for 516186d - Browse repository at this point
Copy the full SHA 516186dView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff master@{1day}...master