diff --git a/meta/bio/gatk_mutect2_calling/meta.yaml b/meta/bio/gatk_mutect2_calling/meta.yaml index 4352db5b9c..88434d6830 100644 --- a/meta/bio/gatk_mutect2_calling/meta.yaml +++ b/meta/bio/gatk_mutect2_calling/meta.yaml @@ -27,3 +27,17 @@ description: > +----------------+---------------------------+-------------------------------------------------------------+ authors: - Thibault Dayris +pathvars: + default: + - results + - resources + - logs + custom: + per: Pattern for sample identifiers, e.g. ``"{sample}"`` + genome_sequence: Path to FASTA file with genome sequence + genome_sequence_index: Path to FAI file with genome sequence index + genome_dict: Path to DICT file with genome sequence dictionary + bed_intervals: Path to BED file with genome intervals + known_variants: Path to gzipped VCF file containing known variants + known_variants_tbi: Path to TBI index corresponding to known variants + bam_file: Path/Pattern to aligned reads (SAM/BAM/CRAM) diff --git a/meta/bio/gatk_mutect2_calling/meta_wrapper.smk b/meta/bio/gatk_mutect2_calling/meta_wrapper.smk index e1fe6eaa04..4e494cdabc 100644 --- a/meta/bio/gatk_mutect2_calling/meta_wrapper.smk +++ b/meta/bio/gatk_mutect2_calling/meta_wrapper.smk @@ -1,13 +1,13 @@ rule create_dict: input: - "genome.fasta", + "", output: - "genome.dict", + "", threads: 1 resources: mem_mb=1024, log: - "logs/picard/create_dict.log", + "/picard/create_dict.log", params: extra="", wrapper: @@ -16,11 +16,11 @@ rule create_dict: rule samtools_index: input: - "genome.fasta", + "", output: - "genome.fasta.fai", + "", log: - "logs/genome_index.log", + "/genome_index.log", params: extra="", # optional params string wrapper: @@ -29,14 +29,14 @@ rule samtools_index: rule picard_replace_read_groups: input: - "mapped/{sample}.bam", + "", output: - "picard/{sample}.bam", + "/picard/.bam", threads: 1 resources: mem_mb=1024, log: - "logs/picard/replace_rg/{sample}.log", + "/picard/replace_rg/.log", params: # Required for GATK extra="--RGLB lib1 --RGPL illumina --RGPU {sample} --RGSM {sample}", @@ -46,12 +46,12 @@ rule picard_replace_read_groups: rule sambamba_index_picard_bam: input: - "picard/{sample}.bam", + "/picard/.bam", output: - "picard/{sample}.bam.bai", + "/picard/.bam.bai", threads: 1 log: - "logs/sambamba/index/{sample}.log", + "/sambamba/index/.log", params: extra="", wrapper: @@ -60,57 +60,57 @@ rule sambamba_index_picard_bam: rule mutect2_call: input: - fasta="genome.fasta", - fasta_dict="genome.dict", - fasta_fai="genome.fasta.fai", - map="picard/{sample}.bam", - map_idx="picard/{sample}.bam.bai", - intervals="regions.bed", + fasta="", + fasta_dict="", + fasta_fai="", + map="/picard/.bam", + map_idx="/picard/.bam.bai", + intervals="", output: - vcf="variant/{sample}.vcf", - bam="variant/{sample}.bam", - f1r2="counts/{sample}.f1r2.tar.gz", + vcf="/variant/.vcf", + bam="/variant/.bam", + f1r2="/counts/.f1r2.tar.gz", threads: 1 resources: mem_mb=1024, params: extra=" --tumor-sample {sample} ", log: - "logs/mutect/{sample}.log", + "/mutect/.log", wrapper: "v7.6.0/bio/gatk/mutect" rule gatk_get_pileup_summaries: input: - bam="picard/{sample}.bam", - bai="picard/{sample}.bam.bai", - variants="known.vcf.gz", - variants_tbi="known.vcf.gz.tbi", - intervals="regions.bed", + bam="/picard/.bam", + bai="/picard/.bam.bai", + variants="", + variants_tbi="", + intervals="", output: - temp("summaries/{sample}.table"), + temp("/summaries/.table"), threads: 1 resources: mem_mb=1024, params: extra="", log: - "logs/summary/{sample}.log", + "/summary/.log", wrapper: "v7.6.0/bio/gatk/getpileupsummaries" rule gatk_calculate_contamination: input: - tumor="summaries/{sample}.table", + tumor="/summaries/.table", output: - temp("contamination/{sample}.pileups.table"), + temp("/contamination/.pileups.table"), threads: 1 resources: mem_mb=1024, log: - "logs/contamination/{sample}.log", + "/contamination/.log", params: extra="", wrapper: @@ -119,38 +119,38 @@ rule gatk_calculate_contamination: rule gatk_learn_read_orientation_model: input: - f1r2="counts/{sample}.f1r2.tar.gz", + f1r2="/counts/.f1r2.tar.gz", output: - temp("artifacts_prior/{sample}.tar.gz"), + temp("/artifacts_prior/.tar.gz"), threads: 1 resources: mem_mb=1024, params: extra="", log: - "logs/learnreadorientationbias/{sample}.log", + "/learnreadorientationbias/.log", wrapper: "v7.6.0/bio/gatk/learnreadorientationmodel" rule filter_mutect_calls: input: - vcf="variant/{sample}.vcf", - ref="genome.fasta", - ref_dict="genome.dict", - ref_fai="genome.fasta.fai", - bam="picard/{sample}.bam", - bam_bai="picard/{sample}.bam.bai", - contamination="contamination/{sample}.pileups.table", - f1r2="artifacts_prior/{sample}.tar.gz", + vcf="/variant/.vcf", + ref="", + ref_dict="", + ref_fai="", + bam="/picard/.bam", + bam_bai="/picard/.bam.bai", + contamination="/contamination/.pileups.table", + f1r2="/artifacts_prior/.tar.gz", output: - vcf="variant/{sample}.filtered.vcf.gz", - vcf_idx="variant/{sample}.filtered.vcf.gz.tbi", + vcf="/variant/.filtered.vcf.gz", + vcf_idx="/variant/.filtered.vcf.gz.tbi", threads: 1 resources: mem_mb=1024, log: - "logs/gatk/filter/{sample}.log", + "/gatk/filter/.log", params: extra="--create-output-variant-index --min-median-mapping-quality 35 --max-alt-allele-count 3", java_opts="", diff --git a/meta/bio/gatk_mutect2_calling/test/Snakefile b/meta/bio/gatk_mutect2_calling/test/Snakefile index 72e4fb0570..e85ee2fbaf 100644 --- a/meta/bio/gatk_mutect2_calling/test/Snakefile +++ b/meta/bio/gatk_mutect2_calling/test/Snakefile @@ -2,7 +2,10 @@ from snakemake.utils import min_version min_version("9.13.1") +configfile: "config.yaml" + module gatk_mutect2_calling: meta_wrapper: "file:.." + config: config -use rule * from gatk_mutect2_calling \ No newline at end of file +use rule * from gatk_mutect2_calling diff --git a/meta/bio/gatk_mutect2_calling/test/config.yaml b/meta/bio/gatk_mutect2_calling/test/config.yaml new file mode 100644 index 0000000000..821682d5bd --- /dev/null +++ b/meta/bio/gatk_mutect2_calling/test/config.yaml @@ -0,0 +1,9 @@ +pathvars: + genome_sequence: "reference/genome.fasta" + genome_sequence_index: "reference/genome.fasta.fai" + genome_dict: "reference/genome.dict" + bed_intervals: "reference/regions.bed" + known_variants: "reference/known.vcf.gz" + known_variants_tbi: "reference/known.vcf.gz.tbi" + per: "{sample}" + bam_file: "mapped/{sample}.bam" diff --git a/meta/bio/gatk_mutect2_calling/test/genome.fasta b/meta/bio/gatk_mutect2_calling/test/reference/genome.fasta similarity index 100% rename from meta/bio/gatk_mutect2_calling/test/genome.fasta rename to meta/bio/gatk_mutect2_calling/test/reference/genome.fasta diff --git a/meta/bio/gatk_mutect2_calling/test/known.vcf.gz b/meta/bio/gatk_mutect2_calling/test/reference/known.vcf.gz similarity index 100% rename from meta/bio/gatk_mutect2_calling/test/known.vcf.gz rename to meta/bio/gatk_mutect2_calling/test/reference/known.vcf.gz diff --git a/meta/bio/gatk_mutect2_calling/test/known.vcf.gz.tbi b/meta/bio/gatk_mutect2_calling/test/reference/known.vcf.gz.tbi similarity index 100% rename from meta/bio/gatk_mutect2_calling/test/known.vcf.gz.tbi rename to meta/bio/gatk_mutect2_calling/test/reference/known.vcf.gz.tbi diff --git a/meta/bio/gatk_mutect2_calling/test/regions.bed b/meta/bio/gatk_mutect2_calling/test/reference/regions.bed similarity index 100% rename from meta/bio/gatk_mutect2_calling/test/regions.bed rename to meta/bio/gatk_mutect2_calling/test/reference/regions.bed diff --git a/test_wrappers.py b/test_wrappers.py index 6cfc1eec8c..c67881f0ad 100644 --- a/test_wrappers.py +++ b/test_wrappers.py @@ -6596,7 +6596,7 @@ def test_gatk_mutect2_calling_meta(run): "2", "--use-conda", "-F", - "variant/Sample1.filtered.vcf.gz.tbi", + "results/variant/Sample1.filtered.vcf.gz.tbi", ], )