This command assesses the quality of the selected atoms in the model using the DOPE (Discrete Optimized Protein Energy) method [Shen & Š ali, 2006]. This is a statistical potential optimized for model assessment. As with model.assess_ga341(), the benchmark set used to develop this method contained only single-chain proteins, and thus no guarantees can be made about the applicability of the method to multiple-chain systems.
DOPE uses the standard MODELLER energy function, so any of the arguments accepted by selection.energy() can also be used here. (Note also that the model's topology must be set up in order to calculate the energy, which can be done for you by the complete_pdb() script.)
Only the DOPE energy itself is returned by this command (all other components of the MODELLER energy function, such as stereochemical restraints, Lennard-Jones interactions, homology-derived restraints, etc, are ignored) unless you manually set schedule_scale. See selection.energy() for more details. Note also that any intra-rigid body distances are not considered as part of the DOPE assessment (see Section 5.3.4), so if you have any defined rigid bodies, you may want to consider turning them off before requesting this assessment.
The DOPE model score is designed for selecting the best structure from a collection of models built by MODELLER. (For example, you could build multiple automodel models by setting automodel.ending_model, and select the model that returns the lowest DOPE score.) Currently the score is unnormalized with respect to the protein size and has an arbitrary scale, therefore scores from different proteins cannot be compared directly. A normalization scheme is under development.
# Example for: model.assess_dope() from modeller import * from modeller.scripts import complete_pdb env = environ() env.libs.topology.read(file='$(LIB)/top_heav.lib') env.libs.parameters.read(file='$(LIB)/par.lib') # Read a model previously generated by Modeller's automodel class mdl = complete_pdb(env, '../atom_files/1fdx.B99990001.pdb') # Select all atoms in the first chain atmsel = selection(mdl.chains) score = atmsel.assess_dope()