-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSnakefile
More file actions
executable file
·85 lines (75 loc) · 2.27 KB
/
Snakefile
File metadata and controls
executable file
·85 lines (75 loc) · 2.27 KB
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import pandas as pd
import os
from shutil import which
from snakemake.utils import validate, min_version
##### set minimum snakemake version #####
min_version("6.0.0")
configfile: "bin/config.yaml"
#units = pd.read_table("bin/units.tsv")
comps = pd.read_table("samples/comparisons.tsv")
##### target rules #####
rule all:
input:
"analysis/sesame_se/se.rds",
"analysis/sesame_qc/qc.rds",
expand("analysis/sesame_DM/{comp.group1}.v.{comp.group2}.rds", comp=comps.itertuples()),
rule sesame_qc:
input:
idat_dir=config['idat_dir']
#expand("idat_files/{file}", file=units.idat)
output:
"analysis/sesame_qc/qc.rds"
benchmark:
"benchmarks/sesame_qc/bench.txt"
#params:
# idat_dir=config['idat_dir']
threads: 8
resources:
mem_gb=96,
log_prefix="sesame_qc"
envmodules:
config['modules']['R']
script:
"bin/scripts/run_sesame_QC.R"
rule sesame_se:
input:
idat_dir=config['idat_dir'],
#idats = expand("idat_files/{file}", file=units.idat),
samplesheet = "samples/SampleSheet.csv",
meta = "samples/meta.tsv"
output:
"analysis/sesame_se/se.rds"
benchmark:
"benchmarks/sesame_se/bench.txt"
params:
# idat_dir="idat_files/",
manifest_id=config['sesame_params']['array_type'],
sesame_prep=config['sesame_params']['prep_method'], # recommended by vignette for MM285
samplesheet_skip=config['samplesheet_header_rows']
threads: 8
resources:
mem_gb=96,
log_prefix="sesame_se"
envmodules:
config['modules']['R']
script:
"bin/scripts/make_sesame_SE.R"
rule sesame_DM:
input:
"analysis/sesame_se/se.rds"
output:
"analysis/sesame_DM/{group1}.v.{group2}.rds"
benchmark:
"benchmarks/sesame_DM/{group1}.v.{group2}.txt"
params:
array_type=config['sesame_params']['array_type'],
pval_threshold=config['analysis_params']['pval_threshold'],
eff_threshold=config['analysis_params']['eff_threshold']
threads: 8
resources:
mem_gb=72,
log_prefix=lambda wildcards: "_".join(wildcards)
envmodules:
config['modules']['R']
script:
"bin/scripts/run_sesame_DM.R"