{"id":38742030,"url":"https://github.com/kishwarshafin/pepper","last_synced_at":"2026-01-17T11:41:11.339Z","repository":{"id":37668377,"uuid":"185895043","full_name":"kishwarshafin/pepper","owner":"kishwarshafin","description":"PEPPER-Margin-DeepVariant","archived":false,"fork":false,"pushed_at":"2024-01-12T21:48:10.000Z","size":37820,"stargazers_count":253,"open_issues_count":33,"forks_count":42,"subscribers_count":8,"default_branch":"r0.8","last_synced_at":"2025-11-09T13:24:21.881Z","etag":null,"topics":["assembly-polishing","genome-variation","long-reads","nanopore","oxford-nanopore","pacbio-ccs","variant-calling","variants"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kishwarshafin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-05-10T01:13:11.000Z","updated_at":"2025-11-01T09:46:11.000Z","dependencies_parsed_at":"2022-07-15T03:47:04.782Z","dependency_job_id":"ba5e9aaf-515c-4c92-8fac-2bf842e45cd7","html_url":"https://github.com/kishwarshafin/pepper","commit_stats":{"total_commits":1267,"total_committers":2,"mean_commits":633.5,"dds":0.0007892659826361781,"last_synced_commit":"30c8907501b254bb72d8f64dfb8cf54a1b7a60eb"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/kishwarshafin/pepper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kishwarshafin%2Fpepper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kishwarshafin%2Fpepper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kishwarshafin%2Fpepper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kishwarshafin%2Fpepper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kishwarshafin","download_url":"https://codeload.github.com/kishwarshafin/pepper/tar.gz/refs/heads/r0.8","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kishwarshafin%2Fpepper/sbom","scorecard":{"id":561539,"data":{"date":"2025-08-11","repo":{"name":"github.com/kishwarshafin/pepper","commit":"30c8907501b254bb72d8f64dfb8cf54a1b7a60eb"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 0/28 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Vulnerabilities","score":0,"reason":"15 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-6rq9-53c3-f7vj","Warn: Project is vulnerable to: PYSEC-2023-38 / GHSA-ffxj-547x-5j7c","Warn: Project is vulnerable to: PYSEC-2025-10 / GHSA-h36j-8vv3-cj52","Warn: Project is vulnerable to: PYSEC-2024-223 / GHSA-h8wv-9h96-m4hr","Warn: Project is vulnerable to: PYSEC-2024-222 / GHSA-whh8-fjgc-qp73","Warn: Project is vulnerable to: PYSEC-2021-142 / GHSA-8q59-q68h-6hv4","Warn: Project is vulnerable to: PYSEC-2018-49 / GHSA-rprw-h62v-c2w7","Warn: Project is vulnerable to: GHSA-3749-ghw9-m3mg","Warn: Project is vulnerable to: PYSEC-2022-43015 / GHSA-47fc-vmwq-366v","Warn: Project is vulnerable to: PYSEC-2025-41 / GHSA-53q9-r3pm-6pq6","Warn: Project is vulnerable to: PYSEC-2024-252 / GHSA-5pcm-hx3q-hm94","Warn: Project is vulnerable to: GHSA-887c-mr87-cxwp","Warn: Project is vulnerable to: PYSEC-2024-251 / GHSA-pg7h-5qx3-wjr3","Warn: Project is vulnerable to: PYSEC-2024-250","Warn: Project is vulnerable to: PYSEC-2024-259"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'r0.8'","Warn: branch protection not enabled for branch 'r0.7'","Warn: branch protection not enabled for branch 'r0.6'","Warn: branch protection not enabled for branch 'r0.5'","Warn: branch protection not enabled for branch 'r0.4'","Warn: branch protection not enabled for branch 'r0.1'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 2 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-20T13:51:34.268Z","repository_id":37668377,"created_at":"2025-08-20T13:51:34.269Z","updated_at":"2025-08-20T13:51:34.269Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28508177,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T10:25:30.148Z","status":"ssl_error","status_checked_at":"2026-01-17T10:25:29.718Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["assembly-polishing","genome-variation","long-reads","nanopore","oxford-nanopore","pacbio-ccs","variant-calling","variants"],"created_at":"2026-01-17T11:41:11.055Z","updated_at":"2026-01-17T11:41:11.313Z","avatar_url":"https://github.com/kishwarshafin.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## P.E.P.P.E.R.\n[![Build Status](https://travis-ci.com/kishwarshafin/pepper.svg?branch=master)](https://travis-ci.com/kishwarshafin/pepper)\n\n`PEPPER` is a genome inference module based on recurrent neural networks that enables long-read variant calling and nanopore assembly polishing in the [PEPPER](https://github.com/kishwarshafin/pepper)-[Margin](https://github.com/UCSC-nanopore-cgl/margin)-[DeepVariant](https://github.com/google/deepvariant) pipeline. This pipeline enables nanopore-based variant calling with [DeepVariant](https://github.com/google/deepvariant).\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./img/PMDV_variant_calling_ONT_v5.png\" alt=\"PEPPER-Margin-DeepVariant Variant Calling Workflow\" width=\"720p\"\u003e\u003c/img\u003e\n\u003c/p\u003e\n\n---\n\n### How to cite\nPlease cite the following manuscript if you are using `PEPPER-Margin-DeepVariant`:\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ca href=\"https://www.nature.com/articles/s41592-021-01299-w\"\u003e\u003cb\u003eNature Methods:\u003c/b\u003e Haplotype-aware variant calling with PEPPER-Margin-DeepVariant enables high accuracy in nanopore long-reads. \u003c/a\u003e\n\u003c/summary\u003e\n\nAuthors: Kishwar Shafin, Trevor Pesout, Pi-Chuan Chang, Maria Nattestad, Alexey Kolesnikov, Sidharth Goel, \u003cbr/\u003e Gunjan Baid, Mikhail Kolmogorov, Jordan M. Eizenga, Karen H. Miga, Paolo Carnevali, Miten Jain, Andrew Carroll \u0026 Benedict Paten.\n\n**Free access link to the manuscript:** [https://rdcu.be/cABfv](https://rdcu.be/cABfv)\n\u003c/details\u003e\n\n---\n\n### Critical care application\n\nIn a project led by [Professor Euan Ashley](https://www.euanangusashley.com/), the team demonstrated the ability to identify clinically actionable disease causing variants in a critical care setting with nanopore sequencing and `PEPPER-Margin-DeepVariant`.\n\nFollowing are the publications that demonstrate the performance of `PEPPER-Margin-DeepVariant` in a clinical setup:\n\nClinical report:\n\u003cdetails\u003e\n\u003csummary\u003e\u003ca href=\"https://www.nejm.org/doi/10.1056/NEJMc2112090\"\u003e\u003cb\u003eNew England Journal of Medicine:\u003c/b\u003e Ultrarapid Nanopore Genome Sequencing in a Critical Care Setting \u003c/a\u003e\n\u003c/summary\u003e\nAuthors: John Gorzynski, Sneha Goenka, Kishwar Shafin, Tanner Jensen, Dianna Fisk, Megan Grove, Elizabeth Spiteri, Trevor Pesout, Jean Monlong, Gunjan Baid, Jonathan Bernstein, Scott Ceresnak, Pi-Chuan Chang, Jeffrey Christle, Henry Chubb, Karen Dalton, Kyla Dunn, Daniel Garalde, Joseph Guillory, Joshua Knowles, Alexey Kolesnikov, Michael Ma, Tia Moscarello, Maria Nattestad, Marco Perez, Maura Ruzhnikov, Mehrzad Samadi, Ankit Setia, Chris Wright, Courtney J Wusthoff, Katherine Xiong, Tong Zhu, Miten Jain, Fritz Sedlazeck, Andrew Carroll, Benedict Paten, Euan Ashley.\n\u003c/details\u003e\n\nCase report:\n\u003cdetails\u003e\n\u003csummary\u003e\u003ca href=\"https://www.ahajournals.org/doi/abs/10.1161/CIRCGEN.121.003591\"\u003e\u003cb\u003eCirculation: Genomic and Precision Medicine:\u003c/b\u003eUltra-Rapid Nanopore Whole Genome Genetic Diagnosis of Dilated Cardiomyopathy in an Adolescent With Cardiogenic Shock\u003c/a\u003e\n\u003c/summary\u003e\nAuthors: John Gorzynski, Sneha Goenka, Kishwar Shafin, Tanner Jensen, Dianna Fisk, Megan Grove, Elizabeth Spiteri, Trevor Pesout, Jean Monlong, Jonathan Bernstein, Scott Ceresnak, Pi-Chuan Chang, Jeffrey Christle, Henry Chubb, Kyla Dunn, Daniel Garalde, Joseph Guillory, Maura Ruzhnikov, Chris Wright, Courtney Wusthoff, Katherine Xiong, Seth Hollander, Gerald Berry, Miten Jain, Fritz Sedlazeck, Andrew Carroll, Benedict Paten, Euan Ashley.\n\u003c/details\u003e\n\n---\n\n### Long read variant calling performance evaluation\n\nDetailed variant calling performance evaluation:\n* **Nanopore R9.4.1 Guppy 5.0.6 SUP:**\n  * [HG003 whole genome](./docs/performance_evaluation/Oxford_nanopore_r9_whole_genome.md)\n\nPlease follow the case-studies documentation for PacBio-HiFi and ONT 10.4 Q20 performance evaluation.\n\n---\n\n### Useful links to documentations\n* [Quickstarts to check system configuration.](#quickstarts-small-runs-to-test-system-configuration)\n* [Case-studies to reproduce performance.](#case-studies-chromosome-20-runs-for-performance-reproducibility)\n* [Description of PEPPER-Margin-DeepVariant method.](./docs/misc/pepper_methods.md)\n* How to train PEPPER-DeepVariant:\n    * [How to train PEPPER.](./docs/training_pepper_margin_deepvariant/how_to_train_pepper.md)\n    * [How to train DeepVariant (using candidates from PEPPER).](./docs/training_pepper_margin_deepvariant/how_to_train_deepvariant.md)\n* [How to install PEPPER locally.](./docs/local_install/install_pepper_locally.md)\n* [List of parameters and description.](./docs/usage/usage_and_parameters.md)\n* [How to tune parameters to balance speed and accuracy.](./docs/usage/speed_and_accuracy.md)\n\n---\n\n### How to run\nPEPPER-Margin-DeepVariant can be run using **Docker** or **Singularity**. A simple docker command looks like:\n```bash\nsudo docker run \\\n-v \"${INPUT_DIR}\":\"${INPUT_DIR}\" \\\n-v \"${OUTPUT_DIR}\":\"${OUTPUT_DIR}\" \\\nkishwars/pepper_deepvariant:r0.8 \\\nrun_pepper_margin_deepvariant call_variant \\\n-b \"${INPUT_DIR}/${BAM}\" \\\n-f \"${INPUT_DIR}/${REF}\" \\\n-o \"${OUTPUT_DIR}\" \\\n-t \"${THREADS}\" \\\n--ont_r9_guppy5_sup\n\n# --ont_r9_guppy5_sup is preset for ONT R9.4.1 Guppy 5 \"Sup\" basecaller\n# for ONT R10.4 Q20 reads: --ont_r10_q20\n# for PacBio-HiFi reads: --hifi\n```\n\n### Quickstarts (small runs to test system configuration)\n|                  Test type                    |                          Links                                             |\n|:---------------------------------------------:|:--------------------------------------------------------------------------:|\n|              Docker quickstart                |  [Link](./docs/quickstart/variant_calling_docker_quickstart.md)            |\n|              Singularity quickstart           |  [Link](./docs/quickstart/variant_calling_singularity_quickstart.md)       |\n|              Docker-gpu quickstart            |  [Link](./docs/quickstart/variant_calling_docker_gpu_quickstart.md)        |\n\n### Case studies (chromosome 20 runs for performance reproducibility)\n\n|                       Pipeline                                 |                         Docker                                 |                               Singularity                                       |                     NVIDIA-docker\u003cbr\u003e(GPU)                             |\n|:--------------------------------------------------------------:|:--------------------------------------------------------------:|:-------------------------------------------------------------------------------:|:----------------------------------------------------------------------:|\n|              Nanopore R9.4.1\u003cbr\u003evariant calling                |  [Link](./docs/pipeline_docker/ONT_variant_calling.md)         |  [Link](./docs/pipeline_singularity/ONT_variant_calling_singularity.md)         |  [Link](./docs/pipeline_docker_gpu/ONT_variant_calling_gpu.md)         |\n|              Nanopore R10.4 Q20\u003cbr\u003evariant calling             |  [Link](./docs/pipeline_docker/ONT_variant_calling_r10_q20.md) |  [Link](./docs/pipeline_singularity/ONT_variant_calling_singularity_r10_q20.md) |  [Link](./docs/pipeline_docker_gpu/ONT_variant_calling_r10_q20_gpu.md) |\n|                  PacBio HiFi\u003cbr\u003evariant calling                |  [Link](./docs/pipeline_docker/HiFi_variant_calling.md)        |  [Link](./docs/pipeline_singularity/HiFi_variant_calling_singularity.md)        | [Link](./docs/pipeline_docker_gpu/HiFi_variant_calling_gpu.md)         |\n\n\n### License\n[PEPPER license](./LICENSE), [Margin License](https://github.com/UCSC-nanopore-cgl/margin/blob/master/LICENSE.txt) and [DeepVariant License](https://github.com/google/deepvariant/blob/r1.1/LICENSE) extend to the trained models (PEPPER, Margin and DeepVariant) and container environment (Docker and Singularity).\n\n### Acknowledgement\nWe are thankful to the developers of these packages:\n* [htslib \u0026 samtools](http://www.htslib.org/)\n* [pytorch](https://pytorch.org/)\n* [ONNX](https://onnx.ai/)\n* [hdf5 python (h5py)](https://www.h5py.org/)\n\n### Authors\n[PEPPER](https://github.com/kishwarshafin/pepper)-[Margin](https://github.com/UCSC-nanopore-cgl/margin)-[DeepVariant](https://github.com/google/deepvariant) pipeline is developed in a collaboration between [UC Santa Cruz genomics institute](https://ucscgenomics.soe.ucsc.edu/) and the [Genomics team in Google Health](https://health.google/health-research/genomics/).\n\n\n### Fun Fact\n\u003cimg src=\"https://vignette.wikia.nocookie.net/marveldatabase/images/7/72/Anthony_Stark_%28Earth-616%29_from_Iron_Man_Vol_5_2_002.jpg/revision/latest?cb=20130407031815\" alt=\"Iron-Man\" width=\"240p\"\u003e \u003cbr/\u003e\n\nThe name \"P.E.P.P.E.R.\" is inspired from an A.I. created by Tony Stark in the  Marvel Comics (Earth-616).\n\nPEPPER is named after Tony Stark's then friend and the CEO of Resilient, Pepper Potts.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkishwarshafin%2Fpepper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkishwarshafin%2Fpepper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkishwarshafin%2Fpepper/lists"}