Biowulf High Performance Computing at the NIH
Jacquard: analysis of exome variant data from multiple patients and multiple variant callers.

Jacquard is a suite of command-line tools to expedite analysis of exome variant data from multiple patients and multiple variant callers.

Documentation
Important Notes

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@biowulf]$ sinteractive --mem=8g 
[user@cn4466 ~]$ module load jacquard
[+] Loading Jacquard 0.4.2  ...      
[user@cn4466 ~]$ jacquard -h
usage: jacquard

type 'jacquard  -h' for help on a specific command

optional arguments:
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit

subcommands:
  {translate,merge,summarize,expand}
    translate           Accepts a directory of VCF results (and VarScan high confidence files). Creates a new directory of VCFs, adding Jacquard-specific FORMAT tags for each VCF record.
    merge               Accepts a directory of VCFs and returns a single merged VCF file.
    summarize           Accepts a Jacquard-merged VCF file and creates a new file, adding summary fields.
    expand              Pivots annotated VCF file so that given sample specific information is fielded out into separate columns. Returns an Excel file containing concatenation of all input files.

See https://github.com/umich-brcf-bioinf/Jacquard for more info.

Download sample data:
[user@cn4466 ~]$ cp  -r $JACQUARD_DATA/* . 
Run a sample command:
[user@cn4466 ~]$ jacquard translate 00-input_vcfs/  my_output_dir
2019-10-18 14:18:46|INFO|translate|Jacquard begins (v1.1.2)
2019-10-18 14:18:46|INFO|translate|Saving log to [jacquard.log]
2019-10-18 14:18:46|INFO|translate|Processing [25] VCF file(s) from [00-input_vcfs/]
2019-10-18 14:18:46|INFO|translate|Translating file 1/25 [case_C.varscan.indel.vcf]
2019-10-18 14:18:46|INFO|translate|Translating file 2/25 [case_B.varscan.snp.vcf]
2019-10-18 14:18:47|INFO|translate|Translating file 3/25 [case_E.varscan.indel.vcf]
2019-10-18 14:18:47|INFO|translate|Translating file 4/25 [case_A.varscan.snp.vcf]
2019-10-18 14:18:48|INFO|translate|Translating file 5/25 [case_A.varscan.indel.vcf]
2019-10-18 14:18:48|INFO|translate|Translating file 6/25 [case_D.varscan.indel.vcf]
2019-10-18 14:18:48|INFO|translate|Translating file 7/25 [case_B.varscan.indel.vcf]
2019-10-18 14:18:48|INFO|translate|Translating file 8/25 [case_C.varscan.snp.vcf]
2019-10-18 14:18:49|INFO|translate|Translating file 9/25 [case_D.varscan.snp.vcf]
2019-10-18 14:18:49|INFO|translate|Translating file 10/25 [case_E.varscan.snp.vcf]
2019-10-18 14:18:50|INFO|translate|Translating file 11/25 [case_A.strelka.snvs.vcf]
2019-10-18 14:18:50|INFO|translate|Translating file 12/25 [case_E.strelka.snvs.vcf]
2019-10-18 14:18:50|INFO|translate|Translating file 13/25 [case_D.strelka.indels.vcf]
2019-10-18 14:18:50|INFO|translate|Translating file 14/25 [case_C.strelka.indels.vcf]
2019-10-18 14:18:50|INFO|translate|Translating file 15/25 [case_D.strelka.snvs.vcf]
2019-10-18 14:18:50|INFO|translate|Translating file 16/25 [case_E.strelka.indels.vcf]
2019-10-18 14:18:50|INFO|translate|Translating file 17/25 [case_A.strelka.indels.vcf]
2019-10-18 14:18:50|INFO|translate|Translating file 18/25 [case_B.strelka.snvs.vcf]
2019-10-18 14:18:50|INFO|translate|Translating file 19/25 [case_C.strelka.snvs.vcf]
2019-10-18 14:18:50|INFO|translate|Translating file 20/25 [case_B.strelka.indels.vcf]
2019-10-18 14:18:50|INFO|translate|Translating file 21/25 [case_C.mutect.vcf]
2019-10-18 14:18:51|INFO|translate|Translating file 22/25 [case_D.mutect.vcf]
2019-10-18 14:18:51|INFO|translate|Translating file 23/25 [case_A.mutect.vcf]
2019-10-18 14:18:51|INFO|translate|Translating file 24/25 [case_E.mutect.vcf]
2019-10-18 14:18:51|INFO|translate|Translating file 25/25 [case_B.mutect.vcf]
2019-10-18 14:18:52|INFO|translate|Wrote [25] VCF file(s)
2019-10-18 14:18:52|INFO|translate|Output saved to [my_output_dir]
2019-10-18 14:18:52|INFO|translate|Done
[user@cn4466 ~]$ tree  my_output_dir 
my_output_dir
├ case_A.mutect.translatedTags.vcf
├ case_A.strelka.indels.translatedTags.vcf
├ case_A.strelka.snvs.translatedTags.vcf
├ case_A.varscan.indel.translatedTags.vcf
├ case_A.varscan.snp.translatedTags.vcf
├ case_B.mutect.translatedTags.vcf
├ case_B.strelka.indels.translatedTags.vcf
├ case_B.strelka.snvs.translatedTags.vcf
├ case_B.varscan.indel.translatedTags.vcf
├ case_B.varscan.snp.translatedTags.vcf
├ case_C.mutect.translatedTags.vcf
├ case_C.strelka.indels.translatedTags.vcf
├ case_C.strelka.snvs.translatedTags.vcf
├ case_C.varscan.indel.translatedTags.vcf
├ case_C.varscan.snp.translatedTags.vcf
├ case_D.mutect.translatedTags.vcf
├ case_D.strelka.indels.translatedTags.vcf
├ case_D.strelka.snvs.translatedTags.vcf
├ case_D.varscan.indel.translatedTags.vcf
├ case_D.varscan.snp.translatedTags.vcf
├ case_E.mutect.translatedTags.vcf
├ case_E.strelka.indels.translatedTags.vcf
├ case_E.strelka.snvs.translatedTags.vcf
├ case_E.varscan.indel.translatedTags.vcf
└ case_E.varscan.snp.translatedTags.vcf
End the interactive session:
[user@cn4466 ~]$ exit
[user@biowulf ~]$

Batch job
Most jobs should be run as batch jobs.

Create a batch input file (e.g. jacquard.sh). For example:

#!/bin/bash
module load jacquard      
cp $JACQARD_DATA/* . 

jacquard translate 00-input_vcfs/  my_output_dir

Submit this job using the Slurm sbatch command.

sbatch [--cpus-per-task=#] [--mem=#] jacquard.sh