"Author, validate, and debug Chai FASTA input records for proteins,
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill input-data-formats --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Input Data Formats?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-input-data-formats)More formats (shields.io, HTML) on the badges page.
---
name: input-data-formats
description: "Author, validate, and debug Chai FASTA input records for proteins,
ligands, DNA, RNA, modified residues, entity names, and chain naming."
disable-model-invocation: true
metadata:
disco-role: operating
license: Apache 2.0
---
# Input Data Formats
Use this sub-skill when an agent needs to create or repair Chai input FASTA records before folding. It covers entity headers, sequences, ligand SMILES, modified residues, entity names, and the chain-name consequences of `fasta_names_as_cif_chains` / `entity_name_as_subchain`.
## Route First
- Need to run `chai-lab fold` or `chai_lab.chai1.run_inference` after the FASTA is valid? Use `../cli-inference/SKILL.md`.
- Need `.aligned.pqt`, A3M conversion, MSA server, or template hit files? Use `../msa-templates/SKILL.md`.
- Need contact/pocket/covalent restraint CSVs or glycan bond details? Use `../restraints-glycans/SKILL.md`.
- Need only basic `glycan|name` FASTA routing? This sub-skill covers the header; glycan string semantics belong to `../restraints-glycans/SKILL.md`.
## Fast Authoring Rules
- Write one FASTA record per Chai entity: `>protein|name`, `>protein|name=receptor`, `>ligand|name=atp`, `>dna|name=primer`, `>rna|name=guide`, or `>glycan|name=n_linked`.
- Always provide an entity name; Chai rejects headers without a label and inference requires names to be unique.
- Use explicit entity types instead of relying on sequence heuristics; short `A/C/G/T` records are ambiguous across DNA, RNA, and protein.
- Encode modified polymer residues as bracketed multi-character residue names, such as `AAA(SEP)AAA` or `(MSE)G`, not as unbracketed three-letter text.
- Encode ligands as SMILES strings; use bracketed ions such as `[Mg+2]` or `[Zn+2]`, because bare ion text can pass header parsing but fail ligand tokenization.
- Preserve entity order intentionally: automatic chain IDs are assigned from the accepted chain order, while `fasta_names_as_cif_chains=True` uses entity names as parsing/output chain IDs.
## Validate Before Folding
Run the bundled helper before expensive inference:
```bash
python scripts/validate_chai_fasta.py input.fasta
python scripts/validate_chai_fasta.py --tokenize --entity-names-as-subchains input.fasta
```
The first command checks Chai header parsing, required names, duplicate names, type heuristics, and polymer modified-residue syntax. The optional tokenization check catches malformed SMILES and chain-name issues that only appear when Chai builds chains.
## References
- `references/fasta-and-entities.md` — format grammar, entity tables, naming rules, and chain-name implications.
- `references/api-reference.md` — validation and parsing APIs useful for scripts and diagnostics.
- `references/troubleshooting.md` — common parser, sequence, ligand, duplicate-name, and chain-name failures.
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!