generated from snakemake-workflows/snakemake-workflow-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSnakefile
55 lines (44 loc) · 1.76 KB
/
Snakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import glob
import os
configfile: "config/config.yml"
# Define data and reference files
data_folder = config["data"]["folder"]
reference_folder = config["reference"]["folder"]
genome_name = config["reference"]["genome"]
reference = os.path.join(reference_folder, genome_name)
reference_idx = f"{reference}.fai"
reference_dict = f"{reference}.dict"
# Used only in FreeBayes
known_sites_folder = config["known_sites"]["folder"]
known_filename = config["known_sites"]["filename"]
known_sites = os.path.join(known_sites_folder, known_filename)
known_sites_idx = f"{known_sites}.idx"
sample_files = glob.glob(os.path.join(data_folder, "*.bam"))
samples = [os.path.basename(f).replace(".bam", "") for f in sample_files]
first_summaries = [
f"results/stats/{sample}_before_recal.summary.txt" for sample in samples
]
second_summaries = [
f"results/stats/{sample}_after_recal.summary.txt" for sample in samples
]
calls = [f"results/calls/{sample}.vcf" for sample in samples]
alns = [f"results/recal/{sample}.bam" for sample in samples]
idxs = [f"results/recal/{sample}.bai" for sample in samples]
vcfs = [f"results/calls_gatk/{sample}.vcf" for sample in samples]
vcf_zips = [f"results/calls_gatk/{sample}.vcf.gz" for sample in samples]
vcf_idxs = [f"results/calls_gatk/{sample}.vcf.csi" for sample in samples]
haplo_calls = "results/calls/calls_gatk.vcf"
rule all:
input:
"results/calls/annotated_calls.vcf",
first_summaries,
second_summaries,
include: "rules/add_or_replace_rg.smk"
include: "rules/mark_duplicates.smk"
include: "rules/index_genome.smk"
include: "rules/split_n_cigar_reads.smk"
include: "rules/recalibration.smk"
include: "rules/alignment_summary.smk"
include: "rules/gatk_haplocaller.smk"
include: "rules/filter.smk"
include: "rules/vep.smk"