-
Notifications
You must be signed in to change notification settings - Fork 1
/
CiteSeq.wdl
105 lines (82 loc) · 2.92 KB
/
CiteSeq.wdl
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
version 1.0
import "modules/Preprocess.wdl" as Preprocess
import "modules/BasicQC.wdl" as BasicQC
workflow CiteSeq {
input {
Array[File] uriFastqR1
Array[File] uriFastqR2
Int lengthR1
Int lengthR2
String sampleName
File cellBarcodeWhitelistUri
String cellBarcodeWhiteListMethod
# set to false if TotalSeq-A is used
# set to true if TotalSeq-B or C is used
Boolean translate10XBarcodes
String scRnaSeqPlatform = "10x_v3"
File tagList
# cellular barcode start/end positions
Int cbStartPos
Int cbEndPos
# UMI start/end positions
Int umiStartPos
Int umiEndPos
# how many bases should we trim before starting to look for hashtag sequence
Int trimPos = 0
# activate sliding window alignement
Boolean slidingWindowSearch = false
# correction
Int cbCollapsingDistance
Int umiCollapsingDistance
Int maxTagError = 2
Int numExpectedCells
Map[String, Int] resourceSpec
# docker-related
String dockerRegistry
}
call Preprocess.Preprocess {
input:
uriFastqR1 = uriFastqR1,
uriFastqR2 = uriFastqR2,
lengthR1 = lengthR1,
lengthR2 = lengthR2,
sampleName = sampleName,
cellBarcodeWhitelistUri = cellBarcodeWhitelistUri,
cellBarcodeWhiteListMethod = cellBarcodeWhiteListMethod,
translate10XBarcodes = translate10XBarcodes,
scRnaSeqPlatform = scRnaSeqPlatform,
tagList = tagList,
cbStartPos = cbStartPos,
cbEndPos = cbEndPos,
umiStartPos = umiStartPos,
umiEndPos = umiEndPos,
trimPos = trimPos,
slidingWindowSearch = slidingWindowSearch,
cbCollapsingDistance = cbCollapsingDistance,
umiCollapsingDistance = umiCollapsingDistance,
maxTagError = maxTagError,
numExpectedCells = numExpectedCells,
resourceSpec = resourceSpec,
dockerRegistry = dockerRegistry
}
call BasicQC.BasicQC {
input:
sampleName = sampleName,
h5ad = Preprocess.adata,
readsCount = Preprocess.readCountMatrix,
runReport = Preprocess.countReport,
templateNotebook = "inspect-citeseq-v3.ipynb",
dockerRegistry = dockerRegistry
}
output {
File fastQCR1Html = Preprocess.fastQCR1Html
File fastQCR2Html = Preprocess.fastQCR2Html
File countReport = Preprocess.countReport
Array[File] umiCountMatrix = Preprocess.umiCountMatrix
Array[File] readCountMatrix = Preprocess.readCountMatrix
File adata = Preprocess.adata
File notebookQC = BasicQC.notebook
File htmlQC = BasicQC.htmlReport
File adataQC = BasicQC.adata
}
}