agentsclimarketplace

Roc auc computation for phenotype prediction

Skill HolobiomicsLab/asb-skill-collections/collections/metabolomics/v2/skills/roc-auc-computation-for-phenotype-prediction

Use when you have constructed consensus-clustered microbe and metabolite modules from microbiome-metabolome interaction data and wish to test whether these module-level features have clinically predictive value for a binary phenotype (e.g., disease vs. healthy).From its SKILL.md

Install
npx -y skills add HolobiomicsLab/asb-skill-collections --skill roc-auc-computation-for-phenotype-prediction

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 15 stars15 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as CC-BY-4.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

8.2 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

ROC-AUC computation for phenotype prediction

Summary

Trains binary neural network classifiers on derived microbe-metabolite module features to predict disease phenotype (IBD status), evaluating discriminative performance using area-under-ROC-curve (AUC) as the primary metric across multiple random iterations to assess robustness.

When to use

You have constructed consensus-clustered microbe and metabolite modules from microbiome-metabolome interaction data and wish to test whether these module-level features have clinically predictive value for a binary phenotype (e.g., disease vs. healthy). Use this skill when you want to move from exploratory network discovery to quantitative phenotype prediction and need a robust, iteration-based AUC estimate to compare prediction performance across different input transformations or model architectures.

When NOT to use

  • Input phenotype is continuous (not binary); use regression metrics (e.g., Pearson correlation, RMSE) instead of ROC-AUC.
  • Module features have not yet been constructed or validated; apply this skill only after consensus clustering has produced stable, interpretable microbe-metabolite modules.
  • Sample size is very small (<30 total) or class imbalance is extreme (>95:5); ROC-AUC may be misleading; consider stratified resampling or alternative metrics.

Inputs

  • Module feature matrix (samples × module features, normalized feature values)
  • Binary phenotype labels (samples × 1, class assignment per sample)
  • Optionally, two parallel input transformations (e.g., CLR and relative abundance module features)

Outputs

  • AUC scores from 100 iterations (distribution of performance metrics)
  • Mean and variance of AUC across iterations per condition
  • Comparison table of AUC between input transformations or model variants

How to apply

Train a 3-layer binary neural network classifier (32 nodes per layer) on module feature values (derived from consensus-clustered microbes and metabolites) to predict binary phenotype labels (e.g., IBD vs. control). Perform 100 independent training runs with random initialization to generate a distribution of AUC scores rather than a single point estimate. Compute area-under-ROC-curve (AUC) for each run on a held-out test set (the IBD PRISM cohort or equivalent), recording the mean and variance across all 100 iterations. This iteration-based evaluation guards against initialization sensitivity and allows fair comparison: compute AUC separately for each input transformation (e.g., CLR vs. relative abundance) or model variant and document the magnitude of improvement.

Related tools

  • TensorFlow or PyTorch (Neural network framework for training 3-layer binary classifier on module features)
  • scikit-learn (Provides ROC curve computation and AUC metric calculation from predicted probabilities and true labels)

Examples

python -c "from sklearn.metrics import roc_auc_score; import numpy as np; auc_scores = [roc_auc_score(y_test, y_pred_proba[:, 1]) for _ in range(100)]; print(f'Mean AUC: {np.mean(auc_scores):.3f} ± {np.std(auc_scores):.3f}')"

Evaluation signals

  • AUC values range between 0.5 (random chance) and 1.0 (perfect discrimination); mean AUC should be meaningfully above 0.5 if modules capture phenotype signal.
  • Variance across 100 iterations should be low (tight distribution) to indicate robust, reproducible prediction; high variance suggests unstable features or insufficient training data.
  • AUC improvement magnitude (e.g., CLR vs. relative abundance) should be documented; if improvement is <5% absolute, practical significance is questionable.
  • Mean AUC should be consistent on external validation cohort if one is provided (e.g., IBD external cohort); large drop in AUC on external data indicates overfitting.
  • Receiver-operating-characteristic curve should show clear separation from the diagonal (no-discrimination line); visual inspection of ROC plots across iterations confirms consistency.

Limitations

  • AUC does not account for class imbalance; if phenotype prevalence is skewed, consider computing precision-recall AUC or sensitivity/specificity trade-off metrics alongside ROC-AUC.
  • Module features must be properly normalized and stable; if consensus clustering produces few or highly correlated modules, AUC may be inflated or uninformative.
  • Single-iteration AUC estimates (without the 100-iteration framework) can be sensitive to random weight initialization; the paper's 100-iteration protocol is necessary for robustness.
  • AUC reflects discriminative capacity but does not guarantee biological interpretability of individual module associations; modules should be validated for functional coherence independently of AUC.
  • External validation on completely independent cohorts was not performed in all datasets; generalization to new populations is not guaranteed.

Evidence

  • [methods] Train binary neural network classifiers (3-layer, 32 nodes per layer) on CLR and RA module feature values to predict IBD status; evaluate on IBD (PRISM) using 100 iterations with area-under-ROC-curve (AUC) metric.: "Train binary neural network classifiers (3-layer, 32 nodes per layer) on CLR and RA module feature values to predict IBD status; evaluate on IBD (PRISM) using 100 iterations with area-under-ROC-curve"
  • [methods] Compare counts of well-predicted metabolites and AUC scores between CLR and RA, documenting the magnitude of improvement for CLR.: "Compare counts of well-predicted metabolites and AUC scores between CLR and RA, documenting the magnitude of improvement for CLR."
  • [results] MiMeNet then trains multiple network models using 10-fold cross-validation: "MiMeNet then trains multiple network models using 10-fold cross-validation"
  • [results] the predictive performance of a model is measured by the average Spearman correlation coefficients (SCCs) between the predicted and the observed abundance of the metabolites: "the predictive performance of a model is measured by the average Spearman correlation coefficients (SCCs) between the predicted and the observed abundance of the metabolites"
  • [results] constructs a module-based interaction network: "constructs a module-based interaction network"

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.