From: William Ray (ray.29_at_osu.edu)
Date: Thu Sep 27 2012 - 13:29:49 CDT

Two more data points:

a) The same behavior exists for forces applied to fragments rather than residues.

b) VMD appears to behave properly if I "manually" reduce the force, rather than middle-clicking to terminate it. I.e. If I apply a fragment force to residues 2-10 of 10ala, say 13kcal/mol/A, it will start to unfold. If I middle-click to terminate that force, all the force-arrows disappear, and ufx/y/z will report zero force, but the molecule will continue to stretch and lose all structure. If I (very carefully) reduce the length of my drag, so that I'm down to say 2kcal/mol/A, still keeping the force "on", and positive in the direction originally applied, then the hydrogen bonding will recover, and 10ala will refold.

On Sep 27, 2012, at 2:09 PM, William Ray wrote:

>
> Another data point.
>
> If I pull on a residue using a mouse->residue force, and add, say 5.5kcal/mol/A to the simulation and then wait for it to stretch the h-bonds to the maximum, but not break them, then middle-click to remove that force, switch to mouse->atom forces, and add on the order of 2kcal/mol/A to an atom of the same residue, I'll stretch the 10ala more, breaking a few h-bonds in the process. If I remove that single atom force, the system "recoils" to about where it was before the addition of the single atom force, but not back to the no-force state. If I add, and then delete forces on all of the atoms of that same residue, the behavior remains the same - the system acts as though the "residue force" remained present on the residue atoms. Behaviors are similar regardless of the temperature for the simulation.
>
> A possible alternative explanation would be if all _other_ forces on the molten segment were deleted at the same time the IMD force was deleted, leaving the system with only velocities. I don't think this could quite account for the behavior I'm seeing, but I can't completely rule it out.
>
> Without digging in the code enough to follow how forces are being passed from VMD into NAMD, it looks like perhaps when forces are attached to a residue they're sent in some form of "append" mode into NAMD (where canceling them appends a zero force, instead of removing the applied force), whereas individual atom forces are sent in such a fashion as they're added, and subtracted?
>
> I'm having a bit of difficulty getting VMD to compile under Lion, so I'm a bit away from being able to test enough to start to understand the guts.
>
> Thanks again,
> Will Ray
>
>
> On Sep 27, 2012, at 11:51 AM, William Ray wrote:
>
>>
>> Hmmm...
>>
>> ufx, ufy and ufz seem to be correctly zeroed across the entire molecule when the force is removed.
>>
>> Nonetheless, the molecule continues to fall apart, as though forces were still present.
>>
>> Forgive me for not knowing the VMD internals well enough yet, but it looks like ufx/y/z are external forces? Is there another set of variables we could look at for full integrated per-atom forces?
>>
>>
>> Thanks much!
>> Will Ray
>>
>>
>>
>>
>> (Main< (ray) 32 % set sel [atomselect top "resid 2 to 10"]
>> atomselect18619
>>
>>
>>> Main< (ray) 33 % set force [$sel get {ufx ufy ufz}]
>> {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0
} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0}
>>
>>
>>> Main< (ray) 34 % set force [$sel get {ufx ufy ufz}]
>> {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0
} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {-0.3580720126628876 -0.11941620707511902 0.15656539797782898} {-0.3580720126628876 -0.11941620707511902 0.15656539797782898} {-0.3580720126628876 -0.11941620707511902 0.15656539797782898} {-0.3580720126628876 -0.11941620707511902 0.15656539797782898} {-0.3580720126628876 -0.11941620707511902 0.15656539797782898} {-0.3580720126628876 -0.11941620707511902 0.15656539797782898} {-0.3580720126628876 -0.11941620707511902 0.15656539797782898} {-0.3580720126628876 -0.11941620707511902 0.15656539797782898} {-0.3580720126628876 -0.11941620707511902 0.15656539797782898} {-0.3580720126628876 -0.11941620707511902 0.15656539797782898} {-0.3580720126628876 -0.11941620707511902 0.15656539797782898} {-0.3580720126628876 -0.11941620707511902 0.15656539797782898} {-0.3580720126628876 -0.11941620707511902 0.15656539797782898}
>>
>>
>>> Main< (ray) 35 % set force [$sel get {ufx ufy ufz}]
>> {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0
} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0} {0.0 0.0 0.0}
>>
>>
>>
>> On Sep 27, 2012, at 11:15 AM, John Stone wrote:
>>
>>> Hi,
>>> Can you use an atom selection and print out the active values of
>>> "ufx", "ufy", and "ufz" before and after you try and reset the
>>> forces to zero?
>>>
>>> I just read through the code, and the Mouse-based IMD code is indeed
>>> trying to zero-out the forces when you press the middle or right mouse
>>> buttons when applying forces to residues. It is possible that there's a
>>> bug in the code that manages the force list or that the residue case is
>>> following an unexpected code path, but we should be able to determine
>>> where the problem is by watching the values of ufx/ufy/ufz as it runs.
>>> You can use a callback to trigger the atom selection query/printing
>>> if you prefer.
>>>
>>> Cheers,
>>> John Stone
>>> vmd_at_ks.uiuc.edu
>>>
>>> On Thu, Sep 27, 2012 at 10:57:52AM -0400, William Ray wrote:
>>>>
>>>> VMD 1.9.1 and NAMD 2.9 on MacOS 10.7.4
>>>>
>>>> I'm seeing what seems to be a bug in IMD/AutoIMD when using the mouse to apply a force to a residue. Specifically, when the force is released in the interface, it doesn't actually appear to be removed from the simulation.
>>>>
>>>> This is demonstrable with the deca-alanine tutorial PDB and PSF, using either the 10ala tutorial dedicated process, or loading the 10ala files and using AutoIMD.
>>>>
>>>> When a force is applied to a single atom, 10ala stretches, h-bonds break, etc. Middle-clicking on the atom to which the force was applied makes the red force-arrow disappear, and 10ala generally "springs back". h-bonds reform, etc.
>>>>
>>>> When a force is applied to a residue, multiple force-arrows appear, 10ala stretches, and even if I middle-click to remove the force immediately after the first h-bond breaks (all red force-arrows disappear), 10ala will continue stretching in the direction of the originally applied force, breaking all the other h-bonds until it is a stretched linear chain, and will never spring back. The interface does show zero for the applied force, after middle-clicking to remove it.
>>>>
>>>> This happens nomatter how small a force I attempt to apply to a residue. If it's sufficient to break a single h-bond, even after middle-click removing the force, 10ala will be inexorably unfolded, never to regain structure.
>>>>
>>>>
>>>> My guess is that the middle-click is not deleting forces from all the atoms where a force was applied, but I don't know how to diagnose this further.
>>>>
>>>>
>>>> Yes, I'm working on getting a Phantom set up, but the mouse will have to do until I get a spare linux box for the office.
>>>>
>>>> Any suggestions?
>>>> Will Ray
>>>> OSU Biophysics
>>>>
>>>
>>> --
>>> NIH Resource for Macromolecular Modeling and Bioinformatics
>>> Beckman Institute for Advanced Science and Technology
>>> University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
>>> http://www.ks.uiuc.edu/~johns/ Phone: 217-244-3349
>>> http://www.ks.uiuc.edu/Research/vmd/ Fax: 217-244-6078
>>>
>>>
>>
>