From: Satya A. <sa...@sf...> - 2006-02-17 02:07:29
|
Hi Esben and List, Thank you for your answering my questions. I realize now that it would be better to just represent a molecule as a sphere with diameter corresponding to the protein's diameter because like you said, with 4000 molecules, I don't need atomistic detail. Here is my situation: I now have a file with 100 frames, each frame has the 3D coordinates of 4000 spheres obtained from my simulator. Right now I have found a way to load the coordinates as cgo objects for each frame as shown in the script below. The problem is that Pymol needs to load all the frames before it can start playing the movie, which requires a lot of memory when considering 4000 spheres * 100 frames. Is there any callback function that is called when Pymol wants to move to the next frame? With such a function, I can clear the previous frames in the memory using cmd.delete and load a new frame from the file. I appreciate if there is any other solution for the above problem. Thanks! satya import string import random from pymol.cgo import * from pymol import cmd axes = [ LINEWIDTH, 3.0, BEGIN, LINES, COLOR, 0.2, 1.0, 0.2, VERTEX, 0.0, 0.0, 0.0, VERTEX, 100.0, 0.0, 0.0, COLOR, 1.0, 0.2, 0.2, VERTEX, 0.0, 0.0, 0.0, VERTEX, 0.0, 100.0, 0.0, COLOR, 0.2, 0.2, 1.0, VERTEX, 0.0, 0.0, 0.0, VERTEX, 00, 0.0, 100.0, END ] c=0 for a in xrange(0,100): balls = [] for i in xrange(0,40): balls.extend([COLOR, random.randrange(0,10,1)/10.0, random.randrange(0,10,1)/10.0, random.randrange(0,10,1)/10.0, SPHERE, random.randint(0,100), random.randint(0,100), random.randint(0,100), 1,]) obj = axes + balls cmd.load_cgo(obj,'cgo01',c) c = c + 1 pdb_list = [ "HETATM 1 X UNK 1 %8.3f%8.3f%8.3f 1.00 10.00\n"%(3.2,0,0), "HETATM 2 Y UNK 2 %8.3f%8.3f%8.3f 1.00 10.00\n"%(0,3.2,0), "HETATM 3 Z UNK 3 %8.3f%8.3f%8.3f 1.00 10.00\n"%(0,0,3.2), ] cmd.read_pdbstr(string.join(pdb_list,''),'lab2') cmd.hide('(lab2)') cmd.label('lab2','name') cmd.color('white','lab2') cmd.zoom('cgo01') cmd.clip('far',-5) > > Hi Satya > > You can use the command "translate" to move the individual objects in > pymol. Is takes a list of 3 floating points numbers as the > translational vector. > > I don't know how Pymol would handle 4000 objects, but an alternative > might be to load them as states within one object, and then use the > "show all states" command from the "Movie" menu. The "translate" > command can also move the individual states independently. (If you > also need to rotate the molecules, it gets more difficult :-) > > Another suggestion: If you have 4000 proteins, you may not need a very > high level of detail for each molecule. You could save a lot by > loading only the alpha carbon atoms and then increase their vdw-size > to make them "stick" together: > > pymol> alter my_object, vdw=3.0 > pymol> show spheres, my_object > pymol> sort > > > Cheers, > > Esben > > > -----Original Message----- > From: pym...@li... on behalf of Satya Arjunan > Sent: Sat 2006-02-11 03:56 > To: pym...@li... > Subject: [PyMOL] movie of diffusion of atoms/molecules > > Hi all, > > I would like to use Pymol to visualize 3D simulation of lattice-based > diffusion of molecules. The simulator provides the 3D coordinates (or > the translational direction since they have fixed diffusion distance) of > the molecules at everytime step. At the end of the simulation, I would > like to feed the coordinates (or the translational direction) to Pymol > using a python script and make a movie of this. > > What is a good way of implementing this with Pymol with lowest > computational cost because there are about 4000 protein molecules > altogether? I have come across a sample script at > http://www.rubor.de/bioinf/tips_python.html#chempy which I think I can > use to place the atoms/molecules in pymol. I am wondering if there is > any other cost effective way of implementing this? Is it possible just > to provide the translational angle and distance for certain molecules > already in the model? > > Thanks in advance. > satya > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log > files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 > <http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642> > _______________________________________________ > PyMOL-users mailing list > PyM...@li... > https://lists.sourceforge.net/lists/listinfo/pymol-users > |