Transferring helical coordinate picks to Relion

I have recently tried using CryoSPARC’s (version 3.0.1) new filament tracer for helical picking and have been impressed. I would now like to use those coordinates to extract particles in Relion 3.0 or 3.1. I have tried using the csparc2star.py to create a star file for relion extraction but cannot find much information on the proper inputs to get the correct star file. Which job type and .cs files from CryoSPARC should I be using as my inputs to obtain the proper star file?

We have successfully converted particles in .cs format to .star format by using csparc2star.py from the PyEM package. You can find the step-to-step instruction from here “https://github.com/asarnow/pyem/wiki/Export-from-cryoSPARC-v2”.

Hi, I also wanted to get the filament’s ends coordinates from the output of filament tracing but couldn’t succeed. Using csparc2star.py on a segment stack allows to get the particles coordinates, but it lacks the _rlnHelicalTubeID, which could have been used for retrieving filament’s end with some scripting… If there would be a tool to export the filaments coordinate such as in e2helixboxer.py format that would be awesome.

Would you mind providing some more details on how you used csparc2star.py to convert your particle coordinates to relion? What were your inputs? I have tried using particles.cs and passthrough_particles.cs from multiple job types (picks, 2D class, refine, etc.) but cannot seem to find the right combination. Any guidance would be appreciated.

Hi all,

Unfortunately this isn’t documented anywhere (yet), but the Filament Tracer tracks some information that could be used to convert to RELION’s star file fields. I don’t think these fields aren’t currently read or processed in csparc2star.py since cryoSPARC’s helical processing features are fairly new, but for anyone who is interested in scripting or otherwise working with these fields, I’ve included descriptions of the new fields here. These should be present in the output particles .cs file from a Filament Tracer job, or in the particles passthrough .cs file from an Inspect Picks job. The fields of interest are:

  • filament/filament_uid: This associates each particle with an ID of a unique filament, similar to rlnHelicalTubeID. For imported particles, this is actually copied from the rlnHelicalTubeID field. Note this is completely unrelated to the particles’ uids – these IDs are unique numbers given to each filament detected, whereas the particles uids are unique numbers given to each individual particle.
  • filament/inter_box_dist_A: This is the distance between extracted particles along the filament, in Angstroms (it is used to determine how many asymmetric units exist in each image).
  • filament/start_frac: This gives the start coordinates of the associated filament contour in (x,y) format, in units of fractional distance along the micrograph. This is given in the same units as the particle pick locations, which are stored in location/center_x_frac and location/center_y_frac.
  • filament/end_frac: This is the same as above, but gives the (x,y) end coordinates of the associated filament contour in fractional distance along the micrograph.

For completeness, there are also the following fields written to by the tracer (perhaps of less interest):

  • filament/arc_length_A: This is the integrated length of the filament, in Angstroms.
  • filament/straight_length_A: This is the straight line length (between start and end points) of the filament, in Angstroms.
  • filament/position_A: Position of the particle along the filament contour, in Angstroms.
  • filament/filament_pose: Approximate in-plane rotation angle (radians) between helical axis and x-axis.
  • filament/curvature: Local curvature of the filament contour, in inverse Angstroms.
  • filament/sinuosity: Ratio between the arc length and the straight length.

For actual particle locations, these are still stored in location/center_x_frac and location/center_y_frac, and the paths of the associated micrographs are stored in location/micrograph_path. This is the same as with the other particle pickers in cryoSPARC (template, blob, etc.). I believe you can still use csparc2star.py with the pick locations of helical particles — you just won’t retain any of the other fields starting with filament, like the filament ID’s or the start/end points as @adesfosses pointed out. For now, these would have to be copied over through other means.

Also, for more information about cs files, we have a great tutorial on working with cs files. Please let me know if you have any questions!

Best,
Michael

2 Likes