Project 04
Assignment A
In the ongoing battle against antibiotic-resistant bacteria, understanding the molecular interactions between drugs and their targets is crucial. Staphylococcus aureus dihydrofolate reductase (DHFR) is a well-established target for several antibiotics due to its essential role in bacterial folate synthesis. This project focuses on protein-ligand docking studies of S. aureus DHFR using MolModa , a powerful tool for virtual screening and molecular modeling.
You will perform docking calculations to predict how various ligands bind to DHFR within different protein environments. By comparing these predictions with experimental data, you will assess the reliability of computational docking as a method for identifying potential antibiotic candidates. Additionally, you will explore the impact of cofactors like NADPH on ligand binding, providing insights into the complexities of protein-ligand interactions in a cellular context.
We will be using MolModa to perform protein-ligand docking of S. aureus DHFR in the following proteins.
PDB ID | Ligands |
---|---|
3FRD | Folate |
MolModa , unfortunately, cannot dock in the presence of cofactors (e.g. NADPH), which impacts the results of our virtual screening. Thus, the instructor will provide docking results with the NADPH cofactor while you use MolModa to examine the impact of its removal.
!!! note "Important" We recommend that you use Google Chrome instead of other browsers. Some browsers (e.g., Firefox) have been shown to exhibit more bugs and not work smoothly.
Protein preparation ¶
In this step, you’ll prepare a protein structure for modeling by cleaning it and adding missing hydrogen atoms. This is a common first step in molecular docking and simulation workflows, and it helps ensure that the structure is chemically accurate and biologically meaningful.
-
Use this link to the PDB file to get a crystal structure of dihydrofolate reductase (DHFR), a drug target enzyme.
Right-click the link and choose “Save Link As” or “Save Page As” to download it properly. Make sure the file ends in.pdb
. -
Open MolModa in your browser and upload the downloaded file. You should see a 3D view of the protein. Try rotating the structure to familiarize yourself with the overall shape. This structure includes water, cofactors, or ligands in addition to the protein itself.
-
In MolModa, delete any non-protein components such as:
- Water molecules (usually named HOH)
- Co-crystallized ligands or ions
Only the amino acid chains of the protein should remain after this step.
-
Use MolModa’s protonation tool to add missing hydrogen atoms, which are often not visible in X-ray structures.
After protonation, you may see a new version of the molecule—be sure to remove the old, non-protonated version so that only the chemically complete structure remains.
Ligand preparation ¶
In this section, you’ll prepare a small-molecule ligand for modeling.
Ligands must be protonated, properly formatted, and chemically realistic before they can be docked into a protein or used in simulations. Each of you has been assigned a unique compound active against DHFR, so be sure to follow the steps carefully.
You can find your assigned ligand on
Canvas
.
Specifically, you will find a label (such as
13b
) that corresponds to ligand information found in
actives.csv
.
- Load your active ligand using the SMILES string and using "File" -> "Molecular Text".
- Protonate your compound at a pH of 7.4 while regenerating coordinates with the "recommended" 3D coordinates generation option.
Set the following variables in the cell below by going to the "Data" tab.
-
STUDENT_ID
: Your Pitt student ID number as an int. -
smiles_active
: A string of your active molecule's SMILES. -
logp
: The LogP of your molecule as a float. -
mw
: The molecular weight of your molecule as a float.
STUDENT_ID = 1111111
smiles_active = ""
logp = 0.0
mw = 0.0
Region ¶
Add a box region with a center the dimensions of (28, 25, 27) with a center of (-5, 32, -4).
Docking ¶
- Go to "Binding" -> "Perform Docking/Scoring".
- Ensure that under "Protein/compound pairs to consider," MolModa found 1 protein and 1 compound. If you find more, you usually need to hide or remove your unprotonated proteins and compounds.
- Select the region you added in the first step. MolModa will warn you that your docking region is very large; you can ignore this warning.
- Increase "Exhaustiveness" to 32.
- Increase "Maximum rotatable bonds" to 25.
- Uncheck "Keep only highest-scoring pose for each compound".
- Click on "Advanced docking parameters" and set "Seed" to 123456.
- Run the docking calculation. Only certain hydrogens on the compounds are kept during docking, so there will be fewer hydrogen atoms on the same compound after docking.
Please fill in the following variables in the cell below by going to the "Data" tab.
-
docking_score_best
: What is the best docking score of all the ligand poses? -
docking_score_worst
: What is the worst docking score out of all poses? -
n_poses
: How many poses did MolModa keep?
docking_score_best = 0.0
docking_score_worst = 0.0
n_poses = 0
Interactions ¶
- Select only your docked molecules using the "Navigator" panel on the left.
- You need to download the poses of your docked ligands. Click "File" -> "Save" and then uncheck "Save the project in .molmoda format." Under "Molecules to Save," only keep "Selected molecules" active. Ensure that "Save each molecule to a separate file" is selected. Please check that the "File format for separate small-molecule compounds" is set to "Sybyl Mol2 (.mol2)."
You should have a zip file containing multiple files ending in
.mol2
.
Extract them and concatenate each file in the order of their numbers.
For example, if your active compound was
11a
, then you should create a new file called
11a-poses.mol2
, copy the first
.mol2
file into
11a-poses.mol2
, then the one that ends in
-2.mol2
into
11a-poses.mol2
, etc.
This makes it easier to compare different poses in PyMOL later on.
Load the
original
3FRD
PDB structure from above
into PyMOL and remove all non-protein atoms.
Next, load your concatenated poses
.mol2
file into PyMOL, creating a single object with your poses from MolModa.
You can click on the left and right arrows on the right-hand side to cycle through the poses.
The first pose should be your best pose and in descending order.
Please fill in all of the variables in the cell below.
When specifying residues interacting with the ligand, use a list containing strings of the three-letter amino acid code and residue index.
For example,
["Glu143", "Val75", "Lys45"]
.
Leave the list empty if there are no interactions present.
-
polar_contacts_best
: identify which protein residues your best ligand pose has polar interactions with. -
polar_contacts_worst
: identify which protein residues your worst ligand pose has polar interactions with.
polar_contacts_best = []
polar_contacts_worst = []
-
pi_contacts_best
: identify which protein residues your best ligand pose has pi interactions with. -
pi_contacts_worst
: identify which protein residues your worst ligand pose has pi interactions with.
pi_contacts_best = []
pi_contacts_worst = []
Cofactor comparisons ¶
In reality, we need to account for any cofactor interactions with NADPH. Please download this zip file containing all cofactor-docked compound data.
-
docking_scores_summary.csv
contains the best docking score of all docked compounds. -
poses/
directory contains the top nine poses of the identified binding modes.
Please fill in the variables in the cell below.
-
cofactor_score_best
: The best score for your active ligand in thedocking_scores_summary.csv
. -
cofactor_improved
:True
orFalse
, including the cofactor improved the docking score?
cofactor_score_best = 0.0
cofactor_improved = None
Now, go to the
poses/
directory and load the
.pdbqt
file of your active compounds into PyMOL (along with the 3FRD structure).
Please fill in all of the variables in the cell below.
-
cofactor_polar_contacts_best
: identify which protein residues your best ligand pose, when docked with the cofactor, has polar interactions with. -
cofactor_polar_contacts_worst
: identify which protein residues your worst ligand pose, when docked with the cofactor, has polar interactions with.
cofactor_polar_contacts_best = []
cofactor_polar_contacts_worst = []
-
cofactor_pi_contacts_best
: identify which protein residues your best ligand pose, when docked with the cofactor, has pi interactions with. -
cofactor_pi_contacts_worst
: identify which protein residues your worst ligand pose, when docked with the cofactor, has pi interactions with.
cofactor_pi_contacts_best = []
cofactor_pi_contacts_worst = []
Reactant docking ¶
We also docked DHFR's canonical reactant, dihydrofolate (DHF), to the same protein. Please fill in the variables in the cell below.
-
dhf_score_best
: The best score for DHF in thedocking_scores_summary.csv
.
dhf_score_best = 0.0
Now, go to the
poses/
directory and load in
.pdbqt
file DHF into PyMOL (along with the 3FRD structure).
Please fill in all of the variables in the cell below.
-
dhf_polar_contacts_best
: identify which protein residues your best ligand pose, when docked with the cofactor, has polar interactions with.
dhf_polar_contacts_best = []
-
dhf_pi_contacts_best
: identify which protein residues DHF has pi interactions with.
dhf_pi_contacts_best = []