Skip to main content

limmapy

A pure-Python port of Bioconductor limma (Ritchie et al., Nucleic Acids Research 2015) — linear models and empirical-Bayes moderated statistics for differential expression.

  • No rpy2, no R install — the core limma linear-model workflow reimplemented in NumPy / SciPy
  • The canonical pipeline: voom → lmFit → contrasts.fit → eBayes → topTable
  • Smyth 2004 empirical-Bayes variance moderation; treat, decideTests, duplicateCorrelation, removeBatchEffect
  • Both Python-style (lm_fit, ebayes, top_table) and R-style (lmFit, eBayes, topTable) names exported
  • pandas / numpy-friendly

The import name is pylimma; the PyPI distribution name is python-limma (pip install python-limma). The names pylimma / limmapy were unavailable on PyPI, so the distribution carries the omicverse-ecosystem name.

This is a standalone mirror of the implementation developed in omicverse. It powers omicverse's edgeR / limma-voom differential-expression backends and the pydeqms proteomics workflow.

Install

pip install python-limma

Quick start

import numpy as np
import pylimma

# expr: genes x samples log-expression matrix; design: samples x coefficients
fit = pylimma.lmFit(expr, design)
fit = pylimma.eBayes(fit)
res = pylimma.topTable(fit, coef=1, number=np.inf)
res.head()

RNA-seq with voom

import pylimma
v = pylimma.voom(counts, design)            # EList: mean-variance weights
fit = pylimma.eBayes(pylimma.lmFit(v.E, design, weights=v.weights))
pylimma.topTable(fit, coef=1)

API

Python R counterpart
lm_fit / lmFit lmFit
ebayes / eBayes eBayes
contrasts_fit contrasts.fit
top_table / topTable topTable
voom voom
treat treat
decide_tests / decideTests decideTests
duplicate_correlation / duplicateCorrelation duplicateCorrelation
remove_batch_effect / removeBatchEffect removeBatchEffect
MArrayLM, EList, TestResults the corresponding S4 classes

Citation

Ritchie, M.E., Phipson, B., Wu, D., Hu, Y., Law, C.W., Shi, W., Smyth, G.K. limma powers differential expression analyses for RNA-sequencing and microarray studies. Nucleic Acids Research 43(7), e47 (2015).

…and acknowledge omicverse / this repo for the Python port.

License

LGPL-3.0-or-later — matches the upstream Bioconductor package.

Metadata

Release files for python-limma 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-limma 0.1.0
File Size Uploaded
python_limma-0.1.0.tar.gz 18.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for python-limma 0.1.0
File Interpreter ABI Platform
python_limma-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 33.9 kB

Release files / python_limma-0.1.0.tar.gz

Download URL python_limma-0.1.0.tar.gz
Size 18.1 kB
Tags Source
SHA-256 checksum
How to use checksums
921b6f59f2765034b05e6ce124caa6744a4133d829537053617b9d951328c9b1
BLAKE2b-256 checksum
How to use checksums
d1122eb20ca6e6089112ee58f35e793830e6fe38e82c8e99bb9c6729b0f635e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 20, 2026.

Transparency log

Release files / python_limma-0.1.0-py3-none-any.whl

Download URL python_limma-0.1.0-py3-none-any.whl
Size 15.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e8decec55a30694320ae4e38f4a5462498b94d2b8326273c843f9863de45004f
BLAKE2b-256 checksum
How to use checksums
84c6e7fa9f82c25a982189618342a00acda50cd3fc10ea5fed854e39a1ccda64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page