-
Notifications
You must be signed in to change notification settings - Fork 0
/
convert.flow
executable file
·233 lines (233 loc) · 22.8 KB
/
convert.flow
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
# Project: adams
# Date: 2024-05-24 14:13:08
# User: fracpete
# Charset: UTF-8
# Modules: adams-bootstrapp,adams-compress,adams-core,adams-db,adams-event,adams-excel,adams-heatmap,adams-imaging,adams-imaging-boofcv,adams-json,adams-math,adams-matlab,adams-meta,adams-ml,adams-net,adams-odf,adams-pdf,adams-pyro4,adams-python,adams-r,adams-rats-core,adams-rats-net,adams-rats-redis,adams-rats-rest,adams-rats-webservice,adams-redis,adams-rest,adams-security,adams-spectral-2dim-core,adams-spectral-2dim-handheld,adams-spectral-2dim-r,adams-spectral-2dim-rats,adams-spectral-2dim-webservice,adams-spectral-3way-core,adams-spectral-app,adams-spreadsheet,adams-terminal,adams-visualstats,adams-webservice,adams-webservice-core,adams-weka-lts,adams-xml,adams-yaml
#
adams.flow.control.Flow -annotation "Expects two sub-dirs in the same dir as the flow:\\n- raw\\n- output\\nThe raw directory must contain the CSV file." -flow-execution-listener adams.flow.execution.NullListener -flow-restart-manager adams.flow.control.flowrestart.NullManager
adams.flow.standalone.SetVariable -name "SetVariable (8)" -var-name rows_with_amplitudes -var-value 2-last
adams.flow.standalone.SetVariable -name "SetVariable (6)" -annotation "add one for sampleid" -var-name columns_with_amplitudes -var-value 11-last
adams.flow.standalone.SetVariable -name "SetVariable (3)" -var-name header_row -var-value 1
adams.flow.standalone.SetVariable -name "SetVariable (5)" -var-name column_with_id -var-value 1
adams.flow.standalone.SetVariable -name "SetVariable (2)" -annotation "add one for sampleid" -var-name columns_with_sampledata -var-value 2-10
adams.flow.standalone.SetVariable -var-name targets_list -var-value DM[N]
adams.flow.source.Variable -var-name flow_dir -conversion adams.data.conversion.StringToString
adams.flow.transformer.AppendName -suffix raw/NAnderson2020MendeleyMangoNIRData.csv -use-forward-slashes true
adams.flow.control.Trigger -name "Process target list"
adams.flow.source.Variable -var-name targets_list -conversion adams.data.conversion.StringToString
adams.flow.control.Tee -name "make array"
adams.flow.transformer.StringSplit -expression ,
adams.flow.transformer.Convert -conversion adams.data.conversion.JoinOptions
adams.flow.transformer.SetVariable -var-name field_array
adams.flow.control.Tee -name "make simple target list"
adams.flow.transformer.StringReplace -find \\[.\\] -type ALL
adams.flow.transformer.SetVariable -var-name targets
adams.flow.control.Trigger -name "Process meta list"
adams.flow.standalone.SetVariable -var-name meta_field_array -var-value ""
adams.flow.source.Variable -var-name meta_list -conversion adams.data.conversion.StringToString
adams.flow.control.ConditionalTee -name "make array" -condition "adams.flow.condition.bool.Expression -expression \"\\\\\\\"X\\\\\\\"!=\\\\\\\"\\\\\\\"\""
adams.flow.transformer.StringSplit -expression ,
adams.flow.transformer.Convert -conversion adams.data.conversion.JoinOptions
adams.flow.transformer.SetVariable -var-name meta_field_array
adams.flow.control.Tee -name "make simple target list"
adams.flow.transformer.StringReplace -find \\[.\\] -type ALL
adams.flow.transformer.SetVariable -var-name meta
adams.flow.control.Tee -name "Read spectra and reference"
adams.flow.transformer.SpreadSheetFileReader -reader "adams.data.io.input.CsvSpreadSheetReader -data-row-type adams.data.spreadsheet.DenseDataRow -spreadsheet-type adams.data.spreadsheet.DefaultSpreadSheet -no-header true"
adams.flow.transformer.SpreadSheetInsertColumn -no-copy true -position 1 -header SampleID
adams.flow.control.Breakpoint -skip true -scope-restriction adams.flow.execution.debug.NoScopeRestriction -condition adams.flow.condition.bool.Expression
adams.flow.control.Tee -name Cal
adams.flow.transformer.SpreadSheetRowFilter -finder "adams.data.spreadsheet.rowfinder.ByValue -att-index 2 -reg-exp Set|Cal"
adams.flow.transformer.Convert -conversion "adams.data.conversion.SpreadSheetRowsToSpectra -row-wave-number @{header_row} -cols-amplitude @{columns_with_amplitudes} -rows-amplitude @{rows_with_amplitudes} -row-sampledata-names @{header_row} -cols-sampledata @{columns_with_sampledata} -col-id @{column_with_id}"
adams.flow.transformer.ArrayToSequence
adams.flow.transformer.SetStorageValue -storage-name spectrum
adams.flow.control.Tee -name "turn into spreadsheet"
adams.flow.control.Once
adams.flow.transformer.SpectrumInfo -type NUM_WAVES
adams.flow.control.Tee -name add
adams.flow.transformer.MathExpression -expression X+1 -round-output true
adams.flow.transformer.SetVariable -var-name num_waves_plus1
adams.flow.transformer.MathExpression -name "MathExpression (2)" -expression X+1 -round-output true
adams.flow.transformer.SetVariable -name "SetVariable (2)" -var-name num_waves_plus2
adams.flow.transformer.MathExpression -name "MathExpression (3)" -expression X+1 -round-output true
adams.flow.transformer.SetVariable -name "SetVariable (3)" -var-name num_waves_plus3
adams.flow.control.Trigger -name "make re-order"
adams.flow.source.CombineVariables -expression 1,@{num_waves_plus3}-last,2-@{num_waves_plus1},@{num_waves_plus2} -conversion adams.data.conversion.StringToString
adams.flow.transformer.SetVariable -var-name re_order
adams.flow.transformer.SpreadSheetRowGenerator -generator "adams.data.spreadsheetrowgenerator.SimpleRowGenerator -add-sample-id true -wave-numbers-in-header true -reference-value @{field_array} -reference-value-prefix target_ -meta-data-field @{meta_field_array} -meta-data-prefix meta_"
adams.flow.transformer.SpreadSheetRowBuffer
adams.flow.transformer.SetStorageValue -storage-name output_spreadsheet
adams.flow.sink.SpectrumDisplay -display-type adams.flow.core.displaytype.Default -writer adams.gui.print.NullWriter -color-provider adams.gui.visualization.core.DefaultColorProvider -paintlet "adams.gui.visualization.spectrum.SpectrumPaintlet -always-show-markers false -anti-aliasing-enabled false" -plot-updater "adams.flow.sink.spectrumdisplay.SimplePlotUpdater -update-interval 50"
adams.flow.control.Tee -name Output
adams.flow.transformer.SetVariable -var-name subdir -var-value Calibration
adams.flow.control.Trigger -name "Output folder etc"
adams.flow.source.Variable -var-name flow_dir -conversion adams.data.conversion.StringToString
adams.flow.transformer.AppendName -suffix output -use-forward-slashes true
adams.flow.transformer.MakeDir
adams.flow.transformer.AppendName -name "AppendName (3)" -suffix @{subdir} -use-forward-slashes true
adams.flow.transformer.MakeDir -name "MakeDir (2)"
adams.flow.transformer.SetVariable -var-name output_folder
adams.flow.transformer.AppendName -name "AppendName (2)" -suffix all.csv -use-forward-slashes true
adams.flow.transformer.SetVariable -name "SetVariable (2)" -var-name output_all_csv
adams.flow.control.Trigger -name "Output full spreadsheet"
adams.flow.source.StorageValue -storage-name output_spreadsheet -conversion adams.data.conversion.UnknownToUnknown
adams.flow.control.Breakpoint -skip true -scope-restriction adams.flow.execution.debug.NoScopeRestriction -condition adams.flow.condition.bool.Expression
adams.flow.sink.SpreadSheetFileWriter -output @{output_all_csv} -writer adams.data.io.output.CsvSpreadSheetWriter
adams.flow.control.Trigger -name "Per Target" -annotation "need to map the names with troublesome characters"
adams.flow.source.Variable -var-name targets -conversion adams.data.conversion.StringToString
adams.flow.transformer.StringSplit -expression ,
adams.flow.transformer.ArrayToSequence
adams.flow.transformer.SetVariable -name "SetVariable (2)" -var-name reference
adams.flow.control.Breakpoint -skip true -scope-restriction adams.flow.execution.debug.NoScopeRestriction -condition adams.flow.condition.bool.Expression
adams.flow.control.Tee -name "process for output"
adams.flow.control.Trigger -name "Folder and filename"
adams.flow.source.Variable -var-name output_folder -conversion adams.data.conversion.StringToString
adams.flow.transformer.AppendName -suffix @{reference} -use-forward-slashes true
adams.flow.transformer.MakeDir
adams.flow.transformer.AppendName -name "AppendName (3)" -suffix @{reference} -use-forward-slashes true
adams.flow.transformer.AppendName -name "AppendName (2)" -suffix .csv -no-separator true -use-forward-slashes true
adams.flow.transformer.SetVariable -var-name output_target_csv
adams.flow.control.Trigger -name "Make target column regex"
adams.flow.source.Variable -var-name reference -conversion adams.data.conversion.StringToString
adams.flow.transformer.StringReplace -find ^ -replace target_
adams.flow.transformer.SetVariable -var-name target
adams.flow.transformer.SimpleStringReplace -name "SimpleStringReplace (3)" -annotation ! -find ) -replace \\)
adams.flow.transformer.SimpleStringReplace -name "SimpleStringReplace (4)" -annotation ! -find ( -replace \\(
adams.flow.transformer.SimpleStringReplace -annotation ! -find % -replace \\%
adams.flow.transformer.SetVariable -name "SetVariable (2)" -var-name target_regex
adams.flow.control.Breakpoint -skip true -scope-restriction adams.flow.execution.debug.NoScopeRestriction -condition adams.flow.condition.bool.Expression
adams.flow.control.Trigger -name "Make and output Spreadsheet"
adams.flow.source.StorageValue -storage-name output_spreadsheet -conversion adams.data.conversion.UnknownToUnknown
adams.flow.transformer.SpreadSheetColumnFilter -finder "adams.data.spreadsheet.columnfinder.MultiColumnFinder -finder \"adams.data.spreadsheet.columnfinder.ByName -reg-exp sample_id\" -finder \"adams.data.spreadsheet.columnfinder.ByName -reg-exp \\\\\\\\d+?.*\" -finder \"adams.data.spreadsheet.columnfinder.ByName -reg-exp ^meta_.*$\" -finder \"adams.data.spreadsheet.columnfinder.ByName -reg-exp @{target_regex}\""
adams.flow.transformer.SpreadSheetReorderColumns -order @{re_order}
adams.flow.sink.SpreadSheetFileWriter -output @{output_target_csv} -writer adams.data.io.output.CsvSpreadSheetWriter
adams.flow.control.Tee -name Tuning
adams.flow.transformer.SpreadSheetRowFilter -finder "adams.data.spreadsheet.rowfinder.ByValue -att-index 2 -reg-exp Set|Tuning"
adams.flow.transformer.Convert -conversion "adams.data.conversion.SpreadSheetRowsToSpectra -row-wave-number @{header_row} -cols-amplitude @{columns_with_amplitudes} -rows-amplitude @{rows_with_amplitudes} -row-sampledata-names @{header_row} -cols-sampledata @{columns_with_sampledata} -col-id @{column_with_id}"
adams.flow.transformer.ArrayToSequence
adams.flow.transformer.SetStorageValue -storage-name spectrum
adams.flow.control.Tee -name "turn into spreadsheet"
adams.flow.control.Once
adams.flow.transformer.SpectrumInfo -type NUM_WAVES
adams.flow.control.Tee -name add
adams.flow.transformer.MathExpression -expression X+1 -round-output true
adams.flow.transformer.SetVariable -var-name num_waves_plus1
adams.flow.transformer.MathExpression -name "MathExpression (2)" -expression X+1 -round-output true
adams.flow.transformer.SetVariable -name "SetVariable (2)" -var-name num_waves_plus2
adams.flow.transformer.MathExpression -name "MathExpression (3)" -expression X+1 -round-output true
adams.flow.transformer.SetVariable -name "SetVariable (3)" -var-name num_waves_plus3
adams.flow.control.Trigger -name "make re-order"
adams.flow.source.CombineVariables -expression 1,@{num_waves_plus3}-last,2-@{num_waves_plus1},@{num_waves_plus2} -conversion adams.data.conversion.StringToString
adams.flow.transformer.SetVariable -var-name re_order
adams.flow.transformer.SpreadSheetRowGenerator -generator "adams.data.spreadsheetrowgenerator.SimpleRowGenerator -add-sample-id true -wave-numbers-in-header true -reference-value @{field_array} -reference-value-prefix target_ -meta-data-field @{meta_field_array} -meta-data-prefix meta_"
adams.flow.transformer.SpreadSheetRowBuffer
adams.flow.transformer.SetStorageValue -storage-name output_spreadsheet
adams.flow.sink.SpectrumDisplay -display-type adams.flow.core.displaytype.Default -writer adams.gui.print.NullWriter -color-provider adams.gui.visualization.core.DefaultColorProvider -paintlet "adams.gui.visualization.spectrum.SpectrumPaintlet -always-show-markers false -anti-aliasing-enabled false" -plot-updater "adams.flow.sink.spectrumdisplay.SimplePlotUpdater -update-interval 50"
adams.flow.control.Tee -name "Output (2)"
adams.flow.transformer.SetVariable -var-name subdir -var-value Tuning
adams.flow.control.Trigger -name "Output folder etc"
adams.flow.source.Variable -var-name flow_dir -conversion adams.data.conversion.StringToString
adams.flow.transformer.AppendName -suffix output -use-forward-slashes true
adams.flow.transformer.MakeDir
adams.flow.transformer.AppendName -name "AppendName (3)" -suffix @{subdir} -use-forward-slashes true
adams.flow.transformer.MakeDir -name "MakeDir (2)"
adams.flow.transformer.SetVariable -var-name output_folder
adams.flow.transformer.AppendName -name "AppendName (2)" -suffix all.csv -use-forward-slashes true
adams.flow.transformer.SetVariable -name "SetVariable (2)" -var-name output_all_csv
adams.flow.control.Trigger -name "Output full spreadsheet"
adams.flow.source.StorageValue -storage-name output_spreadsheet -conversion adams.data.conversion.UnknownToUnknown
adams.flow.control.Breakpoint -skip true -scope-restriction adams.flow.execution.debug.NoScopeRestriction -condition adams.flow.condition.bool.Expression
adams.flow.sink.SpreadSheetFileWriter -output @{output_all_csv} -writer adams.data.io.output.CsvSpreadSheetWriter
adams.flow.control.Trigger -name "Per Target" -annotation "need to map the names with troublesome characters"
adams.flow.source.Variable -var-name targets -conversion adams.data.conversion.StringToString
adams.flow.transformer.StringSplit -expression ,
adams.flow.transformer.ArrayToSequence
adams.flow.transformer.SetVariable -name "SetVariable (2)" -var-name reference
adams.flow.control.Breakpoint -skip true -scope-restriction adams.flow.execution.debug.NoScopeRestriction -condition adams.flow.condition.bool.Expression
adams.flow.control.Tee -name "process for output"
adams.flow.control.Trigger -name "Folder and filename"
adams.flow.source.Variable -var-name output_folder -conversion adams.data.conversion.StringToString
adams.flow.transformer.AppendName -suffix @{reference} -use-forward-slashes true
adams.flow.transformer.MakeDir
adams.flow.transformer.AppendName -name "AppendName (3)" -suffix @{reference} -use-forward-slashes true
adams.flow.transformer.AppendName -name "AppendName (2)" -suffix .csv -no-separator true -use-forward-slashes true
adams.flow.transformer.SetVariable -var-name output_target_csv
adams.flow.control.Trigger -name "Make target column regex"
adams.flow.source.Variable -var-name reference -conversion adams.data.conversion.StringToString
adams.flow.transformer.StringReplace -find ^ -replace target_
adams.flow.transformer.SetVariable -var-name target
adams.flow.transformer.SimpleStringReplace -name "SimpleStringReplace (3)" -annotation ! -find ) -replace \\)
adams.flow.transformer.SimpleStringReplace -name "SimpleStringReplace (4)" -annotation ! -find ( -replace \\(
adams.flow.transformer.SimpleStringReplace -annotation ! -find % -replace \\%
adams.flow.transformer.SetVariable -name "SetVariable (2)" -var-name target_regex
adams.flow.control.Breakpoint -skip true -scope-restriction adams.flow.execution.debug.NoScopeRestriction -condition adams.flow.condition.bool.Expression
adams.flow.control.Trigger -name "Make and output Spreadsheet"
adams.flow.source.StorageValue -storage-name output_spreadsheet -conversion adams.data.conversion.UnknownToUnknown
adams.flow.transformer.SpreadSheetColumnFilter -finder "adams.data.spreadsheet.columnfinder.MultiColumnFinder -finder \"adams.data.spreadsheet.columnfinder.ByName -reg-exp sample_id\" -finder \"adams.data.spreadsheet.columnfinder.ByName -reg-exp \\\\\\\\d+?.*\" -finder \"adams.data.spreadsheet.columnfinder.ByName -reg-exp ^meta_.*$\" -finder \"adams.data.spreadsheet.columnfinder.ByName -reg-exp @{target_regex}\""
adams.flow.transformer.SpreadSheetReorderColumns -order @{re_order}
adams.flow.sink.SpreadSheetFileWriter -output @{output_target_csv} -writer adams.data.io.output.CsvSpreadSheetWriter
adams.flow.control.Tee -name "Val Ext"
adams.flow.transformer.SpreadSheetRowFilter -finder "adams.data.spreadsheet.rowfinder.ByValue -att-index 2 -reg-exp Set|Val.Ext"
adams.flow.transformer.Convert -conversion "adams.data.conversion.SpreadSheetRowsToSpectra -row-wave-number @{header_row} -cols-amplitude @{columns_with_amplitudes} -rows-amplitude @{rows_with_amplitudes} -row-sampledata-names @{header_row} -cols-sampledata @{columns_with_sampledata} -col-id @{column_with_id}"
adams.flow.transformer.ArrayToSequence
adams.flow.transformer.SetStorageValue -storage-name spectrum
adams.flow.control.Tee -name "turn into spreadsheet"
adams.flow.control.Once
adams.flow.transformer.SpectrumInfo -type NUM_WAVES
adams.flow.control.Tee -name add
adams.flow.transformer.MathExpression -expression X+1 -round-output true
adams.flow.transformer.SetVariable -var-name num_waves_plus1
adams.flow.transformer.MathExpression -name "MathExpression (2)" -expression X+1 -round-output true
adams.flow.transformer.SetVariable -name "SetVariable (2)" -var-name num_waves_plus2
adams.flow.transformer.MathExpression -name "MathExpression (3)" -expression X+1 -round-output true
adams.flow.transformer.SetVariable -name "SetVariable (3)" -var-name num_waves_plus3
adams.flow.control.Trigger -name "make re-order"
adams.flow.source.CombineVariables -expression 1,@{num_waves_plus3}-last,2-@{num_waves_plus1},@{num_waves_plus2} -conversion adams.data.conversion.StringToString
adams.flow.transformer.SetVariable -var-name re_order
adams.flow.transformer.SpreadSheetRowGenerator -generator "adams.data.spreadsheetrowgenerator.SimpleRowGenerator -add-sample-id true -wave-numbers-in-header true -reference-value @{field_array} -reference-value-prefix target_ -meta-data-field @{meta_field_array} -meta-data-prefix meta_"
adams.flow.transformer.SpreadSheetRowBuffer
adams.flow.transformer.SetStorageValue -storage-name output_spreadsheet
adams.flow.sink.SpectrumDisplay -display-type adams.flow.core.displaytype.Default -writer adams.gui.print.NullWriter -color-provider adams.gui.visualization.core.DefaultColorProvider -paintlet "adams.gui.visualization.spectrum.SpectrumPaintlet -always-show-markers false -anti-aliasing-enabled false" -plot-updater "adams.flow.sink.spectrumdisplay.SimplePlotUpdater -update-interval 50"
adams.flow.control.Tee -name "Output (3)"
adams.flow.transformer.SetVariable -var-name subdir -var-value Val
adams.flow.control.Trigger -name "Output folder etc"
adams.flow.source.Variable -var-name flow_dir -conversion adams.data.conversion.StringToString
adams.flow.transformer.AppendName -suffix output -use-forward-slashes true
adams.flow.transformer.MakeDir
adams.flow.transformer.AppendName -name "AppendName (3)" -suffix @{subdir} -use-forward-slashes true
adams.flow.transformer.MakeDir -name "MakeDir (2)"
adams.flow.transformer.SetVariable -var-name output_folder
adams.flow.transformer.AppendName -name "AppendName (2)" -suffix all.csv -use-forward-slashes true
adams.flow.transformer.SetVariable -name "SetVariable (2)" -var-name output_all_csv
adams.flow.control.Trigger -name "Output full spreadsheet"
adams.flow.source.StorageValue -storage-name output_spreadsheet -conversion adams.data.conversion.UnknownToUnknown
adams.flow.control.Breakpoint -skip true -scope-restriction adams.flow.execution.debug.NoScopeRestriction -condition adams.flow.condition.bool.Expression
adams.flow.sink.SpreadSheetFileWriter -output @{output_all_csv} -writer adams.data.io.output.CsvSpreadSheetWriter
adams.flow.control.Trigger -name "Per Target" -annotation "need to map the names with troublesome characters"
adams.flow.source.Variable -var-name targets -conversion adams.data.conversion.StringToString
adams.flow.transformer.StringSplit -expression ,
adams.flow.transformer.ArrayToSequence
adams.flow.transformer.SetVariable -name "SetVariable (2)" -var-name reference
adams.flow.control.Breakpoint -skip true -scope-restriction adams.flow.execution.debug.NoScopeRestriction -condition adams.flow.condition.bool.Expression
adams.flow.control.Tee -name "process for output"
adams.flow.control.Trigger -name "Folder and filename"
adams.flow.source.Variable -var-name output_folder -conversion adams.data.conversion.StringToString
adams.flow.transformer.AppendName -suffix @{reference} -use-forward-slashes true
adams.flow.transformer.MakeDir
adams.flow.transformer.AppendName -name "AppendName (3)" -suffix @{reference} -use-forward-slashes true
adams.flow.transformer.AppendName -name "AppendName (2)" -suffix .csv -no-separator true -use-forward-slashes true
adams.flow.transformer.SetVariable -var-name output_target_csv
adams.flow.control.Trigger -name "Make target column regex"
adams.flow.source.Variable -var-name reference -conversion adams.data.conversion.StringToString
adams.flow.transformer.StringReplace -find ^ -replace target_
adams.flow.transformer.SetVariable -var-name target
adams.flow.transformer.SimpleStringReplace -name "SimpleStringReplace (3)" -annotation ! -find ) -replace \\)
adams.flow.transformer.SimpleStringReplace -name "SimpleStringReplace (4)" -annotation ! -find ( -replace \\(
adams.flow.transformer.SimpleStringReplace -annotation ! -find % -replace \\%
adams.flow.transformer.SetVariable -name "SetVariable (2)" -var-name target_regex
adams.flow.control.Breakpoint -skip true -scope-restriction adams.flow.execution.debug.NoScopeRestriction -condition adams.flow.condition.bool.Expression
adams.flow.control.Trigger -name "Make and output Spreadsheet"
adams.flow.source.StorageValue -storage-name output_spreadsheet -conversion adams.data.conversion.UnknownToUnknown
adams.flow.transformer.SpreadSheetColumnFilter -finder "adams.data.spreadsheet.columnfinder.MultiColumnFinder -finder \"adams.data.spreadsheet.columnfinder.ByName -reg-exp sample_id\" -finder \"adams.data.spreadsheet.columnfinder.ByName -reg-exp \\\\\\\\d+?.*\" -finder \"adams.data.spreadsheet.columnfinder.ByName -reg-exp ^meta_.*$\" -finder \"adams.data.spreadsheet.columnfinder.ByName -reg-exp @{target_regex}\""
adams.flow.transformer.SpreadSheetReorderColumns -order @{re_order}
adams.flow.sink.SpreadSheetFileWriter -output @{output_target_csv} -writer adams.data.io.output.CsvSpreadSheetWriter