cg_openmm
cg_openmm copied to clipboard
Update helix optimization tools
Description
Adds lots of new functionality for optimizing 1sc, 2sc, and 3sc helices:
- 1sc helices nonbonded optimization: we can now set any combination of bb-sc and bb-bb bonds, and any not specified will be included in the optimization
- 2sc helices: there are now two different sidechain schemes - 1) 'center' alignment, in which the center of the sc1-sc2 bond is normal to the backbone bead, and 2) 'first' alignment, in which the first bead (sc1) is normal to backbone, and the second bead contacts the backbone bead at equilibrium LJ distance. In each case, the sidechains can rotate about the axis extending normal to the backbone bead.
- 3sc helices: similarly we can set 1) 'center' alignment, in which the triangle center is normal to the backbone, or 2) 'first' alignment, in which the first bead is normal to the sidechain and the other 2 contact the backbone. The linear constraints for the different sigma and bond lengths for 'first' alignment are not quite right, so may not work for all combinations of radius/pitch.
- For 2sc and 3sc helices, the number of rotational degrees of freedom can also be specified. For example, if n_rotation_angles=2, odd and even residue sidechain groups can rotate independently. Or, set n_rotation_angles=n_residues for each residue rotating independently. In most cases, just 1 rotational degree of freedom is sufficient.
Also adds a new function for mapping native sequences to optimal sequences with an arbitrary alphabet size:
- Unlike residue types get (1-kappa) LJ scaling, and like residue types can full LJ weight.
- Brute force sequence scan is used with precomputed native distances and energies, but can fix the beginning of longer sequences in place by passing in a tuple.
- Speed is roughly ~1000-2000 sequences/second.
- Outputs the value of (U_native-U_nonnative)/(U_native+U_nonnative), in which a perfect Go model gives a value of 1. Also outputs the raw native and nonnative energies for each sequence.
TODOS
- [ ] Add tests for the new 1sc functionality
- [ ] Add tests for the new 2sc functionality
- [ ] Add tests for the new 3sc functionality
- [ ] Add tests for Go sequence mapping
Status
- [ ] Ready to go
Codecov Report
Merging #154 (0851734) into go_model_energy_matching (d55131b) will decrease coverage by
4.89%
. The diff coverage is44.98%
.