<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">In the following code snippet, I repeatedly change the value of chi to one of three possible values for a chosen residue. I was surprised to see that changing chi seems to jitter the backbone. I expected that changing chi would alter the sidechain, leaving the backbone fixed. I'm wondering if there's something wrong, either in my code or in the way that I'm thinking about this. I'm using MMTK 2.7.3.<div><br></div><div>Thanks,</div><div>Geoff</div><div><br></div><div><br></div><div><div>import numpy</div><div>from MMTK import Features, Units, InfiniteUniverse</div><div>from MMTK.Proteins import Protein</div><div>from MMTK.ForceFields import Amber99ForceField</div><div>from MMTK.Trajectory import Trajectory, TrajectoryOutput, SnapshotGenerator</div><div><br></div><div>universe = InfiniteUniverse(Amber99ForceField(mod_files=['frcmod.ff99SB']))</div><div>universe.protein = Protein('1L2Y.pdb') # trp-cage structure from PDB</div><div><br></div><div>traj = Trajectory(universe, "test.nc", "w", "A simple test case")</div><div>traj_output = TrajectoryOutput(traj, ("energy", "configuration"), 0, None, 1)</div><div>snapshot = SnapshotGenerator(universe, actions=[traj_output])</div><div><br></div><div>trp_rotamers = numpy.array([52.8, 49.3, -178.2])</div><div>trp_rotamers *= numpy.pi / 180. # convert to rad</div><div><br></div><div>residues = universe.protein.residues()</div><div>selected_residue = residues[5]</div><div>print selected_residue.name # should be Trp6</div><div>chi = selected_residue.chiAngle()</div><div><br></div><div>for i in range(100):</div><div>&nbsp;&nbsp; &nbsp;rotamer_index = numpy.random.randint(0, trp_rotamers.shape[0])</div><div>&nbsp;&nbsp; &nbsp;chi.setValue(trp_rotamers[rotamer_index])</div><div>&nbsp;&nbsp; &nbsp;snapshot()</div><div><br></div><div>traj.close()</div></div><div><br></div></body></html>