Csparc2star.py - rlnImageName or rlnReferenceImage error in Relion3.1-beta

Environment

  • cryoSPARC version: v2.15.0
  • CUDA version: v10.0.130
  • OS: CentOS 7
  • Relion version: 3.1-beta-commit-f2335a

Issue

  • Type of Issue
    Export of particles from cryoSPARC to Relion 3.1-beta using csparc2star.py script.
  • Explain the problem in as much detail as possible
    After running a 2D classification job on cryoSPARC, I am trying to export the particles to Relion for Autopicking. The csparc2star.py command is (added --lowlevel debug for detail):
csparc2star.py P1_J62_passthrough_particles_selected.cs particles_selected.cs particles_selected_t3.star --boxsize 512 --copy-micrograph-coordinates /data/work/elliot/processing/A2326_5/Extract/job373/particles.star --loglevel debug
    Detected CryoSPARC 2+ .cs file
    Reading primary file
    Converting normalized particle coordinates to absolute
    Converted particle coordinates from normalized to absolute
    Classification parameters not found
    Reading auxiliary file particles_selected.cs
    Trying to merge: blob/path, blob/idx, blob/shape, blob/psize_A, blob/sign, alignments2D/split, alignments2D/shift, alignments2D/pose, alignments2D/psize_A, alignments2D/error, alignments2D/error_min, alignments2D/resid_pow, alignments2D/slice_pow, alignments2D/image_pow, alignments2D/cross_cor, alignments2D/alpha, alignments2D/alpha_min, alignments2D/weight, alignments2D/pose_ess, alignments2D/shift_ess, alignments2D/class_posterior, alignments2D/class, alignments2D/class_ess
    Merging: rlnDetectorPixelSize, ucsfImagePath, ucsfImageIndex
    Directly copied fields: rlnOpticsGroup, rlnAmplitudeContrast, rlnDefocusAngle, rlnPhaseShift, rlnVoltage, rlnDefocusV, rlnSphericalAberration, rlnMicrographName, rlnCtfBfactor, ucsfUid, rlnDefocusU, rlnCoordinateX, rlnCoordinateY, rlnDetectorPixelSize, ucsfImagePath, ucsfImageIndex, rlnMagnification
    Converting DEFOCUSANGLE from degrees to radians
    Converting PHASESHIFT from degrees to radians
    Angular alignment parameters not found
    /usr/local/pyem/pyem/star.py:531: FutureWarning: Columnar iteration over characters will be deprecated in future releases.
      df[UCSF.IMAGE_INDEX], df[UCSF.IMAGE_PATH] = \
    /usr/local/pyem/pyem/star.py:539: FutureWarning: Columnar iteration over characters will be deprecated in future releases.
      df[UCSF.IMAGE_ORIGINAL_INDEX], df[UCSF.IMAGE_ORIGINAL_PATH] = \
    Coordinates merge key: ['ucsfImageBasename', 'ucsfImageIndex']
    Output fields: rlnOpticsGroup, rlnAmplitudeContrast, rlnDefocusAngle, rlnPhaseShift, rlnVoltage, rlnDefocusV, rlnSphericalAberration, rlnMicrographName, rlnCtfBfactor, rlnDefocusU, rlnCoordinateX, rlnCoordinateY, rlnImageName, rlnImagePixelSize, rlnImageDimensionality

As was mentioned in a previous thread, I manually added the _rlnImageSize field in the output .star file data_optics header and imported it into Relion. The resulting .star file shows:

I am trying to use those particles as references for Autopicking in Relion, but I get a rlnReferenceImage or rlnImageName error message (see below). I tried re-extracting the particles without re-centering and get an error about reading the header for the mrcs particles stack.
To note: I have also tried running an relion_convert_star command and the output .star file is empty.

  • Error message/traceback

Autopick error

=== Backtrace  ===
/usr/local/relion-3.1b/bin/relion_autopick_mpi(_ZN11RelionErrorC1ERKSsS1_l+0x41) [0x438dc1]
/usr/local/relion-3.1b/bin/relion_autopick_mpi(_ZN10AutoPicker10initialiseEv+0x25e6) [0x44a036]
/usr/local/relion-3.1b/bin/relion_autopick_mpi(main+0x3e) [0x432ede]
/lib64/libc.so.6(__libc_start_main+0xf5) [0x7feae45d5495]
/usr/local/relion-3.1b/bin/relion_autopick_mpi() [0x4368bf]
==================
ERROR: 
AutoPicker::initialise ERROR: either provide rlnReferenceImage or rlnImageName in the reference STAR file!
application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0
[unset]: write_line error; fd=-1 buf=:cmd=abort exitcode=1
:
system msg for write_line failure : Bad file descriptor

