agentsclimarketplace

Machine learning pipeline integration testing

Skill HolobiomicsLab/asb-skill-collections/collections/metabolomics/v2/skills/machine-learning-pipeline-integration-testing

Curated, evidence-grounded skill and software-tool collections for scientific AI agents, generated by the AgenticScienceBuilder

Install
npx -y skills add HolobiomicsLab/asb-skill-collections --skill machine-learning-pipeline-integration-testing

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

  • 14 stars14 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 author says it does

Copied from the file, not written here

Use when you have adapted an ML pipeline (e.g., MSNovelist) to consume a non-standard fingerprint representation (Morgan 4096-bit instead of bundled SIRIUS 6 fingerprints) and need to verify that the model's input layer correctly reshapes and processes the new fingerprint format before committing.

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

7.0 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

machine-learning-pipeline-integration-testing

Summary

Validate that a retrained machine-learning model accepts modified input fingerprint formats (e.g., Morgan 4096-bit fingerprints in place of SIRIUS 6 fingerprints) without crashes or tensor shape mismatches, by executing a single cross-validation fold through training and evaluation in a containerized environment.

When to use

You have adapted an ML pipeline (e.g., MSNovelist) to consume a non-standard fingerprint representation (Morgan 4096-bit instead of bundled SIRIUS 6 fingerprints) and need to verify that the model's input layer correctly reshapes and processes the new fingerprint format before committing to full retraining across all folds.

When NOT to use

  • Input fingerprints are already validated to work with the model (use full multi-fold training instead)
  • No GPU or SLURM infrastructure is available (this workflow requires sbatch and containerization)
  • You are debugging containerization errors unrelated to fingerprint format (e.g., Docker/Singularity build failures)

Inputs

  • MSNovelist repository (mist branch or equivalent)
  • Morgan 4096-bit fingerprints in numeric or binary format
  • Training dataset (single cross-validation fold)
  • Singularity container definition or pre-built SIF image
  • .env configuration file with paths to data, code, and output

Outputs

  • Training logs from train.py (per-epoch loss, convergence metrics)
  • Evaluation metrics from evaluation.py (e.g., accuracy, ranking metrics)
  • Model checkpoint for the tested fold
  • Decoded predictions CSV or pickle file

How to apply

Checkout the target repository (e.g., mist branch of MSNovelist) on a login node and modify the fingerprint input layer to accept the alternate format. Configure environment variables (.env) pointing to data location, Singularity image path, code location, and results output directory. Build the Singularity container on a job node (to avoid login-node resource constraints). Submit a single cross-validation fold to SLURM using sbatch, invoking train.py with GPU support to train that fold, then run evaluation.py on the same fold without GPU. Inspect training logs and evaluation metrics for shape mismatches, NaN losses, or early crashes that indicate the fingerprint adapter is not functioning correctly.

Related tools

  • MSNovelist (ML pipeline being adapted to accept alternate fingerprint input format) — https://github.com/meowcat/MSNovelist
  • Singularity (Container runtime for reproducible model training and evaluation on job nodes)
  • SLURM (Job scheduler for GPU-accelerated training and CPU-based evaluation submission)
  • Python (train.py, evaluation.py) (Training and evaluation scripts invoked inside the Singularity container) — https://github.com/meowcat/MSNovelist

Examples

sbatch run_singularity.sh

Evaluation signals

  • Training log shows no tensor shape mismatch errors (e.g., 'expected size X, got size Y') when processing Morgan 4096-bit fingerprints
  • Loss values remain finite (no NaN or Inf) throughout training epoch; loss curve exhibits expected downward trend
  • Evaluation script completes without crashing and produces output metrics (e.g., ranking scores, accuracy)
  • Model checkpoint is successfully saved and contains parameters with expected tensor shapes matching the modified input layer
  • Decoded predictions CSV/pickle file is non-empty and contains valid predictions for the test fold

Limitations

  • This skill validates only a single cross-validation fold and does not guarantee performance across the full training set or generalization to held-out test data.
  • The mist branch implementation remains incomplete according to the README; fingerprint adapter logic may require manual debugging or extension.
  • Integration testing on one fold may not surface problems that emerge only during distributed training across multiple folds (e.g., data loading bottlenecks, stochastic initialization issues).
  • Container build can take up to 20 minutes and requires ~6.5 GB of disk space; iterative debugging may be slow.

Evidence

  • [other] Preliminary work on the mist branch attempted to enable MSNovelist to run with predicted Morgan 4096-bit fingerprints, but the effort remained incomplete.: "The mist branch (also merged here) contains some work on getting MSNovelist to run with predicted Morgan 4096-bit fingerprints, but we didn't get terribly far with it yet."
  • [other] Switch to the mist branch and modify the fingerprint input layer to accept Morgan 4096-bit fingerprints in place of SIRIUS 6 fingerprint format.: "modify the fingerprint input layer to accept Morgan 4096-bit fingerprints in place of SIRIUS 6 fingerprint format"
  • [other] Build the MSNovelist Singularity image on a job node and store at SIF_LOC; run training on a single cross-validation fold using sbatch with GPU support.: "Build the MSNovelist Singularity image (stravsm/msnovelist6) on a job node and store at SIF_LOC. Run training on a single cross-validation fold using sbatch with run_singularity.sh and run_train.sh,"
  • [other] Inspect training logs and evaluation metrics to confirm the model accepts Morgan fingerprint input without crashes or shape mismatches.: "Inspect training logs and evaluation metrics to confirm the model accepts Morgan fingerprint input without crashes or shape mismatches."
  • [methods] Build singularity image on job node. Freaks out on login node.: "Build singularity image on job node. Freaks out on login node: SCRATCH_PATH=/cluster/scratch/$(id -un)"

What ships with it

Read from the repository

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

Keep looking

Skills are one crate of 326,984. 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.