CryoSPARC Guide
  • About CryoSPARC
  • Current Version
  • Licensing
    • Non-commercial license agreement
  • Setup, Configuration and Management
    • CryoSPARC Architecture and System Requirements
    • CryoSPARC Installation Prerequisites
    • How to Download, Install and Configure
      • Obtaining A License ID
      • Downloading and Installing CryoSPARC
      • CryoSPARC Cluster Integration Script Examples
      • Accessing the CryoSPARC User Interface
    • Deploying CryoSPARC on AWS
      • Performance Benchmarks
    • Using CryoSPARC with Cluster Management Software
    • Software Updates and Patches
    • Management and Monitoring
      • Environment variables
      • (Optional) Hosting CryoSPARC Through a Reverse Proxy
      • cryosparcm reference
      • cryosparcm cli reference
      • cryosparcw reference
    • Software System Guides
      • Guide: Updating to CryoSPARC v4
      • Guide: Installation Testing with cryosparcm test
      • Guide: Verify CryoSPARC Installation with the Extensive Validation Job (v4.3+)
      • Guide: Verify CryoSPARC Installation with the Extensive Workflow (≤v4.2)
      • Guide: Performance Benchmarking (v4.3+)
      • Guide: Download Error Reports
      • Guide: Maintenance Mode and Configurable User Facing Messages
      • Guide: User Management
      • Guide: Multi-user Unix Permissions and Data Access Control
      • Guide: Lane Assignments and Restrictions
      • Guide: Queuing Directly to a GPU
      • Guide: Priority Job Queuing
      • Guide: Configuring Custom Variables for Cluster Job Submission Scripts
      • Guide: SSD Particle Caching in CryoSPARC
      • Guide: Data Management in CryoSPARC (v4.0+)
      • Guide: Data Cleanup (v4.3+)
      • Guide: Reduce Database Size (v4.3+)
      • Guide: Data Management in CryoSPARC (≤v3.3)
      • Guide: CryoSPARC Live Session Data Management
      • Guide: Manipulating .cs Files Created By CryoSPARC
      • Guide: Migrating your CryoSPARC Instance
      • Guide: EMDB-friendly XML file for FSC plots
    • Troubleshooting
  • Application Guide (v4.0+)
    • A Tour of the CryoSPARC Interface
    • Browsing the CryoSPARC Instance
    • Projects, Workspaces and Live Sessions
    • Jobs
    • Job Views: Cards, Tree, and Table
    • Creating and Running Jobs
    • Low Level Results Interface
    • Filters and Sorting
    • View Options
    • Tags
    • Flat vs Hierarchical Navigation
    • File Browser
    • Blueprints
    • Workflows
    • Inspecting Data
    • Managing Jobs
    • Interactive Jobs
    • Upload Local Files
    • Managing Data
    • Downloading and Exporting Data
    • Instance Management
    • Admin Panel
  • Cryo-EM Foundations
    • Image Formation
      • Contrast in Cryo-EM
      • Waves as Vectors
      • Aliasing
  • Expectation Maximization in Cryo-EM
  • Processing Data in cryoSPARC
    • Get Started with CryoSPARC: Introductory Tutorial (v4.0+)
    • Tutorial Videos
    • All Job Types in CryoSPARC
      • Import
        • Job: Import Movies
        • Job: Import Micrographs
        • Job: Import Particle Stack
        • Job: Import 3D Volumes
        • Job: Import Templates
        • Job: Import Result Group
        • Job: Import Beam Shift
      • Motion Correction
        • Job: Patch Motion Correction
        • Job: Full-Frame Motion Correction
        • Job: Local Motion Correction
        • Job: MotionCor2 (Wrapper) (BETA)
        • Job: Reference Based Motion Correction (BETA)
      • CTF Estimation
        • Job: Patch CTF Estimation
        • Job: Patch CTF Extraction
        • Job: CTFFIND4 (Wrapper)
        • Job: Gctf (Wrapper) (Legacy)
      • Exposure Curation
        • Job: Micrograph Denoiser (BETA)
        • Job: Micrograph Junk Detector (BETA)
        • Interactive Job: Manually Curate Exposures
      • Particle Picking
        • Interactive Job: Manual Picker
        • Job: Blob Picker
        • Job: Template Picker
        • Job: Filament Tracer
        • Job: Blob Picker Tuner
        • Interactive Job: Inspect Particle Picks
        • Job: Create Templates
      • Extraction
        • Job: Extract from Micrographs
        • Job: Downsample Particles
        • Job: Restack Particles
      • Deep Picking
        • Guideline for Supervised Particle Picking using Deep Learning Models
        • Deep Network Particle Picker
          • T20S Proteasome: Deep Particle Picking Tutorial
          • Job: Deep Picker Train and Job: Deep Picker Inference
        • Topaz (Bepler, et al)
          • T20S Proteasome: Topaz Particle Picking Tutorial
          • T20S Proteasome: Topaz Micrograph Denoising Tutorial
          • Job: Topaz Train and Job: Topaz Cross Validation
          • Job: Topaz Extract
          • Job: Topaz Denoise
      • Particle Curation
        • Job: 2D Classification
        • Interactive Job: Select 2D Classes
        • Job: Reference Based Auto Select 2D (BETA)
        • Job: Reconstruct 2D Classes
        • Job: Rebalance 2D Classes
        • Job: Class Probability Filter (Legacy)
        • Job: Rebalance Orientations
        • Job: Subset Particles by Statistic
      • 3D Reconstruction
        • Job: Ab-Initio Reconstruction
      • 3D Refinement
        • Job: Homogeneous Refinement
        • Job: Heterogeneous Refinement
        • Job: Non-Uniform Refinement
        • Job: Homogeneous Reconstruction Only
        • Job: Heterogeneous Reconstruction Only
        • Job: Homogeneous Refinement (Legacy)
        • Job: Non-uniform Refinement (Legacy)
      • CTF Refinement
        • Job: Global CTF Refinement
        • Job: Local CTF Refinement
        • Job: Exposure Group Utilities
      • Conformational Variability
        • Job: 3D Variability
        • Job: 3D Variability Display
        • Job: 3D Classification
        • Job: Regroup 3D Classes
        • Job: Reference Based Auto Select 3D (BETA)
        • Job: 3D Flexible Refinement (3DFlex) (BETA)
      • Postprocessing
        • Job: Sharpening Tools
        • Job: DeepEMhancer (Wrapper)
        • Job: Validation (FSC)
        • Job: Local Resolution Estimation
        • Job: Local Filtering
        • Job: ResLog Analysis
        • Job: ThreeDFSC (Wrapper) (Legacy)
      • Local Refinement
        • Job: Local Refinement
        • Job: Particle Subtraction
        • Job: Local Refinement (Legacy)
      • Helical Reconstruction
        • Helical symmetry in CryoSPARC
        • Job: Helical Refinement
        • Job: Symmetry search utility
        • Job: Average Power Spectra
      • Utilities
        • Job: Exposure Sets Tool
        • Job: Exposure Tools
        • Job: Generate Micrograph Thumbnails
        • Job: Cache Particles on SSD
        • Job: Check for Corrupt Particles
        • Job: Particle Sets Tool
        • Job: Reassign Particles to Micrographs
        • Job: Remove Duplicate Particles
        • Job: Symmetry Expansion
        • Job: Volume Tools
        • Job: Volume Alignment Tools
        • Job: Align 3D maps
        • Job: Split Volumes Group
        • Job: Orientation Diagnostics
      • Simulations
        • Job: Simulate Data (GPU)
        • Job: Simulate Data (Legacy)
    • CryoSPARC Tools
    • Data Processing Tutorials
      • Case study: End-to-end processing of a ligand-bound GPCR (EMPIAR-10853)
      • Case Study: DkTx-bound TRPV1 (EMPIAR-10059)
      • Case Study: Pseudosymmetry in TRPV5 and Calmodulin (EMPIAR-10256)
      • Case Study: End-to-end processing of an inactive GPCR (EMPIAR-10668)
      • Case Study: End-to-end processing of encapsulated ferritin (EMPIAR-10716)
      • Case Study: Picking-induced Orientation Bias in HA Trimer (EMPIAR-10096 and -10097)
      • Case Study: Exploratory data processing by Oliver Clarke
      • Tutorial: Tips for Membrane Protein Structures
      • Tutorial: Common CryoSPARC Plots
      • Tutorial: Negative Stain Data
      • Tutorial: Phase Plate Data
      • Tutorial: EER File Support
      • Tutorial: EPU AFIS Beam Shift Import
      • Tutorial: Patch Motion and Patch CTF
      • Tutorial: Float16 Support
      • Tutorial: Particle Picking Calibration
      • Tutorial: Blob Picker Tuner
      • Tutorial: Helical Processing using EMPIAR-10031 (MAVS)
      • Tutorial: Maximum Box Sizes for Refinement
      • Tutorial: CTF Refinement
      • Tutorial: Ewald Sphere Correction
      • Tutorial: Symmetry Relaxation
      • Tutorial: Orientation Diagnostics
      • Tutorial: BILD files in CryoSPARC v4.4+
      • Tutorial: Mask Creation
      • Case Study: Yeast U4/U6.U5 tri-snRNP
      • Tutorial: 3D Classification
      • Tutorial: 3D Variability Analysis (Part One)
      • Tutorial: 3D Variability Analysis (Part Two)
      • Tutorial: 3D Flexible Refinement
        • Installing 3DFlex Dependencies (v4.1–v4.3)
      • Tutorial: 3D Flex Mesh Preparation
    • Webinar Recordings
  • Real-time processing in cryoSPARC Live
    • About CryoSPARC Live
    • Prerequisites and Compute Resources Setup
    • How to Access cryoSPARC Live
    • UI Overview
    • New Live Session: Start to Finish Guide
    • CryoSPARC Live Tutorial Videos
    • Live Jobs and Session-Level Functions
    • Performance Metrics
    • Managing a CryoSPARC Live Session from the CLI
    • FAQs and Troubleshooting
  • Guides for v3
    • v3 User Interface Guide
      • Dashboard
      • Project and Workspace Management
      • Create and Build Jobs
      • Queue Job, Inspect Job and Other Job Actions
      • View and Download Results
      • Job Relationships
      • Resource Manager
      • User Management
    • Tutorial: Job Builder
    • Get Started with CryoSPARC: Introductory Tutorial (v3)
    • Tutorial: Manually Curate Exposures (v3)
  • Resources
    • Questions and Support
