CryoSPARC scripts for oligomer classification and extraction of (pseudo)symmetric biomacromolecules
Data files
Sep 08, 2025 version files 9.41 KB
-
README.md
2.61 KB
-
sym_class_build230719.zip
6.80 KB
Abstract
Ligand-gated ion channels with multiple ligand binding sites, such as nicotinic acetylcholine receptors, could be important therapeutic targets for various diseases. Single-particle cryo-EM has proved to be a powerful approach to help understand the molecular mechanics of these channels in recent years; however, the (pseudo-)symmetric feature of the channels largely troubles precise determination of channel structures in some situations, especially when partial breaking down of the symmetry occurs (caused by insufficient ligand binding, asymmetric conformational change, etc). Local variability analysis combined with symmetry expansion may provide valuable insights into a single monomer of the channel, but up to now, there lacks an easy-accessible method to restore the featured monomers to the whole oligomeric channels. Here, I provide a simple pack of Python3 scripts, based on outputs of CryoSPARC single-particle cryoEM workflows, to classify, align, and extract the oligomer particles with different monomer features. The re-extracted particle stacks could be imported back into CryoSPARC manually, in which further refinement jobs would be available for providing detailed structures of the channel.
Dataset DOI: 10.5061/dryad.8kprr4z12
Description of the data and file structure
Files and variables
File: sym_class_build230719.zip
Description: This is a Python3 script pack designed to integrate monomer classification results generated from CryoSPARC symmetry expansion and 3D classification jobs into (pseudo)symmetric protein oligomer classes, as well as re-extract selected classes of aligned oligomers for further refinement and reconstruction in CryoSPARC. Primarily validated and tested on pentameric ligand-gated ion channel (pLGIC) datasets. Proteins with other symmetry types (C3, C4, etc.) should also be supported.
To run the integration job, both symmetry-expanded particle files (the split output option MUST be checked in CryoSPARC) and monomer-classified particle files should be prepared. Annotations for necessary input arguments/parameters are provided inside the script "sym_class.py", and the output file would be two binary NumPy tables with a ".cs" file name extension. In case a custom name for the output file is not provided, the integration result files with default names "sym_class_assignment.cs" and "sym_class_summary.cs" will be generated, and the former is necessary for the following extraction job.
Before running the extraction job, writing down any index of oligomer classes of your interest is recommended (which would be shown in the terminal window when running the integration job); however, you can also run the "sym_report.py" script on the summary.cs file to simply check class indexes and their proportions. With the "sym_extract.py" script, extracting multiple classes in a single run is supported (using the "-m" merging option, or else you can manually merge different particle sets with " merge_cs.py" scripts). But in case that aligned particles are wanted, there must be ONLY ONE class index in the argument, and the "-a" alignment option should be included.
To re-import extracted particle stacks into CryoSPARC, use "csparc2star.py" (which includes the n pyem pack and is not provided here) and move the .star metadata file to your CryoSPARC project directory before running the Import Particle Stack job. Since CryoSPARC up to version. 4.7 still does not support directly reading external .cs files; a part of particle information, such as pick location, will be lost during conversion, but the particle images should be ready for further refinement and reconstruction.