# Get Started with CryoSPARC: Introductory Tutorial (v3)

{% hint style="warning" %}
The information in this section applies to CryoSPARC ≤v3.3. For CryoSPARC v4.0+, please see: [get-started-with-cryosparc-introductory-tutorial](https://guide.cryosparc.com/processing-data/get-started-with-cryosparc-introductory-tutorial "mention")
{% endhint %}

## Cryo-EM Data Processing in CryoSPARC: Introductory Tutorial

We recommend starting off with the T20S Tutorial to become familiar with the workflow in CryoSPARC. This dataset is a subset of 20 movies from the [EMPIAR-10025](https://www.ebi.ac.uk/pdbe/emdb/empiar/entry/10025/) T20S Proteasome dataset. While not a representative example of the complexity of most cryo-EM projects today, it is a good way to become familiar with the interface and software features and to learn [how CryoSPARC organizes jobs and projects](https://guide.cryosparc.com/guides-for-v3/user-interface-and-usage-guide/project-and-workspace-management).

For a refresher on the interface, projects and jobs, please see the [User Interface and Usage Guide](https://guide.cryosparc.com/processing-data/user-interface-and-usage-guide).

Overview of processing the T20S dataset from raw movie data to a high-resolution 3D structure.

![Overview of processing the T20S dataset from raw movie data to a high-resolution 3D structure.](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FVKHvw5neC5ipXaGUq5u4%2FT20S_outputs_overview.png?alt=media\&token=961f2df1-bcb0-412b-9458-db37794b1536)

## Introduction: Dashboard, Projects, Workspaces and Jobs

The **Dashboard** provides at-a-glance information on your Projects, Workspaces and status of Jobs. It also shows the change log for new versions of CryoSPARC. The header and footer contain links to Projects view, Workspaces, the [Resource Manager](https://guide.cryosparc.com/guides-for-v3/user-interface-and-usage-guide/resource-manager) and the identity of the current user.

CryoSPARC organizes your workflow by **Project**, e.g, P1, P2, etc. Projects contain one or more **Workspaces**, which in turn house **Jobs**.

Projects are strict divisions. Files and jobs from different projects are stored in dedicated project directories and jobs cannot be connected from one project to another.

Workspaces are soft divisions, and allow for logical separation of jobs and workflows so they can be more easily managed in a large project. Jobs may be connected across workspaces and each job may belong to more than one Workspace.

![The CryoSPARC user interface](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FLD3T3KujpNahNqH0Jqrt%2FT20S_00_dashboard.png?alt=media\&token=48ed3c5b-6e88-4789-882f-714d13e85608)

## Step 1: Create a Project

* Navigate to the Projects view by clicking on the drawer icon in the header, or from the Projects button in the footer:

![](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2F2fJDNkcj6IdMAYXuSmSV%2FT20S_01_add_project.png?alt=media\&token=465e3786-9a7e-49dd-93ce-dd90e6eb8f8c)

* To create a project, press the `n` key or click the "+ Add" button in the header. A dialog window appears to enter new project details.

![](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FVT6r7e80UR0UwSk1Y98s%2FT20S_02_new_project_dialog.png?alt=media\&token=a357ff83-d9ab-4b76-b9f5-bf001f0df333)

* Enter a project Title and browse for a location for the associated Project directory with the File Browser. The project directory should already exist. CryoSPARC populates it with job directories as you create jobs. All files associated with the project will be stored inside the selected project directory. You may also enter a Description for your project.
* Click "Create". The new project now appears on the Projects page.

## Step 2: Create a Workspace

Use Workspaces to organize or separate portions of the cryo-EM workflow for convenience or experimentation. Create at least one Workspace within a Project before running a Job.

* Select the project number (e.g., "P67") to open the Project.

![](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FvLlDMiCk6lvA6BaJnq0p%2FT20S_03_select_project.png?alt=media\&token=b595a23a-5d6a-409a-a6a0-95c6a2f73528)

* Alternatively, select the Projects drop-down in the header. This opens a searchable list of all Projects associated with your user account. Select an entry to open the associated project.

![](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FSce7gKiZQAuAeuK223KQ%2FT20S_04_project_selection.png?alt=media\&token=84eae898-7c01-4e70-a144-d34b9f9c3bc6)

1. Create a New Workspace with the "+ Add" button in the header or press `N` on your keyboard. Alternatively, select `New Workspace` from the Project Details panel on the right side of the screen. Set a Title (may be changed later) and optionally a description.

![](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2F9GhrQeluzhRSo36g12aP%2FT20S_05_new_workspace.png?alt=media\&token=a4b9c701-f63a-43f8-944c-6f791b6e951b)

1. Click "Create". This will create the new Workspace.

## Step 3: Download the Tutorial Dataset

* Log in to the machine where CryoSPARC is installed via command-line.
* Navigate to or create a directory into which to download the test dataset (approx. 8 GB). **This location should have read permissions for** [**the linux user account running CryoSPARC**](https://guide.cryosparc.com/setup-configuration-and-management/cryosparc-installation-prerequisites#2.-common-unix-user-account)**.**
* Run the command `cryosparcm downloadtest` while in this directory. This downloads a subset of the T20S dataset.
* Run `tar -xf empiar_10025_subset.tar` to decompress the downloaded data.

## Step 4: Import Movies

* In CryoSPARC, navigate to the new Workspace. To do so, navigate to the project to see a list of workspaces, and then into the workspace.
* Select the [**Job Builder**](https://guide.cryosparc.com/processing-data/user-interface-and-usage-guide/create-and-build-jobs) in the right sidebar. The Job Builder displays all available job types by category (e.g., workflows, imports, motion correction, etc.). A tutorial on the Job Builder is available [here](https://guide.cryosparc.com/guides-for-v3/job-builder-tutorial).

![](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FI1dhHpiOwPiEPOquvaoS%2FT20S_06a_job_builder.gif?alt=media\&token=cde925df-e065-471d-8a15-f2187eb29782)

* Select the [**Import Movies**](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/import/job-import-movies) job type in the Job builder. This creates a new job within the current Workspace, displayed as a card. By default, new jobs are set to **Building** status, indicated on the job card in purple. To change parameters, select the Building job and [toggle between active or inactive building states with `B` on your keyboard](https://guide.cryosparc.com/processing-data/user-interface-and-usage-guide/create-and-build-jobs), or click the "Building" badge on the job card.

![](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FueI0xstivku7kf7urUYM%2FT20S_06_import_movies.png?alt=media\&token=baae093c-27c0-4cc8-8890-f1788be76aaa)

* Select the `Movies data path`: Click the file browse icon and select the movie files (`.mrc` or `.tif` format). To select multiple files, use a wildcard, e.g., `*.mrc`. This selects all files that match the wildcard expression. The file browser displays the list of selected files along with the number of matches at the bottom. For this tutorial dataset, navigate to the directory where the test data was downloaded. Use the wildcard expression `*.tif` to select all TIFF format movies in the folder. There should be 20 imported movies.
* Select the `Gain reference path` with the file browser: Select the single `.mrc` file in the folder where the test data was downloaded.
* Edit Job parameters from the Builder; enter the following parameters (obtained from the original publication in [*eLife*](https://elifesciences.org/articles/06380)).
  1. **Raw pixel size (Å)**: `0.6575`
  2. **Accelerating voltage (kV)**: `300`
  3. **Spherical abberation (mm)**: `2.7`
  4. **Total exposure dose (e/Å^2)**: `53`
* After changing a parameter, the blue `D` icon changes to a green `S`. This indicates the parameter is different from its default value.

![Parameters with default values are marked with a blue 'D' (for default). Custom values are marked with a green 'S' (for spec. or user-specified).](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FFDuJweeXgOXp7nGMzZir%2FT20S_06a_import_builder.png?alt=media\&token=3b7c8161-9763-4fbb-85d7-80b96e106bc5)

* Click **Queue** to start the import. Use the subsequent dialog to select a lane/node on which to run the job. The available lanes depend on your installation configuration. By default, import and interactive jobs will run on the master node as they are not resource intensive. Press the **Create** button.

![](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FROyWvJIVjTZJEDKNKUvJ%2FT20S_07_queue_import_movies.png?alt=media\&token=3f4e4d33-a8b7-4918-aafd-0637857ac9bb)

* The Import Movies job queues and starts running. Look for the Job card in the workspace to monitor its status.
* To open a Job and view its progress, click on the Job number on the top left hand side of the Job card. Alternatively, select on the job card and press the spacebar on your keyboard:

![](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2Fj1C0p1IRQXooFUGCQjJW%2FT20S_08_import_job_card_inspect.png?alt=media\&token=6e016268-1af1-4231-a10b-473f8209a9ce)

* This opens the [Inspect view](https://guide.cryosparc.com/processing-data/user-interface-and-usage-guide/queue-job-inspect-job-and-other-job-actions#inspect-job), which shows a streaming log of the real-time progress for the Import Job. Scroll through the stream log to view results. Select a checkpoint to find a specific location in the stream log or click 'Show from top' to return to the beginning. Additional actions and detailed information for the job are available in the details panel. The **Output** of the import job, i.e., the 20 imported movies, are available on the right hand side of the event log:

![](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FRywc87yIp5L2apEDLyuT%2FT20S_09a_import_job_dialog.png?alt=media\&token=8cc67aca-7f5a-437a-b154-7bc31bc6434c)

* To exit the job/close the inspect view, press the spacebar again, or press the `×` button on the top-right of the dialog.
* Once finished, the job's status indicator changes to **"Completed"** in green.

![Job card displayed while running (left) and when complete (right)](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FnJ7zFL9GWosRdu3MrZtk%2FT20S_09_import_cards.png?alt=media\&token=3833a81c-5443-429f-be36-0e029c1b908d)

## Step 5: Motion Correction

For our next stage of processing, we will be performing [***Motion Correction***](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/motion-correction) on the imported movies. Motion Correction refers to the alignment and averaging of input movies into single-frame micrographs, for use downstream.

* In the **Job Builder**, select [**Patch motion correction (multi)**](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/motion-correction/job-patch-motion-correction) (parallelized over multiple GPUs, if you have them available). This creates a new job in building state so that its inputs and parameters are editable in the right side panel.
* The Patch Motion Correction job requires raw movies as **Inputs**. Open the previously completed **Import Movies** job, then drag and drop the **Outputs** of the Import Movies job, to the **Movies** placeholder in the Job Builder.
* Once dropped, the connected output name appears in the Job Builder as an Input:

![](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2Fw4GLwdCOhLKCt8boVoX4%2FT20S_11_patch_motion_connect_input.gif?alt=media\&token=904abca1-0ea1-4831-9457-2f723b77582a)

* If you have multiple GPUs available, you can speed up the processing time by setting the `Number of GPUs to parallelize` parameter within the "Compute settings" section to the number of GPUs you would like to assign to that job.
* **Queue** the job and select a lane. It is generally not necessary to adjust the Patch Motion Correction job parameters; they are automatically tuned based on the data.

![The job queueing dialog displaying a list of lanes (configured via the CryoSPARC command-line interface) to choose from](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2F47CuceCkYxGbUppwgi0r%2FT20S_13_queue_patch_motion.png?alt=media\&token=5d7491fa-ea46-43eb-bce6-2b9f628cf981)

* Once the job starts to run the card will update with a preview image:

![The blue icon next to the job ID (J2) indicates this job is running](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FQryI09X5mVqMemQvQxMg%2FT20S_14_patch_motion_running.png?alt=media\&token=f8b2b12f-7294-4a27-b1c7-32ef310d6925)

## Step 6: CTF Estimation

Our next step is to perform [**Contrast Transfer Function (CTF) Estimation**](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/ctf-estimation). This stage involves the estimation of several CTF parameters in the dataset, including the defocus and astigmatism of each micrograph.

* Select [**Patch CTF Estimation (multi)**](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/ctf-estimation/job-patch-ctf-estimation) in the Job Builder to create a new job.
* This job type requires **micrographs** as the input. Open the previous *Patch Motion Correction* job, and drag and drop the output (20 micrographs) into the Micrograph placeholder in the Job Builder.

{% hint style="info" %}
You can connect outputs of jobs that haven't completed into the inputs of a building job. In this case, the newly created job will start to run automatically when all parent jobs have completed. This makes it easy to queue up a series of jobs to run without having to wait until they're completed to queue them manually.
{% endhint %}

* As with Patch Motion Correction, the job will complete faster by allocating multiple GPUs. This can be configured with the **Number of GPUs to parallelize** parameter.
* **Queue** the job to start. It is generally not necessary to adjust the *Patch CTF Estimation* job parameters; they are automatically tuned based on the data.

![Connecting Patch Motion Correction job outputs to a building Patch CTF Estimation job and queuing it to a GPU-accelerated instance.](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2Fxi06zjQDcm8tjpNsS3aI%2FT20S_16_patch_ctf_queue.gif?alt=media\&token=83ced384-d245-4a0e-8cb2-e4813ae56a0d)

## Step 7: Particle Picking (Blob Picker)

It is important to attain a large number of high-quality particles for an optimal reconstruction. The [**Blob Picker**](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/particle-picking/job-blob-picker) is a common starting point for particle picking as it is a quick way to attain an initial set of particle images that can be used to refine picking techniques over time.

Blob picking is a good idea because it verifies data quality and sets expectations for what particle images, projections, and structures should look like. We'll use blob picks to generate a set of templates that can be used as an input to the *Template Picker*, which will generate a set of much higher-quality picks matching the two primary 2D views of the T20s structure.

* Select the ***Blob Picker*** job, then enter the Job Builder and set **Min. Particle Diameter** to **`100`** and **Max Particle Diameter** to **`200`**.
* Locate the **exposures** output from the previously completed *Patch CTF Estimation* job. Drag and drop these into the **Micrograph** placeholder in the Job Builder. Queue the job.

![A portion of the Blob Picker event log depicting the template the algorithm uses for picking and exposure image with pick selections plotted.](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FLZBCB4Ip5pQQZTE6y9bQ%2FT20S_17_blob_picker_event_log.png?alt=media\&token=2d243117-6a9f-4ffa-b1db-4877274ec2bb)

## Step 8: Inspect Picks (Blob Picks)

Use the [Inspect picks](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/particle-picking/interactive-job-inspect-particle-picks) job to view and interactively adjust the results of blob-based (and template-based) automatic particle picking.

* Select ***Inspect Particle Picks*** from the Job Builder.
* Drag and drop both the **particles** and **micrographs** outputs from the previously completed *Blob Picker* job. Queue the job.

![Job details dialog for the Blob Picker open while the Inspect Particle Picks job details panel is active in build mode](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FoOlcyNDksuQTANoWNsrA%2FT20S_18_inspect_picks_building.png?alt=media\&token=afbd6830-1223-4d3b-9297-d15a2eeb3941)

* Once the job is ready to interact with, it will be marked as 'Waiting' and an "Interactive" tab will be available in the job details dialog:

![](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2F3kjYadRw9WKkWMZF1yKr%2FT20S_19_inspect_picks.png?alt=media\&token=c6849fdd-dea7-4261-89b2-273d547788c7)

* Browse through and select from the list of micrographs on the left side.
* The histogram on the left side shows statistics across all pick locations, including false positives and true particles. The y-axis measures the **Power Score**, and the x-axis measures the **Normalized Cross-Correlation (NCC)** Score for each particle pick. True particles generally have high **NCC** scores (indicating agreement in shape with the templates) and a moderate-to-high **Power** score (indicating the presence of significant signal). Picks that have too little power are false positives containing only ice, while picks with very high power are carbon edges, ice crystals, aggregate particles, etc.
* Make adjustments to the parameters below if needed. All adjustments are saved automatically.
  * Adjust the **lowpass filter** slider if needed to better view the picks.
  * Adjust the box size to make it easier to see the location of picks. Often a very small box size (**`32`**) can be helpful.

{% hint style="info" %}
The *box size is not used in computing the outputs* of this job; Inspect Picks only outputs particle *(x, y)* location coordinates.
{% endhint %}

* Adjust the **NCC** slider (approx. **`0.350`**).
* Adjust the **Power threshold** slider. This helps to remove false positives (approx. between 1075 and 1745).
* Once satisfied with the picks, select "**Done Picking! Output Locations!"** button. This completes the *Inspect Particle Picks* job and saves selected particle locations.

![Output result groups of the Inspect Picks job showing the resulting 20 micrographs and 13,436 picked particles](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2F2WjHRZiShls5TElsAUis%2FT20S_20_inspect_picks_output_groups.png?alt=media\&token=627b1a4b-3336-436a-9224-bfb788f5e06f)

## Step 9: Extract from Micrographs (Blob Picks)

This job extracts particles from micrographs, and writes them out to disk for downstream jobs to read.

* Select [***Extract from Micrographs***](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/extraction/job-extract-from-micrographs) (parallelized over multiple GPUs, if you have them available).
* Open the recently-completed Inspect Picks job. Drag and drop both the **micrographs** and **particles** outputs into the corresponding inputs on the Job Builder.
* In the Job Builder, look under the Particle Extraction section and change the **Extraction box size (pix)** to **`440`**.

{% hint style="info" %}
We generally recommend selecting a box size that is at least double the diameter of the particle. The box size controls how much of the micrograph is cropped around each particle location. Larger box sizes capture the most high-resolution signal that is spread out spatially due to the effect of defocus (CTF) in the microscope. However, larger box sizes significantly increase computation expense in further processing. To mitigate this, you can use the [*Downsample Particles* job](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/particle-picking/job-downsample-particles) to speed up processing for jobs that do not require the full spectrum of data such as 2D Classification.
{% endhint %}

![Workspace with the Extract from Micrographs job builder active](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FDRsqLm3SQkKRyjlx1IMr%2FT20S_21_extract_from_micrographs.png?alt=media\&token=0d11345b-4d84-4984-bac0-b99b994d2a3b)

* **Queue** the job.
* Once the job completes, you'll notice the number of resulting particles is less than the input; this is due to the fact that particle extraction process excludes picks that are too close to the edge of the micrograph:

![Output result groups of the Extract from Micrographs job showing the resulting 20 micrographs and 11,781 extracted particles](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FxIZmz08Tr4hDSRlT45nY%2FT20S_22_particle_extraction_output_groups.png?alt=media\&token=69d4c73f-6a80-434e-8592-a2a5c31505ca)

## Step 10: 2D Classification (To Generate Templates for the Template Picker)

[***2D Classification***](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/particle-curation/job-2d-classification) is a commonly used job in cryo-EM processing to get a first look at the data, group particles by 2D view, remove false positive picks, and even to get early insights into potential heterogeneity present in the dataset. In this step, we will use *2D Classification* to group particles by 2D view, and then use the resulting class averages (also referred to as "templates") to improve our particle picking.

* Select [**2D Classification**](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/particle-curation/job-2d-classification) from the Job Builder.
* Drag and drop the **particles** output from the previously completed *Extract from Micrographs*, into the input and queue the job.
* In the stream log, preview images of class averages appear after each iteration. Classification into 50 classes (the default number) takes about 15 minutes on a single GPU.

![Generated 2D classes from extracted blob picks](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2F4DVVn2NVS9DCb4VJzmwO%2FT20S_23_blob_pick_2D_classification.png?alt=media\&token=77188720-8b6a-4d7e-bb7a-5d31d1743949)

* The quality of classes depends on the quality of input particles. While we could use these blob-picked particles directly for 3D Reconstruction, we can obtain better results by *repeating our particle picking* using these templates generated by 2D Classification. Thus, in this tutorial, we will use these classes to inform the *Template Picker* of the shape of our target structure. The next step in this workflow is the *Select 2D Classes* job.

## Step 11: Select 2D Classes (To Select Templates for the Template Picker)

[***Select 2D Classes***](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/particle-curation/interactive-job-select-2d-classes) allows us to select a subset of the generated templates from *2D Classification*, and to reject the rest.

* Select [**Select 2D Classes**](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/particle-curation/interactive-job-select-2d-classes) from the Job Builder.
* Drag and drop both the **particles** and **class\_averages** outputs from the most recently completed *2D Classification* job.
* Queue the job. Once the data is loaded, the job status changes to **Waiting** and Interactive class selection mode is ready.
* Select a "good" class for each distinct view of the structure. In this case, a top view and side view. Use both the number of particles and the provided class resolution score to identify good classes of particles. The interactive job provides several ways to sort the classes in ascending or descending order based on:
  * **# of particles**: The total number of particles in each class
  * **Resolution**: The relative resolution of all particles in the class (Å)
  * **ECA**: Effective classes assigned
* Use the sort and selection controls to quickly sort and filter the class selection. Each class has a right-click context menu that allows for selecting a set of classes above or below a particular criteria.

{% hint style="warning" %}
Avoid selecting classes that contain only a partial particle or a non-particle junk image.
{% endhint %}

![Interactive Select 2D job depicting two classes selected representing primary orientations.](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FgyxCuauD4BXTZPuTonfK%2FT20S_24a_select2d_blob.png?alt=media\&token=c017cc4c-f357-423b-b940-8b5e78fa780c)

* When finished, select **Done** at the top right side of the window. The job completes.

![Event log of the Select 2D job depicting the two classes selected and 48 classes excluded](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FtXspltFEY5Fhu18MWA7l%2FT20S_24_select2d_blob.png?alt=media\&token=039dcc59-9816-4b62-932e-062ef464ebe8)

## Step 12: Template Picker

The [***Template Picker***](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/particle-picking/job-template-picker) operates similarly to the *Blob Picker* but allows for an input set of templates to use to more precisely pick particles that match the shape of the target structure

* Connect the output of the *Select 2D* 'selected classes' into the template input
* Connect the output of the *Patch CTF Estimation* job into the micrographs input
* Set the **Particle diameter (Å)** value to **`190`**
* Queue the job. It should take around 15 seconds to process the dataset.

![Job details dialog depicting the completed Template Picker job with 19,067 particles picked](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FP4gHM0UZhlkeZVc9EEFH%2FT20S_25_template_picker_completed.png?alt=media\&token=380b4430-d43b-466e-b381-68598133cc05)

## Step 13: Inspect Picks (Template Picks)

As with the Blob Picker, use the Inspect picks job to view and interactively adjust the results of template-based automatic particle picking.

* Select ***Inspect Particle Picks*** from the Job Builder.
* Drag and drop both the **particles** and **micrographs** outputs from the previously completed *Template Picker* job. Queue the job.
* Select a NCC score of around **`.350`**
* Select a power score between around **`930`** and **`1990`**

![Job details dialog depicting the completed Inspect Picks job with 12,014 resulting particles](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2F5AdrBLmkjACxNm5lKd21%2FT20S_26_inspect_template_picks_completed.png?alt=media\&token=0224fd5d-f0dc-400f-8fa8-9261d6c3e2f8)

## Step 14: Extract from Micrographs (Template Picks)

We will now repeat the extraction process given the new set of pick locations generated by the latest *Inspect Picks* job.

* Select [***Extract from Micrographs***](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/extraction/job-extract-from-micrographs) (parallelized over multiple GPUs, if you have them available).
* Open the recently-completed *Inspect Picks* job. Drag and drop both the **micrographs** and **particles** outputs into the corresponding inputs on the Job Builder.
* In the Job Builder, look under the Particle Extraction section and change the **Extraction box size (pix)** to **`440`**.

![Output result groups of the Extract from Micrographs job showing the resulting 20 micrographs and 10,947 extracted particles](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FYxUSwS5HBYWD1HRJfDZx%2FT20S_27_particle_extraction_template_output_groups.png?alt=media\&token=090945e1-e094-481b-ae58-9a161ea40176)

## Step 15: 2D Classification (Template Picks)

* Select **2D Classification** from the Job Builder.
* Drag and drop the **particles** output from the previously completed *Extract from Micrographs*, into the input and queue the job.

![Generated 2D classes from extracted template picks](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2Fk3HHKkoqO1mFMeRBcjh2%2FT20S_28_template_pick_2D_classification.png?alt=media\&token=de5db11f-45b9-4e12-ac08-d9dd72f9b594)

* The particles extracted from the template picker result in much higher quality 2D classes. Proceed to the next step to filter out the highest quality classes for 3D reconstruction.

## Step 16: Select 2D Classes

* Select **Select 2D Classes** from the Job Builder.
* Drag and drop both the **particles** and **class\_averages** outputs from the most recently completed *2D Classification* job.
* Once queued and running, switch to the **Interactive** tab and select all of the good quality classes.&#x20;
  * In this case, we want to keep all true particles in our dataset (rather than just selecting one top and one side view, as previously done in step 11), and reject all false positives.
  * The visual quality of a 2D class, together with its resolution, number of particles, and ECA, can all provide proxy measurements of the quality of the underlying particles that comprise the class.
  * Note that clear "junk" classes, corresponding to non-particle images, blurry images, ice crystals, etc., should be rejected at this stage. For example, the following shows one possible selection of 2D classes to retain: 

![Interactive Select 2D job depicting good quality classes selected.](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FCAvQsfxnHgzMsjAfkr8u%2FT20S_29a_select2d_template.png?alt=media\&token=e8facf36-3171-4d4e-bbcf-d9f2d8b536dc)

* Once clicking 'Done', the job will generate outputs for each group of classes and particles, one for the selected set and another for the excluded set:

![12 selected classes and 38 excluded classes.](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2F7QhGQFx7c8bqkuiK396p%2FT20S_29_select2d_template.png?alt=media\&token=a824f9ba-cc48-499d-a61e-76623cfa243d)

## Step 17: Ab-initio Reconstruction

Now that we have a set of good quality particle picks, we can proceed into [*3D Reconstruction*](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/3d-reconstruction)*.*

* Select [***Ab-initio Reconstruction***](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/3d-reconstruction/job-ab-initio-reconstruction) from the Job Builder.
* Drag and drop the **particles\_selected** output from the most recently completed Select 2D classes job (classes selected from the result of the template picker) into the **Particle stacks** input in the Job Builder.
* Note: You **do not** need to enforce symmetry during Ab-initio Reconstruction.
* Queue the job. Results appear in real-time in the stream log as iterations progress. *Ab-initio* reconstruction should resolve the T20S structure to a coarse resolution.

![Event log of the completed Ab-initio Reconstruction job](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FDw30bbnHSHTGI3QXZhS6%2FT20S_30_abinit_completed.png?alt=media\&token=99c77156-1340-47de-a5b3-a2795a226702)

![Ab-initio volume visualized in USCF ChimeraX](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FvoItvtr4YOADZC8fxGTn%2FT20S_abinit_volume_450px.gif?alt=media\&token=9b14157a-113d-421d-b1ed-fee4b452fa2f)

## Step 18: Homogeneous Refinement

Now that we have a coarse resolution 3D density, we can [*refine*](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/3d-refinement) the density to high-resolution using the [***Homogeneous Refinement*** ](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/3d-refinement/job-homogeneous-refinement)job.

* Select *Homogeneous Refinement* from the Job Builder.
* Drag and drop both the **particles\_all\_classes** and **volume\_class\_0** from the recently completed *Ab-initio Reconstruction* into the **Particle Stacks** and **Initial Volume** inputs, respectively.
* Set the following parameter:
  * **Symmetry:** `D7`
* Queue the job. Results appear in real time in the stream log. The refinement job performs a rapid gold-standard refinement using the Expectation Maximization and branch-and-bound algorithms. The job displays the current the resolution, measured via [**Fourier Shell Correlation**](https://en.wikipedia.org/wiki/Fourier_shell_correlation), and other diagnostic information for each iteration.

![Event log of the completed Homogeneous Refinement job](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FoDKLlZbvxPmwqR2vLczU%2FT20S_31_refine_completed.png?alt=media\&token=5590af1f-6b68-4bbc-9b24-667e87ee30fc)

![Gold Standard Fourier Shell Correlation (GSFSC) plot for the final refinement iteration.](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FHXwFOkbsOStp50ugliRE%2FT20S_32_refine_fsc.png?alt=media\&token=f1dea5c6-91da-4eab-9455-bd3008fa7f23)

* Once complete, download the volume and/or mask directly from the **Outputs** section on the right hand side: Select the drop-down to choose the outputs you wish to download. A refinement job outputs a `map_sharp`, the final refined volume with automatic B-factor sharpening applied and filtered to the estimated FSC resolution.

![Within the job details dialog, output groups listed have a download menu with various options.](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FMWtFidjHsrId4rXqyWVo%2FT20S_33_refine_volume_download.png?alt=media\&token=b0560482-9c08-4705-899b-caf99e28825c)

![Refined volume visualized in USCF ChimeraX.](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FKC83okvEeFg73BbM14Dp%2FT20S_refine_volume_450px.gif?alt=media\&token=44a4d33f-52e8-4060-8df4-3dd7629a7397)

## Step 19: Sharpening (Optional)

For optimal results in publications and for model-building, it is often necessary to re-sharpen and adjust the B-factor. This step is optional as Homogeneous Refinement already outputs a sharpened volume (**map\_sharp**) with a B-factor reported within the Guinier plot.

* Sharpen the result of the refinement with the [***Sharpening Tools***](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/post-processing/job-sharpening-tools) from the Utilities section in the Job Builder.
* Drag and drop the **volume** output from the result of the previous refinement job, into the **volume** input.
* Set a B-Factor. Get a good starting B-Factor value from the final **Guinier plot** in the stream log of the refinement job you previously ran. It is recommended to input a B-Factor (as a negative value) ±20 the reported value in the plot. In this case, `-56.7` and `-96.7`
* Activate the **Generate new FSC mask** parameter, which will generate a new mask for the purposes of FSC calculation from the input volume. This is done by thresholding, dilating, and padding the input structure.

![Guinier plot from the final Refinement iteration depicting B-Factor value.](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FqCRgcGiOy2nJHdbKw5zn%2FT20S_32a_bfactor.png?alt=media\&token=165c4f82-b251-4d39-ab8b-70c80ea70ad0)

* Queue the job. Once complete, download the sharpened map (**map\_sharp**) from the output.
* After visually assessing the map, optionally run another sharpening job (clear or clone the existing one) with a different B-Factor.

![Comparison of maps sharpened with different B-factor values. Visualized in ChimeraX.](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FQrHeeEa54kw479Jygd2L%2FT20S_34_sharpen_bfactor_comparison.png?alt=media\&token=647565f3-86b1-4733-8d2a-19e51db8ad6c)

## Step 20: Inspect Workflows

Once you have assembled a workflow of connected jobs within a project, you can switch to the [**Tree View**](https://guide.cryosparc.com/processing-data/user-interface-and-usage-guide/job-relationships) to understand how jobs are connected to obtain the final result. Click the flowchart icon in the top header:

![Tree view of the full T20S processing workflow](https://1916621962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M7DGv3GkRvGGpbVPCgg%2Fuploads%2FOi5OF96RN43Gme9MDHeb%2FT20S_34_tree_view.png?alt=media\&token=2c94a226-f051-41df-b3ab-81d8425d21f8)

Within the Tree View, you can select jobs and modify/connect them in the same way as previously demonstrated in the Card view. For more information on the Tree view and other useful tips, see the [User Interface and Usage Guide](https://guide.cryosparc.com/processing-data/user-interface-and-usage-guide).

## Conclusion

Now that you have refined the data to a high-resolution structure, you can apply more advanced processing techniques. Explore the job builder and other documentation to see the available job types and processing options. Common workflows include:

* [*3D Variability Analysis*](https://guide.cryosparc.com/processing-data/tutorials-and-case-studies/tutorial-3d-variability-analysis-part-one) to explore both discrete and continuous heterogeneity in the dataset
* [*Non-Uniform Refinement*](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/3d-refinement/job-non-uniform-refinement-new) to improve resolutions by accounting for disordered regions and local variations in a structure
* [*Heterogeneous Refinement*](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/3d-refinement/job-heterogeneous-refinement) or [*3D Classification*](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/variability/job-3d-classification) to refine multiple conformations and simultaneously classify particles
  * Sub-classification to identify small, slightly differing populations
* Heterogeneous [*Ab-initio Reconstruction*](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/3d-reconstruction/job-ab-initio-reconstruction) to find multiple unexpected conformational states or multiple distinct particles in the data
* Multiple rounds of [*2D Classification*](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/particle-curation/job-2d-classification) to remove more junk particles
* [*Masked/Local Refinements*](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/local-refinement) to focus on sub-regions of a structure
* Re-pick with multiple higher quality 2D classes
* [*Global*](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/ctf-refinement/job-global-ctf-refinement) (per-exposure-group) or [*Local*](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/ctf-refinement/job-local-ctf-refinement) (per-particle) [*CTF Refinement*](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc/ctf-refinement)

For detailed explanations on all available job types and commonly adjusted parameters, see:&#x20;

{% content-ref url="../processing-data/all-job-types-in-cryosparc" %}
[all-job-types-in-cryosparc](https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc)
{% endcontent-ref %}

{% content-ref url="../processing-data/tutorial-videos" %}
[tutorial-videos](https://guide.cryosparc.com/processing-data/tutorial-videos)
{% endcontent-ref %}

{% content-ref url="../processing-data/tutorials-and-case-studies" %}
[tutorials-and-case-studies](https://guide.cryosparc.com/processing-data/tutorials-and-case-studies)
{% endcontent-ref %}

Check back to see updates to this guide, as new features and algorithms are in constant development within CryoSPARC.