Powered by GitBook
On this page
  • Description
  • Input
  • Output
  • Parameters
  • General parameters
  • Pitch mode
  • Rise mode
  • Volume parameters
  • Use cases, notes, and limitations
  • Examples of output (EMPIAR-10267 dataset)
  • Common next steps
  • Cubic B-spline interpolation: License and Copyright Notice (D. Ruijters)
  1. Processing Data in cryoSPARC
  2. All Job Types in CryoSPARC
  3. Helical Reconstruction

Job: Symmetry search utility

Symmetry search utility.

PreviousJob: Helical RefinementNextJob: Average Power Spectra

Last updated 2 years ago

Description

Search a volume for candidate helical symmetry parameters, by comparing the mean squared error across symmetry-related positions for different symmetry parameters.

Input

  • Volume

  • Mask (optional)

Output

  • 2D and 1D plots of the mean squared error surface

  • Tables of candidate symmetry pairs

  • Symmetry candidates (.cs file)

Parameters

This job performs a low-level searching operation over symmetry parameters, similar to the search in helical refinement, except with more diagnostic plots and allowing for larger search ranges. Be sure to read the page detailing for more information on the various characterizations of helical symmetry used by this job, including the differences between the "pitch" and "rise" modes.

General parameters

  • Search over pitch/number of subunits, or rise/twist?

    • This parameter controls the "mode" that the searching is done in. Specifically, the search grid can operate in two modes:

      • "pitch" mode, where the search grid is a 2D grid of (n,p)(n,p)(n,p)values (for a specified hand), or

      • "rise" mode, where the search grid is a a 2D grid of (Δϕ,Δz)(\Delta \phi, \Delta z)(Δϕ,Δz)values.

    • Generally, it's more informative to run this job "pitch" mode, as the job will search the volume over both left and right handed symmetry parameters, as well as writing additional 1D error plots where only one variable (n, or p) is allowed to vary. The exception to this is helices with very large asymmetric units, where the asymmetric units don't actually form a helical lattice so the "pitch" view is less interpretable

  • Search grid sizes (number of grid points)

    • This controls the number of grid points to use in the 2D search. Generally, it is not necessary to change these from the defaults. For faster computation time, these can be decreased. For large search ranges, these could be increased to increase the fineness of the search (up to a maximum of 512).

  • Override the number of asymmetric units to search

    • Number of asymmetric units (i.e. helical rises) to search over. If left as None, will be calculated automatically in the same way as in helical refinement.

  • Override outer (inner) filament diameter for search (Å)

    • The inner and outer diameters to search over can be forced to specific values in Angstroms. If these are left as None, these will be calculated automatically from the radial extent of a mask (either passed to the job, or generated within the job).

  • Maximum number of local minima

    • The two parameters Maximum number of local minima to display in the stream log and Maximum number of local minima to output can be increased to return more of the local minima ("symmetry candidates") in the streamlog and in the outputs, respectively

