DOI: 10.5061/dryad.8kprr4z12
title: CryoSPARC scripts for oligomer classification and extraction of (pseudo)symmetric biomacromolecules

description: 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.
description: # CryoSPARC scripts for oligomer classification and extraction of
 (pseudo)symmetric biomacromolecules Dataset DOI:
 [10.5061/dryad.8kprr4z12](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](https://cryosparc.com/) 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.