Biowulf High Performance Computing at the NIH
Abyss on HPC

ABySS is a de novo, parallel, paired-end sequence assembler that is designed for short reads. The parallel version is implemented using MPI and is capable of assembling larger genomes.

References:

Documentation
Important Notes

Interactive job
Interactive jobs should be used for debugging, graphics, or applications that cannot be run as batch jobs.

Allocate an interactive session and run the program. Sample session:

[user@biowulf]$ sinteractive --ntasks=80 --time=24:00:00 --mem=80g
salloc.exe: Pending job allocation 46116226
salloc.exe: job 46116226 queued and waiting for resources
salloc.exe: job 46116226 has been allocated resources
salloc.exe: Granted job allocation 46116226
salloc.exe: Waiting for resource configuration
salloc.exe: Nodes cn3144 are ready for job

[user@cn3144 ~]$ module load abyss
[user@cn3144 ~]$ abyss-pe np=$SLURM_NTASKS k=25 n=10 in='IN1.fq IN2.fq' name=AnyName
[user@cn3144 ~]$ exit
salloc.exe: Relinquishing job allocation 46116226
[user@biowulf ~]$
$SLURM_NTASKS will be automatically replaced by the number specified in --ntasks flag.

Batch job
Most jobs should be run as batch jobs.

Create a batch input file (e.g. batch.sh). For example:

#!/bin/bash
set -e
module load abyss
abyss-pe np=$SLURM_NTASKS k=25 n=10 in='IN1.fq IN2.fq' name=AnyName

Submit this job using the Slurm sbatch command.

sbatch --ntasks=80 --time=24:00:00 --mem=80g batch.sh
Swarm of Jobs
A swarm of jobs is an easy way to submit a set of independent commands requiring identical resources.

Create a swarmfile (e.g. job.swarm). For example:

cd dir1;abyss-pe np=$SLURM_NTASKS k=25 n=10 in='IN1.fq IN2.fq' name=AnyName
cd dir2;abyss-pe np=$SLURM_NTASKS k=25 n=10 in='IN1.fq IN2.fq' name=AnyName
cd dir3;abyss-pe np=$SLURM_NTASKS k=25 n=10 in='IN1.fq IN2.fq' name=AnyName

Submit this job using the swarm command.

swarm -f job.swarm --module abyss --sbatch "--ntasks=80 --time=24:00:00 --mem=80g"
where
--sbatch use this flag to pass sbatch flags to swarm
--module Loads the module for each subjob in the swarm