Biowulf High Performance Computing at the NIH
Vasttools on Biowulf

Vertebrate Alternative Splicing and Transcription Tools (VAST-TOOLS) is a toolset for profiling and comparing alternative splicing events in RNA-Seq data. It is particularly suited for evolutionary comparisons.

Documentation

https://github.com/vastgroup/vast-tools

Important Notes
Submitting an interactive job

Allocate an interactive session and run the interactive job there.

[biowulf]$ sinteractive  --mem=10g  --cpus-per-task=4
salloc.exe: Granted job allocation 789523
salloc.exe: Waiting for resource configuration
salloc.exe: Nodes cn0135 are ready for job

[cn0135]$ cd /data/$USER/

[cn0135]$ module load vasttools

[cn0135]$ cp /usr/local/apps/vasttools/SRR7802623

[cn0135]$ vast-tools align SRR7802623.fastq -sp Hsa -c $SLURM_CPUS_PER_TASK --expr -o out

[cn0135]$ exit
salloc.exe: Job allocation 789523 has been revoked.
[biowulf]$

Note: this job allocates 10 GB of memory and automatically assign the number of cpus allocated (4 in this case) to the variable $SLURM_CPUS_PER_TASK.

Submitting a single batch job

1. Create a script file (myscript) similar to the one below.

#!/bin/bash 

cd /data/$USER/testData
module load vasttools
vast-tools align SRR7802623.fastq -sp Hsa -c $SLURM_CPUS_PER_TASK --expr -o out

2. Submit the script on biowulf:

[biowulf]$ sbatch --mem=10g --cpus-per-task=4  myscript

Using Swarm

Using the 'swarm' utility, one can submit many jobs to the cluster to run concurrently.

Set up a swarm command file (eg /data/$USER/cmdfile).

cd /data/$USER/dir1; vast-tools align SRR7802623.fastq -sp Hsa -c $SLURM_CPUS_PER_TASK --expr -o out
cd /data/$USER/dir2; vast-tools align SRR7802623.fastq -sp Hsa -c $SLURM_CPUS_PER_TASK --expr -o out
cd /data/$USER/dir3; vast-tools align SRR7802623.fastq -sp Hsa -c $SLURM_CPUS_PER_TASK --expr -o out
...
cd /data/$USER/dir20; vast-tools align SRR7802623.fastq -sp Hsa -c $SLURM_CPUS_PER_TASK --expr -o out

submit the swarm job:

$ swarm -f cmdfile --module hint -g 10 -t 4

For more information regarding running swarm, see swarm.html