Logging variable values at each stage of the workflow

MigwellMigwell Member

I have a workflow with some complexity, but one of the stages is getting the wrong input. Is there any way to list the input variables to each call statement? Either from the Cromwell logs, or by adding something to the workflow?

My example workflow is this, and the sortBam stage is the one I would like to debug:

workflow mutect2 {
  Array[File] tumourSamples
  Array[File] normalSamples
  File gatk
  File genomeReference
  Array[File] genomeIndices
  Array[Map[String, String]] samples = [{"id": "tumour", "read1": tumourSamples[0], "read2": tumourSamples[1]}, {"id": "normal", "read1": normalSamples[0], "read2": normalSamples[1]}] #zip(['Tumour', 'Normal'], [tumourSamples, normalSamples])

  scatter (sample in samples){
    call align {input: read1=sample["read1"], read2=sample["read2"], sampleName=sample["id"], reference=genomeReference, referenceIndices=genomeIndices}
    call sortBam {input: unsortedBam=align.bam, sampleName=sample["id"]}
  } 
  call callVariants {input: tumourBam=sortBam.sortedBam[0], normalBam=sortBam.sortedBam[1], genomeReference=genomeReference, gatk=gatk, referenceIndices=genomeIndices}
}

I'm hoping to get some output like:

[
  {
    unsortedBam="normal.bam",
    sampleName="normal"
  },
  {
    unsortedBam="tumour.bam",
    sampleName="tumour"
  }
]
Tagged:

Best Answer

Answers

  • Thanks for pointing out the metadata endpoint, that answers my question. Although /metadata doesn't seem to list the actual commands that are being run, which might also be helpful. Is this stored anywhere?

Sign In or Register to comment.