fix clairs indel calling#99
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR enhances the ClairS variant calling module to output separate VCF files for SNVs and indels in addition to the combined output, and increases the VEP process resource allocation.
- Updated ClairS module to emit separate SNV and indel VCF outputs along with the combined VCF
- Added ClairS command-line flags to enable indel calling and skip intermediate phasing
- Changed VEP process label from
process_mediumtoprocess_very_high
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| modules/local/clairs/main.nf | Modified output definitions to emit three separate VCF outputs (all_vcf, indel_vcf, snv_vcf) and added ClairS flags for indel calling and haplotagging |
| subworkflows/local/tumor_normal_happhase.nf | Updated to use the new all_vcf output channel instead of the generic vcf output |
| modules/nf-core/ensemblvep/vep/main.nf | Increased resource allocation from process_medium to process_very_high |
| tests/default.nf.test.snap | Updated test snapshots to include the new indel and snv VCF files, and reflected updated version/timestamp metadata |
Comments suppressed due to low confidence (1)
modules/local/clairs/main.nf:59
- The stub section only creates the combined VCF file (${prefix}.vcf.gz) but does not create the separate indel.vcf.gz and snv.vcf.gz files that are now expected outputs. The stub should create all three VCF files to match the updated output declarations.
stub:
def args = task.ext.args ?: ''
def prefix = task.ext.prefix ?: "${meta.id}"
"""
echo "" | gzip > ${prefix}.vcf.gz
touch ${prefix}.vcf.gz.tbi
cat <<-END_VERSIONS > versions.yml
"${task.process}":
clairs: \$(/opt/bin/run_clairs --version |& sed '1!d ; s/run_clairs //')
END_VERSIONS
"""
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
This reverts commit b20166f.
| tuple val(meta), path("*.vcf.gz"), emit: vcf | ||
| tuple val(meta), path("*.vcf.gz.tbi"), emit: tbi | ||
| path "versions.yml", emit: versions | ||
| tuple val(meta), path("${meta.id}.vcf.gz"), emit: all_vcf |
There was a problem hiding this comment.
I think this will fail if someone sets a prefix with ext.prefix. Making the prefix globally accessible (removing def) and changing this to prefix should solve it (please test)
There was a problem hiding this comment.
It looks like that prefix.vcf.gz is simply a symlink to snv.vcf.gz. So something is wonky here or is it me?
PR checklist
nf-core pipelines lint).nextflow run . -profile test,docker --outdir <OUTDIR>).nextflow run . -profile debug,test,docker --outdir <OUTDIR>).docs/usage.mdis updated.docs/output.mdis updated.CHANGELOG.mdis updated.README.mdis updated (including new tool citations and authors/contributors).