Skip to content

Commit 5d8004d

Browse files
committed
dockstore
1 parent 8221cdc commit 5d8004d

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed

.dockstore.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,12 @@ workflows:
244244
- name: scaffold_and_refine_multitaxa
245245
subclass: WDL
246246
primaryDescriptorPath: /pipes/WDL/workflows/scaffold_and_refine_multitaxa.wdl
247+
- name: submit_biosample
248+
subclass: WDL
249+
primaryDescriptorPath: /pipes/WDL/workflows/submit_biosample.wdl
250+
- name: submit_genbank
251+
subclass: WDL
252+
primaryDescriptorPath: /pipes/WDL/workflows/submit_genbank.wdl
247253
- name: submit_sra
248254
subclass: WDL
249255
primaryDescriptorPath: /pipes/WDL/workflows/submit_sra.wdl
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
version 1.0
2+
3+
import "../tasks/tasks_ncbi_tools.wdl" as ncbi_tools
4+
import "../tasks/tasks_utils.wdl" as utils
5+
6+
workflow submit_biosample {
7+
meta {
8+
description: "Register samples with NCBI BioSample. Return attributes table."
9+
author: "Broad Viral Genomics"
10+
email: "viral-ngs@broadinstitute.org"
11+
allowNestedInputs: true
12+
}
13+
14+
input {
15+
File biosample_submit_tsv
16+
File ftp_config_js
17+
String prod_test = "Production" # Production or Test
18+
}
19+
20+
call utils.md5sum {
21+
input:
22+
in_file = biosample_submit_tsv
23+
}
24+
25+
# see if anything already exists in NCBI
26+
call ncbi_tools.biosample_tsv_filter_preexisting {
27+
input:
28+
meta_submit_tsv = biosample_submit_tsv,
29+
out_basename = basename(biosample_submit_tsv, '.tsv')
30+
}
31+
32+
# register anything that isn't already in NCBI
33+
if (biosample_tsv_filter_preexisting.num_not_found > 0) {
34+
call ncbi_tools.biosample_submit_tsv_ftp_upload {
35+
input:
36+
meta_submit_tsv = biosample_tsv_filter_preexisting.meta_unsubmitted_tsv,
37+
config_js = ftp_config_js,
38+
target_path = "/~{prod_test}/biosample/~{basename(biosample_submit_tsv, '.tsv')}/~{md5sum.md5}"
39+
}
40+
}
41+
42+
# merge all results and attributes
43+
call utils.tsv_join {
44+
input:
45+
input_tsvs = select_all([
46+
biosample_tsv_filter_preexisting.biosample_attributes_tsv,
47+
biosample_submit_tsv_ftp_upload.attributes_tsv,
48+
biosample_submit_tsv
49+
]),
50+
id_col = "isolate",
51+
out_basename = basename(biosample_submit_tsv, '.tsv') + "-attributes"
52+
}
53+
54+
output {
55+
File biosample_attributes = tsv_join.out_tsv
56+
}
57+
}

0 commit comments

Comments
 (0)