Skip to content

Pipeline for testing shifts in poly(A) tail lengths estimated by nanopolish

License

Notifications You must be signed in to change notification settings

nanoporetech/pipeline-polya-diff

Repository files navigation

ONT_logo

Pipeline for testing shifts in poly(A) tail lengths estimated by nanopolish

This pipeline takes the output file tails/filtered_tails.tsv generated by pipeline-polya-ng (which uses nanopolish) from multiple control and treated samples and performs analysis on shifts in poly(A) tail lengths.

The differences in tail length are analysed on the global level and transcript level using the Mann–Whitney U test.

Getting Started

Input

The input files and parameters are specified in config.yml:

  • 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"`).
  • treated_tails - YAML dictionary with the tail estimates from the treated samples.
  • min_reads_per_transcript - minimum reads per transcript per sample.
  • per_transcript_plots - generate per-transcript plots (true or false).

Output

  • merged/all_tails.tsv - all input data merged into a single data frame.
  • report/:
    • polya_diff_global.tsv - summary of global poly(A) tail length distribution in control and treated samples.
    • polya_diff_per_transcript.tsv - per-transcript poly(A) tail shift testing results.
    • polya_diff_report.pdf - global and per-transcript testing plots.

Dependencies

  • miniconda - install it according to the instructions.
  • snakemake install using conda.
  • pandas - install using conda.
  • The rest of the dependencies are automatically installed using the conda feature of snakemake.

Layout

  • README.md
  • Snakefile - master snakefile
  • config.yml - YAML configuration file
  • snakelib/ - snakefiles collection included by the master snakefile
  • lib/ - python files included by analysis scripts and snakefiles
  • scripts/ - analysis scripts
  • data/ - input data needed by pipeline - use with caution to avoid bloated repo
  • results/ - pipeline results to be commited - use with caution to avoid bloated repo

Installation

Clone the repository:

git clone https://github.com/nanoporetech/pipeline-polya-diff

Usage:

Edit config.yml to set the input datasets and parameters, then issue:

snakemake --use-conda -j <num_cores> all

Help

Licence and Copyright

(c) 2019 Oxford Nanopore Technologies Ltd.

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

FAQs and tips

References and Supporting Information

Research Release

Research 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.

About

Pipeline for testing shifts in poly(A) tail lengths estimated by nanopolish

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages