Skip to content

Commit 061d3a2

Browse files
authored
Merge pull request #1048 from johnegarza/rnaseq_sequence_type_input
Rnaseq sequence type input
2 parents 7638b30 + de244c3 commit 061d3a2

8 files changed

Lines changed: 222 additions & 53 deletions

definitions/pipelines/immuno.cwl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ inputs:
1717
secondaryFiles: [".1.ht2", ".2.ht2", ".3.ht2", ".4.ht2", ".5.ht2", ".6.ht2", ".7.ht2", ".8.ht2"]
1818
reference_annotation:
1919
type: File
20-
rna_bams:
21-
type: File[]
20+
rna_sequence:
21+
type: ../types/sequence_data.yml#sequence_data[]
2222
rna_readgroups:
2323
type: string[]
2424
read_group_fields:
@@ -788,7 +788,7 @@ steps:
788788
reference: reference
789789
reference_index: reference_index
790790
reference_annotation: reference_annotation
791-
instrument_data_bams: rna_bams
791+
rna_sequence: rna_sequence
792792
read_group_id: rna_readgroups
793793
read_group_fields: read_group_fields
794794
sample_name: sample_name

definitions/pipelines/rnaseq.cwl

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ requirements:
88
- class: SubworkflowFeatureRequirement
99
- class: ScatterFeatureRequirement
1010
- class: InlineJavascriptRequirement
11+
- class: SchemaDefRequirement
12+
types:
13+
- $import: ../types/sequence_data.yml
1114
inputs:
1215
reference:
1316
type:
@@ -19,8 +22,8 @@ inputs:
1922
secondaryFiles: [".1.ht2", ".2.ht2", ".3.ht2", ".4.ht2", ".5.ht2", ".6.ht2", ".7.ht2", ".8.ht2"]
2023
reference_annotation:
2124
type: File
22-
instrument_data_bams:
23-
type: File[]
25+
rna_sequence:
26+
type: ../types/sequence_data.yml#sequence_data[]
2427
read_group_id:
2528
type: string[]
2629
read_group_fields:
@@ -93,12 +96,12 @@ outputs:
9396
type: File
9497
outputSource: cgpbigwig_bamcoverage/outfile
9598
steps:
96-
bam_to_trimmed_fastq_and_hisat_alignments:
97-
run: ../subworkflows/bam_to_trimmed_fastq_and_hisat_alignments.cwl
98-
scatter: [bam, read_group_id, read_group_fields]
99+
sequence_to_trimmed_fastq_and_hisat_alignments:
100+
run: ../subworkflows/sequence_to_trimmed_fastq_and_hisat_alignments.cwl
101+
scatter: [unaligned, read_group_id, read_group_fields]
99102
scatterMethod: dotproduct
100103
in:
101-
bam: instrument_data_bams
104+
unaligned: rna_sequence
102105
read_group_id: read_group_id
103106
read_group_fields: read_group_fields
104107
adapters: trimming_adapters
@@ -115,7 +118,7 @@ steps:
115118
in:
116119
kallisto_index: kallisto_index
117120
strand: strand
118-
fastqs: bam_to_trimmed_fastq_and_hisat_alignments/fastqs
121+
fastqs: sequence_to_trimmed_fastq_and_hisat_alignments/fastqs
119122
out:
120123
[expression_transcript_table,expression_transcript_h5,fusion_evidence]
121124
transcript_to_gene:
@@ -128,7 +131,7 @@ steps:
128131
merge:
129132
run: ../tools/merge_bams.cwl
130133
in:
131-
bams: bam_to_trimmed_fastq_and_hisat_alignments/aligned_bam
134+
bams: sequence_to_trimmed_fastq_and_hisat_alignments/aligned_bam
132135
out:
133136
[merged_bam]
134137
position_sort:

