Skip to content

Implement IO Layer and Session #3

@TKanX

Description

@TKanX

Description:

Implement the IO layer that bridges dreid-forge parameterization and the pack-ready System, providing a clean public API with zero leakage of dreid-forge types.

Tasks:

  • Public types (src/io/) — Format, HisStrategy, HeteroTemplate, ReadConfig (with CleanConfig, ProtonationConfig, TopologyConfig, ForceFieldConfig, ChargeConfig sub-configs), Session (private metadata, accessor metadata()), Error
  • Internal types (src/io/session.rs, src/io/order.rs) — AtomRef, SystemMetadata, Bond, FixedAtom, MobileSidechain (pub(super)); canonical sidechain atom-name ordering per ResidueType
  • Conversion logic (src/io/convert.rs) — build(): ForgedSystem → Session (φ/ψ from backbone, sidechain coords in canonical order); reconstruct(): Session → dreid_forge::System (bonds via prefix-sum AtomRef-to-flat-index mapping)
  • IO functions (src/io/mod.rs) — read(), write(); HeteroTemplate::read_mol2() for MOL2 hetero template loading

Metadata

Metadata

Assignees

Labels

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions