GrotjahnLab / surface_morphometrics

Morphometrics for Membrane Surfaces Segmented from Cryo-ET or other volumetric imaging.
GNU General Public License v3.0
18 stars 9 forks source link

Segmentation fault (core dumped) error in step python run_pycurv.py config.yml ${i}.mrc #24

Closed Kathir-66 closed 2 months ago

Kathir-66 commented 3 months ago

I temporarily got access to an ubuntu system. To test the pipeline for my dataset. But to test the pipeline, I started with the example data

The first step ran successfully!

When I run the second step python run_pycurv.py config.yml TE1_OMM.surface.vtp; it runs successfully just for the TE1_OMM

Info: Module sympy could not be loaded. However, this is not a problem for running Pyto, because sympy is currently used only for development.
Warning: Pyseg could not be loaded. Therefore, calling from_pyseg() method of pyto.spatial.ParticleSets will fail, but everything else should be fine.
Input file specified - will run on this file only
Processing TE1_OMM.surface.vtp

Calculating curvatures for TE1_OMM
Final outputs written:
VTP file for paraview: ./morphometrics/TE1_OMM.AVV_rh8.vtp
CSV file for pandas based quantification: ./morphometrics/TE1_OMM.AVV_rh8.csv
GT file for further morphometrics quantification: ./morphometrics/TE1_OMM.AVV_rh8.gt
Log for troubleshooting: ./morphometrics/TE1_OMM.VV_rh8.log
-------------------------------------------------------
Pycurv complete. It is highly recommended to check the AVV vtp file with paraview to confirm good results.
If you are happy with the results, you can move on to `distances_and_orientations.py`.
Pycurv Citation: Salfer M, Collado JF, Baumeister W, Fernández-Busnadiego R, Martínez-Sánchez A. Reliable estimation of membrane curvature for cryo-electron tomography. PLOS Comp Biol 2020.
Pipeline Citation: Barad BA*, Medina M*, Fuentes D, Wiseman RL, Grotjahn DA. A surface morphometrics toolkit to quantify organellar membrane ultrastructure using cryo-electron tomography. Biorxiv 2022.

Apart from TE1_OMM.surface.vtp everything else get the following error

2024-06-12 14:50:17.072 (   1.965s) [    7F13F5B04740]      vtkCurvatures.cxx:379   WARN| vtkCurvatures (0x55b2ffe17820): The Gaussian or mean curvature at point 79030 have a large computation error... The maximum curvature is likely off.
Segmentation fault (core dumped)

any idea how to solve the Segmentation fault (core dumped) error?? please let me know if you need any other information. Thanks in advance

bbarad commented 3 months ago

I am wondering if this is a memory error. Pycurv is very memory intensive, and I typically run on a machine with at least 128GB of memory (normally via HPC). This is the only step that really demands much but unfortunately it is very important for getting really high quality quantifications out. You could try again with a lower max_triangles parameter (try 75,000 or 100,000).

Kathir-66 commented 2 months ago

The lowering down of lower max_triangles parameter, did not help. But fortunately the default parameters worked with one of my tomograms. So, I could test rest of the pipeline for my data. Unfortunately cant access HPC for now. Will wait for the container implementation for that. Thanks!