We've moved!
For WDL questions, see the WDL specification and WDL docs.
For Cromwell questions, see the Cromwell docs and please post any issues on Github.

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: "quay.io/biocontainers/vt:2015.11.10--2"

  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.