question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Pass inputs to subworkflow in inputs.json

See original GitHub issue

I am trying to run a workflow with a subworkflow that has some workflow level inputs. Somethign along the lines of

Workflow subWorkflow {

File f
String s
...
...
}
import "file/path/subworkflow.wdl" as sub

workflow root {
call sub.subWorkflow as aliasSub
}

When I try to pass the values for File f and String s from the inputs json I get an failure message.

To make sure I was giving the workflow the correct inputs json I first ran it with bad inputs on purpose and got expected failures

status: "Failed",
failures: [
{
causedBy: [
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.ref_pac' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.agg_preemptible_tries' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.ref_ann' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.wgs_coverage_interval_list' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.ref_fasta_index' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.unmapped_bam_suffix' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.contamination_sites_ud' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.ref_amb' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.preemptible_tries' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.ref_sa' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.known_indels_sites_VCFs' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.contamination_sites_mu' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.ref_alt' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.ref_bwt' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.known_indels_sites_indices' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.ref_dict' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.contamination_sites_bed' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.ref_fasta' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.dbSNP_vcf_index' not specified."
},
{
causedBy: [ ],
message: "Required workflow input 'SomaticRoot.TumorAlignment.dbSNP_vcf' not specified."
}
],
message: "Workflow input processing failed"
}
],

But once I filled these out in my inputs json I then got this error

[
{
causedBy: [
{
causedBy: [ ],
message: "Missing inputs for subworkflow call SomaticRoot.TumorAlignment at index None: read_length, ref_fasta, agg_preemptible_tries, ref_dict, haplotype_database_file, ref_alt, ref_ann, known_indels_sites_indices, dbSNP_vcf, ref_sa, dbSNP_vcf_index, unmapped_bam_suffix, ref_amb, contamination_sites_ud, contamination_sites_bed, ref_bwt, ref_fasta_index, increase_disk_size, fingerprint_genotypes_file, preemptible_tries, known_indels_sites_VCFs, contamination_sites_mu, wgs_coverage_interval_list, ref_pac."
}
],
message: "Couldn't resolve all inputs for SomaticRoot.TumorAlignment at index None."
}
],

I think I’m passing in everything correctly but it could be an error on my part as well.

Issue Analytics

  • State:open
  • Created 6 years ago
  • Comments:14 (7 by maintainers)

github_iconTop GitHub Comments

2reactions
eganlohmancommented, Feb 21, 2019

@ruchim - I know you said 3-6 months from Nov. Just curious if this issue has been picked up yet for active dev? Percolating sub-workflow task inputs all the way up to the root workflow is a major pain.

1reaction
rhpvordermancommented, May 9, 2019

I ran in this issue this week and it requires some quite nasty and ugly workarounds. So it would be great if this could be fixed. What I can grok from the code in Cromwell is that the node structure only considers tasks as ExternalInputNode. These have inputs that can be overwritten. Other nodes may be considered OuterGraphInputNode. Basically everything that is not an ExternalInputNode can not be considered for options that can be overridden.

I feel there is a lot of technical decisions being made in this piece of code. Without knowing all the reasons why decisions are made it will be very hard to solve this in a PR for an outside contributor. It is hard to find the place in which to edit code in this case. I would love to take some work of cromwell’s developers hands, but I need more guidance to do so. @ruchim can I help out in any way in the effort to solve this issue?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Pass a variable from a workflow to a subflow - ServiceNow Docs
Use this process to pass variables from a parent workflow to a subflow. ... Add nodeless NLU entities as input variables to a...
Read more >
Subworkflows | Workflows - Google Cloud
The two steps supply different inputs for the arguments first_name and last_name , which are then passed to the subworkflow. The subworkflow name_message...
Read more >
Pass Parameters to Execute Workflow - Questions - n8n
Is there a way to pass variables to a “Sub workflow”? ... The input data of the “Execute Workflow Node” is at the...
Read more >
Sub Workflow Task | Orkes Conductor Documentation
inputParameters, Map[String, Any], The sub workflow's input can be coupled to the workflow's input parameters or it can be invoked from the output...
Read more >
Dynamic Fork - Conductor Documentation
The input parameters that will be supplied to this task. dynamicForkTasksParam, This is a JSON array of tasks or sub-workflow objects that needs...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found