We've moved!
This site is now read-only. You can find our new documentation site and support forum for posting questions here.
Be sure to read our welcome blog!

Cromwell gets confused when there are jobs inside a scatter that interact with a job outside it

yfarjounyfarjoun Broad InstituteDev ✭✭✭
edited October 2019 in Computing Platforms

The following wdl seems legal to me but fails to validate with womtool-46

version 1.0

workflow testOddScatter{
    input{  
        Array[Int] ints = [1,2,3,4]
    }

    scatter (int in ints){
        call outInt{input:what=int}
    #}
    #scatter (int in ints){
        call outString {input:what=outArrayString.out}
    }

    call outArrayString {input:what=outInt.out}
}

task outInt {
    input {
    Int what
    }
    command {
        echo ~{what}
    }
    output {
        String out=read_string(stdout())
    }
}

task outString {
    input {
    String what
    }
    command {
        echo ~{what}
    }
    output {
        String out=read_string(stdout())
    }
}   

task outArrayString {
    input {
    Array[String] what
    }
    command {
        echo ~{sep=", " what}
    }
    output {
        String out=read_string(stdout())
    }
}    

uncommenting the two commented lines makes this validate, but if I understand correctly how the graph building works, this should not be needed.....

Sign In or Register to comment.