
Hi, I remember asking about this some time ago, but I am not sure if it was ever implemented. Is there a way to refine just pixel size for an EM map in phenix.real_space refine (or another phenix utility)? Even just automatically rigid-body fitting a crystal structure and calculating the pixel size with max correlation would be handy. We do this at the moment using Chimera/ChimeraX, but an automated way to do it in phenix would be handy. In the absence of a crystal structure, I wonder if directly refining pixel size during real space refinement would be possible/reasonable at higher resolution (<2Å)? Cheers Oli

Hi Oli, I think this has come up before, but as far as I know the only current method to refine pixel size in Phenix is by using the refine_cell_scale option in phenix.voyager.em_placement. This requires you to have a placed (or at least dockable) model that is on the right scale (i.e. hasn’t been refined against the map of interest). These days, the high-confidence subset of an AlphaFold model would probably be sufficient to give a good correction for the magnification factor. In tests I’ve done, it has a pretty high convergence radius. What you probably want is something that will correct a model that may already have been refined against the map of interest. This is a feature that Pavel Afonine and I have discussed before, and I think Pavel did at least some preliminary experiments in phenix.real_space_refine. Like you, I think it should be possible to use the geometric restraints to get the refinement engine to correct the pixel size to make it compatible with good geometry. However, this may not be trivial to get to work robustly and might require things like taking account of second derivative terms relating the positional and pixel size (or magnification factor) parameters. Pavel might have more to say on this. Best wishes, Randy
On 3 Jun 2025, at 08:19, Oliver Clarke
wrote: Hi,
I remember asking about this some time ago, but I am not sure if it was ever implemented.
Is there a way to refine just pixel size for an EM map in phenix.real_space refine (or another phenix utility)? Even just automatically rigid-body fitting a crystal structure and calculating the pixel size with max correlation would be handy. We do this at the moment using Chimera/ChimeraX, but an automated way to do it in phenix would be handy.
In the absence of a crystal structure, I wonder if directly refining pixel size during real space refinement would be possible/reasonable at higher resolution (<2Å)?
Cheers Oli _______________________________________________ phenixbb mailing list -- [email protected] To unsubscribe send an email to [email protected] Unsubscribe: phenixbb-leave@%(host_name)s
----- Randy J. Read Department of Haematology, University of Cambridge Cambridge Institute for Medical Research Tel: +44 1223 336500 The Keith Peters Building Hills Road E-mail: [email protected] Cambridge CB2 0XY, U.K. www-structmed.cimr.cam.ac.uk

Hi Randy, Thanks!! Voyager.em_placement looks like it should do the trick - however, when I run it, it complains it needs a sequence file. When I provide a seqence file, e.g.: phenix.voyager.em_placement model_file=2xoa_fit_j203.pdb full_map=cryosparc_P4_J203_map.mrc refine_cell_scale=true half_map=cryosparc_P4_J270_map.mrc half_map=cryosparc_P4_J272_map.mrc sequence_files=2xoa.fasta ... it seems to read the sequence file per the input parameters, but then still complains it needs a sequence file. Per Tom's message yesterday regarding map_sharpening, I tried the seq_file flag instead, but that does not seem to exist for this utility. Is there another sequence keyword I am missing? Cheers Oli
On Jun 4, 2025, at 11:55 AM, Randy John Read
wrote: Hi Oli,
I think this has come up before, but as far as I know the only current method to refine pixel size in Phenix is by using the refine_cell_scale option in phenix.voyager.em_placement. This requires you to have a placed (or at least dockable) model that is on the right scale (i.e. hasn’t been refined against the map of interest). These days, the high-confidence subset of an AlphaFold model would probably be sufficient to give a good correction for the magnification factor. In tests I’ve done, it has a pretty high convergence radius.
What you probably want is something that will correct a model that may already have been refined against the map of interest. This is a feature that Pavel Afonine and I have discussed before, and I think Pavel did at least some preliminary experiments in phenix.real_space_refine. Like you, I think it should be possible to use the geometric restraints to get the refinement engine to correct the pixel size to make it compatible with good geometry. However, this may not be trivial to get to work robustly and might require things like taking account of second derivative terms relating the positional and pixel size (or magnification factor) parameters.
Pavel might have more to say on this.
Best wishes,
Randy
On 3 Jun 2025, at 08:19, Oliver Clarke
wrote: Hi,
I remember asking about this some time ago, but I am not sure if it was ever implemented.
Is there a way to refine just pixel size for an EM map in phenix.real_space refine (or another phenix utility)? Even just automatically rigid-body fitting a crystal structure and calculating the pixel size with max correlation would be handy. We do this at the moment using Chimera/ChimeraX, but an automated way to do it in phenix would be handy.
In the absence of a crystal structure, I wonder if directly refining pixel size during real space refinement would be possible/reasonable at higher resolution (<2Å)?
Cheers Oli _______________________________________________ phenixbb mailing list -- [email protected] To unsubscribe send an email to [email protected] Unsubscribe: phenixbb-leave@%(host_name)s
----- Randy J. Read Department of Haematology, University of Cambridge Cambridge Institute for Medical Research Tel: +44 1223 336500 The Keith Peters Building Hills Road E-mail: [email protected] Cambridge CB2 0XY, U.K. www-structmed.cimr.cam.ac.uk