Extract error

ERROR: 
rwMRC: error in reading header of image Extract/job428/Micrographs/FoilHole_20594641_Data_20595273_20595274_20191120_0028_Fractions.mrcs
in: /usr/local/relion_3.1beta_source/src/rwMRC.h, line 157
ERROR: 
rwMRC: error in reading header of image Extract/job428/Micrographs/FoilHole_20594641_Data_20595273_20595274_20191120_0028_Fractions.mrcs
=== Backtrace  ===
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN11RelionErrorC1ERKSsS1_l+0x41) [0x420da1]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN5ImageIdE7readMRCElbRK8FileName+0xe3b) [0x43c41b]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN5ImageIdE5_readERK8FileNameR13fImageHandlerblbb+0x173) [0x43e593]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN5ImageIdE4readERK8FileNameblbb+0xf7) [0x43ed97]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN5ImageIdE6_writeERK8FileNameR13fImageHandlerlbi+0xa21) [0x43fb71]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN13Preprocessing25performPerImageOperationsER5ImageIdE8FileNamellddRdS4_S4_S4_+0xac7) [0x42b157]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN13Preprocessing33extractParticlesFromOneMicrographER13MetaDataTable8FileNameiS2_S2_RllRdS4_S4_S4_+0xe9c) [0x42c8cc]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN13Preprocessing31extractParticlesFromFieldOfViewE8FileNamel+0x5c3) [0x431583]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN16PreprocessingMpi19runExtractParticlesEv+0x446) [0x4208d6]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN16PreprocessingMpi3runEv+0x12) [0x420c92]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(main+0x3b) [0x41dbcb]
/lib64/libc.so.6(__libc_start_main+0xf5) [0x7fa0c7a82495]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi() [0x41e4ff]
==================
ERROR: 
rwMRC: error in reading header of image Extract/job428/Micrographs/FoilHole_20594641_Data_20595273_20595274_20191120_0028_Fractions.mrcs
=== Backtrace  ===
application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0
[unset]: write_line error; fd=-1 buf=:cmd=abort exitcode=1
:
system msg for write_line failure : Bad file descriptor
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN11RelionErrorC1ERKSsS1_l+0x41) [0x420da1]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN5ImageIdE7readMRCElbRK8FileName+0xe3b) [0x43c41b]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN5ImageIdE5_readERK8FileNameR13fImageHandlerblbb+0x173) [0x43e593]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN5ImageIdE4readERK8FileNameblbb+0xf7) [0x43ed97]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN5ImageIdE6_writeERK8FileNameR13fImageHandlerlbi+0xa21) [0x43fb71]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN13Preprocessing25performPerImageOperationsER5ImageIdE8FileNamellddRdS4_S4_S4_+0xac7) [0x42b157]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN13Preprocessing33extractParticlesFromOneMicrographER13MetaDataTable8FileNameiS2_S2_RllRdS4_S4_S4_+0xe9c) [0x42c8cc]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN13Preprocessing31extractParticlesFromFieldOfViewE8FileNamel+0x5c3) [0x431583]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN16PreprocessingMpi19runExtractParticlesEv+0x446) [0x4208d6]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(_ZN16PreprocessingMpi3runEv+0x12) [0x420c92]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi(main+0x3b) [0x41dbcb]
/lib64/libc.so.6(__libc_start_main+0xf5) [0x7f64d021b495]
/usr/local/relion-3.1b/bin/relion_preprocess_mpi() [0x41e4ff]
==================
ERROR: 
rwMRC: error in reading header of image Extract/job428/Micrographs/FoilHole_20594641_Data_20595273_20595274_20191120_0028_Fractions.mrcs
application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0
[unset]: write_line error; fd=-1 buf=:cmd=abort exitcode=1
:
system msg for write_line failure : Bad file descriptor

What might be going wrong here?
Thanks in advance for any insight! Please let me know if any additional information is needed.
Best,
EJC

For anyone interested, I was able to overcome this issue by applying the argument --relion2 or -r2 to the csparc2star.py command:

csparc2star.py P*_J*passthrough_particles_selected.cs partciles_selected.cs particles_selected.star --boxsize *** --copy-micrograph-coordinates ***/particles.star --relion2

Following this, running an Extract job in Relion should work (when importing the particle stack in Relion, make sure the optics group matches the current optics group in use in Relion).

Hope this helps anyone in need.

Elliot J. Crooks

1 Like