params {
  refSource = "aws"
}

workDir = 's3://gudmap-rbk.output/work'
aws.client.storageEncryption = 'AES256'
aws {
  region = 'us-east-2'
  batch {
    cliPath = '/home/ec2-user/miniconda/bin/aws'
  }
}

process {
  executor = 'awsbatch'
  cpus = 1
  memory = '1 GB'

  withName:trackStart {
    cpus = 1
    memory = '1 GB'
  }
  withName:getBag {
    cpus = 1
    memory = '1 GB'
  }
  withName:getData {
    cpus = 1
    memory = '1 GB'
  }
  withName:parseMetadata {
    cpus = 15
    memory = '1 GB'
  }
  withName:trimData {
    cpus = 20
    memory = '2 GB'
  }
  withName:getRefInfer {
    cpus = 1
    memory = '1 GB'
  }
  withName:downsampleData {
    cpus = 1
    memory = '1 GB'
  }
  withName:alignSampleData {
    cpus = 50
    memory = '5 GB'
  }
  withName:inferMetadata {
    cpus = 5
    memory = '1 GB'
  }
  withName:checkMetadata {
    cpus = 1
    memory = '1 GB'
  }
  withName:getRef {
    cpus = 1
    memory = '1 GB'
  }
  withName:alignData {
    cpus = 50
    memory = '10 GB'
  }
  withName:dedupData {
    cpus = 5
    memory = '20 GB'
  }
  withName:countData {
    cpus = 2
    memory = '5 GB'
  }
  withName:makeBigWig {
    cpus = 15
    memory = '5 GB'
  }
  withName:fastqc {
    cpus = 1
    memory = '1 GB'
  }
  withName:dataQC {
    cpus = 15
    memory = '2 GB'
  }
  withName:aggrQC {
    cpus = 2
    memory = '1 GB'
  }
  withName:uploadInputBag {
    cpus = 1
    memory = '1 GB'
  }
  withName:uploadExecutionRun {
    cpus = 1
    memory = '1 GB'
  }
  withName:uploadQC {
    cpus = 1
    memory = '1 GB'
  }
  withName:uploadProcessedFile {
    cpus = 1
    memory = '1 GB'
  }
  withName:uploadOutputBag {
    cpus = 1
    memory = '1 GB'
  }
  withName:finalizeExecutionRun {
    cpus = 1
    memory = '1 GB'
  }
  withName:failPreExecutionRun {
    cpus = 1
    memory = '1 GB'
  }
  withName:failExecutionRun {
    cpus = 1
    memory = '1 GB'
  }
  withName:uploadQC_fail {
    cpus = 1
    memory = '1 GB'
  }
}