Quick Start

Create a New Project

You can create a new project, with a sane directory structure by using

    hpcrunner.pl new MyNewProject

Submit Workflows

Simple Example

Our simplest example is a single job type with no dependencies - each task is independent of all other tasks.

Workflow file

    #preprocess.sh

    echo "preprocess" && sleep 10;
    echo "preprocess" && sleep 10;
    echo "preprocess" && sleep 10;

Submit to the scheduler

    hpcrunner.pl submit_jobs --infile preprocess.sh

Look at results!

    tree hpc-runner

Job Type Dependencency Declaration

Most of the time we have jobs that depend upon other jobs.

Workflow file

    #blastx.sh

    #HPC jobname=unzip
    unzip Sample1.zip
    unzip Sample2.zip
    unzip Sample3.zip

    #HPC jobname=blastx
    #HPC deps=unzip
    blastx --db env_nr --sample Sample1.fasta
    blastx --db env_nr --sample Sample2.fasta
    blastx --db env_nr --sample Sample3.fasta

Submit to the scheduler

    hpcrunner.pl submit_jobs --infile preprocess.sh

Look at results!

    tree hpc-runner

Task Dependencency Declaration

Within a job type we can declare dependencies on particular tasks.

Workflow file

    #blastx.sh

    #HPC jobname=unzip
    #TASK tags=Sample1
    unzip Sample1.zip
    #TASK tags=Sample2
    unzip Sample2.zip
    #TASK tags=Sample3
    unzip Sample3.zip

    #HPC jobname=blastx
    #HPC deps=unzip
    #TASK tags=Sample1
    blastx --db env_nr --sample Sample1.fasta
    #TASK tags=Sample2
    blastx --db env_nr --sample Sample2.fasta
    #TASK tags=Sample3
    blastx --db env_nr --sample Sample3.fasta

Submit to the scheduler

    hpcrunner.pl submit_jobs --infile preprocess.sh

Look at results!

    tree hpc-runner

Declare Scheduler Variables

Each scheduler has its own set of variables. HPC::Runner::Command has a set of generalized variables for declaring types across templates. For more information please see Job Scheduler Comparison

Additionally, for workflows with a large number of tasks, please see Considerations for Workflows with a Large Number of Tasks for information on how to group tasks together.

Workflow file

    #blastx.sh

    #HPC jobname=unzip
    #HPC cpus_per_task=1
    #HPC partition=serial
    #HPC commands_per_node=1
    #TASK tags=Sample1
    unzip Sample1.zip
    #TASK tags=Sample2
    unzip Sample2.zip
    #TASK tags=Sample3
    unzip Sample3.zip

    #HPC jobname=blastx
    #HPC cpus_per_task=6
    #HPC deps=unzip
    #TASK tags=Sample1
    blastx --threads 6 --db env_nr --sample Sample1.fasta
    #TASK tags=Sample2
    blastx --threads 6 --db env_nr --sample Sample2.fasta
    #TASK tags=Sample3
    blastx --threads 6 --db env_nr --sample Sample3.fasta

Submit to the scheduler

    hpcrunner.pl submit_jobs --infile preprocess.sh

Look at results!

    tree hpc-runner

results matching ""

    No results matching ""