Contents
Nigel W. Moriarty, Dorothee Liebschner
In macromolecular crystallographic structure refinement, ligands present challenges for the generation of geometric restraints due to their large chemical variability, their possible novel nature and their specific interaction with the binding pocket of the protein. Quantum-mechanical approaches are useful for providing accurate ligand geometries, but can be plagued by the number of minima in flexible molecules. In an effort to avoid these issues, the Quantum Mechanical Restraints (QMR) procedure optimizes the ligand geometry in situ, thus accounting for the influence of the macromolecule on the local energy minima of the ligand. The optimized ligand geometry is used to generate target values for geometric restraints during the crystallographic refinement. As demonstrated using a sample of >2330 ligand instances in >1700 protein–ligand models, QMR restraints generally result in lower deviations from the target stereochemistry compared with conventionally generated restraints. In particular, the QMR approach provides accurate torsion restraints for ligands and other entities.
QMR is part of the Quantum Interface (QI) module that covers the interaction of Phenix with QM packages.
There are two major ways to interact with the QMR modules in Phenix.
Note: Using the python2 installer requires the setting of the PHENIX_MOPAC environmental variable to point to the MOPAC executable. The python3 installer is shipped with the MOPAC executables.
For a number of reasons, we will cover the latter first. Using the example of PDB:4w53, download from the PDB website using:
~> phenix.fetch_pdb 4w53 --mtz
Command to produce PHIL scope for QM minimisation using mmtbx.quantum_interface is:
~> mmtbx.quantum_interface 4w53.pdb format=qi write_qmr_phil=True
which will fail because of the bulk test for hydrogen atoms.
Sorry: Model must have Hydrogen atoms
Also note that the write_qmr_phil=True option writes a PHIL file. In this example, the format of the PHIL file works for QI interface but the default works for phenix.refine.Add Hydrogen atoms to the model using:
~> phenix.ready_set 4w53.pdb
which produces a file with hydrogens atoms – 4w53.updated.pdb. It also may produce a restraints file that needs to be used next but in this case because the restraints for BNZ (benzene) are shipped with Phenix it is not necessary to supply to the program unless you want a different list of restraints (not ideal values). This file can be created cheaply but is needed as the skeleton for the QMR values to be inserted in the bond, angle and torsion restraints. So, we can repeat the quantum interface command with the new files.:
~> mmtbx.quantum_interface 4w53.updated.pdb format=qi write_qmr_phil=True
This will prompt for the selection of the ligand which in this case is “1”.
1 : "chain A and resid 200 and resname MBN" 2 : "chain A and resid 201 and resname EPE" Enter selection by choosing number or typing a new one ~>
The result is a PHIL scope for MBN QMR restraints:
4w53.updated_A_200_MBN.phil.
Alternatively, a selection can be supplied directly.:
mmtbx.quantum_interface 4w53.updated.pdb format=qi write_qmr_phil=True qi.selection="chain A and resid 200 and resname MBN"
A quick tour of the PHIL scope is helpful. The complete scope for the QMR module is shown at the end of this page. A reduced scope is shown here.
qi.qm_restraints { selection = "chain A and resid 200 and resname MBN" run_in_macro_cycles = *first_only first_and_last all last_only test buffer = 3.5 calculate = *in_situ_opt starting_energy final_energy starting_strain final_strain starting_bound final_bound starting_higher_single_point final_higher_single_point write_files = *restraints pdb_core pdb_buffer pdb_final_core *pdb_final_buffer restraints_filename = Auto package { program = *mopac test charge = Auto multiplicity = Auto method = Auto basis_set = Auto solvent_model = None nproc = 1 read_output_to_skip_opt_if_available = True ignore_input_differences = False view_output = None } }
The key items are the selection, buffer and package items. The selection is the active part of the QM minimisation. The buffer is the radius from the selection to include in the QM environment. The package scope defines the 3rd party QM package details.
The program will also suggest the next command line for running the QM part of the restraints calculation. The skeleton restraints file may need to be included.
~> mmtbx.quantum_interface 4w53.updated.pdb run_qmr=True 4w53.updated_A_200_MBN.phil
The result is a set of QMR restraints:
4w53.updated_A_200_MBN_3.5_C_PM6-D3H4.cif
Provide this to the desired refinements. The final QM calculation upon which the restraints are based are in:
4w53.updated_cluster_final_A_200_MBN_3.5_C_PM6-D3H4.pdb
The input and output files for the MOPAC calculations are in the directory for inspection.
mopac_4w53.updated_A_200_MBN_3.5_C_PM6-D3H4.out mopac_4w53.updated_A_200_MBN_3.5_C_PM6-D3H4.arc mopac_4w53.updated_A_200_MBN_3.5_C_PM6-D3H4.mop
The restraints file 4w53.updated_A_200_MBN_3.5_C_PM6-D3H4.cif can be used in a refinement or the restraints can be calculated on the fly in the refinement run.
To get a PHIL scope for phenix.refine, remove the format=qi parameter from the write_qmr command.:
~> mmtbx.quantum_interface 4w53.updated.pdb write_qmr_phil=True qi.selection="chain A and resid 200 and resname MBN"
The refinement command can then be run.:
~> phenix.refine 4w53.updated.pdb 4w53.mtz 4w53.updated_A_200_MBN.phil
The major output is below including the name of the restraints file.
========================== Update restraints from QM ==========================
QM restraints calculations for macro cycle 1
Time for calculation of "chain A and resid 200 and resname MBN" using PM6-D3H4 None: -
- Updating QM restraints: "chain A and resid 200 and resname MBN"
- Core atoms
" C MBN A 200 " ( 2721)
" C1 MBN A 200 " ( 2722)
" C2 MBN A 200 " ( 2723)
" C3 MBN A 200 " ( 2724)
" C4 MBN A 200 " ( 2725)
" C5 MBN A 200 " ( 2726)
" C6 MBN A 200 " ( 2727)
" H1 MBN A 200 " ( 2728)
" H2 MBN A 200 " ( 2729)
" H3 MBN A 200 " ( 2730)
" H2A MBN A 200 " ( 2731)
" H3A MBN A 200 " ( 2732)
" H4 MBN A 200 " ( 2733)
" H5 MBN A 200 " ( 2734)
" H6 MBN A 200 " ( 2735)
- Buffer residues
ILE A 78
LEU A 84
VAL A 87
TYR A 88
LEU A 91
ALA A 99
MET A 102
VAL A 103
VAL A 111
LEU A 118
LEU A 121
PHE A 153
MBN A 200
- Starting stats: bond: 0.011 angle: 1.42 dihedral: 0.00
- RMS difference in entire QM model : 0.108
- Interim stats : bond: 0.009 angle: 0.59 dihedral: 0.00
- Writing PDB : qmr_cluster_final_01_A_200_MBN_3.5_C_PM6-D3H4.pdb
Checking
- Transfer
29 " C1 MBN A 200 " - " C2 MBN A 200 " 1.394 ~> 1.405
30 " C1 MBN A 200 " - " C6 MBN A 200 " 1.394 ~> 1.405
33 " C4 MBN A 200 " - " C5 MBN A 200 " 1.388 ~> 1.398
45 " C3 MBN A 200 " - " C4 MBN A 200 " 1.389 ~> 1.398
47 " C MBN A 200 " - " C1 MBN A 200 " 1.502 ~> 1.493
51 " C2 MBN A 200 " - " C3 MBN A 200 " 1.388 ~> 1.396
52 " C5 MBN A 200 " - " C6 MBN A 200 " 1.389 ~> 1.397
1 " C1 MBN A 200 " - " C MBN A 200 " - " H1 MBN A 200 " 111.6 ~> 108.9
2 " H2A MBN A 200 " - " C MBN A 200 " - " H3A MBN A 200 " 107.3 ~> 108.4
3 " H1 MBN A 200 " - " C MBN A 200 " - " H2A MBN A 200 " 107.2 ~> 108.2
4 " C2 MBN A 200 " - " C1 MBN A 200 " - " C6 MBN A 200 " 118.3 ~> 119.2
5 " C1 MBN A 200 " - " C MBN A 200 " - " H2A MBN A 200 " 110.9 ~> 111.7
6 " C1 MBN A 200 " - " C6 MBN A 200 " - " C5 MBN A 200 " 121.0 ~> 120.2
7 " C1 MBN A 200 " - " C2 MBN A 200 " - " C3 MBN A 200 " 121.0 ~> 120.2
8 " C MBN A 200 " - " C1 MBN A 200 " - " C2 MBN A 200 " 120.8 ~> 120.1
9 " C1 MBN A 200 " - " C2 MBN A 200 " - " H2 MBN A 200 " 119.4 ~> 120.1
10 " C1 MBN A 200 " - " C6 MBN A 200 " - " H6 MBN A 200 " 119.4 ~> 120.0
11 " C2 MBN A 200 " - " C3 MBN A 200 " - " H3 MBN A 200 " 119.8 ~> 119.5
12 " C4 MBN A 200 " - " C5 MBN A 200 " - " H5 MBN A 200 " 120.1 ~> 119.8
13 " H1 MBN A 200 " - " C MBN A 200 " - " H3A MBN A 200 " 108.1 ~> 107.8
14 " C3 MBN A 200 " - " C4 MBN A 200 " - " C5 MBN A 200 " 119.4 ~> 119.6
15 " C MBN A 200 " - " C1 MBN A 200 " - " C6 MBN A 200 " 120.9 ~> 120.7
16 " C4 MBN A 200 " - " C3 MBN A 200 " - " H3 MBN A 200 " 120.0 ~> 120.2
17 " C5 MBN A 200 " - " C4 MBN A 200 " - " H4 MBN A 200 " 120.3 ~> 120.1
18 " C6 MBN A 200 " - " C5 MBN A 200 " - " H5 MBN A 200 " 119.8 ~> 119.9
19 " C5 MBN A 200 " - " C6 MBN A 200 " - " H6 MBN A 200 " 119.6 ~> 119.7
20 " C2 MBN A 200 " - " C3 MBN A 200 " - " C4 MBN A 200 " 120.2 ~> 120.3
21 " C4 MBN A 200 " - " C5 MBN A 200 " - " C6 MBN A 200 " 120.2 ~> 120.3
22 " C3 MBN A 200 " - " C2 MBN A 200 " - " H2 MBN A 200 " 119.6 ~> 119.6
23 " C1 MBN A 200 " - " C MBN A 200 " - " H3A MBN A 200 " 111.6 ~> 111.6
24 " C3 MBN A 200 " - " C4 MBN A 200 " - " H4 MBN A 200 " 120.3 ~> 120.2
1 " C2 MBN A 200 " - " C MBN A 200 " - " C1 MBN A 200 " - " H1 MBN A 200 " 31.7 ~> 87.0
- Finished stats : bond: 0.000 angle: 0.00 dihedral: 0.00
- planarity (n=1) mean: 0.034 min: 0.034 max: 0.034
Writing restraints : qmr_01_A_200_MBN_3.5_C_PM6-D3H4.cif
The PHIL scope can be used for all subsequent refinements to recalculate the QM restraints.