Hi Raju,
During the execution of a Python script, Chimera does not redraw the graphics screen until explicitly requested or when the script ends. The simplest way to ask for a redraw is to execute the "wait 1" Chimera command, which you can do from Python with:
from chimera import runCommand
runCommand("wait 1")
So if you embed that in your loop you should be able to see your atom move. Frames are redrawn at a rate of 25 per second (though future versions of Chimera may allow faster redraw rates), so you may want to wait more than 1 frame if the atoms moves too fast.
Alternatively, there is also a direct Python call to wait():
from Midas import wait
wait(1)
FYI, there is another mailing list, chimera-dev, where programming-intensive questions like this one are more appropriate, so that the regular user's eyes don't glaze over. :-)
--Eric
Eric Pettersen
UCSF Computer Graphics Lab
On Jul 10, 2012, at 9:07 AM, Raju Purohit wrote:
Hello friends,
I need some help here.
I created a basic model having just an atom and set its coordinates as (0,0,0). Now I want to make it move along a certain path defined mathematically (say, along x axis) and I need to see it move. So I used a for loop. But I couldn't see and motion and soon realised that the loop is very quick in executing and thus I could see the atom at its last coordinates. So I tried to add delay of 0.5 seconds for each loop by importing time module and useing time.sleep. But still I couldn't see any motion and the coordinates of the atom is set only at the end of the for loop. I could not see the intermediate path. I am sure you people must have tried this earlier and this problem has a solution but I just couldn't figure it out.
Can you please help me out?
Thank you in advance.
--
Raju R.N.
Third Year, B.Tech
Mechanical Engineering
National Institute of Technology Karnataka, Surathkal