Skip to content
Snippets Groups Projects

Add testing to vcf-to-varda

Merged van den Berg requested to merge devel into master
1 file
+ 1
1
Compare changes
  • Side-by-side
  • Inline
+ 29
23
CONTAINER_GVCF2COVERAGE = "docker://quay.io/biocontainers/gvcf2coverage:0.1--hfb13731_0"
CONTAINER_VCF2VARIANTS = "docker://quay.io/biocontainers/vcf2variants:0.3--py_0"
CONTAINER_CTHREEPO = "docker://quay.io/biocontainers/cthreepo:0.1--py_1"
CONTAINER_BCFTOOLS = "docker://quay.io/biocontainers/bcftools:1.10.2--hd2cd319_0"
CONTAINER_VARDA2_CLIENT = "docker://quay.io/biocontainers/varda2-client:0.8--py_0"
localrules: all, submit
containers = {
"bcftools": "docker://quay.io/biocontainers/bcftools:1.10.2--hd2cd319_0",
"cthreepo": "docker://quay.io/biocontainers/cthreepo:0.1--py_1",
"gvcf2coverage": "docker://quay.io/biocontainers/gvcf2coverage:0.1--hfb13731_0",
"varda2-client": "docker://quay.io/biocontainers/varda2-client:0.8--py_0",
"vcf2variants": "docker://quay.io/biocontainers/vcf2variants:0.3--py_0"
}
rule all:
input:
tasks = expand("{sample}_response.json", sample=config["samples"]),
tasks = expand("{sample}/varda/{sample}_response.json", sample=config["samples"]),
#
# Variants
@@ -17,9 +20,9 @@ rule trim_alt_and_uncalled:
input:
lambda wildcards: config["samples"][wildcards.sample]["vcf"]
output:
temp("{sample}_trimmed.vcf")
temp("{sample}/varda/{sample}_trimmed.vcf")
container:
CONTAINER_BCFTOOLS
containers["bcftools"]
shell:
"bcftools view --trim-alt-alleles --exclude-uncalled --output-file {output} {input}"
@@ -27,9 +30,9 @@ rule split_multi:
input:
rules.trim_alt_and_uncalled.output
output:
temp("{sample}_single.vcf")
temp("{sample}/varda/{sample}_single.vcf")
container:
CONTAINER_BCFTOOLS
containers["bcftools"]
shell:
"bcftools norm --multiallelics - --output {output} {input}"
@@ -37,9 +40,9 @@ rule exclude_alt_star:
input:
rules.split_multi.output
output:
temp("{sample}_no_alt_star.vcf")
temp("{sample}/varda/{sample}_no_alt_star.vcf")
container:
CONTAINER_BCFTOOLS
containers["bcftools"]
shell:
"bcftools view --exclude 'ALT==\"*\"' --output-file {output} {input}"
@@ -47,9 +50,9 @@ rule vcf2varda:
input:
rules.exclude_alt_star.output
output:
temp("{sample}_variants_ucsc.varda")
temp("{sample}/varda/{sample}_variants_ucsc.varda")
container:
CONTAINER_VCF2VARIANTS
containers["vcf2variants"]
shell:
"vcf2variants < {input} > {output}"
@@ -57,9 +60,9 @@ rule var_cthreepo:
input:
rules.vcf2varda.output
output:
"{sample}_variants.varda"
"{sample}/varda/{sample}_variants.varda"
container:
CONTAINER_CTHREEPO
containers["cthreepo"]
shell:
"cthreepo --mapfile h37 --infile {input} --id_from uc --outfile {output} --id_to rs"
@@ -70,19 +73,22 @@ rule gvcf2coverage:
input:
lambda wildcards: config["samples"][wildcards.sample]["gvcf"]
output:
temp("{sample}_coverage_ucsc.varda")
temp("{sample}/varda/{sample}_coverage_ucsc.varda")
params:
threshold = config["settings"]["threshold"],
distance = config["settings"]["distance"]
container:
CONTAINER_GVCF2COVERAGE
containers["gvcf2coverage"]
shell:
"gvcf2coverage < {input} > {output}"
"gvcf2coverage -t {params.threshold} -d {params.distance} < {input} > {output}"
rule cov_cthreepo:
input:
rules.gvcf2coverage.output
output:
"{sample}_coverage.varda"
"{sample}/varda/{sample}_coverage.varda"
container:
CONTAINER_CTHREEPO
containers["cthreepo"]
shell:
"cthreepo --mapfile h37 --infile {input} --id_from uc --outfile {output} --id_to rs"
@@ -100,9 +106,9 @@ rule submit:
sample_id = "{sample}",
disease_code = lambda wildcards: config["samples"][wildcards.sample]["disease_code"]
output:
"{sample}_response.json"
"{sample}/varda/{sample}_response.json"
container:
CONTAINER_VARDA2_CLIENT
containers["varda2-client"]
shell:
"varda2-client submit \
--disease-code {params.disease_code} \
Loading