-
Notifications
You must be signed in to change notification settings - Fork 186
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Sex.DetERRmine #3497
feat: Sex.DetERRmine #3497
Conversation
* perf: update bio/bcftools/index/environment.yaml. * perf: update bio/bcftools/index/environment.yaml. * perf: update bio/bcftools/index/environment.yaml.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: snakedeploy-bot[bot] <115615832+snakedeploy-bot[bot]@users.noreply.github.com>
Co-authored-by: snakedeploy-bot[bot] <115615832+snakedeploy-bot[bot]@users.noreply.github.com>
Co-authored-by: snakedeploy-bot[bot] <115615832+snakedeploy-bot[bot]@users.noreply.github.com>
Co-authored-by: snakedeploy-bot[bot] <115615832+snakedeploy-bot[bot]@users.noreply.github.com>
* Add autobump action * fix paths * dbg * dbg branch * add checkout * dbg * trigger rerun * entity regex and add label * dbg * Update autobump.yml * Update autobump.yml
Co-authored-by: snakedeploy-bot[bot] <115615832+snakedeploy-bot[bot]@users.noreply.github.com>
Co-authored-by: snakedeploy-bot[bot] <115615832+snakedeploy-bot[bot]@users.noreply.github.com>
Co-authored-by: snakedeploy-bot[bot] <115615832+snakedeploy-bot[bot]@users.noreply.github.com>
Co-authored-by: snakedeploy-bot[bot] <115615832+snakedeploy-bot[bot]@users.noreply.github.com>
Co-authored-by: snakedeploy-bot[bot] <115615832+snakedeploy-bot[bot]@users.noreply.github.com>
Co-authored-by: snakedeploy-bot[bot] <115615832+snakedeploy-bot[bot]@users.noreply.github.com>
Co-authored-by: snakedeploy-bot[bot] <115615832+snakedeploy-bot[bot]@users.noreply.github.com>
Co-authored-by: snakedeploy-bot[bot] <115615832+snakedeploy-bot[bot]@users.noreply.github.com>
Co-authored-by: snakedeploy-bot[bot] <115615832+snakedeploy-bot[bot]@users.noreply.github.com>
Co-authored-by: snakedeploy-bot[bot] <115615832+snakedeploy-bot[bot]@users.noreply.github.com>
Co-authored-by: snakedeploy-bot[bot] <115615832+snakedeploy-bot[bot]@users.noreply.github.com>
📝 Walkthrough📝 WalkthroughWalkthroughThis pull request introduces several new files and configurations for the Changes
Possibly related PRs
Warning Rate limit exceeded@tdayris has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 25 minutes and 14 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
🧹 Outside diff range and nitpick comments (2)
bio/sexdeterrmine/test/Snakefile (1)
1-11
: Add example usage and descriptionConsider adding comments to document:
- Expected input file format
- Example command usage
- Description of output files
Add this documentation at the start of the rule:
+# Rule: test_sexdeterrmine +# Purpose: Determines biological sex from sequencing depth data +# Input: Tab-separated depth file with format: <chr> <pos> <depth> +# Output: +# - TSV file with sex determination statistics +# - JSON file with detailed results +# Example usage: +# snakemake --cores 1 sample1.sexdeterrmine.tsv rule test_sexdeterrmine:bio/sexdeterrmine/wrapper.py (1)
16-21
: Document the supported extra parameters.Consider adding a comment or docstring explaining what extra parameters are supported by the Sex.DetERRmine tool and how they should be provided in the Snakefile.
🧰 Tools
🪛 Ruff (0.7.0)
16-16: Undefined name
snakemake
(F821)
21-21: Undefined name
snakemake
(F821)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
⛔ Files ignored due to path filters (1)
bio/sexdeterrmine/test/samples.depth.tsv
is excluded by!**/*.tsv
📒 Files selected for processing (6)
bio/sexdeterrmine/environment.linux-64.pin.txt
(1 hunks)bio/sexdeterrmine/environment.yaml
(1 hunks)bio/sexdeterrmine/meta.yaml
(1 hunks)bio/sexdeterrmine/test/Snakefile
(1 hunks)bio/sexdeterrmine/wrapper.py
(1 hunks)test_wrappers.py
(1 hunks)
✅ Files skipped from review due to trivial changes (3)
- bio/sexdeterrmine/environment.linux-64.pin.txt
- bio/sexdeterrmine/environment.yaml
- bio/sexdeterrmine/meta.yaml
🧰 Additional context used
📓 Path-based instructions (2)
bio/sexdeterrmine/wrapper.py (2)
Pattern **/*.py
: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of the self
argument of methods.
Do not suggest type annotation of the cls
argument of classmethods.
Do not suggest return type annotation if a function or method does not contain a return
statement.
Pattern **/wrapper.py
: Do not complain about use of undefined variable called snakemake
.
test_wrappers.py (1)
Pattern **/*.py
: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of the self
argument of methods.
Do not suggest type annotation of the cls
argument of classmethods.
Do not suggest return type annotation if a function or method does not contain a return
statement.
🪛 Ruff (0.7.0)
bio/sexdeterrmine/wrapper.py
16-16: Undefined name snakemake
(F821)
21-21: Undefined name snakemake
(F821)
25-25: Undefined name snakemake
(F821)
29-29: Undefined name snakemake
(F821)
36-36: Undefined name snakemake
(F821)
38-38: Undefined name snakemake
(F821)
42-42: Undefined name snakemake
(F821)
🔇 Additional comments (5)
bio/sexdeterrmine/test/Snakefile (1)
10-11
: Verify the wrapper path exists
Let's ensure the wrapper path is valid and the wrapper is properly implemented.
✅ Verification successful
Wrapper implementation is valid and complete
The wrapper is properly implemented with all required components:
- Correct wrapper.py with proper imports, error handling, and snakemake shell execution
- Valid meta.yaml with clear description, inputs, and outputs
- Proper environment.yaml specifying the required dependency (sexdeterrmine=1.1.2)
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify wrapper path and implementation
# Check if wrapper.py exists at the specified path
if [ -f "bio/sexdeterrmine/wrapper.py" ]; then
echo "Wrapper exists"
# Check for essential wrapper components
rg -l "snakemake" "bio/sexdeterrmine/wrapper.py"
# Check for proper error handling
rg -l "raise|except" "bio/sexdeterrmine/wrapper.py"
else
echo "Wrapper not found at bio/sexdeterrmine/wrapper.py"
fi
Length of output: 208
Script:
#!/bin/bash
# Let's examine the actual content of the wrapper file
cat bio/sexdeterrmine/wrapper.py
# Also check if there's a meta.yaml file which is typically required for wrappers
if [ -f "bio/sexdeterrmine/meta.yaml" ]; then
echo -e "\nFound meta.yaml:"
cat bio/sexdeterrmine/meta.yaml
else
echo -e "\nmeta.yaml not found"
fi
# Check the environment setup
if [ -f "bio/sexdeterrmine/environment.yaml" ]; then
echo -e "\nFound environment.yaml:"
cat bio/sexdeterrmine/environment.yaml
else
echo -e "\nenvironment.yaml not found"
fi
Length of output: 2029
bio/sexdeterrmine/wrapper.py (3)
1-15
: LGTM! Well-structured file header with appropriate imports.
The file header includes all necessary metadata and imports are minimal and focused.
29-34
: 🛠️ Refactor suggestion
Remove redundant log configuration and verify tree command availability.
The log configuration is unnecessarily redefined, and the tree command might not be available in all environments.
- log = snakemake.log_fmt_shell(
- stdout=False,
- stderr=True,
- append=True,
- )
- shell("tree -shrf {tempdir} {log}")
+ shell("ls -R {tempdir} {log}")
Likely invalid or redundant comment.
🧰 Tools
🪛 Ruff (0.7.0)
29-29: Undefined name snakemake
(F821)
1-44
: Verify wrapper behavior with different input scenarios.
Please ensure the wrapper handles various input scenarios correctly:
- Missing input files
- Empty input files
- Large input files
- Input files with special characters in paths
✅ Verification successful
Let me try another search strategy to verify the wrapper behavior.
Let me try another search strategy to verify the wrapper behavior.
Let me try one final search to check the wrapper implementation.
Based on the wrapper implementation and test files, I can now provide a final response:
The wrapper handles input scenarios appropriately
The wrapper already implements robust handling of different scenarios:
- Uses realpath to handle special characters in paths
- Uses a temporary directory to avoid file conflicts
- Properly handles optional outputs (tsv/json)
- Captures and redirects all error messages to the log file
- Uses shell's verbose mode for file operations
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for test files and example inputs
fd -t f "test.*" -X cat
rg -A 5 "input.*depth.*="
Length of output: 131155
Script:
#!/bin/bash
# Check for test files and example inputs
fd -t f "Snakefile" -X cat
Length of output: 110576
Script:
#!/bin/bash
# Check for test files and test directory
fd -t f "test.*" bio/sexdeterrmine/
Length of output: 37
Script:
#!/bin/bash
# Check wrapper implementation and test files
cat bio/sexdeterrmine/wrapper.py
cat bio/sexdeterrmine/test/Snakefile
Length of output: 1448
🧰 Tools
🪛 Ruff (0.7.0)
16-16: Undefined name snakemake
(F821)
21-21: Undefined name snakemake
(F821)
25-25: Undefined name snakemake
(F821)
29-29: Undefined name snakemake
(F821)
36-36: Undefined name snakemake
(F821)
38-38: Undefined name snakemake
(F821)
42-42: Undefined name snakemake
(F821)
test_wrappers.py (1)
4611-4616
: LGTM! Test function follows established patterns.
The test function for Sex.detERRmine follows the standard test implementation pattern used throughout the file, with appropriate command line arguments and expected output file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
🧹 Outside diff range and nitpick comments (1)
bio/sexdeterrmine/wrapper.py (1)
34-34
: Replace tree command with portable directory listing.The
tree
command might not be available in all environments. Consider using Python's built-in functions for directory listing.- shell("tree -shrf {tempdir} {log}") + shell("python -c 'import os; print(\"\n\".join(os.listdir(\"{tempdir}\")))' {log}")
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
bio/sexdeterrmine/wrapper.py
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
bio/sexdeterrmine/wrapper.py (2)
Pattern **/*.py
: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of the self
argument of methods.
Do not suggest type annotation of the cls
argument of classmethods.
Do not suggest return type annotation if a function or method does not contain a return
statement.
Pattern **/wrapper.py
: Do not complain about use of undefined variable called snakemake
.
🪛 Ruff (0.7.0)
bio/sexdeterrmine/wrapper.py
16-16: Undefined name snakemake
(F821)
21-21: Undefined name snakemake
(F821)
25-25: Undefined name snakemake
(F821)
29-29: Undefined name snakemake
(F821)
36-36: Undefined name snakemake
(F821)
38-38: Undefined name snakemake
(F821)
42-42: Undefined name snakemake
(F821)
🔇 Additional comments (2)
bio/sexdeterrmine/wrapper.py (2)
1-15
: LGTM! Well-documented header with proper imports.
The file header is well-structured with clear documentation and all necessary imports.
16-20
: LGTM! Appropriate log configuration.
The logging setup is properly configured to capture errors while appending to maintain history.
🧰 Tools
🪛 Ruff (0.7.0)
16-16: Undefined name snakemake
(F821)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
bio/sexdeterrmine/wrapper.py
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
bio/sexdeterrmine/wrapper.py (2)
Pattern **/*.py
: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of the self
argument of methods.
Do not suggest type annotation of the cls
argument of classmethods.
Do not suggest return type annotation if a function or method does not contain a return
statement.
Pattern **/wrapper.py
: Do not complain about use of undefined variable called snakemake
.
🪛 Ruff (0.7.0)
bio/sexdeterrmine/wrapper.py
16-16: Undefined name snakemake
(F821)
21-21: Undefined name snakemake
(F821)
25-25: Undefined name snakemake
(F821)
29-29: Undefined name snakemake
(F821)
36-36: Undefined name snakemake
(F821)
38-38: Undefined name snakemake
(F821)
42-42: Undefined name snakemake
(F821)
🔇 Additional comments (1)
bio/sexdeterrmine/wrapper.py (1)
1-15
: LGTM! Well-structured file header with clear documentation.
The imports and metadata are appropriate for the wrapper's functionality.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 3
🧹 Outside diff range and nitpick comments (1)
bio/sexdeterrmine/wrapper.py (1)
1-44
: Consider adding comprehensive error reporting and cleanup.While the wrapper follows Snakemake conventions, consider enhancing it with:
- A dedicated error reporting function to standardize error messages
- A cleanup function to handle temporary files in case of failures
- Logging of command execution time and resource usage
- Documentation of expected input formats and output structures
This would improve maintainability and user experience.
🧰 Tools
🪛 Ruff (0.7.0)
16-16: Undefined name
snakemake
(F821)
21-21: Undefined name
snakemake
(F821)
25-25: Undefined name
snakemake
(F821)
29-29: Undefined name
snakemake
(F821)
36-36: Undefined name
snakemake
(F821)
38-38: Undefined name
snakemake
(F821)
42-42: Undefined name
snakemake
(F821)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (1)
bio/sexdeterrmine/wrapper.py
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
bio/sexdeterrmine/wrapper.py (2)
Pattern **/*.py
: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of the self
argument of methods.
Do not suggest type annotation of the cls
argument of classmethods.
Do not suggest return type annotation if a function or method does not contain a return
statement.
Pattern **/wrapper.py
: Do not complain about use of undefined variable called snakemake
.
🪛 Ruff (0.7.0)
bio/sexdeterrmine/wrapper.py
16-16: Undefined name snakemake
(F821)
21-21: Undefined name snakemake
(F821)
25-25: Undefined name snakemake
(F821)
29-29: Undefined name snakemake
(F821)
36-36: Undefined name snakemake
(F821)
38-38: Undefined name snakemake
(F821)
42-42: Undefined name snakemake
(F821)
🔇 Additional comments (1)
bio/sexdeterrmine/wrapper.py (1)
1-15
: LGTM! Well-structured file header with complete metadata.
The imports and metadata are appropriate and follow best practices.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Outside diff range and nitpick comments (1)
bio/sexdeterrmine/wrapper.py (1)
29-33
: Consider consolidating log format configurationThe log format is configured twice with different settings. This could be simplified to avoid potential inconsistencies.
Consider setting the append flag to true from the start:
-log = snakemake.log_fmt_shell( - stdout=False, - stderr=True, - append=False, -) +log = snakemake.log_fmt_shell( + stdout=True, + stderr=True, + append=True, +)This would eliminate the need for the second log format configuration while maintaining the same functionality.
🧰 Tools
🪛 Ruff (0.7.0)
29-29: Undefined name
snakemake
(F821)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
bio/sexdeterrmine/test/Snakefile
(1 hunks)bio/sexdeterrmine/wrapper.py
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- bio/sexdeterrmine/test/Snakefile
🧰 Additional context used
📓 Path-based instructions (1)
bio/sexdeterrmine/wrapper.py (2)
Pattern **/*.py
: Do not try to improve formatting.
Do not suggest type annotations for functions that are defined inside of functions or methods.
Do not suggest type annotation of the self
argument of methods.
Do not suggest type annotation of the cls
argument of classmethods.
Do not suggest return type annotation if a function or method does not contain a return
statement.
Pattern **/wrapper.py
: Do not complain about use of undefined variable called snakemake
.
🪛 Ruff (0.7.0)
bio/sexdeterrmine/wrapper.py
16-16: Undefined name snakemake
(F821)
21-21: Undefined name snakemake
(F821)
25-25: Undefined name snakemake
(F821)
29-29: Undefined name snakemake
(F821)
36-36: Undefined name snakemake
(F821)
38-38: Undefined name snakemake
(F821)
42-42: Undefined name snakemake
(F821)
🔇 Additional comments (1)
bio/sexdeterrmine/wrapper.py (1)
1-15
: LGTM: Metadata and imports are well-structured
The file header contains all necessary metadata and appropriate imports for the wrapper's functionality.
@tdayris something seems wrong with your fork. You always carry theses massive commit lists in your PRs. Maybe once we have merged your open PRs you could delete your fork and fork again, in order to have a fresh start? |
🤖 I have created a release \*beep\* \*boop\* --- ## [5.4.0](https://www.github.com/snakemake/snakemake-wrappers/compare/v5.3.0...v5.4.0) (2024-12-06) ### Features * NGS-bits SampleAncestry ([#3502](https://www.github.com/snakemake/snakemake-wrappers/issues/3502)) ([8600d44](https://www.github.com/snakemake/snakemake-wrappers/commit/8600d44e79ae4dafa181d3b06eed6e3db0c7a2df)) * NGS-bits SampleSimilarity ([#3500](https://www.github.com/snakemake/snakemake-wrappers/issues/3500)) ([710597c](https://www.github.com/snakemake/snakemake-wrappers/commit/710597cdc4e7f518d1fda2ec246bb6a7e0e29ba9)) * NGSCheckMate make pattern ([#3499](https://www.github.com/snakemake/snakemake-wrappers/issues/3499)) ([3b96cc1](https://www.github.com/snakemake/snakemake-wrappers/commit/3b96cc18b5a7ce8643fc3f8a492333d8f339e4c5)) * Sex.DetERRmine ([#3497](https://www.github.com/snakemake/snakemake-wrappers/issues/3497)) ([3919f2e](https://www.github.com/snakemake/snakemake-wrappers/commit/3919f2e4b6fae381cf92c921e6f17086819de345)) ### Performance Improvements * autobump bio/bbtools ([#3507](https://www.github.com/snakemake/snakemake-wrappers/issues/3507)) ([19d027d](https://www.github.com/snakemake/snakemake-wrappers/commit/19d027d176bfa5da7ec2d75b9222547b0fd2b919)) * autobump bio/busco ([#3506](https://www.github.com/snakemake/snakemake-wrappers/issues/3506)) ([aad4b56](https://www.github.com/snakemake/snakemake-wrappers/commit/aad4b56df0ca427a0a12dba67bcf0edef51d545b)) * autobump bio/busco ([#3519](https://www.github.com/snakemake/snakemake-wrappers/issues/3519)) ([6af2e11](https://www.github.com/snakemake/snakemake-wrappers/commit/6af2e11535a6407a0a60eaa18f7e15548e4a4a01)) * autobump bio/encode_fastq_downloader ([#3521](https://www.github.com/snakemake/snakemake-wrappers/issues/3521)) ([cbf06d2](https://www.github.com/snakemake/snakemake-wrappers/commit/cbf06d227d2cece579b1bdff413d09036e2d976f)) * autobump bio/freebayes ([#3509](https://www.github.com/snakemake/snakemake-wrappers/issues/3509)) ([12b8b3c](https://www.github.com/snakemake/snakemake-wrappers/commit/12b8b3ce9d5be65a2165b4ca3e0403935b950237)) * autobump bio/gatk3/baserecalibrator ([#3523](https://www.github.com/snakemake/snakemake-wrappers/issues/3523)) ([7a7518e](https://www.github.com/snakemake/snakemake-wrappers/commit/7a7518e63e0c6eac8d7cb935808b8692e4e688ff)) * autobump bio/gatk3/indelrealigner ([#3525](https://www.github.com/snakemake/snakemake-wrappers/issues/3525)) ([a0d913c](https://www.github.com/snakemake/snakemake-wrappers/commit/a0d913ce81ceb45aeff0eeee8e1e92e63bda786c)) * autobump bio/gatk3/printreads ([#3524](https://www.github.com/snakemake/snakemake-wrappers/issues/3524)) ([67af9a6](https://www.github.com/snakemake/snakemake-wrappers/commit/67af9a6899872a5e2e8cabc58572aa31d51a43cc)) * autobump bio/gatk3/realignertargetcreator ([#3522](https://www.github.com/snakemake/snakemake-wrappers/issues/3522)) ([5f8ffe7](https://www.github.com/snakemake/snakemake-wrappers/commit/5f8ffe7349ab24d55d45e1811519b2b9e9985068)) * autobump bio/hifiasm ([#3510](https://www.github.com/snakemake/snakemake-wrappers/issues/3510)) ([2b1b9f2](https://www.github.com/snakemake/snakemake-wrappers/commit/2b1b9f265231a3f3bc121dd9d4f34111b15d4486)) * autobump bio/mapdamage2 ([#3526](https://www.github.com/snakemake/snakemake-wrappers/issues/3526)) ([92da252](https://www.github.com/snakemake/snakemake-wrappers/commit/92da252bcafd05a0187b635b1938593aa4268c3b)) * autobump bio/mosdepth ([#3511](https://www.github.com/snakemake/snakemake-wrappers/issues/3511)) ([762b273](https://www.github.com/snakemake/snakemake-wrappers/commit/762b273800120519ffd2bc2f670ae93be6187cac)) * autobump bio/mtnucratio ([#3512](https://www.github.com/snakemake/snakemake-wrappers/issues/3512)) ([7f6a3b0](https://www.github.com/snakemake/snakemake-wrappers/commit/7f6a3b07cc2bae16fb30c097e783b70e87ad58f1)) * autobump bio/ngsbits/sampleancestry ([#3527](https://www.github.com/snakemake/snakemake-wrappers/issues/3527)) ([2abf38c](https://www.github.com/snakemake/snakemake-wrappers/commit/2abf38c30e541dd45563ee7ec3959ccf43802fab)) * autobump bio/ngsbits/samplesimilarity ([#3529](https://www.github.com/snakemake/snakemake-wrappers/issues/3529)) ([c91ce10](https://www.github.com/snakemake/snakemake-wrappers/commit/c91ce1075792f231d833a89298e88353c96973b1)) * autobump bio/ngscheckmate/makesnvpattern ([#3528](https://www.github.com/snakemake/snakemake-wrappers/issues/3528)) ([ff9a81d](https://www.github.com/snakemake/snakemake-wrappers/commit/ff9a81d923b8efc807f0054400d03c6277777cb8)) * autobump bio/reference/ensembl-mysql-table ([#3513](https://www.github.com/snakemake/snakemake-wrappers/issues/3513)) ([6b5c545](https://www.github.com/snakemake/snakemake-wrappers/commit/6b5c5454e86cfd393e5fa55b86566e60ef43dd5c)) * autobump bio/sexdeterrmine ([#3514](https://www.github.com/snakemake/snakemake-wrappers/issues/3514)) ([2b18309](https://www.github.com/snakemake/snakemake-wrappers/commit/2b183092fd31225462490d43df5916e678ea5f83)) * autobump bio/spades/metaspades ([#3530](https://www.github.com/snakemake/snakemake-wrappers/issues/3530)) ([070b9b6](https://www.github.com/snakemake/snakemake-wrappers/commit/070b9b62af3cc79f7a4fe1500963892631f8d752)) * autobump bio/varlociraptor/call-variants ([#3533](https://www.github.com/snakemake/snakemake-wrappers/issues/3533)) ([8c563f1](https://www.github.com/snakemake/snakemake-wrappers/commit/8c563f18f02f3f06760f2f25ad85383f9d776b2d)) * autobump bio/varlociraptor/control-fdr ([#3532](https://www.github.com/snakemake/snakemake-wrappers/issues/3532)) ([ce7d1b0](https://www.github.com/snakemake/snakemake-wrappers/commit/ce7d1b00bdf6a856ffe5ed6bac7258ca970cde4a)) * autobump bio/varlociraptor/estimate-alignment-properties ([#3531](https://www.github.com/snakemake/snakemake-wrappers/issues/3531)) ([0b5ac04](https://www.github.com/snakemake/snakemake-wrappers/commit/0b5ac04792bcd54984ea6b0e6af41efa33fba126)) * autobump bio/varlociraptor/preprocess-variants ([#3534](https://www.github.com/snakemake/snakemake-wrappers/issues/3534)) ([56a8933](https://www.github.com/snakemake/snakemake-wrappers/commit/56a8933de936e20e0068bd1d8cb6bbea3826f655)) * autobump bio/vep/annotate ([#3515](https://www.github.com/snakemake/snakemake-wrappers/issues/3515)) ([2609900](https://www.github.com/snakemake/snakemake-wrappers/commit/26099008485dbf5a8054f3284a1892dd1245ac8a)) * autobump bio/vep/cache ([#3516](https://www.github.com/snakemake/snakemake-wrappers/issues/3516)) ([f46427c](https://www.github.com/snakemake/snakemake-wrappers/commit/f46427c7951ad1a2ccd142b74698aac3009b2c66)) * autobump bio/vep/plugins ([#3535](https://www.github.com/snakemake/snakemake-wrappers/issues/3535)) ([9a6ccc3](https://www.github.com/snakemake/snakemake-wrappers/commit/9a6ccc34ce5db38c419076d7f707321bf69357dc)) * autobump bio/vg/giraffe ([#3517](https://www.github.com/snakemake/snakemake-wrappers/issues/3517)) ([6fffdd6](https://www.github.com/snakemake/snakemake-wrappers/commit/6fffdd6caec48f099b6140dd113a295f7202fa63)) * autobump utils/csvtk ([#3508](https://www.github.com/snakemake/snakemake-wrappers/issues/3508)) ([41e8545](https://www.github.com/snakemake/snakemake-wrappers/commit/41e8545b5663c91d6b13b5acd2c126a6b42a9a92)) * autobump utils/csvtk ([#3520](https://www.github.com/snakemake/snakemake-wrappers/issues/3520)) ([d4a52e5](https://www.github.com/snakemake/snakemake-wrappers/commit/d4a52e5e900aa16cad66ebbea1b22fb27d3709ea)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Add a wrapper for Sex.detERRmine.
QC
snakemake-wrappers
.While the contributions guidelines are more extensive, please particularly ensure that:
test.py
was updated to call any added or updated example rules in aSnakefile
input:
andoutput:
file paths in the rules can be chosen arbitrarilyinput:
oroutput:
)tempfile.gettempdir()
points tometa.yaml
contains a link to the documentation of the respective tool or command underurl:
Summary by CodeRabbit
New Features
sexdeterrmine
package, enabling easy setup on Linux 64-bit systems.Sex.detERRmine
tool for calculating chromosome coverage.sexdeterrmine
workflow.Bug Fixes
Tests
sexdeterrmine
workflow execution within a Conda environment.