This function builds a specified missing loop or tail in a protein structures. The function returns false if the loop or tail cannot be built. The function requires a loop database be provided in the options class. Using the loopdb_builder application it is possible to build your own database for a given target family, or a set of proprietary structure. OpenEye provides a database built of the structures in the entire PDB repository at the time of toolkit release. The datastamps are noted in the info table and logged during loop building. It is possible to append local/proprietary structures to this database if desired, again using the desktop application. The options classes allows different behaviors for the loop builder.
Explicit hydrogens are not added to the structure during the build processes, therefore no partial charges are assigned.
bool OEBuildSingleLoop(OEChem::OEMCMolBase& outputMol, const OEChem::OEMolBase& inputMol, const std::string fasta, const OEChem::OEResidue& cTerminalAttachment, const OEChem::OEResidue& nTerminalAttachment, const OESidechainBuilderOptions& scOpts=OESidechainBuilderOptions(), const OELoopBuilderOptions& lOpts=OELoopBuilderOptions());
The function takes an empty multi-conformer molecule which will contain the protein with the loop built if the function is successful. Multiple conformers of the loop will be returned based on the passed options, the results are sorted by a force field energy score. The remaining arguments are, the molecule with the gap, the loop protein sequence in 1-letter codes as a string (e.g. “PVHTAL”), and the c- and n-terminal attachment (or anchor) residues. The function also takes options classes for the loop building, and side-chain re-building, in case the loop in the database is not a 100% identity match. The function calls OEOmega to generate possible conformations for tails.