Skip to content
Back to skills

Bio Applied Data Harmonization

ASecurity

Multi-omics data harmonization — normalization strategies, missing data imputation, batch correction, and integration approaches (MOFA2, DIABLO)

  • 4 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 27, 2026
data-aipythontestinggitdocumentation

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add Pavel-Kravchenko/Bioinformatics --skill bio-applied-data-harmonization --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Bio Applied Data Harmonization?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Bio Applied Data Harmonization
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/pavel-kravchenko-bio-applied-data-harmonization/badge)](https://www.skillsdirectory.com/skills/pavel-kravchenko-bio-applied-data-harmonization)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: bio-applied-data-harmonization
description: "Multi-omics data harmonization — normalization strategies, missing data imputation, batch correction, and integration approaches (MOFA2, DIABLO)"
tool_type: python
primary_tool: Matplotlib
---

# Data Harmonization for Multi-Omics

- [MOFA2 documentation](https://biofam.github.io/MOFA2/)
- [mixOmics documentation](http://mixomics.org/)

## Integration Strategies

- **Concatenation (early)**: merge all matrices -> dimension reduction
- **Meta-analysis (late)**: analyze each omics separately -> combine results
- **Factor analysis (intermediate)**: MOFA2, iCluster — learn shared latent factors
- **Supervised (DIABLO)**: use sample labels to guide integration

## Normalization by Data Type

| Data type | Recommended normalization | Rationale |
|---|---|---|
| RNA-seq counts | TMM/DESeq2 VST -> z-score | Library size + biological variation |
| Proteomics intensities | Median centering + z-score | Inter-sample variation |
| Methylation beta | logit (M-value) -> z-score | Beta bounded 0-1 |
| Metabolomics | Probabilistic quotient + log | Dilution effects |

**Key principle**: normalize *within* each omics layer before integration.

## Missing Data Imputation

| Mechanism | Description | Strategy |
|---|---|---|
| MCAR | Random technical failures | KNN or mean imputation |
| MAR | Depends on observed data | KNN imputation |
| MNAR | Below detection limit | min/2 imputation |

Proteomics missing values (~20-40%) are predominantly MNAR. Best practice:
1. Filter proteins missing in >50% of samples
2. Half-minimum imputation for MNAR; KNN for MAR
3. Flag imputed values for sensitivity analysis

```python
from sklearn.impute import KNNImputer

# KNN imputation (MAR)
imputed_knn = KNNImputer(n_neighbors=5).fit_transform(prot_missing)

# Min/2 imputation (MNAR)
imputed_mnar = np.where(np.isnan(prot_missing),
                        np.nanmin(prot_missing, axis=0) / 2, prot_missing)
```

## Batch Effect Correction

**Detection**: PCA (samples cluster by batch, not biology), PVCA (variance decomposition), RLE plot.

| Tool | Method | Use case |
|---|---|---|
| ComBat | Empirical Bayes | Single covariate batch correction |
| ComBat-seq | Negative binomial | RNA-seq count data |
| Harmony | Iterative correction | scRNA-seq integration |
| limma removeBatchEffect | Linear model | After normalization |
| MNN | Mutual nearest neighbors | Single-cell multi-batch |

**Never correct batch when confounded with biology** (all tumor in Batch1, all normal in Batch2). Always check with `table(batch, type)` first.

## Pitfalls

- **Coordinate systems**: BED uses 0-based half-open; VCF/GFF use 1-based inclusive — mixing them causes off-by-one errors
- **Batch effects**: Always check for batch confounding before interpreting biological signal
- **Multiple testing**: Apply FDR correction (Benjamini-Hochberg) when testing thousands of features simultaneously

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…