forked from AlexanderLabWHOI/eukrhythmic
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheukrhythmic-assembly
More file actions
50 lines (43 loc) · 1.88 KB
/
eukrhythmic-assembly
File metadata and controls
50 lines (43 loc) · 1.88 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
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/trinity-snake.smk"
include: "rules/velvet-snake.smk"
include: "rules/megahit-snake.smk"
include: "rules/spades-snake.smk"
include: "rules/transabyss-snake.smk"
include: "rules/transabyss-merge.smk"
include: "rules/quast-snake.smk"
ruleorder: trinity > trinity_SE
ruleorder: megahit > megahit_SE
ruleorder: velvet > velvet_SE
rule all:
input:
# 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),
# ASSEMBLER OUTPUTS
assemblersout = expand(os.path.join("{base}", "{assembly}_{assembler}.fasta"),
base = ASSEMBLEDDIR, assembly = assemblygroups, assembler = ASSEMBLERS),
# QUAST OUTPUTS
quast = expand(os.path.join("{base}", "quast", "{assembly}"), base = OUTPUTDIR, assembly = assemblygroups),
# COMBINE QUAST OUTPUTS
quastcombine = expand(os.path.join("{base}", "quast", "fullresults", "allresults.tsv"), base = OUTPUTDIR),