Coverage Status Build Status

A set of Java command line tools for manipulating high-throughput sequencing (HTS) data and formats.

Picard is implemented using the HTSJDK Java library HTSJDK to support accessing file formats that are commonly used for high-throughput sequencing data such as SAM and VCF.

As of version 2.0.1 (Nov. 2015) Picard requires Java 1.8 (jdk8u66). The last version to support Java 1.7 was release 1.141.

Building Picard

Running Tests

Changing the released version of HTSJDK that Picard depends on

To switch Picard’s HTSJDK dependency to a different released version:

Building Picard with a Custom Version of HTSJDK

During development in Picard, it is sometimes necessary to build locally against an unreleased version or branch of HTSJDK.


It’s also possible to build a version of Picard that supports reading from GA4GH API, e.g. Google Genomics:

git clone https://github.com/googlegenomics/gatk-tools-java

gatk-tools-java$ mvn compile package

picard$ ant -lib lib/ant package-commands-ga4gh


Picard is migrating to semantic versioning (http://semver.org/). We will eventually adhere to it strictly and bump our major version whenever there are breaking changes to our API, but until we more clearly define what constitutes our official API, clients should assume that every release potentially contains at least minor changes to public methods.

Please see the Picard Documentation for more information.