.. _backbone-label: ########## Samtools ########## ************** Introduction ************** Samtools is a set of utilities for the Sequence Alignment/Map (SAM) format. ********** Versions ********** - 1.16 - 1.17 If you require a version newer than these two, please visit the `Samtools download and installation page `_ As of 2024-12-10, the latest version available is 1.21. ********** Commands ********** - ace2sam - blast2sam.pl - bowtie2sam.pl - export2sam.pl - fasta-sanitize.pl - interpolate_sam.pl - maq2sam-long - maq2sam-short - md5fa - md5sum-lite - novo2sam.pl - plot-ampliconstats - plot-bamstats - psl2sam.pl - sam2vcf.pl - samtools - samtools.pl - seq_cache_populate.pl - soap2sam.pl - wgsim - wgsim_eval.pl - zoom2sam.pl ************* Example job ************* Adjust slurm options based on job requirements (`slurm cheat sheet `_): .. code:: #!/bin/bash #SBATCH -p partitionName # batch, gpu, preempt, mpi or your group's own partition #SBATCH -t 1:00:00 # Runtime limit (D-HH:MM:SS) #SBATCH -N 1 # Number of nodes #SBATCH -n 1 # Number of tasks per node #SBATCH -c 4 # Number of CPU cores per task #SBATCH --mem=8G # Memory required per node #SBATCH --job-name=samtools # Job name #SBATCH --mail-type=FAIL,BEGIN,END # Send an email when job fails, begins, and finishes #SBATCH --mail-user=your.email@tufts.edu # Email address for notifications #SBATCH --error=%x-%J-%u.err # Standard error file: --.err #SBATCH --output=%x-%J-%u.out # Standard output file: --.out module purge module load samtools/XXXX ### you can run *module avail samtools* to check all available versions ********************************** Using Multi-Threads for Samtools ********************************** Samtools supports multi-threading to speed up operations like sorting, indexing, and depth calculation. Below are examples of common tasks: Setting Up SLURM for Multi-Threading: .. code:: bash #!/bin/bash #SBATCH --job-name=samtools_job #SBATCH --output=samtools.%j.out #SBATCH --error=samtools.%j.err #SBATCH --ntasks=1 # Number of tasks (keep as 1 for multi-threaded Samtools) #SBATCH --cpus-per-task=8 # Number of CPU cores per task #SBATCH --mem=16G # Memory per node #SBATCH --time=04:00:00 # Time limit (hh:mm:ss) #SBATCH -p batch # Load Samtools module module load samtools/1.17 # Navigate to the working directory cd $SLURM_SUBMIT_DIR # Run Samtools command samtools sort -@ $SLURM_CPUS_PER_TASK -o sorted.bam input.bam ***************** Reference links ***************** `Samtools documentation `_ `Samtools tutorials from other resources `_