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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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