Tutorials#
Interactive notebooks demonstrating MaldiBatchKit workflows end to end. Each notebook is self-contained and can be downloaded from the GitHub repository.
Example Workflows#
Single-Call ComBat#
from maldibatchkit import ComBat
from maldibatchkit.diagnostics import diagnostic_report
corrector = ComBat(batch=batch, method="johnson")
X_corrected = corrector.fit_transform(X)
report = diagnostic_report(X, X_corrected, batch)
print(report)
Train/Test Safe Pipeline#
from sklearn.model_selection import train_test_split
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier
from maldibatchkit import SpeciesAwareComBat
X_train, X_test, y_train, y_test = train_test_split(
X, y, stratify=batch, random_state=42,
)
pipe = Pipeline([
("combat", SpeciesAwareComBat(batch=batch, species=species)),
("scaler", StandardScaler()),
("clf", RandomForestClassifier(n_estimators=200, random_state=42)),
])
pipe.fit(X_train, y_train)
score = pipe.score(X_test, y_test)
Chained Warping + ComBat#
from sklearn.pipeline import Pipeline
from maldibatchkit import BatchAwareWarping, ComBat
pipe = Pipeline([
("warp", BatchAwareWarping(batch=batch, method="piecewise",
n_segments=8, max_shift=10)),
("combat", ComBat(batch=batch, method="fortin",
discrete_covariates=species)),
])
X_corrected = pipe.fit_transform(X)
MaldiSet Adapter#
from maldiamrkit import MaldiSet
from maldibatchkit.integrations import MaldiSetAdapter
from maldibatchkit import QualityWeightedComBat
ds = MaldiSet.from_directory(
"spectra/", "metadata.csv",
aggregate_by=dict(antibiotics="Ceftriaxone"),
)
adapter = MaldiSetAdapter(
batch_column="Batch",
species_column="Species",
quality_column="SNR",
)
corrected_ds = adapter.correct(ds, QualityWeightedComBat)