Python package for Biological Omics Data Missing Value Imputation
Project description
Ompute
Ompute is a Python package for omics data missing value imputation, providing a unified interface to 22 individual and 10 Tribrid imputation models. Each model implements a reproducible classical, machine-learning, bayesian, or hybrid strategy to handle MCAR, MAR, and MNAR missing values in omics datasets.
Imputation Model Details
Individual Imputation Models
| Category | Model Name |
|---|---|
| MCAR | Mean Imputation |
| MCAR | Median Imputation |
| MCAR | Mode Imputation |
| MCAR | Hot-Deck Imputation |
| MCAR | KNN Imputation |
| MCAR | MissForest Imputation |
| MCAR | PPCA / BPCA |
| MCAR | SVD / SoftImpute |
| MCAR | Expectation-Maximization (EM) |
| MAR | MICE / Iterative Imputer |
| MAR | Linear / ElasticNet Regression Imputation |
| MAR | Random Forest Regression Imputation |
| MAR | Local Least Squares (LLS / LSA) |
| MAR | SoftImpute (Matrix Completion) |
| MAR | MissMDA (PCA Iterative) |
| MAR | Bayesian Regression (DPR) |
| MAR | Autoencoder Imputation |
| MNAR | MinDet (Minimum Detection Limit) |
| MNAR | MinProb (Minimum Probability) |
| MNAR | Perseus Downshifted Normal |
| MNAR | Truncated Normal Imputation |
| MNAR | QRILC (Quantile Regression Imputation of Left-Censored) |
Tribrid (Hybrid) Models
| Model | MCAR Component | MAR Component | MNAR Component |
|---|---|---|---|
| trb1 | KNN Imputation | MissForest Imputation | QRILC |
| trb2 | KNN Imputation | Random Forest Regression | QRILC |
| trb3 | Mean Imputation | MICE / Iterative Imputer | MinProb |
| trb4 | Median Imputation | Linear / ElasticNet Regression | Perseus Downshifted Normal |
| trb5 | Mode Imputation | MissForest Imputation | MinDet |
| trb6 | Hot-Deck Imputation | Local Least Squares (LLS / LSA) | Truncated Normal Imputation |
| trb7 | KNN Imputation | MissForest Imputation | Perseus Downshifted Normal |
| trb8 | SVD / SoftImpute | MissMDA (PCA Iterative) | QRILC |
| trb9 | PPCA / BPCA | MICE / Iterative Imputer | MinProb |
| trb10 | KNN Imputation | Random Forest Regression | MinDet |
Input and Experimental Design Structure
1. Input File (input.csv)
The package accepts only CSV files as input.
The input.csv file can contain both metadata columns (e.g., Gene, Protein, Protein Description) and data columns (quantitative features such as intensities or expression values) to be considered for imputation.
Only the data columns specified in the experimental design file (expdes.csv) will be subjected to imputation.
2. Experimental Design File (expdes.csv)
The expdes.csv file defines the structure and mapping between metadata and data columns for imputation.
It guides the imputation pipeline by indicating which columns in the input file correspond to biological metadata and which correspond to numeric data values.
Example:
| Column Name | Group | Replicate |
|---|---|---|
| Control | Control | 1 |
| Control | Control | 2 |
| Control | Control | 3 |
| TreatmentA1 | Test1 | 1 |
| TreatmentA2 | Test1 | 2 |
| TreatmentA3 | Test1 | 3 |
| TreatmentB1 | Test2 | 1 |
| TreatmentB2 | Test2 | 2 |
| TreatmentB3 | Test2 | 3 |
3. Notes
- Both
input.csvandexpdes.csvmust have matching column names for imputation and are case-sensitive. - Missing values (
NaN/0/ blank) in data columns are imputed by the selected model. - Other metadata columns remain same and reflected as it is conserving the original file structure.
- The package expects all input files in comma-separated CSV format with headers.
Usage
Each model can be executed directly as a function once the package is installed.
import ompute
# Example 1: Run an individual model
ompute.knn(i="data/input.csv", d="data/expdes.csv", o="/results")
# Example 2: Run a Tribrid model
ompute.trb1(i="data/input.csv", d="data/expdes.csv", o="/results")
# Example 3: Get imputed data as a pandas DataFrame
df = ompute.mean(i="data/input.csv", d="data/expdes.csv", o="/results", return_df=True)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ompute-1.0.0.tar.gz.
File metadata
- Download URL: ompute-1.0.0.tar.gz
- Upload date:
- Size: 36.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ae3fff9e996dd5690b1fc114a984730a447e7f399bb6e1de8d43974e51ffab1
|
|
| MD5 |
3f6e33c11ff6ff66d7b1407c76daf977
|
|
| BLAKE2b-256 |
bfe351fb6c4529fcf80c17301c3542e5d95a4b08ec089f7d1e0676e453acf422
|
File details
Details for the file ompute-1.0.0-py3-none-any.whl.
File metadata
- Download URL: ompute-1.0.0-py3-none-any.whl
- Upload date:
- Size: 88.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df6bdd7f9414f64f9979c95c078b538f037a2d58898cb2cad8eb1d116842c0fe
|
|
| MD5 |
0a3019e3226c38d08ac0f0ea89f8bb16
|
|
| BLAKE2b-256 |
8586cc670a421d3a01c1a748835dd3120dd36d3d9f197038775e94aa4fc811cd
|