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.
Create a batch input file (e.g. batch.sh). For example:
#!/bin/bash
#SBATCH --job-name="abyss"
#SBATCH --mail-type=BEGIN,END
### sbatch --partition=multinode --ntasks=16 --nodes=2 --time=24:00:00 --mem=60g batch.sh
cd /data/$USER/abyss
module load abyss
`which abyss-pe` np=${SLURM_NTASKS} j=8 k=25 n=10 in='/data/$USER/File_1.fq /data/$USER/File_2.fq' name=OutputPrefix
Submit this job using the Slurm sbatch command.
sbatch --partition=multinode --ntasks=16 --nodes=2 --time=24:00:00 --mem=60g batch.sh
The job runs 16 tasks ( np=${SLURM_NTASKS} ) on 2 nodes with 8 (j=8) cpus each node.
Create a swarmfile (e.g. job.swarm). For example:
cd dir1;abyss-pe np=${SLURM_NTASKS} j=8 k=25 n=10 in='1.fq 2.fq' name=out
cd dir2;abyss-pe np=${SLURM_NTASKS} j=8 k=25 n=10 in='1.fq 2.fq' name=out
cd dir3;abyss-pe np=${SLURM_NTASKS} j=8 k=25 n=10 in='1.fq 2.fq' name=out
Submit this job using the swarm command.
swarm -f job.swarm --module abyss --sbatch "--partition=multinode --ntasks=16 --nodes=2 --time=24:00:00 --mem=60g"where
| --sbatch | use this flag to pass sbatch flags to swarm |
| --module | Loads the module for each subjob in the swarm |