Merge pull request #3058 from RosettaCommons/dimaio/genpot_to_merge
This PR adds several tools aimed with making the Rosetta scorefunction reasonably behaved for arbitrary ligands.
Three specific improvements have been added:
A new ligand atom typing scheme has been added. An alternate param file generation app, scripts/python/public/generic_potential/mol2genparams.py has been added to handle parameter generation with the new atom typing. NOTE that this new typing is completely separate from protein atom typing.
A generic torsional potential, 'gen_bonded' has been added using these new types. This potential is undefined (returning 0) for non-ligand residues currently. LK and LJ parameters have been fit for these new atom types using a combination of small molecule crystal data and ligand-bound protein structures.
A new ligand docking protocol has been added in 'protocols/ligand_docking/GALigandDock'. It combines fast scoring on a precomputed grid with a genetic algorithm to allow very accurate ligand docking in 3-10 CPU minutes total per target (fixed sidechain) or 10-30 CPU minutes total (flexible sidechain). It is exposed as an XML-parsible mover, GALigandDock.
To use:
generate ligand parameter files using the new app mol2genparams.py
add the flag -gen_potential (or -beta) to the command line (both load exact same corrections ... note -beta will always load the latest-and-greatest energy function variant)
if using RosettaScripts, be sure the term 'gen_bonded' is turned on (recommended weight = 1)
More detailed information at https://www.rosettacommons.org/docs/wiki/rosetta_basics/scoring/Overview-of-Seattle-Group-energy-function-optimization-project
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #3171 from RosettaCommons/sergey/binder
Fixing PyRosetta GCC build
Vikram K. Mulligan 7 years Looks like the code_quality.clang_analysis test has been failing to run for a while. Sergey, do you know what's causing this?[list]
Andy Watkins 7 years Almost certainly: drift between tools and main, judging by where that python function comes from.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #3158 from RosettaCommons/revert-3157-revert-3145-roccomoretti/centroid_autosetupmetal
Revert "Revert "Make auto_setup_metals work with centroid mode.""
Enable the relevant metapatches in centroid mode, as well as enabling the automatic centroid-mode residue type generation to work with connected residues. (Like sidechain-bound metalbinding residues.)
The established covalent connections and constraints from fullatom mode should transfer to centroid mode. For connections/constraints to sidechain atoms, a special all heavyatom-present residue will be created. While this allows maintaining and round-tripping the constraints/connections through centroid mode, there's limitations on scoring/sampling in centroid mode. For scoring,the lack of a CEN atom results in differences in how the residue is scored versus a non-sidechain-metalbinding residue. For sampling, the lack of sidechain flexibility in centroid mode protocols may result in rejection of otherwise-acceptable conformations, due to the presence of the inflexible metalbinding sidechain. (Both of these should be minimal if you're not sampling directly in the vicinity of the metalbinding atom.)
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #3156 from RosettaCommons/vmullig/buried_unsat_score_incremental_merge_7
Incremental merge 7: Trying for some additional speed improvements with the buried_unsatisfied_penalty scoreterm
Unfortunately, the speedup is pretty small. This does simplify the code a little bit, though.
Tasks:
- [x] Pull request #3155 must be merged before this one.
- [x] Reduce the amount of node-swapping needed.
- [x] Track down and fix the decrement errors.
- [x] Beauty.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #3155 from RosettaCommons/vmullig/buried_unsat_penalty_incremental_merge_6
Incremental merge 6: Fix some spiky memory use in the buried_unsatisfied_penalty scoreterm
Tasks:
- [x] Add cleanup after packing.
- [x] Benchmark -- does this help with overall memory consumption?
- Yes, it does. It eliminates the spikiness, though usage is still somewhat high.
- [x] Also, caught a really stupid `runtime_assert` error that was needlessly aborting trajectories. Fixed.
- [x] Beauty.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #3164 from RosettaCommons/JackMaguire/MCHBNetCorrection
Very Small Multistage Rosetta Scripts Update
Multistage Rosetta Scripts currently can not use some filters because they get added to the CalculatorFactory singleton in RosettaScriptsParser (which MRS did not use). This PR adds a call to this RosettaScriptsParser function from the MRS Job Queen.
Thanks to Vikram for approving!
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #3099 from RosettaCommons/roccomoretti/parallelize_symmetry
Symmetry: Remove additional dependencies on the option system.
This PR removes most of the inappropriate uses of `-symmetry::symmetry_definition` in determining if we're operating under symmetry, preferring instead to use `core::pose::is_symmetric( pose )` to determine if we need symmetry.
Additionally, SymMinMover, SymPackRotamersMover, and SymRotamerTrialsMover have been stubbed out, moving any symmetry-specific code into the non-Sym versions. This means that the non-Sym-labled versions can be used for both symmetric and asymmetric poses, and will do the right thing in each case. The Sym versions are deprecated, and are kept around only for backward compatibility with existing XML and PyRosetta scripts.
*Note that TaskAwareSymMinMover apparently has slightly different default behavior than the non-Sym version, so I left both as-is for now.*
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #3154 from RosettaCommons/roccomoretti/octothorpe_component
HydroxylTorsionPotential was trying to parse comment lines. This resulted in warning messages from the PDB components loading machinery. Add a check to avoid trying to parse comment lines.
notify author
notify list [rosetta-logs@googlegroups.com]