This is the output when I use the `sequence_file` keyword: ``` data_manager { sequence_files = "2xoa.fasta" default_sequence = "2xoa.fasta" real_map_files = "cryosparc_P4_J203_map.mrc" real_map_files = "cryosparc_P4_J272_map.mrc" real_map_files = "cryosparc_P4_J270_map.mrc" default_real_map = "cryosparc_P4_J203_map.mrc" model { file = "2xoa_fit_j203.pdb" } default_model = "2xoa_fit_j203.pdb" } em_placement { map_model { full_map = cryosparc_P4_J203_map.mrc half_map = cryosparc_P4_J270_map.mrc half_map = cryosparc_P4_J272_map.mrc } docking { refine_cell_scale = true } biological_unit { molecule { model_file = 2xoa_fit_j203.pdb } } } Starting job =============================================================================== Sorry: Please supply a sequence file ```
On Jun 4, 2025, at 12:48 PM, Oliver Clarke
wrote: Hi Randy,
Thanks!! Voyager.em_placement looks like it should do the trick - however, when I run it, it complains it needs a sequence file. When I provide a seqence file, e.g.:
phenix.voyager.em_placement model_file=2xoa_fit_j203.pdb full_map=cryosparc_P4_J203_map.mrc refine_cell_scale=true half_map=cryosparc_P4_J270_map.mrc half_map=cryosparc_P4_J272_map.mrc sequence_files=2xoa.fasta
... it seems to read the sequence file per the input parameters, but then still complains it needs a sequence file. Per Tom's message yesterday regarding map_sharpening, I tried the seq_file flag instead, but that does not seem to exist for this utility. Is there another sequence keyword I am missing?
Cheers Oli
On Jun 4, 2025, at 11:55 AM, Randy John Read
wrote: Hi Oli,
I think this has come up before, but as far as I know the only current method to refine pixel size in Phenix is by using the refine_cell_scale option in phenix.voyager.em_placement. This requires you to have a placed (or at least dockable) model that is on the right scale (i.e. hasn’t been refined against the map of interest). These days, the high-confidence subset of an AlphaFold model would probably be sufficient to give a good correction for the magnification factor. In tests I’ve done, it has a pretty high convergence radius.
What you probably want is something that will correct a model that may already have been refined against the map of interest. This is a feature that Pavel Afonine and I have discussed before, and I think Pavel did at least some preliminary experiments in phenix.real_space_refine. Like you, I think it should be possible to use the geometric restraints to get the refinement engine to correct the pixel size to make it compatible with good geometry. However, this may not be trivial to get to work robustly and might require things like taking account of second derivative terms relating the positional and pixel size (or magnification factor) parameters.
Pavel might have more to say on this.
Best wishes,
Randy
On 3 Jun 2025, at 08:19, Oliver Clarke
wrote: Hi,
I remember asking about this some time ago, but I am not sure if it was ever implemented.
Is there a way to refine just pixel size for an EM map in phenix.real_space refine (or another phenix utility)? Even just automatically rigid-body fitting a crystal structure and calculating the pixel size with max correlation would be handy. We do this at the moment using Chimera/ChimeraX, but an automated way to do it in phenix would be handy.
In the absence of a crystal structure, I wonder if directly refining pixel size during real space refinement would be possible/reasonable at higher resolution (<2Å)?
Cheers Oli _______________________________________________ phenixbb mailing list -- [email protected] To unsubscribe send an email to [email protected] Unsubscribe: phenixbb-leave@%(host_name)s
----- Randy J. Read Department of Haematology, University of Cambridge Cambridge Institute for Medical Research Tel: +44 1223 336500 The Keith Peters Building Hills Road E-mail: [email protected] Cambridge CB2 0XY, U.K. www-structmed.cimr.cam.ac.uk

Nevermind, got it, there is another keyword: phenix.voyager.em_placement model_file=2xoa_fit_j203.pdb full_map=cryosparc_P4_J203_map.mrc refine_cell_scale=true half_map=cryosparc_P4_J270_map.mrc half_map=cryosparc_P4_J272_map.mrc map_model.sequence_composition=2xoa.fasta biological_unit.molecule.molecule_name=2xoa And then the scale value is in the log, and matches very well with what we estimate using Chimera. Is there a plot generated somewhere of the scale vs correlation, TFZ etc? I couldn't find such in the log or output directory. Cheers Oli
On Jun 4, 2025, at 12:50 PM, Oliver Clarke
wrote: This is the output when I use the `sequence_file` keyword:
``` data_manager { sequence_files = "2xoa.fasta" default_sequence = "2xoa.fasta" real_map_files = "cryosparc_P4_J203_map.mrc" real_map_files = "cryosparc_P4_J272_map.mrc" real_map_files = "cryosparc_P4_J270_map.mrc" default_real_map = "cryosparc_P4_J203_map.mrc" model { file = "2xoa_fit_j203.pdb" } default_model = "2xoa_fit_j203.pdb" } em_placement { map_model { full_map = cryosparc_P4_J203_map.mrc half_map = cryosparc_P4_J270_map.mrc half_map = cryosparc_P4_J272_map.mrc } docking { refine_cell_scale = true } biological_unit { molecule { model_file = 2xoa_fit_j203.pdb } } }
Starting job =============================================================================== Sorry: Please supply a sequence file ```
On Jun 4, 2025, at 12:48 PM, Oliver Clarke
wrote: Hi Randy,
Thanks!! Voyager.em_placement looks like it should do the trick - however, when I run it, it complains it needs a sequence file. When I provide a seqence file, e.g.:
phenix.voyager.em_placement model_file=2xoa_fit_j203.pdb full_map=cryosparc_P4_J203_map.mrc refine_cell_scale=true half_map=cryosparc_P4_J270_map.mrc half_map=cryosparc_P4_J272_map.mrc sequence_files=2xoa.fasta
... it seems to read the sequence file per the input parameters, but then still complains it needs a sequence file. Per Tom's message yesterday regarding map_sharpening, I tried the seq_file flag instead, but that does not seem to exist for this utility. Is there another sequence keyword I am missing?
Cheers Oli
On Jun 4, 2025, at 11:55 AM, Randy John Read
wrote: Hi Oli,
I think this has come up before, but as far as I know the only current method to refine pixel size in Phenix is by using the refine_cell_scale option in phenix.voyager.em_placement. This requires you to have a placed (or at least dockable) model that is on the right scale (i.e. hasn’t been refined against the map of interest). These days, the high-confidence subset of an AlphaFold model would probably be sufficient to give a good correction for the magnification factor. In tests I’ve done, it has a pretty high convergence radius.
What you probably want is something that will correct a model that may already have been refined against the map of interest. This is a feature that Pavel Afonine and I have discussed before, and I think Pavel did at least some preliminary experiments in phenix.real_space_refine. Like you, I think it should be possible to use the geometric restraints to get the refinement engine to correct the pixel size to make it compatible with good geometry. However, this may not be trivial to get to work robustly and might require things like taking account of second derivative terms relating the positional and pixel size (or magnification factor) parameters.
Pavel might have more to say on this.
Best wishes,
Randy
On 3 Jun 2025, at 08:19, Oliver Clarke
wrote: Hi,
I remember asking about this some time ago, but I am not sure if it was ever implemented.
Is there a way to refine just pixel size for an EM map in phenix.real_space refine (or another phenix utility)? Even just automatically rigid-body fitting a crystal structure and calculating the pixel size with max correlation would be handy. We do this at the moment using Chimera/ChimeraX, but an automated way to do it in phenix would be handy.
In the absence of a crystal structure, I wonder if directly refining pixel size during real space refinement would be possible/reasonable at higher resolution (<2Å)?
Cheers Oli _______________________________________________ phenixbb mailing list -- [email protected] To unsubscribe send an email to [email protected] Unsubscribe: phenixbb-leave@%(host_name)s
----- Randy J. Read Department of Haematology, University of Cambridge Cambridge Institute for Medical Research Tel: +44 1223 336500 The Keith Peters Building Hills Road E-mail: [email protected] Cambridge CB2 0XY, U.K. www-structmed.cimr.cam.ac.uk

