{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 3D Flex: Custom Latent Trajectory\n", "\n", "```{note}\n", "[Read the tutorial](https://guide.cryosparc.com/processing-data/tutorials-and-case-studies/tutorial-3d-flexible-refinement) to learn more about 3D Flexible Refinement.\n", "```\n", "\n", "This example covers the following:\n", "\n", "* Load particle latent coordinates from a 3D Flex Training job\n", "* Plot the latent coordinates\n", "* Interactively draw a trajectory through the latent space\n", "* Output the trajectory as a new output in CryoSPARC\n", "\n", "The resulting trajectory may be used as input to the 3D Flex Generator job to generate a volume series along the trajectory. In this way, you can visualize specific regions or pathways through the latent conformational distribution of the particle." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Connection succeeded to CryoSPARC command_core at http://cryoem0.sbi:40002\n", "Connection succeeded to CryoSPARC command_vis at http://cryoem0.sbi:40003\n", "Connection succeeded to CryoSPARC command_rtp at http://cryoem0.sbi:40005\n" ] } ], "source": [ "import json\n", "from pathlib import Path\n", "\n", "import numpy as n\n", "\n", "from cryosparc.tools import CryoSPARC\n", "\n", "with open(Path(\"~\", \"instance-info.json\").expanduser(), \"r\") as f:\n", " credentials = json.load(f)\n", "\n", "cs = CryoSPARC(**credentials)\n", "assert cs.test_connection()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Load the particles dataset from the 3D Flex Training job." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | alignments2D/alpha | \n", "alignments2D/alpha_min | \n", "alignments2D/class | \n", "alignments2D/class_ess | \n", "alignments2D/class_posterior | \n", "alignments2D/cross_cor | \n", "alignments2D/error | \n", "alignments2D/error_min | \n", "alignments2D/image_pow | \n", "alignments2D/pose | \n", "... | \n", "pick_stats/power | \n", "pick_stats/template_idx | \n", "sym_expand/helix_num_rises | \n", "sym_expand/helix_rise_A | \n", "sym_expand/helix_twist_rad | \n", "sym_expand/idx | \n", "sym_expand/is_helix | \n", "sym_expand/src_uid | \n", "sym_expand/symmetry | \n", "uid | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "1.0 | \n", "1.067518 | \n", "8 | \n", "1.000261 | \n", "0.999869 | \n", "76.271484 | \n", "9163.180664 | \n", "0.0 | \n", "9203.728516 | \n", "4.744446 | \n", "... | \n", "781.205933 | \n", "3 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0 | \n", "0 | \n", "6947839038024507105 | \n", "C2 | \n", "6947839038024507105 | \n", "
1 | \n", "1.0 | \n", "1.067518 | \n", "8 | \n", "1.000261 | \n", "0.999869 | \n", "76.271484 | \n", "9163.180664 | \n", "0.0 | \n", "9203.728516 | \n", "4.744446 | \n", "... | \n", "781.205933 | \n", "3 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "1 | \n", "0 | \n", "6947839038024507105 | \n", "C2 | \n", "13932325671802011693 | \n", "
2 | \n", "1.0 | \n", "0.868515 | \n", "2 | \n", "1.006742 | \n", "0.996642 | \n", "62.421875 | \n", "8964.066406 | \n", "0.0 | \n", "8990.552734 | \n", "3.205707 | \n", "... | \n", "596.804443 | \n", "3 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0 | \n", "0 | \n", "18174470766076440683 | \n", "C2 | \n", "18174470766076440683 | \n", "
3 | \n", "1.0 | \n", "0.868515 | \n", "2 | \n", "1.006742 | \n", "0.996642 | \n", "62.421875 | \n", "8964.066406 | \n", "0.0 | \n", "8990.552734 | \n", "3.205707 | \n", "... | \n", "596.804443 | \n", "3 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "1 | \n", "0 | \n", "18174470766076440683 | \n", "C2 | \n", "16990665930294442579 | \n", "
4 | \n", "1.0 | \n", "1.158005 | \n", "0 | \n", "1.656703 | \n", "0.749064 | \n", "47.288086 | \n", "8603.187500 | \n", "0.0 | \n", "8630.057617 | \n", "5.385587 | \n", "... | \n", "758.841248 | \n", "3 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0 | \n", "0 | \n", "10868047345897440647 | \n", "C2 | \n", "10868047345897440647 | \n", "
5 | \n", "1.0 | \n", "1.158005 | \n", "0 | \n", "1.656703 | \n", "0.749064 | \n", "47.288086 | \n", "8603.187500 | \n", "0.0 | \n", "8630.057617 | \n", "5.385587 | \n", "... | \n", "758.841248 | \n", "3 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "1 | \n", "0 | \n", "10868047345897440647 | \n", "C2 | \n", "13431911868430011898 | \n", "
6 | \n", "1.0 | \n", "0.992612 | \n", "6 | \n", "1.032084 | \n", "0.984298 | \n", "39.340820 | \n", "8956.469727 | \n", "0.0 | \n", "8975.994141 | \n", "0.000000 | \n", "... | \n", "601.065002 | \n", "3 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0 | \n", "0 | \n", "11087656592019060700 | \n", "C2 | \n", "11087656592019060700 | \n", "
7 | \n", "1.0 | \n", "0.992612 | \n", "6 | \n", "1.032084 | \n", "0.984298 | \n", "39.340820 | \n", "8956.469727 | \n", "0.0 | \n", "8975.994141 | \n", "0.000000 | \n", "... | \n", "601.065002 | \n", "3 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "1 | \n", "0 | \n", "11087656592019060700 | \n", "C2 | \n", "3521966667339501106 | \n", "
8 | \n", "1.0 | \n", "0.992270 | \n", "8 | \n", "1.000796 | \n", "0.999602 | \n", "71.224609 | \n", "8801.692383 | \n", "0.0 | \n", "8837.027344 | \n", "0.128228 | \n", "... | \n", "669.910767 | \n", "3 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "0 | \n", "0 | \n", "10759805808414285613 | \n", "C2 | \n", "10759805808414285613 | \n", "
9 | \n", "1.0 | \n", "0.992270 | \n", "8 | \n", "1.000796 | \n", "0.999602 | \n", "71.224609 | \n", "8801.692383 | \n", "0.0 | \n", "8837.027344 | \n", "0.128228 | \n", "... | \n", "669.910767 | \n", "3 | \n", "0 | \n", "0.0 | \n", "0.0 | \n", "1 | \n", "0 | \n", "10759805808414285613 | \n", "C2 | \n", "2825550586744122481 | \n", "
10 rows × 110 columns
\n", "