Add Residue Interaction Log Odds (RILO) and Packing Score#57
Add Residue Interaction Log Odds (RILO) and Packing Score#57
Conversation
There was a problem hiding this comment.
What is the source of these values? Should we link in some documentations?
| @@ -0,0 +1,329 @@ | |||
| PLI_LOG_ODDS = { | |||
There was a problem hiding this comment.
Due to the large number of values, we should probably put them into a JSON file
| References | ||
| ---------- | ||
| .. [1] https://doi.org/10.1002/1097-0134(20010501)43:2<89::AID-PROT1021>3.0.CO;2-H | ||
| .. [2] <link to notebook> |
There was a problem hiding this comment.
Which notebook should be linked here?
| "RILOScore", | ||
| "RILOScore", | ||
| ] |
There was a problem hiding this comment.
| "RILOScore", | |
| "RILOScore", | |
| ] | |
| "RILOScore", | |
| ] |
|
|
||
|
|
||
| from peppr.logodds import PLI_LOG_ODDS, PPI_LOG_ODDS, SCALING_FACTORS | ||
| from peppr.packing import _compute_packing_entropy |
There was a problem hiding this comment.
This does not exist, right?
| return False | ||
|
|
||
|
|
||
| class iPackingEntropy(Metric): |
There was a problem hiding this comment.
| class iPackingEntropy(Metric): | |
| class InterfacePackingEntropy(Metric): |
| The metric is calculated by dividing the interface into small "shards" of residues | ||
| and evaluating the packing entropy for each shard. | ||
| The final score is the average packing entropy across all shards. |
There was a problem hiding this comment.
I think A formula would help here as well to explain the metric: https://sphinx-rtd-trial.readthedocs.io/en/latest/ext/math.html
|
|
||
| References | ||
| ---------- | ||
| .. [1] https://doi.org/10.1002/prot.22203 |
There was a problem hiding this comment.
Are you sure this is the correct article? Admittedly I did not fully read it, but it does not comprise the term 'packing entropy' at all.
|
|
||
| @property | ||
| def name(self) -> str: | ||
| return "RiloScore" |
There was a problem hiding this comment.
| return "RiloScore" | |
| return "RILO Score" |
| import pandas as pd | ||
| from peppr.bisyrmsd import bisy_rmsd | ||
| from peppr.clashes import find_clashes | ||
| from peppr.clashes import find_clashes, _find_interface_contacts |
There was a problem hiding this comment.
If you import this function from another module, it is not a private function anymore 😉
| from peppr.clashes import find_clashes, _find_interface_contacts | |
| from peppr.clashes import find_clashes, find_interface_contacts |
| ligand_interface_chain_resids = [(a.chain_id, a.res_id) for a in combined_atoms[ligand_interface_chain_resids]] | ||
| packing_df = _compute_packing_entropy( | ||
| atoms_in=combined_atoms, | ||
| chains=["R", "L"], |
There was a problem hiding this comment.
We cannot rely on specific chain names here
| The RILOScore is calculated by dividing the receptor-ligand interface | ||
| into small "shards" of residues and evaluating the interactions. |
There was a problem hiding this comment.
I think a Notes section with further details of the method would help here.
padix-key
left a comment
There was a problem hiding this comment.
I also left some comments below. I think the main part that is currently missing are tests. Furthermore, RILOScore seems a bit convoluted to at the moment, as it requires another metric, namely PLIFRecovery. Could you check, if it makes more sense to use the ContactMeasurement class directly? If the size of the code cannot be reasonably reduced, I would also suggest to put the logic into anther module.
Uh oh!
There was an error while loading. Please reload this page.