-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathSnakefile
83 lines (74 loc) · 1.92 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
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 os
PRE = "transcripts"
FASTA = "{0}.fasta.gz".format(PRE)
GTF = "{0}.gtf.gz".format(PRE)
INDEX = "{0}.kidx".format(PRE)
K = 31
ZCAT = 'gzcat' if os.uname()[0] == 'Darwin' else 'zcat'
rule all:
input:
"kallisto_out/abundance.h5",
"pizzly_out/output.json",
"pizzly_post/abundance.h5"
rule index:
input: FASTA
output: INDEX
shell:
"kallisto index -k {K} -i {output} {input}"
rule kallisto_quant:
input:
"reads_1.fastq.gz",
"reads_2.fastq.gz",
INDEX
output:
"kallisto_out",
"kallisto_out/abundance.h5",
"kallisto_out/abundance.tsv",
"kallisto_out/run_info.json",
"kallisto_out/fusion.txt"
shell:
"kallisto quant "
"-i {INDEX} "
"-o {output[0]} "
"--fusion "
"{input[0]} {input[1]}"
rule pizzly:
input:
FASTA,
"kallisto_out/fusion.txt"
output:
"pizzly_out/output.json",
"pizzly_out/output.fusions.fasta"
shell:
"../build/pizzly "
"-k {K} "
"--gtf {GTF} "
"--cache cache.txt "
"--align-score 2 "
"--insert-size 400 "
"--fasta {FASTA} "
"--output pizzly_out/output "
"kallisto_out/fusion.txt "
rule append_index:
input:
FASTA,
"pizzly_out/output.fusions.fasta"
output:
"pizzly_post/transcripts_with_fusions.fasta.gz",
"pizzly_post/transcripts_with_fusions.kidx"
shell:
"cat <({ZCAT} {FASTA}) {input[1]} | gzip - > {output[0]} && "
"kallisto index -k {K} -i {output[1]} {output[0]}"
rule requant_kallisto:
input:
"reads_1.fastq.gz",
"reads_2.fastq.gz",
"pizzly_post/transcripts_with_fusions.kidx"
output:
"pizzly_post",
"pizzly_post/abundance.h5"
shell:
"kallisto quant "
"-i {input[2]} "
"-o {output[0]} "
"{input[0]} {input[1]}"