Hi James,

carving and normalization in PyMOL are really independent things. Normalization 
happens during map loading (if normalize_ccp4_maps is on). Carving happens 
during mesh generation (it's an argument of the isomesh command) and is really 
just a way to limit mesh display to an area of interest. You can do a simple 
test and create a mesh of an entire map, and a carved mesh around a ligand or 
residue, and both should match perfectly. Example:

fetch 1rx1, async=0
fetch 1rx1, async=0, type=2fofc
isomesh meshfull, 1rx1_2fofc, 1.0
isomesh meshcarve, 1rx1_2fofc, 1.0, organic, 2.0, 1, 2.0
set grid_mode
disable 1rx1
set_view (\
     0.929457247,    0.368711948,    0.012666196,\
    -0.360624999,    0.900760233,    0.242035180,\
     0.077831753,   -0.229529440,    0.970184207,\
     0.000016911,    0.000072468,  -31.454853058,\
    26.290172577,   59.373352051,   15.045225143,\
    29.803743362,   33.103614807,  -20.000000000 )

Expanding the map also happens during mesh generation and does nothing to the 
data, except replicating it.

Using your tool of choice to normalize a map before loading into PyMOL is for 
sure a good practice and solves the issue that PyMOL doesn't normalize across 
the asymmetric unit, but the raw data (if raw data != integral number of 
asymmetric units).

Cheers,
  Thomas

On 03 Jun 2015, at 14:14, James Holton <[email protected]> wrote:

> I have never trusted Pymol's "normalization" of maps, because it has never 
> been clear to me if it does the normalization before or after the "carve".  
> If it is after, then you have a serious interpretation problem: the "1 sigma" 
> level will be MUCH lower than if the rest of the map were not set to zero.  
> In this situation if you set the "carve" right the map will look a LOT more 
> like the coordinates than it should. In fact, if you "normalize" a map using 
> anything but an integral number of asymmetric units your "1 sigma" level will 
> not be the same as if it were done properly.  With pymol you usually have to 
> extend the map to "cover" the protein of interest, and this extended map is 
> seldom an integral number of asymmetric units.
> 
> So, I have always taken to normalizing the map myself (using mapmask) with a 
> single ASU or single cell as the map extent, and THEN extending the map to 
> cover the PDB (using a completely different run of mapmask) and only then 
> load it into pymol. I always turn off map normalization in pymol.  I have 
> also never used "carve", as my thesis adviser strongly disapproved of the 
> practice.  Mostly because of the potential for bias mentioned above.
> 
> Do you really have to "carve" for your density to be clear?
> 
> -James Holton
> MAD Scientist
> 
> 
> On 5/29/2015 1:15 PM, Emilia C. Arturo (Emily) wrote:
>> Hello.
>> I am struggling with an old question--old because I've found several 
>> discussions and wiki bits on this topic, e.g. on the PyMOL mailing list 
>> (http://sourceforge.net/p/pymol/mailman/message/26496806/ and 
>> http://www.pymolwiki.org/index.php/Display_CCP4_Maps), but the suggestions 
>> about how to fix the problem are not working for me, and I cannot figure out 
>> why. Perhaps someone here can help:
>> 
>> I'd like to display (for beauty's sake) a selection of a model with the map 
>> about this selection. I've fetched the model from the PDB, downloaded its 
>> 2mFo-DFc CCP4 map, loaded both the map and model into both PyMOL (student 
>> version) and Coot (0.8.2-pre EL (revision 5592)), and decided that I would 
>> use PyMOL to make the figure. I notice, though, that the map 'level' in 
>> PyMOL is not equivalent to the rmsd level in Coot, even when I set 
>> normalization off in PyMOL. I expected that a 1.0 rmsd level in Coot would 
>> look identical to a 1.0 level in PyMOL, but it does not; rather, a 1.0 rmsd 
>> level in Coot looks more like a 0.5 level in PyMOL. Does anyone have insight 
>> they could share about the difference between how Coot and PyMOL loads maps? 
>> Maybe the PyMOL 'level' is not a rmsd? is there some other normalization 
>> factor in PyMOL that I should set? Or, perhaps there is a mailing list post 
>> out there that I've missed, to which you could point me. :-)
>> 
>> Alternatively, does anyone have instructions on how to use Coot to do what 
>> I'm trying to do in PyMOL? In PyMOL I displayed the mesh of the 2Fo-Fc map, 
>> contoured at "1.0" about a 3-residue-long 'selection' like so: isomesh map, 
>> My_2Fo-Fc.map, 1.0, selection, carve=2.0, and after hiding everything but 
>> the selection, I have a nice picture ... but with a map at a level I cannot 
>> interpret in PyMOL relative to Coot :-/
>> 
>> Regards,
>> Emily.

-- 
Thomas Holder
PyMOL Principal Developer
Schrödinger, Inc.

Reply via email to