"The solvent mask does not cover all regions of the segmentation" during 3D Flex mesh generation

Hello, I really appreciate you for developing cryosparc and giving a great convenience to our structure studies.
Nowadays we are trying to utilize your 3D flex works and while following your kind instruction I got a problem at 3D flex mesh generation work.

I got two individual error messages through each trial,

Traceback (most recent call last):
File “cryosparc_master/cryosparc_compute/run.py”, line 96, in cryosparc_compute.run.main
File “cryosparc_master/cryosparc_compute/jobs/flex_refine/run_meshprep.py”, line 138, in cryosparc_compute.jobs.flex_refine.run_meshprep.run
AssertionError: The solvent mask does not cover all regions of the segmentation. All segments must be inside the solvent mask.

Traceback (most recent call last): File “cryosparc_master/cryosparc_compute/run.py”, line 96, in cryosparc_compute.run.main File “cryosparc_master/cryosparc_compute/jobs/flex_refine/run_meshprep.py”, line 138, in cryosparc_compute.jobs.flex_refine.run_meshprep.run IndexError: boolean index did not match indexed array along dimension 0; dimension is 128 but corresponding boolean dimension is 440

How can I solve those problems?

Thank you! I’m looking forward to your answer!

  1. this error occurs when the mask generated during mesh prep (or the supplied mask) does not cover the entire segmented map. Two things to watch out for: 1. when performing segmentation in Chimera or ChimeraX make sure to use an appropriate threshold for the map, so that small blobs of noise and solvent etc don’t become part of the segmented map. 2. once the segmentation is successful, make sure the mask supplied or the generated will encompass the entire map. If you supply your own mask, open the mask together with the segmented map to make sure it is large enough. If not, you have to dilate the mask more or choose a better map threshold for mask generation. If you want to let the mesh prep job generate the mask, download the consensus volume from the particle prep job, open it in Chimera and choose the best possible map threshold (the default in the mesh prep job is 0.5 but it’s not always the best value). Try the mesh prep job again. If it still fails, dilate the mask more in the mesh prep job options. Dilate the mask more until mesh prep does not complain anymore and the mask is big enough.

  2. This error sounds like you used the wrong map as input to generate the mesh. Mesh prep takes the consensus volume generated by the particle prep job as input. This map has different dimensions than the original refinement consensus. Segmentation of the map must be performed on the particle prep consensus volume, not the previous refinement consensus. The mask for mesh prep also must fit that map, as explained under point #1.

Hop that helps!

Thank you @PSauer that is all correct!!

1 Like