Skip to content

feat(limma): implement robust eBayes variance moderation path - #177

Open
afvallejo wants to merge 1 commit into
epigenelabs:masterfrom
afvallejo:codex/robust-ebayes
Open

afvallejo wants to merge 1 commit into
epigenelabs:masterfrom
afvallejo:codex/robust-ebayes

Conversation

@afvallejo

@afvallejo afvallejo commented Feb 20, 2026

Copy link
Copy Markdown

feat(limma): implement robust eBayes variance moderation path

Description and Context

  • JIRA: N/A
  • This PR enables the robust eBayes variance moderation path in limma by replacing the previous NotImplementedError behavior when robust=True.
  • squeezeVar now uses robust hyperparameter estimation (via robust fitFDist flow) instead of failing.
  • The non-robust path (robust=False) remains unchanged to preserve backward compatibility.
  • Minor repo hygiene included:
    • add .DS_Store to .gitignore
    • add pytest in pyproject.toml test extra

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • No code (non-breaking change that does not impact code: formatting, build system, documentation...)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Release (version number increment, possibly with documentation updates)

Test strategy

  • Verified the robust branch no longer raises NotImplementedError.
  • Verified default non-robust behavior is unchanged.
  • Recommend running full test suite in CI before merge.

@afvallejo afvallejo left a comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented robust eBayes variance moderation in squeezeVar by replacing the previous NotImplementedError robust branch with the robust fitting path, while preserving existing behavior when robust=False. This is a focused, backward-compatible change that unblocks robust limma workflows

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant