The current GATK version is 3.8-0
Examples: Monday, today, last week, Mar 26, 3/26/04

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Get notifications!

You can opt in to receive email notifications, for example when your questions get answered or when there are new announcements, by following the instructions given here.

Got a problem?

1. Search using the upper-right search box, e.g. using the error message.
2. Try the latest version of tools.
3. Include tool and Java versions.
4. Tell us whether you are following GATK Best Practices.
5. Include relevant details, e.g. platform, DNA- or RNA-Seq, WES (+capture kit) or WGS (PCR-free or PCR+), paired- or single-end, read length, expected average coverage, somatic data, etc.
6. For tool errors, include the error stacktrace as well as the exact command.
7. For format issues, include the result of running ValidateSamFile for BAMs or ValidateVariants for VCFs.
8. For weird results, include an illustrative example, e.g. attach IGV screenshots according to Article#5484.
9. For a seeming variant that is uncalled, include results of following Article#1235.

Did we ask for a bug report?

Then follow instructions in Article#1894.

Formatting tip!

Wrap blocks of code, error messages and BAM/VCF snippets--especially content with hashes (#)--with lines with three backticks ( ``` ) each to make a code block as demonstrated here.

Jump to another community
Download the latest Picard release at
GATK version 4.beta.3 (i.e. the third beta release) is out. See the GATK4 beta page for download and details.

Picard MergeVcfs vs GATK CatVariants

shawardenshawarden Dunedin, New ZealandMember

I've noticed the WDL scripts are using Picard's MergeVcfs immediately following a scattered GATK HaplotypeCaller to do what CatVariants was seemingly designed for. Is there any benefit to using one over the other? In the tests I've run with the same compute node, inputs and resource allocation Picard MergeVcfs performs inappreciably slower than CatVariants.

Is there a reason for this shift of just personal preference by the coder in question?
Does Picard's MergeVcfs not suffer from the same file IO issues CatVariants has when working in network shares?
Does CatVariants have some other issue I'm unaware of?

Picard MergeVcfs:

Merges multiple VCF or BCF files into one VCF file. Input files must be sorted by their contigs and, within contigs, by start position. The input files must have the same sample and contig lists. An index file is created and a sequence dictionary is required by default.


GATK CatVariants:

The main purpose of this tool is to speed up the gather function when using scatter-gather parallelization. This tool concatenates the scattered output VCF files. It assumes that:

All the input VCFs (or BCFs) contain the same samples in the same order.
The variants in each input file are from non-overlapping (scattered) intervals.

When the input files are already sorted based on the intervals start positions, use -assumeSorted.

Best Answer


  • shawardenshawarden Dunedin, New ZealandMember

    Thanks! I'll take a look at picard's GatherVcfs. If it runs at a similar speed to samtools cat then that'll be a nice way to cut down the 2 hours or so that catvariants takes.

Sign In or Register to comment.