Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions src/peppr/clashes.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,3 +112,18 @@ def _to_sparse_indices(all_contacts: NDArray[np.int_]) -> NDArray[np.int_]:
combined_indices = np.stack([query_indices, contact_indices], axis=1)
# Remove the padding values
return combined_indices[contact_indices != -1]


def _find_interface_contacts(
atoms1: struc.AtomArray,
atoms2: struc.AtomArray,
inclusion_radius: float,
) -> NDArray[np.int_]:
last_index_atoms1 = atoms1.array_length()
combined_atoms = struc.concatenate((atoms1, atoms2))
contacts = _find_contacts(combined_atoms, inclusion_radius)
# Only keep contacts between atoms1 and atoms2
interface_contacts = contacts[
(contacts[:, 0] < last_index_atoms1) & (contacts[:, 1] >= last_index_atoms1)
]
return interface_contacts
1 change: 1 addition & 0 deletions src/peppr/contacts.py
Original file line number Diff line number Diff line change
Expand Up @@ -609,6 +609,7 @@ def _find_charged_atoms_in_resonance_structures(
"""
pos_mask = np.zeros(mol.GetNumAtoms(), dtype=bool)
neg_mask = np.zeros(mol.GetNumAtoms(), dtype=bool)

resonance_supplier = Chem.ResonanceMolSupplier(mol)
for resonance_mol in resonance_supplier:
if resonance_mol is None:
Expand Down
329 changes: 329 additions & 0 deletions src/peppr/logodds.py
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

What is the source of these values? Should we link in some documentations?

Original file line number Diff line number Diff line change
@@ -0,0 +1,329 @@
PLI_LOG_ODDS = {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Due to the large number of values, we should probably put them into a JSON file

"CATION_PI": {
"ALA": 0.0,
"ARG": 0.335,
"ASN": 0.0,
"ASP": 0.0,
"CYS": 0.755,
"GLN": 0.0,
"GLU": 0.0,
"GLY": 0.591,
"HIS": 0.0,
"ILE": 0.0,
"LEU": 0.0,
"LYS": 0.42,
"MET": 0.0,
"PHE": 0.0,
"PRO": 0.0,
"SER": 0.0,
"THR": 0.0,
"TRP": 0.0,
"TYR": 0.0,
"VAL": 0.0,
"XXX": 0.0
},
"HALOGEN_BOND": {
"ALA": 0.0,
"ARG": 0.0,
"ASN": 0.0,
"ASP": 0.0,
"CYS": 0.0,
"GLN": 0.0,
"GLU": 0.0,
"GLY": 0.0,
"HIS": 0.0,
"ILE": 0.0,
"LEU": 0.0,
"LYS": 0.0,
"MET": 0.0,
"PHE": 0.0,
"PRO": 0.0,
"SER": 0.0,
"THR": 0.0,
"TRP": 0.0,
"TYR": 0.0,
"VAL": 0.0,
"XXX": 0.0
},
"HBOND_DONOR_LIGAND": {
"ALA": -0.077,
"ARG": -1.094,
"ASN": 0.144,
"ASP": 0.466,
"CYS": 0.052,
"GLN": 0.062,
"GLU": 0.48,
"GLY": -0.237,
"HIS": 0.141,
"ILE": 0.2,
"LEU": 0.147,
"LYS": -1.061,
"MET": 0.144,
"PHE": -0.443,
"PRO": 0.586,
"SER": -0.079,
"THR": -0.099,
"TRP": -0.843,
"TYR": -0.013,
"VAL": 0.252,
"XXX": 0.379
},
"HBOND_DONOR_RECEPTOR": {
"ALA": 0.146,
"ARG": -0.015,
"ASN": 0.064,
"ASP": -0.776,
"CYS": 0.103,
"GLN": 0.113,
"GLU": -0.711,
"GLY": 0.157,
"HIS": -0.205,
"ILE": 0.057,
"LEU": 0.034,
"LYS": 0.016,
"MET": 0.053,
"PHE": -0.489,
"PRO": 0.0,
"SER": 0.149,
"THR": 0.156,
"TRP": -0.044,
"TYR": -0.035,
"VAL": 0.019,
"XXX": 0.0
},
"IONIC_BOND": {
"ALA": 0.0,
"ARG": 0.549,
"ASN": 0.0,
"ASP": 0.168,
"CYS": 0.0,
"GLN": 0.0,
"GLU": 0.11,
"GLY": -0.988,
"HIS": 0.0,
"ILE": 0.0,
"LEU": 0.0,
"LYS": 0.485,
"MET": 0.0,
"PHE": 0.0,
"PRO": 0.0,
"SER": 0.0,
"THR": 0.0,
"TRP": 0.0,
"TYR": 0.0,
"VAL": 0.0,
"XXX": 0.0
},
"PI_CATION": {
"ALA": 0.0,
"ARG": 0.0,
"ASN": 0.0,
"ASP": 0.0,
"CYS": 0.0,
"GLN": 0.0,
"GLU": 0.0,
"GLY": 0.0,
"HIS": 0.71,
"ILE": 0.0,
"LEU": 0.0,
"LYS": 0.0,
"MET": 0.0,
"PHE": 0.689,
"PRO": 0.0,
"SER": 0.0,
"THR": 0.0,
"TRP": 1.068,
"TYR": 0.642,
"VAL": 0.0,
"XXX": 0.0
},
"PI_STACKING": {
"ALA": 0.0,
"ARG": 0.0,
"ASN": 0.0,
"ASP": 0.0,
"CYS": 0.0,
"GLN": 0.0,
"GLU": 0.0,
"GLY": 0.0,
"HIS": 0.632,
"ILE": 0.0,
"LEU": 0.0,
"LYS": 0.0,
"MET": 0.0,
"PHE": 1.071,
"PRO": 0.0,
"SER": 0.0,
"THR": 0.0,
"TRP": 0.786,
"TYR": 0.591,
"VAL": 0.0,
"XXX": 0.0
}
}

PPI_LOG_ODDS = {
"CATION_PI": {
"ALA": 0.0,
"ARG": 0.441,
"ASN": 0.0,
"ASP": 0.0,
"CYS": 0.0,
"GLN": 0.0,
"GLU": 0.0,
"GLY": 0.342,
"HIS": 0.0,
"ILE": 0.0,
"LEU": 0.0,
"LYS": 0.585,
"MET": 0.0,
"PHE": 0.0,
"PRO": 0.83,
"SER": 0.0,
"THR": 0.0,
"TRP": 0.0,
"TYR": 0.0,
"VAL": 0.0,
"XXX": 0.859
},
"HALOGEN_BOND": {
"ALA": 0.0,
"ARG": 0.0,
"ASN": 0.0,
"ASP": 0.0,
"CYS": 0.0,
"GLN": 0.0,
"GLU": 0.0,
"GLY": 0.0,
"HIS": 0.0,
"ILE": 0.0,
"LEU": 0.0,
"LYS": 0.0,
"MET": 0.0,
"PHE": 0.0,
"PRO": 0.0,
"SER": 0.0,
"THR": 0.0,
"TRP": 0.0,
"TYR": 0.0,
"VAL": 0.0,
"XXX": 0.0
},
"HBOND_DONOR_LIGAND": {
"ALA": 0.154,
"ARG": -0.719,
"ASN": 0.094,
"ASP": 0.116,
"CYS": 0.167,
"GLN": 0.092,
"GLU": 0.112,
"GLY": 0.136,
"HIS": -0.008,
"ILE": 0.175,
"LEU": 0.173,
"LYS": -0.524,
"MET": 0.295,
"PHE": -0.206,
"PRO": 0.41,
"SER": 0.091,
"THR": 0.134,
"TRP": -0.505,
"TYR": -0.044,
"VAL": 0.171,
"XXX": 0.097
},
"HBOND_DONOR_RECEPTOR": {
"ALA": 0.084,
"ARG": 0.165,
"ASN": 0.191,
"ASP": -0.838,
"CYS": 0.109,
"GLN": 0.193,
"GLU": -0.872,
"GLY": 0.12,
"HIS": -0.051,
"ILE": 0.132,
"LEU": 0.091,
"LYS": 0.133,
"MET": -0.123,
"PHE": -0.255,
"PRO": 0.0,
"SER": 0.193,
"THR": 0.163,
"TRP": -0.019,
"TYR": 0.054,
"VAL": 0.093,
"XXX": -0.292
},
"IONIC_BOND": {
"ALA": -0.704,
"ARG": 0.25,
"ASN": 0.0,
"ASP": 0.345,
"CYS": 0.0,
"GLN": 0.0,
"GLU": 0.355,
"GLY": -0.898,
"HIS": 0.0,
"ILE": 0.0,
"LEU": -0.81,
"LYS": 0.248,
"MET": 0.0,
"PHE": 0.0,
"PRO": 0.0,
"SER": -1.085,
"THR": 0.0,
"TRP": 0.0,
"TYR": 0.0,
"VAL": -0.649,
"XXX": 0.096
},
"PI_CATION": {
"ALA": 0.0,
"ARG": 0.0,
"ASN": 0.0,
"ASP": 0.0,
"CYS": 0.0,
"GLN": 0.0,
"GLU": 0.0,
"GLY": 0.0,
"HIS": 0.751,
"ILE": 0.0,
"LEU": 0.0,
"LYS": 0.0,
"MET": 0.0,
"PHE": 0.905,
"PRO": 0.0,
"SER": 0.0,
"THR": 0.0,
"TRP": 1.032,
"TYR": 0.628,
"VAL": 0.0,
"XXX": 0.0
},
"PI_STACKING": {
"ALA": 0.0,
"ARG": 0.0,
"ASN": 0.0,
"ASP": 0.0,
"CYS": 0.0,
"GLN": 0.0,
"GLU": 0.0,
"GLY": 0.0,
"HIS": 0.761,
"ILE": 0.0,
"LEU": 0.0,
"LYS": 0.0,
"MET": 0.0,
"PHE": 1.029,
"PRO": 0.0,
"SER": 0.0,
"THR": 0.0,
"TRP": 0.821,
"TYR": 0.638,
"VAL": 0.0,
"XXX": 0.0
}
}

SCALING_FACTORS = {"upper_asymptote": 2.0, "midpoint": 0.0, "steepness": 100.0, "lower_asymptote": -1}
Loading