version 1.0

task sample {
    input {
        File sequenceFile
        String? outFilePath = "subsampledReads.fq.gz"
        String? preCommand
        Int? seed
        Boolean? twoPassMode
        Float? fraction
        Int? number
        Boolean? zip = true
    }

    command {
        set -e -o pipefail
        ~{'mkdir -p $(dirname ' + outFilePath + ')'}
        ~{preCommand}
        seqtk sample \
        ~{"-s " + seed} \
        ~{true="-2 " false="" twoPassMode} \
        ~{sequenceFile} \
        ~{number} ~{fraction} \
        ~{true="| gzip" false="" zip} \
        ~{"> " + outFilePath}
    }

    output {
        File subsampledReads= select_first([outFilePath])
    }
}