Phenix refinement with a large mrc file

Hello everyone,

I recently achieved a fairly high-resolution structure using helical refinement and RBMC with a low pixel size. My problem is that whenever I try to load it into phenix.refine, my computer crashes from memory issues likely due to how large the MRC file is (~3Gb). Is there a way around this?

I have thought of two ways I can reduce the file size:

  1. Resample at a lower box size.
  2. Crop the box size more so that there is less density in regions I don’t necessarily need to model.

Does anyone have experience refining large cryo-EM maps and how they are able to overcome these memory issues?

Thank you in advance.

Hi,

You can try using phenix.map_box (phenix.map_box: extract box with model and map around selected atoms), which will allow you to generate a non-cubic map just around the model, which will save quite a lot of space for a filament.

Once you are happy with the results of phenix.real_space_refine, you can then rigid body fit into the original map (using either ChimeraX or phenix)

Alternatively, you can crop a cube just around the central region, including less helical repeats, which may accomplish the same purpose.

You might also try SERVALCAT, which has integrated support for refinement with helical symmetry (though I am not sure if the memory requirements are better or worse than phenix)

Cheers

Oli

1 Like

I’ve found servalcat a lot less troublesome in general to phenix. Generating custom restraints (externally) and refining with them just seems to work for me in servalcat (after Keitaro explained how to fix a problem I was experiencing) but phenix always seems to complain and crash somewhere. The phenix toolkit has a lot of useful features, but I don’t seem to get on well with using it. A servalcat/coot route usually works pretty well for me.

You can crop volumes down using Chimera(X) and re-save as well if the servalcat/coot pipeline is more to your comfort.

Thank you both for your responses, it looks like clipping the box helped us with phenix. I will try servalcat in the future though.

Thanks again!

1 Like

I’ve tended towards using ISOLDE in chimerax and then phenix with just morphing and ADP. I’m not sure which option it is, but either local grid search or global minimization can use a lot of memory for large box sizes, or maybe lots of atoms. After ISOLDE, neither of these options have seemed particularly useful, despite their much longer runtimes and higher memory requirements.