clinsv on Biowulf
Robust detection of clinically relevant structural and copy number variation from whole genome sequencing data
References:
Blow J., Doe J. A ClinSV: clinical grade structural and copy number variant detection from whole genome sequencing data Genome Medicine. 2021;13:32
Documentation
Important Notes
This application requires a graphical connection using NX
- Module Name: clinsv (see the modules page for more information)
- Environment variables set
- clinsv_HOME
- Example files in /usr/local/apps/clinsv/sample
- Reference data in /usr/local/apps/clinsv/ref_hg38/clinsv/refdata-b38
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 clinsv [user@cn3144 ~]$ [user@cn3144 ~]$ exit salloc.exe: Relinquishing job allocation 46116226 [user@biowulf ~]$
Batch job
Most jobs should be run as batch jobs.
Most jobs should be run as batch jobs.
Create a batch input file (e.g. clinsv.sh). For example:
#!/bin/bash set -e module load clinsv cd /some/place/with/bamfile/abc.bam mkdir -p test_run refdata_path=/usr/local/apps/clinsv/ref_hg38/clinsv/refdata-b38 input_path=$PWD project_folder=$PWD/test_run singularity run --bind $refdata_path:/app/ref-data/refdata-b38 \ --bind $project_folder:/app/project_folder \ --bind $input_path:/app/input \ /usr/local/apps/clinsv/1.1/libexec/1.1.sif \ /app/clinsv/bin/clinsv \ -r all \ -p /app/project_folder/ \ -i "/app/input/abc.bam" \ -ref /app/ref-data/refdata-b38
Submit this job using the Slurm sbatch command.
sbatch -c 16 --mem=80g clinsv.sh
Swarm of Jobs
A swarm of jobs is an easy way to submit a set of independent commands requiring identical resources.
Create a swarmfile (e.g. clinsv.swarm). For example:
clinsv < clinsv.in > clinsv.out clinsv < clinsv.in > clinsv.out clinsv < clinsv.in > clinsv.out clinsv < clinsv.in > clinsv.out
Submit this job using the swarm command.
swarm -f clinsv.swarm [-g #] [-t #] --module clinsvwhere
-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 clinsv | Loads the clinsv module for each subjob in the swarm |