[Chimera-users] Poor performance with 30 molecules

Benoit Zuber bzuber at mrc-lmb.cam.ac.uk
Fri Oct 3 01:31:52 PDT 2008

Thank you Tom and Elaine for your detailed explanations! Since the main 
point is to fit a high resolution model in a low resolution map, and 
considering the fact that the multiscale tool does not interoperate 
easily with fittings in maps, I will rather use C-alpha coordinates only 
as you suggest Tom. I have just tried it and it made a great 
improvement! Also I tested fitting before and after removing the non CA 
atoms and it did not make a significant difference.

I was wondering, if after fitting say 50 Calpha chains I wanted to 
replace them by the full molecular model (for showing in a talk for 
example), would there be an easy way to do that?


Thomas Goddard wrote:
> Hi Ben,
>   The main trick to improve efficiency in Chimera with many copies of 
> a molecule is to use only the C-alpha coordinates.  This is usually 
> acceptable with working with EM data resolutions.  You create a PDB 
> file with only the CA atoms (can use "select @CA" command and Chimera 
> File / Save PDB...) reducing the total number of atoms by 10x or more.
>   Chimera is a very memory inefficient with molecules taking about 2 
> Kbytes per atom.  This is about 10x worse than PyMol and VMD.  You 
> start feeling this at about 100,000 atoms and up and run into real 
> trouble around 500,000 atoms if you are using 32-bit Chimera (no 
> 64-bit available on Windows or Mac) because you run out of address space.
> The ability to rotate the models depends on rendering speed.  Above 
> 100,000 atoms only "wire" style will be fast and you must have a 
> graphics driver installed (not Mesa on Linux).  With a 4 year old 
> graphics card (Radeon 9800 Pro) I get 10 frames per second with 
> 200,000 atoms.  With a newer card you should handle 500,000 atoms in 
> wire at reasonable frame rates.
>   Chimera session files include all the PDB atom coordinates.  Chimera 
> has no way to show 30 copies of a PDB file at different positions 
> without having 30 independent copies of the data, except using 
> surfaces with the multiscale tool.  The multiscale tool does not 
> interoperate easily with fitting in maps.
>     Tom
> Elaine Meng wrote:
>> Begin forwarded message:
>>> From: Benoit Zuber <bzuber at mrc-lmb.cam.ac.uk>
>>> Date: October 2, 2008 10:24:34 AM PDT
>>> To: Elaine Meng <meng at cgl.ucsf.edu>
>>> Subject: Re: [Chimera-users] volume viewer window
>>> Hi Elaine,
>>> I just aligned a tiny subtomogram to a model with a lot of different 
>>> parameter, which generated many volumes. Then I wanted to visualize 
>>> all the results at once. Since each volume was tiny, chimera was not 
>>> struggling, it was fine :-)
>>> However that reminds me another issue about memory I had sometime ago.
>>> I have a tomogram into which I have fitted many copies (more than 
>>> 30) of the same pdb file. There are two problems: 1) compiling the 
>>> session file takes ages (around 10 minutes I would say). Opening the 
>>> compiled session file takes more than 1 minute.
>>> 2) if I display all the copies of the pdb, everything is very slow 
>>> (I mean if I want to move anything in space, it takes very long). If 
>>> I display only a few copies (plus 1 or two slices through the 
>>> tomogram), then it works fast.
>>> For the 2nd problem, there is maybe no easy solution to speed up the 
>>> calcultations, but for the first one, since we are dealing with 
>>> copies of a single pdb, wouldn't it be possible to make the process 
>>> faster? I reckon that the coordinates of each atom of each copy of 
>>> the pdb are saved. Would there be a way to save only one copy and 
>>> transformation matrix for every copy? Would it speed up file 
>>> saving-compiling-opening operations?
>>> Cheers,
>>> Ben
>> Hi Ben,
>> I know Tom Goddard has made many recent improvements in Volume Viewer 
>> memory usage and speed, but it sounds like your main issue is many 
>> atomic structures rather than lots of volume data.
>> If the PDB copies are identical except in transformation, there is 
>> some capability in Multiscale Models to only store one copy of the 
>> coordinates and show the others as low-res surfaces.  However, as 
>> soon as you try to show any more detailed display such as ribbons or 
>> atoms and bonds, the full coordinates for that copy are loaded.  If 
>> you actually want to view ribbons/atoms/bonds for each copy, I don't 
>> know of any mechanism to save memory.  Also, to use Multiscale Models 
>> in this way, you would have to generate an input PDB file with 
>> matrices describing all of the transformations, which sounds 
>> difficult.  Yet another way to handle multiple coordinate sets for 
>> the same atoms is as a trajectory.  However, then you can only view 
>> one member of ensemble (one "time step" from the trajectory) at a 
>> time, so that also would not solve your problem.
>> I CC'd Tom and Eric in case they have any ideas.
>> Best,
>> Elaine

Benoît Zuber
MRC Laboratory of Molecular Biology
Hills Road
United Kingdom
+44 1223 402209
bzuber at mrc-lmb.cam.ac.uk

More information about the Chimera-users mailing list