cwlVersion: v1.2
class: Workflow

requirements:
  ScatterFeatureRequirement: {}

inputs:
  parentDir: Directory
  dirNamePattern: string
  collectedOut: string
  Index: File
  isSingle: boolean
  FragmentLength: double?  
  StandardDeviation: double?
  BootstrapSamples: int?  

steps:
  quant:
    run: kallisto-quant.cwl
    scatter:
      - InputReads
      - QuantOutfolder
    scatterMethod: dotproduct
    in:
      InputReads: listFiles/inDirFiles
      QuantOutfolder: listFiles/inDirBasename
      Index: Index
      isSingle: isSingle
      FragmentLength: FragmentLength 
      StandardDeviation: StandardDeviation
      BootstrapSamples: BootstrapSamples
    out: [outFolder]
  collect:
    run: ../_aux-tools/yield-dirInDestination.cwl
    scatter: inDir
    in:
      inDir: quant/outFolder
      destinationDir: collectedOut
    out: [outDir]

outputs:
  finalOut:
    type: Directory[]
    outputSource: collect/outDir