[Chimera-users] Gaussian filter prior to fitmap?

Tom Goddard goddard at sonic.net
Wed Oct 2 12:01:31 PDT 2019


Hi Oli,

 Thanks for the suggestions.

 I also have seen that using a smoothed map increases the radius of convergence in fitting.  So in ChimeraX I will sometimes use

	volume gaussian #2 sdev 5
	fit #1 in #2

to fit into a smoothed map.  I agree it might be convenient to have an option to the fit command so this could be done in one command like "fit #1 in #2 smooth 10".  The Gaussian filtering does a Fourier transform to do the smoothing and can be a bit slow (10 seconds for larger maps), and maybe binning would be a faster option achieving the same result, could have "fit #1 in #2 bin 4".  With such an option I envision only smoothing the map being fit into.  If #1 is a map I don't think smoothing it also will increase the radius of convergence.  An issue with these proposed options is whether the smoothed map should be kept (and shown in Volume Viewer) after the fit operation so it can be used again.  Not sure what is best there.  It is inconvenient to keep it if it will not be used again since it adds needless models.  But it can also show you what you actually fit into (how smooth it is), and it can be used again without recomputing if you want to adjust the position of #1 and fit again.

 I agree that specifying the standard deviation of the Gaussian in a Gaussian filter is not the best -- it would be better if the number specified directly indicated how much the resolution will be decreased.  Would be nice if we had say "volume gaussian #1 blur 10" which would reduce my 5 Angstrom resolution map to 15 Angstroms.  Currently you have to say instead something like "volume gaussian #1 sdev 2.25".  The factor converting between resolution and Gaussian standard deviations is about 0.225 (= 1 / (pi * sqrt(2)) as used by the molmap command when simulating a map from an atomic model.  But it is not has simple as that.  The "blur 10" option would not add 10 to the resolution.  When you convolve a Gaussian with a Gaussian the result is a Gaussian but its width is not the sum of the widths of the two input Gaussians -- instead it is sqrt(sigma1**2 + sigma2**2).  So the blur option example would really give effective resolution sqrt(5*5 + 10*10) = 11 Angstroms.  Still it be easier to choose the number than the current standard deviation.

 For your third issue of fitting multiple maps into a single map.  I think the current fitmap option eachmodel has the right default of false because you are considering an uncommon fitting scenario.  The fitmap command is mostly used for fitting atomic models in maps.  Infrequently the atomic model may be a complex composed of 2 PDB models, like a small and large ribosomal unit that are each a separate PDB.  If fit that in a map you usually want it fit as one rigid object "fit #1,2 in #3" should move #1 and #2 rigidly together.  If the eachmodel option defaulted true it would fit each model independently and in a low resolution map that will give the models right on top of each other in the highest density.  We could have eachmodel default false when fitting atomic models and true for fitting maps -- it is a bit confusing.  I think the best solution is as you suggest improve the error message.  Currently ChimeraX "fit #1,2 in #3" says "Multiple maps for #1,2" and I can change that to "Need to use fitmap option "eachmodel true" or the sequence option to fit multiple maps".  The sequential fitting fits each map as if it was a component of a complex, subtracting off the other map(s) first before fitting each in sequence.  The sequence option may also be a more common case than the one you describe, fitting multiple different component maps in a single map.

 I'll make ChimeraX tickets for these requests.

	Tom


> On Oct 1, 2019, at 5:50 AM, Oliver Clarke <olibclarke at gmail.com> wrote:
> 
> Hi,
> 
> Would it be possible to add an option to fitmap (in either/both chimera/chimerax) to restrict the spatial frequencies used for fitting? That is, to fit gaussian filtered versions of the input maps behind the scenes, but apply the resulting transform to the unfiltered maps? Filtering maps to say 15 Å gives a much better radius of convergence in my experience - much less prone to getting stuck in local minima.
> 
> In general I also wish that when applying a gaussian filter in Chimera (or chimerax), the approximate equivalent in spatial frequency terms was indicated - e.g. if I am applying a gaussian filter of sdev x to a map of pixel size y, what lowpass filter does this effectively equate to?
> 
> Also, when one wants to fit multiple maps to a single reference (quite common when inspecting results of 3D classification), Chimera gives an error message indicating that multiple maps have been input. There is an “eachmodel true” option one can set to allow fitting of multiple maps to a single reference, but the default value is false. It seems to me that the default value for this should be true, as if the user is specifying a wildcard or model ID range for the maps to fit, this is probably the behavior they are after I think. Or maybe the error message could be altered to indicate that if this is what one wants to do the eachmodel keyword needs to be specified?
> 
> Cheers
> Oli
> _______________________________________________
> Chimera-users mailing list: Chimera-users at cgl.ucsf.edu
> Manage subscription: http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users
> 





More information about the Chimera-users mailing list