{"id":25596856,"url":"https://github.com/nanoporetech/panga","last_synced_at":"2026-06-20T03:31:51.393Z","repository":{"id":85586506,"uuid":"138292890","full_name":"nanoporetech/panga","owner":"nanoporetech","description":null,"archived":false,"fork":false,"pushed_at":"2020-10-13T19:12:55.000Z","size":7747,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-04-06T08:02:15.312Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nanoporetech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2018-06-22T11:05:28.000Z","updated_at":"2024-04-02T02:10:30.000Z","dependencies_parsed_at":"2023-03-13T05:57:07.992Z","dependency_job_id":null,"html_url":"https://github.com/nanoporetech/panga","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nanoporetech/panga","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanoporetech%2Fpanga","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanoporetech%2Fpanga/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanoporetech%2Fpanga/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanoporetech%2Fpanga/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nanoporetech","download_url":"https://codeload.github.com/nanoporetech/panga/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanoporetech%2Fpanga/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34556494,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-02-21T12:34:50.454Z","updated_at":"2026-06-20T03:31:51.387Z","avatar_url":"https://github.com/nanoporetech.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Read Builder\n--------------\n\nA somewhat generic system for classifying the channel state throughout the\ncourse of an experiment.\n\nHere, a *read* is a contiguous run of events/raw data points that correspond to an\nidentifiable channel state.\n\nWe follow the same three-step process used in previous implementations, but allow\nfor some useful additions.\n\n 1. **Determine read boundaries:** Calculates start and end coordinates of\n    reads, and outputs reads as raw or event data. Naively, neighbouring reads\n    are ultimately expected to be assigned different classes.\n \n 2. **Calculate metrics on reads:** Takes event (or raw) data provided by\n    step 1. and calculates summary statistics (of arbitrary complexity). May\n    optionally take exogenous data concerning the state of a channel, e.g.\n    saturation status.\n    \n 3. **Classify reads:** Takes the matrix of metrics for a read (and possibly the\n    metrics of surrounding reads) to output an additional *metric*: the\n    classification.\n\nThe smart cookie notices that this system is rather *backwards*: one would hope\nto label read boundaries by running a classifier over a channel and outputting\nboundaries where there is a state change. The above does not exclude this;\nstep 1. could be arbitrarily complex. The framework requires only that it\noutput read data (and optionally key-value pairs of meta data).\n\nThe key differences between the current framework and previous incarnations are:\n\n  * Clear separation of the three steps.\n  * The ability to calculate classes based on metrics of surrounding reads.\n  * Defined interface to each step such that the methodology used in each can\n    be changed depending on the application.\n  * Low memory use: reads are processed individually rather than storing all\n    data for a channel in memory.\n  * Multiprocessing across channels.\n\nInstallation\n------------\n\nPanga installs into a virtual environment. Installation should should be as simple as running  \n    Make install \n\nOn Ubuntu, you will need to install the virtualenv and python-dev packages.\n    sudo apt-get install python-virtualenv python-dev \n\nRunning read_builder\n--------------------\n\nPanga read_builder is installed into a virtual environment. To run it first activate your environment\n    source panga_directory/venv/bin/activate \n\n\nTo analyse Minknow reads use:\n    read_builder --fast5 path_to_bulk_hdf --config $(panga_config_dir)/standard_minknow_classes.yml --outpath read_builder --summary_file read_summary.txt \n\nExample configs for more advanced analyses such as redetection of read boundaries, read metrics and classifications can be found in the panga config directory:\n    ls $(panga_config_dir)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanoporetech%2Fpanga","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnanoporetech%2Fpanga","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanoporetech%2Fpanga/lists"}