Pitch mode

  • Search grid extents over helical pitch (Å) and number of subunits per turn

  • Helical hand

Rise mode

  • Search grid extents over helical rise (Å) and twist (degrees)

    • Similar to the search extents in the pitch mode, these should be set to a pair in the form x,y where x is the lower search range and y is the upper search range

Volume parameters

  • Lowpass resolution (Å), filter type, and order

    • Optionally, the volume can be lowpass filtered using either a butterworth filter (with specified order) or boxcar lowpass filter, to a given resolution

  • Which map to search

    • This parameter can be set to search either the raw map or the sharpened map_sharp

Use cases, notes, and limitations

The primary use case of the search utility is after ab-initio reconstruction or helical refinement, to determine what helical symmetry exists in the reconstructed volume. The job is useful for searching over a relatively large search range of symmetry parameters, and reporting the best fit, which can be used as input symmetry parameters to a subsequent helical refinement. For each helical hand searched over, a table of local optima of the error are printed out, ranked by their MSE values; the global optimum is the first entry on the table. If both left and right hands are searched over, the first job checkpoint will show plots and tables for right handed symmetry parameters, and the second job checkpoint for left handed symmetry parameters. Note that due to the the maximum helical rise searched over is constrained by the box size of the volume, thus excessively large search ranges may not be allowed by the job.

