openmopac / mopac

Molecular Orbital PACkage
http://openmopac.net
GNU Lesser General Public License v3.0
115 stars 31 forks source link

NQH-flipper #83

Open flatstik opened 2 years ago

flatstik commented 2 years ago

I would like to propose a feature to correct the rotamers, mainly asparagine, glutamine and histidines while working with protein models. Jimmy proposed the use of https://flipper.services.came.sbg.ac.at/cgi-bin/flipper.php but I think this feature should be included in this software to prevent user silliness/unawareness/ignorance/incompetence/uneducationess while working with these files by removing the possible distortion.

Please see http://openmopac.net/PM7_and_PM6-D3H4_accuracy/Notes_on_Proteins.html

godotalgorithm commented 2 years ago

NQH-flipper itself is mostly Python scripts and it is not distributed under an open-source license, so there are technical and legal barriers for any kind of direct incorporation into MOPAC.

I appreciate that rotamer analysis is a useful tool for protein structure refinement and analysis, but I'm not sure it belongs as a core feature of an electronic structure code, it is more of a type of workflow (hence its implementation w/ Python scripts) that organizes and post-processes a set of independent calculations (energetic tests of different rotamer assignments). It's something that I would be willing to try to make accessible as part of a Python interface to MOPAC, depending on the difficulty of implementation.

Also, there are other tools besides NQH-flipper that list rotamer analysis among their features, such as Phenix. MOPAC doesn't really have the developer manpower right now to compete with the analysis tools of specialized protein refinement software like that with a large number of developers.

godotalgorithm commented 2 years ago

I should ask for clarification: are you interested in constructing rotamers by selecting specific residues, or are you interested in automated selection of the "best" rotamer by some metric? I can probably support the former in MOPAC itself with its existing detection and bookkeeping of residues. It is the latter feature that would be quite difficult to incorporate directly into MOPAC.

nwmoriarty commented 1 year ago

I would concur that Phenix (or maybe even cctbx) can do the NQH flips prior to running MOPAC. Molprobity with tell you all the side chains that need flipping. I redid the refinement with Phenix and A192 was corrected.

flatstik commented 1 year ago

I should ask for clarification: are you interested in constructing rotamers by selecting specific residues, or are you interested in automated selection of the "best" rotamer by some metric? I can probably support the former in MOPAC itself with its existing detection and bookkeeping of residues. It is the latter feature that would be quite difficult to incorporate directly into MOPAC.

Automated selection of the "best" rotamer would be the best approach

godotalgorithm commented 1 year ago

As per Nigel's suggestion, there are several other tools for both constructing rotamers and guiding their selection. Since this discussion was last active, I also noticed that xtb has a companion program crest [https://crest-lab.github.io/crest-docs/] for generating a random ensemble of conformers and rotamers. Fundamentally, this is a layer of searching and analyzing on top of the base layer of atomistic simulation rather than a part of the atomistic simulation itself. If anything, I should be improving the interface between MOPAC and tools that might facilitate rotamer/conformer generation, and not trying to cram more features into MOPAC itself.

In your case, your notion of "best" rotamer may be different from other people with other applications, and so this must necessarily be part of a flexible/complicated workflow involving multiple tools and advanced user input and guidance.