Dear all,

Thanks a lot for your replies!

After playing a bit with the suggested command line programs I decided to follow Robert's suggestion and go the Python way, hoping to gain finer control of the options.

I am using the attached Python script to calculate an exact map from a model, using electron scattering table.

When running, for example, on 4v7t.cif I get a map that looks as follows (orthogonal central slices):

image.png

And the MRC header as read by IMOD is:

 RO image file on unit   1 : fourier_map.mrc     Size=      32401 K

 Number of columns, rows, sections .....     320     240     108
 Map mode ..............................    2   (32-bit float)            
 Start cols, rows, sects, grid x,y,z ...    0     0     0     108    240    320
 Pixel spacing (Angstroms)..............   1.958      1.809      1.941    
 Cell angles ...........................   90.000   90.000   90.000
 Fast, medium, slow axes ...............    Z    Y    X
 Origin on x,y,z .......................    0.000       0.000       0.000    
 Minimum density .......................   0.0000    
 Maximum density .......................   2.5699    
 Mean density ..........................  0.12004E-01
 RMS deviation from mean................  0.47980E-01
 tilt angles (original,current) ........   0.0   0.0   0.0   0.0   0.0   0.0
 Space group,# extra bytes,idtype,lens .       19        0        0        0

     1 Titles :
Some text        

With these in mind, I have some questions:

1) If I understand correctly, the map contains exactly one unit cell as defined in the .cif file. How can I choose a different assembly to generate the map from? Say, biological (author-defined) assembly #1?

2) The pixel size is approximately the step I give to maptbx.crystal_gridding() but is not exactly isotropic. How can I enforce it as such?

3) Probably related to the question above, the box size is not cubic, I guess because of the unit cell dimensions. Since most cryo-EM programs expect maps to be cubic and have isotropic pixel sizes, I would like to enforce the final map to be sampled on a cubic grid. How can I do that?

4) Not exactly a question but what might be a bug report. When I use a model that was originally calculated based on a cryo-EM map (PDB entries I tried: 7k00, 7b75) I get the following error because the files have no crystal symmetry defined:

Traceback (most recent call last):
  File "phenix_simulate_map.py", line 18, in <module>
    model.setup_scattering_dictionaries(scattering_table="electron")
  File "/scicore/projects/scicore-p-structsoft/ubuntu/software/Phenix/phenix-1.21-5207/modules/cctbx_project/mmtbx/model/model.py", line 2398, in setup_scattering_dictionaries
    self.neutralize_scatterers()
  File "/scicore/projects/scicore-p-structsoft/ubuntu/software/Phenix/phenix-1.21-5207/modules/cctbx_project/mmtbx/model/model.py", line 2821, in neutralize_scatterers
    xrs = self.get_xray_structure()
  File "/scicore/projects/scicore-p-structsoft/ubuntu/software/Phenix/phenix-1.21-5207/modules/cctbx_project/mmtbx/model/model.py", line 478, in get_xray_structure
    assert cs is not None
AssertionError

Thanks in advance for your help again. I hope I'm not kicking too much of a can of worms here.

Best wishes,


--
Ricardo Diogo Righetto


Em qua., 2 de abr. de 2025 às 21:12, Alexandre OURJOUMTSEV <sacha@igbmc.fr> escreveu:

Hi everybody,

 

Inversely to what Pavel wrote, just if you want to get a limited-resolution map of the Coulomb potential (and not anything else), eventually with a resolution that varies over the map regions, Section 5.2 of the manuscript

 

https://arxiv.org/abs/2412.14350

 

exactly explains how to do this. I guess, if this critical, Phenix teams can routinely add such an option.

 

With best wishes,

 

Sacha Urzhumtsev

 

De : Pavel Afonine <pafonine@lbl.gov>
Envoyé : mercredi 2 avril 2025 20:54
À : James Holton <jmholton@lbl.gov>; phenixbb@phenix-online.org; ricardorighetto@gmail.com
Objet : [phenixbb] Re: Simulate map from model

 

Hi,

additionally:

- If you want an exact map (not a finite-resolution Fourier map), use:

phenix.model_map model.pdb scattering_table=electron

- We are close to making a multipolar model available for density calculations, which—if I understand correctly—is what you need to simulate Coulomb potential maps. This feature is not yet available to general Phenix users, but if you send me the model off-list, I can generate and send the map back to you.

Pavel

On 4/2/25 10:52, James Holton wrote:

Ostensibly, all you need to do is run phenix.fmodel with scattering_table=electron .  And perhaps try to come up with what k_sol should be for the bulk solvent density.  There are caveats, of course, not the least of which is that, last I checked, the modified scattering from formal charges like ions vs neutral groups is not implemented.  I don't actually know of a program that handles things like charges. I've heard rumors that someone was working on full QM calculations of electrons moving through matter to try and get this "right", but I have not heard about any progress for some time.

Sorry can't be more helpful,

-James

On 4/2/2025 4:52 AM, Ricardo Righetto wrote:

Hi,

 

Apologies if I'm missing something obvious, but I was not able to find this in the documentation: is there a PHENIX tool for simulating Coulomb potential maps (aka "cryo-EM maps") from atomic models?

 

I'm looking for something like the molmap command in ChimeraX, but more accurate. One such alternative is the simulate program from cisTEM, but I figured PHENIX might also have something?

 

Thank you!

 

--
Ricardo Diogo Righetto



_______________________________________________
phenixbb mailing list -- phenixbb@phenix-online.org
To unsubscribe send an email to phenixbb-leave@phenix-online.org
Unsubscribe: phenixbb-leave@%(host_name)s




_______________________________________________
phenixbb mailing list -- phenixbb@phenix-online.org
To unsubscribe send an email to phenixbb-leave@phenix-online.org
Unsubscribe: phenixbb-leave@%(host_name)s