Further, note that large search ranges may be redundant in the sense that they sample the same symmetries more than once. The simplest example of this is when comparing MSE between a given twist, rise pair of (Δϕ0,Δz0) (\Delta \phi_0, \Delta z_0)(Δϕ0​,Δz0​), and a pair where the twist and rise are both doubled, (2Δϕ0,2Δz0)(2 \Delta \phi_0, 2 \Delta z_0)(2Δϕ0​,2Δz0​). In this case, the second pair results in searching over the same helical "trajectory", but skipping over every other asymmetric unit. These two pairs will likely produce similar MSE scores, however if we launched a helical refinement with the doubled pair, the algorithm would only use each image half as many times as it could be. Ultimately, it is important to ensure that redundancy is considered, and that any symmetry estimates from this job are taken into account alongside a manual inspection of the input volume.

Examples of output (EMPIAR-10267 dataset)

The symmetry search utility prints plots of the error surface to the streamlog. By default, it will print 1D plots of the mean squared error along constant p p p and n n n values (two for each hand). It will also print 2D error surface plots (one for each hand). If mode is set to "rise", it will instead print only one 2D error surface plot.

To obtain exact values of the global minima, we can then navigate to the first job checkpoint (showing right-handed symmetry parameters), and scroll down to the printout of the list of local minima. Below, the first three are shown. From the MSE values, symmetry parameters of p=27.059  A˚p = 27.059 \; Åp=27.059A˚ and n=3.176n = 3.176n=3.176, equivalent to a rise of Δz=8.519  A˚\Delta z = 8.519 \; ÅΔz=8.519A˚ and twist of Δϕ=113.333º\Delta \phi = 113.333ºΔϕ=113.333º best fit the volume.