Sorry, should have posted a script before looking away from the BB! I’m glad you got there. We should probably add it as an advanced option to the GUI for the program, including access to the rigid-body refinement option as an alternative to a full docking search. The way it works, it just adjusts the rigid-body positioning of the model while refining the scale factor relating the map to the model. The increase in LLG during this refinement will tell you something indirectly about the significance of the change, but not the precision. If this is a tool people will want to use (considering that calibration of pixel size is getting much better these days during the experiment), I could implement something where, after the optimum has been found, several refinements fixing various perturbed pixel sizes could be done to see how the LLG varies, which would give a plot to look at. Best wishes, Randy
On 4 Jun 2025, at 11:58, Oliver Clarke
wrote: Nevermind, got it, there is another keyword:
phenix.voyager.em_placement model_file=2xoa_fit_j203.pdb full_map=cryosparc_P4_J203_map.mrc refine_cell_scale=true half_map=cryosparc_P4_J270_map.mrc half_map=cryosparc_P4_J272_map.mrc map_model.sequence_composition=2xoa.fasta biological_unit.molecule.molecule_name=2xoa
And then the scale value is in the log, and matches very well with what we estimate using Chimera. Is there a plot generated somewhere of the scale vs correlation, TFZ etc? I couldn't find such in the log or output directory.
Cheers Oli
On Jun 4, 2025, at 12:50 PM, Oliver Clarke
wrote: This is the output when I use the `sequence_file` keyword:
``` data_manager { sequence_files = "2xoa.fasta" default_sequence = "2xoa.fasta" real_map_files = "cryosparc_P4_J203_map.mrc" real_map_files = "cryosparc_P4_J272_map.mrc" real_map_files = "cryosparc_P4_J270_map.mrc" default_real_map = "cryosparc_P4_J203_map.mrc" model { file = "2xoa_fit_j203.pdb" } default_model = "2xoa_fit_j203.pdb" } em_placement { map_model { full_map = cryosparc_P4_J203_map.mrc half_map = cryosparc_P4_J270_map.mrc half_map = cryosparc_P4_J272_map.mrc } docking { refine_cell_scale = true } biological_unit { molecule { model_file = 2xoa_fit_j203.pdb } } }
Starting job =============================================================================== Sorry: Please supply a sequence file ```
On Jun 4, 2025, at 12:48 PM, Oliver Clarke
wrote: Hi Randy,
Thanks!! Voyager.em_placement looks like it should do the trick - however, when I run it, it complains it needs a sequence file. When I provide a seqence file, e.g.:
phenix.voyager.em_placement model_file=2xoa_fit_j203.pdb full_map=cryosparc_P4_J203_map.mrc refine_cell_scale=true half_map=cryosparc_P4_J270_map.mrc half_map=cryosparc_P4_J272_map.mrc sequence_files=2xoa.fasta
... it seems to read the sequence file per the input parameters, but then still complains it needs a sequence file. Per Tom's message yesterday regarding map_sharpening, I tried the seq_file flag instead, but that does not seem to exist for this utility. Is there another sequence keyword I am missing?
Cheers Oli
On Jun 4, 2025, at 11:55 AM, Randy John Read
wrote: Hi Oli,
I think this has come up before, but as far as I know the only current method to refine pixel size in Phenix is by using the refine_cell_scale option in phenix.voyager.em_placement. This requires you to have a placed (or at least dockable) model that is on the right scale (i.e. hasn’t been refined against the map of interest). These days, the high-confidence subset of an AlphaFold model would probably be sufficient to give a good correction for the magnification factor. In tests I’ve done, it has a pretty high convergence radius.
What you probably want is something that will correct a model that may already have been refined against the map of interest. This is a feature that Pavel Afonine and I have discussed before, and I think Pavel did at least some preliminary experiments in phenix.real_space_refine. Like you, I think it should be possible to use the geometric restraints to get the refinement engine to correct the pixel size to make it compatible with good geometry. However, this may not be trivial to get to work robustly and might require things like taking account of second derivative terms relating the positional and pixel size (or magnification factor) parameters.
Pavel might have more to say on this.
Best wishes,
Randy
On 3 Jun 2025, at 08:19, Oliver Clarke
wrote: Hi,
I remember asking about this some time ago, but I am not sure if it was ever implemented.
Is there a way to refine just pixel size for an EM map in phenix.real_space refine (or another phenix utility)? Even just automatically rigid-body fitting a crystal structure and calculating the pixel size with max correlation would be handy. We do this at the moment using Chimera/ChimeraX, but an automated way to do it in phenix would be handy.
In the absence of a crystal structure, I wonder if directly refining pixel size during real space refinement would be possible/reasonable at higher resolution (<2Å)?
Cheers Oli _______________________________________________ phenixbb mailing list -- [email protected] To unsubscribe send an email to [email protected] Unsubscribe: phenixbb-leave@%(host_name)s
----- Randy J. Read Department of Haematology, University of Cambridge Cambridge Institute for Medical Research Tel: +44 1223 336500 The Keith Peters Building Hills Road E-mail: [email protected] Cambridge CB2 0XY, U.K. www-structmed.cimr.cam.ac.uk
----- Randy J. Read Department of Haematology, University of Cambridge Cambridge Institute for Medical Research Tel: +44 1223 336500 The Keith Peters Building Hills Road E-mail: [email protected] Cambridge CB2 0XY, U.K. www-structmed.cimr.cam.ac.uk

