Path C - Module 21: Surgical Extraction & Deletion#

Welcome, Hunter. Your mission is to optimize a small-molecule inhibitor against the SARS-CoV-2 Main Protease (Mpro). This enzyme is essential for the viral life cycle, and blocking it can stop the infection.

In this module, you will start by isolating the viral protease and its experimental inhibitor from the crystal structure.

import molsysmt as msm
from molsysmt import systems

1. Loading the Antiviral Complex#

We will use the PDB ID 6LU7, one of the first structures solved of the Mpro inhibited by the N3 inhibitor.

complex = msm.convert('pdb:6LU7', to_form='molsysmt.MolSys')
msm.info(complex)
WARNING: Cross-chain covalent bonds were detected. (Hint: Verify whether these bonds are expected in your system. Docs: https://www.uibcdf.org/MolSysMT)
form n_atoms n_groups n_components n_chains n_molecules n_entities n_waters n_small_molecules n_peptides n_proteins n_structures
molsysmt.MolSys 2500 396 85 3 86 3 84 1 1 1 1

2. Extracting the Biological Unit#

Mpro is active as a homodimer. If you only want to study one binding site, you can extract() a single chain and its bound ligand.

# Extract Chain A and the ligand (which is usually molecule 1 in Mpro PDBs)
site_a = msm.extract(complex, selection='chain_index==0 or molecule_type=="small molecule"')

print(f"Extracted atoms: {msm.get(site_a, element='system', n_atoms=True)}")
msm.info(site_a, element='molecule')
Extracted atoms: 2367
index name type n atoms n groups n components chain index entity index entity name
0 3C-like proteinase protein 2367 306 1 0 0 3C-like proteinase

3. Cleaning Crystallographic Additives#

Experimental files often have DMSO, ethylene glycol, or other solvents used in the lab. We must remove them to have a clean binding model.

# Remove non-relevant small molecules
clean_site = msm.remove(site_a, selection='group_name=="DMS" or group_name=="EDO"')

msm.info(clean_site)
form n_atoms n_groups n_components n_chains n_molecules n_entities n_proteins n_structures
molsysmt.MolSys 2367 306 1 1 1 1 1 1

🏆 Path C Challenge: The Hunter’s Scissor#

  1. Load the Mpro complex (6LU7).

  2. Use msm.remove() to delete all Water molecules from the system.

  3. Use msm.extract() to create an object called inhibitor_only containing only the small molecule.

  4. Verify with msm.get() the number of atoms in your inhibitor_only object.

Target isolated! In Module 22, we will perform a Structural Audit to see if the inhibitor’s chemical structure is complete.