Skip to main content

Normalization of RNA-seq gene expression.

Project description

Build Status Code Style Black Version on PyPI Supported Python versions Number of downloads from PyPI

Normalization of RNA-seq gene expression data. Supported methods:

  • Counts per million (CPM)

  • Transcript per kilobase million (TPM)

  • Fragments per kilobase million (FPKM)

  • Quantile normalization to average distribution

The TPM / FPKM normalization can either accept pre-computed gene lengths on the input or compute gene lengths from gene annotation in GTF format, using the union exon-based approach. The computed gene lengths are identical to the lengths reported by featureCounts (validated for Homo sapiens, Mus musculus, Rattus norvegicus, and Macaca mulatta of ENSEMBL and UCSC annotations).

Quantile normalization is implemented as described on Wikipedia. First, we compute an average distribution by sorting each sample (column) and taking the mean over rows to determine the rank values. Second, we compute ranks over columns (samples) and substitute the rank with the rank value (average expression for each rank).

Usage

Install rnanorm Python package:

pip install rnanorm

See rnanorm command help:

rnanorm --help

Run rnanorm with pre-computed gene lengths:

rnanorm expr.tsv --cpm-output=expr.cpm.tsv --tpm-output=expr.tpm.tsv --gene-lengths=lengths.tsv

Run rnanorm with genome annotation - gene lengths will be computed on the fly:

rnanorm expr.tsv --cpm-output=expr.cpm.tsv --tpm-output=expr.tpm.tsv --annotation=annot.gtf

For quantile normalization we suggest using TPM expressions on the input:

rnanorm expr.tpm.tsv --quantile-output=expr.quantile.tsv

Contributing

Install rnanorm Python package for development:

flit install --deps=all --symlink

Run all tests and linters:

tox

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rnanorm-1.5.0.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

rnanorm-1.5.0-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file rnanorm-1.5.0.tar.gz.

File metadata

  • Download URL: rnanorm-1.5.0.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for rnanorm-1.5.0.tar.gz
Algorithm Hash digest
SHA256 79ff9619b69a92960aebf7a75d65296abb15766879dff08cf56a3e2acde9467c
MD5 a865cf2b5c1df852d9a565a3d645ea1e
BLAKE2b-256 6f9b47620a2192643c1ed0eaa0dd16e18d72c6bd47edf1bfc7292bfff64ba5aa

See more details on using hashes here.

File details

Details for the file rnanorm-1.5.0-py3-none-any.whl.

File metadata

  • Download URL: rnanorm-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for rnanorm-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c953babe8b1508aa566fdca1ae25bcefa61937c1c24c6e79038dff43a5b1f5ab
MD5 a7cc3b70c8963ad8826d4ba5ef4bc9f0
BLAKE2b-256 fb32a8b9cfb103adb67a4b5e59ed4433005b6b40c60b2c21c63a7767f7a90a1a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page