Skip to content

Releases: mooreneural/ProteinTensor

v0.4.0 Sparse pair storage + ProteinTensor rename

Choose a tag to compare

@mooreneural mooreneural released this 08 Jul 17:48

v0.4.0

Added

  • Sparse (COO) pair feature storage. Store pair tensors as a radius graph instead of a dense N×N array. New API: add_pair_feature_sparse, compute_and_store_distances_sparse, compute_and_store_contacts_sparse, read_pair_feature_sparse, list_pair_features_sparse, and SparsePairFeature.to_dense() (rehydrate for dense-only adapters). Symmetric features store the upper triangle only.

Performance (measured, lossless within cutoff)

Ca-Ca distance matrix on disk - dense vs sparse radius graph (cutoff 15 Å). The reduction grows with N because real proteins have local contact structure:

Structure Res Dense Sparse Reduction
4HHB 574 1.03 MB 81 KB 12.9x
6M0J 791 1.94 MB 112 KB 17.4x
6VXX 2,916 25.0 MB 384 KB 65.2x
6OHW 3,525 36.4 MB 481 KB 75.6x

Full table in benchmarks/SPARSE_PAIRS_RESULTS.md. Honest nuance: sparse is not universally smaller - dense boolean contact maps compress so well that COO index overhead can lose at small N. The win is float distance matrices and large proteins.

Changed

  • Repository renamed HelixDB → ProteinTensor; all repo URLs updated.
  • Benchmark tables re-run and unified on a single machine with current code.

Tests

157 passing (was 150).

Install: pip install proteintensor

v0.3.0

Choose a tag to compare

@mooreneural mooreneural released this 03 Jul 02:40

v0.3.0

Added

  • Ligand / small-molecule support: CCD extraction from structures (include_ligands=True), from_smiles (RDKit), read_ligands, list_ligands, add_ligand.
  • convert-dir CLI: parallel batch conversion of a directory with progress, skip-existing, and error reporting.
  • Sequence-only entries can be batched with structure entries in ProteinDataset (new has_structure mask).

Changed

  • Vectorized the from_a3m MSA parser (up to ~4x faster).

Fixed (integrity)

  • Corrected the feature-assembly speedup from a claimed 34x to the measured ~4x — the 34x came from a hardcoded A3M-cost estimate in boltz_benchmark.py, now replaced with a real from_a3m measurement.
  • All README benchmark tables re-run and unified on a single machine with current code.

Tests

150 passing (was 106).

Install: pip install proteintensor

v0.2.0

Choose a tag to compare

@mooreneural mooreneural released this 21 Jun 21:28

v0.2.0 - Sequence input, benchmark harness, and Boltz GPU verification

Added

  • Sequence → .ptt conversion. Build a sequence-only .ptt (no structure
    required) - the primary input form for AlphaFold- and Boltz-style predictors:
    • pt.from_sequence("MKT...") and pt.from_fasta("file.fasta") (single record
      → one chain; multi-record FASTA → multi-chain complex)
    • New CLI command: proteintensor convert-seq <sequence|fasta> out.ptt
  • Sequence-only format support. Structure tensors are now optional; entries
    carry a has_structure flag and the reader/writer skip atom/structure groups
    cleanly. Format version 0.6 → 0.7.
  • Benchmark harness (benchmarks/run.py) that records timestamped results to
    benchmarks/results/ and regenerates benchmarks/RESULTS.md.

Fixed

  • AA_1LETTER was misaligned with AA_VOCAB (token 19, VAL, rendered as X).
    Corrected and guarded with a regression test.
  • Synced __version__ to match the published package.

Benchmarks (measured, not projected)

  • CPU format path: .ptt read is 2.2x–94.8x faster than mmCIF parsing across
    16 structures, with bitwise-lossless round-trip on every one.
  • Boltz input-prep from .ptt is 4.0x faster than the mmCIF parse path.
  • Verified end-to-end Boltz-2 prediction from .ptt on an RTX 5080 (1UBQ,
    102.8 s, confidence 0.92).

Note: the end-to-end Boltz time is GPU-diffusion-bound and therefore
format-independent - it is a correctness/verification result, not a format
speedup. The format's measured wins are in input prep and loading. The
MSA-caching-at-scale advantage is not yet measured on hardware and is the
target of a future update.

Tests

118 → 132 (14 new sequence tests).

Install: pip install proteintensor

v0.1.3

Choose a tag to compare

@mooreneural mooreneural released this 03 Jun 21:16
Bump version to 0.1.3