neurosnap.algos.ec_interface module#
Electrostatic complementarity (EC) quantification for binder-target chain pairs in protein complexes. Written by Danial Gharaie Amirabadi and Keaun Amani, based on the algorithm from: Airlie J. McCoy, V. Chandana Epa, and Peter M. Colman. Electrostatic complementarity at protein/protein interfaces (edited by B. Honig). Journal of Molecular Biology. 1997;268(2):570–584.
EC is calculated as EC = -(r_b + r_t)/2 where r_b and r_t are the Pearson correlations of the two partners’ electrostatic potentials on the buried surfaces of the binder and target, respectively. Because of the leading minus sign, larger (more-positive) EC values correspond to stronger complementarity (perfect complementarity gives +1, identical surfaces -1).
Key features#
Biopython interface detection using a heavy-atom distance cutoff.
PDB2PQR protonation plus charge and radius assignment.
APBS continuum electrostatics (compatible with all 1.x–3.x builds): - auto-builds a padded box, - supplies required legacy keywords (glen/gcent/sdens), - handles .dx.gz, rank-tagged PE files, and subdir output.
Stepwise logging for debugging and provenance.
Automatic cleanup of temporary files.
- neurosnap.algos.ec_interface.compute_ec(protein, chain1, chain2, *, cutoff=4.5, forcefield='AMBER', pdb2pqr='pdb2pqr', apbs='apbs', verbosity=1)[source]#
Compute electrostatic complementarity (EC) and Pearson correlations (r_b, r_t) for an order-invariant interface chain pair in a Protein.
- Parameters:
protein (
Protein) – Protein containing the interface chains.chain1 (
str) – Chain identifier for the first interface chain.chain2 (
str) – Chain identifier for the second interface chain (order does not matter).cutoff (
float) – Heavy-atom distance cutoff (Å) used to define interface atoms.forcefield (
str) – PDB2PQR force field name (e.g., AMBER).pdb2pqr (
str) – Path to the pdb2pqr executable.apbs (
str) – Path to the apbs executable.verbosity (
int) – Set to 1 for normal verbosity, set to 0 to mute info logs.
- Returns:
(ec, r_b, r_t), or (nan, nan, nan) when insufficient interface samples.
- Return type: