#cif #star #mmcif

bin+lib ustar-tools

Command-line tools for STAR format parsing and processing

1 unstable release

0.1.4 Feb 11, 2026

#521 in Science

LGPL-3.0-only

2.5MB
3.5K SLoC

USTAR

A Rust parser for STAR (Self-defining Text Archive and Retrieval) format files, including NEF, CIF, mmCIF, and NMR-STAR.

Features

  • Multi-encoding support: ASCII, Extended ASCII, Unicode
  • Multiple STAR formats: CIF, mmCIF, NMR-STAR, NEF
  • Error handling: Rich error diagnostics with miette integration
  • Grammar generation: Dynamic parser generation for different character sets
  • Real-world tested: Validated against databases (PDB, COD, BMRB, NEF, multiple mmcif dictionaries)

Usage

[dependencies]
ustar-parser = "0.1"
use ustar::parsers::ascii::{AsciiParser, Rule};
use pest::Parser;

let content = std::fs::read_to_string("example.cif")?;
let pairs = AsciiParser::parse(Rule::star_file, &content)?;

License

LGPL3

Dependencies

~20–39MB
~549K SLoC