Thanks heaps for this Randy!
If this is a tool people will want to use (considering that calibration of pixel size is getting much better these days during the experiment), I could implement something where, after the optimum has been found, several refinements fixing various perturbed pixel sizes could be done to see how the LLG varies, which would give a plot to look at.
I think this is definitely a tool folks in the community would use - we still routinely encounter pixel sizes that are off by >1%, which affects structural comparison, not to mention that it is often neccessary to calibrate the pixel sizes of old maps in order to properly compare structures. Cheers Oli
On Jun 4, 2025, at 8:04 AM, Randy John Read
wrote: Sorry, should have posted a script before looking away from the BB! I’m glad you got there. We should probably add it as an advanced option to the GUI for the program, including access to the rigid-body refinement option as an alternative to a full docking search.
The way it works, it just adjusts the rigid-body positioning of the model while refining the scale factor relating the map to the model. The increase in LLG during this refinement will tell you something indirectly about the significance of the change, but not the precision. If this is a tool people will want to use (considering that calibration of pixel size is getting much better these days during the experiment), I could implement something where, after the optimum has been found, several refinements fixing various perturbed pixel sizes could be done to see how the LLG varies, which would give a plot to look at.
Best wishes,
Randy
On 4 Jun 2025, at 11:58, Oliver Clarke
wrote: Nevermind, got it, there is another keyword:
phenix.voyager.em_placement model_file=2xoa_fit_j203.pdb full_map=cryosparc_P4_J203_map.mrc refine_cell_scale=true half_map=cryosparc_P4_J270_map.mrc half_map=cryosparc_P4_J272_map.mrc map_model.sequence_composition=2xoa.fasta biological_unit.molecule.molecule_name=2xoa
And then the scale value is in the log, and matches very well with what we estimate using Chimera. Is there a plot generated somewhere of the scale vs correlation, TFZ etc? I couldn't find such in the log or output directory.
Cheers Oli
On Jun 4, 2025, at 12:50 PM, Oliver Clarke
wrote: This is the output when I use the `sequence_file` keyword:
``` data_manager { sequence_files = "2xoa.fasta" default_sequence = "2xoa.fasta" real_map_files = "cryosparc_P4_J203_map.mrc" real_map_files = "cryosparc_P4_J272_map.mrc" real_map_files = "cryosparc_P4_J270_map.mrc" default_real_map = "cryosparc_P4_J203_map.mrc" model { file = "2xoa_fit_j203.pdb" } default_model = "2xoa_fit_j203.pdb" } em_placement { map_model { full_map = cryosparc_P4_J203_map.mrc half_map = cryosparc_P4_J270_map.mrc half_map = cryosparc_P4_J272_map.mrc } docking { refine_cell_scale = true } biological_unit { molecule { model_file = 2xoa_fit_j203.pdb } } }
Starting job =============================================================================== Sorry: Please supply a sequence file ```
On Jun 4, 2025, at 12:48 PM, Oliver Clarke
wrote: Hi Randy,
Thanks!! Voyager.em_placement looks like it should do the trick - however, when I run it, it complains it needs a sequence file. When I provide a seqence file, e.g.:
phenix.voyager.em_placement model_file=2xoa_fit_j203.pdb full_map=cryosparc_P4_J203_map.mrc refine_cell_scale=true half_map=cryosparc_P4_J270_map.mrc half_map=cryosparc_P4_J272_map.mrc sequence_files=2xoa.fasta
... it seems to read the sequence file per the input parameters, but then still complains it needs a sequence file. Per Tom's message yesterday regarding map_sharpening, I tried the seq_file flag instead, but that does not seem to exist for this utility. Is there another sequence keyword I am missing?
Cheers Oli
On Jun 4, 2025, at 11:55 AM, Randy John Read
wrote: Hi Oli,
I think this has come up before, but as far as I know the only current method to refine pixel size in Phenix is by using the refine_cell_scale option in phenix.voyager.em_placement. This requires you to have a placed (or at least dockable) model that is on the right scale (i.e. hasn’t been refined against the map of interest). These days, the high-confidence subset of an AlphaFold model would probably be sufficient to give a good correction for the magnification factor. In tests I’ve done, it has a pretty high convergence radius.
What you probably want is something that will correct a model that may already have been refined against the map of interest. This is a feature that Pavel Afonine and I have discussed before, and I think Pavel did at least some preliminary experiments in phenix.real_space_refine. Like you, I think it should be possible to use the geometric restraints to get the refinement engine to correct the pixel size to make it compatible with good geometry. However, this may not be trivial to get to work robustly and might require things like taking account of second derivative terms relating the positional and pixel size (or magnification factor) parameters.
Pavel might have more to say on this.
Best wishes,
Randy
On 3 Jun 2025, at 08:19, Oliver Clarke
wrote: Hi,
I remember asking about this some time ago, but I am not sure if it was ever implemented.
Is there a way to refine just pixel size for an EM map in phenix.real_space refine (or another phenix utility)? Even just automatically rigid-body fitting a crystal structure and calculating the pixel size with max correlation would be handy. We do this at the moment using Chimera/ChimeraX, but an automated way to do it in phenix would be handy.
In the absence of a crystal structure, I wonder if directly refining pixel size during real space refinement would be possible/reasonable at higher resolution (<2Å)?
Cheers Oli _______________________________________________ phenixbb mailing list -- [email protected] To unsubscribe send an email to [email protected] Unsubscribe: phenixbb-leave@%(host_name)s
----- Randy J. Read Department of Haematology, University of Cambridge Cambridge Institute for Medical Research Tel: +44 1223 336500 The Keith Peters Building Hills Road E-mail: [email protected] Cambridge CB2 0XY, U.K. www-structmed.cimr.cam.ac.uk
----- Randy J. Read Department of Haematology, University of Cambridge Cambridge Institute for Medical Research Tel: +44 1223 336500 The Keith Peters Building Hills Road E-mail: [email protected] Cambridge CB2 0XY, U.K. www-structmed.cimr.cam.ac.uk

Hi Oli, hi Randy, I implemented isotropic (and, just in case, anisotropic) magnification refinement in Phenix over five years ago (it lives somewhere deep in CCTBX—probably in maptbx). As part of testing, I applied it to all entries in EMDB, but found that it made no noticeable difference. Possible reasons could be: - A bug in my implementation - The maps in the database are already correctly scaled - A flaw in my test design when applying the procedure to all EMDB entries At the time, this led me to think it wasn’t important, so I shelved the idea (or rather postponed figuring out what was going on—until I had more time, which never happened). Now… Oli, if you could send me (off-list) three files—correct map, wrong map, and the atomic model (preferably as small as possible)—I might be able to carve out a few days to re-investigate this. If it works, I could make it a standard, default part of phenix.real_space_refine. Thanks! Pavel On 6/8/25 12:33, Oliver Clarke wrote:
Thanks heaps for this Randy!
If this is a tool people will want to use (considering that calibration of pixel size is getting much better these days during the experiment), I could implement something where, after the optimum has been found, several refinements fixing various perturbed pixel sizes could be done to see how the LLG varies, which would give a plot to look at. I think this is definitely a tool folks in the community would use - we still routinely encounter pixel sizes that are off by >1%, which affects structural comparison, not to mention that it is often neccessary to calibrate the pixel sizes of old maps in order to properly compare structures.
Cheers Oli
On Jun 4, 2025, at 8:04 AM, Randy John Read
wrote: Sorry, should have posted a script before looking away from the BB! I’m glad you got there. We should probably add it as an advanced option to the GUI for the program, including access to the rigid-body refinement option as an alternative to a full docking search.
The way it works, it just adjusts the rigid-body positioning of the model while refining the scale factor relating the map to the model. The increase in LLG during this refinement will tell you something indirectly about the significance of the change, but not the precision. If this is a tool people will want to use (considering that calibration of pixel size is getting much better these days during the experiment), I could implement something where, after the optimum has been found, several refinements fixing various perturbed pixel sizes could be done to see how the LLG varies, which would give a plot to look at.
Best wishes,
Randy
On 4 Jun 2025, at 11:58, Oliver Clarke
wrote: Nevermind, got it, there is another keyword:
phenix.voyager.em_placement model_file=2xoa_fit_j203.pdb full_map=cryosparc_P4_J203_map.mrc refine_cell_scale=true half_map=cryosparc_P4_J270_map.mrc half_map=cryosparc_P4_J272_map.mrc map_model.sequence_composition=2xoa.fasta biological_unit.molecule.molecule_name=2xoa
And then the scale value is in the log, and matches very well with what we estimate using Chimera. Is there a plot generated somewhere of the scale vs correlation, TFZ etc? I couldn't find such in the log or output directory.
Cheers Oli
On Jun 4, 2025, at 12:50 PM, Oliver Clarke
wrote: This is the output when I use the `sequence_file` keyword:
``` data_manager { sequence_files = "2xoa.fasta" default_sequence = "2xoa.fasta" real_map_files = "cryosparc_P4_J203_map.mrc" real_map_files = "cryosparc_P4_J272_map.mrc" real_map_files = "cryosparc_P4_J270_map.mrc" default_real_map = "cryosparc_P4_J203_map.mrc" model { file = "2xoa_fit_j203.pdb" } default_model = "2xoa_fit_j203.pdb" } em_placement { map_model { full_map = cryosparc_P4_J203_map.mrc half_map = cryosparc_P4_J270_map.mrc half_map = cryosparc_P4_J272_map.mrc } docking { refine_cell_scale = true } biological_unit { molecule { model_file = 2xoa_fit_j203.pdb } } }
Starting job =============================================================================== Sorry: Please supply a sequence file ```
On Jun 4, 2025, at 12:48 PM, Oliver Clarke
wrote: Hi Randy,
Thanks!! Voyager.em_placement looks like it should do the trick - however, when I run it, it complains it needs a sequence file. When I provide a seqence file, e.g.:
phenix.voyager.em_placement model_file=2xoa_fit_j203.pdb full_map=cryosparc_P4_J203_map.mrc refine_cell_scale=true half_map=cryosparc_P4_J270_map.mrc half_map=cryosparc_P4_J272_map.mrc sequence_files=2xoa.fasta
... it seems to read the sequence file per the input parameters, but then still complains it needs a sequence file. Per Tom's message yesterday regarding map_sharpening, I tried the seq_file flag instead, but that does not seem to exist for this utility. Is there another sequence keyword I am missing?
Cheers Oli
On Jun 4, 2025, at 11:55 AM, Randy John Read
wrote: Hi Oli,
I think this has come up before, but as far as I know the only current method to refine pixel size in Phenix is by using the refine_cell_scale option in phenix.voyager.em_placement. This requires you to have a placed (or at least dockable) model that is on the right scale (i.e. hasn’t been refined against the map of interest). These days, the high-confidence subset of an AlphaFold model would probably be sufficient to give a good correction for the magnification factor. In tests I’ve done, it has a pretty high convergence radius.
What you probably want is something that will correct a model that may already have been refined against the map of interest. This is a feature that Pavel Afonine and I have discussed before, and I think Pavel did at least some preliminary experiments in phenix.real_space_refine. Like you, I think it should be possible to use the geometric restraints to get the refinement engine to correct the pixel size to make it compatible with good geometry. However, this may not be trivial to get to work robustly and might require things like taking account of second derivative terms relating the positional and pixel size (or magnification factor) parameters.
Pavel might have more to say on this.
Best wishes,
Randy
> On 3 Jun 2025, at 08:19, Oliver Clarke
wrote: > > Hi, > > I remember asking about this some time ago, but I am not sure if it was ever implemented. > > Is there a way to refine just pixel size for an EM map in phenix.real_space refine (or another phenix utility)? Even just automatically rigid-body fitting a crystal structure and calculating the pixel size with max correlation would be handy. We do this at the moment using Chimera/ChimeraX, but an automated way to do it in phenix would be handy. > > In the absence of a crystal structure, I wonder if directly refining pixel size during real space refinement would be possible/reasonable at higher resolution (<2Å)? > > Cheers > Oli > _______________________________________________ > phenixbb mailing list -- [email protected] > To unsubscribe send an email to [email protected] > Unsubscribe: phenixbb-leave@%(host_name)s ----- Randy J. Read Department of Haematology, University of Cambridge Cambridge Institute for Medical Research Tel: +44 1223 336500 The Keith Peters Building Hills Road E-mail: [email protected] Cambridge CB2 0XY, U.K. www-structmed.cimr.cam.ac.uk
Randy J. Read Department of Haematology, University of Cambridge Cambridge Institute for Medical Research Tel: +44 1223 336500 The Keith Peters Building Hills Road E-mail: [email protected] Cambridge CB2 0XY, U.K. www-structmed.cimr.cam.ac.uk
_______________________________________________ phenixbb mailing list -- [email protected] To unsubscribe send an email to [email protected] Unsubscribe: phenixbb-leave@%(host_name)s

Happy Friday, Phenix'ers! Many thanks to Oli Clarke, who finally encouraged us to made a pixel size calibration tool in Phenix accessible and who offered an incredible amount of help by critically testing it and helping to weed out bugs! Here we go. The following command: phenix.magref model.pdb map.mrc resolution=3.3 will take your map (map.mrc) and a reference atomic model (model.pdb), and calibrate the pixel size (magnification) by sampling plausible calibration scales. For each trial value, it performs extensive rigid body refinement. As a result, it will output the corrected map for you to use from this point on, as well as the best-fitting atomic model with corrected box information (CRYST1, if you are still in the PDB format world). It is rather fast too: for something as large as 240k atoms (30k residues) and 800x800x800 map it takes about 6.5 minutes and for anything smaller times usually range from tens of seconds to a minutes or a few minutes. IMPORTANT: The reference model used for pixel size refinement should not have been refined or flexibly fitted to a cryo-EM map. It is expected to be a closely matching model determined by crystallography and should be approximately placed (docked) into the map. This is available in latest nightly builds of Phenix (e.g., 2.0-5774 and up). Let me know should you have any questions or encounter any problems! Pavel P.S. Another way to achieve this in Phenix is to use a similar tool from Phaser: phenix.python <path to phenix>/modules/phaser_voyager/src/New_Voyager/scripts/emplace_rigid_body.py --map map.mrc --model_file model.pdb --d_min 3 --refine_scale On 6/3/25 00:19, Oliver Clarke wrote:
Hi,
I remember asking about this some time ago, but I am not sure if it was ever implemented.
Is there a way to refine just pixel size for an EM map in phenix.real_space refine (or another phenix utility)? Even just automatically rigid-body fitting a crystal structure and calculating the pixel size with max correlation would be handy. We do this at the moment using Chimera/ChimeraX, but an automated way to do it in phenix would be handy.
In the absence of a crystal structure, I wonder if directly refining pixel size during real space refinement would be possible/reasonable at higher resolution (<2Å)?
Cheers Oli _______________________________________________ phenixbb mailing list -- [email protected] To unsubscribe send an email to [email protected] Unsubscribe: phenixbb-leave@%(host_name)s

