Permalink
Newer
Older
100644 141 lines (98 sloc) 5.9 KB
Jul 5, 2016 @akiezun coveralls
1 [![Coverage Status](https://coveralls.io/repos/github/broadinstitute/picard/badge.svg?branch=master)](https://coveralls.io/github/broadinstitute/picard?branch=master)
Jun 30, 2014 adding build status in the README
2 [![Build Status](https://travis-ci.org/broadinstitute/picard.svg?branch=master)](https://travis-ci.org/broadinstitute/picard)
Mar 1, 2017 @sooheelee Update README.md to show license badge
3 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/broadinstitute/picard/blob/master/LICENSE.txt)
Jun 30, 2014 adding build status in the README
4
May 28, 2015 @nsoranzo Fix typos
5 A set of Java command line tools for manipulating high-throughput sequencing (HTS) data and formats.
May 3, 2014 adding a README
6
Jan 8, 2016 @vdauwera Clean up some grammar
7 Picard is implemented using the HTSJDK Java library [HTSJDK][1] to support
8 accessing file formats that are commonly used for high-throughput
9 sequencing data such as [SAM][2] and [VCF][3].
May 3, 2014 adding a README
10
Jan 7, 2016 @vdauwera Update java version requirement
11 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.
12
Aug 3, 2016 @droazen Add gradle build instructions to README
13 ####Building Picard
Nov 4, 2015 @yfarjoun Update README.md
14
Aug 3, 2016 @droazen Add gradle build instructions to README
15 * First, clone the repo:
16 ```
Apr 13, 2017 @etienneplatini replace git link with https link (#792)
17 git clone https://github.com/broadinstitute/picard.git
Nov 4, 2015 @yfarjoun Update README.md
18 cd picard/
Aug 3, 2016 @droazen Add gradle build instructions to README
19 ```
20
21 * Picard is now built using [gradle](http://gradle.org/). A wrapper script (`gradlew`) is included which will download the appropriate version of gradle on the first invocation.
Nov 4, 2015 @yfarjoun Update README.md
22
Aug 3, 2016 @droazen Add gradle build instructions to README
23 * To build a fully-packaged, runnable Picard jar with all dependencies included, run:
24 ```
25 ./gradlew shadowJar
26 ```
27
28 * The resulting jar will be in `build/libs`. To run it, the command is:
29 ```
Aug 5, 2016 @lbergelson creating a picard.jar when running ./gradlew (#618)
30 java -jar build/libs/picard.jar
31
32 or
33
34 java -jar build/libs/picard-<VERSION>-all.jar
Aug 3, 2016 @droazen Add gradle build instructions to README
35 ```
Aug 5, 2016 @lbergelson creating a picard.jar when running ./gradlew (#618)
36
Aug 3, 2016 @droazen Add gradle build instructions to README
37
38 * To build a jar containing only Picard classes (without its dependencies), run:
39 ```
40 ./gradlew jar
41 ```
42
43 * To clean the build directory, run:
44 ```
45 ./gradlew clean
46 ```
47
48 ####Running Tests
Nov 4, 2015 @yfarjoun Update README.md
49
Aug 3, 2016 @droazen Add gradle build instructions to README
50 * To run all tests, the command is:
51 ```
52 ./gradlew test
53 ```
Nov 4, 2015 @yfarjoun Update README.md
54
Aug 3, 2016 @droazen Add gradle build instructions to README
55 * To run a specific test, the command is:
56 ```
57 ./gradlew test -Dtest.single=TestClassName
58 ```
Nov 4, 2015 @yfarjoun Update README.md
59
Aug 3, 2016 @droazen Add gradle build instructions to README
60 ####Changing the released version of HTSJDK that Picard depends on
Nov 4, 2015 @yfarjoun Update README.md
61
Aug 3, 2016 @droazen Add gradle build instructions to README
62 To switch Picard's HTSJDK dependency to a different released version:
Nov 4, 2015 @yfarjoun Update README.md
63
Aug 3, 2016 @droazen Add gradle build instructions to README
64 * Open `build.gradle`
65 * Edit VERSION in the following line to be a different released version of HTSJDK. HTSJDK releases are listed [here](https://github.com/samtools/htsjdk/releases)
66 ```
67 final htsjdkVersion = System.getProperty('htsjdk.version', 'VERSION')`
68 ```
69 * Open a pull request with this change
Jun 22, 2016 @vdauwera Add note on HTSJDK version expectations to README
70
Aug 3, 2016 @droazen Add gradle build instructions to README
71 ####Building Picard with a Custom Version of HTSJDK
Nov 4, 2015 @yfarjoun Update README.md
72
Aug 3, 2016 @droazen Add gradle build instructions to README
73 During development in Picard, it is sometimes necessary to build locally against an unreleased version or branch of HTSJDK.
74
75 * To build against an unreleased version of HTSJDK's master branch:
76 * Go to the [Broad artifactory](https://artifactory.broadinstitute.org/artifactory/simple/libs-snapshot-local/com/github/samtools/htsjdk/), where continuous snapshots of HTSJDK's master branch are published, and select the version you want to use. For example, `2.5.1-9-g5740ca1-SNAPSHOT`. You can search by tag or short git commit hash.
77 * In your Picard clone, run `./gradlew shadowJar -Dhtsjdk.version=VERSION`, where VERSION is the version of the HTSJDK master branch snapshot you want to use.
78
79 * To build against a version of HTSJDK that has *not* yet been merged into HTSJDK's master branch:
80 * Clone [HTSJDK](https://github.com/samtools/htsjdk/), and in your clone check out the tag or branch you want to build Picard with.
81 * Run `./gradlew install printVersion` in your htsjdk clone to install that version to your local maven repository. Take note of the version number that gets printed at the end.
82 * Switch back to your Picard clone, and run `./gradlew shadowJar -Dhtsjdk.version=VERSION`, where VERSION is the version of HTSJDK you installed to your local maven repository.
83
Oct 17, 2016 @droazen Add link to release instructions to README
84 ####Releasing Picard
85
86 Full instructions on how to create a new release of Picard are [here](https://github.com/broadinstitute/picard/wiki/How-to-release-Picard)
87
Aug 3, 2016 @droazen Add gradle build instructions to README
88 ----
Nov 4, 2015 @yfarjoun Update README.md
89
May 28, 2015 @nsoranzo Fix typos
90 It's also possible to build a version of Picard that supports reading from
Mar 15, 2015 @iliat Add support for reading data from Google Genomics implementation of G…
91 GA4GH API, e.g. Google Genomics:
Aug 3, 2015 @iliat Updated docs on gatk-tools-java usage
92
Oct 16, 2015 @evelinag Fixing broken links to gatk-tools-java
93 * Fetch [gatk-tools-java](https://github.com/googlegenomics/gatk-tools-java)
Aug 3, 2015 @iliat Updated docs on gatk-tools-java usage
94
Oct 16, 2015 @evelinag Fixing broken links to gatk-tools-java
95 ```git clone https://github.com/googlegenomics/gatk-tools-java```
Aug 3, 2015 @iliat Updated docs on gatk-tools-java usage
96
97 * Build gatk-tools-java:
98
99 ```gatk-tools-java$ mvn compile package```
100
101 * Copy the resulting jar into Picard ```lib/``` folder:
102 ```
103 gatk-tools-java$ mkdir ../picard/lib/gatk-tools-java
104 gatk-tools-java$ cp target/gatk-tools-java*minimized.jar ../picard/lib/gatk-tools-java/
105 ```
106
107 * Build Picard version with GA4GH support:
108
109 ```picard$ ant -lib lib/ant package-commands-ga4gh```
110
111 * If you have not yet worked with Google Genomics API and need to set up authentication, please follow the instructions [here](https://cloud.google.com/genomics/install-genomics-tools#authenticate) to set up credentials and obtain ```client_secrets.json``` file.
112
113
114 * You can now run
115 ```
Mar 15, 2015 @iliat Add support for reading data from Google Genomics implementation of G…
116 java -jar dist/picard.jar ViewSam \
117 INPUT=https://www.googleapis.com/genomics/v1beta2/readgroupsets/CK256frpGBD44IWHwLP22R4/ \
118 GA4GH_CLIENT_SECRETS=../client_secrets.json
Aug 3, 2015 @iliat Updated docs on gatk-tools-java usage
119 ```
120
121 * To run using GRPC as opposed to REST Genomics API implementation (which is much faster) use the following command that utilizes ALPN jars that come with gatk-tools-java and enables GRPC support:
122 ```
123 java \
124 -Xbootclasspath/p:../gatk-tools-java/lib/alpn-boot-8.1.3.v20150130.jar \
125 -Dga4gh.using_grpc=true \
126 -jar dist/picard.jar ViewSam \
127 INPUT=https://www.googleapis.com/genomics/v1beta2/readgroupsets/CK256frpGBD44IWHwLP22R4/ \
128 GA4GH_CLIENT_SECRETS=../client_secrets.json
129 ```
130 For Java 7 (as opposed to 8) use ```alpn-boot-7.1.3.v20150130.jar```.
131
Aug 3, 2016 @droazen Add gradle build instructions to README
132 ----
133
Feb 6, 2016 @jacarey Update README.md
134 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.
Mar 15, 2015 @iliat Add support for reading data from Google Genomics implementation of G…
135
Sep 5, 2014 Make the release script push releases, javadoc, and the website
136 Please see the [Picard Documentation](http://broadinstitute.github.io/picard) for more information.
137
May 3, 2014 adding a README
138 [1]: http://github.com/samtools/htsjdk
139 [2]: http://samtools.sourceforge.net
Oct 16, 2015 @evelinag Fixing broken links to gatk-tools-java
140 [3]: http://vcftools.sourceforge.net/specs.html