Skip to content

hotsub.yaml #122

@otiai10

Description

@otiai10

Because

  • Making runner.sh for each workflow is redundant
  • Validation task files is redundant
  • Checking if the shell script satisfy required params is difficult

I want to

hotsub up {-f ./hotsub.yaml}

to start up hotsub command with arguments described in hotsub.yaml,

hotsub gen_task -n 1:10 {-o ./my-task.csv} {-e BUCKET=s3://mybucket}

to generate task files with headers/columns described in hotsub.yaml like

task:
  columns:
    INDEX:
      type: --env
      printf: %02d
    FASTQ_1:
      type: --input
      printf: ${BUCKET}/%02d/read_1.fastq
    FASTQ_2:
      type: --input
      printf: ${BUCKET}/%02d/read_2.fastq
    REFERENCE:
      type: --input-recursive
      printf: ${BUCKET}/reference/GRCh37

and validate shell script and task file with

hotsub validate {-f hotsub.yaml} --tasks ./my-tasks.csv --script ./main.sh

therefore, hotsub.yaml should look like

name: My Awesome Task
description: This is my awesome task
image:
  name: otiai10/star-alignment
script:
  expect: ./main.sh
  content: >-
echo "READ_1: ${READ_1}"
echo "READ_2: ${READ_2}"

STAR \
  --runMode alignReads \
  --runThreadN 12 \
  --outFileNamePrefix ${OUTDIR}/ \
  --readFilesIn ${READ_1} ${READ_2}

echo "DONE ${INDEX}"
task:
  columns:
    INDEX:
      type: --env
      printf: %02d
    READ_1:
      type: --input
      printf: ${BUCKET}/%02d/read_1.fastq
    READ_2:
      type: --input
      printf: ${BUCKET}/%02d/read_2.fastq
    REFERENCE:
      type: --input-recursive
      printf: ${BUCKET}/reference/GRCh37
    OUTDIR:
      type: --output-recursive
      printf: ${BUCKET}/output

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions