
Hi Ricardo,
When running, for example, on 4v7t.cif I get a map that looks as follows (orthogonal central slices):
this is crystallography and so the model does not have to sit in the middle of the unit cell and be fully inside it. Instead, most of the time you will find the model protrude outside the unit cell box. The map you get is in P1 box and bits and pieces you refer to are those that stick outside the unit cell box and thus have been mapped by periodicity to be inside the unit cell box. Nothing wrong with this.
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?
You can choose different symmetry copies of your model or generate them all by applying symmetry operators of the spec group. In Pymol it is symexp command, I think. Or you can use cctbx to do the same. Biological assembly is a different thing -- it's defined somewhere in the RCSB web side for each entry.
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?
It rarely can't be exact same in principle given FFT requirements.
3) Probably related to the question above, the box size is not cubic, I guess because of the unit cell dimensions.
Unit cell is the box. It its not cubic (the unit cell), the box is not cubic.
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?
4v7t is a crystal structure, AFAIS, not cryo-EM. If you don't care about this fact, which seems to be the case, you can - take the 4v7t model, - place it into P1 box: iotbx.pdb.box_around_molecule 4v7t.cif - then use of methods suggested earlier to compute either exact map and its Fourier image. Note, when defining crystal_gridding you have a choice to specify the step.
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
Box dimensions are likely wrong? Something like CRYST1 1.000 1.000 1.000 90.00 90.00 90.00 P 1 which is obviousness too small of a box to contain a protein! In fact, that's the case for https://files.rcsb.org/header/7B75.pdb Pavel