Path C - Module 22: Structural Auditing (Diagnostics)#

In drug design, the inhibitor is the most important part of your model. If the crystal structure is missing a few atoms of the drug, your docking or binding energy calculations will be completely wrong.

In this module, you will perform a diagnostic audit of the SARS-CoV-2 Mpro inhibited complex.

import molsysmt as msm
from molsysmt import systems

# Load the Mpro complex (protein + ligand)
molsys = msm.convert('pdb:6LU7', to_form='molsysmt.MolSys', selection='molecule_type==["protein", "small molecule"]')

1. Auditing the Inhibitor Atoms#

Let’s see if the ligand (N3) is complete. The function get_missing_heavy_atoms() is crucial here.

missing_ligand_atoms = msm.build.get_missing_heavy_atoms(molsys, selection='molecule_type=="small molecule"')
print(f"Missing ligand atoms: {missing_ligand_atoms}")

2. Missing Sidechains in the Active Site#

Identify if the residues forming the binding pocket have any missing atoms that need to be reconstructed.

# Audit missing heavy atoms for the whole complex
missing_atoms = msm.build.get_missing_heavy_atoms(molsys)
print(f"Are there any broken residues? {len(missing_atoms) > 0}")

3. Protonation State Audit#

Drug binding is highly dependent on pH and protonation. Check if the system has hydrogens.

has_h = msm.build.has_hydrogens(molsys)
print(f"Does the 6LU7 crystal have hydrogens? {has_h}")

🏆 Path C Challenge: The Pocket Auditor#

  1. Load the PDB ID 7L10, which is another structure of Mpro.

  2. Use msm.build.get_non_standard_residues() to identify the ligand name in this new structure.

  3. Check for Missing Residues in the sequence of 7L10.

  4. Does the ligand in 7L10 have any missing heavy atoms?

Diagnostic complete. In Module 23, we will use these findings to Repair the protein and add the necessary hydrogens for energy analysis.