Comments (18)
+1 for naming this file "gefitini". This will definitely be a drink on Friday's menu.
from perses.
Ring creation will definitely need some TLC. We may need to do more than just consider impropers.
from perses.
+1 for naming this file "gefitini".
I wish I had done that on purpose...
Ring creation will definitely need some TLC. We may need to do more than just consider impropers.
Yeah, you're probably right about that.
from perses.
The big question here: If we add impropers, are there still multiple ways the bonds around the ring could go so that the ring doesn't close properly, or is there only one maximum in the torsion p(phi)
after the first bond of the ring is placed?
from perses.
The best model system to start to test on is probably benzene
to biphenyl
, since it involves the creation of a phenyl ring onto another phenyl ring.
from perses.
Without adding in improper torsions, I did a quick test of benzene
to biphenyl
using test_run_geometry_engine()
from perses/tests/test_geometry_engine.py
, and found that it clearly generated three distinct behaviors:
For a six-membered planar ring, our proposal scheme has several ways it could go wrong. I believe that creating a properly fused six-membered planar ring requires the random torsion selection make two essentially equiprobable decisions a particular way, resulting in a success rate of maybe 25%.
from perses.
I think we might benefit from looking into ensemble chain-growth or Rosenbluth-type methods for growing a good proposal configuration.
Here's a review of pruned-enriched Rosenbluth methods: http://arxiv.org/abs/1107.1214
The difficulty would be once we start using ensemble-growth and/or pruning-type methods, it may be difficult to compute the Hastings proposal ratio for the Metropolis-Hastings acceptance criteria. Some of these methods track weights or an estimate of the partition function for the generated ensemble, so it is possible this could provide what we need.
from perses.
Another possibility is to use parallel Monte Carlo to generate the geometry proposal before relaxing it with NCMC. If we only used the valence potential energy for this part, we that would remove the contribution of valence energy terms from the overall NCMC + RJMC + NCMC log acceptance probability, and still allow us to use NCMC to anneal the other contributions from intermolecular interactions.
from perses.
Another idea: currently, there are no potential terms to keep rings in a ring like shake because they are not needed when rings are covalently closed. We could instead introduce a guide field potential that functions solely to prevent rings from being created in a malformed geometry like two of the three examples above. It should really only kick in for the malformed cases, and should still be finite everywhere, but sufficiently large to greatly increase the yield of properly closed rings.
It might require some brainstorming and analysis of MCSS pairings to figure out the simplest way to implement this, but it would be very simple from an implementation and algorithmic point of view.
from perses.
Thanks for the suggestions--a lot of interesting stuff! Going through the PERM review now, and gathering some thoughts on this...
from perses.
Lots and lots of great stuff on the related configurational-bias Monte Carlo (CBMC) here:
http://towhee.sourceforge.net/algorithm/cbmc.html
from perses.
Some slides with an overview of methods here: http://www.acmm.nl/molsim/molsim2011/Presentations/Lecture8.pdf
from perses.
From the Towhee CBMC page:
Fixed Endpoint CBMC
Cyclic molecules are substantially more difficult to grow using CBMC because their conformational space is severely limited by the constraints of having cyclic portions of the molecule. Attempting to grow a cyclic molecule using standard CBMC methods, and just hoping it closes itself up properly, has an acceptance rate that is nearly zero. It is generally believed that an additional biasing is required during the growth procedure in order to nudge the growth into positions that will result in reasonable ring closures. There are a variety of biasing procedures in the literature. One that is notable, but not currently implemented into Towhee, is the self-adapting fixed-endpoint (SAFE) CBMC algorithm of Wick and Siepmann 2000. The problem with SAFE-CBMC is it can use a large amount of memory in order to keep track of all of the adapting fixed-endpoint biasing functions. The version implemented into Towhee uses some analytical biasing functions based upon a crude, but consistent, transformation of the distance between growth atoms and target ring atoms, into a bias function based loosely upon dihedral, bending, and vibrational energies. Considerable research is still needed in this area to determine optimal biasing strategies. The algorithm implemented into Towhee was first used, but not satisfactorily described, in Martin and Thompson 2004. A more detailed description of the biasing functions was later published in Martin and Frischknecht 2006.
from perses.
This is resolved.
from perses.
CBMC stuff may still be useful. Maybe split this off into separate issue?
from perses.
Oh, I agree completely that CBMC stuff is still useful. I'm personally very interested in it and would love to see where we could take it. That said, I'd rather not have a very general theory question as an issue that could hang around forever--I'd personally prefer to keep the issues to near-term goals and software problems. I'm not wedded to this view--if you think that's a bad plan and that it'd be best to have these discussions here feel free to reopen.
from perses.
Or open a new issue/whatever you think is best.
from perses.
This plan is fine with me.
from perses.
Related Issues (20)
- Backport openfe fixes for context deletion HOT 1
- Integrate new atom mappers HOT 7
- Write initial initial and final structures in subdir
- AtomMapper fails when scaffolds have radicals HOT 1
- Creating legacy 0.10.x branch for longer term support -- main branch will become `gufe` refactor HOT 1
- Make sure we merge latest 0.10 branch before working on 0.11 refactor
- perses with mpi HOT 1
- Duplicate instances of `self._setup_complex_phase()` in relative_setup.py HOT 2
- Make `offline-freq` be the same as `checkpoint_interval` by default HOT 1
- Migrate from PDB to PDBx/mmcif HOT 1
- Protein mutation protocol for alchemiscale HOT 1
- Adapt MPi example with perses at least for protein mutation HOT 1
- Fix potential bug in counterion implementation: get_water_indices()
- Allow user to specify list of atom indices to override default behavior for selecting the REST region
- Support for use of custom force fields (e.g., one generated from openff-bespokefit) HOT 5
- Error with spectator ligands HOT 8
- Allow specification of mapping dictionary in the pipeline
- Update README? HOT 1
- Retrieving exact topology used for an endpoint in a relative transformation HOT 11
- Improved reporting and state detection when passing tautomers as `old_residue`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from perses.