Nirvana provides clinical-grade annotation of genomic variants (SNVs, MNVs, insertions, deletions, indels, and SVs (including CNVs). It can be run as a stand-alone package or integrated into larger software tools that require variant annotation.
Allocate an interactive session and run the program. Sample session:
[user@biowulf]$ sinteractive --mem=8g salloc.exe: Nodes cn3144 are ready for job [user@cn3144 ~]$ module load nirvana [+] Loading nirvana 2.16.1 on cn3144 [user@cn3144 ~]$ nirvana -h --------------------------------------------------------------------------- Nirvana (c) 2021 Illumina, Inc. Stromberg, Roy, Lajugie, Jiang, Li, and Kang 3.16.1 --------------------------------------------------------------------------- USAGE: dotnet Nirvana.dll -i <vcf path> -c <cache prefix> --sd <sa dir> -r <ref path> -o <base output filenam>e Annotates a set of variants OPTIONS: --cache, -c <prefix> input cache prefix --in, -i <t;path> input VCF path --out, -o <file path> output file path --ref, -r <path> input compressed reference sequence path --sd <directory> input supplementary annotation directory --force-mt forces to annotate mitochondrial variants --disable-recomposition don't recompose function relevant variants --legacy-vids enables support for legacy VIDs --enable-dq report DQ from VCF samples field --str <VALUE> user provided STR annotation TSV file --help, -h displays the help menu --version, -v displays the versionDownload a sample VCF file:
[user@cn3144 ~]$ curl -O https://illumina.github.io/NirvanaDocumentation/files/HiSeq.10000.vcf.gzRun Nirvana on the sample file:
[user@cn3144 ~]$ nirvana \ -c $NIRVANA_DATA/Cache/GRCh37/Both \ --sd $NIRVANA_DATA/SupplementaryAnnotation/GRCh37 \ -r $NIRVANA_DATA/References/Homo_sapiens.GRCh37.Nirvana.dat \ -i HiSeq.10000.vcf.gz \ -o HiSeq.10000 --------------------------------------------------------------------------- Nirvana (c) 2021 Illumina, Inc. Stromberg, Roy, Lajugie, Jiang, Li, and Kang 3.16.1 --------------------------------------------------------------------------- Initialization Time Positions/s --------------------------------------------------------------------------- Cache 00:00:02.2 SA Position Scan 00:00:00.1 61,441 Reference Preload Annotation Variants/s --------------------------------------------------------------------------- chr1 00:00:00.7 00:00:03.4 2,904 Summary Time Percent --------------------------------------------------------------------------- Initialization 00:00:02.4 21.4 % Preload 00:00:00.7 6.6 % Annotation 00:00:03.4 30.2 % Peak memory usage: 1.322 GB Time: 00:00:10.8 [user@cn3144 ~]$ nirvana \ -c $NIRVANA_DATA/Cache/GRCh38/Both \ --sd $NIRVANA_DATA/SupplementaryAnnotation/GRCh38 \ -r $NIRVANA_DATA/References/Homo_sapiens.GRCh38.Nirvana.dat \ -i HiSeq.10000.vcf.gz \ -o HiSeq.10000 --------------------------------------------------------------------------- Nirvana (c) 2021 Illumina, Inc. Stromberg, Roy, Lajugie, Jiang, Li, and Kang 3.16.1 --------------------------------------------------------------------------- Initialization Time Positions/s --------------------------------------------------------------------------- Cache 00:00:02.1 SA Position Scan 00:00:00.1 66,470 Reference Preload Annotation Variants/s --------------------------------------------------------------------------- chr1 00:00:01.3 00:00:02.9 3,325 Summary Time Percent --------------------------------------------------------------------------- Initialization 00:00:02.3 19.0 % Preload 00:00:01.3 11.3 % Annotation 00:00:02.9 24.6 % Peak memory usage: 1.346 GB Time: 00:00:11.4 [user@cn3144 ~]$ exit salloc.exe: Relinquishing job allocation 46116226 [user@biowulf ~]$
Create a batch input file (e.g. nirvana.sh). For example:
#!/bin/bash set -e module load nirvana nirvana -c $NIRVANA_DATA/Cache/GRCh37/Both \ --sd $NIRVANA_DATA/SupplementaryAnnotation/GRCh37 \ -r $NIRVANA_DATA/References/Homo_sapiens.GRCh37.Nirvana.dat \ -i HiSeq.10000.vcf \ -o Hiseq_result_anno
Submit this job using the Slurm sbatch command.
sbatch nirvana.sh
Create a swarmfile (e.g. nirvana.swarm). For example:
nirvana -i vfc1.vcf -o vcf1 [... rest of the options] nirvana -i vfc2.vcf -o vcf2 [... rest of the options] nirvana -i vfc3.vcf -o vcf3 [... rest of the options] nirvana -i vfc4.vcf -o vcf4 [... rest of the options]
Submit this job using the swarm command.
swarm -f nirvana.swarm --module nirvanawhere
--module nirvana | Loads the nirvana module for each subjob in the swarm |