Mzml output validation
Skill HolobiomicsLab/asb-skill-collections/packs/metabolomics/ms-generic/skills/mzml-output-validation
Curated, evidence-grounded skill and software-tool collections for scientific AI agents, generated by the AgenticScienceBuilder
npx -y skills add HolobiomicsLab/asb-skill-collections --skill mzml-output-validationAssembled 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 after running AirdPro's CLI conversion pipeline (run-cli.sh with -i and -o arguments) to confirm the vendor raw file conversion to mzML has succeeded.
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
6.1 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
mzML output validation
Summary
Verify that vendor raw files have been successfully converted to valid mzML format by checking file presence and XML schema compliance. This skill ensures the CLI-based conversion from vendor formats through ProteoWizard bindings has completed correctly and produced well-formed output.
When to use
After running AirdPro's CLI conversion pipeline (run-cli.sh with -i and -o arguments) to confirm the vendor raw file conversion to mzML has succeeded. Apply this skill when the conversion process completes and you need to verify the output file is both present in the expected location and conforms to mzML XML structure before downstream processing.
When NOT to use
- Input file is already known to be in mzML format from a trusted prior conversion — validation is redundant.
- You are converting to Aird format (the native AirdPro output) rather than mzML — use Aird-specific validation instead.
- The conversion process has not yet completed or the CLI command returned an error — validate only after successful command execution.
Inputs
- output file path from AirdPro CLI invocation (e.g., /data/output.mzML)
- Docker container mount directory (/data)
Outputs
- validation status (pass/fail)
- error log or exception message (if validation fails)
- confirmed valid mzML file ready for downstream analysis
How to apply
After invoking run-cli.sh with the input vendor raw file path (-i /data/input.raw) and output mzML path (-o /data/output.mzML), check that the output file exists at the specified location in the Docker container's mounted /data directory. Then validate the file is well-formed XML by parsing its root element and schema structure; XML parsers will throw exceptions if the file is malformed or truncated. The conversion is successful only if both the file presence check and XML validity check pass, indicating the pwiz_bindings_cli.dll conversion mechanism correctly transformed the vendor format through ProteoWizard bindings to valid mzML.
Related tools
- AirdPro V6 (CLI conversion engine that calls pwiz_bindings_cli.dll to perform vendor-to-mzML conversion) — https://github.com/CSi-Studio/AirdPro
- pwiz_bindings_cli.dll (ProteoWizard library binding invoked by AirdPro to execute the actual vendor format conversion)
- ProteoWizard (Underlying framework providing vendor format parsing and mzML serialization)
- Docker Engine / Docker Desktop for Mac (Container runtime managing the isolated environment and file mounts for conversion execution)
Examples
docker run --rm -v $(pwd):/data airdpro:latest bash -c 'run-cli.sh -i /data/input.raw -o /data/output.mzML && xmllint --noout /data/output.mzML && echo "Validation passed"'
Evaluation signals
- Output file exists at the specified -o path in the mounted Docker /data directory
- File size is non-zero and greater than typical XML header overhead (~1 KB minimum)
- File parses as well-formed XML without namespace or schema validation errors
- mzML root element (<indexedmzML> or <mzML>) is present and contains expected sub-elements (spectrum, chromatogram, indexList)
- No truncation or corruption indicators in file tail (XML closing tags are present and properly nested)
Limitations
- Validation checks only XML structure and presence; it does not verify spectral data accuracy, peak counts, or m/z/intensity calibration correctness.
- Vendor file format support depends on what ProteoWizard MSConvert supports — some proprietary formats or versions may fail silently or produce invalid conversions.
- Large files (gigabytes) may timeout during XML parsing if validation is run synchronously; consider asynchronous or streaming validation for production batch pipelines.
- The CLI conversion can complete without error even if the output mzML is incomplete or partial — file truncation is not always caught by the conversion exit code.
Evidence
- [other] Vendor raw file conversion mechanism description: "AirdPro is based on pwiz_bindings_cli.dll from the ProteoWizard project and is written in C#, providing the underlying mechanism for converting vendor files through ProteoWizard bindings."
- [other] CLI invocation workflow for conversion: "Invoke run-cli.sh with arguments specifying input file path (-i /data/input.raw) and output file path (-o /data/output.mzML). The container executes AirdPro's CLI interface, which calls"
- [other] Output validation requirement: "Verify the output mzML file is present and is valid XML."
- [readme] mzML conversion support in AirdPro: "By using library from ProteoWizard MSConvert. AirdPro can convert all the vendor format that MSConvert supports to Aird format."
- [other] Docker container data directory usage: "Mount the input vendor raw file into the Docker container's /data directory."
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.