{"id":13751494,"url":"https://github.com/broadinstitute/picard","last_synced_at":"2025-05-12T13:21:24.732Z","repository":{"id":15492105,"uuid":"18225913","full_name":"broadinstitute/picard","owner":"broadinstitute","description":"A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF.","archived":false,"fork":false,"pushed_at":"2025-05-09T17:10:28.000Z","size":253304,"stargazers_count":1012,"open_issues_count":227,"forks_count":374,"subscribers_count":156,"default_branch":"master","last_synced_at":"2025-05-12T13:21:14.540Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://broadinstitute.github.io/picard/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"Paytm-Payments/Paytm_iOS_App_Kit","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/broadinstitute.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-03-28T20:43:35.000Z","updated_at":"2025-05-12T03:27:09.000Z","dependencies_parsed_at":"2023-01-14T12:45:16.907Z","dependency_job_id":"d8e9f421-6098-472b-a376-d1194e3cf2f7","html_url":"https://github.com/broadinstitute/picard","commit_stats":{"total_commits":2617,"total_committers":159,"mean_commits":"16.459119496855347","dds":0.7325181505540695,"last_synced_commit":"c8b2c06b29b22d4bf1bf4270788d3a3e206a8183"},"previous_names":[],"tags_count":305,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broadinstitute%2Fpicard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broadinstitute%2Fpicard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broadinstitute%2Fpicard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broadinstitute%2Fpicard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/broadinstitute","download_url":"https://codeload.github.com/broadinstitute/picard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253745198,"owners_count":21957319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T09:00:46.628Z","updated_at":"2025-05-12T13:21:24.703Z","avatar_url":"https://github.com/broadinstitute.png","language":"Java","funding_links":[],"categories":["Ranked by starred repositories"],"sub_categories":[],"readme":"***User Support:***\n\n\nFor user questions please look for answers and ask first in the [GATK forum](https://gatk.broadinstitute.org/hc/en-us/community/topics).\n\n\n----\n\n\n[![Build Status](https://github.com/broadinstitute/picard/actions/workflows/tests.yml/badge.svg?branch=master)](https://github.com/broadinstitute/picard/actions/workflows/tests.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/broadinstitute/picard/blob/master/LICENSE.txt)\n\nA set of Java command line tools for manipulating high-throughput sequencing (HTS) data and formats.  \n\nPicard is implemented using the HTSJDK Java library [HTSJDK][1] to support\naccessing file formats that are commonly used for high-throughput\nsequencing data such as [SAM][2] and [VCF][3].  \n\nAs of version 3.0, Picard requires Java 1.17.\n\n#### Building Picard\n\n* First, clone the repo:\n```\n    git clone https://github.com/broadinstitute/picard.git\n    cd picard/\n```\n\n* Picard is now built using [gradle](https://gradle.org/). A wrapper script (`gradlew`) is included which will download the appropriate version of gradle on the first invocation.\n    \n* To build a fully-packaged, runnable Picard jar with all dependencies included, run:\n```\n    ./gradlew shadowJar\n```\n\n* The resulting jar will be in `build/libs`. To run it, the command is:\n```\n    java -jar build/libs/picard.jar\n    \n    or\n    \n    java -jar build/libs/picard-\u003cVERSION\u003e-all.jar \n```    \n\n    \n* To build a jar containing only Picard classes (without its dependencies), run:\n```\n    ./gradlew jar\n```    \n    \n* To clean the build directory, run:\n```\n    ./gradlew clean\n```\n\n#### Running Tests\n\n* To run all tests, the command is:\n```\n    ./gradlew test\n```\n\n* To run a specific test, the command is:\n```\n    ./gradlew legacyTest --tests \"*TestClassName*\"\n    \n    or\n    \n    ./gradlew barclayTest --tests \"*TestClassName*\"\n```\nRunning `legacyTest` uses the legacy commandline parser while `barclayTest` uses the new parser.  \n\n\n\n#### Changing the released version of HTSJDK that Picard depends on\n\nTo switch Picard's HTSJDK dependency to a different released version:\n\n* Open `build.gradle`\n* 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)\n```\n    final htsjdkVersion = System.getProperty('htsjdk.version', 'VERSION')`\n```\n* Open a pull request with this change\n\n#### Building Picard with a Custom Version of HTSJDK\n\nDuring development in Picard, it is sometimes necessary to build locally against an unreleased version or branch of HTSJDK. \n\n* To build against an unreleased version of HTSJDK's master branch:\n    * 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.\n    * 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.\n    \n* To build against a version of HTSJDK that has *not* yet been merged into HTSJDK's master branch:\n    * Clone [HTSJDK](https://github.com/samtools/htsjdk/), and in your clone check out the tag or branch you want to build Picard with.\n    * 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.\n    * 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.\n\n#### Releasing Picard\n\nFull instructions on how to create a new release of \nPicard are [here](https://github.com/broadinstitute/picard/wiki/How-to-release-Picard)\n\n#### Path providers\n\nPicard has limited support for reading from Path providers. \nCurrently only google's api is supported, and only a few tools support this.\nTo run with this support you need to compile the cloudJar target with gradle:\n```bash\n./gradlew cloudJar\n\n```\nthen run picard as follows:\n\n```bash\njava -jar build/lib/picardcloud.jar \u003cPicard arguments starting from program\u003e\n```\nFor example:\n\n```bash \njava -jar build/lib/picardcloud.jar CrosscheckFingerprints \\\n   I=gs://sample1.vcf \\\n   I=gs://sample2.vcf \\\n   CROSSCHECK_BY=FILE \\\n   H=Haplotype_db.txt \\\n   O=crosscheck.out\n```\n\nAlternatively, you can run the tool via the [GATK](https://software.broadinstitute.org/gatk/download/) which bundles the Google-Cloud\njar, and should thus \"Just Work\".\n\n----\n\n### Citing\n\nPlease cite this repository when using Picard tools for your publications.\n\n“Picard Toolkit.” 2019. Broad Institute, GitHub Repository. https://broadinstitute.github.io/picard/; Broad Institute\n\n```\n@misc{Picard2019toolkit,\n  title = {Picard toolkit},\n  year = {2019},\n  publisher = {Broad Institute},\n  journal = {Broad Institute, GitHub repository},\n  howpublished = {\\url{https://broadinstitute.github.io/picard/}}\n}\n```\n\nIdentifiers from software registries are increasingly accepted by journals, as in (biotools:picard_tools) or (RRID:SCR_006525).\n\nPicard is migrating to [semantic versioning](https://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.\n\nPlease see the [Picard Documentation](https://broadinstitute.github.io/picard) for more information.\n\n[1]: https://github.com/samtools/htsjdk\n[2]: https://samtools.github.io/hts-specs/\n[3]: https://samtools.github.io/hts-specs/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbroadinstitute%2Fpicard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbroadinstitute%2Fpicard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbroadinstitute%2Fpicard/lists"}