{ "cells": [ { "cell_type": "markdown", "id": "c264217d", "metadata": {}, "source": [ "# Visualising CDR loop clustering" ] }, { "cell_type": "markdown", "id": "6b6b6403", "metadata": {}, "source": [ "## Introduction\n", "\n", "In this notebook, we visualise the clusters of loop conformations determined by the pair-wise distance comparison of all loops." ] }, { "cell_type": "code", "execution_count": 1, "id": "a155933e", "metadata": {}, "outputs": [], "source": [ "import glob\n", "import os\n", "import subprocess\n", "import tempfile\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import plotly.express as px\n", "import seaborn as sns\n", "import logomaker\n", "from ipywidgets import Dropdown, VBox\n", "from IPython.display import display, clear_output\n", "from python_pdb.aligners import align_pandas_structure\n", "from python_pdb.parsers import parse_pdb_to_pandas\n", "from sklearn.manifold import TSNE\n", "\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": "23992f3b", "metadata": {}, "outputs": [], "source": [ "DATA_DIR = '../data/interim/structure-pw-distances'" ] }, { "cell_type": "code", "execution_count": 3, "id": "7452d766", "metadata": {}, "outputs": [], "source": [ "with open(os.path.join(DATA_DIR, 'structure_names.txt'), 'r') as fh:\n", " structure_names = [line.strip() for line in fh.readlines()]" ] }, { "cell_type": "code", "execution_count": 4, "id": "f501c771", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | name | \n", "cluster | \n", "chain_type | \n", "cdr | \n", "sequence | \n", "cluster_type | \n", "
---|---|---|---|---|---|---|
0 | \n", "7zt2_DE | \n", "12 | \n", "alpha_chain | \n", "1 | \n", "TSGFNG | \n", "pseudo | \n", "
1 | \n", "7zt3_DE | \n", "12 | \n", "alpha_chain | \n", "1 | \n", "TSGFNG | \n", "pseudo | \n", "
2 | \n", "7zt4_DE | \n", "12 | \n", "alpha_chain | \n", "1 | \n", "TSGFNG | \n", "pseudo | \n", "
3 | \n", "7zt5_DE | \n", "12 | \n", "alpha_chain | \n", "1 | \n", "TSGFNG | \n", "pseudo | \n", "
4 | \n", "7zt7_DE | \n", "12 | \n", "alpha_chain | \n", "1 | \n", "TSGFNG | \n", "pseudo | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
4807 | \n", "6miv_CD | \n", "22 | \n", "beta_chain | \n", "3 | \n", "ASGDEGYTQY | \n", "canonical | \n", "
4808 | \n", "3rtq_CD | \n", "22 | \n", "beta_chain | \n", "3 | \n", "ASGDEGYTQY | \n", "canonical | \n", "
4809 | \n", "3dxa_NO | \n", "noise | \n", "beta_chain | \n", "3 | \n", "ASRYRDDSYNEQF | \n", "NaN | \n", "
4810 | \n", "1d9k_AB | \n", "noise | \n", "beta_chain | \n", "3 | \n", "ASGGQGRAEQF | \n", "NaN | \n", "
4811 | \n", "4gg6_GH | \n", "noise | \n", "beta_chain | \n", "3 | \n", "ASSVAVSAGTYEQY | \n", "NaN | \n", "
4812 rows × 6 columns
\n", "\n", " | name | \n", "tsne_1 | \n", "tsne_2 | \n", "chain_type | \n", "cdr | \n", "
---|---|---|---|---|---|
0 | \n", "7zt2_DE | \n", "-12.995802 | \n", "14.408054 | \n", "beta_chain | \n", "2 | \n", "
1 | \n", "7zt3_DE | \n", "-12.007703 | \n", "13.610337 | \n", "beta_chain | \n", "2 | \n", "
2 | \n", "7zt4_DE | \n", "-12.722438 | \n", "14.317860 | \n", "beta_chain | \n", "2 | \n", "
3 | \n", "7zt5_DE | \n", "-12.896334 | \n", "14.089248 | \n", "beta_chain | \n", "2 | \n", "
4 | \n", "7zt7_DE | \n", "-12.443920 | \n", "14.690278 | \n", "beta_chain | \n", "2 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
797 | \n", "6miv_CD | \n", "-7.597044 | \n", "46.012802 | \n", "alpha_chain | \n", "3 | \n", "
798 | \n", "3rtq_CD | \n", "-11.724574 | \n", "50.600700 | \n", "alpha_chain | \n", "3 | \n", "
799 | \n", "3dxa_NO | \n", "-28.833708 | \n", "18.615999 | \n", "alpha_chain | \n", "3 | \n", "
800 | \n", "1d9k_AB | \n", "-18.946213 | \n", "13.313275 | \n", "alpha_chain | \n", "3 | \n", "
801 | \n", "4gg6_GH | \n", "-25.602039 | \n", "18.878851 | \n", "alpha_chain | \n", "3 | \n", "
4812 rows × 5 columns
\n", "\n", " | name | \n", "tsne_1 | \n", "tsne_2 | \n", "chain_type | \n", "cdr | \n", "cluster | \n", "sequence | \n", "cluster_type | \n", "
---|---|---|---|---|---|---|---|---|
0 | \n", "7zt2_DE | \n", "-12.995802 | \n", "14.408054 | \n", "beta_chain | \n", "2 | \n", "10 | \n", "SASEGT | \n", "pseudo | \n", "
1 | \n", "7zt3_DE | \n", "-12.007703 | \n", "13.610337 | \n", "beta_chain | \n", "2 | \n", "10 | \n", "SASEGT | \n", "pseudo | \n", "
2 | \n", "7zt4_DE | \n", "-12.722438 | \n", "14.317860 | \n", "beta_chain | \n", "2 | \n", "10 | \n", "SASEGT | \n", "pseudo | \n", "
3 | \n", "7zt5_DE | \n", "-12.896334 | \n", "14.089248 | \n", "beta_chain | \n", "2 | \n", "10 | \n", "SASEGT | \n", "pseudo | \n", "
4 | \n", "7zt7_DE | \n", "-12.443920 | \n", "14.690278 | \n", "beta_chain | \n", "2 | \n", "10 | \n", "SASEGT | \n", "pseudo | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
4807 | \n", "6miv_CD | \n", "-7.597044 | \n", "46.012802 | \n", "alpha_chain | \n", "3 | \n", "13 | \n", "VVGDRGSALGRLH | \n", "canonical | \n", "
4808 | \n", "3rtq_CD | \n", "-11.724574 | \n", "50.600700 | \n", "alpha_chain | \n", "3 | \n", "13 | \n", "VVGDRGSALGRLH | \n", "canonical | \n", "
4809 | \n", "3dxa_NO | \n", "-28.833708 | \n", "18.615999 | \n", "alpha_chain | \n", "3 | \n", "6 | \n", "IVWGGYQKVT | \n", "canonical | \n", "
4810 | \n", "1d9k_AB | \n", "-18.946213 | \n", "13.313275 | \n", "alpha_chain | \n", "3 | \n", "noise | \n", "AATGSFNKLT | \n", "NaN | \n", "
4811 | \n", "4gg6_GH | \n", "-25.602039 | \n", "18.878851 | \n", "alpha_chain | \n", "3 | \n", "noise | \n", "ILRDGRGGADGLT | \n", "NaN | \n", "
4812 rows × 8 columns
\n", "\n", " | chain_type | \n", "cdr | \n", "name | \n", "cluster | \n", "ca_coordinate_x | \n", "ca_coordinate_y | \n", "ca_coordinate_z | \n", "
---|---|---|---|---|---|---|---|
0 | \n", "alpha_chain | \n", "1 | \n", "4ozg_EF | \n", "1 | \n", "224.155000 | \n", "40.712000 | \n", "219.187000 | \n", "
0 | \n", "alpha_chain | \n", "1 | \n", "4ozg_EF | \n", "1 | \n", "227.900000 | \n", "39.718000 | \n", "219.665000 | \n", "
0 | \n", "alpha_chain | \n", "1 | \n", "4ozg_EF | \n", "1 | \n", "229.249000 | \n", "39.147000 | \n", "223.257000 | \n", "
0 | \n", "alpha_chain | \n", "1 | \n", "4ozg_EF | \n", "1 | \n", "232.636000 | \n", "40.071000 | \n", "224.817000 | \n", "
0 | \n", "alpha_chain | \n", "1 | \n", "4ozg_EF | \n", "1 | \n", "234.200000 | \n", "36.568000 | \n", "224.708000 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
2245 | \n", "beta_chain | \n", "3 | \n", "3gsn_AB | \n", "7 | \n", "-55.580629 | \n", "12.969075 | \n", "-2.638147 | \n", "
2245 | \n", "beta_chain | \n", "3 | \n", "3gsn_AB | \n", "7 | \n", "-56.991148 | \n", "13.552541 | \n", "-6.135106 | \n", "
2245 | \n", "beta_chain | \n", "3 | \n", "3gsn_AB | \n", "7 | \n", "-55.012334 | \n", "12.367820 | \n", "-9.171847 | \n", "
2245 | \n", "beta_chain | \n", "3 | \n", "3gsn_AB | \n", "7 | \n", "-53.256231 | \n", "14.847797 | \n", "-11.441973 | \n", "
2245 | \n", "beta_chain | \n", "3 | \n", "3gsn_AB | \n", "7 | \n", "-54.906846 | \n", "15.594755 | \n", "-14.752955 | \n", "
15537 rows × 7 columns
\n", "