mdhewei/bioinfor-claw/omics-ml-classifier
Claude Code and agent skill by mdhewei/bioinfor-claw
- community
Checking that the SKILL.md file is still in the repository.
Train and evaluate machine learning classifiers on omics data (gene expression, mutation scores, copy number, or any numeric feature matrix). Supports Random Forest, Logistic Regression, SVM, and XGBoost. Outputs cross-validation metrics, test set performance, feature importances, ROC curve, confusion matrix, and optional UMAP embedding. Works with any two-class or multi-class label.
Install
npx vskill@latest install mdhewei/bioinfor-claw/omics-ml-classifierSKILL.md
Omics ML Classifier
Purpose
Train a supervised machine learning classifier on omics data and evaluate its performance.
Typical use cases:
- Classify samples by cancer subtype from gene expression
- Predict treatment response from mutation or expression profiles
- Distinguish tumor from normal from multi-omics features
- Identify the most predictive genes or biomarkers for a phenotype
Supported models:
random_forest— Random Forest (default; handles high-dimensional data, provides feature importance)logistic— Logistic Regression with L2 regularisationsvm— Support Vector Machine (RBF kernel)xgboost— XGBoost gradient boosting (requiresxgboostpackage)
Default model: random_forest
Reuse policy
This skill is designed for:
- Phenotype classification from any numeric omics matrix
- Biomarker discovery (via feature importance ranking)
- Model benchmarking across multiple classifier types
- Downstream validation of DE or pathway analysis results
This skill requires user-provided local files (feature matrix + label file).
Inputs
Required
--features— feature matrix (TSV or CSV)- Rows = samples
- Columns = features (gene names, protein IDs, etc.)
- Values = numeric (expression, mutation score, etc.)
--labels— label file (TSV or CSV)- Must have columns:
sample,label samplemust match row names in--featureslabelis the class to predict (e.g.responder,non-responder)
--outdir— output directory
Optional
--model
Choices: random_forest, logistic, svm, xgboost Default: random_forest
--select-k
Default: None (use all features) Select top-K features by ANOVA F-score before training. Recommended for very high-dimensional data (> 5000 features).
--test-size
Default: 0.2 Fraction of samples held out for final test evaluation.
--cv-folds
Default: 5 Number of stratified cross-validation folds.
--random-state
Default: 42 Random seed for reproducibility.
--prefix
Default: <model>_classifier Output file prefix.
--top-n-features
Default: 30 Number of top features shown in the importance plot.
--umap
Flag. Generate UMAP embedding coloured by class label. Requires umap-learn package.
Input file formats
Feature matrix (--features)
Label file (--labels)
Outputs
Always
<prefix>.cv_results.tsv— per-fold and mean CV metrics (accuracy, ROC-AUC, F1)<prefix>.test_metrics.tsv— full classification report on held-out test set<prefix>.feature_importance.tsv— feature importance or coefficient magnitudes, rankedml_summary.tsv— one-row summary of all key metricssummary.txt— human-readable summary
Plots
<prefix>.roc_curve.png/.pdf— ROC curve with AUC annotation<prefix>.confusion_matrix.png/.pdf— normalised confusion matrix<prefix>.feature_importance.png/.pdf— top feature importance bar chart<prefix>.umap.png/.pdf— UMAP embedding (only when--umapis set)
Execution policy
Construct the command from required arguments and optional parameters.
Command template
Example commands
Default Random Forest
Logistic Regression with feature selection
XGBoost with UMAP visualisation
SVM with 10-fold CV
Downstream skill chaining
| This skill's output | Next skill | How | |
|---|---|---|---|
<prefix>.feature_importance.tsv | go-analysis-for-gene-list | Pass top features as gene list | |
<prefix>.feature_importance.tsv | annotation-for-gene-list | Annotate top predictive genes | |
| Top feature genes | depmap-analysis-for-gene | Validate biomarker in DepMap | |
| Top feature genes | tcga-survival-for-gene | Test survival impact of top biomarker |
Parameter decision guide
| Signal in user request | Parameter to set | |
|---|---|---|
| High-dimensional omics (> 1000 genes) | --model random_forest (default; handles dimensionality well) | |
| "interpretable / linear model" | --model logistic | |
| Small dataset (< 100 samples) | --model svm | |
| "gradient boosting / XGBoost" | --model xgboost | |
| Very high dimensions (> 5000 features) | add --select-k 500 to reduce features before training | |
| "top 200 genes" (feature selection) | --select-k 200 | |
| "show UMAP embedding" | add --umap flag (requires umap-learn) | |
| "10-fold cross-validation" | --cv-folds 10 | |
| "small dataset, leave-one-out-like" | --cv-folds 10 with small test-size | |
| "holdout test set = 30%" | --test-size 0.3 | |
| "show top 50 features" | --top-n-features 50 | |
| "reproducible results" | --random-state 42 (default; set explicitly if comparing runs) |
| Scenario | Recommended model | |
|---|---|---|
| High-dimensional omics (> 1000 features) | random_forest | |
| Need interpretable coefficients | logistic | |
| Small dataset (< 100 samples) | svm | |
| Structured/tabular multi-omics | xgboost | |
| First pass / exploratory | random_forest |
Failure conditions
Fail clearly if:
--features,--labels, or--outdirare missing- No common samples between feature matrix and label file
- Label file is missing
sampleorlabelcolumns - Feature matrix has no numeric columns after NaN filtering
--model xgboostis requested butxgboostis not installed- Fewer samples than
--cv-folds(reduce--cv-folds)
Agent trigger examples
Trigger this skill when the user asks:
- "Build a classifier to predict cancer subtype from expression data"
- "Which genes best distinguish responders from non-responders?"
- "Train a Random Forest on my omics matrix"
- "Can you predict treatment response from this gene expression data?"
- "Run ML classification with cross-validation on my dataset"
- "What are the most important features for classifying tumor vs normal?"
- "Use XGBoost to classify my samples and show me a UMAP"
Do NOT trigger this skill when the user asks:
- "Cluster my samples" → use unsupervised clustering (not yet available)
- "Run differential expression" → use
rnaseq-differential-expression - "Train a deep learning model" → neural network skill (not yet available)
- "Predict drug sensitivity scores" → DepMap analysis, use
depmap-analysis-for-gene
Notes
- All features are standardised (zero mean, unit variance) before training.
- Missing values (NaN) in the feature matrix are imputed with column medians.
random_forestandxgboostprovide native feature importances (Gini / gain).
logistic and svm use absolute coefficient values as proxy importances.
- ROC-AUC is reported as weighted OvR (one-vs-rest) for multi-class problems.
- For imbalanced classes, all models use
class_weight="balanced"(except XGBoost). --select-kapplies ANOVA F-score feature selection on the training fold only
to avoid data leakage.
--umaprequiresumap-learn(pip install umap-learn); skipped gracefully if absent.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingmachine-learning-and-deep-learning/omics-ml-classifier/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mdhewei/bioinfor-claw/omics-ml-classifier)