forked from AlexanderLabWHOI/eukrhythmic
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheukrhythmic-setup
More file actions
55 lines (48 loc) · 2.45 KB
/
eukrhythmic-setup
File metadata and controls
55 lines (48 loc) · 2.45 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
configfile: "config.yaml"
import io
import os
from os import listdir
from os.path import isfile, join
import sys
import pandas as pd
import numpy as np
import pathlib
from snakemake.exceptions import print_exception, WorkflowError
sys.path.insert(1, 'scripts')
# Import relevant variable from config; exit if not supplied
import importworkspace
from importworkspace import *
os.system("python " + os.path.join("scripts", "importworkspace.py"))
# Contains function to check that variables are present and formatted correctly beyond provided values in config file
import checkrequirements
from checkrequirements import *
## CHECK THAT ALL REQUIREMENTS ARE SATISFIED BY EXECUTING checkrequirements() from `scripts/checkrequirements.py` ##
checkrequirementsfct()
include: "rules/fastqc-snake.smk"
include: "rules/bbmap-snake.smk
include: "rules/trimmomatic-snake.smk"
include: "rules/fastqc-trimmed-snake.smk"
ruleorder: trimmomatic > trimmomatic_SE
rule all:
input:
# FASTQC OUTPUTS
fastqc1 = expand([os.path.join("{base}", "qc", "fastqc", "{sample}_{num}_fastqc.html"),
os.path.join("{base}", "qc", "fastqc", "{sample}_{num}_fastqc.zip")], zip,
base = OUTPUTDIR, sample = filenames, num = singleorpaired),
# MULTIQC OUTPUTS
multiqc1 = expand(os.path.join("{base}", "qc", "multiqc", "firstqcreport", "multiqc_report.html"), zip,
base = OUTPUTDIR),
# BBMAP OUTPUTS
bbmap = expand(os.path.join("{base}", "bbmap", "{sample}_{num}.clean.fastq.gz"), zip, base = OUTPUTDIR,
sample = filenames, num = singleorpaired),
# TRIMMOMATIC OUTPUTS
trimmed = expand([os.path.join("{base}", "firsttrim", "{sample}_1.trimmed.fastq.gz"),
os.path.join("{base}", "firsttrim", "{sample}_2.trimmed.fastq.gz")], zip,
base = OUTPUTDIR, sample = filenames),
# FASTQC 2 OUTPUTS (trimmed)
fastqc2 = expand([os.path.join("{base}", "qc", "fastqc_trimmed", "{sample}_{num}.trimmed_fastqc.html"),
os.path.join("{base}", "qc", "fastqc_trimmed", "{sample}_{num}.trimmed_fastqc.zip")],
zip, base = OUTPUTDIR, sample = filenames, num = singleorpaired),
# MULTIQC 2 OUTPUTS
multiqc2 = expand(os.path.join("{base}", "qc", "multiqc", "trimmedqcreport", "multiqc_report.html"), zip,
base = OUTPUTDIR)