{"id":25596862,"url":"https://github.com/nanoporetech/pipeline-polya-diff","last_synced_at":"2026-04-06T04:31:44.555Z","repository":{"id":85586515,"uuid":"177624430","full_name":"nanoporetech/pipeline-polya-diff","owner":"nanoporetech","description":"Pipeline for testing shifts in poly(A) tail lengths estimated by nanopolish","archived":false,"fork":false,"pushed_at":"2020-05-05T15:17:01.000Z","size":47,"stargazers_count":11,"open_issues_count":1,"forks_count":4,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-06-02T16:39:56.768Z","etag":null,"topics":["direct-rna","nanopolish","poly-a","rna"],"latest_commit_sha":null,"homepage":"","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":"2019-03-25T16:30:27.000Z","updated_at":"2025-01-11T07:59:01.000Z","dependencies_parsed_at":"2023-03-13T05:57:08.371Z","dependency_job_id":null,"html_url":"https://github.com/nanoporetech/pipeline-polya-diff","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nanoporetech/pipeline-polya-diff","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanoporetech%2Fpipeline-polya-diff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanoporetech%2Fpipeline-polya-diff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanoporetech%2Fpipeline-polya-diff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanoporetech%2Fpipeline-polya-diff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nanoporetech","download_url":"https://codeload.github.com/nanoporetech/pipeline-polya-diff/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanoporetech%2Fpipeline-polya-diff/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31460012,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"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":["direct-rna","nanopolish","poly-a","rna"],"created_at":"2025-02-21T12:34:56.081Z","updated_at":"2026-04-06T04:31:44.527Z","avatar_url":"https://github.com/nanoporetech.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![ONT_logo](/ONT_logo.png)\n-----------------------------\n\nPipeline for testing shifts in poly(A) tail lengths estimated by nanopolish\n===========================================================================\n\nThis pipeline takes the output file `tails/filtered_tails.tsv` generated by [pipeline-polya-ng](https://github.com/nanoporetech/pipeline-polya-ng) (which uses [nanopolish](https://github.com/jts/nanopolish)) from multiple control and treated samples and performs analysis on shifts in poly(A) tail lengths.\n\nThe differences in tail length are analysed on the global level and transcript level using the [Mann–Whitney U test](https://en.wikipedia.org/wiki/Mann%E2%80%93Whitney_U_test).\n\nGetting Started\n===============\n\n## Input\n\nThe input files and parameters are specified in `config.yml`:\n\n- `control_tails` - YAML dictionary with the tail estimates from the control samples. The keys are sample names and values are paths to the input files (e.g. `wt1: \"/path/to/filtered_tails.tsv`\"`).\n- `treated_tails` - YAML dictionary with the tail estimates from the treated samples.\n- `min_reads_per_transcript` - minimum reads per transcript per sample.\n- `per_transcript_plots` - generate per-transcript plots (true or false).\n\n## Output\n\n- `merged/all_tails.tsv` - all input data merged into a single data frame.\n- `report/`:\n    - `polya_diff_global.tsv` - summary of global poly(A) tail length distribution in control and treated samples.\n    - `polya_diff_per_transcript.tsv` - per-transcript poly(A) tail shift testing results.\n    - `polya_diff_report.pdf` - global and per-transcript testing plots.\n\n\n## Dependencies\n\n- [miniconda](https://conda.io/miniconda.html) - install it according to the [instructions](https://conda.io/docs/user-guide/install/index.html).\n- [snakemake](https://anaconda.org/bioconda/snakemake) install using `conda`.\n- [pandas](https://anaconda.org/conda-forge/pandas) - install using `conda`.\n- The rest of the dependencies are automatically installed using the `conda` feature of `snakemake`.\n\n## Layout\n\n* `README.md`\n* `Snakefile`         - master snakefile\n* `config.yml`        - YAML configuration file\n* `snakelib/`         - snakefiles collection included by the master snakefile\n* `lib/`              - python files included by analysis scripts and snakefiles\n* `scripts/`          - analysis scripts\n* `data/`             - input data needed by pipeline - use with caution to avoid bloated repo\n* `results/`          - pipeline results to be commited - use with caution to avoid bloated repo\n\n## Installation\n\nClone the repository:\n\n```bash\ngit clone https://github.com/nanoporetech/pipeline-polya-diff\n```\n\n## Usage:\n\nEdit `config.yml` to set the input datasets and parameters, then issue:\n\n```bash\nsnakemake --use-conda -j \u003cnum_cores\u003e all\n```\n\nHelp\n====\n\n## Licence and Copyright\n\n(c) 2019 Oxford Nanopore Technologies Ltd.\n\nThis Source Code Form is subject to the terms of the Mozilla Public\nLicense, v. 2.0. If a copy of the MPL was not distributed with this\nfile, You can obtain one at http://mozilla.org/MPL/2.0/.\n\n## FAQs and tips\n\n## References and Supporting Information\n\n### Research Release\n\nResearch releases are provided as technology demonstrators to provide early access to features or stimulate Community development of tools. Support for this software will be minimal and is only provided directly by the developers. Feature requests, improvements, and discussions are welcome and can be implemented by forking and pull requests. However much as we would like to rectify every issue and piece of feedback users may have, the developers may have limited resource for support of this software. Research releases may be unstable and subject to rapid iteration by Oxford Nanopore Technologies.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanoporetech%2Fpipeline-polya-diff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnanoporetech%2Fpipeline-polya-diff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanoporetech%2Fpipeline-polya-diff/lists"}