Skip to main content

Python implementation of the geNorm algorithm for gene expression.

Project description

geNorm

A Python package for RNAseq housekeeping (or, reference) normalisation.

Read the docs.

You can:

  • Run the geNorm algorithm [1], which automatically selects reference genes by recursively eliminating genes with high $M$ value.
  • Compute the gene-stability measure $M$ for reference genes in a given set of samples.

Here, $M$ is defined in terms of the average variation in log-ratio expression:

M_j = \sum_{k=1}^n\frac{V_{jk}}{n-1}

where

A_{jk}^{(i)} = \log_2 \frac{a_{ij}}{a_{jk}}; V_{jk} = \sqrt{\mathrm{Var}(A_{jk})};

with expression $a_{ij}$ referring to gene $j$ in sample $i$.

Installation

You can grab geNorm from the Python Package Index:

pip3 install rna-genorm

Example

from pandas import DataFrame
from genorm import m_measure, genorm


# Expression data for three control genes.
counts = DataFrame(
    [[ 1,  2,  1],
    [ 3,  6,  5],
    [ 5, 10,  9],
    [ 3,  6,  5]],
    columns=['gene_a', 'gene_b', 'gene_c'],
    index=[f'sample_{i}' for i in range(1, 5)],
)

# Compute `M` value for this set of control genes.
m_measure(counts)

# Select top 2 control genes with lowest `M`.
gene_names, m_values = genorm(counts, n_stop=2)

Acknowledgements

Made by Hylke Donker & Bram van Es and open sourced under the Apache 2 license.

References:

[1]: Vandesompele, Jo, et al. "Accurate normalization of real-time quantitative RT-PCR data by geometric averaging of multiple internal control genes." Genome biology 3.7 (2002): 1-12.

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

rna-genorm-0.1.0.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

rna_genorm-0.1.0-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file rna-genorm-0.1.0.tar.gz.

File metadata

  • Download URL: rna-genorm-0.1.0.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.7

File hashes

Hashes for rna-genorm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f6de75b70e91440569dfb2406fb360ce8c342992cf48e38e641f951f92a0d3b0
MD5 03fd6fd8a8e57ea994d7dda34c9cde14
BLAKE2b-256 d6812c4a69da77b3957f6a5ab53096e82e55e116f32acf9356cb6ea1c10dacbb

See more details on using hashes here.

File details

Details for the file rna_genorm-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: rna_genorm-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.7

File hashes

Hashes for rna_genorm-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d218f1b833c79f7c18c2a62b43f7c4e3047938375f8594b3b59dd85361a0dd7f
MD5 01d92f26001f2cf40f3b9183eb2c894a
BLAKE2b-256 0cbb52854bf01e2a48f40535f6ac65875e8868c8c62c78b06f517a05e829a4e4

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