cwlVersion: v1.1 class: CommandLineTool label: Gather GVCFs requirements: DockerRequirement: dockerPull: broadinstitute/gatk:4.1.7.0 ShellCommandRequirement: {} InlineJavascriptRequirement: {} hints: ResourceRequirement: ramMin: 20000 coresMin: 4 arv:RuntimeConstraints: outputDirType: keep_output_dir inputs: gvcfarray: type: File[] format: edam:format_3016 # GVCF label: GVCFs for given intervals sample: type: string label: Sample Name reference: type: File format: edam:format_1929 # FASTA label: Reference genome secondaryFiles: - .amb - .ann - .bwt - .pac - .sa - .fai - ^.dict outputs: gatheredgvcf: type: File format: edam:format_3016 # GVCF label: Gathered GVC secondaryFiles: - .tbi outputBinding: glob: "*.g.vcf.gz" baseCommand: /gatk/gatk arguments: - "--java-options" - "-Xmx8G" - MergeVcfs - shellQuote: false valueFrom: | ${function compare(a, b) { var baseA = a.basename; var baseB = b.basename; var comparison = 0; if (baseA > baseB) { comparison = 1; } else if (baseA < baseB) { comparison = -1; } return comparison; } var sortedarray = []; sortedarray = inputs.gvcfarray.sort(compare) var samples = []; for (var i = 0; i < sortedarray.length; i++) { var name = sortedarray[i]; if (name.nameext ==='.gz' ) { samples.push(name.path); } } var sampleinput = ""; for (var i = 0; i < samples.length; i++) { var s1 = samples[i]; sampleinput = sampleinput + "-I " + s1 + " " } return sampleinput; } - prefix: "-O" valueFrom: $(inputs.sample).g.vcf.gz s:codeRepository: https://github.com/arvados/arvados-tutorial s:license: https://www.gnu.org/licenses/agpl-3.0.en.html $namespaces: s: https://schema.org/ edam: http://edamontology.org/ arv: "http://arvados.org/cwl#" cwltool: "http://commonwl.org/cwltool#" #$schemas: # - https://schema.org/version/latest/schema.rdf # - http://edamontology.org/EDAM_1.18.owl