plinder.data.protein_clusters#

Native protein-chain clustering for release builds.

plinder.data.protein_clusters.make_protein_structure_clusters(*, data_dir: Path, scratch_dir: Path, threads: int = 4, lddt: float = 0.7, coverage: float = 0.8, force_update: bool = False) → Path[source]#

Cluster release protein chains from the existing Foldseek search database.

The search database contains all chains parsed from the deposited mmCIFs. A temporary subdatabase selects the release protein chains, avoiding a second read of every source structure and per-chain mmCIF exports.

plinder.data.protein_clusters.make_protein_sequence_clusters(*, data_dir: Path, scratch_dir: Path, threads: int = 4, identity: float = 0.4, coverage: float = 0.8, force_update: bool = False) → Path[source]#

Cluster all release protein-chain sequences using MMseqs easy-cluster.

Each representative/member match must meet the identity threshold and cover the requested fraction of both chains. Greedy set cover runs in single-step mode. Apo and interface chains are included. Missing sequences have null assignments and status='missing_sequence' in the output.

Intermediate MMseqs files live under scratch_dir and are removed after the table is written. Parameters, input sequence digest, and MMseqs version are stored in Parquet metadata to check whether a previous result is reusable.