plinder.data.annotations.contact_areas#
Chain-pair contact areas from a Voronota-LT radical tessellation.
One tessellation of a biological assembly yields the exact contact area between every pair of chains in a single near-linear pass. Areas are Voronoi contact areas between van der Waals spheres expanded by a solvent probe, not buried SASA, so a pair of chains that never touch has no entry rather than zero.
Cost, measured on the complete icosahedral assembly of 7kmx (1.44 million heavy
non-water atoms, 840 chains): about 13 s and 3.2 GB of peak memory, i.e. roughly
9 µs and 2.2 KB per atom, almost all of it inside the C++ tessellation. Callers
that process arbitrary assemblies should cap the atom count (see
tessellation_atom_limit on plinder.data.annotations.aggregate_annotations.Entry).
- plinder.data.annotations.contact_areas.DEFAULT_PROBE_RADIUS = 1.4#
Solvent probe radius (Å) added to every atom before tessellating.
- plinder.data.annotations.contact_areas.tessellation_atom_mask(atoms: AtomArray) NDArray[bool][source]#
Select the atoms that take part in a tessellation: heavy, non-water.
- plinder.data.annotations.contact_areas.chain_pair_contact_areas(atoms: AtomArray, *, probe: float = 1.4) dict[tuple[str, str], float][source]#
Return the Voronota-LT contact area (Ų) between every pair of chains.
Hydrogens and waters are excluded before tessellating, so waters count as solvent rather than as a chain. Radii follow Voronota-LT’s molecular assignment rules keyed on residue and atom names.
- Parameters:
- atomsstruc.AtomArray
Atoms of one biological assembly (or any set of chains) carrying the
ins_codeannotation biotite reads from mmCIF.- probefloat
Solvent probe radius in Å added to every atom.
- Returns:
- dict[tuple[str, str], float]
Contact area per unordered chain pair, keyed by the lexicographically sorted
(chain_a, chain_b)tuple. Pairs without contact are absent.
- plinder.data.annotations.contact_areas.partner_contact_areas(chain_pair_areas: Mapping[tuple[str, str], float], member_chains: set[str]) dict[str, float][source]#
Sum the contact area of one molecule’s chains with every other chain.
member_chainsare the instance chains forming one molecule (several for a covalently linked multi-chain ligand); contacts between member chains are internal and ignored. The result maps each partner chain to its total contact area with the molecule, sorted by chain ID.