Showing the 20 best local minima.
 No. |   p (A)    |     n      |   dz (A)   | dphi (deg) |    mse        
-------------------------------------------------------------------------
 00  |  027.059   |  003.176   |  008.519   |  +113.333  |  6.163
 01  |  027.118   |  002.118   |  012.806   |  +170.000  |  524.423
 02  |  019.647   |  003.129   |  006.278   |  +115.038  |  629.372

Finally, the symmetry search utility also outputs 1D error surface plots. These plots show the error as a function of ppp (evaluated at the best nnn value), and vice versa. They are the same as extracting lines out of the 2D MSE plot along the horizontal and vertical dashed gray lines. For the above example, the error over ppp shows a fairly broad minima about the best result, and the error over nnnshows a narrow minima, with a few shallow local minima on either side.

Common next steps

Cubic B-spline interpolation: License and Copyright Notice (D. Ruijters)

/*--------------------------------------------------------------------------*\
Copyright (c) 2008-2010, Danny Ruijters. All rights reserved.
http://www.dannyruijters.nl/cubicinterpolation/
This file is part of CUDA Cubic B-Spline Interpolation (CI).

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
*  Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
*  Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.
*  Neither the name of the copyright holders nor the names of its
   contributors may be used to endorse or promote products derived from
   this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

The views and conclusions contained in the software and documentation are
those of the authors and should not be interpreted as representing official
policies, either expressed or implied.

When using this code in a scientific project, please cite one or all of the
following papers:
*  Daniel Ruijters and Philippe Thévenaz,
   GPU Prefilter for Accurate Cubic B-Spline Interpolation, 
   The Computer Journal, vol. 55, no. 1, pp. 15-20, January 2012.
   http://dannyruijters.nl/docs/cudaPrefilter3.pdf
*  Daniel Ruijters, Bart M. ter Haar Romeny, and Paul Suetens,
   Efficient GPU-Based Texture Interpolation using Uniform B-Splines,
   Journal of Graphics Tools, vol. 13, no. 4, pp. 61-69, 2008.
\*--------------------------------------------------------------------------*/

The Search min and max over helical pitch (A) and Search min and max over number of subunits per turnshould be set to a pair in the form x,y (e.g. 10,20) where x is the lower search range and y is the upper search range. As per cryoSPARC's , both values are expected to be positive.

Since the pitch mode description doesn't specify the hand of the helix, this parameter can be used to set which hand to search over. By default, both right and left handed paths will be searched. Note that we always recommend to inspect the map to be searched before running this job, in order to see which hand the helical symmetry has. Be sure to read the page detailing for notes on the ambiguities in the hand of helical symmetry

As per cryoSPARC's , the rise is expected to be positive. Note that the first endpoint of the search ranges should always be the lesser of the two, e.g. for searching twists between -30º and -20º, use the ordering -30, -20

Below shows an example of the error plots for a reconstruction of (CFA/I pili). In the 2D plots, horizontal/vertical gray dashed lines intersect at the global optimum for each hand. It is important to compare the MSE scale bars across both plots: here, we see on the left that the global minima is at around 600, whereas on the right the global minima is much lower, at 6. Within a single job, MSE values are always comparable to each other – thus, we can conclude that within these ranges, right-handed symmetry parameters of n≈3.15n \approx 3.15n≈3.15 and p≈27  A˚p \approx 27 \; Åp≈27A˚fit the volume best.

The symmetry search utility uses components of a BSD-licensed implementation in CUDA, originally authored by Danny Ruijters. Following is the required copyright and license notice.

how helical symmetry is treated in CryoSPARC
helical symmetry conventions
how helical symmetry is treated in cryoSPARC
helical symmetry conventions
EMPIAR-10267
Helical Refinement (BETA)
cubic B-spline interpolation
MSE as a function of "pitch"
MSE as a function of "number of subunits per turn"