MAFFT is a multiple sequence alignment program for unix-like operating systems. It offers a range of multiple alignment methods, L-INS-i (accurate' for alignment of < ~200 sequences), FFT-NS-2 (fast; for alignment of < ~30000 sequences), etc
Allocate an interactive session and run the program. Sample session:
[user@biowulf]$ sinteractive --cpus-per-task=4 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 mafft [user@cn3144 ~]$ mafft --thread $SLURM_CPUS_PER_TASK $MAFFT_TEST_DATA/ex1 > outfile [user@cn3144 ~]$ exit salloc.exe: Relinquishing job allocation 46116226 [user@biowulf ~]$
Create a batch input file (e.g. batch.sh). For example:
#!/bin/bash set -e module load mafft mafft --thread $SLURM_CPUS_PER_TASK ex1 > outfile
Submit this job using the Slurm sbatch command.
sbatch --cpus-per-task=4 [--mem=#] batch.sh
Create a swarmfile (e.g. job.swarm). For example:
cd dir1; mafft --thread $SLURM_CPUS_PER_TASK ex1 > outfile cd dir2; mafft --thread $SLURM_CPUS_PER_TASK ex1 > outfile cd dir3; mafft --thread $SLURM_CPUS_PER_TASK ex1 > outfile cd dir4; mafft --thread $SLURM_CPUS_PER_TASK ex1 > outfile
Submit this job using the swarm command.
swarm -f job.swarm [-g #] -t 4 --module mafftwhere
-g # | Number of Gigabytes of memory required for each process (1 line in the swarm command file) |
-t # | Number of threads/CPUs required for each process (1 line in the swarm command file). |
--module | Loads the module for each subjob in the swarm |