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.1.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for rnanorm-1.5.1.tar.gz
Algorithm Hash digest
SHA256 67d01aca0032ecefb68d29ebfcadefff697896549a0b3a4468a6ca7321f9796e
MD5 7b58d9b7c043eeffc70016c0031e4ef7
BLAKE2b-256 e922195c9053586f0d9336fa55150ebb84fd3b0345c753e741105424a8429025

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rnanorm-1.5.1-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.13

File hashes

Hashes for rnanorm-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6ca4ae7f578f0441158abffd2aab8c51dbf63c4578582948cdd6b9b3902466b7
MD5 aed6abf373481509493259f7be56c399
BLAKE2b-256 8257afa27b7a2b365551b0fca54e9f0931333524d6d4ad9ea341369227a3e638

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