Delocalization not working when using Structs as outputs
See original GitHub issueI could not find on WDL spec something saying that structs could not be used as outputs… so I decide to report here.
This is an example I prepared:
version 1.0
struct Test {
String name
File path
}
struct Collection {
Array[Test] samples
}
task GenerateComplexObject {
input {
Int items
}
command <<<
python <<CODE
import sys
import os
import json
items = []
for item in range(0, ~{items}):
name = f"test{item}.txt"
os.system(f"echo 'some content' > {name}")
items.append({"name": f"item-{item}", "path": name})
with open("results.json", "w") as fh:
json.dump({'samples': items}, fh)
CODE
>>>
runtime {
docker: "python:3.8"
memory: "1 GB"
cpu: 1
preemptible: 3
disks: "local-disk " + 10 + " HDD"
}
output {
Collection results = read_json("results.json")
}
}
workflow TestStruct {
input {
Int items
}
call GenerateComplexObject {
input:
items=items
}
output {
Collection out = GenerateComplexObject.results
}
}
When using local backend I have no problem, but when using PAPIv2 (cromwell.backend.google.pipelines.v2alpha1.PipelinesApiLifecycleActorFactory
) the files from Test
struct (path) do not delocalize.
gsutil ls gs://********/TestaStruct/47bc869c-041f-443d-b0bd-d45a1dd203ff/call-GenerateComplexObject/
gs://********/TestaStruct/47bc869c-041f-443d-b0bd-d45a1dd203ff/call-GenerateComplexObject/GenerateComplexObject.log
gs://********/TestaStruct/47bc869c-041f-443d-b0bd-d45a1dd203ff/call-GenerateComplexObject/gcs_delocalization.sh
gs://********/TestaStruct/47bc869c-041f-443d-b0bd-d45a1dd203ff/call-GenerateComplexObject/gcs_localization.sh
gs://********/TestaStruct/47bc869c-041f-443d-b0bd-d45a1dd203ff/call-GenerateComplexObject/gcs_transfer.sh
gs://********/TestaStruct/47bc869c-041f-443d-b0bd-d45a1dd203ff/call-GenerateComplexObject/rc
gs://********/TestaStruct/47bc869c-041f-443d-b0bd-d45a1dd203ff/call-GenerateComplexObject/results.json
gs://********/TestaStruct/47bc869c-041f-443d-b0bd-d45a1dd203ff/call-GenerateComplexObject/script
gs://********/TestaStruct/47bc869c-041f-443d-b0bd-d45a1dd203ff/call-GenerateComplexObject/stderr
gs://********/TestaStruct/47bc869c-041f-443d-b0bd-d45a1dd203ff/call-GenerateComplexObject/stdout
gs://********/TestaStruct/47bc869c-041f-443d-b0bd-d45a1dd203ff/call-GenerateComplexObject/pipelines-logs/
Is it possible to use structs as intended on the example? I’m using Cromwell 52, do not know if it works in previous versions.
Issue Analytics
- State:
- Created 3 years ago
- Reactions:4
- Comments:5 (3 by maintainers)
Top Results From Across the Web
Dealing with Delocalization | Depth-First
It can work for problems like exact structure match, but fails in any context that treats atomic hydrogen count, subvalence, or hybridization as ......
Read more >Correcting pi-delocalization errors in conformational energies ...
Correcting pi-delocalization errors in conformational energies using density-corrected DFT, with application to crystal polymorphs.
Read more >Delocalization of exciton and electron wavefunction in non ...
Therefore, in this report, we study Y6-based OSCs using a combination of single-crystal investigations, thin film morphology analysis (grazing ...
Read more >Bonding Character, Electron Delocalization, and Aromaticity of ...
So, in this work, the bonding character and electron delocalization of three C18 precursors, C18-(CO)n (n=6, 4, and 2), are analyzed in ...
Read more >Electron Delocalization - an overview | ScienceDirect Topics
Molecular geometry as a source of electronic structure of π-electron systems and ... To some extent, problems with HOMA may arise from (i)...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I created a bug issue in our Jira issue tracker: https://broadworkbench.atlassian.net/browse/WA-358
Still experiencing this problem. It seems we cannot use
Array[File]
insidestruct
s for now.You can easily see an error happening when running a simple workflow like this. As long as you have an
Array[File]
inside astruct
, it will keep on failing. In my case, I’m usingversion development
, and the last task on the workflow simply gets stuck with statusRunning
while the workflow itself moves to statusAborting
and stays stuck permanently inAborting
(never actually moving its status toAborted
).Experienced this issue with Cromwell versions 63 and 74, while using GCP lifescience v2 backend.