qsignature

qsignature is a simple and highly effective system for detecting potential sample mix-ups using distance measurements between SNV alleles that are common to pairs of samples of interest. qsignature can use both genotyping array and high-throughput sequencing data to detect potential mix-ups and can be applied across multiple sequencing platforms and experiment types.

qsignature functions in two modes:

  • mode 1 processes a genotyping array file or BAM file to create a summary file in a format based on the Variant Call Format VCF. This file summarizes the intensity- or read-based SNP data for a given sample and only needs to be run once per genotype or BAM file;
  • mode 2 performs a pairwise comparison between two or more qsignature mode 1 VCF files to calculate qsignature distance metrics between the samples.

Installation

qsignature requires java 21.

  • To do a build of qsignature, first clone the adamajava repository using "git clone": git clone https://github.com/AdamaJava/adamajava

Then move into the adamajava folder: cd adamajava Run gradle to build qsignature and its dependent jar files: ./gradlew :qsignature:build This creates the qsignature jar file along with dependent jars in the qsignature/build/flat folder

Usage

qsignature modes are invoked by directly naming the class that is to be executed as can be seen in the example below:

java -cp qsignature.jar org.qcmg.sig.Generate -snpPositions <file containing positions of interest> -input <input BAM file> -output <output directory where qsig.vcf files will be generated> -log <log file>

Modes

Mode Description
Generate Generates a compressed VCF file (.qsig.vcf.gz) for a BAM or snp chip file
Compare Compares all of the qsig.vcf.gz files in a specified folder to ascertain whether there is a potential mixup