Huge thanks to Pavel & Randy for their patience and for developing such useful tools! We will use phenix.magref a lot! Happy friday all! Cheers Oli
On Aug 1, 2025, at 1:51 PM, Pavel Afonine
wrote: Happy Friday, Phenix'ers!
Many thanks to Oli Clarke, who finally encouraged us to made a pixel size calibration tool in Phenix accessible and who offered an incredible amount of help by critically testing it and helping to weed out bugs!
Here we go. The following command:
phenix.magref model.pdb map.mrc resolution=3.3
will take your map (map.mrc) and a reference atomic model (model.pdb), and calibrate the pixel size (magnification) by sampling plausible calibration scales. For each trial value, it performs extensive rigid body refinement. As a result, it will output the corrected map for you to use from this point on, as well as the best-fitting atomic model with corrected box information (CRYST1, if you are still in the PDB format world).
It is rather fast too: for something as large as 240k atoms (30k residues) and 800x800x800 map it takes about 6.5 minutes and for anything smaller times usually range from tens of seconds to a minutes or a few minutes.
IMPORTANT: The reference model used for pixel size refinement should not have been refined or flexibly fitted to a cryo-EM map. It is expected to be a closely matching model determined by crystallography and should be approximately placed (docked) into the map.
This is available in latest nightly builds of Phenix (e.g., 2.0-5774 and up). Let me know should you have any questions or encounter any problems!
Pavel
P.S. Another way to achieve this in Phenix is to use a similar tool from Phaser:
phenix.python <path to phenix>/modules/phaser_voyager/src/New_Voyager/scripts/emplace_rigid_body.py --map map.mrc --model_file model.pdb --d_min 3 --refine_scale
On 6/3/25 00:19, Oliver Clarke wrote:
Hi,
I remember asking about this some time ago, but I am not sure if it was ever implemented.
Is there a way to refine just pixel size for an EM map in phenix.real_space refine (or another phenix utility)? Even just automatically rigid-body fitting a crystal structure and calculating the pixel size with max correlation would be handy. We do this at the moment using Chimera/ChimeraX, but an automated way to do it in phenix would be handy.
In the absence of a crystal structure, I wonder if directly refining pixel size during real space refinement would be possible/reasonable at higher resolution (<2Å)?
Cheers Oli _______________________________________________ phenixbb mailing list -- [email protected] To unsubscribe send an email to [email protected] Unsubscribe: phenixbb-leave@%(host_name)s

Hi,
Very cool; however, I'm curious if the procedure was tested on large assemblies. I'd imagine that a small error in pixel (0.001Angstrom) would propagate into a significant error (1Angstrom) at the periphery for large assemblies (~100nm). Would, a 1Angstrom change may be interpreted as biologically relevant? Also, is it recommended that every refinement include this process, or should the refinement be restricted to a magnification of a specific microscope? Perhaps its best for me to wait for the publication.
Best wishes,
Reza
________________________________
From: Oliver Clarke
On Aug 1, 2025, at 1:51 PM, Pavel Afonine
wrote: Happy Friday, Phenix'ers!
Many thanks to Oli Clarke, who finally encouraged us to made a pixel size calibration tool in Phenix accessible and who offered an incredible amount of help by critically testing it and helping to weed out bugs!
Here we go. The following command:
phenix.magref model.pdb map.mrc resolution=3.3
will take your map (map.mrc) and a reference atomic model (model.pdb), and calibrate the pixel size (magnification) by sampling plausible calibration scales. For each trial value, it performs extensive rigid body refinement. As a result, it will output the corrected map for you to use from this point on, as well as the best-fitting atomic model with corrected box information (CRYST1, if you are still in the PDB format world).
It is rather fast too: for something as large as 240k atoms (30k residues) and 800x800x800 map it takes about 6.5 minutes and for anything smaller times usually range from tens of seconds to a minutes or a few minutes.
IMPORTANT: The reference model used for pixel size refinement should not have been refined or flexibly fitted to a cryo-EM map. It is expected to be a closely matching model determined by crystallography and should be approximately placed (docked) into the map.
This is available in latest nightly builds of Phenix (e.g., 2.0-5774 and up). Let me know should you have any questions or encounter any problems!
Pavel
P.S. Another way to achieve this in Phenix is to use a similar tool from Phaser:
phenix.python <path to phenix>/modules/phaser_voyager/src/New_Voyager/scripts/emplace_rigid_body.py --map map.mrc --model_file model.pdb --d_min 3 --refine_scale
On 6/3/25 00:19, Oliver Clarke wrote:
Hi,
I remember asking about this some time ago, but I am not sure if it was ever implemented.
Is there a way to refine just pixel size for an EM map in phenix.real_space refine (or another phenix utility)? Even just automatically rigid-body fitting a crystal structure and calculating the pixel size with max correlation would be handy. We do this at the moment using Chimera/ChimeraX, but an automated way to do it in phenix would be handy.
In the absence of a crystal structure, I wonder if directly refining pixel size during real space refinement would be possible/reasonable at higher resolution (<2Å)?
Cheers Oli _______________________________________________ phenixbb mailing list -- [email protected] To unsubscribe send an email to [email protected] Unsubscribe: phenixbb-leave@%(host_name)s
_______________________________________________ phenixbb mailing list -- [email protected] To unsubscribe send an email to [email protected] Unsubscribe: phenixbb-leave@%(host_name)s

