Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions meta/bio/gatk_mutect2_calling/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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)
92 changes: 46 additions & 46 deletions meta/bio/gatk_mutect2_calling/meta_wrapper.smk
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
rule create_dict:
input:
"genome.fasta",
"<genome_sequence>",
output:
"genome.dict",
"<genome_dict>",
threads: 1
resources:
mem_mb=1024,
log:
"logs/picard/create_dict.log",
"<logs>/picard/create_dict.log",
params:
extra="",
wrapper:
Expand All @@ -16,11 +16,11 @@ rule create_dict:

rule samtools_index:
input:
"genome.fasta",
"<genome_sequence>",
output:
"genome.fasta.fai",
"<genome_sequence_index>",
log:
"logs/genome_index.log",
"<logs>/genome_index.log",
params:
extra="", # optional params string
wrapper:
Expand All @@ -29,14 +29,14 @@ rule samtools_index:

rule picard_replace_read_groups:
input:
"mapped/{sample}.bam",
"<bam_file>",
output:
"picard/{sample}.bam",
"<results>/picard/<per>.bam",
threads: 1
resources:
mem_mb=1024,
log:
"logs/picard/replace_rg/{sample}.log",
"<logs>/picard/replace_rg/<per>.log",
params:
# Required for GATK
extra="--RGLB lib1 --RGPL illumina --RGPU {sample} --RGSM {sample}",
Expand All @@ -46,12 +46,12 @@ rule picard_replace_read_groups:

rule sambamba_index_picard_bam:
input:
"picard/{sample}.bam",
"<results>/picard/<per>.bam",
output:
"picard/{sample}.bam.bai",
"<results>/picard/<per>.bam.bai",
threads: 1
log:
"logs/sambamba/index/{sample}.log",
"<logs>/sambamba/index/<per>.log",
params:
extra="",
wrapper:
Expand All @@ -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="<genome_sequence>",
fasta_dict="<genome_dict>",
fasta_fai="<genome_sequence_index>",
map="<results>/picard/<per>.bam",
map_idx="<results>/picard/<per>.bam.bai",
intervals="<bed_intervals>",
output:
vcf="variant/{sample}.vcf",
bam="variant/{sample}.bam",
f1r2="counts/{sample}.f1r2.tar.gz",
vcf="<results>/variant/<per>.vcf",
bam="<results>/variant/<per>.bam",
f1r2="<results>/counts/<per>.f1r2.tar.gz",
threads: 1
resources:
mem_mb=1024,
params:
extra=" --tumor-sample {sample} ",
log:
"logs/mutect/{sample}.log",
"<logs>/mutect/<per>.log",
wrapper:
"master/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="<results>/picard/<per>.bam",
bai="<results>/picard/<per>.bam.bai",
variants="<known_variants>",
variants_tbi="<known_variants_tbi>",
intervals="<bed_intervals>",
output:
temp("summaries/{sample}.table"),
temp("<results>/summaries/<per>.table"),
threads: 1
resources:
mem_mb=1024,
params:
extra="",
log:
"logs/summary/{sample}.log",
"<logs>/summary/<per>.log",
wrapper:
"master/bio/gatk/getpileupsummaries"


rule gatk_calculate_contamination:
input:
tumor="summaries/{sample}.table",
tumor="<results>/summaries/<per>.table",
output:
temp("contamination/{sample}.pileups.table"),
temp("<results>/contamination/<per>.pileups.table"),
threads: 1
resources:
mem_mb=1024,
log:
"logs/contamination/{sample}.log",
"<logs>/contamination/<per>.log",
params:
extra="",
wrapper:
Expand All @@ -119,38 +119,38 @@ rule gatk_calculate_contamination:

rule gatk_learn_read_orientation_model:
input:
f1r2="counts/{sample}.f1r2.tar.gz",
f1r2="<results>/counts/<per>.f1r2.tar.gz",
output:
temp("artifacts_prior/{sample}.tar.gz"),
temp("<results>/artifacts_prior/<per>.tar.gz"),
threads: 1
resources:
mem_mb=1024,
params:
extra="",
log:
"logs/learnreadorientationbias/{sample}.log",
"<logs>/learnreadorientationbias/<per>.log",
wrapper:
"master/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="<results>/variant/<per>.vcf",
ref="<genome_sequence>",
ref_dict="<genome_dict>",
ref_fai="<genome_sequence_index>",
bam="<results>/picard/<per>.bam",
bam_bai="<results>/picard/<per>.bam.bai",
contamination="<results>/contamination/<per>.pileups.table",
f1r2="<results>/artifacts_prior/<per>.tar.gz",
output:
vcf="variant/{sample}.filtered.vcf.gz",
vcf_idx="variant/{sample}.filtered.vcf.gz.tbi",
vcf="<results>/variant/<per>.filtered.vcf.gz",
vcf_idx="<results>/variant/<per>.filtered.vcf.gz.tbi",
threads: 1
resources:
mem_mb=1024,
log:
"logs/gatk/filter/{sample}.log",
"<logs>/gatk/filter/<per>.log",
params:
extra="--create-output-variant-index --min-median-mapping-quality 35 --max-alt-allele-count 3",
java_opts="",
Expand Down
10 changes: 8 additions & 2 deletions meta/bio/gatk_mutect2_calling/test/Snakefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,13 @@ from snakemake.utils import min_version

min_version("9.13.1")


configfile: "config.yaml"


module gatk_mutect2_calling:
meta_wrapper: "master/meta/bio/gatk_mutect2_calling"
meta_wrapper:
"master/meta/bio/gatk_mutect2_calling"


use rule * from gatk_mutect2_calling
use rule * from gatk_mutect2_calling
9 changes: 9 additions & 0 deletions meta/bio/gatk_mutect2_calling/test/config.yaml
Original file line number Diff line number Diff line change
@@ -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"
2 changes: 1 addition & 1 deletion test_wrappers.py
Original file line number Diff line number Diff line change
Expand Up @@ -6559,7 +6559,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",
],
)

Expand Down
Loading