CaVEMan on Biowulf
Single nucleotide variant (SNV) expectation maximisation based mutation calling algorithm aimed at detecting somatic mutations in paired (tumour/normal) cancer samples. Supports both bam and cram format via htslib
Reference:
- Jones, D., Raine, K.M., Davies, H., Tarpey, P., Butler, A.P., Teague,
J.W., Nik-Zainal, S., and Campbell, P.J.
cgpCaVEManWrapper: Simple execution of CaVEMan in order to detect somatic single nucleotide variants in NGS data.
Curr. Protoc. Bioinform., 2016, 56: 15.10.1-15.10.18; doi: 10.1002/cpbi.20
Documentation
Important Notes
- Module Name: caveman (see the modules page for more information)
- Singlethreaded
- Sample data in /usr/local/apps/caveman/test_data
- Unusual environment variables set
- CAVEMAN_HOME installation directory
- CAVEMAN_BIN executable directory
- CAVEMAN_DATA sample testing data
Interactive job
Interactive jobs should be used for debugging, graphics, or applications that cannot be run as batch jobs.
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 caveman [user@cn3144 ~]$ mkdir /data/$USER/caveman; cd /data/$USER/cavemanCopy sample data to the current folder:
[user@cn3144 ~]$ cp -r $CAVEMAN_DATA .This command will create a data folder test_data in the current directory. Processing of the data by cavemen can be performed in five steps described in the documentation and reproduced below.
Step 1:
[user@cn3144 ~]$ caveman setup -t test_data/test_mt.bam -n test_data/test_wt.bam -r test_data/genome.fa.fai -g test_data/ign.test- files ./caveman.cfg.ini and ./alg_bean will be produced in the current directory.
Step 2:
[user@cn3144 ~]$ caveman split -i 1- file ./splitList.1 will be produced.
For the further processing, the name of the splitList file should be the same as specified in the file ./caveman.cfg.ini, so one should either to
- edit the file ./caveman.cfg.ini accordinglty, or
- store the contents of the file(s) splitList.* in a file splitList:
[user@cn3144 ~]$ cat ./splitList.* > splitListStep 3:
[user@cn3144 ~]$ caveman mstep -i 1Folder ./results/1 will be created.
Step 4:
[user@cn3144 ~]$ caveman merge- files probs_arr and covs_arr will be created in the current folder.
Step 5:
[user@cn3144 ~]$ caveman estep -i 1 -v 37/GRCh37 -w humanMore files will be produced in the folder results/1. Note that specifying the options -v and -w is obligatory for this step.
[user@cn3144 ~]$ exit salloc.exe: Relinquishing job allocation 46116226 [user@biowulf ~]$
Batch job
Most jobs should be run as batch jobs.
Create a batch input file (e.g. caveman.sh). For example:
#!/bin/bash set -e module load caveman for i in {1..2}; do caveman split -i $i done cat splitList.? > splitList for i in {1..2}; do caveman mstep -i $i done caveman merge for i in {1..2}; do caveman estep -i $i done
Submit this job using the Slurm sbatch command.
sbatch [--mem=#g] caveman.sh