BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files. It was developed by Derek Barnett in the Marth lab at Boston College.
Allocate an interactive session and run the program. Sample session:
[user@biowulf]$ sinteractive 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 bamtools [user@cn3144 ~]$ bamtools convert -format fastq -in in.bam -out out.fastq [user@cn3144 ~]$ exit salloc.exe: Relinquishing job allocation 46116226 [user@biowulf ~]$
Create a batch input file (e.g. bamtools.sh). For example:
#!/bin/bash set -e module load bamtools bamtools convert -format fastq -in in.bam -out out.fastq
Submit this job using the Slurm sbatch command.
sbatch [--mem=#] bamtools.sh
Create a swarmfile (e.g. bamtools.swarm). For example:
cd dir1; bamtools convert -format fastq -in in.bam -out out.fastq cd dir2; bamtools convert -format fastq -in in.bam -out out.fastq cd dir3; bamtools convert -format fastq -in in.bam -out out.fastq
Submit this job using the swarm command.
swarm -f bamtools.swarm [-g #] --module bamtoolswhere
-g # | Number of Gigabytes of memory required for each process (1 line in the swarm command file) |
--module bamtools | Loads the bamtools module for each subjob in the swarm |