{"id":21287739,"url":"https://github.com/stjudecloud/ngsderive","last_synced_at":"2025-07-11T13:31:08.204Z","repository":{"id":37980376,"uuid":"223967969","full_name":"stjudecloud/ngsderive","owner":"stjudecloud","description":"Forensic analysis tool useful in backwards computing information from next-generation sequencing data.","archived":false,"fork":false,"pushed_at":"2024-08-05T07:34:34.000Z","size":1286,"stargazers_count":11,"open_issues_count":5,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-10T21:27:47.314Z","etag":null,"topics":["bioinformatics","computational-biology","gene-model","genomics","next-generation-sequencing","ngs","strandedness","strandedness-inference","workflow","workflow-engine"],"latest_commit_sha":null,"homepage":"https://stjudecloud.github.io/ngsderive","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/stjudecloud.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-25T14:28:36.000Z","updated_at":"2024-08-10T21:27:47.315Z","dependencies_parsed_at":"2024-05-06T08:29:50.632Z","dependency_job_id":"ed9789f6-5f79-4682-ada7-c6d593138154","html_url":"https://github.com/stjudecloud/ngsderive","commit_stats":{"total_commits":84,"total_committers":6,"mean_commits":14.0,"dds":0.5952380952380952,"last_synced_commit":"26242b27fe2d73e2413f872a61496cffca3922f2"},"previous_names":["claymcleod/ngsderive"],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stjudecloud%2Fngsderive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stjudecloud%2Fngsderive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stjudecloud%2Fngsderive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stjudecloud%2Fngsderive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stjudecloud","download_url":"https://codeload.github.com/stjudecloud/ngsderive/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225724172,"owners_count":17514144,"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":["bioinformatics","computational-biology","gene-model","genomics","next-generation-sequencing","ngs","strandedness","strandedness-inference","workflow","workflow-engine"],"created_at":"2024-11-21T12:15:34.388Z","updated_at":"2024-11-21T12:15:35.085Z","avatar_url":"https://github.com/stjudecloud.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ch1 align=\"center\"\u003e\n    ngsderive\n  \u003c/h1\u003e\n\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://actions-badge.atrox.dev/stjudecloud/ngsderive/goto\" target=\"_blank\"\u003e\n      \u003cimg alt=\"Actions: CI Status\"\n          src=\"https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fstjudecloud%2Fngsderive%2Fbadge\u0026style=flat\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://pypi.org/project/ngsderive/\" target=\"_blank\"\u003e\n      \u003cimg alt=\"PyPI\"\n          src=\"https://img.shields.io/pypi/v/ngsderive?color=orange\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://pypi.python.org/pypi/ngsderive/\" target=\"_blank\"\u003e\n      \u003cimg alt=\"PyPI: Downloads\"\n          src=\"https://img.shields.io/pypi/dm/ngsderive?color=orange\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://pypi.python.org/pypi/ngsderive/\" target=\"_blank\"\u003e\n      \u003cimg alt=\"PyPI: Downloads\"\n          src=\"https://img.shields.io/pypi/pyversions/ngsderive?color=orange\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/stjudecloud/ngsderive/blob/master/LICENSE.md\" target=\"_blank\"\u003e\n    \u003cimg alt=\"License: MIT\"\n          src=\"https://img.shields.io/badge/License-MIT-blue.svg\" /\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\n\n  \u003cp align=\"center\"\u003e\n    Forensic analysis tool useful in backwards computing information from next-generation sequencing data and annotating splice junctions.\n    \u003cbr /\u003e\n    \u003ca href=\"https://stjudecloud.github.io/ngsderive/\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/stjudecloud/ngsderive/issues/new?assignees=\u0026labels=\u0026template=feature_request.md\u0026title=Descriptive%20Title\u0026labels=enhancement\"\u003eRequest Feature\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/stjudecloud/ngsderive/issues/new?assignees=\u0026labels=\u0026template=bug_report.md\u0026title=Descriptive%20Title\u0026labels=bug\"\u003eReport Bug\u003c/a\u003e\n    ·\n    ⭐ Consider starring the repo! ⭐\n    \u003cbr /\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n\u003e Notice: `ngsderive` is largely a forensic analysis tool useful in backwards computing information\n\u003e from next-generation sequencing data. Notably, most results are provided as a 'best guess' —\n\u003e the tool does not claim 100% accuracy and results should be considered with that understanding.\n\u003e An exception would be the `junction-annotation` tool which analyzes more concrete evidence than the other tools.\n\n## 🎨 Features\n\nThe following attributes can be guessed using ngsderive:\n\n* \u003cb\u003eIllumina Instrument.\u003c/b\u003e Infer which Illumina instrument was used to generate the data by matching against known instrument and flowcell naming patterns. Each guess comes with a confidence score.\n* \u003cb\u003eRNA-Seq Strandedness.\u003c/b\u003e Infer from the data whether RNA-Seq data was generated using a Stranded-Forward, Stranded-Reverse, or Unstranded protocol.\n* \u003cb\u003ePre-trimmed Read Length.\u003c/b\u003e Compute the distribution of read lengths in the file and attempt to guess what the original read length of the experiment was.\n* \u003cb\u003ePHRED Score Encoding.\u003c/b\u003e Infers which encoding scheme was used to store PHRED scores as ASCII characters.\n* \u003cb\u003eJunction Annotation.\u003c/b\u003e Annotates splice junctions as novel, partial novel, or known in comparison to a reference gene model.\n\n## 📚 Getting Started\n\n### Installation\n\nYou can install ngsderive using the Python Package Index ([PyPI](https://pypi.org/)).\n\n```bash\npip install ngsderive\n```\n\n## 🖥️ Development\n\nIf you are interested in contributing to the code, please first review our [CONTRIBUTING.md][contributing-md] document. \n\nTo bootstrap a development environment, please use the following commands.\n\n```bash\n# Clone the repository\ngit clone git@github.com:stjudecloud/ngsderive.git\ncd ngsderive\n\n# Install the project using poetry\npoetry install\n```\n\n## 🚧️ Tests\n\nngsderive provides a (currently patchy) set of tests — both unit and end-to-end.\n\n```bash\npy.test\n```\n\n## 🤝 Contributing\n\nContributions, issues and feature requests are welcome!\u003cbr /\u003eFeel free to check [issues page](https://github.com/stjudecloud/ngsderive/issues). You can also take a look at the [contributing guide][contributing-md].\n\n## 📝 License\n\nThis project is licensed as follows:\n\n* All code related to the `instrument` subcommand is licensed under the [AGPL v2.0][agpl-v2]. This is not due to any strict requirement, but out of deference to some [code][10x-inspiration] I drew inspiration from (and copied patterns from), the decision was made to license this code consistently.\n* The rest of the project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.\n\nCopyright © 2020 [St. Jude Cloud Team](https://github.com/stjudecloud).\u003cbr /\u003e\n\n[10x-inspiration]: https://github.com/10XGenomics/supernova/blob/master/tenkit/lib/python/tenkit/illumina_instrument.py\n[agpl-v2]: http://www.affero.org/agpl2.html\n[contributing-md]: https://github.com/stjudecloud/ngsderive/blob/master/CONTRIBUTING.md\n[license-md]: https://github.com/stjudecloud/ngsderive/blob/master/LICENSE.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstjudecloud%2Fngsderive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstjudecloud%2Fngsderive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstjudecloud%2Fngsderive/lists"}