{ "cells": [ { "cell_type": "markdown", "id": "06a51779", "metadata": {}, "source": [ "# Centre of mass analysis" ] }, { "cell_type": "markdown", "id": "5b674b4d", "metadata": {}, "source": [ "## Introduction\n", "\n", "In this notebook we aimed to identify the centre-of-mass (COM) of the TCR framework (Fw) regions and the anchors of the CDR loops. We then investigated the amount of movement these regions undergo between *apo* and *holo* states. We also used these COMs to create an axis of the TCR and measure the angle between both chains of the TCR before determining the angle changes between *apo* and *holo* states." ] }, { "cell_type": "code", "execution_count": 1, "id": "c9cd30b7", "metadata": {}, "outputs": [], "source": [ "import os\n", "from collections import defaultdict\n", "\n", "import numpy as np\n", "import pandas as pd\n", "import seaborn as sns\n", "from python_pdb.parsers import parse_pdb_to_pandas\n", "\n", "from tcr_pmhc_interface_analysis.measurements import get_distance\n", "from tcr_pmhc_interface_analysis.processing import annotate_tcr_pmhc_df, find_anchors\n", "from tcr_pmhc_interface_analysis.utils import get_coords" ] }, { "cell_type": "code", "execution_count": 2, "id": "d76c1da6", "metadata": {}, "outputs": [], "source": [ "DATA_DIR = '../data/processed/apo-holo-tcr-pmhc-class-I'" ] }, { "cell_type": "code", "execution_count": 3, "id": "704e7645", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
file_namepdb_idstructure_typestatealpha_chainbeta_chainantigen_chainmhc_chain1mhc_chain2cdr_sequences_collatedpeptide_sequencemhc_slug
01ao7_D-E-C-A-B_tcr_pmhc.pdb1ao7tcr_pmhcholoDECABDRGSQS-IYSNGD-AVTTDSWGKLQ-MNHEY-SVGAGI-ASRPGLA...LLFGYPVYVhla_a_02_01
11b0g_C-A-B_pmhc.pdb1b0gpmhcapoNaNNaNCABNaNALWGFFPVLhla_a_02_01
21b0g_F-D-E_pmhc.pdb1b0gpmhcapoNaNNaNFDENaNALWGFFPVLhla_a_02_01
31bd2_D-E-C-A-B_tcr_pmhc.pdb1bd2tcr_pmhcholoDECABNSMFDY-ISSIKDK-AAMEGAQKLV-MNHEY-SVGAGI-ASSYPGG...LLFGYPVYVhla_a_02_01
41bii_P-A-B_pmhc.pdb1biipmhcapoNaNNaNPABNaNRGPGRAFVTIh2_dd
.......................................
3867rtd_C-A-B_pmhc.pdb7rtdpmhcapoNaNNaNCABNaNYLQPRTFLLhla_a_02_01
3877rtr_D-E-C-A-B_tcr_pmhc.pdb7rtrtcr_pmhcholoDECABDRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQYYLQPRTFLLhla_a_02_01
3888gvb_A-B-P-H-L_tcr_pmhc.pdb8gvbtcr_pmhcholoABPHLYGATPY-YFSGDTLV-AVGFTGGGNKLT-SEHNR-FQNEAQ-ASSD...RYPLTFGWhla_a_24_02
3898gvg_A-B-P-H-L_tcr_pmhc.pdb8gvgtcr_pmhcholoABPHLYGATPY-YFSGDTLV-AVGFTGGGNKLT-SEHNR-FQNEAQ-ASSD...RFPLTFGWhla_a_24_02
3908gvi_A-B-P-H-L_tcr_pmhc.pdb8gvitcr_pmhcholoABPHLYGATPY-YFSGDTLV-AVVFTGGGNKLT-SEHNR-FQNEAQ-ASSL...RYPLTFGWhla_a_24_02
\n", "

391 rows × 12 columns

\n", "
" ], "text/plain": [ " file_name pdb_id structure_type state alpha_chain \\\n", "0 1ao7_D-E-C-A-B_tcr_pmhc.pdb 1ao7 tcr_pmhc holo D \n", "1 1b0g_C-A-B_pmhc.pdb 1b0g pmhc apo NaN \n", "2 1b0g_F-D-E_pmhc.pdb 1b0g pmhc apo NaN \n", "3 1bd2_D-E-C-A-B_tcr_pmhc.pdb 1bd2 tcr_pmhc holo D \n", "4 1bii_P-A-B_pmhc.pdb 1bii pmhc apo NaN \n", ".. ... ... ... ... ... \n", "386 7rtd_C-A-B_pmhc.pdb 7rtd pmhc apo NaN \n", "387 7rtr_D-E-C-A-B_tcr_pmhc.pdb 7rtr tcr_pmhc holo D \n", "388 8gvb_A-B-P-H-L_tcr_pmhc.pdb 8gvb tcr_pmhc holo A \n", "389 8gvg_A-B-P-H-L_tcr_pmhc.pdb 8gvg tcr_pmhc holo A \n", "390 8gvi_A-B-P-H-L_tcr_pmhc.pdb 8gvi tcr_pmhc holo A \n", "\n", " beta_chain antigen_chain mhc_chain1 mhc_chain2 \\\n", "0 E C A B \n", "1 NaN C A B \n", "2 NaN F D E \n", "3 E C A B \n", "4 NaN P A B \n", ".. ... ... ... ... \n", "386 NaN C A B \n", "387 E C A B \n", "388 B P H L \n", "389 B P H L \n", "390 B P H L \n", "\n", " cdr_sequences_collated peptide_sequence \\\n", "0 DRGSQS-IYSNGD-AVTTDSWGKLQ-MNHEY-SVGAGI-ASRPGLA... LLFGYPVYV \n", "1 NaN ALWGFFPVL \n", "2 NaN ALWGFFPVL \n", "3 NSMFDY-ISSIKDK-AAMEGAQKLV-MNHEY-SVGAGI-ASSYPGG... LLFGYPVYV \n", "4 NaN RGPGRAFVTI \n", ".. ... ... \n", "386 NaN YLQPRTFLL \n", "387 DRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQY YLQPRTFLL \n", "388 YGATPY-YFSGDTLV-AVGFTGGGNKLT-SEHNR-FQNEAQ-ASSD... RYPLTFGW \n", "389 YGATPY-YFSGDTLV-AVGFTGGGNKLT-SEHNR-FQNEAQ-ASSD... RFPLTFGW \n", "390 YGATPY-YFSGDTLV-AVVFTGGGNKLT-SEHNR-FQNEAQ-ASSL... RYPLTFGW \n", "\n", " mhc_slug \n", "0 hla_a_02_01 \n", "1 hla_a_02_01 \n", "2 hla_a_02_01 \n", "3 hla_a_02_01 \n", "4 h2_dd \n", ".. ... \n", "386 hla_a_02_01 \n", "387 hla_a_02_01 \n", "388 hla_a_24_02 \n", "389 hla_a_24_02 \n", "390 hla_a_24_02 \n", "\n", "[391 rows x 12 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "apo_holo_summary_df = pd.read_csv(os.path.join(DATA_DIR, 'apo_holo_summary.csv'))\n", "apo_holo_summary_df" ] }, { "cell_type": "code", "execution_count": 4, "id": "14488aea", "metadata": {}, "outputs": [], "source": [ "complexes = [complex_id for complex_id in os.listdir(DATA_DIR)\n", " if os.path.isdir(os.path.join(DATA_DIR, complex_id))]" ] }, { "cell_type": "markdown", "id": "94a8d6dc", "metadata": {}, "source": [ "## Computing Measurements" ] }, { "cell_type": "code", "execution_count": 5, "id": "ffd1261a", "metadata": {}, "outputs": [], "source": [ "def calculate_angle(vec1, vec2):\n", " '''Caculate the angle between two vectors.'''\n", " return np.arccos(np.dot(vec1, vec2) / (np.linalg.norm(vec1) * np.linalg.norm(vec2)))" ] }, { "cell_type": "code", "execution_count": 6, "id": "70346472", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
complex_idstructure_x_pathstructure_y_pathalpha_anchor_com_diffbeta_anchor_com_diffalpha_fw_com_diffbeta_fw_com_diffchain_angle_diff
03qdg_D-E-C-A-B_tcr_pmhc3qdg_D-E-C-A-B_tcr_pmhc.pdb3qeu_A-B_tcr.pdb0.6451200.4573270.2197770.166987-0.033421
13qdg_D-E-C-A-B_tcr_pmhc3qdg_D-E-C-A-B_tcr_pmhc.pdb3qeu_D-E_tcr.pdb0.5270900.3409320.1640260.213055-0.040502
23qdg_D-E-C-A-B_tcr_pmhc3qeu_A-B_tcr.pdb3qeu_D-E_tcr.pdb0.6822500.2841140.3343390.064055-0.007081
35c0a_D-E-C-A-B_tcr_pmhc3utp_D-E_tcr.pdb3utp_K-L_tcr.pdb0.3045340.6028750.2906450.3385090.041175
45c0a_D-E-C-A-B_tcr_pmhc3utp_D-E_tcr.pdb5c0a_D-E-C-A-B_tcr_pmhc.pdb0.2923520.5147810.3344290.2700190.032863
...........................
1315nme_D-E-C-A-B_tcr_pmhc5nmd_C-D_tcr.pdb5nme_D-E-C-A-B_tcr_pmhc.pdb0.2113360.7124330.1132140.1304590.030224
1325hhm_D-E-C-A-B_tcr_pmhc2vlm_D-E_tcr.pdb5hhm_D-E-C-A-B_tcr_pmhc.pdb0.8867940.4108270.4679350.381336-0.115053
1333kpr_D-E-C-A-B_tcr_pmhc1kgc_D-E_tcr.pdb3kpr_D-E-C-A-B_tcr_pmhc.pdb0.9195060.2708850.3837520.151581-0.026228
1341oga_D-E-C-A-B_tcr_pmhc1oga_D-E-C-A-B_tcr_pmhc.pdb2vlm_D-E_tcr.pdb0.9449310.5421100.2918870.3367290.107774
1357rtr_D-E-C-A-B_tcr_pmhc7n1d_A-B_tcr.pdb7rtr_D-E-C-A-B_tcr_pmhc.pdb0.6428090.1886090.3888330.2910800.001583
\n", "

136 rows × 8 columns

\n", "
" ], "text/plain": [ " complex_id structure_x_path \\\n", "0 3qdg_D-E-C-A-B_tcr_pmhc 3qdg_D-E-C-A-B_tcr_pmhc.pdb \n", "1 3qdg_D-E-C-A-B_tcr_pmhc 3qdg_D-E-C-A-B_tcr_pmhc.pdb \n", "2 3qdg_D-E-C-A-B_tcr_pmhc 3qeu_A-B_tcr.pdb \n", "3 5c0a_D-E-C-A-B_tcr_pmhc 3utp_D-E_tcr.pdb \n", "4 5c0a_D-E-C-A-B_tcr_pmhc 3utp_D-E_tcr.pdb \n", ".. ... ... \n", "131 5nme_D-E-C-A-B_tcr_pmhc 5nmd_C-D_tcr.pdb \n", "132 5hhm_D-E-C-A-B_tcr_pmhc 2vlm_D-E_tcr.pdb \n", "133 3kpr_D-E-C-A-B_tcr_pmhc 1kgc_D-E_tcr.pdb \n", "134 1oga_D-E-C-A-B_tcr_pmhc 1oga_D-E-C-A-B_tcr_pmhc.pdb \n", "135 7rtr_D-E-C-A-B_tcr_pmhc 7n1d_A-B_tcr.pdb \n", "\n", " structure_y_path alpha_anchor_com_diff beta_anchor_com_diff \\\n", "0 3qeu_A-B_tcr.pdb 0.645120 0.457327 \n", "1 3qeu_D-E_tcr.pdb 0.527090 0.340932 \n", "2 3qeu_D-E_tcr.pdb 0.682250 0.284114 \n", "3 3utp_K-L_tcr.pdb 0.304534 0.602875 \n", "4 5c0a_D-E-C-A-B_tcr_pmhc.pdb 0.292352 0.514781 \n", ".. ... ... ... \n", "131 5nme_D-E-C-A-B_tcr_pmhc.pdb 0.211336 0.712433 \n", "132 5hhm_D-E-C-A-B_tcr_pmhc.pdb 0.886794 0.410827 \n", "133 3kpr_D-E-C-A-B_tcr_pmhc.pdb 0.919506 0.270885 \n", "134 2vlm_D-E_tcr.pdb 0.944931 0.542110 \n", "135 7rtr_D-E-C-A-B_tcr_pmhc.pdb 0.642809 0.188609 \n", "\n", " alpha_fw_com_diff beta_fw_com_diff chain_angle_diff \n", "0 0.219777 0.166987 -0.033421 \n", "1 0.164026 0.213055 -0.040502 \n", "2 0.334339 0.064055 -0.007081 \n", "3 0.290645 0.338509 0.041175 \n", "4 0.334429 0.270019 0.032863 \n", ".. ... ... ... \n", "131 0.113214 0.130459 0.030224 \n", "132 0.467935 0.381336 -0.115053 \n", "133 0.383752 0.151581 -0.026228 \n", "134 0.291887 0.336729 0.107774 \n", "135 0.388833 0.291080 0.001583 \n", "\n", "[136 rows x 8 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "complex_ids = []\n", "structure_x_paths = []\n", "structure_y_paths = []\n", "\n", "alpha_anchor_com_diffs = []\n", "beta_anchor_com_diffs = []\n", "\n", "alpha_fw_com_diffs = []\n", "beta_fw_com_diffs = []\n", "\n", "chain_angle_diffs = []\n", "\n", "for complex_id in complexes:\n", " complex_path = os.path.join(DATA_DIR, complex_id)\n", " complex_pdb_files = [file_ for file_ in os.listdir(complex_path) if file_.endswith('.pdb')]\n", " complex_summary = apo_holo_summary_df[apo_holo_summary_df['file_name'].isin(complex_pdb_files)]\n", "\n", " comparison_structures = complex_summary.query(\"structure_type == 'tcr' or state == 'holo'\")\n", " comparisons = pd.merge(comparison_structures, comparison_structures, how='cross')\n", " comparisons['comparison'] = comparisons.apply(lambda row: '-'.join(sorted([row.file_name_x, row.file_name_y])),\n", " axis='columns')\n", " comparisons = comparisons.drop_duplicates('comparison')\n", " comparisons = comparisons.drop('comparison', axis='columns')\n", " comparisons = comparisons.query('file_name_x != file_name_y')\n", " \n", " for _, comparison in comparisons.iterrows():\n", " tcrs = []\n", " for suffix in '_x', '_y':\n", " with open(os.path.join(complex_path, comparison['file_name' + suffix]), 'r') as fh:\n", " structure_df = parse_pdb_to_pandas(fh.read())\n", "\n", " chains = comparison.filter(like='chain').filter(regex=f'{suffix}$').replace({np.nan: None}).tolist()\n", " structure_df = annotate_tcr_pmhc_df(structure_df, *chains)\n", "\n", " structure_df['backbone'] = structure_df['atom_name'].map(\n", " lambda atom_name: (atom_name == 'N' or atom_name == 'CA' or atom_name == 'C' or atom_name == 'O')\n", " )\n", " tcr_df = structure_df.query(\"chain_type in ['alpha_chain', 'beta_chain']\").copy().reset_index()\n", "\n", " tcrs.append(tcr_df)\n", "\n", " tcr_x, tcr_y = tcrs\n", "\n", " # Compute C.O.Ms and coordinate vectors\n", " calculations = defaultdict(dict)\n", "\n", " for label, tcr_df in (('x', tcr_x), ('y', tcr_y)):\n", " for chain_type in ('alpha_chain', 'beta_chain'):\n", " anchors_ca = pd.DataFrame()\n", "\n", " for cdr in (1, 2, 3):\n", " cdr_df = tcr_df.query('chain_type == @chain_type and cdr == @cdr')\n", "\n", " for cdr_anchor in find_anchors(cdr_df, tcr_df):\n", " anchors_ca = pd.concat([anchors_ca, cdr_anchor.query(\"atom_name == 'CA'\")])\n", "\n", " fw_ca_df = tcr_df.query(\"cdr.isnull() and residue_seq_id <= 128 and chain_type == @chain_type and atom_name == 'CA'\")\n", "\n", " anchors_com = np.average(get_coords(anchors_ca), axis=0)\n", " fw_com = np.average(get_coords(fw_ca_df), axis=0)\n", "\n", " tcr_chain_direction_vec = fw_com - anchors_com\n", "\n", " calculations[label][chain_type] = {}\n", "\n", " calculations[label][chain_type]['anchors_com'] = anchors_com\n", " calculations[label][chain_type]['fw_com'] = fw_com\n", " calculations[label][chain_type]['direction_vector'] = tcr_chain_direction_vec\n", "\n", " # Calculate differences\n", " chain_anchor_com = []\n", " chain_fw_com = []\n", " for chain_type in ('alpha_chain', 'beta_chain'):\n", " chain_anchor_com.append(get_distance(calculations['x'][chain_type]['anchors_com'],\n", " calculations['y'][chain_type]['anchors_com']))\n", "\n", " chain_fw_com.append(get_distance(calculations['x'][chain_type]['fw_com'],\n", " calculations['y'][chain_type]['fw_com']))\n", "\n", "\n", " angle_x = calculate_angle(calculations['x']['alpha_chain']['direction_vector'],\n", " calculations['x']['beta_chain']['direction_vector'])\n", "\n", " angle_y = calculate_angle(calculations['y']['alpha_chain']['direction_vector'],\n", " calculations['y']['beta_chain']['direction_vector'])\n", "\n", " angle_diff = angle_y - angle_x\n", "\n", " # Collect Data\n", " complex_ids.append(complex_id)\n", " structure_x_paths.append(comparison['file_name_x'])\n", " structure_y_paths.append(comparison['file_name_y'])\n", "\n", " alpha_anchor_com_diffs.append(chain_anchor_com[0])\n", " beta_anchor_com_diffs.append(chain_anchor_com[1])\n", "\n", " alpha_fw_com_diffs.append(chain_fw_com[0])\n", " beta_fw_com_diffs.append(chain_fw_com[1])\n", "\n", " chain_angle_diffs.append(angle_diff)\n", "\n", "results = pd.DataFrame({\n", " 'complex_id': complex_ids,\n", " 'structure_x_path': structure_x_paths,\n", " 'structure_y_path': structure_y_paths,\n", " 'alpha_anchor_com_diff': alpha_anchor_com_diffs,\n", " 'beta_anchor_com_diff': beta_anchor_com_diffs,\n", " 'alpha_fw_com_diff': alpha_fw_com_diffs,\n", " 'beta_fw_com_diff': beta_fw_com_diffs, \n", " 'chain_angle_diff': chain_angle_diffs,\n", "})\n", "results" ] }, { "cell_type": "code", "execution_count": 7, "id": "3b76ad35", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/var/scratch/bmcmaste/2178229/ipykernel_2172418/2116153506.py:1: FutureWarning: The default value of regex will change from True to False in a future version.\n", " apo_holo_summary_df['ids'] = apo_holo_summary_df['file_name'].str.replace('.pdb', '')\n" ] } ], "source": [ "apo_holo_summary_df['ids'] = apo_holo_summary_df['file_name'].str.replace('.pdb', '')" ] }, { "cell_type": "code", "execution_count": 8, "id": "c042482b", "metadata": {}, "outputs": [], "source": [ "results = results.merge(apo_holo_summary_df[['ids', 'cdr_sequences_collated', 'mhc_slug', 'peptide_sequence']],\n", " how='left',\n", " left_on='complex_id', right_on='ids')" ] }, { "cell_type": "code", "execution_count": 9, "id": "4fe67e8c", "metadata": {}, "outputs": [], "source": [ "results = results.merge(\n", " apo_holo_summary_df[['file_name', 'structure_type', 'state']],\n", " how='left',\n", " left_on='structure_x_path', right_on='file_name',\n", ").merge(\n", " apo_holo_summary_df[['file_name', 'structure_type', 'state']],\n", " how='left',\n", " left_on='structure_y_path', right_on='file_name',\n", ")" ] }, { "cell_type": "code", "execution_count": 10, "id": "a54014bf", "metadata": {}, "outputs": [], "source": [ "results['composite_name'] = results.apply(lambda row: '-'.join(sorted([row.structure_x_path, row.structure_y_path])), axis='columns')\n", "results = results.drop_duplicates('composite_name')" ] }, { "cell_type": "code", "execution_count": 11, "id": "2c390ad0", "metadata": {}, "outputs": [], "source": [ "apo_holo_results = results.query('state_x != state_y')" ] }, { "cell_type": "code", "execution_count": 12, "id": "cd899b8b", "metadata": {}, "outputs": [], "source": [ "apo_holo_results_norm = apo_holo_results.groupby('cdr_sequences_collated').agg({\n", " 'alpha_anchor_com_diff': 'mean',\n", " 'beta_anchor_com_diff': 'mean',\n", " 'alpha_fw_com_diff': 'mean',\n", " 'beta_fw_com_diff': 'mean',\n", " 'chain_angle_diff': 'mean',\n", "})" ] }, { "cell_type": "code", "execution_count": 13, "id": "59bcb9a7", "metadata": {}, "outputs": [], "source": [ "apo_holo_results_norm['chain_angle_diff_deg'] = apo_holo_results_norm['chain_angle_diff'].apply(np.degrees)\n", "apo_holo_results_norm['chain_angle_diff_deg_mag'] = apo_holo_results_norm['chain_angle_diff_deg'].apply(np.abs)" ] }, { "cell_type": "code", "execution_count": 14, "id": "8f86b7cc", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
alpha_anchor_com_diffbeta_anchor_com_diffalpha_fw_com_diffbeta_fw_com_diffchain_angle_diffchain_angle_diff_degchain_angle_diff_deg_mag
cdr_sequences_collated
ATGYPS-ATKADDK-ALSDPVNDMR-SGHAT-FQNNGV-ASSLRGRGDQPQH0.1124780.2214070.1317060.140118-0.005545-0.3176970.317697
DRGSQS-IYSNGD-ALTRGPGNQFY-SGHVS-FNYEAQ-ASSSPGGVSTEAF1.6061430.3702791.2938900.279836-0.057826-3.3131943.313194
DRGSQS-IYSNGD-AVNFGGGKLI-MRHNA-SNTAGT-ASSLSFGTEAF0.6260830.3664410.2500950.178326-0.001998-0.1144830.114483
DRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQY0.6246680.2048690.3023080.186851-0.011943-0.6842800.684280
DRGSQS-IYSNGD-AVRTNSGYALN-QGHDT-YYEEEE-ASSDTVSYEQY0.3060390.6154710.1330710.2057780.0247961.4206861.420686
DRGSQS-IYSNGD-AVTTDSWGKLQ-MNHEY-SVGAGI-ASRPGLAGGRPEQY0.3857510.6577470.3003140.3748580.0186301.0674021.067402
DRGSQS-IYSNGD-GTYNQGGKLI-MNHEY-SMNVEV-ASSGASHEQY1.0990420.2941670.2357680.1747270.1038245.9486495.948649
DSAIYN-IQSSQRE-AQLNQAGTALI-MNHEY-SVGAGI-ASSYGTGINYGYT0.5967720.0321900.1843800.213406-0.037547-2.1512582.151258
DSAIYN-IQSSQRE-AVRMDSSYKLI-SEHNR-FQNEAQ-ASSSWDTGELF0.2642650.2485600.1035940.098554-0.009340-0.5351540.535154
DSAIYN-IQSSQRE-AVRPLLDGTYIPT-MNHEY-SVGAGT-ASSYLGNTGELF0.4080070.3941630.4830430.5066590.0447082.5616042.561604
DSAIYN-IQSSQRE-AVRPTSGGSYIPT-MNHEY-SVGAGI-ASSYVGNTGELF0.5240520.4056840.3939720.306927-0.011481-0.6577910.657791
FLGSQS-TYREGD-AVNDGGRLT-GTSNPN-WGPFG-AWSETGLGMGGWQ0.5206220.3858600.2546200.288849-0.009649-0.5528520.552852
NIATNDY-GYKTK-LVGEILDNFNKFY-MDHEN-SYDVKM-ASSQRQEGDTQY0.5708180.2820320.4234550.4148620.0237761.3622371.362237
NSAFDY-ILSVSNK-AASASFGDNSKLI-MSHET-SYDVDS-ASSLGHTEVF0.1249070.4682650.1382900.4010720.0168980.9682050.968205
NSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEKLAKNIQY0.2694490.3731690.2596650.2470230.0276241.5827531.582753
NSASQS-VYSSG-VVQPGGYQKVT-MNHNS-SASEGT-ASSEGLWQVGDEQY0.1949640.2794960.1574530.3559640.0168740.9668190.966819
NSASQS-VYSSG-VVRAGKLI-MNHEY-SVGEGT-ASGQGNFDIQY0.4093810.2498970.2057050.286431-0.055766-3.1951683.195168
SVFSS-VVTGGEV-AGAGSQGNLI-LNHDA-SQIVND-ASSSRSSYEQY1.0037770.5094460.3317270.3341280.0584763.3504413.350441
TISGNEY-GLKNN-IVWGGYQKVT-SEHNR-FQNEAQ-ASRYRDDSYNEQF1.0321541.2821860.4354260.3933990.0667873.8265983.826598
TISGTDY-GLTSN-ILPLAGGTSYGKLT-SGHVS-FQNEAQ-ASSLGQAYEQY0.7133020.1957730.2307700.110227-0.002818-0.1614640.161464
YSATPY-YYSGDPVV-AVSGFASALT-NNHNN-SYGAGS-ASGGGGTLY0.3046940.4604480.0995790.0796690.0063570.3642410.364241
YSGSPE-HISR-ALSGFNNAGNMLT-SGHAT-FQNNGV-ASSLGGAGGADTQY0.7960270.3880250.0430120.0542710.1121686.4267486.426748
\n", "
" ], "text/plain": [ " alpha_anchor_com_diff \\\n", "cdr_sequences_collated \n", "ATGYPS-ATKADDK-ALSDPVNDMR-SGHAT-FQNNGV-ASSLRGRG... 0.112478 \n", "DRGSQS-IYSNGD-ALTRGPGNQFY-SGHVS-FNYEAQ-ASSSPGGV... 1.606143 \n", "DRGSQS-IYSNGD-AVNFGGGKLI-MRHNA-SNTAGT-ASSLSFGTEAF 0.626083 \n", "DRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQY 0.624668 \n", "DRGSQS-IYSNGD-AVRTNSGYALN-QGHDT-YYEEEE-ASSDTVSYEQY 0.306039 \n", "DRGSQS-IYSNGD-AVTTDSWGKLQ-MNHEY-SVGAGI-ASRPGLAG... 0.385751 \n", "DRGSQS-IYSNGD-GTYNQGGKLI-MNHEY-SMNVEV-ASSGASHEQY 1.099042 \n", "DSAIYN-IQSSQRE-AQLNQAGTALI-MNHEY-SVGAGI-ASSYGTG... 0.596772 \n", "DSAIYN-IQSSQRE-AVRMDSSYKLI-SEHNR-FQNEAQ-ASSSWDT... 0.264265 \n", "DSAIYN-IQSSQRE-AVRPLLDGTYIPT-MNHEY-SVGAGT-ASSYL... 0.408007 \n", "DSAIYN-IQSSQRE-AVRPTSGGSYIPT-MNHEY-SVGAGI-ASSYV... 0.524052 \n", "FLGSQS-TYREGD-AVNDGGRLT-GTSNPN-WGPFG-AWSETGLGMGGWQ 0.520622 \n", "NIATNDY-GYKTK-LVGEILDNFNKFY-MDHEN-SYDVKM-ASSQRQ... 0.570818 \n", "NSAFDY-ILSVSNK-AASASFGDNSKLI-MSHET-SYDVDS-ASSLG... 0.124907 \n", "NSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEKL... 0.269449 \n", "NSASQS-VYSSG-VVQPGGYQKVT-MNHNS-SASEGT-ASSEGLWQV... 0.194964 \n", "NSASQS-VYSSG-VVRAGKLI-MNHEY-SVGEGT-ASGQGNFDIQY 0.409381 \n", "SVFSS-VVTGGEV-AGAGSQGNLI-LNHDA-SQIVND-ASSSRSSYEQY 1.003777 \n", "TISGNEY-GLKNN-IVWGGYQKVT-SEHNR-FQNEAQ-ASRYRDDSY... 1.032154 \n", "TISGTDY-GLTSN-ILPLAGGTSYGKLT-SGHVS-FQNEAQ-ASSLG... 0.713302 \n", "YSATPY-YYSGDPVV-AVSGFASALT-NNHNN-SYGAGS-ASGGGGTLY 0.304694 \n", "YSGSPE-HISR-ALSGFNNAGNMLT-SGHAT-FQNNGV-ASSLGGAG... 0.796027 \n", "\n", " beta_anchor_com_diff \\\n", "cdr_sequences_collated \n", "ATGYPS-ATKADDK-ALSDPVNDMR-SGHAT-FQNNGV-ASSLRGRG... 0.221407 \n", "DRGSQS-IYSNGD-ALTRGPGNQFY-SGHVS-FNYEAQ-ASSSPGGV... 0.370279 \n", "DRGSQS-IYSNGD-AVNFGGGKLI-MRHNA-SNTAGT-ASSLSFGTEAF 0.366441 \n", "DRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQY 0.204869 \n", "DRGSQS-IYSNGD-AVRTNSGYALN-QGHDT-YYEEEE-ASSDTVSYEQY 0.615471 \n", "DRGSQS-IYSNGD-AVTTDSWGKLQ-MNHEY-SVGAGI-ASRPGLAG... 0.657747 \n", "DRGSQS-IYSNGD-GTYNQGGKLI-MNHEY-SMNVEV-ASSGASHEQY 0.294167 \n", "DSAIYN-IQSSQRE-AQLNQAGTALI-MNHEY-SVGAGI-ASSYGTG... 0.032190 \n", "DSAIYN-IQSSQRE-AVRMDSSYKLI-SEHNR-FQNEAQ-ASSSWDT... 0.248560 \n", "DSAIYN-IQSSQRE-AVRPLLDGTYIPT-MNHEY-SVGAGT-ASSYL... 0.394163 \n", "DSAIYN-IQSSQRE-AVRPTSGGSYIPT-MNHEY-SVGAGI-ASSYV... 0.405684 \n", "FLGSQS-TYREGD-AVNDGGRLT-GTSNPN-WGPFG-AWSETGLGMGGWQ 0.385860 \n", "NIATNDY-GYKTK-LVGEILDNFNKFY-MDHEN-SYDVKM-ASSQRQ... 0.282032 \n", "NSAFDY-ILSVSNK-AASASFGDNSKLI-MSHET-SYDVDS-ASSLG... 0.468265 \n", "NSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEKL... 0.373169 \n", "NSASQS-VYSSG-VVQPGGYQKVT-MNHNS-SASEGT-ASSEGLWQV... 0.279496 \n", "NSASQS-VYSSG-VVRAGKLI-MNHEY-SVGEGT-ASGQGNFDIQY 0.249897 \n", "SVFSS-VVTGGEV-AGAGSQGNLI-LNHDA-SQIVND-ASSSRSSYEQY 0.509446 \n", "TISGNEY-GLKNN-IVWGGYQKVT-SEHNR-FQNEAQ-ASRYRDDSY... 1.282186 \n", "TISGTDY-GLTSN-ILPLAGGTSYGKLT-SGHVS-FQNEAQ-ASSLG... 0.195773 \n", "YSATPY-YYSGDPVV-AVSGFASALT-NNHNN-SYGAGS-ASGGGGTLY 0.460448 \n", "YSGSPE-HISR-ALSGFNNAGNMLT-SGHAT-FQNNGV-ASSLGGAG... 0.388025 \n", "\n", " alpha_fw_com_diff \\\n", "cdr_sequences_collated \n", "ATGYPS-ATKADDK-ALSDPVNDMR-SGHAT-FQNNGV-ASSLRGRG... 0.131706 \n", "DRGSQS-IYSNGD-ALTRGPGNQFY-SGHVS-FNYEAQ-ASSSPGGV... 1.293890 \n", "DRGSQS-IYSNGD-AVNFGGGKLI-MRHNA-SNTAGT-ASSLSFGTEAF 0.250095 \n", "DRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQY 0.302308 \n", "DRGSQS-IYSNGD-AVRTNSGYALN-QGHDT-YYEEEE-ASSDTVSYEQY 0.133071 \n", "DRGSQS-IYSNGD-AVTTDSWGKLQ-MNHEY-SVGAGI-ASRPGLAG... 0.300314 \n", "DRGSQS-IYSNGD-GTYNQGGKLI-MNHEY-SMNVEV-ASSGASHEQY 0.235768 \n", "DSAIYN-IQSSQRE-AQLNQAGTALI-MNHEY-SVGAGI-ASSYGTG... 0.184380 \n", "DSAIYN-IQSSQRE-AVRMDSSYKLI-SEHNR-FQNEAQ-ASSSWDT... 0.103594 \n", "DSAIYN-IQSSQRE-AVRPLLDGTYIPT-MNHEY-SVGAGT-ASSYL... 0.483043 \n", "DSAIYN-IQSSQRE-AVRPTSGGSYIPT-MNHEY-SVGAGI-ASSYV... 0.393972 \n", "FLGSQS-TYREGD-AVNDGGRLT-GTSNPN-WGPFG-AWSETGLGMGGWQ 0.254620 \n", "NIATNDY-GYKTK-LVGEILDNFNKFY-MDHEN-SYDVKM-ASSQRQ... 0.423455 \n", "NSAFDY-ILSVSNK-AASASFGDNSKLI-MSHET-SYDVDS-ASSLG... 0.138290 \n", "NSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEKL... 0.259665 \n", "NSASQS-VYSSG-VVQPGGYQKVT-MNHNS-SASEGT-ASSEGLWQV... 0.157453 \n", "NSASQS-VYSSG-VVRAGKLI-MNHEY-SVGEGT-ASGQGNFDIQY 0.205705 \n", "SVFSS-VVTGGEV-AGAGSQGNLI-LNHDA-SQIVND-ASSSRSSYEQY 0.331727 \n", "TISGNEY-GLKNN-IVWGGYQKVT-SEHNR-FQNEAQ-ASRYRDDSY... 0.435426 \n", "TISGTDY-GLTSN-ILPLAGGTSYGKLT-SGHVS-FQNEAQ-ASSLG... 0.230770 \n", "YSATPY-YYSGDPVV-AVSGFASALT-NNHNN-SYGAGS-ASGGGGTLY 0.099579 \n", "YSGSPE-HISR-ALSGFNNAGNMLT-SGHAT-FQNNGV-ASSLGGAG... 0.043012 \n", "\n", " beta_fw_com_diff \\\n", "cdr_sequences_collated \n", "ATGYPS-ATKADDK-ALSDPVNDMR-SGHAT-FQNNGV-ASSLRGRG... 0.140118 \n", "DRGSQS-IYSNGD-ALTRGPGNQFY-SGHVS-FNYEAQ-ASSSPGGV... 0.279836 \n", "DRGSQS-IYSNGD-AVNFGGGKLI-MRHNA-SNTAGT-ASSLSFGTEAF 0.178326 \n", "DRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQY 0.186851 \n", "DRGSQS-IYSNGD-AVRTNSGYALN-QGHDT-YYEEEE-ASSDTVSYEQY 0.205778 \n", "DRGSQS-IYSNGD-AVTTDSWGKLQ-MNHEY-SVGAGI-ASRPGLAG... 0.374858 \n", "DRGSQS-IYSNGD-GTYNQGGKLI-MNHEY-SMNVEV-ASSGASHEQY 0.174727 \n", "DSAIYN-IQSSQRE-AQLNQAGTALI-MNHEY-SVGAGI-ASSYGTG... 0.213406 \n", "DSAIYN-IQSSQRE-AVRMDSSYKLI-SEHNR-FQNEAQ-ASSSWDT... 0.098554 \n", "DSAIYN-IQSSQRE-AVRPLLDGTYIPT-MNHEY-SVGAGT-ASSYL... 0.506659 \n", "DSAIYN-IQSSQRE-AVRPTSGGSYIPT-MNHEY-SVGAGI-ASSYV... 0.306927 \n", "FLGSQS-TYREGD-AVNDGGRLT-GTSNPN-WGPFG-AWSETGLGMGGWQ 0.288849 \n", "NIATNDY-GYKTK-LVGEILDNFNKFY-MDHEN-SYDVKM-ASSQRQ... 0.414862 \n", "NSAFDY-ILSVSNK-AASASFGDNSKLI-MSHET-SYDVDS-ASSLG... 0.401072 \n", "NSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEKL... 0.247023 \n", "NSASQS-VYSSG-VVQPGGYQKVT-MNHNS-SASEGT-ASSEGLWQV... 0.355964 \n", "NSASQS-VYSSG-VVRAGKLI-MNHEY-SVGEGT-ASGQGNFDIQY 0.286431 \n", "SVFSS-VVTGGEV-AGAGSQGNLI-LNHDA-SQIVND-ASSSRSSYEQY 0.334128 \n", "TISGNEY-GLKNN-IVWGGYQKVT-SEHNR-FQNEAQ-ASRYRDDSY... 0.393399 \n", "TISGTDY-GLTSN-ILPLAGGTSYGKLT-SGHVS-FQNEAQ-ASSLG... 0.110227 \n", "YSATPY-YYSGDPVV-AVSGFASALT-NNHNN-SYGAGS-ASGGGGTLY 0.079669 \n", "YSGSPE-HISR-ALSGFNNAGNMLT-SGHAT-FQNNGV-ASSLGGAG... 0.054271 \n", "\n", " chain_angle_diff \\\n", "cdr_sequences_collated \n", "ATGYPS-ATKADDK-ALSDPVNDMR-SGHAT-FQNNGV-ASSLRGRG... -0.005545 \n", "DRGSQS-IYSNGD-ALTRGPGNQFY-SGHVS-FNYEAQ-ASSSPGGV... -0.057826 \n", "DRGSQS-IYSNGD-AVNFGGGKLI-MRHNA-SNTAGT-ASSLSFGTEAF -0.001998 \n", "DRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQY -0.011943 \n", "DRGSQS-IYSNGD-AVRTNSGYALN-QGHDT-YYEEEE-ASSDTVSYEQY 0.024796 \n", "DRGSQS-IYSNGD-AVTTDSWGKLQ-MNHEY-SVGAGI-ASRPGLAG... 0.018630 \n", "DRGSQS-IYSNGD-GTYNQGGKLI-MNHEY-SMNVEV-ASSGASHEQY 0.103824 \n", "DSAIYN-IQSSQRE-AQLNQAGTALI-MNHEY-SVGAGI-ASSYGTG... -0.037547 \n", "DSAIYN-IQSSQRE-AVRMDSSYKLI-SEHNR-FQNEAQ-ASSSWDT... -0.009340 \n", "DSAIYN-IQSSQRE-AVRPLLDGTYIPT-MNHEY-SVGAGT-ASSYL... 0.044708 \n", "DSAIYN-IQSSQRE-AVRPTSGGSYIPT-MNHEY-SVGAGI-ASSYV... -0.011481 \n", "FLGSQS-TYREGD-AVNDGGRLT-GTSNPN-WGPFG-AWSETGLGMGGWQ -0.009649 \n", "NIATNDY-GYKTK-LVGEILDNFNKFY-MDHEN-SYDVKM-ASSQRQ... 0.023776 \n", "NSAFDY-ILSVSNK-AASASFGDNSKLI-MSHET-SYDVDS-ASSLG... 0.016898 \n", "NSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEKL... 0.027624 \n", "NSASQS-VYSSG-VVQPGGYQKVT-MNHNS-SASEGT-ASSEGLWQV... 0.016874 \n", "NSASQS-VYSSG-VVRAGKLI-MNHEY-SVGEGT-ASGQGNFDIQY -0.055766 \n", "SVFSS-VVTGGEV-AGAGSQGNLI-LNHDA-SQIVND-ASSSRSSYEQY 0.058476 \n", "TISGNEY-GLKNN-IVWGGYQKVT-SEHNR-FQNEAQ-ASRYRDDSY... 0.066787 \n", "TISGTDY-GLTSN-ILPLAGGTSYGKLT-SGHVS-FQNEAQ-ASSLG... -0.002818 \n", "YSATPY-YYSGDPVV-AVSGFASALT-NNHNN-SYGAGS-ASGGGGTLY 0.006357 \n", "YSGSPE-HISR-ALSGFNNAGNMLT-SGHAT-FQNNGV-ASSLGGAG... 0.112168 \n", "\n", " chain_angle_diff_deg \\\n", "cdr_sequences_collated \n", "ATGYPS-ATKADDK-ALSDPVNDMR-SGHAT-FQNNGV-ASSLRGRG... -0.317697 \n", "DRGSQS-IYSNGD-ALTRGPGNQFY-SGHVS-FNYEAQ-ASSSPGGV... -3.313194 \n", "DRGSQS-IYSNGD-AVNFGGGKLI-MRHNA-SNTAGT-ASSLSFGTEAF -0.114483 \n", "DRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQY -0.684280 \n", "DRGSQS-IYSNGD-AVRTNSGYALN-QGHDT-YYEEEE-ASSDTVSYEQY 1.420686 \n", "DRGSQS-IYSNGD-AVTTDSWGKLQ-MNHEY-SVGAGI-ASRPGLAG... 1.067402 \n", "DRGSQS-IYSNGD-GTYNQGGKLI-MNHEY-SMNVEV-ASSGASHEQY 5.948649 \n", "DSAIYN-IQSSQRE-AQLNQAGTALI-MNHEY-SVGAGI-ASSYGTG... -2.151258 \n", "DSAIYN-IQSSQRE-AVRMDSSYKLI-SEHNR-FQNEAQ-ASSSWDT... -0.535154 \n", "DSAIYN-IQSSQRE-AVRPLLDGTYIPT-MNHEY-SVGAGT-ASSYL... 2.561604 \n", "DSAIYN-IQSSQRE-AVRPTSGGSYIPT-MNHEY-SVGAGI-ASSYV... -0.657791 \n", "FLGSQS-TYREGD-AVNDGGRLT-GTSNPN-WGPFG-AWSETGLGMGGWQ -0.552852 \n", "NIATNDY-GYKTK-LVGEILDNFNKFY-MDHEN-SYDVKM-ASSQRQ... 1.362237 \n", "NSAFDY-ILSVSNK-AASASFGDNSKLI-MSHET-SYDVDS-ASSLG... 0.968205 \n", "NSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEKL... 1.582753 \n", "NSASQS-VYSSG-VVQPGGYQKVT-MNHNS-SASEGT-ASSEGLWQV... 0.966819 \n", "NSASQS-VYSSG-VVRAGKLI-MNHEY-SVGEGT-ASGQGNFDIQY -3.195168 \n", "SVFSS-VVTGGEV-AGAGSQGNLI-LNHDA-SQIVND-ASSSRSSYEQY 3.350441 \n", "TISGNEY-GLKNN-IVWGGYQKVT-SEHNR-FQNEAQ-ASRYRDDSY... 3.826598 \n", "TISGTDY-GLTSN-ILPLAGGTSYGKLT-SGHVS-FQNEAQ-ASSLG... -0.161464 \n", "YSATPY-YYSGDPVV-AVSGFASALT-NNHNN-SYGAGS-ASGGGGTLY 0.364241 \n", "YSGSPE-HISR-ALSGFNNAGNMLT-SGHAT-FQNNGV-ASSLGGAG... 6.426748 \n", "\n", " chain_angle_diff_deg_mag \n", "cdr_sequences_collated \n", "ATGYPS-ATKADDK-ALSDPVNDMR-SGHAT-FQNNGV-ASSLRGRG... 0.317697 \n", "DRGSQS-IYSNGD-ALTRGPGNQFY-SGHVS-FNYEAQ-ASSSPGGV... 3.313194 \n", "DRGSQS-IYSNGD-AVNFGGGKLI-MRHNA-SNTAGT-ASSLSFGTEAF 0.114483 \n", "DRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQY 0.684280 \n", "DRGSQS-IYSNGD-AVRTNSGYALN-QGHDT-YYEEEE-ASSDTVSYEQY 1.420686 \n", "DRGSQS-IYSNGD-AVTTDSWGKLQ-MNHEY-SVGAGI-ASRPGLAG... 1.067402 \n", "DRGSQS-IYSNGD-GTYNQGGKLI-MNHEY-SMNVEV-ASSGASHEQY 5.948649 \n", "DSAIYN-IQSSQRE-AQLNQAGTALI-MNHEY-SVGAGI-ASSYGTG... 2.151258 \n", "DSAIYN-IQSSQRE-AVRMDSSYKLI-SEHNR-FQNEAQ-ASSSWDT... 0.535154 \n", "DSAIYN-IQSSQRE-AVRPLLDGTYIPT-MNHEY-SVGAGT-ASSYL... 2.561604 \n", "DSAIYN-IQSSQRE-AVRPTSGGSYIPT-MNHEY-SVGAGI-ASSYV... 0.657791 \n", "FLGSQS-TYREGD-AVNDGGRLT-GTSNPN-WGPFG-AWSETGLGMGGWQ 0.552852 \n", "NIATNDY-GYKTK-LVGEILDNFNKFY-MDHEN-SYDVKM-ASSQRQ... 1.362237 \n", "NSAFDY-ILSVSNK-AASASFGDNSKLI-MSHET-SYDVDS-ASSLG... 0.968205 \n", "NSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEKL... 1.582753 \n", "NSASQS-VYSSG-VVQPGGYQKVT-MNHNS-SASEGT-ASSEGLWQV... 0.966819 \n", "NSASQS-VYSSG-VVRAGKLI-MNHEY-SVGEGT-ASGQGNFDIQY 3.195168 \n", "SVFSS-VVTGGEV-AGAGSQGNLI-LNHDA-SQIVND-ASSSRSSYEQY 3.350441 \n", "TISGNEY-GLKNN-IVWGGYQKVT-SEHNR-FQNEAQ-ASRYRDDSY... 3.826598 \n", "TISGTDY-GLTSN-ILPLAGGTSYGKLT-SGHVS-FQNEAQ-ASSLG... 0.161464 \n", "YSATPY-YYSGDPVV-AVSGFASALT-NNHNN-SYGAGS-ASGGGGTLY 0.364241 \n", "YSGSPE-HISR-ALSGFNNAGNMLT-SGHAT-FQNNGV-ASSLGGAG... 6.426748 " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "apo_holo_results_norm" ] }, { "cell_type": "markdown", "id": "4ca1f98b", "metadata": {}, "source": [ "## Visualizing Results" ] }, { "cell_type": "markdown", "id": "9bffd877", "metadata": {}, "source": [ "### Changes in Framework (Fw) region and Loop Anchor Centre of Masses (COM)" ] }, { "cell_type": "code", "execution_count": 15, "id": "130878c7", "metadata": {}, "outputs": [], "source": [ "coms = apo_holo_results_norm.melt(value_vars=['alpha_anchor_com_diff', 'beta_anchor_com_diff', 'alpha_fw_com_diff', 'beta_fw_com_diff'],\n", " var_name='location',\n", " value_name='com_diff')\n", "\n", "coms['chain_type'] = coms['location'].map(lambda location: location.split('_')[0])\n", "coms['location'] = coms['location'].map(lambda location: location.split('_')[1])" ] }, { "cell_type": "code", "execution_count": 16, "id": "a31438ae", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGwCAYAAABVdURTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+IUlEQVR4nO3de1yUdf7//+eAMIDKICon5WSJaR7TNLIUy2IrWW0PuWp5qPRj5q5GdiAPZKm0lWb20QzN7GDpVnbY9EsHSl2NMg+kpXlE8VOAmjkIKihz/f7ox+yyonG+ZobH/XabW8z7er+v63WN6Ty5rvd1XRbDMAwBAAB4CC+zCwAAAKhLhBsAAOBRCDcAAMCjEG4AAIBHIdwAAACPQrgBAAAehXADAAA8ShOzCzCDw+HQTz/9pObNm8tisZhdDgAAqALDMHTq1ClFRETIy+vix2caZbj56aefFBkZaXYZAACgBo4cOaK2bdtedHmjDDfNmzeX9OuHExgYaHI1AACgKgoLCxUZGen8Hr+YRhluyk9FBQYGEm4AAHAzvzWlhAnFAADAoxBuAACARyHcAAAAj9Io59wAAFBbZWVlOnfunNlleBQfHx95e3vXej2EGwAAqsEwDOXn5+vkyZNml+KRgoKCFBYWVqv70BFuAACohvJgExISooCAAG4GW0cMw9Dp06d19OhRSVJ4eHiN10W4AQCgisrKypzBpmXLlmaX43H8/f0lSUePHlVISEiNT1ExoRgAgCoqn2MTEBBgciWeq/yzrc18JsINAADVxKmo+lMXny2npVCpsrIy7dixQydOnFBwcLC6du1aJzPYAQCob4QbXGDDhg1atGiR8vPznW1hYWGaMGGC+vXrZ2JlAAD8Nk5LoYINGzYoNTVV7dq108KFC7V27VotXLhQ7dq1U2pqqjZs2GB2iQDglg4dOiSLxaLs7OxarSchIUGTJ0+uk5o8lanhZsOGDUpKSlJERIQsFovef//93xxTUlKiqVOnKjo6WlarVTExMVq2bFn9F9sIlJWVadGiRYqPj9esWbN05ZVXKiAgQFdeeaVmzZql+Ph4vfjiiyorKzO7VABotFavXq0nn3yyTtZVV4HL1ZgaboqLi9WtWzctXLiwymPuuOMOZWZm6uWXX9aePXv01ltvqUOHDvVYZeOxY8cO5efna8SIEfLyqvi/hpeXl0aMGKG8vDzt2LHDpAoBAMHBwWrevLnZZbg0U8PNLbfcolmzZun222+vUv+MjAytX79ea9eu1cCBAxUTE6P4+Hj17dv3kuNKSkpUWFhY4YULnThxQpIUGxtb6fLy9vJ+AIALORwOPf3007r88stltVoVFRWl2bNnO5cfPHhQAwYMUEBAgLp166asrCznsp9//lnDhg1TmzZtFBAQoC5duuitt96qsP7/Pi0VExOjOXPm6O6771bz5s0VFRWl9PT0KtVa/u96jx49ZLFYlJCQoA0bNsjHx6fCvEtJmjx5sq6//npJ0vLlyxUUFKT3339f7du3l5+fnxITE3XkyJEKYz744ANdddVV8vPzU7t27TRz5kydP3++SrXVhlvNufnwww/Vq1cvPf3002rTpo3i4uI0ZcoUnTlz5pLj0tLSZLPZnK/IyMgGqti9BAcHS5JycnIqXV7eXt4PAHChlJQUPfXUU5o+fbp27dqlN998U6Ghoc7lU6dO1ZQpU5Sdna24uDgNGzbM+YV/9uxZ9ezZU2vWrNF3332ncePG6a677tLmzZsvuc25c+eqV69e2r59uyZMmKD77rtPe/bs+c1ay9f72WefKS8vT6tXr1a/fv3Url07vf76685+586d04oVK3T33Xc7206fPq3Zs2frtdde06ZNm3Ty5En95S9/cS7/17/+pZEjR2rSpEnatWuXXnrpJS1fvrxC0Ks3houQZLz33nuX7JOYmGhYrVbjtttuM77++mtjzZo1RnR0tDF69OhLjjt79qxht9udryNHjhiSDLvdXod74P7Onz9vDB061EhJSTHKysoqLCsrKzNSUlKMv/zlL8b58+dNqhAAzHXmzBlj165dxpkzZypdXlhYaFitVmPJkiUXLMvJyTEkGUuXLnW2ff/994YkY/fu3Rfd5m233WY8+OCDzvf9+/c3Jk2a5HwfHR1t3Hnnnc73DofDCAkJMV588cXf3J/ymrZv316h/e9//7vRsWNH5/t3333XaNasmVFUVGQYhmG88sorhiTjq6++cvbZvXu3Icn4+uuvDcMwjBtvvNGYM2dOhfW+/vrrRnh4+CVrutRnbLfbq/T97VZHbhwOhywWi1asWKHevXvr1ltv1bx58/Tqq69e8uiN1WpVYGBghRcu5O3trQkTJigrK0vTpk3T999/r9OnT+v777/XtGnTlJWVpfvuu4/73QDARezevVslJSW68cYbL9qna9euzp/Ln59U/jylsrIyPfnkk+rSpYuCg4PVrFkzffzxx8rNzb3kdv9znRaLRWFhYc511sTo0aO1f/9+ffXVV5J+PQ11xx13qGnTps4+TZo00dVXX+18f8UVVygoKEi7d++WJH377bd64okn1KxZM+dr7NixysvL0+nTp2tcW1W41X1uwsPD1aZNG9lsNmdbx44dZRiG/u///k/t27c3sTrP0K9fP82cOVOLFi3S/fff72wPDw/XzJkzuc8NAFxC+bORLsXHx8f5c/ndeB0OhyTpmWee0fPPP6/58+erS5cuatq0qSZPnqzS0tIqr7N8veXrrImQkBAlJSXplVdeUWxsrP7f//t/WrduXbXWUVRUpJkzZ+oPf/jDBcv8/PxqXFtVuFW46du3r95++20VFRWpWbNmkqS9e/fKy8tLbdu2Nbk6z9GvXz/17duXOxQDQDW1b99e/v7+yszM1L333lvt8Zs2bdLgwYN15513Svo19Ozdu1edOnWq61IlSb6+vpJU6S0+7r33Xg0bNkxt27bVZZdddsHFO+fPn9eWLVvUu3dvSdKePXt08uRJdezYUZJ01VVXac+ePbr88svrpfZLMTXcFBUVaf/+/c73OTk5ys7OVnBwsKKiopSSkqIff/xRr732miRp+PDhevLJJzVmzBjNnDlTx48f10MPPaS77767SmkZVeft7a0ePXqYXQYAuBU/Pz898sgjevjhh+Xr66u+ffvq2LFj+v777y95qqpc+/bt9c477+jLL79UixYtNG/ePBUUFNRbuAkJCZG/v78yMjLUtm1b+fn5Oc+OJCYmKjAwULNmzdITTzxxwVgfHx/99a9/1YIFC9SkSRNNnDhR11xzjTPszJgxQ4MGDVJUVJT+9Kc/ycvLS99++62+++47zZo1q172p5ypc262bNmiHj16OL9Ek5OT1aNHD82YMUOSlJeXV+E8Y7NmzfTpp5/q5MmT6tWrl0aMGKGkpCQtWLDAlPoBAPhv06dP14MPPqgZM2aoY8eOGjp0aJXnv0ybNk1XXXWVEhMTlZCQoLCwMA0ZMqTeam3SpIkWLFigl156SRERERo8eLBzmZeXl0aPHq2ysjKNHDnygrEBAQF65JFHNHz4cPXt21fNmjXTqlWrnMsTExP10Ucf6ZNPPtHVV1+ta665Rs8995yio6PrbX/KWQzDMOp9Ky6msLBQNptNdrudycUAgCo7e/ascnJyFBsbW+/zRlzBPffco2PHjunDDz+s0L58+XJNnjxZJ0+erPNtXuozrur3t1vNuQEAAPXPbrdr586devPNNy8INu7ArS4FBwAAVTdnzpwKl2L/5+uWW2656LjBgwfr5ptv1vjx43XTTTc1YMV1g9NSnJYCAFSRu52WOnHixEUfmePv7682bdo0cEW/jdNSAADgooKDgxvlI3M4LQUAADwK4QYAAHgUwg0AAPAohBsAAOBRmFAMAEAtFRQUyG63N9j2bDabQkNDG2x77oZwAwBALRQUFOjOu0bqXGlJg23Tx9eqN15/rc4CzqFDhxQbG6vt27ere/fuVRpTn3cpri3CDQAAtWC323WutERn2vWXw89W79vzOmuXDq6X3W7n6M1FEG4AAKgDDj+bHE1bmV0GxIRiAAAahYyMDF133XUKCgpSy5YtNWjQIB04cKDSvuvWrZPFYtGaNWvUtWtX+fn56ZprrtF33313Qd+PP/5YHTt2VLNmzfS73/1OeXl5zmXffPONbrrpJrVq1Uo2m039+/fXtm3b6m0fyxFuAABoBIqLi5WcnKwtW7YoMzNTXl5euv322+VwOC465qGHHtLcuXP1zTffqHXr1kpKStK5c+ecy0+fPq1nn31Wr7/+ujZs2KDc3FxNmTLFufzUqVMaNWqUNm7cqK+++krt27fXrbfeqlOnTtXrvnJaCgCARuCPf/xjhffLli1T69attWvXLjVr1qzSMampqc4HZ7766qtq27at3nvvPd1xxx2SpHPnzmnx4sW67LLLJEkTJ07UE0884Rx/ww03VFhfenq6goKCtH79eg0aNKjO9u2/ceQGAIBGYN++fRo2bJjatWunwMBAxcTESJJyc3MvOiY+Pt75c3BwsDp06KDdu3c72wICApzBRpLCw8N19OhR5/uCggKNHTtW7du3l81mU2BgoIqKii65zbrAkRsAABqBpKQkRUdHa8mSJYqIiJDD4VDnzp1VWlpa43X6+PhUeG+xWGQYhvP9qFGj9PPPP+v5559XdHS0rFar4uPja7XNqiDcAADg4X7++Wft2bNHS5Ys0fXXXy9J2rhx42+O++qrrxQVFSVJ+uWXX7R371517NixytvdtGmTFi1apFtvvVWSdOTIER0/frwGe1A9hBsAAOqA19mG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vRUFAABQU1UONy+88IKKiookSQMGDNCJEyfqrSgAAICaqvLVUjExMVqwYIFuvvlmGYahrKwstWjRotK+/fr1q7MCAQAAqqPK4eaZZ57R+PHjlZaWJovFottvv73SfhaLRWVlZXVWIAAAQHVUOdwMGTJEQ4YMUVFRkQIDA7Vnzx6FhITUZ20AAADVVu0Jxc2aNdMXX3yh2NhY2Wy2Sl8AAABmqdGE4htuuIEJxQAAwCUxoRgAAHgUJhQDAACPwoRiAADgUar9VPD/nFDcpImpDxUHAAC4QJXTSWFhoQIDAyVJPXr00OnTpy/at7wfAABAQ6tyuGnRooXy8vIUEhKioKAgWSyWC/oYhsGcGwAAYKoqh5vPP/9cwcHBkqQvvvii3goCAACojSqHm/79+1f6MwAAgCupcrjZsWNHlVfatWvXGhUDAABQW1UON927d5fFYnHOq7kU5twAAACzVPnxCzk5OTp48KBycnL07rvvKjY2VosWLdL27du1fft2LVq0SJdddpnefffd+qwXAADgkqp85CY6Otr585///GctWLBAt956q7Ota9euioyM1PTp0zVkyJA6LRIAAKCqqnzk5j/t3LlTsbGxF7THxsZq165dtS4KAACgpmoUbjp27Ki0tDSVlpY620pLS5WWlqaOHTvWWXEAAADVVaPnJyxevFhJSUlq27at88qoHTt2yGKx6J///GedFggAAFAdNQo3vXv31sGDB7VixQr98MMPkqShQ4dq+PDhatq0aZ0WCAAAUB01fvJl06ZNNW7cuEv2ue2227R06VKFh4fXdDMAAADVUqM5N1W1YcMGnTlzpj43AQAAUEG9hhsAAICGRrgBAAAehXADAAA8ikuEm4ULFyomJkZ+fn7q06ePNm/efMn+8+fPV4cOHeTv76/IyEg98MADOnv2bANVCwAAXJnp4WbVqlVKTk5Wamqqtm3bpm7duikxMVFHjx6ttP+bb76pRx99VKmpqdq9e7defvllrVq1So899lgDVw4AAFxRvYabxx57TMHBwZfsM2/ePI0dO1ZjxoxRp06dtHjxYgUEBGjZsmWV9v/yyy/Vt29fDR8+XDExMbr55ps1bNiw3zzaAwAAGoca3+fmp59+0saNG3X06FE5HI4Ky/72t79JklJSUi65jtLSUm3durVCPy8vLw0cOFBZWVmVjrn22mv1xhtvaPPm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GzdO27dvV1FRkdavX6/+/fubXSZMxIRiuIykpCRFR0dryZIlioiIkMPhUOfOnVVaWurs4+Pj4/zZYrFIkvO0lb+//29u4z/Hl6/jP097VUXTpk2r1R9A3UtISNC6detktVrVv39/BQcHq2PHjtq4caPWr1+vBx980OwSYSKO3MAl/Pzzz9qzZ4+mTZumG2+8UR07dqwwEbgqunbtqszMzBrX0LFjRx05ckRHjhxxtu3atUsnT55Up06darxeAHWvf//+2rhxozIzM51zaxISEvTWW29p7969zLdp5Ag3cAktWrRQy5YtlZ6erv379+vzzz9XcnJytdaRkpKib775RhMmTNCOHTv0ww8/6MUXX9Tx48erNH7gwIHq0qWLRowYoW3btmnz5s0aOXKk+vfvr169etVktwDUk379+unUqVP66KOPKoSbFStWKDw8XHFxceYWCFMRbuASvLy8tHLlSm3dulWdO3fWAw88oGeeeaZa64iLi9Mnn3yib7/9Vr1791Z8fLw++OADNWlStbOvFotFH3zwgVq0aKF+/fpp4MCBateunVatWlWTXQJQj1q0aKEuXbqodevWuuKKKyT9GngcDgfzbSCLYRiG2UUAAADUFY7cAAAAj0K4AQAAHoVwAwAAPArhBgAAeBTCDQAA8CiEGwAA4FEINwAAwKMQbgAAgEch3ABoEAkJCZo8ebKpNYwePVpDhgwxtQYA9Y+nggPwOIcOHVJsbKy2b9+u7t27O9uff/55cVN2wPMRbgA0GjabzewSADQATksBaHC//PKLRo4cqRYtWiggIEC33HKL9u3bV6HPpk2blJCQoICAALVo0UKJiYn65ZdfJEkZGRm67rrrFBQUpJYtW2rQoEE6cOCAc2xsbKwkqUePHrJYLM6nRv/3aamSkhL97W9/U0hIiPz8/HTdddfpm2++cS5ft26dLBaLMjMz1atXLwUEBOjaa6/Vnj176umTAVAXCDcAGtzo0aO1ZcsWffjhh8rKypJhGLr11lt17tw5SVJ2drZuvPFGderUSVlZWdq4caOSkpJUVlYmSSouLlZycrK2bNmizMxMeXl56fbbb5fD4ZAkbd68WZL02WefKS8vT6tXr660jocffljvvvuuXn31VW3btk2XX365EhMTdeLEiQr9pk6dqrlz52rLli1q0qSJ7r777vr6aADUBQMAGkD//v2NSZMmGXv37jUkGZs2bXIuO378uOHv72/84x//MAzDMIYNG2b07du3yus+duyYIcnYuXOnYRiGkZOTY0gytm/fXqHfqFGjjMGDBxuGYRhFRUWGj4+PsWLFCufy0tJSIyIiwnj66acNwzCML774wpBkfPbZZ84+a9asMSQZZ86cqdb+A2g4HLkB0KB2796tJk2aqE+fPs62li1bqkOHDtq9e7ekfx+5uZh9+/Zp2LBhateunQIDAxUTEyNJys3NrXIdBw4c0Llz59S3b19nm4+Pj3r37u2so1zXrl2dP4eHh0uSjh49WuVtAWhYTCgG4HL8/f0vuTwpKUnR0dFasmSJIiIi5HA41LlzZ5WWltZLPT4+Ps6fLRaLJDlPgQFwPRy5AdCgOnbsqPPnz+vrr792tv3888/as2ePOnXqJOnXIyWZmZmVji/vO23aNN14443q2LGjc6JxOV9fX0lyztGpzGWXXSZfX19t2rTJ2Xbu3Dl98803zjoAuCfCDYAG1b59ew0ePFhjx47Vxo0b9e233+rOO+9UmzZtNHjwYElSSkqKvvnmG02YMEE7duzQDz/8oBdffFHHjx9XixYt1LJlS6Wnp2v//v36/PPPlZycXGEbISEh8vf3V0ZGhgoKCmS32y+oo2nTprrvvvv00EMPKSMjQ7t27dLYsWN1+vRp3XPPPQ3yWQCoH4QbAA3ulVdeUc+ePTVo0CDFx8fLMAytXbvWefonLi5On3zyib799lv17t1b8fHx+uCDD9SkSRN5eXlp5cqV2rp1qzp37qwHHnhAzzzzTIX1N2nSRAsWLNBLL72kiIgIZ2j6b0899ZT++Mc/6q677tJVV12l/fv36+OPP1aLFi3q/TMAUH8shsHtOgEAgOfgyA0AAPAohBsAAOBRCDcAAMCjEG4AAIBHIdwAAACPQrgBAAAehXADAAA8CuEGAAB4FMINAADwKIQbAADgUQg3AADAo/x/JIyJ1y5uHEcAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.boxplot(coms, y='com_diff', x='location', hue='chain_type')" ] }, { "cell_type": "markdown", "id": "c348b94d", "metadata": {}, "source": [ "There is slight movement between the COMs but not very much." ] }, { "cell_type": "markdown", "id": "6679b2fd", "metadata": {}, "source": [ "### Changes in angle between $\\alpha$- and $\\beta$- chain" ] }, { "cell_type": "code", "execution_count": 17, "id": "7e2f5e37", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 22.000000\n", "mean 0.014409\n", "std 0.043607\n", "min -0.057826\n", "25% -0.009572\n", "50% 0.011616\n", "75% 0.026917\n", "max 0.112168\n", "Name: chain_angle_diff, dtype: float64" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlQAAAGKCAYAAADKRN/rAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAwAklEQVR4nO3df1iUdb7/8dcMClTKIP5g0EAkNe2k4k/E7cpN2fDonnJlS106mpm0Kf4A95QYSmYu7pZpph4O/e6rruZWXpt6PLGYesrRFHK9clMrUfw1qLEwigno8P3D49QsqDg3OAw8H9d1Xw6f+3Pf9/vWq+bF5/7MZ0xVVVVVAgAAgMfM3i4AAADA1xGoAAAADCJQAQAAGESgAgAAMIhABQAAYBCBCgAAwCACFQAAgEEEKgAAAIOaebuApsDpdOrkyZNq2bKlTCaTt8sBAAC1UFVVpXPnzql9+/Yym68/BkWgugVOnjyp8PBwb5cBAAA8cOzYMd15553X7UOgugVatmwp6co/SFBQkJerAQAAteFwOBQeHu56H78eAtUtcPUxX1BQEIEKAAAfU5vpOkxKBwAAMIhABQAAYBCBCgAAwCACFQAAgEEEKgAAAIMIVAAAAAYRqAAAAAwiUAEAABjEwp4A4KHLly9r3759Ki4uVkhIiHr27Ck/Pz9vlwXACwhUAOCB7du3a8WKFbLb7a42q9WqyZMn6/777/diZQC8gUd+AHCTtm/froyMDEVFRWn58uXatGmTli9frqioKGVkZGj79u3eLhHALWaqqqqq8nYRjZ3D4ZDFYlFpaSnf5Qf4uMuXLysxMVFRUVF68cUXZTb/+Hup0+lUenq6CgoKtHLlSh7/AT7uZt6/GaECgJuwb98+2e12JSYmuoUpSTKbzUpMTNSpU6e0b98+L1UIwBsIVABwE4qLiyVJnTp1qnH/1far/QA0DQQqALgJISEhkqSCgoIa919tv9oPQNNAoAKAm9CzZ09ZrVatWrVKTqfTbZ/T6dSqVasUFhamnj17eqlCAN5AoAKAm+Dn56fJkyfLZrMpPT1d+/fv14ULF7R//36lp6fLZrPp6aefZkI60MTwKb9bgE/5AY1PTetQhYWF6emnn2YdKqCRuJn3bwLVLUCgAhonVkoHGrebef9mpXQA8JCfn5969+7t7TIANADMoQIAADCIQAUAAGAQgQoAAMAgAhUAAIBBBCoAAACD+JQfAHiIZRMAXEWgAgAP1LSwp9Vq1eTJk1nYE2iCeOQHADdp+/btysjIUFRUlJYvX65NmzZp+fLlioqKUkZGhrZv3+7tEgHcYqyUfguwUjrQeFy+fFmJiYmKiorSiy++KLP5x99LnU6n0tPTVVBQoJUrV/L4D/BxN/P+zQgVANyEffv2yW63KzEx0S1MSZLZbFZiYqJOnTqlffv2ealCAN5AoAKAm1BcXCxJ6tSpU437r7Zf7QegaSBQAcBNCAkJkSQVFBTUuP9q+9V+AJoGAhUA3ISePXvKarVq1apVcjqdbvucTqdWrVqlsLAw9ezZ00sVAvAGnwtUy5cvV2RkpAIDAxUTE6Mvvvjimn3379+vhIQERUZGymQyacmSJR6d8+LFi5oyZYpat26tFi1aKCEhQUVFRXV5WwB8hJ+fnyZPniybzab09HTt379fFy5c0P79+5Weni6bzaann36aCelAE+NTgWrt2rVKTU1VRkaG8vPz1atXL8XHx+v06dM19r9w4YKioqK0cOFCWa1Wj8+ZkpKijz/+WOvWrdO2bdt08uRJjRo1ql7uEUDDd//992vevHk6fPiwpkyZouHDh2vKlCkqKCjQvHnzWIcKaIJ8atmEmJgY9e/fX8uWLZN0ZXg9PDxcU6dO1axZs657bGRkpGbMmKEZM2bc1DlLS0vVtm1brV69Wr/+9a8lSQcOHFD37t1ls9k0cODAG9bNsglA48RK6UDj1iiXTaioqFBeXp7i4uJcbWazWXFxcbLZbPV2zry8PFVWVrr16datmyIiIq553fLycjkcDrcNQOPj5+en3r17a+jQoerduzdhCmjCfCZQnT17VpcvX1ZoaKhbe2hoqNtXP9T1Oe12u/z9/RUcHFzr62ZmZspisbi28PBwj+oDAAC+wWcClS9JS0tTaWmpazt27Ji3SwIAAPXIZ74cuU2bNvLz86v26bqioqJrTjivi3NarVZVVFSopKTEbZTqetcNCAhQQECARzUBAADf4zMjVP7+/urbt69yc3NdbU6nU7m5uYqNja23c/bt21fNmzd363Pw4EEVFhZ6fF0AANC4+MwIlSSlpqZq/Pjx6tevnwYMGKAlS5aorKxMEyZMkCSNGzdOHTp0UGZmpqQrk87//ve/u16fOHFCe/fuVYsWLdS5c+dandNisWjixIlKTU1VSEiIgoKCNHXqVMXGxtbqE34AAKDx86lANXr0aJ05c0Zz586V3W5XdHS0Nm/e7JpUXlhY6PZlpSdPnlTv3r1dP7/88st6+eWXNXjwYG3durVW55SkxYsXy2w2KyEhQeXl5YqPj9eKFStuzU0DAIAGz6fWofJVrEMFAIDvaZTrUAEAADRUBCoAAACDCFQAAAAGEagAAAAMIlABAAAYRKACAAAwiEAFAABgEIEKAADAIAIVAACAQQQqAAAAgwhUAAAABhGoAAAADCJQAQAAGESgAgAAMIhABQAAYBCBCgAAwCACFQAAgEEEKgAAAIMIVAAAAAYRqAAAAAwiUAEAABhEoAIAADCIQAUAAGAQgQoAAMAgAhUAAIBBBCoAAACDCFQAAAAGEagAAAAMIlABAAAYRKACAAAwiEAFAABgEIEKAADAIAIVAACAQQQqAAAAgwhUAAAABhGoAAAADCJQAQAAGESgAgAAMIhABQAAYJDPBarly5crMjJSgYGBiomJ0RdffHHd/uvWrVO3bt0UGBioHj16aNOmTW77TSZTjdtLL73k6hMZGVlt/8KFC+vl/gAAgO/xqUC1du1apaamKiMjQ/n5+erVq5fi4+N1+vTpGvvv2LFDY8eO1cSJE/Xll19q5MiRGjlypL766itXn1OnTrltb731lkwmkxISEtzO9cILL7j1mzp1ar3eKwAA8B2mqqqqKm8XUVsxMTHq37+/li1bJklyOp0KDw/X1KlTNWvWrGr9R48erbKyMm3YsMHVNnDgQEVHRysrK6vGa4wcOVLnzp1Tbm6uqy0yMlIzZszQjBkzPKrb4XDIYrGotLRUQUFBHp0DAADcWjfz/u0zI1QVFRXKy8tTXFycq81sNisuLk42m63GY2w2m1t/SYqPj79m/6KiIm3cuFETJ06stm/hwoVq3bq1evfurZdeekmXLl26Zq3l5eVyOBxuGwAAaLyaebuA2jp79qwuX76s0NBQt/bQ0FAdOHCgxmPsdnuN/e12e4393333XbVs2VKjRo1ya582bZr69OmjkJAQ7dixQ2lpaTp16pReeeWVGs+TmZmpefPm1fbWAACAj/OZQHUrvPXWW0pMTFRgYKBbe2pqqut1z5495e/vr6eeekqZmZkKCAiodp60tDS3YxwOh8LDw+uvcAAA4FU+E6jatGkjPz8/FRUVubUXFRXJarXWeIzVaq11///93//VwYMHtXbt2hvWEhMTo0uXLunIkSO6++67q+0PCAioMWgBAIDGyWfmUPn7+6tv375uk8WdTqdyc3MVGxtb4zGxsbFu/SUpJyenxv5vvvmm+vbtq169et2wlr1798psNqtdu3Y3eRcAAKAx8pkRKunKo7fx48erX79+GjBggJYsWaKysjJNmDBBkjRu3Dh16NBBmZmZkqTp06dr8ODBWrRokUaMGKE1a9Zoz549ys7Odjuvw+HQunXrtGjRomrXtNls2rVrlx544AG1bNlSNptNKSkpeuyxx9SqVav6v2kAANDg+VSgGj16tM6cOaO5c+fKbrcrOjpamzdvdk08LywslNn846DboEGDtHr1aqWnp2v27Nnq0qWL1q9fr3vvvdftvGvWrFFVVZXGjh1b7ZoBAQFas2aNnn/+eZWXl6tTp05KSUlxmyMFAACaNp9ah8pXsQ4VAAC+p1GuQwUAANBQEagAAAAMIlABAAAYRKACAAAwiEAFAABgEIEKAADAIAIVAACAQQQqAAAAg3xqpXQAV1y8eFGFhYXeLgNosCIiIhQYGOjtMtCEEKgAH1RYWKikpCRvlwE0WNnZ2eratau3y0ATQqACfFBERES1L/mGdxw9elQLFizQc889p44dO3q7HPyfiIgIb5eAJoZABfigwMBAfvtuYDp27Mi/CdCEMSkdAADAIAIVAACAQQQqAAAAgwhUAAAABhGoAAAADCJQAQAAGESgAgAAMIhABQAAYBCBCgAAwCACFQAAgEEEKgAAAIMIVAAAAAYRqAAAAAwiUAEAABhEoAIAADCIQAUAAGAQgQoAAMAgAhUAAIBBBCoAAACDCFQAAAAG1TpQ7du3T06nsz5rAQAA8Em1DlS9e/fW2bNnJUlRUVH6/vvv660oAAAAX1LrQBUcHKyCggJJ0pEjRxitAgAA+D/NatsxISFBgwcPVlhYmEwmk/r16yc/P78a+x4+fLjOCgQAAGjoah2osrOzNWrUKH377beaNm2aJk2apJYtW9ZnbQAAAD6h1oFq3759evDBBzVs2DDl5eVp+vTpBCoAAAB5OCl927ZtqqioqLeirmf58uWKjIxUYGCgYmJi9MUXX1y3/7p169StWzcFBgaqR48e2rRpk9v+xx9/XCaTyW0bNmyYW5/i4mIlJiYqKChIwcHBmjhxos6fP1/n9wYAAHyTT01KX7t2rVJTU5WRkaH8/Hz16tVL8fHxOn36dI39d+zYobFjx2rixIn68ssvNXLkSI0cOVJfffWVW79hw4bp1KlTru1Pf/qT2/7ExETt379fOTk52rBhg7Zv366kpKR6u08AAOBbTFVVVVW16ZiUlKT33ntPYWFhKiws1J133nnLJ6XHxMSof//+WrZsmSTJ6XQqPDxcU6dO1axZs6r1Hz16tMrKyrRhwwZX28CBAxUdHa2srCxJV0aoSkpKtH79+hqv+fXXX+uee+7R7t271a9fP0nS5s2bNXz4cB0/flzt27e/Yd0Oh0MWi0WlpaUKCgq62dsG0IAdOnRISUlJys7OVteuXb1dDoA6dDPv3z4zKb2iokJ5eXlKS0tztZnNZsXFxclms9V4jM1mU2pqqltbfHx8tfC0detWtWvXTq1atdKQIUP04osvqnXr1q5zBAcHu8KUJMXFxclsNmvXrl361a9+Ve265eXlKi8vd/3scDhu+n4BAIDvqHWgkuSaW+SNSelnz57V5cuXFRoa6tYeGhqqAwcO1HiM3W6vsb/dbnf9PGzYMI0aNUqdOnXSd999p9mzZ+tf//VfZbPZ5OfnJ7vdrnbt2rmdo1mzZgoJCXE7z09lZmZq3rx5ntwmAADwQTcVqK56++2367oOrxkzZozrdY8ePdSzZ0/ddddd2rp1q4YOHerROdPS0txGxhwOh8LDww3XCgAAGqZaB6pRo0bpnXfeUVBQkEaNGnXdvh9++KHhwv5ZmzZt5Ofnp6KiIrf2oqIiWa3WGo+xWq031V+68rU6bdq00bfffquhQ4fKarVWm/R+6dIlFRcXX/M8AQEBCggIqM1tAQCARqDWn/KzWCwymUyu19fb6oO/v7/69u2r3NxcV5vT6VRubq5iY2NrPCY2NtatvyTl5ORcs78kHT9+XN9//73CwsJc5ygpKVFeXp6rz5YtW+R0OhUTE2PklgAAQCNR6xGqnz7m89Yjv9TUVI0fP179+vXTgAEDtGTJEpWVlWnChAmSpHHjxqlDhw7KzMyUJE2fPl2DBw/WokWLNGLECK1Zs0Z79uxRdna2JOn8+fOaN2+eEhISZLVa9d133+mZZ55R586dFR8fL0nq3r27hg0bpkmTJikrK0uVlZVKTk7WmDFjavUJPwAA0Ph5NIfKW0aPHq0zZ85o7ty5stvtio6O1ubNm10TzwsLC2U2/zjoNmjQIK1evVrp6emaPXu2unTpovXr1+vee++VJPn5+Wnfvn169913VVJSovbt2+vBBx/U/Pnz3R7ZrVq1SsnJyRo6dKjMZrMSEhK0dOnSW3vzAACgwar1OlS9e/d2PfK7kfz8fENFNTasQwU0XqxDBTRe9bIO1ciRI12vL168qBUrVuiee+5xzUfauXOn9u/fr8mTJ3tWNQAAgI+qdaDKyMhwvX7yySc1bdo0zZ8/v1qfY8eO1V11AAAAPqDWn/L7qXXr1mncuHHV2h977DF98MEHhosCAADwJR4Fqttuu02ff/55tfbPP/9cgYGBhosCAADwJR59ym/GjBl6+umnlZ+frwEDBkiSdu3apbfeektz5syp0wIBAAAaOo8C1axZsxQVFaVXX31VK1eulHRlvaa3335bjz76aJ0WCAAA0NB5vA7Vo48+esPw9Kc//UkPPfSQ7rjjDk8vAwAA0OB5NIeqtp566qlq36UHAADQ2NRroKrlmqEAAAA+rV4DFQAAQFNAoAIAADCIQAUAAGAQgQoAAMCgeg1UHTt2VPPmzevzEgAAAF7ncaAqKSnRG2+8obS0NBUXF0uS8vPzdeLECVefr776SuHh4carBAAAaMA8Wthz3759iouLk8Vi0ZEjRzRp0iSFhIToww8/VGFhod577726rhMAAKDB8miEKjU1VY8//ri++eYbty9DHj58uLZv315nxQEAAPgCjwLV7t279dRTT1Vr79Chg+x2u+GiAAAAfIlHgSogIEAOh6Na+6FDh9S2bVvDRQEAAPgSjwLVQw89pBdeeEGVlZWSJJPJpMLCQj377LNKSEio0wIBAAAaOo8C1aJFi3T+/Hm1a9dOP/zwgwYPHqzOnTurZcuWWrBgQV3XCAAA0KB59Ck/i8WinJwcffbZZ9q3b5/Onz+vPn36KC4urq7rAwAAaPA8ClRX3XfffbrvvvvqqhYAAACfVOtAtXTp0lqfdNq0aR4VAwAA4ItqHagWL15cq34mk4lABQAAmpRaB6qCgoL6rAMAAMBn1euXIwMAADQFHk1KT01NrbHdZDIpMDBQnTt31sMPP6yQkBBDxQEAAPgCjwLVl19+qfz8fF2+fFl33323pCurpPv5+albt25asWKFZs6cqc8++0z33HNPnRYMAADQ0Hj0yO/hhx9WXFycTp48qby8POXl5en48eP6xS9+obFjx+rEiRO6//77lZKSUtf1AgAANDgeBaqXXnpJ8+fPV1BQkKvNYrHo+eef1x//+Efdfvvtmjt3rvLy8uqsUAAAgIbKo0BVWlqq06dPV2s/c+aM60uTg4ODVVFRYaw6AAAAH+DxI78nnnhCH330kY4fP67jx4/ro48+0sSJEzVy5EhJ0hdffKGuXbvWZa0AAAANkkeT0v/rv/5LKSkpGjNmjC5dunTlRM2aafz48a4FQLt166Y33nij7ioFAABooDwKVC1atNDrr7+uxYsX6/Dhw5KkqKgotWjRwtUnOjq6TgoEAABo6Ax9OXKLFi3Us2fPuqoFAADAJ3kUqMrKyrRw4ULl5ubq9OnTcjqdbvuvjloBAAA0BR4FqieffFLbtm3Tv//7vyssLEwmk6mu6wIAAPAZHgWq//7v/9bGjRv1s5/9rK7rQQNXVFSk0tJSb5cBNBhHjx51+xPAjywWi0JDQ71dxi3hUaBq1aqV176nb/ny5XrppZdkt9vVq1cvvfbaaxowYMA1+69bt05z5szRkSNH1KVLF/3hD3/Q8OHDJUmVlZVKT0/Xpk2bdPjwYVksFsXFxWnhwoVq37696xyRkZHV/meZmZmpWbNm1c9NNlBFRUV67N/HqbKi3NulAA3OggULvF0C0OA09w/Qyv/3XpMIVR4Fqvnz52vu3Ll69913dfvtt9d1Tde0du1apaamKisrSzExMVqyZIni4+N18OBBtWvXrlr/HTt2aOzYscrMzNQvf/lLrV69WiNHjlR+fr7uvfdeXbhwQfn5+ZozZ4569eqlf/zjH5o+fboeeugh7dmzx+1cL7zwgiZNmuT6uWXLlvV+vw1NaWmpKivK9UPUYDkDLd4uBwDQgJkvlkqHt6m0tLRJBCpTVVVV1c0e1Lt3b3333XeqqqpSZGSkmjdv7rY/Pz+/zgr8qZiYGPXv31/Lli2TJDmdToWHh2vq1Kk1jhaNHj1aZWVl2rBhg6tt4MCBio6OVlZWVo3X2L17twYMGKCjR48qIiJC0pURqhkzZmjGjBke1e1wOGSxWFRaWur2dT2+5tChQ0pKSlLZPQ/JeUcbb5cDAGjAzGVndcff/6Ls7GyfXej7Zt6/PRqhuroa+q1UUVGhvLw8paWludrMZrPi4uJks9lqPMZmsyk1NdWtLT4+XuvXr7/mdUpLS2UymRQcHOzWvnDhQs2fP18RERH6zW9+o5SUFDVrVvNfX3l5ucrLf3wsdvXreAAAQOPkUaDKyMio6zpu6OzZs7p8+XK1YcPQ0FAdOHCgxmPsdnuN/e12e439L168qGeffVZjx451S6LTpk1Tnz59FBISoh07digtLU2nTp3SK6+8UuN5MjMzNW/evJu5PQAA4MMMLezZmFRWVurRRx9VVVWV/vM//9Nt309HuXr27Cl/f3899dRTyszMVEBAQLVzpaWluR3jcDgUHh5ef8UDAACv8ihQXb58WYsXL9b777+vwsJCVVRUuO0vLi6uk+J+qk2bNvLz81NRUZFbe1FRkaxWa43HWK3WWvW/GqaOHj2qLVu23PA5aUxMjC5duqQjR47o7rvvrrY/ICCgxqAFAAAaJ7MnB82bN0+vvPKKRo8erdLSUqWmpmrUqFEym816/vnn67jEK/z9/dW3b1/l5ua62pxOp3JzcxUbG1vjMbGxsW79JSknJ8et/9Uw9c033+ivf/2rWrdufcNa9u7dK7PZXOMnCwEAQNPj0QjVqlWr9Prrr2vEiBF6/vnnNXbsWN11113q2bOndu7cqWnTptV1nZKuPHobP368+vXrpwEDBmjJkiUqKyvThAkTJEnjxo1Thw4dlJmZKUmaPn26Bg8erEWLFmnEiBFas2aN9uzZo+zsbElXwtSvf/1r5efna8OGDbp8+bJrflVISIj8/f1ls9m0a9cuPfDAA2rZsqVsNptSUlL02GOPqVWrVvVynwAAwLd4FKjsdrt69Ogh6coXJF9dOfuXv/yl5syZU3fV/ZPRo0frzJkzmjt3rux2u6Kjo7V582bXxPPCwkKZzT8Oug0aNEirV69Wenq6Zs+erS5dumj9+vW69957JUknTpzQX/7yF0lSdHS027U+/fRT/fznP1dAQIDWrFmj559/XuXl5erUqZNSUlKqfXoQAAA0XR4FqjvvvFOnTp1SRESE7rrrLn3yySfq06ePdu/eXe9zh5KTk5WcnFzjvq1bt1Zre+SRR/TII4/U2D8yMlI3WoarT58+2rlz503XCQAAmg6P5lD96le/cs1Nmjp1qubMmaMuXbpo3LhxeuKJJ+q0QAAAgIbOoxGqhQsXul6PHj1aHTt21I4dO9SlSxf927/9W50VBwAA4AvqZB2qgQMHauDAgdXaR4wYoTfeeENhYWF1cRkAAIAGyaNHfrW1fft2/fDDD/V5CQAAAK+r10AFAADQFBCoAAAADCJQAQAAGESgAgAAMIhABQAAYFC9BqrZs2crJCSkPi8BAADgdR6vQ/XNN9/o008/1enTp+V0Ot32zZ07V5KUlpZmrDoAAAAf4FGgev311/X000+rTZs2slqtMplMrn0mk8kVqAAAAJoCjwLViy++qAULFujZZ5+t63oAAAB8jkdzqP7xj3/okUceqetaAAAAfJJHgeqRRx7RJ598Ute1AAAA+CSPHvl17txZc+bM0c6dO9WjRw81b97cbf+0adPqpDgAAABf4FGgys7OVosWLbRt2zZt27bNbZ/JZCJQAQCAJsWjQFVQUFDXdQAAAPgsj9ehQtNl/qHE2yUAABq4pvZeUetAlZqaqvnz5+uOO+5Qamrqdfu+8sorhgtDw3VbwXZvlwAAQINS60D15ZdfqrKy0vX6Wn66yCcapx863S/nbcHeLgMA0ICZfyhpUr+A1zpQffrppzW+RtPjvC1YzjvaeLsMAAAajHr9cmQAAICmwONJ6Xv27NH777+vwsJCVVRUuO378MMPDRcGAADgKzwaoVqzZo0GDRqkr7/+Wh999JEqKyu1f/9+bdmyRRaLpa5rBAAAaNA8ClS///3vtXjxYn388cfy9/fXq6++qgMHDujRRx9VREREXdcIAADQoHkUqL777juNGDFCkuTv76+ysjKZTCalpKQoOzu7TgsEAABo6DwKVK1atdK5c+ckSR06dNBXX30lSSopKdGFCxfqrjoAAAAf4NGk9Pvvv185OTnq0aOHHnnkEU2fPl1btmxRTk6Ohg4dWtc1AgAANGgeBaply5bp4sWLkqTnnntOzZs3144dO5SQkKD09PQ6LRAAAKCh8yhQhYSEuF6bzWbNmjWrzgoCAADwNR6vQ+V0OvXtt9/q9OnTcjqdbvvuv/9+w4UBAAD4Co8C1c6dO/Wb3/xGR48eVVVVlds+k8mky5cv10lxAAAAvsCjQPXb3/5W/fr108aNGxUWFsYXIgMAgCbNo0D1zTff6M9//rM6d+5c1/UAAAD4HI/WoYqJidG3335b17UAAAD4pFqPUO3bt8/1eurUqZo5c6bsdrt69Oih5s2bu/Xt2bNn3VUIAADQwNU6UEVHR8tkMrlNQn/iiSdcr6/uY1I6AABoamr9yK+goECHDx9WQUFBjdvVfYcPH67PerV8+XJFRkYqMDBQMTEx+uKLL67bf926derWrZsCAwPVo0cPbdq0yW1/VVWV5s6dq7CwMN12222Ki4vTN99849anuLhYiYmJCgoKUnBwsCZOnKjz58/X+b0BAADfVOtA1bFjR9e2evVq5ebmurV17NhRubm5WrNmTb0Vu3btWqWmpiojI0P5+fnq1auX4uPjdfr06Rr779ixQ2PHjtXEiRP15ZdfauTIkRo5cqTruwcl6Y9//KOWLl2qrKws7dq1S3fccYfi4+NdK8FLUmJiovbv36+cnBxt2LBB27dvV1JSUr3dJwAA8C2mqn9eSKoWIiMjtXr1ag0aNMitfdeuXRozZowKCgrqrMCfiomJUf/+/bVs2TJJVxYXDQ8P19SpU2tcrX306NEqKyvThg0bXG0DBw5UdHS0srKyVFVVpfbt22vmzJn63e9+J0kqLS1VaGio3nnnHY0ZM0Zff/217rnnHu3evVv9+vWTJG3evFnDhw/X8ePH1b59+xvW7XA4ZLFYVFpaqqCgoLr4q/CKQ4cOKSkpSWX3PCTnHW28XQ4AoAEzl53VHX//i7Kzs9W1a1dvl+ORm3n/9uhTfna7XWFhYdXa27Ztq1OnTnlyyhuqqKhQXl6e4uLiXG1ms1lxcXGy2Ww1HmOz2dz6S1J8fLyrf0FBgex2u1sfi8WimJgYVx+bzabg4GBXmJKkuLg4mc1m7dq1q8brlpeXy+FwuG0AAKDx8ihQhYeH6/PPP6/W/vnnn9dqxMYTZ8+e1eXLlxUaGurWHhoaKrvdXuMxdrv9uv2v/nmjPu3atXPb36xZM4WEhFzzupmZmbJYLK4tPDy8lncJAAB8kUcLe06aNEkzZsxQZWWlhgwZIknKzc3VM888o5kzZ9Zpgb4oLS1Nqamprp8dDgehCgCARsyjQPUf//Ef+v777zV58mRVVFRIkgIDA/Xss88qLS2tTgu8qk2bNvLz81NRUZFbe1FRkaxWa43HWK3W6/a/+mdRUZHbI8yioiJFR0e7+vzzpPdLly6puLj4mtcNCAhQQEBA7W8OAAD4NI8e+ZlMJv3hD3/QmTNntHPnTv3tb39TcXGx5s6dW9f1ufj7+6tv377Kzc11tTmdTuXm5io2NrbGY2JjY936S1JOTo6rf6dOnWS1Wt36OBwO7dq1y9UnNjZWJSUlysvLc/XZsmWLnE6nYmJi6uz+AACA7/JohOqqFi1aqH///nVVyw2lpqZq/Pjx6tevnwYMGKAlS5aorKxMEyZMkCSNGzdOHTp0UGZmpiRp+vTpGjx4sBYtWqQRI0ZozZo12rNnj7KzsyVdCYYzZszQiy++qC5duqhTp06aM2eO2rdvr5EjR0qSunfvrmHDhmnSpEnKyspSZWWlkpOTNWbMmHqbLwYAAHyLoUB1q40ePVpnzpzR3LlzZbfbFR0drc2bN7smlRcWFsps/nHQbdCgQVq9erXS09M1e/ZsdenSRevXr9e9997r6vPMM8+orKxMSUlJKikp0X333afNmzcrMDDQ1WfVqlVKTk7W0KFDZTablZCQoKVLl966GwcAAA2aR+tQ4eawDhUAoKlhHSoAAADcFAIVAACAQQQqAAAAgwhUAAAABhGoAAAADCJQAQAAGESgAgAAMIhABQAAYBCBCgAAwCACFQAAgEEEKgAAAIN86suR0TCYL5Z6uwQAQAPX1N4rCFSoNYvFoub+AdLhbd4uBQDgA5r7B8hisXi7jFuCQIVaCw0N1cr/955KS5vWbx3A9Rw9elQLFizQc889p44dO3q7HKBBsVgsCg0N9XYZtwSBCjclNDS0yfzHAdyMjh07qmvXrt4uA4CXMCkdAADAIAIVAACAQQQqAAAAgwhUAAAABhGoAAAADCJQAQAAGESgAgAAMIhABQAAYBCBCgAAwCACFQAAgEEEKgAAAIMIVAAAAAYRqAAAAAwiUAEAABhEoAIAADCIQAUAAGAQgQoAAMAgAhUAAIBBBCoAAACDCFQAAAAGEagAAAAMIlABAAAYRKACAAAwyGcCVXFxsRITExUUFKTg4GBNnDhR58+fv+4xFy9e1JQpU9S6dWu1aNFCCQkJKioqcu3/29/+prFjxyo8PFy33XabunfvrldffdXtHFu3bpXJZKq22e32erlPAADge5p5u4DaSkxM1KlTp5STk6PKykpNmDBBSUlJWr169TWPSUlJ0caNG7Vu3TpZLBYlJydr1KhR+vzzzyVJeXl5ateunVauXKnw8HDt2LFDSUlJ8vPzU3Jystu5Dh48qKCgINfP7dq1q58bBQAAPscnAtXXX3+tzZs3a/fu3erXr58k6bXXXtPw4cP18ssvq3379tWOKS0t1ZtvvqnVq1dryJAhkqS3335b3bt3186dOzVw4EA98cQTbsdERUXJZrPpww8/rBao2rVrp+Dg4Pq5QQAA4NN84pGfzWZTcHCwK0xJUlxcnMxms3bt2lXjMXl5eaqsrFRcXJyrrVu3boqIiJDNZrvmtUpLSxUSElKtPTo6WmFhYfrFL37hGuG6lvLycjkcDrcNAAA0Xj4RqOx2e7VHbM2aNVNISMg15zLZ7Xb5+/tXG1UKDQ295jE7duzQ2rVrlZSU5GoLCwtTVlaWPvjgA33wwQcKDw/Xz3/+c+Xn51+z3szMTFksFtcWHh5eyzsFAAC+yKuBatasWTVO+P7pduDAgVtSy1dffaWHH35YGRkZevDBB13td999t5566in17dtXgwYN0ltvvaVBgwZp8eLF1zxXWlqaSktLXduxY8duxS0AAAAv8eocqpkzZ+rxxx+/bp+oqChZrVadPn3arf3SpUsqLi6W1Wqt8Tir1aqKigqVlJS4jVIVFRVVO+bvf/+7hg4dqqSkJKWnp9+w7gEDBuizzz675v6AgAAFBATc8DwAAKBx8Gqgatu2rdq2bXvDfrGxsSopKVFeXp769u0rSdqyZYucTqdiYmJqPKZv375q3ry5cnNzlZCQIOnKJ/UKCwsVGxvr6rd//34NGTJE48eP14IFC2pV9969exUWFlarvgAAoPHziU/5de/eXcOGDdOkSZOUlZWlyspKJScna8yYMa5P+J04cUJDhw7Ve++9pwEDBshisWjixIlKTU1VSEiIgoKCNHXqVMXGxmrgwIGSrjzmGzJkiOLj45WamuqaW+Xn5+cKekuWLFGnTp30L//yL7p48aLeeOMNbdmyRZ988ol3/jIAAECD4xOBSpJWrVql5ORkDR06VGazWQkJCVq6dKlrf2VlpQ4ePKgLFy642hYvXuzqW15ervj4eK1YscK1/89//rPOnDmjlStXauXKla72jh076siRI5KkiooKzZw5UydOnNDtt9+unj176q9//aseeOCB+r9pAADgE0xVVVVV3i6isXM4HLJYLCotLXVbHBSA7zt06JCSkpKUnZ2trl27erscAHXoZt6/fWLZBAAAgIaMQAUAAGAQgQoAAMAgAhUAAIBBBCoAAACDCFQAAAAGEagAAAAMIlABAAAYRKACAAAwiEAFAABgEIEKAADAIAIVAACAQQQqAAAAgwhUAAAABhGoAAAADCJQAQAAGESgAgAAMIhABQAAYBCBCgAAwCACFQAAgEEEKgAAAIMIVAAAAAYRqAAAAAwiUAEAABhEoAIAADCIQAUAAGAQgQoAAMAgAhUAAIBBBCoAAACDCFQAAAAGEagAAAAMIlABAAAYRKACAAAwiEAFAABgEIEKAADAIAIVAACAQQQqAAAAgwhUAAAABhGoAAAADPKZQFVcXKzExEQFBQUpODhYEydO1Pnz5697zMWLFzVlyhS1bt1aLVq0UEJCgoqKitz6mEymatuaNWvc+mzdulV9+vRRQECAOnfurHfeeaeubw8AAPgwnwlUiYmJ2r9/v3JycrRhwwZt375dSUlJ1z0mJSVFH3/8sdatW6dt27bp5MmTGjVqVLV+b7/9tk6dOuXaRo4c6dpXUFCgESNG6IEHHtDevXs1Y8YMPfnkk/qf//mfur5FAADgo5p5u4Da+Prrr7V582bt3r1b/fr1kyS99tprGj58uF5++WW1b9++2jGlpaV68803tXr1ag0ZMkTSleDUvXt37dy5UwMHDnT1DQ4OltVqrfHaWVlZ6tSpkxYtWiRJ6t69uz777DMtXrxY8fHxdX2rAADAB/nECJXNZlNwcLArTElSXFyczGazdu3aVeMxeXl5qqysVFxcnKutW7duioiIkM1mc+s7ZcoUtWnTRgMGDNBbb72lqqoqt2v/9BySFB8fX+0cP1VeXi6Hw+G2AQCAxssnRqjsdrvatWvn1tasWTOFhITIbrdf8xh/f38FBwe7tYeGhrod88ILL2jIkCG6/fbb9cknn2jy5Mk6f/68pk2b5jpPaGhotXM4HA798MMPuu2226pdOzMzU/PmzfPkVgEAgA/y6gjVrFmzapwU/tPtwIED9VrDnDlz9LOf/Uy9e/fWs88+q2eeeUYvvfSSoXOmpaWptLTUtR07dqyOqgUAAA2RV0eoZs6cqccff/y6faKiomS1WnX69Gm39kuXLqm4uPiac5+sVqsqKipUUlLiNkpVVFR0zWMkKSYmRvPnz1d5ebkCAgJktVqrfTKwqKhIQUFBNY5OSVJAQIACAgKue18AAKDx8Gqgatu2rdq2bXvDfrGxsSopKVFeXp769u0rSdqyZYucTqdiYmJqPKZv375q3ry5cnNzlZCQIEk6ePCgCgsLFRsbe81r7d27V61atXIFotjYWG3atMmtT05OznXPAQAAmhafmEPVvXt3DRs2TJMmTVJWVpYqKyuVnJysMWPGuD7hd+LECQ0dOlTvvfeeBgwYIIvFookTJyo1NVUhISEKCgrS1KlTFRsb6/qE38cff6yioiINHDhQgYGBysnJ0e9//3v97ne/c137t7/9rZYtW6ZnnnlGTzzxhLZs2aL3339fGzdu9MrfBQAAaHh8IlBJ0qpVq5ScnKyhQ4fKbDYrISFBS5cude2vrKzUwYMHdeHCBVfb4sWLXX3Ly8sVHx+vFStWuPY3b95cy5cvV0pKiqqqqtS5c2e98sormjRpkqtPp06dtHHjRqWkpOjVV1/VnXfeqTfeeIMlEwAAgIup6qdrBKBeOBwOWSwWlZaWKigoyNvlAKhDhw4dUlJSkrKzs9W1a1dvlwOgDt3M+7dPrEMFAADQkBGoAAAADCJQAQAAGESgAgAAMIhABQAAYBCBCgAAwCACFQAAgEE+s7AngB9dvHhRhYWF3i4Dko4ePer2JxqGiIgIBQYGersMNCEEKsAHFRYWKikpydtl4CcWLFjg7RLwEyy0iluNQAX4oIiICGVnZ3u7DKDBioiI8HYJaGIIVIAPCgwM5LdvAGhAmJQOAABgEIEKAADAIAIVAACAQQQqAAAAgwhUAAAABhGoAAAADCJQAQAAGESgAgAAMIhABQAAYBCBCgAAwCACFQAAgEEEKgAAAIMIVAAAAAY183YBTUFVVZUkyeFweLkSAABQW1fft6++j18PgeoWOHfunCQpPDzcy5UAAICbde7cOVksluv2MVXVJnbBEKfTqZMnT6ply5YymUzeLgdAHXI4HAoPD9exY8cUFBTk7XIA1KGqqiqdO3dO7du3l9l8/VlSBCoAMMDhcMhisai0tJRABTRhTEoHAAAwiEAFAABgEIEKAAwICAhQRkaGAgICvF0KAC9iDhUAAIBBjFABAAAYRKACAAAwiEAFAABgEIEKAADAIAIVAACAQQQqAAAAgwhUAAAABhGoAAAADPr/1RL5YZ1LN5UAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.boxplot(apo_holo_results_norm, y='chain_angle_diff')\n", "apo_holo_results_norm['chain_angle_diff'].describe()" ] }, { "cell_type": "code", "execution_count": 18, "id": "2a3e0e6e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 22.000000\n", "mean 0.825593\n", "std 2.498524\n", "min -3.313194\n", "25% -0.548427\n", "50% 0.665530\n", "75% 1.542237\n", "max 6.426748\n", "Name: chain_angle_diff_deg, dtype: float64" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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kqTi4mKVlZVp3LhxQR8SAACgKZajJi8vL/D8vvvu04QJEzRr1qxTtqmqqgredAAAABbZOqbmT3/6k+6+++5Tlt91111atWpVs4dqSH5+vi677DJFRUWpR48euvnmm/XZZ5+1yHsBAIDQYytqOnfurI0bN56yfOPGjYqMjGz2UA0pLCzU+PHjVVxcrHXr1unEiRO67rrrdOTIkRZ5PwAAEFpsXVF40qRJysrKUklJiQYPHixJ+uCDD/T8889r+vTpQR3wpLfeeqvezy+88IJ69OihLVu2aNiwYS3yngAAIHTYippp06YpJSVFTz31lF588UVJ0gUXXKAVK1bo1ltvDeqAjfF4PJKk2NjYRrepra1VbW1t4Gev19vicwEAAGfYihpJuvXWW5sMmJdfflk33nijunTpYvdtGuTz+TRp0iQNHTpUF154YaPb5efna+bMmUF9bwAA0Da16MX3HnjgAe3fvz/orzt+/Hht27ZNr7zyymm3y8nJkcfjCTw4MwsAAHPZ3lNjhd/vD/prPvTQQ/r73/+uoqIi9erV67TbRkREKCIiIugzAACAtqdFoyaY/H6/Hn74Ya1Zs0bvvvuuevfu7fRIAACgDQmZqBk/frxeeukl/fWvf1VUVJSqq6slfX/H8M6dOzs8HQAAcFrI3NDyueeek8fj0VVXXaWEhITA49VXX3V6NAAA0AaEzJ6aljg+BwAAmKNF99QkJyerY8eOLfkWAAAAkpoRNd98842WL1+unJwcHTp0SJJUUlKiPXv2BLbZtm2bEhMTmz8lAABAE2x9/VRaWqr09HS53W598cUXyszMVGxsrFavXq3Kykr98Y9/DPacAAAAp2VrT012drZGjx6t7du317uB5fXXX6+ioqKgDQcAAGCVrajZvHmzHnjggVOWn3vuuYFTrQEAAFqTraiJiIho8OaQn3/+ubp3797soQAAAM6Urai58cYb9dvf/lYnTpyQJLlcLlVWVmrq1Km65ZZbgjogAACAFbaiZv78+aqpqVGPHj307bff6sorr1SfPn0UFRWlOXPmBHtGAACAJtk6+8ntdmvdunV67733VFpaqpqaGl1yySVKT08P9nxowP79++XxeJweA2hTdu3aVe+fAL7ndrsVFxfn9BitwuVvR5fq9Xq9crvd8ng8io6OdnocW/bv36+7fnm3ThyvdXoUAEAI6NgpQi/+zx9DOmysfn5b3lPz9NNPW37zCRMmWN4WZ8bj8ejE8Vp9m3KlfJFup8cBALRhYcc80s5CeTyekI4aqyxHzcKFCy1t53K5iJpW4It0y9flHKfHAACgzbAcNRUVFS05BwAAQLO06A0tAQAAWouts5+ys7MbXO5yuRQZGak+ffropptuUmxsbLOGAwAAsMpW1GzdulUlJSWqq6vT+eefL+n7qwmHh4erf//+Wrx4saZMmaL33ntPAwYMCOrAAAAADbH19dNNN92k9PR07d27V1u2bNGWLVu0e/du/eQnP9Edd9yhPXv2aNiwYZo8eXKw5wUAAGiQraiZN2+eZs2aVe9ccbfbrccee0y///3vddZZZ2nGjBnasmVL0AYFAAA4HVtR4/F4dODAgVOWHzx4MHCjy27duun48ePNmw4AAMAi218/3XvvvVqzZo12796t3bt3a82aNRo7dqxuvvlmSdKHH36ofv36BXNWAACARtk6UHjp0qWaPHmybr/9dn333Xffv1CHDrrnnnsCF+nr37+/li9fHrxJAQAATsNW1HTt2lXLli3TwoULtXPnTklSSkqKunbtGtjm4osvDsqAAAAAVtiKmpO6du2q1NTUYM0CAABgm62oOXLkiB5//HGtX79eBw4ckM/nq7f+5N4bAACA1mIrau677z4VFhbql7/8pRISEuRyuYI9FwAAwBmxFTVvvvmm1q5dq6FDhwZ7HgAAAFtsndIdExPDfZ0AAECbYitqZs2apRkzZujo0aPBngcAAMAWW18/zZ8/Xzt27FBcXJx+8IMfqGPHjvXWl5SUBGU4AAAAq2xFzcmrBgMAALQVtqImLy8v2HMAAAA0i61jagAAANoaW3tq6urqtHDhQr322muqrKw85W7chw4dCspwAAAAVtnaUzNz5kwtWLBAt912mzwej7KzszVy5EiFhYXpscceC/KIAAAATbMVNStXrtSyZcs0ZcoUdejQQXfccYeWL1+uGTNmqLi4ONgzAgAANMlW1FRXV2vgwIGSvr+ppcfjkST9/Oc/19q1a4M3HQAAgEW2oqZXr17at2+fJOm8887TO++8I0navHmzIiIigjcdAACARbaiZsSIEVq/fr0k6eGHH9b06dPVt29f3X333br33nuDOiAAAIAVts5+evzxxwPPb7vtNiUnJ+v9999X37599Ytf/CJow6FxYd9+4/QIAIA2rr19VtiKmv92+eWX6/LLLz9l+Q033KDly5crISEhGG+D/9C5osjpEQAAaFOCEjWNKSoq0rffftuSb9Fufdt7mHyduzk9BgCgDQv79pt29Udwi0YNWo6vczf5upzj9BgAALQZ3CYBAAAYgagBAABGIGoAAIARiBoAAGCEFo2a3/zmN4qNjW3JtwAAAJDUjLOftm/frg0bNujAgQPy+Xz11s2YMUOSlJOT07zpAAAALLIVNcuWLVNWVpbOOeccxcfHy+VyBda5XK5A1AAAALQWW1Eze/ZszZkzR1OnTg32PAAAALbYOqbm66+/1qhRo4I9CwAAgG22ombUqFF65513gj0LAACAbba+furTp4+mT5+u4uJiDRw4UB07dqy3fsKECUEZDgAAwCpbUVNQUKCuXbuqsLBQhYWF9da5XC6iBgAAtDpbUVNRURHsOQAAAJqFKwoDAAAjWN5Tk52drVmzZqlLly7Kzs4+7bYLFixo9mAAAABnwnLUbN26VSdOnAg8b8x/XogPAACgtViOmg0bNjT4vLUtWrRI8+bNU3V1tS666CI988wzGjx4sGPzAACAtiGkjql59dVXlZ2drby8PJWUlOiiiy7ST3/6Ux04cMDp0QAAgMNs39Dyo48+0muvvabKykodP3683rrVq1c3e7CGLFiwQJmZmRozZowkacmSJVq7dq2ef/55TZs2rUXeEwAAhAZbe2peeeUVDRkyRJ988onWrFmjEydOqKysTP/4xz/kdruDPaMk6fjx49qyZYvS09MDy8LCwpSenq5NmzY1+Du1tbXyer31HgAAwEy2ombu3LlauHChXn/9dXXq1ElPPfWUPv30U916661KSkoK9oySpC+//FJ1dXWKi4urtzwuLk7V1dUN/k5+fr7cbnfgkZiY2CKzAQAA59mKmh07duiGG26QJHXq1ElHjhyRy+XS5MmTVVBQENQBmyMnJ0cejyfwqKqqcnokAADQQmwdUxMTE6PDhw9Lks4991xt27ZNAwcO1DfffKOjR48GdcCTzjnnHIWHh2v//v31lu/fv1/x8fEN/k5ERIQiIiJaZB4AANC22NpTM2zYMK1bt07S93fsnjhxojIzM3XHHXfo2muvDeqAJ3Xq1EmXXnqp1q9fH1jm8/m0fv16XXHFFS3yngAAIHTY2lPz7LPP6tixY5KkRx99VB07dtT777+v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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.boxplot(apo_holo_results_norm, y='chain_angle_diff_deg')\n", "apo_holo_results_norm['chain_angle_diff_deg'].describe()" ] }, { "cell_type": "code", "execution_count": 19, "id": "d9bd4723", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 22.000000\n", "mean 1.887715\n", "std 1.795418\n", "min 0.114483\n", "25% 0.579086\n", "50% 1.214819\n", "75% 3.036777\n", "max 6.426748\n", "Name: chain_angle_diff_deg_mag, dtype: float64" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.boxplot(apo_holo_results_norm, y='chain_angle_diff_deg_mag')\n", "apo_holo_results_norm['chain_angle_diff_deg_mag'].describe()" ] }, { "cell_type": "markdown", "id": "f72cc99a", "metadata": {}, "source": [ "From these plots, it does not seem that their is a lot of angular change between domains." ] }, { "cell_type": "markdown", "id": "00c5865f", "metadata": {}, "source": [ "## Conclusion\n", "\n", "Based on the results of this analysis, the TCR Fw region remains fairly static between *apo* and *holo*." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.14" } }, "nbformat": 4, "nbformat_minor": 5 }