An open API service indexing awesome lists of open source software.

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

Pipeline for testing shifts in poly(A) tail lengths estimated by nanopolish
https://github.com/nanoporetech/pipeline-polya-diff

direct-rna nanopolish poly-a rna

Last synced: about 2 months ago
JSON representation

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

Awesome Lists containing this project

README

        

![ONT_logo](/ONT_logo.png)
-----------------------------

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](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.

The 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).

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](https://conda.io/miniconda.html) - install it according to the [instructions](https://conda.io/docs/user-guide/install/index.html).
- [snakemake](https://anaconda.org/bioconda/snakemake) install using `conda`.
- [pandas](https://anaconda.org/conda-forge/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:

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

## Usage:

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

```bash
snakemake --use-conda -j 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.