cannot find reference for member access


I'm trying to build workflow to scatter genotyping over regions, but I keep getting the following error. I'm not sure how to fix it. Neither my editor nor womtool can give me more info.

Womtool validate Error:

ERROR: Cannot find reference to 'jGT' for member access 'jGT.GenomicsDBImport' (line 24, col 37):

             InputGDB         = jGT.GenomicsDBImport.genomicsDB,


import "jointGenoType.wdl" as jGT

workflow EOG {

  File RefFasta
  File RegionsFile
  File InputSamplesFile
  String MergedVCFname
  File? dbSNP

  scatter (region in read_lines("${RegionsFile}")){
    call jGT.ParseBedRegion{
      input: BedRegion = region

    call jGT.GenomicsDBImport{
      input: RefFasta         = RefFasta,
             InputSamplesFile = InputSamplesFile,
             Region           = jGT.ParseBedRegion.region

    call jGT.GenotypeFromGenomicsDB{
      input: RefFasta         = RefFasta,
             InputGDB         = jGT.GenomicsDBImport.genomicsDB,
             dbSNP            = dbSNP

  call jGT.GatherVCF{
    input: RefFasta      = RefFasta,
           OutputVCFname = MergedVCFname,
           InputVCFs     = jGT.GenotypeFromGenomicsDB.OutputVCF

  call decompose_normalize{
    input: RefFasta      = RefFasta,
           InputVCF      = jGT.GatherVCF.OutputVCF

  call jGT.MakeSitesOnlyVCF{
    input: RefFasta = RefFasta,
           InputVCF = decompose_normalize.OutputVCF

task decompose_normalize{
  File InputVCF
  File RefFasta
  String OutputVCFname = sub(InputVCF, "\\.*", "_decomposed.vcf.gz")

    vt decompose \
      -s ${InputVCF} \
    | vt normalize \
    -r ${RefFasta}  - \
    | bgzip -c ${OutputVCFname}

   runtime {
    docker: ""

  output {
    File OutputVCF = OutputVCFname

Also, since this is my first workflow, all protips are very welcome.


Best Answer


  • RuchiRuchi Member, Broadie, Moderator, Dev admin

    Hey @matdmset,

    My apologies for the long delay.

    This sounds like a bug, and I've reported it here. Meanwhile, if you use a call alias, for example:
    call jGT.ParseBedRegion{ --> call jGT.ParseBedRegion as parseBedRegion {
    Region = jGT.ParseBedRegion.region --> Region = parseBedRegion.region

    Applying this type of change to all the imported tasks from jointGenoType.wdl should get this validated by Womtool.


Sign In or Register to comment.