"Use scikit-bio IO registry formats and metadata objects for
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill io-metadata --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Io Metadata?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-io-metadata)More formats (shields.io, HTML) on the badges page.
---
name: io-metadata
description: "Use scikit-bio IO registry formats and metadata objects for
reading, writing, validation, and serialization."
disable-model-invocation: true
metadata:
disco-role: operating
license: BSD 3-Clause
---
# scikit-bio IO and Metadata
Use this sub-skill when a task involves `skbio.io.read`, `skbio.io.write`, `skbio.io.sniff`, object-oriented `.read()` / `.write()`, supported file formats, QIIME-style sample metadata, metadata column validation, missing-value schemes, or interval metadata serialization.
## Route Here For
- Reading or writing FASTA, FASTQ, Newick, GFF3, GenBank, EMBL, CLUSTAL, PHYLIP, BIOM, ordination, distance-matrix, BLAST, taxonomy dump, embedding, Stockholm, QSeq, LSMat, or sample metadata files.
- Choosing between procedural I/O (`skbio.io.read(file, format=..., into=...)`) and object-oriented I/O (`SomeClass.read(file, format=...)`, `obj.write(file, format=...)`).
- Streaming sequence records from large files or writing generators without loading a full object into memory.
- Diagnosing format sniffing, `UnrecognizedFormatError`, `FileFormatError`, format-specific parse errors, compression/filehandle caveats, and reader/writer route mismatches.
- Constructing, loading, saving, filtering, merging, and converting `SampleMetadata`, `MetadataColumn`, `NumericMetadataColumn`, and `CategoricalMetadataColumn` objects.
- Validating sample/feature metadata ID headers, directives, duplicate IDs/columns, column types, and missing-data schemes.
- Creating or attaching `Interval` and `IntervalMetadata` objects, especially for GFF3, GenBank, and EMBL feature annotations.
## Start With
- `references/format-reference.md` for supported formats, registry patterns, read/write routes, streaming, sniffing, and custom-format extension guidance.
- `references/metadata-reference.md` for `SampleMetadata`, metadata columns, missing schemes, dataframe conversion, filtering, merging, ID-header rules, and interval metadata.
- `references/troubleshooting.md` for compact diagnosis and repair patterns covering the common IO and metadata failures.
- `scripts/io_metadata_smoke.py` for a deterministic public-API smoke check that reads/writes a Newick tree, streams FASTA records, builds sample metadata, and prints JSON.
## Boundaries
- For sequence construction, sequence validation, `TabularMSA` manipulation, alignment, translation, or per-sequence metadata after records are read, use `../sequences-alignment/SKILL.md`.
- For `TreeNode` editing, rooting, comparison, or phylogenetic algorithms after Newick parsing, use `../trees-phylogeny/SKILL.md`.
- For diversity metrics, BIOM-like count table analysis, distance-matrix statistics, or ordination interpretation after files are read, use `../diversity-tables/SKILL.md` and `../statistics-ordination/SKILL.md` when present.
- Keep this sub-skill focused on serialization, registry route selection, metadata validation, metadata object transformations, and interval annotation attachment.
- Do not depend on source repository examples, fixtures, or docs at runtime; the references and smoke script here are self-contained.
## Quick Sanity Check
From any working directory with scikit-bio and its runtime dependencies installed, run:
```bash
python /path/to/skills/scikit-bio/sub-skills/io-metadata/scripts/io_metadata_smoke.py
```
The script also supports `--help` and `--indent`. It imports only public scikit-bio APIs, uses `StringIO` inputs, catches common import/format/metadata exceptions, and prints compact JSON on success.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!