definitions/pipelines/rnaseq_star_fusion.cwl

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,12 @@ requirements:
77
- class: MultipleInputFeatureRequirement
88
- class: SubworkflowFeatureRequirement
99
- class: ScatterFeatureRequirement
10+
- class: SchemaDefRequirement
11+
types:
12+
- $import: ../types/sequence_data.yml
1013
inputs:
11-
instrument_data_bams:
12-
type: File[]
14+
unaligned:
15+
type: ../types/sequence_data.yml#sequence_data[]
1316
outsam_attrrg_line:
1417
type: string[]
1518
star_genome_dir:
@@ -48,6 +51,9 @@ inputs:
4851
type: File
4952
sample_name:
5053
type: string
54+
unzip_fastqs:
55+
type: boolean?
56+
default: true
5157
outputs:
5258
cram:
5359
type: File
@@ -99,17 +105,19 @@ outputs:
99105
type: File
100106
outputSource: cgpbigwig_bamcoverage/outfile
101107
steps:
102-
bam_to_trimmed_fastq:
103-
run: ../subworkflows/bam_to_trimmed_fastq.cwl
104-
scatter: [bam]
108+
sequence_to_trimmed_fastq:
109+
110+
scatter: [unaligned]
105111
scatterMethod: dotproduct
112+
run: ../subworkflows/sequence_to_trimmed_fastq.cwl
106113
in:
107-
bam: instrument_data_bams
114+
unaligned: unaligned
108115
adapters: trimming_adapters
109116
adapter_trim_end: trimming_adapter_trim_end
110117
adapter_min_overlap: trimming_adapter_min_overlap
111118
max_uncalled: trimming_max_uncalled
112119
min_readlength: trimming_min_readlength
120+
unzip_fastqs: unzip_fastqs
113121
out:
114122
[fastqs, fastq1, fastq2]
115123
strandedness_check:
@@ -120,8 +128,8 @@ steps:
120128
gtf_file: gtf_file
121129
kallisto_index: kallisto_index
122130
cdna_fasta: cdna_fasta
123-
reads1: bam_to_trimmed_fastq/fastq1
124-
reads2: bam_to_trimmed_fastq/fastq2
131+
reads1: sequence_to_trimmed_fastq/fastq1
132+
reads2: sequence_to_trimmed_fastq/fastq2
125133
out:
126134
[strandedness_check]
127135
star_align_fusion:
@@ -131,10 +139,10 @@ steps:
131139
star_genome_dir: star_genome_dir
132140
gtf_file: gtf_file
133141
fastq:
134-
source: bam_to_trimmed_fastq/fastq1
142+
source: sequence_to_trimmed_fastq/fastq1
135143
linkMerge: merge_flattened
136144
fastq2:
137-
source: bam_to_trimmed_fastq/fastq2
145+
source: sequence_to_trimmed_fastq/fastq2
138146
linkMerge: merge_flattened
139147
out:
140148
[aligned_bam, chim_junc, splice_junction_out,log_final]
@@ -150,7 +158,7 @@ steps:
150158
in:
151159
kallisto_index: kallisto_index
152160
strand: strand
153-
fastqs: bam_to_trimmed_fastq/fastqs
161+
fastqs: sequence_to_trimmed_fastq/fastqs
154162
out:
155163
[expression_transcript_table,expression_transcript_h5,fusion_evidence]
156164
transcript_to_gene:

definitions/pipelines/rnaseq_star_fusion_with_xenosplit.cwl

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,17 @@ requirements:
88
- class: SubworkflowFeatureRequirement
99
- class: ScatterFeatureRequirement
1010
- class: StepInputExpressionRequirement
11+
- class: SchemaDefRequirement
12+
types:
13+
- $import: ../types/sequence_data.yml
1114
inputs:
1215
reference:
1316
type:
1417
- string
1518
- File
1619
secondaryFiles: [.fai, ^.dict]
17-
instrument_data_bams:
18-
type: File[]
20+
unaligned:
21+
type: ../types/sequence_data.yml#sequence_data[]
1922
outsam_attrrg_line:
2023
type: string[]
2124
graft_star_genome_dir:
@@ -63,6 +66,9 @@ inputs:
6366
type: File
6467
sample_name:
6568
type: string
69+
unzip_fastqs:
70+
type: boolean?
71+
default: true
6672
outputs:
6773
final_bam:
6874
type: File
@@ -114,17 +120,18 @@ outputs:
114120
type: File
115121
outputSource: cgpbigwig_bamcoverage/outfile
116122
steps:
117-
bam_to_trimmed_fastq:
118-
run: ../subworkflows/bam_to_trimmed_fastq.cwl
119-
scatter: [bam]
123+
sequence_to_trimmed_fastq:
124+
run: ../subworkflows/sequence_to_trimmed_fastq.cwl
125+
scatter: [unaligned]
120126
scatterMethod: dotproduct
121127
in:
122-
bam: instrument_data_bams
128+
unaligned: unaligned
123129
adapters: trimming_adapters
124130
adapter_trim_end: trimming_adapter_trim_end
125131
adapter_min_overlap: trimming_adapter_min_overlap
126132
max_uncalled: trimming_max_uncalled
127133
min_readlength: trimming_min_readlength
134+
unzip_fastqs: unzip_fastqs
128135
out:
129136
[fastqs, fastq1, fastq2]
130137
graft_star_align_fusion:
@@ -135,10 +142,10 @@ steps:
135142
outfile_name_prefix: graft_outfile_name_prefix
136143
gtf_file: graft_gtf_file
137144
fastq:
138-
source: bam_to_trimmed_fastq/fastq1
145+
source: sequence_to_trimmed_fastq/fastq1
139146
linkMerge: merge_flattened
140147
fastq2:
141-
source: bam_to_trimmed_fastq/fastq2
148+
source: sequence_to_trimmed_fastq/fastq2
142149
linkMerge: merge_flattened
143150
out:
144151
[aligned_bam, chim_junc, splice_junction_out,log_final]
@@ -150,10 +157,10 @@ steps:
150157
outfile_name_prefix: host_outfile_name_prefix
151158
gtf_file: host_gtf_file
152159
fastq:
153-
source: bam_to_trimmed_fastq/fastq1
160+
source: sequence_to_trimmed_fastq/fastq1
154161
linkMerge: merge_flattened
155162
fastq2:
156-
source: bam_to_trimmed_fastq/fastq2
163+
source: sequence_to_trimmed_fastq/fastq2
157164
linkMerge: merge_flattened
158165
out:
159166
[aligned_bam, chim_junc, splice_junction_out,log_final]
@@ -165,9 +172,14 @@ steps:
165172
out:
166173
[graft_bam, xenosplit_statistics]
167174
graftbam_to_fastq:
168-
run: ../subworkflows/bam_to_trimmed_fastq.cwl
175+
run: ../subworkflows/sequence_to_trimmed_fastq.cwl
169176
in:
170-
bam: xenosplit/graft_bam
177+
unaligned:
178+
source: xenosplit/graft_bam
179+
valueFrom: |
180+
${
181+
return {'sequence': {'bam': self} };
182+
}
171183
adapters: trimming_adapters
172184
adapter_trim_end: trimming_adapter_trim_end
173185
adapter_min_overlap: trimming_adapter_min_overlap

definitions/subworkflows/bam_to_trimmed_fastq.cwl renamed to definitions/subworkflows/sequence_to_trimmed_fastq.cwl

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,20 @@
22

33
cwlVersion: v1.0
44
class: Workflow
5-
label: "bam to trimmed fastqs"
5+
label: "sequence (bam or fastqs) to trimmed fastqs"
66
requirements:
77
- class: MultipleInputFeatureRequirement
88
- class: SubworkflowFeatureRequirement
99
- class: InlineJavascriptRequirement
10+
- class: ScatterFeatureRequirement
11+
- class: StepInputExpressionRequirement
12+
- class: SchemaDefRequirement
13+
types:
14+
- $import: ../types/sequence_data.yml
15+
1016
inputs:
11-
bam:
12-
type: File
17+
unaligned:
18+
type: ../types/sequence_data.yml#sequence_data
1319
adapters:
1420
type: File
1521
adapter_trim_end:
@@ -20,6 +26,8 @@ inputs:
2026
type: int
2127
min_readlength:
2228
type: int
29+
unzip_fastqs:
30+
type: boolean?
2331

2432
outputs:
2533
fastqs:
@@ -33,17 +41,26 @@ outputs:
3341
outputSource: trim_fastq/fastq2
3442