Hi Reza, It was tested on large assemblies (the vault particle, which is 70nm). It is not something I would do with every refinement, but for calibrating the pixel size of a particular scope at a given mag. Generally it should be stable at least for months unless the scope has some major work done. It is the same procedure (in effect) as we would previously do manually in Chimera, measuring the real space correlation of a crystal structure at different nominal pixel sizes, but just performed automatically and a lot faster. Cheers Oli
On Aug 1, 2025, at 6:17 PM, Reza Khayat
wrote: Hi,
Very cool; however, I'm curious if the procedure was tested on large assemblies. I'd imagine that a small error in pixel (0.001Angstrom) would propagate into a significant error (1Angstrom) at the periphery for large assemblies (~100nm). Would, a 1Angstrom change may be interpreted as biologically relevant? Also, is it recommended that every refinement include this process, or should the refinement be restricted to a magnification of a specific microscope? Perhaps its best for me to wait for the publication.
Best wishes, Reza From: Oliver Clarke
Sent: 01 August 2025 1:57 PM To: Pavel Afonine Cc: PHENIX user mailing list Subject: [EXTERNAL] [phenixbb] Re: Refine pixel size for EM map? Huge thanks to Pavel & Randy for their patience and for developing such useful tools! We will use phenix.magref a lot! Happy friday all!
Cheers Oli
On Aug 1, 2025, at 1:51 PM, Pavel Afonine
wrote: Happy Friday, Phenix'ers!
Many thanks to Oli Clarke, who finally encouraged us to made a pixel size calibration tool in Phenix accessible and who offered an incredible amount of help by critically testing it and helping to weed out bugs!
Here we go. The following command:
phenix.magref model.pdb map.mrc resolution=3.3
will take your map (map.mrc) and a reference atomic model (model.pdb), and calibrate the pixel size (magnification) by sampling plausible calibration scales. For each trial value, it performs extensive rigid body refinement. As a result, it will output the corrected map for you to use from this point on, as well as the best-fitting atomic model with corrected box information (CRYST1, if you are still in the PDB format world).
It is rather fast too: for something as large as 240k atoms (30k residues) and 800x800x800 map it takes about 6.5 minutes and for anything smaller times usually range from tens of seconds to a minutes or a few minutes.
IMPORTANT: The reference model used for pixel size refinement should not have been refined or flexibly fitted to a cryo-EM map. It is expected to be a closely matching model determined by crystallography and should be approximately placed (docked) into the map.
This is available in latest nightly builds of Phenix (e.g., 2.0-5774 and up). Let me know should you have any questions or encounter any problems!
Pavel
P.S. Another way to achieve this in Phenix is to use a similar tool from Phaser:
phenix.python <path to phenix>/modules/phaser_voyager/src/New_Voyager/scripts/emplace_rigid_body.py --map map.mrc --model_file model.pdb --d_min 3 --refine_scale
On 6/3/25 00:19, Oliver Clarke wrote:
Hi,
I remember asking about this some time ago, but I am not sure if it was ever implemented.
Is there a way to refine just pixel size for an EM map in phenix.real_space refine (or another phenix utility)? Even just automatically rigid-body fitting a crystal structure and calculating the pixel size with max correlation would be handy. We do this at the moment using Chimera/ChimeraX, but an automated way to do it in phenix would be handy.
In the absence of a crystal structure, I wonder if directly refining pixel size during real space refinement would be possible/reasonable at higher resolution (<2Å)?
Cheers Oli _______________________________________________ phenixbb mailing list -- [email protected] To unsubscribe send an email to [email protected] Unsubscribe: phenixbb-leave@%(host_name)s
_______________________________________________ phenixbb mailing list -- [email protected] mailto:[email protected] To unsubscribe send an email to [email protected] mailto:[email protected] Unsubscribe: phenixbb-leave@%(host_name)s

Thanks.
Reza
________________________________
From: Oliver Clarke
On Aug 1, 2025, at 1:51 PM, Pavel Afonine
wrote: Happy Friday, Phenix'ers!
Many thanks to Oli Clarke, who finally encouraged us to made a pixel size calibration tool in Phenix accessible and who offered an incredible amount of help by critically testing it and helping to weed out bugs!
Here we go. The following command:
phenix.magref model.pdb map.mrc resolution=3.3
will take your map (map.mrc) and a reference atomic model (model.pdb), and calibrate the pixel size (magnification) by sampling plausible calibration scales. For each trial value, it performs extensive rigid body refinement. As a result, it will output the corrected map for you to use from this point on, as well as the best-fitting atomic model with corrected box information (CRYST1, if you are still in the PDB format world).
It is rather fast too: for something as large as 240k atoms (30k residues) and 800x800x800 map it takes about 6.5 minutes and for anything smaller times usually range from tens of seconds to a minutes or a few minutes.
IMPORTANT: The reference model used for pixel size refinement should not have been refined or flexibly fitted to a cryo-EM map. It is expected to be a closely matching model determined by crystallography and should be approximately placed (docked) into the map.
This is available in latest nightly builds of Phenix (e.g., 2.0-5774 and up). Let me know should you have any questions or encounter any problems!
Pavel
P.S. Another way to achieve this in Phenix is to use a similar tool from Phaser:
phenix.python <path to phenix>/modules/phaser_voyager/src/New_Voyager/scripts/emplace_rigid_body.py --map map.mrc --model_file model.pdb --d_min 3 --refine_scale
On 6/3/25 00:19, Oliver Clarke wrote:
Hi,
I remember asking about this some time ago, but I am not sure if it was ever implemented.
Is there a way to refine just pixel size for an EM map in phenix.real_space refine (or another phenix utility)? Even just automatically rigid-body fitting a crystal structure and calculating the pixel size with max correlation would be handy. We do this at the moment using Chimera/ChimeraX, but an automated way to do it in phenix would be handy.
In the absence of a crystal structure, I wonder if directly refining pixel size during real space refinement would be possible/reasonable at higher resolution (<2Å)?
Cheers Oli _______________________________________________ phenixbb mailing list -- [email protected] To unsubscribe send an email to [email protected] Unsubscribe: phenixbb-leave@%(host_name)s
_______________________________________________ phenixbb mailing list -- [email protected]mailto:[email protected] To unsubscribe send an email to [email protected]mailto:[email protected] Unsubscribe: phenixbb-leave@%(host_name)s
participants (4)
-
Oliver Clarke
-
Pavel Afonine
-
Randy John Read
-
Reza Khayat