@@ -6,7 +6,7 @@ task Fetch_SRA_to_BAM {
66 String SRA_ID
77
88 Int ? machine_mem_gb
9- String docker = "quay.io/broadinstitute/ncbi-tools:2.10.7.1 "
9+ String docker = "quay.io/broadinstitute/ncbi-tools:2.10.7.2 "
1010 }
1111
1212 command <<<
@@ -139,6 +139,141 @@ task Fetch_SRA_to_BAM {
139139 }
140140}
141141
142+ task fetch_biosamples {
143+
144+ input {
145+ Array [String ] biosample_ids
146+
147+ String out_basename = "biosample_attributes"
148+ String docker = "quay.io/broadinstitute/ncbi-tools:2.10.7.2"
149+ }
150+
151+ command <<<
152+ set -e
153+ /opt/docker/scripts/biosample-fetch_attributes.py \
154+ ~{sep =' ' biosample_ids } "~{out_basename}"
155+ >>>
156+
157+ output {
158+ File biosample_attributes_tsv = "~{out_basename }.tsv"
159+ File biosample_attributes_json = "~{out_basename }.json"
160+ }
161+
162+ runtime {
163+ cpu : 2
164+ memory : "3 GB"
165+ disks : "local-disk 50 HDD"
166+ dx_instance_type : "mem2_ssd1_v2_x2"
167+ docker : docker
168+ }
169+ }
170+
171+ task ncbi_ftp_upload {
172+ input {
173+ Array [File ] submit_files
174+ File config_js
175+ String target_path
176+
177+ String wait_for ="1" # all, disabled, some number
178+
179+ String docker = "quay.io/broadinstitute/ncbi-tools:2.10.7.2"
180+ }
181+
182+ command <<<
183+ set -e
184+ cd /opt/converter
185+ cp "~{config_js}" src /
186+ rm -f files/sample.tsv reports/sample-report.xml
187+ cp ~{sep =' ' submit_files } files /
188+ MANIFEST = $(ls -1 files | paste -sd ,)
189+ echo "uploading: $MANIFEST to destination ftp folder ~{target_path}"
190+ node src/main.js --debug \
191+ --uploadFiles ="$MANIFEST " \
192+ --poll ="~{wait_for}" \
193+ --uploadFolder ="~{target_path}"
194+ cd -
195+ cp /opt/converter/reports /*report *.xml .
196+ ls -alF files reports
197+ >>>
198+
199+ output {
200+ Array [File ] reports_xmls = glob ("*report*.xml" )
201+ }
202+
203+ runtime {
204+ cpu : 2
205+ memory : "2 GB"
206+ disks : "local-disk 100 HDD"
207+ dx_instance_type : "mem2_ssd1_v2_x2"
208+ docker : docker
209+ }
210+ }
211+
212+ task biosample_submit_tsv_to_xml {
213+ input {
214+ File meta_submit_tsv
215+ File config_js
216+
217+ String docker = "quay.io/broadinstitute/ncbi-tools:2.10.7.2"
218+ }
219+ command <<<
220+ set -e
221+ cd /opt/converter
222+ cp "~{config_js}" src /
223+ rm files/sample.tsv
224+ cp "~{meta_submit_tsv}" files /
225+ node src/main.js --debug \
226+ -i =$(basename "~{meta_submit_tsv}" ) \
227+ --runTestMode =true
228+ cd -
229+ cp "/opt/converter/files/~{basename(meta_submit_tsv, '.tsv')}-submission.xml" .
230+ >>>
231+ output {
232+ File submission_xml = "~{basename (meta_submit_tsv , '.tsv' )}-submission.xml"
233+ }
234+ runtime {
235+ cpu : 2
236+ memory : "2 GB"
237+ disks : "local-disk 100 HDD"
238+ dx_instance_type : "mem2_ssd1_v2_x2"
239+ docker : docker
240+ }
241+ }
242+
243+ task biosample_submit_tsv_ftp_upload {
244+ input {
245+ File meta_submit_tsv
246+ File config_js
247+ String target_path
248+
249+ String docker = "quay.io/broadinstitute/ncbi-tools:2.10.7.2"
250+ }
251+ String base =basename (meta_submit_tsv , '.tsv' )
252+ command <<<
253+ set -e
254+ cd /opt/converter
255+ cp "~{config_js}" src /
256+ rm -f files/sample.tsv reports/sample-report.xml
257+ cp "~{meta_submit_tsv}" files /
258+ node src/main.js --debug \
259+ -i =$(basename "~{meta_submit_tsv}" ) \
260+ --uploadFolder ="~{target_path}"
261+ cd -
262+ cp /opt/converter/reports /~{base }-attributes.tsv /opt/converter/files /~{base }-submission.xml /opt/converter/reports /~{base }-report .*.xml .
263+ >>>
264+ output {
265+ File attributes_tsv = "~{base }-attributes.tsv"
266+ File submission_xml = "~{base }-submission.xml"
267+ Array [File ] reports_xmls = glob ("~{base }-report.*.xml" )
268+ }
269+ runtime {
270+ cpu : 2
271+ memory : "2 GB"
272+ disks : "local-disk 100 HDD"
273+ dx_instance_type : "mem2_ssd1_v2_x2"
274+ docker : docker
275+ }
276+ }
142277
143278task group_sra_bams_by_biosample {
144279 input {
0 commit comments