3543
steps:
36-
bam_to_fastq:
37-
run: ../tools/bam_to_fastq.cwl
38-
in:
39-
bam: bam
44+
sequence_to_fastq:
45+
run: ../tools/sequence_to_fastq.cwl
46+
in:
47+
bam:
48+
source: unaligned
49+
valueFrom: "$(self.sequence.hasOwnProperty('bam')? self.sequence.bam : null)"
50+
fastq1:
51+
source: unaligned
52+
valueFrom: "$(self.sequence.hasOwnProperty('fastq1')? self.sequence.fastq1 : null)"
53+
fastq2:
54+
source: unaligned
55+
valueFrom: "$(self.sequence.hasOwnProperty('fastq2')? self.sequence.fastq2 : null)"
56+
unzip_fastqs: unzip_fastqs
4057
out:
4158
[fastq1, fastq2]
4259
trim_fastq:
4360
run: ../tools/trim_fastq.cwl
4461
in:
45-
reads1: bam_to_fastq/fastq1
46-
reads2: bam_to_fastq/fastq2
62+
reads1: sequence_to_fastq/fastq1
63+
reads2: sequence_to_fastq/fastq2
4764
adapters: adapters
4865
adapter_trim_end: adapter_trim_end
4966
adapter_min_overlap: adapter_min_overlap

definitions/subworkflows/bam_to_trimmed_fastq_and_hisat_alignments.cwl renamed to definitions/subworkflows/sequence_to_trimmed_fastq_and_hisat_alignments.cwl

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,19 @@
22

33
cwlVersion: v1.0
44
class: Workflow
5-
label: "bam to trimmed fastqs and HISAT alignments"
5+
label: "sequence (bam or fastqs) to trimmed fastqs and HISAT alignments"
66
requirements:
77
- class: MultipleInputFeatureRequirement
88
- class: SubworkflowFeatureRequirement
99
- class: InlineJavascriptRequirement
1010
- class: StepInputExpressionRequirement
11+
- class: SchemaDefRequirement
12+
types:
13+
- $import: ../types/sequence_data.yml
14+
1115
inputs:
12-
bam:
13-
type: File
16+
unaligned:
17+
type: ../types/sequence_data.yml#sequence_data
1418
adapters:
1519
type: File
1620
adapter_trim_end:
@@ -35,6 +39,8 @@ inputs:
3539
- "null"
3640
- type: enum
3741
symbols: ["first", "second", "unstranded"]
42+
unzip_fastqs:
43+
type: boolean?
3844
outputs:
3945
fastqs:
4046
type: File[]
@@ -43,17 +49,26 @@ outputs:
4349
type: File
4450
outputSource: hisat2_align/aligned_bam
4551
steps:
46-
bam_to_fastq:
47-
run: ../tools/bam_to_fastq.cwl
48-
in:
49-
bam: bam
52+
sequence_to_fastq:
53+
run: ../tools/sequence_to_fastq.cwl
54+
in:
55+
bam:
56+
source: unaligned
57+
valueFrom: "$(self.sequence.hasOwnProperty('bam')? self.sequence.bam : null)"
58+
fastq1:
59+
source: unaligned
60+
valueFrom: "$(self.sequence.hasOwnProperty('fastq1')? self.sequence.fastq1 : null)"
61+
fastq2:
62+
source: unaligned
63+
valueFrom: "$(self.sequence.hasOwnProperty('fastq2')? self.sequence.fastq2 : null)"
64+
unzip_fastqs: unzip_fastqs
5065
out:
5166
[fastq1, fastq2]
5267
trim_fastq:
5368
run: ../tools/trim_fastq.cwl
5469
in:
55-
reads1: bam_to_fastq/fastq1
56-
reads2: bam_to_fastq/fastq2
70+
reads1: sequence_to_fastq/fastq1
71+
reads2: sequence_to_fastq/fastq2
5772
adapters: adapters
5873
adapter_trim_end: adapter_trim_end
5974
adapter_min_overlap: adapter_min_overlap

0 commit comments

Comments
 (0)