Sniffles is a structural variation caller using third generation sequencing (PacBio or Oxford Nanopore). It detects all types of SVs (10bp+) using evidence from split-read alignments, high-mismatch regions, and coverage analysis. Please note the current version of Sniffles requires sorted output from BWA-MEM (use -M and -x parameter) or NGMLR with the optional SAM attributes enabled
Allocate an interactive session and run the program.
Sample session (user input in bold):
[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 sniffles [+] Loading sniffles, version 2.0.2... [user@cn3144 ~]$ sniffles -i /fdb/sniffles/reads_region.bam -v test.vcf Estimating parameter... Max dist between aln events: 4 Max diff in window: 50 Min score ratio: 2 Avg DEL ratio: 0.0432235 Avg INS ratio: 0.0740733 Start parsing... 21 Switch Chr 21 Finalizing .. [user@cn3144 ~]$ exit salloc.exe: Relinquishing job allocation 46116226 [user@biowulf ~]$
Create a batch input file (e.g. sniffles.sh). For example:
#!/bin/sh set -e module load sniffles sniffles -i /fdb/sniffles/reads_region.bam -v test.vcf
Submit this job using the Slurm sbatch command.
sbatch [--cpus-per-task=#] [--mem=#] sniffles.sh
Create a swarmfile (e.g. sniffles.swarm). For example:
sniffles -i sample1.bam -v sample1.vcf --threads $SLURM_CPUS_PER_TASK sniffles -i sample2.bam -v sample2.vcf --threads $SLURM_CPUS_PER_TASK sniffles -i sample3.bam -v sample3.vcf --threads $SLURM_CPUS_PER_TASK sniffles -i sample4.bam -v sample4.vcf --threads $SLURM_CPUS_PER_TASK
Submit this job using the swarm command.
swarm -f sniffles.swarm [-g #] -t 4 --module sniffleswhere
-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 sniffles | Loads the sniffles module for each subjob in the swarm |