Skip to content

Conversation

@buffbyte
Copy link

@buffbyte buffbyte commented Dec 5, 2025

ESSA-2 builds on the original ESSA in several key ways:

- Uniform Crowding Perturbation: The perturbation is standardized by adding uniform number of nodes to each residue, thus ensuring a consistent “crowding” effect.

- MSF-Based Essentiality Metric: Instead of relying on changes in eigenvalues, ESSA-2 uses changes in mean square fluctuations (MSFs) to measure essentiality. This approach accounts for both eigenvalues and eigenvectors, giving a more direct assessment of how perturbations influence the amplitude of protein motions rather than just their frequencies.

- Allosteric Crowding Analysis:** ESSA-2 includes a function for targeted crowding of known allosteric drug-binding sites. This makes it possible to study how perturbations at these sites affect distant regions, effectively modeling long-range allosteric effects.

- Flexible Mode Selection: Users will have the choice to determine the number of modes by specifying the percentage variance.

@buffbyte buffbyte self-assigned this Dec 5, 2025
@buffbyte
Copy link
Author

buffbyte commented Dec 5, 2025

from prody import *
from numpy import *
from matplotlib.pyplot import *
from essa2 import ESSA2

pdb = parsePDB('1pzo', compressed=False)
pdb.select('calpha')

essa= ESSA2()
essa.setSystem(pdb, num_modes=3, lig="A 300 A 301")

essa.refMSFs();
essa.scanResidues();
essa.zscores();
essa.plotESSAZscores()
essa.writeESSAZscoresToPDB()
essa.plotMSFchangeMap()

@AnthonyBogetti
Copy link
Member

@buffbyte I was able to run it successfully, following a few changes. I made some comments in the code, please review and revise. Once the imports are cleaned up and the tqdm dependency is taken care of, we can write a unit test for it.

Copy link
Member

@AnthonyBogetti AnthonyBogetti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please make the changes and request a re-review once finished.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants