{ "cells": [ { "cell_type": "markdown", "id": "b15395b0", "metadata": {}, "source": [ "# pMHC movement based on peptide anchoring" ] }, { "cell_type": "markdown", "id": "f0d5a0e3", "metadata": {}, "source": [ "## Introduction\n", "\n", "In this notebook, *apo*-*holo* comparisons between different anchoring patterns of MHC alleles plotted next to each other. The anchoring patterns were determined by finding the peptide motifs of each MHC allele from the [MHCMotifAtlas](http://mhcmotifatlas.org/home) and using these strong motifs as anchors for the peptide.\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "91fe0fa0", "metadata": { "execution": { "iopub.execute_input": "2024-05-09T14:30:05.459410Z", "iopub.status.busy": "2024-05-09T14:30:05.459138Z", "iopub.status.idle": "2024-05-09T14:30:25.851697Z", "shell.execute_reply": "2024-05-09T14:30:25.850740Z" } }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import seaborn as sns\n", "from python_pdb.formats.residue import THREE_TO_ONE_CODE" ] }, { "cell_type": "code", "execution_count": null, "id": "719f5e03", "metadata": { "execution": { "iopub.execute_input": "2024-05-09T14:30:25.866602Z", "iopub.status.busy": "2024-05-09T14:30:25.865343Z", "iopub.status.idle": "2024-05-09T14:30:26.209921Z", "shell.execute_reply": "2024-05-09T14:30:26.209285Z" } }, "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", "
allele_slugpositionamino_acidpeptide_length
0hla_a_01_012T9
1hla_a_01_013D9
2hla_a_01_019Y9
3hla_a_02_012L9
4hla_a_02_019L9
...............
319hla_g_01_031K9
320hla_g_01_041R9
321hla_g_01_043P9
322hla_g_01_041K9
323hla_g_01_049L9
\n", "

324 rows × 4 columns

\n", "
" ], "text/plain": [ " allele_slug position amino_acid peptide_length\n", "0 hla_a_01_01 2 T 9\n", "1 hla_a_01_01 3 D 9\n", "2 hla_a_01_01 9 Y 9\n", "3 hla_a_02_01 2 L 9\n", "4 hla_a_02_01 9 L 9\n", ".. ... ... ... ...\n", "319 hla_g_01_03 1 K 9\n", "320 hla_g_01_04 1 R 9\n", "321 hla_g_01_04 3 P 9\n", "322 hla_g_01_04 1 K 9\n", "323 hla_g_01_04 9 L 9\n", "\n", "[324 rows x 4 columns]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mhc_anchor_position_df = pd.read_csv('../data/external/mhc_motif_atlas.csv')\n", "mhc_anchor_position_df = mhc_anchor_position_df.query(\"grade in ('high', 'dominant')\")\n", "mhc_anchor_position_df = mhc_anchor_position_df.sort_values('allele_slug')\n", "mhc_anchor_position_df = mhc_anchor_position_df[['allele_slug', 'position', 'amino_acid', 'peptide_length']]\n", "mhc_anchor_position_df = mhc_anchor_position_df.reset_index(drop=True)\n", "\n", "mhc_anchor_position_df" ] }, { "cell_type": "markdown", "id": "1ca64e89", "metadata": {}, "source": [ "## Load *apo*-*holo* comparisons" ] }, { "cell_type": "code", "execution_count": 3, "id": "1c30eb3f", "metadata": { "execution": { "iopub.execute_input": "2024-05-09T14:30:26.215054Z", "iopub.status.busy": "2024-05-09T14:30:26.213831Z", "iopub.status.idle": "2024-05-09T14:30:26.837859Z", "shell.execute_reply": "2024-05-09T14:30:26.837206Z" } }, "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", "
complex_idstructure_x_namestructure_y_namechain_typeresidue_nameresidue_seq_idresidue_insert_codermsdca_distancechi_angle_changecom_distance
1815c0a_D-E-C-A-B_tcr_pmhc5c0a_D-E-C-A-B_tcr_pmhc.pdb5n1y_C-A-B_pmhc.pdbantigen_chainMET1NaN0.7005310.2371621.5706360.364628
1825c0a_D-E-C-A-B_tcr_pmhc5c0a_D-E-C-A-B_tcr_pmhc.pdb5n1y_C-A-B_pmhc.pdbantigen_chainVAL2NaN0.1145690.0893590.0094070.043732
1835c0a_D-E-C-A-B_tcr_pmhc5c0a_D-E-C-A-B_tcr_pmhc.pdb5n1y_C-A-B_pmhc.pdbantigen_chainTRP3NaN0.4008400.233532-0.0191150.363989
1845c0a_D-E-C-A-B_tcr_pmhc5c0a_D-E-C-A-B_tcr_pmhc.pdb5n1y_C-A-B_pmhc.pdbantigen_chainGLY4NaN0.4956180.262271NaN0.448252
1855c0a_D-E-C-A-B_tcr_pmhc5c0a_D-E-C-A-B_tcr_pmhc.pdb5n1y_C-A-B_pmhc.pdbantigen_chainPRO5NaN0.7344300.486409-0.8425950.536198
....................................
2093727rtr_D-E-C-A-B_tcr_pmhc7rtd_C-A-B_pmhc.pdb7rtr_D-E-C-A-B_tcr_pmhc.pdbantigen_chainARG5NaN1.0646630.1579240.3644320.705033
2093737rtr_D-E-C-A-B_tcr_pmhc7rtd_C-A-B_pmhc.pdb7rtr_D-E-C-A-B_tcr_pmhc.pdbantigen_chainTHR6NaN0.4218970.3454390.0977010.344074
2093747rtr_D-E-C-A-B_tcr_pmhc7rtd_C-A-B_pmhc.pdb7rtr_D-E-C-A-B_tcr_pmhc.pdbantigen_chainPHE7NaN1.2259820.317819-0.3478350.883236
2093757rtr_D-E-C-A-B_tcr_pmhc7rtd_C-A-B_pmhc.pdb7rtr_D-E-C-A-B_tcr_pmhc.pdbantigen_chainLEU8NaN1.3236150.3103560.6126720.270049
2093767rtr_D-E-C-A-B_tcr_pmhc7rtd_C-A-B_pmhc.pdb7rtr_D-E-C-A-B_tcr_pmhc.pdbantigen_chainLEU9NaN1.5999170.1929690.8853230.175807
\n", "

9857 rows × 11 columns

\n", "
" ], "text/plain": [ " complex_id structure_x_name \\\n", "181 5c0a_D-E-C-A-B_tcr_pmhc 5c0a_D-E-C-A-B_tcr_pmhc.pdb \n", "182 5c0a_D-E-C-A-B_tcr_pmhc 5c0a_D-E-C-A-B_tcr_pmhc.pdb \n", "183 5c0a_D-E-C-A-B_tcr_pmhc 5c0a_D-E-C-A-B_tcr_pmhc.pdb \n", "184 5c0a_D-E-C-A-B_tcr_pmhc 5c0a_D-E-C-A-B_tcr_pmhc.pdb \n", "185 5c0a_D-E-C-A-B_tcr_pmhc 5c0a_D-E-C-A-B_tcr_pmhc.pdb \n", "... ... ... \n", "209372 7rtr_D-E-C-A-B_tcr_pmhc 7rtd_C-A-B_pmhc.pdb \n", "209373 7rtr_D-E-C-A-B_tcr_pmhc 7rtd_C-A-B_pmhc.pdb \n", "209374 7rtr_D-E-C-A-B_tcr_pmhc 7rtd_C-A-B_pmhc.pdb \n", "209375 7rtr_D-E-C-A-B_tcr_pmhc 7rtd_C-A-B_pmhc.pdb \n", "209376 7rtr_D-E-C-A-B_tcr_pmhc 7rtd_C-A-B_pmhc.pdb \n", "\n", " structure_y_name chain_type residue_name \\\n", "181 5n1y_C-A-B_pmhc.pdb antigen_chain MET \n", "182 5n1y_C-A-B_pmhc.pdb antigen_chain VAL \n", "183 5n1y_C-A-B_pmhc.pdb antigen_chain TRP \n", "184 5n1y_C-A-B_pmhc.pdb antigen_chain GLY \n", "185 5n1y_C-A-B_pmhc.pdb antigen_chain PRO \n", "... ... ... ... \n", "209372 7rtr_D-E-C-A-B_tcr_pmhc.pdb antigen_chain ARG \n", "209373 7rtr_D-E-C-A-B_tcr_pmhc.pdb antigen_chain THR \n", "209374 7rtr_D-E-C-A-B_tcr_pmhc.pdb antigen_chain PHE \n", "209375 7rtr_D-E-C-A-B_tcr_pmhc.pdb antigen_chain LEU \n", "209376 7rtr_D-E-C-A-B_tcr_pmhc.pdb antigen_chain LEU \n", "\n", " residue_seq_id residue_insert_code rmsd ca_distance \\\n", "181 1 NaN 0.700531 0.237162 \n", "182 2 NaN 0.114569 0.089359 \n", "183 3 NaN 0.400840 0.233532 \n", "184 4 NaN 0.495618 0.262271 \n", "185 5 NaN 0.734430 0.486409 \n", "... ... ... ... ... \n", "209372 5 NaN 1.064663 0.157924 \n", "209373 6 NaN 0.421897 0.345439 \n", "209374 7 NaN 1.225982 0.317819 \n", "209375 8 NaN 1.323615 0.310356 \n", "209376 9 NaN 1.599917 0.192969 \n", "\n", " chi_angle_change com_distance \n", "181 1.570636 0.364628 \n", "182 0.009407 0.043732 \n", "183 -0.019115 0.363989 \n", "184 NaN 0.448252 \n", "185 -0.842595 0.536198 \n", "... ... ... \n", "209372 0.364432 0.705033 \n", "209373 0.097701 0.344074 \n", "209374 -0.347835 0.883236 \n", "209375 0.612672 0.270049 \n", "209376 0.885323 0.175807 \n", "\n", "[9857 rows x 11 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "apo_holo_comparison = pd.read_csv('../data/processed/apo-holo-tcr-pmhc-class-I-comparisons/pmhc_per_res_apo_holo.csv')\n", "\n", "peptide_apo_holo_comparison = apo_holo_comparison.query(\"chain_type == 'antigen_chain'\").copy()\n", "peptide_apo_holo_comparison" ] }, { "cell_type": "code", "execution_count": 4, "id": "3c0def20", "metadata": { "execution": { "iopub.execute_input": "2024-05-09T14:30:26.842941Z", "iopub.status.busy": "2024-05-09T14:30:26.841694Z", "iopub.status.idle": "2024-05-09T14:30:26.874125Z", "shell.execute_reply": "2024-05-09T14:30:26.873483Z" } }, "outputs": [], "source": [ "peptide_apo_holo_comparison['peptide_length'] = \\\n", " peptide_apo_holo_comparison.groupby(['complex_id',\n", " 'structure_x_name',\n", " 'structure_y_name']).transform('size')" ] }, { "cell_type": "code", "execution_count": 5, "id": "65e48572", "metadata": { "execution": { "iopub.execute_input": "2024-05-09T14:30:26.879077Z", "iopub.status.busy": "2024-05-09T14:30:26.877679Z", "iopub.status.idle": "2024-05-09T14:30:26.884920Z", "shell.execute_reply": "2024-05-09T14:30:26.884335Z" } }, "outputs": [], "source": [ "peptide_apo_holo_comparison['amino_acid'] = peptide_apo_holo_comparison['residue_name'].map(THREE_TO_ONE_CODE)" ] }, { "cell_type": "markdown", "id": "53e586f5", "metadata": {}, "source": [ "## Load summary data" ] }, { "cell_type": "code", "execution_count": 6, "id": "92f435d2", "metadata": { "execution": { "iopub.execute_input": "2024-05-09T14:30:26.889830Z", "iopub.status.busy": "2024-05-09T14:30:26.888595Z", "iopub.status.idle": "2024-05-09T14:30:26.917441Z", "shell.execute_reply": "2024-05-09T14:30:26.916825Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/var/scratch/bmcmaste/2178229/ipykernel_2204500/1956598565.py:2: FutureWarning: The default value of regex will change from True to False in a future version.\n", " summary_df['group_name'] = summary_df['file_name'].str.replace('.pdb', '')\n" ] }, { "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", "
file_namepdb_idstructure_typestatealpha_chainbeta_chainantigen_chainmhc_chain1mhc_chain2cdr_sequences_collatedpeptide_sequencemhc_sluggroup_name
01ao7_D-E-C-A-B_tcr_pmhc.pdb1ao7tcr_pmhcholoDECABDRGSQS-IYSNGD-AVTTDSWGKLQ-MNHEY-SVGAGI-ASRPGLA...LLFGYPVYVhla_a_02_011ao7_D-E-C-A-B_tcr_pmhc
11b0g_C-A-B_pmhc.pdb1b0gpmhcapoNaNNaNCABNaNALWGFFPVLhla_a_02_011b0g_C-A-B_pmhc
21b0g_F-D-E_pmhc.pdb1b0gpmhcapoNaNNaNFDENaNALWGFFPVLhla_a_02_011b0g_F-D-E_pmhc
31bd2_D-E-C-A-B_tcr_pmhc.pdb1bd2tcr_pmhcholoDECABNSMFDY-ISSIKDK-AAMEGAQKLV-MNHEY-SVGAGI-ASSYPGG...LLFGYPVYVhla_a_02_011bd2_D-E-C-A-B_tcr_pmhc
41bii_P-A-B_pmhc.pdb1biipmhcapoNaNNaNPABNaNRGPGRAFVTIh2_dd1bii_P-A-B_pmhc
..........................................
3867rtd_C-A-B_pmhc.pdb7rtdpmhcapoNaNNaNCABNaNYLQPRTFLLhla_a_02_017rtd_C-A-B_pmhc
3877rtr_D-E-C-A-B_tcr_pmhc.pdb7rtrtcr_pmhcholoDECABDRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQYYLQPRTFLLhla_a_02_017rtr_D-E-C-A-B_tcr_pmhc
3888gvb_A-B-P-H-L_tcr_pmhc.pdb8gvbtcr_pmhcholoABPHLYGATPY-YFSGDTLV-AVGFTGGGNKLT-SEHNR-FQNEAQ-ASSD...RYPLTFGWhla_a_24_028gvb_A-B-P-H-L_tcr_pmhc
3898gvg_A-B-P-H-L_tcr_pmhc.pdb8gvgtcr_pmhcholoABPHLYGATPY-YFSGDTLV-AVGFTGGGNKLT-SEHNR-FQNEAQ-ASSD...RFPLTFGWhla_a_24_028gvg_A-B-P-H-L_tcr_pmhc
3908gvi_A-B-P-H-L_tcr_pmhc.pdb8gvitcr_pmhcholoABPHLYGATPY-YFSGDTLV-AVVFTGGGNKLT-SEHNR-FQNEAQ-ASSL...RYPLTFGWhla_a_24_028gvi_A-B-P-H-L_tcr_pmhc
\n", "

391 rows × 13 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 group_name \n", "0 hla_a_02_01 1ao7_D-E-C-A-B_tcr_pmhc \n", "1 hla_a_02_01 1b0g_C-A-B_pmhc \n", "2 hla_a_02_01 1b0g_F-D-E_pmhc \n", "3 hla_a_02_01 1bd2_D-E-C-A-B_tcr_pmhc \n", "4 h2_dd 1bii_P-A-B_pmhc \n", ".. ... ... \n", "386 hla_a_02_01 7rtd_C-A-B_pmhc \n", "387 hla_a_02_01 7rtr_D-E-C-A-B_tcr_pmhc \n", "388 hla_a_24_02 8gvb_A-B-P-H-L_tcr_pmhc \n", "389 hla_a_24_02 8gvg_A-B-P-H-L_tcr_pmhc \n", "390 hla_a_24_02 8gvi_A-B-P-H-L_tcr_pmhc \n", "\n", "[391 rows x 13 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "summary_df = pd.read_csv('../data/processed/apo-holo-tcr-pmhc-class-I/apo_holo_summary.csv')\n", "summary_df['group_name'] = summary_df['file_name'].str.replace('.pdb', '')\n", "\n", "summary_df" ] }, { "cell_type": "markdown", "id": "d430a281", "metadata": {}, "source": [ "## Annotate *apo*-*holo* data with allele information" ] }, { "cell_type": "code", "execution_count": 7, "id": "9950a2a1", "metadata": { "execution": { "iopub.execute_input": "2024-05-09T14:30:26.925466Z", "iopub.status.busy": "2024-05-09T14:30:26.924209Z", "iopub.status.idle": "2024-05-09T14:30:26.959265Z", "shell.execute_reply": "2024-05-09T14:30:26.958637Z" } }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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_namestructure_y_namechain_typeresidue_nameresidue_seq_idresidue_insert_codermsdca_distancechi_angle_change...statealpha_chainbeta_chainantigen_chainmhc_chain1mhc_chain2cdr_sequences_collatedpeptide_sequencemhc_sluggroup_name
05c0a_D-E-C-A-B_tcr_pmhc5c0a_D-E-C-A-B_tcr_pmhc.pdb5n1y_C-A-B_pmhc.pdbantigen_chainMET1NaN0.7005310.2371621.570636...holoDECABNSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEK...MVWGPDPLYVhla_a_02_015c0a_D-E-C-A-B_tcr_pmhc
15c0a_D-E-C-A-B_tcr_pmhc5c0a_D-E-C-A-B_tcr_pmhc.pdb5n1y_C-A-B_pmhc.pdbantigen_chainVAL2NaN0.1145690.0893590.009407...holoDECABNSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEK...MVWGPDPLYVhla_a_02_015c0a_D-E-C-A-B_tcr_pmhc
25c0a_D-E-C-A-B_tcr_pmhc5c0a_D-E-C-A-B_tcr_pmhc.pdb5n1y_C-A-B_pmhc.pdbantigen_chainTRP3NaN0.4008400.233532-0.019115...holoDECABNSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEK...MVWGPDPLYVhla_a_02_015c0a_D-E-C-A-B_tcr_pmhc
35c0a_D-E-C-A-B_tcr_pmhc5c0a_D-E-C-A-B_tcr_pmhc.pdb5n1y_C-A-B_pmhc.pdbantigen_chainGLY4NaN0.4956180.262271NaN...holoDECABNSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEK...MVWGPDPLYVhla_a_02_015c0a_D-E-C-A-B_tcr_pmhc
45c0a_D-E-C-A-B_tcr_pmhc5c0a_D-E-C-A-B_tcr_pmhc.pdb5n1y_C-A-B_pmhc.pdbantigen_chainPRO5NaN0.7344300.486409-0.842595...holoDECABNSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEK...MVWGPDPLYVhla_a_02_015c0a_D-E-C-A-B_tcr_pmhc
..................................................................
98527rtr_D-E-C-A-B_tcr_pmhc7rtd_C-A-B_pmhc.pdb7rtr_D-E-C-A-B_tcr_pmhc.pdbantigen_chainARG5NaN1.0646630.1579240.364432...holoDECABDRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQYYLQPRTFLLhla_a_02_017rtr_D-E-C-A-B_tcr_pmhc
98537rtr_D-E-C-A-B_tcr_pmhc7rtd_C-A-B_pmhc.pdb7rtr_D-E-C-A-B_tcr_pmhc.pdbantigen_chainTHR6NaN0.4218970.3454390.097701...holoDECABDRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQYYLQPRTFLLhla_a_02_017rtr_D-E-C-A-B_tcr_pmhc
98547rtr_D-E-C-A-B_tcr_pmhc7rtd_C-A-B_pmhc.pdb7rtr_D-E-C-A-B_tcr_pmhc.pdbantigen_chainPHE7NaN1.2259820.317819-0.347835...holoDECABDRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQYYLQPRTFLLhla_a_02_017rtr_D-E-C-A-B_tcr_pmhc
98557rtr_D-E-C-A-B_tcr_pmhc7rtd_C-A-B_pmhc.pdb7rtr_D-E-C-A-B_tcr_pmhc.pdbantigen_chainLEU8NaN1.3236150.3103560.612672...holoDECABDRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQYYLQPRTFLLhla_a_02_017rtr_D-E-C-A-B_tcr_pmhc
98567rtr_D-E-C-A-B_tcr_pmhc7rtd_C-A-B_pmhc.pdb7rtr_D-E-C-A-B_tcr_pmhc.pdbantigen_chainLEU9NaN1.5999170.1929690.885323...holoDECABDRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQYYLQPRTFLLhla_a_02_017rtr_D-E-C-A-B_tcr_pmhc
\n", "

9857 rows × 26 columns

\n", "
" ], "text/plain": [ " complex_id structure_x_name \\\n", "0 5c0a_D-E-C-A-B_tcr_pmhc 5c0a_D-E-C-A-B_tcr_pmhc.pdb \n", "1 5c0a_D-E-C-A-B_tcr_pmhc 5c0a_D-E-C-A-B_tcr_pmhc.pdb \n", "2 5c0a_D-E-C-A-B_tcr_pmhc 5c0a_D-E-C-A-B_tcr_pmhc.pdb \n", "3 5c0a_D-E-C-A-B_tcr_pmhc 5c0a_D-E-C-A-B_tcr_pmhc.pdb \n", "4 5c0a_D-E-C-A-B_tcr_pmhc 5c0a_D-E-C-A-B_tcr_pmhc.pdb \n", "... ... ... \n", "9852 7rtr_D-E-C-A-B_tcr_pmhc 7rtd_C-A-B_pmhc.pdb \n", "9853 7rtr_D-E-C-A-B_tcr_pmhc 7rtd_C-A-B_pmhc.pdb \n", "9854 7rtr_D-E-C-A-B_tcr_pmhc 7rtd_C-A-B_pmhc.pdb \n", "9855 7rtr_D-E-C-A-B_tcr_pmhc 7rtd_C-A-B_pmhc.pdb \n", "9856 7rtr_D-E-C-A-B_tcr_pmhc 7rtd_C-A-B_pmhc.pdb \n", "\n", " structure_y_name chain_type residue_name residue_seq_id \\\n", "0 5n1y_C-A-B_pmhc.pdb antigen_chain MET 1 \n", "1 5n1y_C-A-B_pmhc.pdb antigen_chain VAL 2 \n", "2 5n1y_C-A-B_pmhc.pdb antigen_chain TRP 3 \n", "3 5n1y_C-A-B_pmhc.pdb antigen_chain GLY 4 \n", "4 5n1y_C-A-B_pmhc.pdb antigen_chain PRO 5 \n", "... ... ... ... ... \n", "9852 7rtr_D-E-C-A-B_tcr_pmhc.pdb antigen_chain ARG 5 \n", "9853 7rtr_D-E-C-A-B_tcr_pmhc.pdb antigen_chain THR 6 \n", "9854 7rtr_D-E-C-A-B_tcr_pmhc.pdb antigen_chain PHE 7 \n", "9855 7rtr_D-E-C-A-B_tcr_pmhc.pdb antigen_chain LEU 8 \n", "9856 7rtr_D-E-C-A-B_tcr_pmhc.pdb antigen_chain LEU 9 \n", "\n", " residue_insert_code rmsd ca_distance chi_angle_change ... state \\\n", "0 NaN 0.700531 0.237162 1.570636 ... holo \n", "1 NaN 0.114569 0.089359 0.009407 ... holo \n", "2 NaN 0.400840 0.233532 -0.019115 ... holo \n", "3 NaN 0.495618 0.262271 NaN ... holo \n", "4 NaN 0.734430 0.486409 -0.842595 ... holo \n", "... ... ... ... ... ... ... \n", "9852 NaN 1.064663 0.157924 0.364432 ... holo \n", "9853 NaN 0.421897 0.345439 0.097701 ... holo \n", "9854 NaN 1.225982 0.317819 -0.347835 ... holo \n", "9855 NaN 1.323615 0.310356 0.612672 ... holo \n", "9856 NaN 1.599917 0.192969 0.885323 ... holo \n", "\n", " alpha_chain beta_chain antigen_chain mhc_chain1 mhc_chain2 \\\n", "0 D E C A B \n", "1 D E C A B \n", "2 D E C A B \n", "3 D E C A B \n", "4 D E C A B \n", "... ... ... ... ... ... \n", "9852 D E C A B \n", "9853 D E C A B \n", "9854 D E C A B \n", "9855 D E C A B \n", "9856 D E C A B \n", "\n", " cdr_sequences_collated peptide_sequence \\\n", "0 NSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEK... MVWGPDPLYV \n", "1 NSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEK... MVWGPDPLYV \n", "2 NSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEK... MVWGPDPLYV \n", "3 NSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEK... MVWGPDPLYV \n", "4 NSAFQY-TYSSGN-AMRGDSSYKLI-SGHDY-FNNNVP-ASSLWEK... MVWGPDPLYV \n", "... ... ... \n", "9852 DRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQY YLQPRTFLL \n", "9853 DRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQY YLQPRTFLL \n", "9854 DRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQY YLQPRTFLL \n", "9855 DRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQY YLQPRTFLL \n", "9856 DRGSQS-IYSNGD-AVNRDDKII-SEHNR-FQNEAQ-ASSPDIEQY YLQPRTFLL \n", "\n", " mhc_slug group_name \n", "0 hla_a_02_01 5c0a_D-E-C-A-B_tcr_pmhc \n", "1 hla_a_02_01 5c0a_D-E-C-A-B_tcr_pmhc \n", "2 hla_a_02_01 5c0a_D-E-C-A-B_tcr_pmhc \n", "3 hla_a_02_01 5c0a_D-E-C-A-B_tcr_pmhc \n", "4 hla_a_02_01 5c0a_D-E-C-A-B_tcr_pmhc \n", "... ... ... \n", "9852 hla_a_02_01 7rtr_D-E-C-A-B_tcr_pmhc \n", "9853 hla_a_02_01 7rtr_D-E-C-A-B_tcr_pmhc \n", "9854 hla_a_02_01 7rtr_D-E-C-A-B_tcr_pmhc \n", "9855 hla_a_02_01 7rtr_D-E-C-A-B_tcr_pmhc \n", "9856 hla_a_02_01 7rtr_D-E-C-A-B_tcr_pmhc \n", "\n", "[9857 rows x 26 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "peptide_apo_holo_comparison = peptide_apo_holo_comparison.merge(summary_df, how='left', left_on='complex_id', right_on='group_name')\n", "peptide_apo_holo_comparison" ] }, { "cell_type": "markdown", "id": "850a1234", "metadata": {}, "source": [ "## Combine anchoring information with *apo*-*holo* comparisons" ] }, { "cell_type": "code", "execution_count": 8, "id": "a0029bc7", "metadata": { "execution": { "iopub.execute_input": "2024-05-09T14:30:26.964270Z", "iopub.status.busy": "2024-05-09T14:30:26.963038Z", "iopub.status.idle": "2024-05-09T14:30:26.968222Z", "shell.execute_reply": "2024-05-09T14:30:26.967612Z" } }, "outputs": [], "source": [ "mhc_anchor_position_df['anchor'] = True" ] }, { "cell_type": "code", "execution_count": 9, "id": "62a7fca9", "metadata": { "execution": { "iopub.execute_input": "2024-05-09T14:30:26.973602Z", "iopub.status.busy": "2024-05-09T14:30:26.972358Z", "iopub.status.idle": "2024-05-09T14:30:26.986452Z", "shell.execute_reply": "2024-05-09T14:30:26.985827Z" } }, "outputs": [], "source": [ "peptide_apo_holo_comparison = peptide_apo_holo_comparison.merge(\n", " mhc_anchor_position_df,\n", " how='left',\n", " left_on=['mhc_slug', 'residue_seq_id', 'amino_acid', 'peptide_length'],\n", " right_on=['allele_slug', 'position', 'amino_acid', 'peptide_length'],\n", ")" ] }, { "cell_type": "code", "execution_count": 10, "id": "f7376871", "metadata": { "execution": { "iopub.execute_input": "2024-05-09T14:30:26.991184Z", "iopub.status.busy": "2024-05-09T14:30:26.989947Z", "iopub.status.idle": "2024-05-09T14:30:27.427566Z", "shell.execute_reply": "2024-05-09T14:30:27.426859Z" } }, "outputs": [], "source": [ "def collate_anchors(group: pd.DataFrame) -> list[int]:\n", " return sorted(group[group['anchor'] == True]['residue_seq_id'].unique().tolist())\n", "\n", "anchoring_strategies = peptide_apo_holo_comparison.groupby(['structure_x_name', 'structure_y_name']).apply(collate_anchors)\n", "anchoring_strategies.name = 'anchoring_strategy'\n", "anchoring_strategies = anchoring_strategies.reset_index()\n", "\n", "peptide_apo_holo_comparison = peptide_apo_holo_comparison.merge(anchoring_strategies, how='left', on=['structure_x_name', 'structure_y_name'])" ] }, { "cell_type": "code", "execution_count": 11, "id": "fa7e9fe8", "metadata": { "execution": { "iopub.execute_input": "2024-05-09T14:30:27.433533Z", "iopub.status.busy": "2024-05-09T14:30:27.432249Z", "iopub.status.idle": "2024-05-09T14:30:27.445293Z", "shell.execute_reply": "2024-05-09T14:30:27.444708Z" } }, "outputs": [], "source": [ "def markup_anchor(anchors: list[int]) -> str:\n", " anchors = [f'p{anchor}' for anchor in anchors]\n", " return '-'.join(anchors)\n", " \n", "peptide_apo_holo_comparison['anchoring_strategy_str'] = peptide_apo_holo_comparison['anchoring_strategy'].map(markup_anchor)" ] }, { "cell_type": "code", "execution_count": 12, "id": "93015461", "metadata": { "execution": { "iopub.execute_input": "2024-05-09T14:30:27.450149Z", "iopub.status.busy": "2024-05-09T14:30:27.448930Z", "iopub.status.idle": "2024-05-09T14:30:27.473585Z", "shell.execute_reply": "2024-05-09T14:30:27.472981Z" } }, "outputs": [], "source": [ "def find_dominant_anchor(group: pd.DataFrame) -> str:\n", " anchor_types = group['anchoring_strategy_str'].unique()\n", " lengths = np.array([len(anchor) for anchor in anchor_types])\n", " index = np.argmax(lengths)\n", " \n", " return anchor_types[index]\n", "\n", "dominant_anchors = peptide_apo_holo_comparison.groupby('mhc_slug').apply(find_dominant_anchor)\n", "dominant_anchors.name = 'dominant_anchor'\n", "dominant_anchors = dominant_anchors.reset_index()\n", "\n", "peptide_apo_holo_comparison = peptide_apo_holo_comparison.merge(dominant_anchors, how='left', on='mhc_slug')" ] }, { "cell_type": "markdown", "id": "789e6b14", "metadata": {}, "source": [ "The below correction is applied as it is assumed that those peptide marked as solely 'p2' or 'p9' anchors are most likely still anchored by something at either end that is not necessarily the high or dominant motif." ] }, { "cell_type": "code", "execution_count": 13, "id": "73d9f07c", "metadata": {}, "outputs": [], "source": [ "peptide_apo_holo_comparison['dominant_anchor'] = peptide_apo_holo_comparison['dominant_anchor'].map(\n", " lambda strategy: 'p2-p9' if strategy in ('p2', 'p9') else strategy\n", ")" ] }, { "cell_type": "code", "execution_count": 14, "id": "8fc31a01", "metadata": {}, "outputs": [], "source": [ "peptide_apo_holo_comparison_with_anchor = peptide_apo_holo_comparison.query(\"anchoring_strategy_str != ''\")" ] }, { "cell_type": "markdown", "id": "84e45300", "metadata": {}, "source": [ "## Visualising the results" ] }, { "cell_type": "code", "execution_count": 15, "id": "a8812f9c", "metadata": { "execution": { "iopub.execute_input": "2024-05-09T14:30:27.478678Z", "iopub.status.busy": "2024-05-09T14:30:27.477454Z", "iopub.status.idle": "2024-05-09T14:30:30.679102Z", "shell.execute_reply": "2024-05-09T14:30:30.678439Z" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/EAAAHqCAYAAABMT87kAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABFqElEQVR4nO3deXiNd/7/8dfJIntCEIkl9r12VUFLhwpFozqobmo3ZVAtaurb0AUz1na0RQ26jNJlyOiopSq0qFpCq611FLXXFjkIks/vj/56pqeC7Pe5j+fjuu7rcq/n/YnW+37lXo7DGGMEAAAAAAA8no/VBQAAAAAAgOwhxAMAAAAAYBOEeAAAAAAAbIIQDwAAAACATRDiAQAAAACwCUI8AAAAAAA2QYgHAAAAAMAmCPEAAAAAANgEIR4AAAAAAJsgxANZaNWqlYYNG1bgn1OhQgVNnz69wD/HDubPn6+iRYtaXQYA4HfoiYWPngjgZgjxgIU2b96s/v37F/rncqJU8H788Uf16dNHFStWVFBQkCpXrqzExERduXIlz8e+evWqXnzxRVWuXFmBgYGqV6+eli9fng9VA4B16IneqyB74vz58+VwONymwMDAfKha2rZtm+677z4VLVpUxYsXV//+/ZWWlpYvxwbyws/qAoDbWcmSJa0uwetdvXpV/v7+hf65u3btUmZmpmbNmqUqVapo586d6tevn5xOpyZPnpynY48ZM0bvvfee3nrrLdWoUUMrVqzQgw8+qA0bNqhBgwb5NAIAKFz0xILnjT1RksLDw7V7927XvMPhyPMxjx49qjZt2qh79+6aMWOGUlNTNWzYMD355JP66KOP8nx8IE8McJtLS0szjz/+uAkJCTHR0dFm8uTJpmXLlmbo0KGubc6cOWMef/xxU7RoURMUFGTatWtn9uzZ41o/b948ExERYZYuXWqqVatmgoKCzEMPPWScTqeZP3++KV++vClatKj585//bK5du+bar3z58mbatGmueUnmrbfeMp07dzZBQUGmSpUqJikpybX+2rVrpnfv3qZChQomMDDQVKtWzUyfPt1tPD179jQJCQlm0qRJJjo62kRGRpqnnnrKXLlyxRhjTMuWLY0kt+lWfv75Z/Pwww+b0qVLm6CgIHPHHXeYBQsWuG3TsmVL8+c//9mMGDHCFCtWzJQqVcokJia6bXP27FnTv39/ExUVZQICAkzt2rXN0qVL3X6Gy5cvNzVq1DAhISEmPj7eHD161LV/RkaGGTdunClTpowpUqSIqVevnvn0009d6w8cOGAkmYULF5p77rnHBAQEmHnz5t1yfLkhybzxxhumXbt2JjAw0FSsWNF8+OGHN93nb3/7m6lYseJNt0lMTDT16tUzM2fONGXLljVBQUGma9eu5ty5c65tYmJizIwZM9z269Kli3n00UdzPyAAMPREemLuWNkTf/1Z5XfNs2bNMlFRUSYjI8O17JtvvjGSzN69e3P8eUB+IsTjtvenP/3JxMbGms8++8x88803pmPHjiYsLMzthOWBBx4wNWvWNOvWrTPbt2838fHxpkqVKq6TgHnz5hl/f39z3333mW3btpm1a9ea4sWLm7Zt25pu3bqZ7777zixdutQUKVLELFy40HXcrE5YypYtaxYsWGD27t1rhgwZYkJDQ83p06eNMcZcuXLFvPDCC2bz5s3mv//9r3nvvfdMcHCwWbRokesYPXv2NOHh4WbgwIHmhx9+MEuXLjXBwcFm9uzZxhhjTp8+bcqWLWtefPFFc+zYMXPs2LFb/ox++uknM2nSJJOSkmL2799vXnvtNePr62s2bdrk2qZly5YmPDzcjB071uzZs8e8/fbbxuFwmJUrVxpjfjnZaNq0qaldu7ZZuXKl2b9/v1m6dKlZtmyZ28+wTZs2ZvPmzWbr1q2mZs2a5pFHHnF9xtSpU014eLh5//33za5du8zIkSONv7+/6+Tx1xOWChUqmI8//tj897//dTvh+a127dqZkJCQG061atW66c9EkilevLh56623zO7du82YMWOMr6+v+f7772+4z/PPP28aNWp00+MmJiaakJAQ84c//MGkpKSYtWvXmipVqrj9HCIjI82cOXPc9nv00UdN+fLlb3psALgVeiI90W49cd68ecbX19fExsaasmXLmgceeMDs3LnzpsfNTs2vvfaaKVu2rNs+e/fuNZIK7JchQHYR4nFbu3DhgilSpIj54IMPXMtOnz5tgoKCXCcse/bsMZLM+vXrXdv8/PPPJigoyLXfvHnzjCSzb98+1zYDBgwwwcHB5sKFC65l8fHxZsCAAa75rE5YxowZ45pPS0szktx+s/57gwYNMg899JBrvmfPnqZ8+fJuVze6du1qunfvfsPPzY0OHTqYZ555xjXfsmVL06JFC7dt7rzzTjNq1ChjjDErVqwwPj4+Zvfu3VkeL6uf4euvv25KlSrlmi9durR55ZVXrvuMp556yhjzvxOW31+JycpPP/1k9u7de8Ppxx9/vOn+kszAgQPdlt11113mT3/6U5bb792714SHh7tOHG8kMTHR+Pr6mp9++sm17NNPPzU+Pj6uk8sePXqYWrVqmT179piMjAyzcuVKExQUZIoUKXLLcQPAjdATc4+eaF1P3LBhg3n77bdNSkqKSU5ONh07djTh4eHm8OHDeap5586dxs/Pz/ztb38z6enp5syZM+ahhx4yksz48eNvemygoPFMPG5r+/fv15UrV3TXXXe5lkVGRqp69equ+R9++EF+fn5u2xQvXlzVq1fXDz/84FoWHBysypUru+ZLlSqlChUqKDQ01G3ZyZMnb1pT3bp1XX8OCQlReHi42z6vv/665s6dq0OHDunSpUu6cuWK6tev73aM2rVry9fX1zUfExOjb7/99qafezMZGRkaP368PvjgAx05ckRXrlxRenq6goODb1j7r5/7a+3bt29X2bJlVa1atRt+zu9/hr/dPzU1VUePHlXz5s3d9mnevLl27Njhtqxx48a3HFOZMmVuuc2txMXFXTe/ffv267Y7cuSI2rVrp65du6pfv36u5b/9b+Oxxx7TzJkzJUmxsbFu9cXFxSkzM1O7d+9WdHS0Xn31VfXr1081atSQw+FQ5cqV1atXL82dOzfPYwJw+6InZg89MWtW9cS4uDi3z27WrJlq1qypWbNm6aWXXtL48eM1fvx41/rvv/9esbGxt6y5du3aevvttzV8+HCNHj1avr6+GjJkiEqVKiUfH94NDmsR4oF88vsXxTgcjiyXZWZm5vg4v+6zcOFCPfvss5oyZYri4uIUFhamSZMmadOmTdk+Rm5MmjRJr776qqZPn646deooJCREw4YNu+6tsjf73KCgoFt+Tlb7G2NyXG9ISMgtt2nfvr2++OKLG64vX768vvvuuxx/9u8dPXpU9957r5o1a6bZs2e7rfvtyU14eHi2j1myZEktWbJEly9f1unTp1W6dGk999xzqlSpUp7rBYD8QE+kJ2alIHri7/n7+6tBgwbat2+fJGngwIHq1q2ba33p0qWzfaxHHnlEjzzyiE6cOKGQkBA5HA5NnTqVfgvLEeJxW6tcubL8/f21adMm129lz549qz179qhly5aSpJo1a+ratWvatGmTmjVrJkk6ffq0du/erVq1ahVqvevXr1ezZs301FNPuZbt378/x8cpUqSIMjIycvS5CQkJeuyxxyRJmZmZ2rNnT47GX7duXf3000/as2fPTa883Eh4eLhKly6t9evXu/5ufq2tSZMmOT7enDlzdOnSpRuuz87be7/66is98cQTbvO/fTv8kSNHdO+996pRo0aaN2/edb+5r1KlSpbHPXTokI4ePeo60fjqq6/k4+PjdjVMkgIDA1WmTBldvXpVH3/8sdtJCgDkFD0x+59LT7ye1T3xVxkZGfr22291//33S/rlbpLIyMhc1fyrUqVKSZLmzp2rwMBA3XfffVkeDygshHjc1kJDQ9WnTx+NGDFCxYsXV1RUlJ5//nm3xlK1alUlJCSoX79+mjVrlsLCwvTcc8+pTJkySkhIKNR6q1atqnfeeUcrVqxQxYoV9e6772rz5s2qWLFijo5ToUIFrVu3Tg8//LACAgJUokSJW37uRx99pA0bNqhYsWKaOnWqTpw4kaMTlpYtW+qee+7RQw89pKlTp6pKlSratWuXHA6H2rVrl61jjBgxQomJiapcubLq16+vefPmafv27frnP/+Z7Tp+lR+3Dn744Ydq3LixWrRooX/+85/6+uuv9Y9//EPSLycrrVq1Uvny5TV58mSdOnXKtV90dPRNjxsYGKiePXtq8uTJSk1N1ZAhQ9StWzfXfps2bdKRI0dUv359HTlyRGPHjlVmZqZGjhyZ5zEBuH3RE+mJeWFVT3zxxRfVtGlTValSRefOndOkSZN08OBB9e3bN081S9KMGTPUrFkzhYaGatWqVRoxYoQmTpyookWL5uInBOQfQjxue5MmTVJaWpo6deqksLAwPfPMMzp//rzbNvPmzdPQoUPVsWNHXblyRffcc4+WLVtW6N+1OmDAAKWkpKh79+5yOBzq0aOHnnrqKX366ac5Os6LL76oAQMGqHLlykpPT7/l7XljxozRf//7X8XHxys4OFj9+/dX586dr/s53crHH3+sZ599Vj169JDT6VSVKlU0ceLEbO8/ZMgQnT9/Xs8884xOnjypWrVq6d///reqVq2aozryy7hx47Rw4UI99dRTiomJ0fvvv+86iVu1apX27dunffv2qWzZsm773ernXaVKFXXp0kX333+/zpw5o44dO+qNN95wrb98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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "g = sns.catplot(peptide_apo_holo_comparison_with_anchor,\n", " col='dominant_anchor',\n", " x='residue_seq_id', y='rmsd',\n", " sharex=False,\n", " color='salmon',\n", " kind='bar')\n", "\n", "def annotate(data, **kws):\n", " groups = data.groupby(['mhc_slug', 'peptide_sequence'])\n", " ax = plt.gca()\n", " ax.text(0.45, 0.9, f'n={len(groups)}', fontsize=16, transform=ax.transAxes)\n", "\n", "g.map_dataframe(annotate)" ] }, { "cell_type": "code", "execution_count": 16, "id": "7d5be643", "metadata": { "execution": { "iopub.execute_input": "2024-05-09T14:30:30.683741Z", "iopub.status.busy": "2024-05-09T14:30:30.682713Z", "iopub.status.idle": "2024-05-09T14:30:34.593874Z", "shell.execute_reply": "2024-05-09T14:30:34.593204Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "hla_a_02_01\n", "p2-p9\n" ] }, { "data": { "image/png": "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Lrv9vLw8zZ49W2+++aZeffVVPfroo1q/fr3GjBmj06dPa+HChcrIyKjzvg4dOjRgbwDYQlEB2oDhw4frD3/4g3r16qV27er/Z+/xeJSSkqKUlBQ99thjSkxMVH5+vubOnVtrvWuvvVbt27fX9u3blZCQIEk6ceKE9u7dq1tuucW/Xrdu3XTkyBH/fGlpqc6cOVMr06uvvqqYmBhFRUU1aL+GDRumYcOGKScnR8nJyVq5cqXGjBmj4cOHa8+ePbruuuvqfV///v1VXl6uI0eO+I/CvPvuuw3K8M323njjjVrLGrM9AH/HYFqgDcjKytLx48c1depUFRcXa9++fSosLNSMGTNUXV2t7du3a/HixSopKdGhQ4f0+uuv68svv1T//v3rbCsiIkKzZs3SvHnz9Oc//1m7d+/W9OnTFRRU+8fJbbfdpl/96lf64IMPVFJSovvvv1/t27f3v56ZmamuXbsqPT1dW7Zs0f79+1VUVKTZs2frr3/96yX3Z//+/crJydG2bdt08OBBrVu3TqWlpf68jz32mF588UUtXLhQH330kT755BOtWrVKjz76qCQpNTVVffv21bRp07Rr1y5t2bJFjzzySIP/fu+//36VlpZq3rx52rNnj1auXFnr6iYADUdRAdqAuLg4vfPOO6qurlZaWpoGDx6s7OxsderUSUFBQYqKitLmzZv1/e9/X3379tWjjz6qpUuXauLEifVu78knn9TYsWM1efJkpaam6qabbqo1JkaSli5dqvj4eI0dO1b/9E//pIceekgdO3b0v96xY0dt3rxZCQkJysjIUP/+/TVr1iydPXv2skdYOnbsqE8//VT/+I//qL59++q+++5TVlaW/vVf/1WSNGHCBK1Zs0br1q3TyJEjNWbMGP3iF79QYmKiJCkoKEj5+fn66quvNGrUKN177721xrNcrYSEBP3hD39QQUGBhg4dquXLl2vx4sUN3h6Av/OY755EBoA2yuPxKD8//7KPCwDQfDiiAgAAnEVRAeCkiIiIi05btmxp0s9evHjxRT/7YqfDADQNTv0AcFJZWdlFX+vRo4fCwsKa7LOPHz+u48eP1/taWFiYevTo0WSfDaA2igoAAHAWp34AAICzKCoAAMBZFBUAAOAsigoAAHAWRQUAADiLogIAAJxFUQEAAM76f3lfFmRynvG2AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "hla_a_24_02\n", "p2-p9\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAG2CAYAAABRfK0WAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAmPklEQVR4nO3de3CV5YHH8d9JQkLI5UCASAJJABXCfUFuIaIiMSylTGy24rBx5ea67sZCpDKYykoZKsFxUXfbCl7a4KUIXWuCZQrhUgMoiAkIFS+QIJeUorhcciDIAZJ3/3A89ZhwS07yPEm+n5l3hvc973nP70VJfvM+z3lfl+M4jgAAACwUZDoAAADA5VBUAACAtSgqAADAWhQVAABgLYoKAACwFkUFAABYi6ICAACsRVEBAADWoqgAAABrUVQAAIC1jBaV7t27y+Vy1Vqys7NNxgIAAJYIMfnhJSUlqq6u9q3v3btXd911l+655x6DqQAAgC1cNj2UMCcnR2vWrFFZWZlcLpfpOAAAwDCjV1S+68KFC3r99dc1e/bsy5YUr9crr9frW6+pqdHJkyfVsWNHig0AAM2E4zg6c+aM4uPjFRR05Vko1hSVwsJCnT59WlOnTr3sPnl5eVqwYEHThQIAAI2moqJC3bp1u+I+1gz9jBs3TqGhofrjH/942X2+f0WlsrJSiYmJqqioUHR0dFPEBAAADeTxeJSQkKDTp0/L7XZfcV8rrqgcPnxYGzdu1FtvvXXF/cLCwhQWFlZre3R0NEUFAIBm5lqmbVhxH5X8/HzFxsZqwoQJpqMAAACLGC8qNTU1ys/P15QpUxQSYsUFHgAAYAnjRWXjxo06cuSIpk+fbjoKAACwjPFLGOnp6bJkPi8AALCM8SsqAAAAl0NRAQAA1qKoAAAAa1FUAACAtSgqAADAWhQVAABgLYoKAACwFkUFAABYi6ICAACsRVEBAADWoqgAAABrUVQAAIC1KCoAAMBaFBUAAGAtigoAALAWRQUAAFiLogIAAKxFUQEAANaiqAAAAGtRVAAAgLUoKgAAwFoUFQAAYC2KCgAAsBZFBQAAWIuiAgAArEVRAQAA1qKoAAAAa1FUAACAtSgqAADAWhQVAABgLYoKAACwFkUFAABYi6ICAACsRVEBAADWoqgAAABrUVQAAIC1KCoAAMBaFBUAAGAtigoAALAWRQUAAFiLogIAAKxFUQEAANYyXlSOHj2q++67Tx07dlR4eLgGDBig0tJS07EAAIAFQkx++KlTp5SamqoxY8Zo7dq16ty5s8rKytShQweTsQAAgCWMFpWnnnpKCQkJys/P923r0aOHwUQAAMAmRod+3n77bQ0dOlT33HOPYmNjNXjwYL300kuX3d/r9crj8fgtAACg5TJaVD7//HMtXbpUN998s4qKivTv//7vmjlzpl555ZU698/Ly5Pb7fYtCQkJTZwYAAA0JZfjOI6pDw8NDdXQoUO1bds237aZM2eqpKRE27dvr7W/1+uV1+v1rXs8HiUkJKiyslLR0dFNkhkAADSMx+OR2+2+pt/fRq+oxMXFqW/fvn7b+vTpoyNHjtS5f1hYmKKjo/0WAADQchktKqmpqdq3b5/ftv379yspKclQIgAAYBOjReWRRx7R+++/r0WLFqm8vFwrVqzQiy++qOzsbJOxAACAJYwWlWHDhqmgoEBvvPGG+vfvr4ULF+q5555TVlaWyVgAAMASRifTNtT1TMYBAAB2aDaTaQEAAK6EogIAAKxFUQEAANaiqAAAAGtRVAAAgLUoKgAAwFoUFQAAYC2KCgAAsBZFBQAAWIuiAgAArEVRAQAA1qKoAAAAa1FUAACAtSgqAADAWhQVAABgLYoKAACwFkUFAABYi6ICAACsRVEBAADWoqgAAABrUVQAAIC1KCoAAMBaFBUAAGAtigoAALAWRQUAAFiLogIAAKxFUQEAANaiqAAAAGtRVAAAgLUoKgAAwFoUFQAAYC2KCgAAsBZFBQAAWIuiAgAArEVRAQAA1qKoAAAAa1FUAACAtSgqAADAWhQVAABgLYoKAACwFkUFAABYi6ICAACsZbSo/PznP5fL5fJbkpOTTUYCAAAWCTEdoF+/ftq4caNvPSTEeCQAAGAJ460gJCREXbp0MR0DAABYyPgclbKyMsXHx6tnz57KysrSkSNHLruv1+uVx+PxWwAAQMtltKiMGDFCy5cv17p167R06VIdPHhQo0eP1pkzZ+rcPy8vT26327ckJCQ0cWIAANCUXI7jOKZDfOv06dNKSkrSM888oxkzZtR63ev1yuv1+tY9Ho8SEhJUWVmp6OjopowKAADqyePxyO12X9Pvb+NzVL6rffv26tWrl8rLy+t8PSwsTGFhYU2cCgAAmGJ8jsp3nT17VgcOHFBcXJzpKAAAwAJGi8qjjz6qzZs369ChQ9q2bZt+9KMfKTg4WJMnTzYZCwAAWMLo0M9f//pXTZ48WSdOnFDnzp1166236v3331fnzp1NxgIAAJYwWlRWrlxp8uMBAIDlrJqjAgAA8F0UFQAAYC2KCgAAsBZFBQAAWIuiAgAArEVRAQAA1qKoAAAAa1FUAACAtSgqAADAWhQVAABgLYoKAACwFkUFAABYi6ICAACsRVEBAADWoqgAAABrUVQAAIC1KCoAAMBaFBUAAGAtigoAALAWRQUAAFiLogIAAKxFUQEAANaiqAAAAGtRVAAAgLUoKgAAwFoUFQAAYC2KCgAAsBZFBQAAWIuiAgAArEVRAQAA1qKoAAAAa1FUAACAtSgqAADAWhQVAABgLYoKAACwFkUFAABYi6ICAACsRVEBAADWoqgAAABrUVQAAIC1KCoAAMBa1hSVxYsXy+VyKScnx3QUAABgCSuKSklJiV544QUNHDjQdBQAAGAR40Xl7NmzysrK0ksvvaQOHTqYjgMAACxivKhkZ2drwoQJSktLu+q+Xq9XHo/HbwEAAC1XiMkPX7lypXbt2qWSkpJr2j8vL08LFixo5FQAAMAWxq6oVFRUaNasWfrd736ntm3bXtN7cnNzVVlZ6VsqKioaOSUAADDJ5TiOY+KDCwsL9aMf/UjBwcG+bdXV1XK5XAoKCpLX6/V7rS4ej0dut1uVlZWKjo5u7MgAACAAruf3t7Ghn7Fjx+qjjz7y2zZt2jQlJydr7ty5Vy0pAACg5TNWVKKiotS/f3+/bREREerYsWOt7QAAoHUy/q0fAACAyzH6rZ/vKy4uNh0BAABYhCsqAADAWhQVAABgLYoKAACwFkUFAABYi6ICAACsRVEBAADWoqgAAABrXfN9VDIzM6/5oG+99Va9wgAAAHzXNV9RcbvdviU6OlqbNm1SaWmp7/WdO3dq06ZNcrvdjRIUAAC0Ptd8RSU/P9/357lz52rSpElatmyZ7+GB1dXV+o//+A+eYgwAAALG5TiOc71v6ty5s95991317t3bb/u+ffs0atQonThxImABr+R6HhMNAADscD2/v+s1mfbSpUv67LPPam3/7LPPVFNTU59DAgAA1FKvhxJOmzZNM2bM0IEDBzR8+HBJ0o4dO7R48WJNmzYtoAEBAEDrVa+i8l//9V/q0qWLlixZomPHjkmS4uLiNGfOHP30pz8NaEAAANB61WuOynd5PB5JMjJHhDkqAAA0P40+R+Xrr7/WuXPnJH1TUE6dOqXnnntO69evr8/hAAAA6lSvopKRkaFXX31VknT69GkNHz5cS5YsUUZGhpYuXRrQgAAAoPWqV1HZtWuXRo8eLUl688031aVLFx0+fFivvvqq/ud//iegAQEAQOtVr6Jy7tw5RUVFSZLWr1+vzMxMBQUFaeTIkTp8+HBAAwIAgNarXkXlpptuUmFhoSoqKlRUVKT09HRJ0vHjx5nUCgAAAqZeReWJJ57Qo48+qu7du2vEiBFKSUmR9M3VlcGDBwc0IAAAaL3q/fXkL774QseOHdOgQYMUFPRN3/nggw8UHR2t5OTkgIa8HL6eDABA83M9v7/rdcM3SerSpYu6dOnit+3bu9QCAAAEQr2Kyvnz5/XLX/5S77zzjo4fP17r+T67du0KSDgAANC61auozJgxQ+vXr9ePf/xjDR8+XC6XK9C5AAAA6ldU1qxZoz/96U9KTU0NdB4AAACfen3rp2vXrr77qAAAADSWehWVJUuWaO7cudzcDQAANKp6Df0MHTpU58+fV8+ePdWuXTu1adPG7/WTJ08GJBwAAGjd6lVUJk+erKNHj2rRokW64YYbmEwLAAAaRb2KyrZt27R9+3YNGjQo0HkAAAB86jVHJTk5WV9//XWgswAAAPipV1FZvHixfvrTn6q4uFgnTpyQx+PxWwAAAAKhXs/6+fbZPt+fm+I4jlwul6qrqwOT7ip41g8AAM1Poz7r5+LFi5KkZcuWqXfv3vVLCAAAcA2uu6i0adNGHTt21JgxY3TzzTc3RiYAAABJ9Zyjct999+k3v/lNoLMAAAD4qdfXky9duqTf/va32rhxo2655RZFRET4vf7MM88EJBwAAGjd6lVU9u7dqyFDhkiS9u/f7/caN38DAACBUq+i8s477wQ6BwAAQC31mqMCAADQFCgqAADAWkaLytKlSzVw4EBFR0crOjpaKSkpWrt2rclIAADAIkaLSrdu3bR48WLt3LlTpaWluvPOO5WRkaGPP/7YZCwAAGCJet1CvzHFxMTo6aef1owZM666L7fQBwCg+WnUW+g3lurqav3v//6vqqqqlJKSUuc+Xq9XXq/Xt84DEAEAaNmMT6b96KOPFBkZqbCwMD300EMqKChQ375969w3Ly9PbrfbtyQkJDRxWgAA0JSMD/1cuHBBR44cUWVlpd588029/PLL2rx5c51lpa4rKgkJCQz9AADQjFzP0I/xovJ9aWlpuvHGG/XCCy9cdV/mqAAA0Pxcz+9v40M/31dTU+N31QQAALReRifT5ubmavz48UpMTNSZM2e0YsUKFRcXq6ioyGQsAABgCaNF5fjx47r//vt17Ngxud1uDRw4UEVFRbrrrrtMxgIAAJYwWlR+85vfmPx4AABgOevmqAAAAHyLogIAAKxFUQEAANaiqAAAAGtRVAAAgLUoKgAAwFoUFQAAYC2KCgAAsBZFBQAAWIuiAgAArEVRAQAA1qKoAAAAa1FUAACAtSgqAADAWhQVAABgLYoKAACwFkUFAABYi6ICAACsRVEBAADWoqgAAABrUVQAAIC1QkwHAFA/juOoqqrKtx4RESGXy2UwEQAEHkUFaKaqqqqUkZHhW1+9erUiIyMNJgKAwGPoBwAAWIuiAgAArEVRAQAA1qKoAAAAa1FUAACAtSgqAADAWhQVAABgLe6jAjSR48/+IqDHq7p40W/9q+ef1rk2bQJ2/NhH5gXsWABQX1xRAQAA1qKoAAAAa1FUAACAtSgqAADAWhQVAABgLb71A8A6juOoqqrKtx4RESGXy2UwEQBTKCoArFNVVaWMjAzf+urVqxUZGWkwEQBTGPoBAADW4ooK0Ey1CwnRy+Nu9VsHgJaGn2xAM+VyuRQRwDvRAoCNGPoBAADWMnpFJS8vT2+99ZY+++wzhYeHa9SoUXrqqafUu3dvk7EAXCeeYwSgsRi9orJ582ZlZ2fr/fff14YNG3Tx4kWlp6f7fS0RAAC0XkavqKxbt85vffny5YqNjdXOnTt12223GUoFAABsYdVk2srKSklSTExMna97vV55vV7fusfjaZJcAADADGsm09bU1CgnJ0epqanq379/nfvk5eXJ7Xb7loSEhCZOCQAAmpI1RSU7O1t79+7VypUrL7tPbm6uKisrfUtFRUUTJgQAAE3NiqGfhx9+WGvWrNGWLVvUrVu3y+4XFhamsLCwJkwGAABMMlpUHMfRT37yExUUFKi4uFg9evQwGQeAJbjrLoBvGf3Xn52drRUrVmj16tWKiorSF198IUlyu90KDw83GQ2AQdx1F8C3jM5RWbp0qSorK3XHHXcoLi7Ot6xatcpkLAAAYAnjQz8AAACXY823fgAAAL6PogIAAKxFUQEAANaiqAAAAGtRVAAAgLUoKgAAwFoUFQAAYC2KCgAAsBZFBQAAWIsnfQFAE3IcR1VVVb71iIgIuVwug4kAu1FUAKAJVVVVKSMjw7e+evVqRUZGGkwE2I2hHwAAYC2KCgAAsBZFBQAAWIuiAgAArEVRAQAA1qKoAAAAa1FUAACAtSgqAADAWhQVAABgLYoKAACwFrfQBwCglbP5GVQUFQAAWjmbn0FFUQGAKzj+7C8Ceryqixf91r96/mmda9MmYMePfWRewI4F2IA5KgAAwFoUFQAAYC2KCgAAsBZFBQAAWIuiAgAArEVRAQAA1qKoAAAAa1FUAACAtSgqAADAWhQVAABgLYoKAACwFs/6uUY2P1kSAICWiqJyjWx+siQAAC0VRQUAmlC7kBC9PO5Wv3UAl8e/EABoQi6XSxFt2piOATQbTKYFAADWoqgAAABrUVQAAIC1jBaVLVu2aOLEiYqPj5fL5VJhYaHJOAAAwDJGi0pVVZUGDRqkX//61yZjAAAASxn91s/48eM1fvx4kxEAAIDFmtXXk71er7xer2/d4/Fcdt/jz/4ioJ9ddfGi3/pXzz+tcwH8imHsI/MCdiwAAFqKZjWZNi8vT26327ckJCSYjgQAABpRs7qikpubq9mzZ/vWPR4PZQUA0Oq0plGDZlVUwsLCFBYWZjoGAABoIs1q6AcAALQuRq+onD17VuXl5b71gwcPavfu3YqJiVFiYqLBZAAAwAZGi0ppaanGjBnjW/92/smUKVO0fPlyQ6kAAIAtjBaVO+64Q47jmIwAAAAs1qwm0wIAYILjOKqqqvKtR0REyOVyGUzUelBUAAC4iqqqKmVkZPjWV69ercjISIOJWg+KyjVqFxKil8fd6rcOAAAaF79tr5HL5VJEAG9+AwAAro77qAAAAGtRVAAAgLUoKgAAwFoUFQAAYC0m0wIAAoJ7jaAxUFQAAAHBvUbQGBj6AQAA1qKoAAAAa1FUAACAtSgqAADAWkymBQC0OMef/UVAj1d18aLf+lfPP61zAX6sSuwj8wJ6vJaCKyoAAMBaXFFBi8Z9HQCgeaOooEXjvg7A5TW34RGGRlonigq46gAAsBZFBVx1AABYi8m0AADAWhQVAABgLYZ+AABo5dqFhOjlcbf6rdvCniQAAMAIl8uliADfwC5QGPoBAADWoqgAAABrMfTTDLXkmzS15HMDAFw/igoAICBsnpDZUC353GzH3zQAICBsnpDZUC353GzHHBUAAGAtigoAALAWRQUAAFiLogIAAKxFUQEAANbiWz/ga3cAAGvxGwl87Q4AYC2KClo0rhYBQPPGT220aFwtAoDmjcm0AADAWhQVAABgLYoKAACwFkUFAABYy4qi8utf/1rdu3dX27ZtNWLECH3wwQemIwEAAAsYLyqrVq3S7NmzNX/+fO3atUuDBg3SuHHjdPz4cdPRAACAYcaLyjPPPKN//dd/1bRp09S3b18tW7ZM7dq1029/+1vT0QAAgGFG76Ny4cIF7dy5U7m5ub5tQUFBSktL0/bt22vt7/V65fV6feuVlZWSJI/HU2vfM+fPN0LixtO2jnO4HM7NHpzbNzg3e3Bu32hu5ya17PP7/rl9+3vbcZyrv9kx6OjRo44kZ9u2bX7b58yZ4wwfPrzW/vPnz3cksbCwsLCwsLSApaKi4qpdoVndmTY3N1ezZ8/2rdfU1OjkyZPq2LGjXC5Xo3++x+NRQkKCKioqFB0d3eif15Q4t+aJc2ueOLfmqSWfm9S05+c4js6cOaP4+Pir7mu0qHTq1EnBwcH68ssv/bZ/+eWX6tKlS639w8LCFBYW5retffv2jRmxTtHR0S3yf1KJc2uuOLfmiXNrnlryuUlNd35ut/ua9jM6mTY0NFS33HKLNm3a5NtWU1OjTZs2KSUlxWAyAABgA+NDP7Nnz9aUKVM0dOhQDR8+XM8995yqqqo0bdo009EAAIBhxovKvffeq6+++kpPPPGEvvjiC/3DP/yD1q1bpxtuuMF0tFrCwsI0f/78WsNPLQHn1jxxbs0T59Y8teRzk+w9P5fjXMt3gwAAAJqe8Ru+AQAAXA5FBQAAWIuiAgAArEVRAQAA1qKoXIMtW7Zo4sSJio+Pl8vlUmFhoelIAZGXl6dhw4YpKipKsbGxuvvuu7Vv3z7TsQJm6dKlGjhwoO/mRSkpKVq7dq3pWAG3ePFiuVwu5eTkmI4SED//+c/lcrn8luTkZNOxAubo0aO677771LFjR4WHh2vAgAEqLS01HavBunfvXuu/m8vlUnZ2tuloDVZdXa3//M//VI8ePRQeHq4bb7xRCxcuvLbn1DQDZ86cUU5OjpKSkhQeHq5Ro0appKTEdCwf419Pbg6qqqo0aNAgTZ8+XZmZmabjBMzmzZuVnZ2tYcOG6dKlS/rZz36m9PR0ffLJJ4qIiDAdr8G6deumxYsX6+abb5bjOHrllVeUkZGhDz/8UP369TMdLyBKSkr0wgsvaODAgaajBFS/fv20ceNG33pISMv4UXXq1CmlpqZqzJgxWrt2rTp37qyysjJ16NDBdLQGKykpUXV1tW997969uuuuu3TPPfcYTBUYTz31lJYuXapXXnlF/fr1U2lpqaZNmya3262ZM2eajtdgDzzwgPbu3avXXntN8fHxev3115WWlqZPPvlEXbt2NR1PRh9K2BxJcgoKCkzHaBTHjx93JDmbN282HaXRdOjQwXn55ZdNxwiIM2fOODfffLOzYcMG5/bbb3dmzZplOlJAzJ8/3xk0aJDpGI1i7ty5zq233mo6RpOYNWuWc+ONNzo1NTWmozTYhAkTnOnTp/tty8zMdLKysgwlCpxz5845wcHBzpo1a/y2DxkyxHn88ccNpfLH0A98KisrJUkxMTGGkwRedXW1Vq5cqaqqqhbzeIbs7GxNmDBBaWlppqMEXFlZmeLj49WzZ09lZWXpyJEjpiMFxNtvv62hQ4fqnnvuUWxsrAYPHqyXXnrJdKyAu3Dhgl5//XVNnz69SR4Y29hGjRqlTZs2af/+/ZKkPXv26N1339X48eMNJ2u4S5cuqbq6Wm3btvXbHh4ernfffddQKn8t43oqGqympkY5OTlKTU1V//79TccJmI8++kgpKSk6f/68IiMjVVBQoL59+5qO1WArV67Url27rBpHDpQRI0Zo+fLl6t27t44dO6YFCxZo9OjR2rt3r6KiokzHa5DPP/9cS5cu1ezZs/Wzn/1MJSUlmjlzpkJDQzVlyhTT8QKmsLBQp0+f1tSpU01HCYjHHntMHo9HycnJCg4OVnV1tZ588kllZWWZjtZgUVFRSklJ0cKFC9WnTx/dcMMNeuONN7R9+3bddNNNpuN9w/QlneZGLXTo56GHHnKSkpKciooK01ECyuv1OmVlZU5paanz2GOPOZ06dXI+/vhj07Ea5MiRI05sbKyzZ88e37aWNPTzfadOnXKio6NbxJBdmzZtnJSUFL9tP/nJT5yRI0caStQ40tPTnR/+8IemYwTMG2+84XTr1s154403nL/85S/Oq6++6sTExDjLly83HS0gysvLndtuu82R5AQHBzvDhg1zsrKynOTkZNPRHMdxHIrKdWqJRSU7O9vp1q2b8/nnn5uO0ujGjh3rPPjgg6ZjNEhBQYHvB8q3iyTH5XI5wcHBzqVLl0xHDLihQ4c6jz32mOkYDZaYmOjMmDHDb9vzzz/vxMfHG0oUeIcOHXKCgoKcwsJC01ECplu3bs6vfvUrv20LFy50evfubShR4zh79qzzt7/9zXEcx5k0aZLzgx/8wHCibzBHpRVzHEcPP/ywCgoK9Oc//1k9evQwHanR1dTUyOv1mo7RIGPHjtVHH32k3bt3+5ahQ4cqKytLu3fvVnBwsOmIAXX27FkdOHBAcXFxpqM0WGpqaq1bAOzfv19JSUmGEgVefn6+YmNjNWHCBNNRAubcuXMKCvL/dRkcHKyamhpDiRpHRESE4uLidOrUKRUVFSkjI8N0JEnMUbkmZ8+eVXl5uW/94MGD2r17t2JiYpSYmGgwWcNkZ2drxYoVWr16taKiovTFF19Iktxut8LDww2na7jc3FyNHz9eiYmJOnPmjFasWKHi4mIVFRWZjtYgUVFRteYRRUREqGPHji1iftGjjz6qiRMnKikpSX/72980f/58BQcHa/LkyaajNdgjjzyiUaNGadGiRZo0aZI++OADvfjii3rxxRdNRwuImpoa5efna8qUKS3mK+WSNHHiRD355JNKTExUv3799OGHH+qZZ57R9OnTTUcLiKKiIjmOo969e6u8vFxz5sxRcnKypk2bZjraN0xf0mkO3nnnHUdSrWXKlCmmozVIXeckycnPzzcdLSCmT5/uJCUlOaGhoU7nzp2dsWPHOuvXrzcdq1G0pDkq9957rxMXF+eEhoY6Xbt2de69916nvLzcdKyA+eMf/+j079/fCQsLc5KTk50XX3zRdKSAKSoqciQ5+/btMx0loDwejzNr1iwnMTHRadu2rdOzZ0/n8ccfd7xer+loAbFq1SqnZ8+eTmhoqNOlSxcnOzvbOX36tOlYPi7HaSG31gMAAC0Oc1QAAIC1KCoAAMBaFBUAAGAtigoAALAWRQUAAFiLogIAAKxFUQEAANaiqAAAAGtRVABc1dSpU3X33XdfcZ877rhDOTk5TZLHtEOHDsnlcmn37t2X3ae4uFgul0unT59uslxAS9RyHsYAoNH893//t7iJ9d8lJCTo2LFj6tSpk+koQItHUQFagQsXLig0NLTe73e73QFM0/wFBwerS5cupmMArQJDP0ALdMcdd+jhhx9WTk6OOnXqpHHjxmnv3r0aP368IiMjdcMNN+hf/uVf9H//93++97z55psaMGCAwsPD1bFjR6WlpamqqkpS7aGfqqoq3X///YqMjFRcXJyWLFlSK4PL5VJhYaHftvbt22v58uW+9YqKCk2aNEnt27dXTEyMMjIydOjQoWs6x+LiYg0fPlwRERFq3769UlNTdfjwYd/rq1ev1pAhQ9S2bVv17NlTCxYs0KVLl3yvl5WV6bbbblPbtm3Vt29fbdiwoc7Mdalr6OdPf/qTevXqpfDwcI0ZM+aazwPAlVFUgBbqlVdeUWhoqN577z0tXrxYd955pwYPHqzS0lKtW7dOX375pSZNmiRJOnbsmCZPnqzp06fr008/VXFxsTIzMy873DNnzhxt3rxZq1ev1vr161VcXKxdu3ZdV76LFy9q3LhxioqK0tatW/Xee+8pMjJS//iP/6gLFy5c8b2XLl3S3Xffrdtvv11/+ctftH37dj344INyuVySpK1bt+r+++/XrFmz9Mknn+iFF17Q8uXL9eSTT0qSampqlJmZqdDQUO3YsUPLli3T3Llzryv/d1VUVCgzM1MTJ07U7t279cADD+ixxx6r9/EAfIfZhzcDaAy33367M3jwYN/6woULnfT0dL99KioqHEnOvn37nJ07dzqSnEOHDtV5vClTpjgZGRmO4zjOmTNnnNDQUOf3v/+97/UTJ0444eHhzqxZs3zbJDkFBQV+x3G73U5+fr7jOI7z2muvOb1793Zqamp8r3u9Xic8PNwpKiq64vmdOHHCkeQUFxfX+frYsWOdRYsW+W177bXXnLi4OMdxHKeoqMgJCQlxjh496nt97dq1dWauy8GDBx1Jzocffug4juPk5uY6ffv29dtn7ty5jiTn1KlTVz0egMtjjgrQQt1yyy2+P+/Zs0fvvPOOIiMja+134MABpaena+zYsRowYIDGjRun9PR0/fjHP1aHDh3q3P/ChQsaMWKEb1tMTIx69+59Xfn27Nmj8vJyRUVF+W0/f/68Dhw4cMX3xsTEaOrUqRo3bpzuuusupaWladKkSYqLi/Md+7333vNdQZGk6upqnT9/XufOndOnn36qhIQExcfH+15PSUm5rvzf9emnn/r9fTT0eAD+jqICtFARERG+P589e1YTJ07UU089VWu/uLg4BQcHa8OGDdq2bZvWr1+vX/7yl3r88ce1Y8cO9ejRo16f73K5ag0dXbx40S/TLbfcot/97ne13tu5c+erHj8/P18zZ87UunXrtGrVKs2bN08bNmzQyJEjdfbsWS1YsECZmZm13te2bdt6nA0AUygqQCswZMgQ/eEPf1D37t0VElL3P3uXy6XU1FSlpqbqiSeeUFJSkgoKCjR79my//W688Ua1adNGO3bsUGJioiTp1KlT2r9/v26//Xbffp07d9axY8d862VlZTp37pxfplWrVik2NlbR0dH1Oq/Bgwdr8ODBys3NVUpKilasWKGRI0dqyJAh2rdvn2666aY639enTx9VVFTo2LFjvqsw77//fr0yfHu8t99+229bQ44H4O+YTAu0AtnZ2Tp58qQmT56skpISHThwQEVFRZo2bZqqq6u1Y8cOLVq0SKWlpTpy5IjeeustffXVV+rTp0+tY0VGRmrGjBmaM2eO/vznP2vv3r2aOnWqgoL8f5zceeed+tWvfqUPP/xQpaWleuihh9SmTRvf61lZWerUqZMyMjK0detWHTx4UMXFxZo5c6b++te/XvF8Dh48qNzcXG3fvl2HDx/W+vXrVVZW5sv7xBNP6NVXX9WCBQv08ccf69NPP9XKlSs1b948SVJaWpp69eqlKVOmaM+ePdq6dasef/zxev/9PvTQQyorK9OcOXO0b98+rVixwu/bTQDqj6ICtALx8fF67733VF1drfT0dA0YMEA5OTlq3769goKCFB0drS1btugHP/iBevXqpXnz5mnJkiUaP358ncd7+umnNXr0aE2cOFFpaWm69dZb/ebESNKSJUuUkJCg0aNH65//+Z/16KOPql27dr7X27Vrpy1btigxMVGZmZnq06ePZsyYofPnz1/1Cku7du302Wef6Z/+6Z/Uq1cvPfjgg8rOzta//du/SZLGjRunNWvWaP369Ro2bJhGjhypZ599VklJSZKkoKAgFRQU6Ouvv9bw4cP1wAMP+M1nuV6JiYn6wx/+oMLCQg0aNEjLli3TokWL6n08AH/ncr4/iAwArZTL5VJBQcFVHxcAoOlwRQUAAFiLogLASpGRkZddtm7d2qifvWjRost+9uWGwwA0DoZ+AFipvLz8sq917dpV4eHhjfbZJ0+e1MmTJ+t8LTw8XF27dm20zwbgj6ICAACsxdAPAACwFkUFAABYi6ICAACsRVEBAADWoqgAAABrUVQAAIC1KCoAAMBa/w/che+eRtC7NAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "hla_b_07_02\n", "p2-p9\n" ] }, { "data": { "image/png": "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h7V582YdOnRI27Zt03e/+12Fh4drypQpNscCAACOsHrq529/+5umTJmiEydOqFOnTrr55pv19ttvq1OnTjbHAgAAjrAaKqtWrbL59gAAwHFOXaMCAADwVYQKAABwFqECAACcRagAAABnESoAAMBZhAoAAHAWoQIAAJxFqAAAAGcRKgAAwFmECgAAcBahAgAAnEWoAAAAZxEqAADAWYQKAABwFqECAACcRagAAABnESoAAMBZhAoAAHAWoQIAAJxFqAAAAGcRKgAAwFmECgAAcBahAgAAnEWoAAAAZxEqAADAWYQKAABwFqECAACcRagAAABnESoAAMBZhAoAAHAWoQIAAJxFqAAAAGcRKgAAwFmECgAAcBahAgAAnEWoAAAAZxEqAADAWYQKAABwFqECAACcRagAAABnESoAAMBZzoTKkiVL5PF4lJ2dbXsUAADgCCdCpbi4WM8884wGDBhgexQAAOAQ66Fy5swZZWZm6rnnnlP79u1tjwMAABxiPVSysrI0YcIEjR079rLb+v1++Xy+oAUAADRfLWy++apVq7Rr1y4VFxdf0fa5ublauHBhA08FAABcYe2ISnl5uWbPnq3f//73atWq1RX9TE5OjioqKgJLeXl5A08JAABs8hhjjI03Ligo0He/+12Fh4cH1lVVVcnj8SgsLEx+vz/oudr4fD55vV5VVFQoJiamoUcGAAAhcDW/v62d+hkzZozee++9oHXTp09XSkqK5s2bd9lIAQAAzZ+1UImOjla/fv2C1rVp00YdOnSosR4AAFybrH/qBwAA4FKsfurn64qKimyPAAAAHMIRFQAA4CxCBQAAOItQAQAAziJUAACAswgVAADgLEIFAAA4i1ABAADOuuLvUcnIyLjiF3311VfrNAwAAMBXXfERFa/XG1hiYmK0adMmlZSUBJ7fuXOnNm3aJK/X2yCDAgCAa88VH1HJy8sL/HnevHmaPHmyli9fHrh5YFVVlf7jP/6DuxgDAICQ8RhjzNX+UKdOnfTmm2+qV69eQev37dunm266SSdOnAjZgN/kam4TDQAA3HA1v7/rdDHtxYsX9dFHH9VY/9FHH6m6urouLwkAAFBDnW5KOH36dM2cOVMHDhzQ8OHDJUk7duzQkiVLNH369JAOCAAArl11CpX/+q//UufOnbV06VIdO3ZMkhQfH6+5c+fqxz/+cUgHBAAA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VHJycjRnzpzA4+rqap08eVIdOnSQx+Np8Pf3+XxKTExUeXm5YmJiGvz9GhP71jSxb00T+9Y0Ned9kxp3/4wxqqysVEJCwmW3tRoqHTt2VHh4uD799NOg9Z9++qk6d+5cY/vIyEhFRkYGrWvXrl1DjlirmJiYZvkfqcS+NVXsW9PEvjVNzXnfpMbbP6/Xe0XbWb2YNiIiQkOGDNGmTZsC66qrq7Vp0yalpqZanAwAALjA+qmfOXPmaOrUqRo6dKiGDx+up59+WmfPntX06dNtjwYAACyzHip33323/vGPf+ixxx7TJ598om9961tat26drrvuOtuj1RAZGakFCxbUOP3UHLBvTRP71jSxb01Tc943yd398xhzJZ8NAgAAaHzWv/ANAADgUggVAADgLEIFAAA4i1ABAADOIlSuwJYtWzRx4kQlJCTI4/GooKDA9kghkZubq2HDhik6OlpxcXG68847tW/fPttjhcyyZcs0YMCAwJcXpaamau3atbbHCrklS5bI4/EoOzvb9igh8dOf/lQejydoSUlJsT1WyBw9elT33HOPOnTooKioKPXv318lJSW2x6q3bt261fj35vF4lJWVZXu0equqqtJ//ud/qnv37oqKitL111+vRYsWXdl9apqAyspKZWdnKzk5WVFRUbrppptUXFxse6wA6x9PbgrOnj2rgQMHasaMGcrIyLA9Tshs3rxZWVlZGjZsmC5evKif/OQnSk9P1wcffKA2bdrYHq/eunbtqiVLlujGG2+UMUbPP/+8Jk2apHfffVd9+/a1PV5IFBcX65lnntGAAQNsjxJSffv21caNGwOPW7RoHn9VnTp1SmlpaRo9erTWrl2rTp06qbS0VO3bt7c9Wr0VFxerqqoq8Hjv3r264447dNddd1mcKjSeeOIJLVu2TM8//7z69u2rkpISTZ8+XV6vV7NmzbI9Xr3dd9992rt3r1588UUlJCTopZde0tixY/XBBx+oS5cutseT1ZsSNkWSTH5+vu0xGsTx48eNJLN582bbozSY9u3bm9/85je2xwiJyspKc+ONN5oNGzaYW2+91cyePdv2SCGxYMECM3DgQNtjNIh58+aZm2++2fYYjWL27Nnm+uuvN9XV1bZHqbcJEyaYGTNmBK3LyMgwmZmZliYKnXPnzpnw8HCzZs2aoPWDBw82jz76qKWpgnHqBwEVFRWS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9dZb9de//lXbt2/X/fffL4/HI0naunWr7r33Xs2ePVsffPCBnnnmGa1YsUKPP/64JKm6uloZGRmKiIjQjh07tHz5cs2bN++q5v+q8vJyZWRkaOLEidq9e7fuu+8+PfLII3V+PQBfYffmzQAawq233moGDRoUeLxo0SKTnp4etE15ebmRZPbt22d27txpJJlDhw7V+npTp041kyZNMsYYU1lZaSIiIswf/vCHwPMnTpwwUVFRZvbs2YF1kkx+fn7Q63i9XpOXl2eMMebFF180vXr1MtXV1YHn/X6/iYqKMoWFhd+4fydOnDCSTFFRUa3PjxkzxixevDho3Ysvvmji4+ONMcYUFhaaFi1amKNHjwaeX7t2ba0z1+bgwYNGknn33XeNMcbk5OSYPn36BG0zb948I8mcOnXqsq8H4NK4RgVopoYMGRL48549e/TGG2+obdu2NbY7cOCA0tPTNWbMGPXv31/jxo1Tenq6vve976l9+/a1bn/hwgWNGDEisC42Nla9evW6qvn27NmjsrIyRUdHB60/f/68Dhw48I0/Gxsbq2nTpmncuHG64447NHbsWE2ePFnx8fGB137rrbcCR1AkqaqqSufPn9e5c+f04YcfKjExUQkJCYHnU1NTr2r+r/rwww+D/nnU9/UA/BOhAjRTbdq0Cfz5zJkzmjhxop544oka28XHxys8PFwbNmzQtm3btH79ev3yl7/Uo48+qh07dqh79+51en+Px1Pj1NHnn38eNNOQIUP0+9//vsbPdurU6bKvn5eXp1mzZmndunVavXq15s+frw0bNmjkyJE6c+aMFi5cqIyMjBo/16pVqzrsDQBbCBXgGjB48GD98Y9/VLdu3dSiRe3/23s8HqWlpSktLU2PPfaYkpOTlZ+frzlz5gRtd/3116tly5basWOHkpKSJEmnTp3S/v37deuttwa269Spk44dOxZ4XFpaqnPnzgXNtHr1asXFxSkmJqZO+zVo0CANGjRIOTk5Sk1N1cqVKzVy5EgNHjxY+/bt0w033FDrz/Xu3Vvl5eU6duxY4CjM22+/XacZvny9119/PWhdfV4PwD9xMS1wDcjKytLJkyc1ZcoUFRcX68CBAyosLNT06dNVVVWlHTt2aPHixSopKdGRI0f06quv6h//+Id69+5d47Xatm2rmTNnau7cufrLX/6ivXv3atq0aQoLC/7r5Pbbb9evfvUrvfvuuyopKdEDDzygli1bBp7PzMxUx44dNWnSJG3dulUHDx5UUVGRZs2apb/97W/fuD8HDx5UTk6Otm/frsOHD2v9+vUqLS0NzPvYY4/phRde0MKFC/X+++/rww8/1KpVqzR//nxJ0tixY9WzZ09NnTpVe/bs0datW/Xoo4/W+Z/vAw88oNLSUs2dO1f79u3TypUrgz7dBKDuCBXgGpCQkKC33npLVVVVSk9PV//+/ZWdna127dopLCxMMTEx2rJli7797W+rZ8+emj9/vpYuXarx48fX+no///nPNWrUKE2cOFFjx47VzTffHHRNjCQtXbpUiYmJGjVqlL7//e/r4YcfVuvWrQPPt27dWlu2bFFSUpIyMjLUu3dvzZw5U+fPn7/sEZbWrVvro48+0r/+67+qZ8+euv/++5WVlaV/+7d/kySNGzdOa9as0fr16zVs2DCNHDlSTz31lJKTkyVJYWFhys/P12effabhw4frvvvuC7qe5WolJSXpj3/8owoKCjRw4EAtX75cixcvrvPrAfgnj/n6SWQAuEZ5PB7l5+df9nYBABoPR1QAAICzCBUATmrbtu0ll61btzboey9evPiS732p02EAGganfgA4qays7JLPdenSRVFRUQ323idPntTJkydrfS4qKkpdunRpsPcGEIxQAQAAzuLUDwAAcBahAgAAnEWoAAAAZxEqAADAWYQKAABwFqECAACcRagAAABn/T9RoDk/joFiigAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "hla_b_08_01\n", "p2-p5-p9\n" ] }, { "data": { "image/png": "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i4qKNGrUKIWHh6tTp05KSUnRkSNH/K+vWbNGw4cPV4cOHdSnTx8tXLhQly9f9r9eWlqqW2+9VR06dNCAAQO0cePGejPXp76hnz/+8Y/q27evwsLCNG7cuKs+DwDfjaICtFIvvfSSQkJC9M4772jJkiW64447NGzYMJWUlGj9+vX6/PPPNWXKFEnS8ePHNXXqVM2cOVMff/yxioqKlJGRccXhnnnz5mnLli1as2aNNmzYoKKiIu3evfua8l26dEkTJkxQZGSktm3bpnfeeUcRERH6+7//e128ePE7f/by5cu66667dNttt+nPf/6zduzYoQceeEAej0eStG3bNt13332aM2eOPvroIz333HNasWKFnnzySUlSTU2NMjIyFBISop07d2r58uWaP3/+NeX/pvLycmVkZGjy5Mnas2eP7r//fj366KMNPh6Ab7D78GYATeG2224zw4YN868vWrTIpKWl1dqnvLzcSDL79+83u3btMpLM4cOH6z3etGnTTHp6ujHGmLNnz5qQkBDzP//zP/7XT548acLCwsycOXP82ySZ/Pz8Wsfxer0mLy/PGGPMK6+8Yvr162dqamr8r/t8PhMWFmYKCwu/8/xOnjxpJJmioqJ6Xx8/frxZvHhxrW2vvPKKiY2NNcYYU1hYaNq1a2eOHTvmf33dunX1Zq7PoUOHjCTz/vvvG2OMycnJMQMGDKi1z/z5840kc/r06e89HoArY44K0ErddNNN/v/eu3ev3nrrLUVERNTZ7+DBg0pLS9P48eM1ePBgTZgwQWlpafrRj36kzp0717v/xYsXNXr0aP+26Oho9evX75ry7d27V2VlZYqMjKy1/cKFCzp48OB3/mx0dLSmT5+uCRMm6M4771RqaqqmTJmi2NhY/7Hfeecd/xUUSaqurtaFCxd0/vx5ffzxx4qPj1dcXJz/9eTk5GvK/00ff/xxrV+Pxh4PwN9QVIBWKjw83P/f586d0+TJk/XUU0/V2S82NlbBwcHauHGjtm/frg0bNugXv/iFHnvsMe3cuVO9e/du0Pt7PJ46Q0eXLl2qlemmm27S7373uzo/261bt+89fl5enmbPnq3169dr9erVevzxx7Vx40aNGTNG586d08KFC5WRkVHn5zp06NCAswFgC0UFaAOGDx+u3//+9+rVq5fatav/j73H41FKSopSUlL0xBNPKDExUfn5+Zo7d26t/a6//nq1b99eO3fuVEJCgiTp9OnTOnDggG677Tb/ft26ddPx48f966WlpTp//nytTKtXr1ZMTIyioqIadF7Dhg3TsGHDlJOTo+TkZK1cuVJjxozR8OHDtX//ft1www31/lz//v1VXl6u48eP+6/CvPvuuw3K8PXx3nzzzVrbGnM8AH/DZFqgDcjKytKpU6c0depUFRcX6+DBgyosLNSMGTNUXV2tnTt3avHixSopKdHRo0f1xhtv6IsvvlD//v3rHCsiIkKzZs3SvHnz9Kc//Un79u3T9OnTFRRU+6+TO+64Q7/85S/1/vvvq6SkRA8++KDat2/vfz0zM1Ndu3ZVenq6tm3bpkOHDqmoqEizZ8/WX/7yl+88n0OHDiknJ0c7duzQkSNHtGHDBpWWlvrzPvHEE3r55Ze1cOFCffjhh/r444+1atUqPf7445Kk1NRU9e3bV9OmTdPevXu1bds2PfbYYw3+9X3wwQdVWlqqefPmaf/+/Vq5cmWtbzcBaDiKCtAGxMXF6Z133lF1dbXS0tI0ePBgZWdnq1OnTgoKClJUVJS2bt2qH/zgB+rbt68ef/xxLV26VBMnTqz3eE8//bTGjh2ryZMnKzU1VbfcckutOTGStHTpUsXHx2vs2LH6p3/6Jz3yyCPq2LGj//WOHTtq69atSkhIUEZGhvr3769Zs2bpwoUL33uFpWPHjvrkk0/0j//4j+rbt68eeOABZWVl6V//9V8lSRMmTNDatWu1YcMGjRw5UmPGjNHPf/5zJSYmSpKCgoKUn5+vL7/8UqNGjdL9999faz7LtUpISNDvf/97FRQUaOjQoVq+fLkWL17c4OMB+BuP+fYgMgC0UR6PR/n5+d/7uAAAzYcrKgAAwFkUFQBOioiIuOKybdu2Jn3vxYsXX/G9rzQcBqBpMPQDwEllZWVXfK1Hjx4KCwtrsvc+deqUTp06Ve9rYWFh6tGjR5O9N4DaKCoAAMBZDP0AAABnUVQAAICzKCoAAMBZFBUAAOAsigoAAHAWRQUAADiLogIAAJz1/wE0RezVdjkKRgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "hla_b_35_01\n", "p2-p9\n" ] }, { "data": { "image/png": "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9VY98MADys7OVpcuXTRhwgTt2bNHEydOVGRkpK655hr98z//s/7v//7P9zOvv/66Bg8erPDwcHXu3FlpaWmqrq6WVHfop7q6Wvfcc48iIyMVHx+vZcuW1cng8XhUUFDgt61jx45auXKlb728vFxTpkxRx44dFRsbq4yMDB08ePCKzrGoqEijRo1SRESEOnbsqNTUVB06dMj3+po1azR8+HC1b99evXv31qJFi3ThwgXf66Wlpbr55pvVvn17DRgwQBs2bKg3c33qG/r54x//qD59+ig8PFzjxo274vMAcGkUFaCVevHFFxUaGqp3331XS5cu1W233aZhw4appKREb731lr788ktNmTJFknT06FFNnTpVs2bN0qeffqqioiJlZmZedLhn/vz52rx5s9asWaP169erqKhIO3fuvKp858+f14QJExQVFaWtW7fq3XffVWRkpP7+7/9e586du+TPXrhwQXfccYduueUW/fnPf9b27dt13333yePxSJK2bt2qe+65R3PnztUnn3yiZ599VitXrtTjjz8uSaqtrVVmZqZCQ0O1Y8cOrVixQgsWLLiq/N9VXl6uzMxMTZ48Wbt27dK9996rhx9+uMHHA/Addh/eDKAp3HLLLWbYsGG+9cWLF5v09HS/fcrLy40ks3fvXvPBBx8YSebgwYP1Hm/69OkmIyPDGGPM6dOnTWhoqPmf//kf3+vHjx834eHhZu7cub5tkkx+fr7fcWJiYkxeXp4xxpiXX37Z9O3b19TW1vpe93q9Jjw83BQWFl7y/I4fP24kmaKionpfHz9+vFmyZInftpdfftnEx8cbY4wpLCw0ISEh5siRI77X161bV2/m+hw4cMBIMh9++KExxpicnBwzYMAAv30WLFhgJJmTJ09e9ngALo45KkArdcMNN/j+vHv3br399tuKjIyss9/+/fuVnp6u8ePHa/DgwZowYYLS09P1ox/9SJ06dap3/3Pnzmn06NG+bbGxserbt+9V5du9e7fKysoUFRXlt/3s2bPav3//JX82NjZWM2bM0IQJE3T77bcrLS1NU6ZMUXx8vO/Y7777ru8KiiTV1NTo7NmzOnPmjD799FMlJiYqISHB93pKSspV5f+uTz/91O/vo7HHA/A3FBWglYqIiPD9uaqqSpMnT9YTTzxRZ7/4+HgFBwdrw4YN2rZtm9avX69f/vKXeuSRR7Rjxw716tWrQe/v8XjqDB2dP3/eL9MNN9yg3/3ud3V+tmvXrpc9fl5enubMmaO33npLr732mh599FFt2LBBY8aMUVVVlRYtWqTMzMw6P9e+ffsGnA0AWygqQBswfPhw/f73v1fPnj0VElL/P3uPx6PU1FSlpqbqscceU3JysvLz8zVv3jy//a699lq1a9dOO3bsUFJSkiTp5MmT2rdvn2655Rbffl27dtXRo0d966WlpTpz5oxfptdee01xcXGKjo5u0HkNGzZMw4YNU05OjlJSUrRq1SqNGTNGw4cP1969e3XdddfV+3P9+/dXeXm5jh496rsK89577zUow7fHe/PNN/22NeZ4AP6GybRAG5CVlaUTJ05o6tSpKi4u1v79+1VYWKiZM2eqpqZGO3bs0JIlS1RSUqLDhw/rjTfe0FdffaX+/fvXOVZkZKRmz56t+fPn609/+pP27NmjGTNmKCjI/9fJbbfdpl/96lf68MMPVVJSovvvv1/t2rXzvT5t2jR16dJFGRkZ2rp1qw4cOKCioiLNmTNHf/nLXy55PgcOHFBOTo62b9+uQ4cOaf369SotLfXlfeyxx/TSSy9p0aJF+vjjj/Xpp59q9erVevTRRyVJaWlp6tOnj6ZPn67du3dr69ateuSRRxr893v//fertLRU8+fP1969e7Vq1Sq/bzcBaDiKCtAGJCQk6N1331VNTY3S09M1ePBgZWdnq2PHjgoKClJ0dLS2bNmiH/zgB+rTp48effRRLVu2TBMnTqz3eE8++aTGjh2ryZMnKy0tTTfddJPfnBhJWrZsmRITEzV27Fj90z/9kx566CF16NDB93qHDh20ZcsWJSUlKTMzU/3799fs2bN19uzZy15h6dChgz777DP94z/+o/r06aP77rtPWVlZ+td//VdJ0oQJE7R27VqtX79eI0eO1JgxY/T0008rOTlZkhQUFKT8/Hx9/fXXGjVqlO69916/+SxXKykpSb///e9VUFCgoUOHasWKFVqyZEmDjwfgbzzm+4PIANBGeTwe5efnX/ZxAQCaD1dUAACAsygqAJwUGRl50WXr1q1N+t5Lliy56HtfbDgMQNNg6AeAk8rKyi76Wvfu3RUeHt5k733ixAmdOHGi3tfCw8PVvXv3JntvAP4oKgAAwFkM/QAAAGdRVAAAgLMoKgAAwFkUFQAA4CyKCgAAcBZFBQAAOIuiAgAAnPX/AFP8GoTPFslqAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "hla_b_37_01\n", "p2-p5-p9\n" ] }, { "data": { "image/png": "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SYKvsrJSy5cv1/Hjx5vN4xkyMzM1btw4paam2o4SdCUlJYqLi1OPHj2UkZGhffv22Y4UFK+88oqGDBmim266STExMRo0aJCeeOIJ27GC7tSpU3ruuec0bdq0RnlgbEO78sortXbtWu3cuVOStG3bNr355psaO3as5WT1d/r0aVVWVqpVq1bVtkdEROjNN9+0lKq65jGeinqrqqpSVlaWUlJS1K9fP9txgub9999XcnKyTp48qbZt2yovL099+vSxHaveli9fri1btjh1HTlYhg8frqVLl6pXr146cOCA5s2bp5EjR2r79u2KjIy0Ha9ePvnkEy1evFizZs3Sr371KxUVFWnGjBkKCwvT5MmTbccLmvz8fB09elRTpkyxHSUo7rnnHvl8PiUlJSk0NFSVlZV64IEHlJGRYTtavUVGRio5OVnz589X7969dckll+j555/Xpk2bdNlll9mO9xXbQzpNjZrppZ877rjDJCYmmrKyMttRgsrv95uSkhJTXFxs7rnnHtOxY0fzwQcf2I5VL/v27TMxMTFm27ZtgW3N6dLPtx05csRERUU1i0t2LVu2NMnJydW2/eIXvzAjRoywlKhhpKWlme9973u2YwTN888/b7p27Wqef/55869//cs888wzJjo62ixdutR2tKAoLS01V199tZFkQkNDzdChQ01GRoZJSkqyHc0YYwxF5QI1x6KSmZlpunbtaj755BPbURrc6NGjze233247Rr3k5eUF/kL5epFkPB6PCQ0NNadPn7YdMeiGDBli7rnnHtsx6i0hIcFMnz692rY///nPJi4uzlKi4NuzZ48JCQkx+fn5tqMETdeuXc2f/vSnatvmz59vevXqZSlRwzh27Jj5z3/+Y4wxZuLEieaGG26wnOgrzFG5iBljdOeddyovL0+vv/66unfvbjtSg6uqqpLf77cdo15Gjx6t999/X1u3bg0sQ4YMUUZGhrZu3arQ0FDbEYPq2LFj2rVrl2JjY21HqbeUlJQatwDYuXOnEhMTLSUKvtzcXMXExGjcuHG2owTNiRMnFBJS/esyNDRUVVVVlhI1jDZt2ig2NlZHjhxRQUGBJkyYYDuSJOaonJdjx46ptLQ0sL57925t3bpV0dHRSkhIsJisfjIzM7Vs2TK9/PLLioyM1KeffipJ8nq9ioiIsJyu/rKzszV27FglJCSooqJCy5YtU2FhoQoKCmxHq5fIyMga84jatGmjDh06NIv5RXfffbfGjx+vxMRE/ec//9HcuXMVGhqqSZMm2Y5Wb3fddZeuvPJKLViwQBMnTtQ777yjxx9/XI8//rjtaEFRVVWl3NxcTZ48udn8pFySxo8frwceeEAJCQnq27ev3nvvPT388MOaNm2a7WhBUVBQIGOMevXqpdLSUs2ePVtJSUmaOnWq7WhfsT2k0xS88cYbRlKNZfLkybaj1Utt5yTJ5Obm2o4WFNOmTTOJiYkmLCzMdOrUyYwePdqsWrXKdqwG0ZzmqNx8880mNjbWhIWFmS5dupibb77ZlJaW2o4VNP/85z9Nv379THh4uElKSjKPP/647UhBU1BQYCSZHTt22I4SVD6fz8ycOdMkJCSYVq1amR49eph7773X+P1+29GC4oUXXjA9evQwYWFhpnPnziYzM9McPXrUdqwAjzHN5NZ6AACg2WGOCgAAcBZFBQAAOIuiAgAAnEVRAQAAzqKoAAAAZ1FUAACAsygqAADAWRQVAADgLIoKgHOaMmWKbrzxxrMec+211yorK6tR8ti2Z88eeTwebd269YzHFBYWyuPx6OjRo42WC2iOms/DGAA0mN///vfiJtb/Ex8frwMHDqhjx462owDNHkUFuAicOnVKYWFhdX691+sNYpqmLzQ0VJ07d7YdA7gocOkHaIauvfZa3XnnncrKylLHjh01ZswYbd++XWPHjlXbtm11ySWX6Mc//rH++9//Bl7z4osvqn///oqIiFCHDh2Umpqq48ePS6p56ef48eO69dZb1bZtW8XGxmrRokU1Mng8HuXn51fb1q5dOy1dujSwXlZWpokTJ6pdu3aKjo7WhAkTtGfPnvM6x8LCQg0bNkxt2rRRu3btlJKSor179wb2v/zyyxo8eLBatWqlHj16aN68eTp9+nRgf0lJia6++mq1atVKffr00erVq2vNXJvaLv28+uqr6tmzpyIiIjRq1KjzPg8AZ0dRAZqpp59+WmFhYXrrrbe0cOFCXXfddRo0aJCKi4v12muv6bPPPtPEiRMlSQcOHNCkSZM0bdo0ffTRRyosLFR6evoZL/fMnj1b69at08svv6xVq1apsLBQW7ZsuaB8X375pcaMGaPIyEht2LBBb731ltq2bavvfve7OnXq1Flfe/r0ad1444265ppr9K9//UubNm3S7bffLo/HI0nasGGDbr31Vs2cOVMffvihHnvsMS1dulQPPPCAJKmqqkrp6ekKCwvT5s2btWTJEs2ZM+eC8n9TWVmZ0tPTNX78eG3dulW33Xab7rnnnjq/H4BvsPvwZgAN4ZprrjGDBg0KrM+fP9+kpaVVO6asrMxIMjt27DDvvvuukWT27NlT6/tNnjzZTJgwwRhjTEVFhQkLCzN/+9vfAvsPHTpkIiIizMyZMwPbJJm8vLxq7+P1ek1ubq4xxphnn33W9OrVy1RVVQX2+/1+ExERYQoKCs56focOHTKSTGFhYa37R48ebRYsWFBt27PPPmtiY2ONMcYUFBSYFi1amP379wf2r1y5stbMtdm9e7eRZN577z1jjDHZ2dmmT58+1Y6ZM2eOkWSOHDlyzvcDcGbMUQGaqSuuuCLw523btumNN95Q27Ztaxy3a9cupaWlafTo0erfv7/GjBmjtLQ0/fCHP1T79u1rPf7UqVMaPnx4YFt0dLR69ep1Qfm2bdum0tJSRUZGVtt+8uRJ7dq166yvjY6O1pQpUzRmzBhdf/31Sk1N1cSJExUbGxt477feeiswgiJJlZWVOnnypE6cOKGPPvpI8fHxiouLC+xPTk6+oPzf9NFHH1X751Hf9wPwPxQVoJlq06ZN4M/Hjh3T+PHj9eCDD9Y4LjY2VqGhoVq9erU2btyoVatW6Y9//KPuvfdebd68Wd27d6/T53s8nhqXjr788stqma644gr99a9/rfHaTp06nfP9c3NzNWPGDL322mt64YUXdN9992n16tUaMWKEjh07pnnz5ik9Pb3G61q1alWHswFgC0UFuAgMHjxY//jHP9StWze1aFH7/+w9Ho9SUlKUkpKi+++/X4mJicrLy9OsWbOqHXfppZeqZcuW2rx5sxISEiRJR44c0c6dO3XNNdcEjuvUqZMOHDgQWC8pKdGJEyeqZXrhhRcUExOjqKioOp3XoEGDNGjQIGVnZys5OVnLli3TiBEjNHjwYO3YsUOXXXZZra/r3bu3ysrKdODAgcAozNtvv12nDF+/3yuvvFJtW33eD8D/MJkWuAhkZmbq8OHDmjRpkoqKirRr1y4VFBRo6tSpqqys1ObNm7VgwQIVFxdr3759eumll/T555+rd+/eNd6rbdu2mj59umbPnq3XX39d27dv15QpUxQSUv2vk+uuu05/+tOf9N5776m4uFh33HGHWrZsGdifkZGhjh07asKECdqwYYN2796twsJCzZgxQ//+97/Pej67d+9Wdna2Nm3apL1792rVqlUqKSkJ5L3//vv1zDPPaN68efrggw/00Ucfafny5brvvvskSampqerZs6cmT56sbdu2acOGDbr33nvr/M/3jjvuUElJiWbPnq0dO3Zo2bJl1X7dBKDuKCrARSAuLk5vvfWWKisrlZaWpv79+ysrK0vt2rVTSEiIoqKitH79et1www3q2bOn7rvvPi1atEhjx46t9f0eeughjRw5UuPHj1dqaqquuuqqanNiJGnRokWKj4/XyJEj9aMf/Uh33323WrduHdjfunVrrV+/XgkJCUpPT1fv3r01ffp0nTx58pwjLK1bt9bHH3+sH/zgB+rZs6duv/12ZWZm6qc//akkacyYMVqxYoVWrVqloUOHasSIEfrd736nxMRESVJISIjy8vL0xRdfaNiwYbrtttuqzWe5UAkJCfrHP/6h/Px8DRw4UEuWLNGCBQvq/H4A/sdjvn0RGQAuUh6PR3l5eed8XACAxsOICgAAcBZFBYCT2rZte8Zlw4YNDfrZCxYsOONnn+lyGICGwaUfAE4qLS09474uXbooIiKiwT778OHDOnz4cK37IiIi1KVLlwb7bADVUVQAAICzuPQDAACcRVEBAADOoqgAAABnUVQAAICzKCoAAMBZFBUAAOAsigoAAHDW/wOxTGgsxnGXegAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "hla_b_42_01\n", "p2-p9\n" ] }, { "data": { "image/png": "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nK72srKyNH78eCUkJKiiokIrVqxQQUGB8vPzbUerlaioqGrriFq1aqX27ds3ivVFc+bM0cSJE5WYmKh//OMfWrBggcLDwzVlyhTb0Wrt4Ycf1g033KDFixdr8uTJ+utf/6rnnntOzz33nO1oIVFVVaXc3Fylp6c3ml8pl6SJEyfq8ccfV0JCgvr27au3335bTz75pKZPn247Wkjk5+fLGKOePXuqpKREc+fOVa9evTRt2jTb0T5ne0qnIXjzzTeNpGpbenq67Wi1cqlrkmRyc3NtRwuJ6dOnm8TERBMREWE6duxoxowZY9avX287Vp1oTGtU7rnnHhMbG2siIiJM586dzT333GNKSkpsxwqZP/7xj6Zfv37G6/WaXr16meeee852pJDJz883ksz+/fttRwmp8vJyM2vWLJOQkGBatGhhunfvbh599FHj9/ttRwuJVatWme7du5uIiAjTqVMnk5GRYU6fPm07VoDHmEby1XoAAKDRYY0KAABwFkUFAAA4i6ICAACcRVEBAADOoqgAAABnUVQAAICzKCoAAMBZFBUAAOAsigqAbzR16lTdeeedXzvmlltuUWZmZr3kse3w4cPyeDzas2fPZccUFBTI4/Ho9OnT9ZYLaIwaz8MYANSZn/3sZ+JLrP8lPj5ex48fV4cOHWxHARo9igrQBFy4cEERERE1fr3P5wthmoYvPDxcnTp1sh0DaBK49QM0QrfccoseeughZWZmqkOHDho3bpz27dun8ePHq3Xr1rrmmmv0H//xH/q///u/wGt+//vfq3///oqMjFT79u01duxYnT17VlL1Wz9nz57Vfffdp9atWys2NlZLly6tlsHj8Wj16tVBx9q0aaPly5cH9ktLSzV58mS1adNG7dq106RJk3T48OErusaCggINHz5crVq1Ups2bZScnKwjR44Ezr/++usaPHiwWrRooe7du2vhwoW6ePFi4HxxcbFuuukmtWjRQn369NGGDRsumflSLnXr509/+pN69OihyMhIjR49+oqvA8DXo6gAjdSLL76oiIgIvfXWW1qyZIluvfVWDRo0SEVFRVq3bp0+/vhjTZ48WZJ0/PhxTZkyRdOnT9f777+vgoICpaamXvZ2z9y5c7V582a9/vrrWr9+vQoKCrR79+6ryvfZZ59p3LhxioqK0tatW/XWW2+pdevWuv3223XhwoWvfe3Fixd155136uabb9bf/vY3bd++XQ888IA8Ho8kaevWrbrvvvs0a9Ysvffee3r22We1fPlyPf7445KkqqoqpaamKiIiQjt37tSyZcs0b968q8r/ZaWlpUpNTdXEiRO1Z88e3X///XrkkUdq/H4AvsTuw5sB1IWbb77ZDBo0KLC/aNEik5KSEjSmtLTUSDL79+83u3btMpLM4cOHL/l+6enpZtKkScYYYyoqKkxERIT53//938D5Tz75xERGRppZs2YFjkkyeXl5Qe/j8/lMbm6uMcaYl19+2fTs2dNUVVUFzvv9fhMZGWny8/O/9vo++eQTI8kUFBRc8vyYMWPM4sWLg469/PLLJjY21hhjTH5+vmnWrJk5duxY4PzatWsvmflSDh06ZCSZt99+2xhjTFZWlunTp0/QmHnz5hlJ5tSpU9/4fgAujzUqQCM1ZMiQwJ/37t2rN998U61bt6427uDBg0pJSdGYMWPUv39/jRs3TikpKbrrrrvUtm3bS46/cOGCRowYETjWrl079ezZ86ry7d27VyUlJYqKigo6fv78eR08ePBrX9uuXTtNnTpV48aN02233aaxY8dq8uTJio2NDbz3W2+9FZhBkaTKykqdP39e586d0/vvv6/4+HjFxcUFziclJV1V/i97//33g/551Pb9APwLRQVopFq1ahX485kzZzRx4kQ98cQT1cbFxsYqPDxcGzZs0LZt27R+/Xr94he/0KOPPqqdO3eqW7duNfp8j8dT7dbRZ599FpRpyJAh+u1vf1vttR07dvzG98/NzdXMmTO1bt06rVq1SvPnz9eGDRs0cuRInTlzRgsXLlRqamq117Vo0aIGVwPAFooK0AQMHjxYf/jDH9S1a1c1a3bp/+09Ho+Sk5OVnJysxx57TImJicrLy9Ps2bODxl177bVq3ry5du7cqYSEBEnSqVOndODAAd18882BcR07dtTx48cD+8XFxTp37lxQplWrVikmJkbR0dE1uq5BgwZp0KBBysrKUlJSklasWKGRI0dq8ODB2r9/v6677rpLvq53794qLS3V8ePHA7MwO3bsqFGGL97vjTfeCDpWm/cD8C8spgWagIyMDJ08eVJTpkxRYWGhDh48qPz8fE2bNk2VlZXauXOnFi9erKKiIh09elSvvfaa/vnPf6p3797V3qt169aaMWOG5s6dqz//+c/at2+fpk6dqrCw4L9Obr31Vj3zzDN6++23VVRUpAcffFDNmzcPnE9LS1OHDh00adIkbd26VYcOHVJBQYFmzpypv//97197PYcOHVJWVpa2b9+uI0eOaP369SouLg7kfeyxx/TSSy9p4cKFevfdd/X+++9r5cqVmj9/viRp7Nix6tGjh9LT07V3715t3bpVjz76aI3/+T744IMqLi7W3LlztX//fq1YsSLot5sA1BxFBWgC4uLi9NZbb6myslIpKSnq37+/MjMz1aZNG4WFhSk6OlpbtmzRHXfcoR49emj+/PlaunSpxo8ff8n3+8lPfqJRo0Zp4sSJGjt2rG688cagNTGStHTpUsXHx2vUqFH6zne+ozlz5qhly5aB8y1bttSWLVuUkJCg1NRU9e7dWzNmzND58+e/cYalZcuW+uCDD/Tv//7v6tGjhx544AFlZGTov/7rvyRJ48aN05o1a7R+/XoNGzZMI0eO1FNPPaXExERJUlhYmPLy8vTpp59q+PDhuv/++4PWs1ythIQE/eEPf9Dq1as1cOBALVu2TIsXL67x+wH4F4/56k1kAGiiPB6P8vLyvvFxAQDqDzMqAADAWRQVAE5q3br1ZbetW7fW6WcvXrz4sp99udthAOoGt34AOKmkpOSy5zp37qzIyMg6++yTJ0/q5MmTlzwXGRmpzp0719lnAwhGUQEAAM7i1g8AAHAWRQUAADiLogIAAJxFUQEAAM6iqAAAAGdRVAAAgLMoKgAAwFn/Dwho1XYxQc55AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "hla_b_44_05\n", "p2-p9\n" ] }, { "data": { "image/png": "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hx8qLi5OsbGxvtcTExOvKf83ffjhh37/Pep7PgBfo6gAzVRYWJjv11VVVZoyZYqeeOKJWsfFxMQoKChIGzdu1Pbt27Vhwwb9+te/1qOPPqpdu3apR48edXp/l8tVa+ro4sWLfpmGDRum3//+97V+tnPnzt97/ry8PM2ePVvr16/X6tWrtWDBAm3cuFGjR49WVVWVFi1apNTU1Fo/16ZNmzpcDQBTKCpACzB06FD98Y9/VPfu3RUcfPk/9i6XS0lJSUpKStJjjz2mhIQE5efnKysry++466+/Xq1bt9auXbsUHx8vSTp9+rQOHjyoW265xXdc586ddeLECd+4tLRU586d88u0evVqRUdHKzIysk7XNWTIEA0ZMkTZ2dlKTEzUypUrNXr0aA0dOlQHDhzQDTfccNmf69u3r8rLy3XixAnfXZidO3fWKcNX53vzzTf99tXnfAC+xmJaoAXIyMjQqVOnNG3aNBUXF+vQoUMqLCzUjBkzVF1drV27dmnJkiUqKSnRsWPH9MYbb+izzz5T3759a50rPDxcs2bN0rx58/SXv/xF+/fv1/Tp09Wqlf9fJ7fddpueffZZvfvuuyopKdGDDz6o1q1b+15PS0tTp06dlJKSom3btunw4cMqKirS7Nmz9fe///07r+fw4cPKzs7Wjh07dPToUW3YsEGlpaW+vI899pheeeUVLVq0SO+//74+/PBDrVq1SgsWLJAkTZgwQb169VJ6err27dunbdu26dFHH63zf98HH3xQpaWlmjdvng4cOKCVK1f6fboJQN1RVIAWIDY2Vu+8846qq6uVnJysgQMHKjMzU+3atVOrVq0UGRmprVu36oc//KF69eqlBQsWaNmyZZo0adJlz/fkk09q7NixmjJliiZMmKAxY8b4rYmRpGXLlikuLk5jx47Vv/zLv2ju3Llq27at7/W2bdtq69atio+PV2pqqvr27atZs2bp/Pnz33uHpW3btvroo4/0z//8z+rVq5ceeOABZWRk6N///d8lSRMnTtTatWu1YcMGjRgxQqNHj9bTTz+thIQESVKrVq2Un5+vL774QiNHjtT999/vt57lWsXHx+uPf/yj1qxZo8GDB2v58uVasmRJnc8H4Gsu59uTyADQQrlcLuXn53/v1wUAaDzcUQEAANaiqACwUnh4+BW3bdu2Neh7L1my5IrvfaXpMAANg6kfAFYqKyu74mtdu3ZVaGhog733qVOndOrUqcu+Fhoaqq5duzbYewPwR1EBAADWYuoHAABYi6ICAACsRVEBAADWoqgAAABrUVQAAIC1KCoAAMBaFBUAAGCt/wcNdWpQlZhNSwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "hla_b_53_01\n", "p2-p9\n" ] }, { "data": { "image/png": "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z+nTp7V//36Vl5fr5Zdf1p/+9CetX7++1lip7YhKfHw8p34AAGhCLubUj/VQ+bbU1FRdfvnleuKJJ867LdeoAADQ9FzM72/rp36+raqqqtpREwAAcOmyejFtdna2xo0bp4SEBFVUVGj58uUqLCxUQUGBzbEAAIAjrIbKoUOHdOutt+rgwYPyer0aMGCACgoKdMMNN9gcCwAAOMJqqDz99NM23x4AADjOuWtUAAAAvkaoAAAAZxEqAADAWYQKAABwFqECAACcRagAAABnESoAAMBZhAoAAHAWoQIAAJxFqAAAAGcRKgAAwFmECgAAcBahAgAAnEWoAAAAZxEqAADAWYQKAABwFqECAACcRagAAABnESoAAMBZhAoAAHAWoQIAAJxFqAAAAGcRKgAAwFmECgAAcBahAgAAnEWoAAAAZxEqAADAWYQKAABwFqECAACcRagAAABnESoAAMBZhAoAAHAWoQIAAJxFqAAAAGcRKgAAwFmECgAAcBahAgAAnEWoAAAAZxEqAADAWYQKAABwFqECAACcRagAAABnWQ2VnJwcDR06VJGRkYqJidGNN96onTt32hwJAAA4xGqorF+/XpmZmXr77be1Zs0affnll0pLS9OJEydsjgUAABzhMcYY20N87fPPP1dMTIzWr1+va6+99rzb+3w+eb1elZeXKyoqqhEmBAAA9XUxv79bNNJMF6S8vFySFB0dXevzfr9ffr8/8Njn8zXKXAAAwA5nLqatqqpSVlaWUlJS1K9fv1q3ycnJkdfrDSzx8fGNPCUAAGhMzpz6ufPOO7Vq1Sq9+eab6tq1a63b1HZEJT4+nlM/AAA0IU3u1M9dd92llStXasOGDWeNFEkKDw9XeHh4I04GAABsshoqxhjdfffdysvLU2Fhobp3725zHAAA4BiroZKZmanly5fr1VdfVWRkpD799FNJktfrVUREhM3RAACAA6xeo+LxeGpdn5ubq6lTp5735/l4MgAATU+TuUbFket4AQCAo5z5eDIAAMC3ESoAAMBZhAoAAHAWoQIAAJxFqAAAAGcRKgAAwFmECgAAcBahAgAAnEWoAAAAZxEqAADAWYQKAABwFqECAACcRagAAABnESoAAMBZhAoAAHAWoQIAAJxFqAAAAGcRKgAAwFmECgAAcBahAgAAnEWoAAAAZxEqAADAWYQKAABwFqECAACcRagAAABnESoAAMBZhAoAAHAWoQIAAJxFqAAAAGcRKgAAwFmECgAAcBahAgAAnEWoAAAAZxEqAADAWYQKAABwFqECAACcRagAAABnESoAAMBZhAoAAHAWoQIAAJxFqAAAAGcRKgAAwFlWQ2XDhg2aMGGC4uLi5PF4lJ+fb3McAADgGKuhcuLECQ0cOFCPP/64zTEAAICjWth883HjxmncuHE2RwAAAA6zGioXy+/3y+/3Bx77fD6L0wAAgIbWpC6mzcnJkdfrDSzx8fG2RwIAAA2oSYVKdna2ysvLA0tZWZntkQAAQANqUqd+wsPDFR4ebnsMAADQSJrUERUAAHBpsXpE5fjx4yotLQ083rNnj7Zt26bo6GglJCRYnAwAALjAaqgUFxdr9OjRgcezZ8+WJE2ZMkXLli2zNBUAAHCF1VC57rrrZIyxOQIAAHAY16gAAABnESoAAMBZhAoAAHAWoQIAAJxFqAAAAGcRKgAAwFmECgAAcFaT+q6fi3Hot//P9ggXJeaeB2yPAACAcziiAgAAnEWoAAAAZzXbUz8AgHPjFDmaAo6oAAAAZxEqAADAWZz6AYBz4PQIYBdHVAAAgLMIFQAA4CxCBQAAOItQAQAAziJUAACAswgVAADgLEIFAAA4i1ABAADO4oZvAIBmp6ndqE+6uJv1NbX9q8+NCDmiAgAAnEWoAAAAZxEqAADAWVyjAjSSS+mcMgAEC6HSBPELDwBwqSBU4BQiDADwTVyjAgAAnEWoAAAAZxEqAADAWYQKAABwFqECAACcRagAAABnESoAAMBZ3EcFQL1x/xsADYUjKgAAwFmECgAAcBahAgAAnEWoAAAAZxEqAADAWU6EyuOPP65u3bqpVatWGj58uN555x3bIwEAAAdYD5WXXnpJs2fP1rx587R161YNHDhQY8eO1aFDh2yPBgAALLMeKo888oh++tOfatq0aerTp4+WLl2q1q1b65lnnrE9GgAAsMzqDd9Onz6td999V9nZ2YF1ISEhSk1N1ebNm2ts7/f75ff7A4/Ly8slST6fr8a2FadONcDEDadVLftwNuybO9i3r7Bv7mDfvtLU9k1q3vv37X37+ve2Meb8P2wsOnDggJFkNm3aVG39nDlzzLBhw2psP2/ePCOJhYWFhYWFpRksZWVl522FJnUL/ezsbM2ePTvwuKqqSkeOHFGHDh3k8Xga/P19Pp/i4+NVVlamqKioBn+/xsS+NU3sW9PEvjVNzXnfpMbdP2OMKioqFBcXd95trYZKx44dFRoaqs8++6za+s8++0ydO3eusX14eLjCw8OrrWvXrl1DjlirqKioZvkfqcS+NVXsW9PEvjVNzXnfpMbbP6/Xe0HbWb2YNiwsTFdddZXWrVsXWFdVVaV169YpOTnZ4mQAAMAF1k/9zJ49W1OmTNGQIUM0bNgwPfroozpx4oSmTZtmezQAAGCZ9VC5+eab9fnnn+vBBx/Up59+qu985zt6/fXXddlll9kerYbw8HDNmzevxumn5oB9a5rYt6aJfWuamvO+Se7un8eYC/lsEAAAQOOzfsM3AACAsyFUAACAswgVAADgLEIFAAA4i1C5ABs2bNCECRMUFxcnj8ej/Px82yMFRU5OjoYOHarIyEjFxMToxhtv1M6dO22PFTRLlizRgAEDAjcvSk5O1qpVq2yPFXSLFi2Sx+NRVlaW7VGC4le/+pU8Hk+1JSkpyfZYQXPgwAHdcsst6tChgyIiItS/f38VFxfbHqveunXrVuPfm8fjUWZmpu3R6q2yslL/93//p+7duysiIkKXX365FixYcGHfU9MEVFRUKCsrS4mJiYqIiNDVV1+toqIi22MFWP94clNw4sQJDRw4UNOnT1d6errtcYJm/fr1yszM1NChQ3XmzBn98pe/VFpamj788EO1adPG9nj11rVrVy1atEhXXnmljDF69tlnNXHiRL333nvq27ev7fGCoqioSE888YQGDBhge5Sg6tu3r9auXRt43KJF8/ir6ujRo0pJSdHo0aO1atUqderUSSUlJWrfvr3t0eqtqKhIlZWVgcc7duzQDTfcoJtuusniVMHx8MMPa8mSJXr22WfVt29fFRcXa9q0afJ6vZo5c6bt8erttttu044dO/T8888rLi5OL7zwglJTU/Xhhx+qS5cutseT1S8lbIokmby8PNtjNIhDhw4ZSWb9+vW2R2kw7du3N3/6059sjxEUFRUV5sorrzRr1qwxo0aNMrNmzbI9UlDMmzfPDBw40PYYDWLu3LnmmmuusT1Go5g1a5a5/PLLTVVVle1R6m38+PFm+vTp1dalp6ebjIwMSxMFz8mTJ01oaKhZuXJltfWDBw82999/v6WpquPUDwLKy8slSdHR0ZYnCb7KykqtWLFCJ06caDZfz5CZmanx48crNTXV9ihBV1JSori4OPXo0UMZGRnav3+/7ZGC4rXXXtOQIUN00003KSYmRoMGDdJTTz1le6ygO336tF544QVNnz69Ub4wtqFdffXVWrdunXbt2iVJ2r59u958802NGzfO8mT1d+bMGVVWVqpVq1bV1kdEROjNN9+0NFV1zeN4KuqtqqpKWVlZSklJUb9+/WyPEzTvv/++kpOTderUKbVt21Z5eXnq06eP7bHqbcWKFdq6datT55GDZfjw4Vq2bJl69eqlgwcPav78+Ro5cqR27NihyMhI2+PVyyeffKIlS5Zo9uzZ+uUvf6mioiLNnDlTYWFhmjJliu3xgiY/P1/Hjh3T1KlTbY8SFPfdd598Pp+SkpIUGhqqyspKPfTQQ8rIyLA9Wr1FRkYqOTlZCxYsUO/evXXZZZfpxRdf1ObNm3XFFVfYHu8rtg/pNDVqpqd+7rjjDpOYmGjKyspsjxJUfr/flJSUmOLiYnPfffeZjh07mg8++MD2WPWyf/9+ExMTY7Zv3x5Y15xO/Xzb0aNHTVRUVLM4ZdeyZUuTnJxcbd3dd99tRowYYWmihpGWlma+//3v2x4jaF588UXTtWtX8+KLL5p//etf5rnnnjPR0dFm2bJltkcLitLSUnPttdcaSSY0NNQMHTrUZGRkmKSkJNujGWOMIVQuUnMMlczMTNO1a1fzySef2B6lwY0ZM8bcfvvttseol7y8vMBfKF8vkozH4zGhoaHmzJkztkcMuiFDhpj77rvP9hj1lpCQYGbMmFFt3R//+EcTFxdnaaLg27t3rwkJCTH5+fm2Rwmarl27mscee6zaugULFphevXpZmqhhHD9+3PznP/8xxhgzadIk873vfc/yRF/hGpVLmDFGd911l/Ly8vTPf/5T3bt3tz1Sg6uqqpLf77c9Rr2MGTNG77//vrZt2xZYhgwZooyMDG3btk2hoaG2Rwyq48ePa/fu3YqNjbU9Sr2lpKTUuAXArl27lJiYaGmi4MvNzVVMTIzGjx9ve5SgOXnypEJCqv+6DA0NVVVVlaWJGkabNm0UGxuro0ePqqCgQBMnTrQ9kiSuUbkgx48fV2lpaeDxnj17tG3bNkVHRyshIcHiZPWTmZmp5cuX69VXX1VkZKQ+/fRTSZLX61VERITl6eovOztb48aNU0JCgioqKrR8+XIVFhaqoKDA9mj1EhkZWeM6ojZt2qhDhw7N4vqie++9VxMmTFBiYqL+85//aN68eQoNDdXkyZNtj1Zv99xzj66++motXLhQkyZN0jvvvKMnn3xSTz75pO3RgqKqqkq5ubmaMmVKs/lIuSRNmDBBDz30kBISEtS3b1+99957euSRRzR9+nTbowVFQUGBjDHq1auXSktLNWfOHCUlJWnatGm2R/uK7UM6TcEbb7xhJNVYpkyZYnu0eqltnySZ3Nxc26MFxfTp001iYqIJCwsznTp1MmPGjDGrV6+2PVaDaE7XqNx8880mNjbWhIWFmS5dupibb77ZlJaW2h4raP7+97+bfv36mfDwcJOUlGSefPJJ2yMFTUFBgZFkdu7caXuUoPL5fGbWrFkmISHBtGrVyvTo0cPcf//9xu/32x4tKF566SXTo0cPExYWZjp37mwyMzPNsWPHbI8V4DGmmdxaDwAANDtcowIAAJxFqAAAAGcRKgAAwFmECgAAcBahAgAAnEWoAAAAZxEqAADAWYQKAABwFqEC4LymTp2qG2+88ZzbXHfddcrKymqUeWzbu3evPB6Ptm3bdtZtCgsL5fF4dOzYsUabC2iOms+XMQBoML/73e/ETaz/Jz4+XgcPHlTHjh1tjwI0e4QKcAk4ffq0wsLC6vzzXq83iNM0faGhoercubPtMYBLAqd+gGbouuuu01133aWsrCx17NhRY8eO1Y4dOzRu3Di1bdtWl112mX7yk5/ov//9b+BnXn75ZfXv318RERHq0KGDUlNTdeLECUk1T/2cOHFCt956q9q2bavY2FgtXry4xgwej0f5+fnV1rVr107Lli0LPC4rK9OkSZPUrl07RUdHa+LEidq7d+8F7WNhYaGGDRumNm3aqF27dkpJSdG+ffsCz7/66qsaPHiwWrVqpR49emj+/Pk6c+ZM4PmSkhJde+21atWqlfr06aM1a9bUOnNtajv1849//EM9e/ZURESERo8efcH7AeDcCBWgmXr22WcVFhamt956S4sWLdL111+vQYMGqbi4WK+//ro+++wzTZo0SZJ08OBBTZ48WdOnT9dHH32kwsJCpaenn/V0z5w5c7R+/Xq9+uqrWr16tQoLC7V169aLmu/LL7/U2LFjFRkZqY0bN+qtt95S27Zt9d3vflenT58+58+eOXNGN954o0aNGqV//etf2rx5s26//XZ5PB5J0saNG3Xrrbdq1qxZ+vDDD/XEE09o2bJleuihhyRJVVVVSk9PV1hYmLZs2aKlS5dq7ty5FzX/N5WVlSk9PV0TJkzQtm3bdNttt+m+++6r8+sB+Aa7X94MoCGMGjXKDBo0KPB4wYIFJi0trdo2ZWVlRpLZuXOneffdd40ks3fv3lpfb8qUKWbixInGGGMqKipMWFiY+ctf/hJ4/vDhwyYiIsLMmjUrsE6SycvLq/Y6Xq/X5ObmGmOMef75502vXr1MVVVV4Hm/328iIiJMQUHBOffv8OHDRpIpLCys9fkxY8aYhQsXVlv3/PPPm9jYWGOMMQUFBaZFixbmwIEDgedXrVpV68y12bNnj5Fk3nvvPWOMMdnZ2aZPnz7Vtpk7d66RZI4ePXre1wNwdlyjAjRTV111VeDP27dv1xtvvKG2bdvW2G737t1KS0vTmDFj1L9/f40dO1ZpaWn60Y9+pPbt29e6/enTpzV8+PDAuujoaPXq1eui5tu+fbtKS0sVGRlZbf2pU6e0e/fuc/5sdHS0pk6dqrFjx+qGG25QamqqJk2apNjY2MBrv/XWW4EjKJJUWVmpU6dO6eTJk/roo48UHx+vuLi4wPPJyckXNf83ffTRR9X+edT39QD8D6ECNFNt2rQJ/Pn48eOaMGGCHn744RrbxcbGKjQ0VGvWrNGmTZu0evVq/eEPf9D999+vLVu2qHv37nV6f4/HU+PU0Zdfflltpquuukp//vOfa/xsp06dzvv6ubm5mjlzpl5//XW99NJLeuCBB7RmzRqNGDFCx48f1/z585Wenl7j51q1alWHvQFgC6ECXAIGDx6sv/3tb+rWrZtatKj9f3uPx6OUlBSlpKTowQcfVGJiovLy8jR79uxq211++eVq2bKltmzZooSEBEnS0aNHtWvXLo0aNSqwXadOnXTw4MHA45KSEp08ebLaTC+99JJiYmIUFRVVp/0aNGiQBg0apOzsbCUnJ2v58uUaMWKEBg8erJ07d+qKK66o9ed69+6tsrIyHTx4MHAU5u23367TDF+/3muvvVZtXX1eD8D/cDEtcAnIzMzUkSNHNHnyZBUVFWn37t0qKCjQtGnTVFlZqS1btmjhwoUqLi7W/v379corr+jzzz9X7969a7xW27ZtNWPGDM2ZM0f//Oc/tWPHDk2dOlUhIdX/Orn++uv12GOP6b333lNxcbHuuOMOtWzZMvB8RkaGOnbsqIkTJ2rjxo3as2ePCgsLNXPmTP373/8+5/7s2bNH2dnZ2rx5s/bt26fVq1erpKQkMO+DDz6o5557TvPnz9cHH3ygjz76SCtWrNADDzwgSUpNTVXPnj01ZcoUbd++XRs3btT9999f53++d9xxh0pKSjRnzhzt3LlTy5cvr/bpJgB1R6gAl4C4uDi99dZbqqysVFpamvr376+srCy1a9dOISEhioqK0oYNG/S9731PPXv21AMPPKDFixdr3Lhxtb7er3/9a40cOVITJkxQamqqrrnmmmrXxEjS4sWLFR8fr5EjR+rHP/6x7r33XrVu3TrwfOvWrbVhwwYlJCQoPT1dvXv31owZM3Tq1KnzHmFp3bq1Pv74Y/3whz9Uz549dfvttyszM1M/+9nPJEljx47VypUrtXr1ag0dOlQjRozQb3/7WyUmJkqSQkJClJeXpy+++ELDhg3TbbfdVu16louVkJCgv/3tb8rPz9fAgQO1dOlSLVy4sM6vB+B/PObbJ5EB4BLl8XiUl5d33q8LANB4OKICAACcRagAcFLbtm3PumzcuLFB33vhwoVnfe+znQ4D0DA49QPASaWlpWd9rkuXLoqIiGiw9z5y5IiOHDlS63MRERHq0qVLg703gOoIFQAA4CxO/QAAAGcRKgAAwFmECgAAcBahAgAAnEWoAAAAZxEqAADAWYQKAABw1v8Hq0poKkL3qRIAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "hla_b_81_01\n", "p2-p9\n" ] }, { "data": { "image/png": "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KiwsVEFBge1o9RIZGVljHlGbNm3UoUOHZjG/6K677tL48eOVmJio//znP5o7d65CQ0M1adIk29Hq7c4779Tll1+uBQsWaOLEiXr77bf16KOP6tFHH7UdLSiqqqqUm5uryZMnN5uflEvS+PHjdf/99yshIUF9+/bVu+++q4ceekjTpk2zHS0oCgoKZIxRr169VFpaqtmzZyspKUlTp061He0rti/pNAWvv/66kVRjmTx5su1o9VLbOUkyubm5tqMFxbRp00xiYqIJCwsznTp1MqNHjzarVq2yHatBNKc5KjfeeKOJjY01YWFhpkuXLubGG280paWltmMFzb/+9S/Tr18/Ex4ebpKSksyjjz5qO1LQFBQUGElmx44dtqMElc/nMzNnzjQJCQmmVatWpkePHuaee+4xfr/fdrSgeO6550yPHj1MWFiY6dy5s8nMzDRHjx61HSvAY0wzubUeAABodpijAgAAnEVRAQAAzqKoAAAAZ1FUAACAsygqAADAWRQVAADgLIoKAABwFkUFAAA4i6IC4KymTJmi66677juPufrqq5WVldUoeWzbs2ePPB6Ptm7desZjCgsL5fF4dPTo0UbLBTRHzedhDAAazB/+8AdxE+v/iY+P14EDB9SxY0fbUYBmj6ICXABOnTqlsLCwOr/e6/UGMU3TFxoaqs6dO9uOAVwQGPoBmqGrr75ad9xxh7KystSxY0eNGTNG27dv19ixY9W2bVtddNFF+ulPf6r//ve/gdc8//zz6t+/vyIiItShQwelpqbq+PHjkmoO/Rw/flw333yz2rZtq9jYWC1atKhGBo/Ho/z8/Grb2rVrp6VLlwbWy8rKNHHiRLVr107R0dGaMGGC9uzZc07nWFhYqGHDhqlNmzZq166dUlJStHfv3sD+l156SYMHD1arVq3Uo0cPzZs3T6dPnw7sLykp0ZVXXqlWrVqpT58+Wr16da2Za1Pb0M8rr7yinj17KiIiQqNGjTrn8wDw3SgqQDP15JNPKiwsTG+++aYWLlyoa665RoMGDVJxcbFeffVVffbZZ5o4caIk6cCBA5o0aZKmTZumjz76SIWFhUpPTz/jcM/s2bO1bt06vfTSS1q1apUKCwu1ZcuW88r35ZdfasyYMYqMjNSGDRv05ptvqm3btvr+97+vU6dOfedrT58+reuuu05XXXWV3nvvPW3atEm33nqrPB6PJGnDhg26+eabNXPmTH344Yd65JFHtHTpUt1///2SpKqqKqWnpyssLEybN2/WkiVLNGfOnPPK/01lZWVKT0/X+PHjtXXrVt1yyy26++676/x+AL7B7sObATSEq666ygwaNCiwPn/+fJOWllbtmLKyMiPJ7Nixw7zzzjtGktmzZ0+t7zd58mQzYcIEY4wxFRUVJiwszPzjH/8I7D906JCJiIgwM2fODGyTZPLy8qq9j9frNbm5ucYYY55++mnTq1cvU1VVFdjv9/tNRESEKSgo+M7zO3TokJFkCgsLa90/evRos2DBgmrbnn76aRMbG2uMMaagoMC0aNHC7N+/P7B/5cqVtWauze7du40k8+677xpjjMnOzjZ9+vSpdsycOXOMJHPkyJGzvh+AM2OOCtBMXXbZZYE/b9u2Ta+//rratm1b47hdu3YpLS1No0ePVv/+/TVmzBilpaXpxz/+sdq3b1/r8adOndLw4cMD26Kjo9WrV6/zyrdt2zaVlpYqMjKy2vaTJ09q165d3/na6OhoTZkyRWPGjNG1116r1NRUTZw4UbGxsYH3fvPNNwNXUCSpsrJSJ0+e1IkTJ/TRRx8pPj5ecXFxgf3Jycnnlf+bPvroo2r/POr7fgD+h6ICNFNt2rQJ/PnYsWMaP368HnjggRrHxcbGKjQ0VKtXr9bGjRu1atUq/elPf9I999yjzZs3q3v37nX6fI/HU2Po6Msvv6yW6bLLLtPf//73Gq/t1KnTWd8/NzdXM2bM0KuvvqrnnntO9957r1avXq0RI0bo2LFjmjdvntLT02u8rlWrVnU4GwC2UFSAC8DgwYP1wgsvqFu3bmrRovb/7T0ej1JSUpSSkqL77rtPiYmJysvL06xZs6odd/HFF6tly5bavHmzEhISJElHjhzRzp07ddVVVwWO69Spkw4cOBBYLykp0YkTJ6pleu655xQTE6OoqKg6ndegQYM0aNAgZWdnKzk5WcuWLdOIESM0ePBg7dixQ5dcckmtr+vdu7fKysp04MCBwFWYt956q04Zvn6/l19+udq2+rwfgP9hMi1wAcjMzNThw4c1adIkFRUVadeuXSooKNDUqVNVWVmpzZs3a8GCBSouLta+ffv04osv6vPPP1fv3r1rvFfbtm01ffp0zZ49W6+99pq2b9+uKVOmKCSk+l8n11xzjf785z/r3XffVXFxsW677Ta1bNkysD8jI0MdO3bUhAkTtGHDBu3evVuFhYWaMWOG/v3vf3/n+ezevVvZ2dnatGmT9u7dq1WrVqmkpCSQ97777tNTTz2lefPm6YMPPtBHH32k5cuX695775UkpaamqmfPnpo8ebK2bdumDRs26J577qnzP9/bbrtNJSUlmj17tnbs2KFly5ZV+3UTgLqjqAAXgLi4OL355puqrKxUWlqa+vfvr6ysLLVr104hISGKiorS+vXr9YMf/EA9e/bUvffeq0WLFmns2LG1vt+DDz6okSNHavz48UpNTdUVV1xRbU6MJC1atEjx8fEaOXKkfvKTn+iuu+5S69atA/tbt26t9evXKyEhQenp6erdu7emT5+ukydPnvUKS+vWrfXxxx/rRz/6kXr27Klbb71VmZmZ+vnPfy5JGjNmjFasWKFVq1Zp6NChGjFihH7/+98rMTFRkhQSEqK8vDx98cUXGjZsmG655ZZq81nOV0JCgl544QXl5+dr4MCBWrJkiRYsWFDn9wPwPx7z7UFkALhAeTwe5eXlnfVxAQAaD1dUAACAsygqAJzUtm3bMy4bNmxo0M9esGDBGT/7TMNhABoGQz8AnFRaWnrGfV26dFFERESDffbhw4d1+PDhWvdFRESoS5cuDfbZAKqjqAAAAGcx9AMAAJxFUQEAAM6iqAAAAGdRVAAAgLMoKgAAwFkUFQAA4CyKCgAAcNb/A9w8aCpMPSuOAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "hla_e_01_03\n", "p2-p9\n" ] }, { "data": { "image/png": "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G6u5c+fqRz/6UUADAgCA1qteY1S+rbKyUpKsjBFhjAoAAM1Po49R+frrr3Xu3DlJ3xSUU6dO6fnnn9f69evrszsAAIA61auopKen69VXX5UknT59WiNHjtSSJUuUnp6upUuXBjQgAABovepVVHbt2qUxY8ZIkt58801169ZNhw8f1quvvqr//u//DmhAAADQetWrqJw7d06RkZGSpPXr1ysjI0Nt2rTR6NGjdfjw4YAGBAAArVe9ispNN92kgoIClZeXq7CwUGlpaZKk48ePM6gVAAAETL2KylNPPaXHHntMPXv21KhRo5ScnCzpm7MrQ4cODWhAAADQetX79uQvvvhCx44d05AhQ9SmzTd954MPPlBUVJSSkpICGvJyuD0ZAIDm53q+v+v1wDdJ6tatm7p16+a37K9PqQUAAAiEehWV8+fP6+c//7neeecdHT9+vNb7fXbt2hWQcAAAoHWrV1GZOXOm1q9frx/84AcaOXKkPB5PoHMBAADUr6isWbNGf/jDH5SSkhLoPAAAAD71uuune/fuvueoAAAANJZ6FZUlS5Zo3rx5PNwNAAA0qnpd+hk+fLjOnz+v3r17q3379mrbtq3f+pMnTwYkHAAAaN3qVVSmTJmio0ePatGiRbrhhhsYTAsAABpFvYrKtm3btH37dg0ZMiTQeQAAAHzqNUYlKSlJX3/9daCzAAAA+KlXUVm8eLF+9KMfqaioSCdOnFBlZaXfBAAAEAj1etfPX9/t892xKcYYeTweVVdXBybdVfCuHwAAmp9GfdfPxYsXJUnLli1T375965cQAADgGlx3UWnbtq06d+6ssWPH6uabb26MTAAAAJLqOUbl/vvv169//etAZwEAAPBTr9uTL126pN/85jfauHGjbrnlFoWHh/utf+655wISDgAAtG71Kip79+7VsGHDJEn79+/3W8fD3wAAQKDUq6i88847gc4BAABQS73GqAAAADQFigoAAHCW1aKydOlSDR48WFFRUYqKilJycrLWrl1rMxIAAHCI1aLSo0cPLV68WDt37lRJSYnuuusupaen6+OPP7YZCwAAOKJej9BvTJ06ddKzzz6rmTNnXnVbHqEPAEDz06iP0G8s1dXV+t///V9VVVUpOTm5zm28Xq+8Xq9vnhcgAgDQslkfTPvRRx8pIiJCoaGhevjhh5Wfn6/+/fvXuW1ubq6io6N9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fqqqqvTAAw8oIiJCsbGxWrJkSa0MHo9HBQUFfss6dOig5cuX++bLy8s1efJkdejQQZ06dVJ6eroOHTp0TcdYVFSkkSNHKjw8XB06dFBKSooOHz7sW7969WoNGzZM7dq1U+/evbVgwQJdunTJt760tFS333672rVrp/79+2vDhg11Zq5LXZd+/vCHP6hPnz4KCwvT2LFjr/k4AFwZRQVooV555RWFhITovffe0+LFi3XXXXdp6NChKikp0bp16/Tll19q8uTJkqRjx45pypQpmjFjhj799FMVFRUpIyPjspd75s6dq82bN2v16tVav369ioqKtGvXruvKd/HiRY0fP16RkZHaunWr3nvvPUVEROjv//7vdeHChSv+7KVLl3TPPffojjvu0J/+9Cdt375dDz30kDwejyRp69ateuCBBzR79mx98skneuGFF7R8+XI9/fTTkqSamhplZGQoJCREO3bs0LJlyzRv3rzryv9t5eXlysjI0KRJk7R79249+OCDevzxx+u9PwDfYvflzQAawx133GGGDh3qm1+4cKFJS0vz26a8vNxIMvv27TM7d+40ksyhQ4fq3N/UqVNNenq6McaYM2fOmJCQEPM///M/vvUnTpwwYWFhZvbs2b5lkkx+fr7ffqKjo01eXp4xxpjXXnvN9O3b19TU1PjWe71eExYWZgoLC694fCdOnDCSTFFRUZ3rx40bZxYtWuS37LXXXjOxsbHGGGMKCwtNcHCwOXr0qG/92rVr68xcl4MHDxpJ5sMPPzTGGJOTk2P69+/vt828efOMJHPq1Kmr7g/A5TFGBWihbrnlFt+f9+zZo3feeUcRERG1tjtw4IDS0tI0btw4DRo0SOPHj1daWpp+8IMfqGPHjnVuf+HCBY0aNcq3rFOnTurbt+915duzZ4/KysoUGRnpt/z8+fM6cODAFX+2U6dOmjZtmsaPH6+7775bqampmjx5smJjY337fu+993xnUCSpurpa58+f17lz5/Tpp58qPj5ecXFxvvXJycnXlf/bPv30U7+/j4buD8DfUFSAFio8PNz357Nnz2rSpEl65plnam0XGxuroKAgbdiwQdu2bdP69ev185//XE888YR27NihXr161evzPR5PrUtHFy9e9Mt0yy236Le//W2tn+3atetV95+Xl6dZs2Zp3bp1WrVqlZ588klt2LBBo0eP1tmzZ7VgwQJlZGTU+rl27drV42gA2EJRAVqBYcOG6Xe/+5169uyp4OC6/9l7PB6lpKQoJSVFTz31lBITE5Wfn685c+b4bXfjjTeqbdu22rFjhxISEiRJp06d0v79+3XHHXf4tuvatauOHTvmmy8tLdW5c+f8Mq1atUoxMTGKioqq13ENHTpUQ4cOVU5OjpKTk7VixQqNHj1aw4YN0759+3TTTTfV+XP9+vVTeXm5jh075jsL8/7779crw1/39/bbb/sta8j+APwNg2mBViArK0snT57UlClTVFxcrAMHDqiwsFDTp09XdXW1duzYoUWLFqmkpERHjhzRW2+9pa+++kr9+vWrta+IiAjNnDlTc+fO1R//+Eft3btX06ZNU5s2/r9O7rrrLv3iF7/Qhx9+qJKSEj388MNq27atb31mZqa6dOmi9PR0bd26VQcPHlRRUZFmzZqlP//5z1c8noMHDyonJ0fbt2/X4cOHtX79epWWlvryPvXUU3r11Ve1YMECffzxx/r000+1cuVKPfnkk5Kk1NRU9enTR1OnTtWePXu0detWPfHEE/X++3344YdVWlqquXPnat++fVqxYoXf3U0A6o+iArQCcXFxeu+991RdXa20tDQNGjRI2dnZ6tChg9q0aaOoqCht2bJF3/ve99SnTx89+eSTWrJkiSZMmFDn/p599lmNGTNGkyZNUmpqqm677Ta/MTGStGTJEsXHx2vMmDH6p3/6Jz322GNq3769b3379u21ZcsWJSQkKCMjQ/369dPMmTN1/vz5q55had++vT777DP94z/+o/r06aOHHnpIWVlZ+td//VdJ0vjx47VmzRqtX79eI0aM0OjRo/Wzn/1MiYmJkqQ2bdooPz9fX3/9tUaOHKkHH3zQbzzL9UpISNDvfvc7FRQUaMiQIVq2bJkWLVpU7/0B+BuP+e5FZABopTwej/Lz86/6ugAATYczKgAAwFkUFQBOioiIuOy0devWRv3sRYsWXfazL3c5DEDj4NIPACeVlZVddl337t0VFhbWaJ998uRJnTx5ss51YWFh6t69e6N9NgB/FBUAAOAsLv0AAABnUVQAAICzKCoAAMBZFBUAAOAsigoAAHAWRQUAADiLogIAAJz1/9lf8+qzVapYAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "max_rmsd = peptide_apo_holo_comparison_with_anchor['rmsd'].max()\n", "\n", "for mhc_slug, group in peptide_apo_holo_comparison_with_anchor.groupby('mhc_slug'):\n", " print(mhc_slug)\n", " print(group['dominant_anchor'].unique()[0])\n", " plot = sns.barplot(group, x='residue_seq_id', y='rmsd', color='salmon')\n", " plot.set_ylim((0, np.ceil(max_rmsd)))\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 17, "id": "211644fe", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGxCAYAAACeKZf2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA6EklEQVR4nO3de1xVZb7H8e8GuSMYioAXvKThJe83UEuaSHLKYJyy49jRzMpOOmKUmpNa6Su1cUibbLSOx0s1pl28lJlKKllmpiKNlimaiRpqmYriBYXn/NHLnTsRBTYsWHzer9d+vXzWetazf4s0v67nWWs5jDFGAAAANuFhdQEAAADuRLgBAAC2QrgBAAC2QrgBAAC2QrgBAAC2QrgBAAC2QrgBAAC2QrgBAAC2Us3qAspbQUGBfvzxR1WvXl0Oh8PqcgAAwHUwxujUqVOqU6eOPDyKvjZT5cLNjz/+qPr161tdBgAAKIEDBw6oXr16RfapcuGmevXqkn794QQFBVlcDQAAuB45OTmqX7++8+/xolS5cHNpKiooKIhwAwBAJXM9S0pYUAwAAGyFcAMAAGyFcAMAAGylyq25uV75+fm6cOGC1WXAQl5eXvL09LS6DABAMRFufscYo8OHD+vEiRNWl4IKoEaNGgoPD+eZSABQiRBufudSsKldu7b8/f35S62KMsbozJkzOnr0qCQpIiLC4ooAANeLcHOZ/Px8Z7CpWbOm1eXAYn5+fpKko0ePqnbt2kxRAUAlwYLiy1xaY+Pv729xJagoLv1eYP0VAFQehJtCMBWFS/i9AACVD+EGAADYCuHGDWJjYzVixIgy/Y6GDRtq+vTpZfodlcW8efNUo0YNq8sAAFRQhJtKYvPmzXr00UfL/XsJVQCAyoa7pSqJ0NBQq0uwvQsXLsjLy8vqMgAApcSVm2LKzc3VgAEDFBgYqIiICKWkpLjsP378uAYMGKAbbrhB/v7+6tWrlzIzM537L02pLF++XFFRUfL399e9996rM2fOaP78+WrYsKFuuOEGDR8+XPn5+c7jfn8FxeFwaPbs2frTn/4kf39/NW3aVB988IFzf35+vgYPHqxGjRrJz89PUVFRevnll11qffDBB5WYmKh//OMfioiIUM2aNTV06FDnnUGxsbHav3+/nnjiCTkcjutaXHvs2DH169dPdevWlb+/v1q1aqW3337bpU9sbKyGDx+uUaNGKSQkROHh4Xruuedc+pw4cUJDhgxRWFiYfH19dfPNN2v58uUufVatWqXmzZsrMDBQd955p7Kzs537CgoKNGHCBNWrV08+Pj5q27atVq5c6dz/ww8/yOFwaNGiRerRo4d8fX3173//+5rnB8BaxhidPn3a+THGWF0SKiJTxZw8edJIMidPnrxi39mzZ823335rzp49e9Xj/+d//sdERkaaTz75xPznP/8xd999t6levbpJSkoyxhhzzz33mObNm5v169ebjIwMEx8fb5o0aWLy8vKMMcbMnTvXeHl5mTvuuMOkp6ebTz/91NSsWdP07NnT9O3b13zzzTfmww8/NN7e3mbhwoXO723QoIGZNm2asy3J1KtXzyxYsMBkZmaa4cOHm8DAQHPs2DFjjDF5eXlm/PjxZvPmzeb77783b731lvH39zeLFi1yjjFw4EATFBRkHnvsMbNz507z4YcfGn9/f/P6668bY4w5duyYqVevnpkwYYLJzs422dnZ1/z5Hjx40EydOtVs27bN7N271/zzn/80np6eZtOmTc4+PXr0MEFBQea5554zu3fvNvPnzzcOh8OsXr3aGGNMfn6+iY6ONi1btjSrV682e/fuNR9++KFZsWKFy88wLi7ObN682WzdutU0b97c/OUvf3F+x0svvWSCgoLM22+/bb777jszatQo4+XlZXbv3m2MMWbfvn1GkmnYsKF5//33zffff29+/PHHEv2eAFB+Tp06Zf7whz84P6dOnbK6JJSTov7+/j3CzWWu9RfZqVOnjLe3t3nnnXec244dO2b8/PxMUlKS2b17t5FkNmzY4Nz/888/Gz8/P+cxc+fONZLMnj17nH2GDBli/P39Xf6QxsfHmyFDhjjbhYWbsWPHOtunT582kszHH3981XMfOnSo+fOf/+xsDxw40DRo0MBcvHjRue2+++4z999//1W/tyTuuusu8+STTzrbPXr0MN27d3fp06lTJzN69GhjjDGrVq0yHh4eZteuXYWOV9jP8NVXXzVhYWHOdp06dcwLL7xwxXc8/vjjxpjfws306dOLrJ1wA1QshJuqqzjhhjU3xbB3717l5eWpS5cuzm0hISGKioqSJO3cuVPVqlVz2V+zZk1FRUVp586dzm3+/v668cYbne2wsDA1bNhQgYGBLtsuPfr/alq3bu38dUBAgIKCglyO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hqv58+erWrVq+uqrr/Tyyy/rpZde0uzZswvte/LkSTkcDtWoUeOa444cOVIpKSnavHmzQkND1bt3b124cMGlzz333KPatWure/fu+uCDD0pd7/nz5yVJvr6+zv4eHh7y8fHR559/fl3jAwDsxdI1N9fzPqLC3oV033336b777iuDiqqG+vXra9q0aXI4HIqKitL27ds1bdo0PfLIIy79zp07p9GjR6tfv34KCgq65rjPPvus7rjjDkm/BpJ69eppyZIl6tu3rwIDA5WSkqJu3brJw8ND77//vhITE7V06dJrTnsVVW+zZs0UGRmpMWPG6LXXXlNAQICmTZumgwcPuoRiAEDVUWHulkL5iY6OlsPhcLZjYmKUmZmp/Px857YLFy6ob9++MsZo5syZzu29evVSYGCgAgMD1bJlS5dxL1/3FBISoqioKO3cuVOSVKtWLSUnJ6tLly7q1KmTpkyZogceeEBTp06VJH322WfOcQMDA/Xvf//7uur18vLS4sWLtXv3boWEhMjf31/r1q1Tr1695OHBb28AqIoqxN1SqFguBZv9+/dr7dq1LldtZs+e7VwTda31MtfSpUsXpaamSpI6duyojIwM577fP8uoKB06dFBGRoZOnjypvLw8hYaGqkuXLurYsWOp6gMAVE6Emypo06ZNLu0vv/xSTZs2laenpzPYZGZmat26dapZs6ZL37p161513C+//FKRkZGSpOPHj2v37t1q3rz5VftnZGQoIiJCkuTn56cmTZoUu97LBQcHS/p1kfGWLVs0ceLEq343AMC+CDdVUFZWlpKTkzVkyBClp6frlVdeUUpKii5cuKB7771X6enpWr58ufLz851Pfg4JCZG3t3eR406YMEE1a9ZUWFiYnnnmGdWqVUuJiYmSfl2D4+3trXbt2kmSFi9erDlz5lx1IfP11HvJu+++q9DQUEVGRmr79u1KSkpSYmKievbsWcKfEACgMiPcVEEDBgzQ2bNn1blzZ3l6eiopKUmPPvqo9u/f77yDqW3bti7HrFu3TrGxsUWOO2XKFCUlJSkzM1Nt27bVhx9+6BKIJk6cqP3796tatWpq1qyZFi1apHvvvbfE9V6SnZ2t5ORkHTlyRBERERowYIDGjRt3/T8QAICtEG7czN1PDS4LXl5emj59ustCYUlq2LDhdd3BdjXdu3cv9Nk2kjRw4EANHDiwRONerd5Lhg8fruHDh5dobACA/XA7CQAAsBXCDQAAsBWmpaqYwh6KWFqxsbGlms4qSlnUCwCwN67cAAAAWyHcFKKsrkKg8uH3AgBUPoSby1x64u6ZM2csrgQVxaXfC6V9GjMAoPyw5uYynp6eqlGjho4ePSpJ8vf3d3mnEaoOY4zOnDmjo0ePqkaNGlc8DRkAUHERbn4nPDxckpwBB1VbjRo1nL8nAACVA+HmdxwOhyIiIlS7dm1duHDB6nJgIS8vL67YAEAlRLi5Ck9PT/5iAwCgEmJBMQAAsBXCDQAAsBWmpQAAFULWhFbX7HPmokNSqLN98O9d5V+t6OdRVYYXGsO9uHIDAABshXADAABshXADAABshXADAABshXADAABshXADAABshXADAABshXADAABshXADAABshXADAABshXADAABshXADAABshXADAABshXADAABshXADAABshXADAABshXADAABshXADAABshXADAABshXADAABshXADAABshXADAABspZrVBQCVmTFGubm5znZAQIAcDoeFFQEACDdAKeTm5iohIcHZXrZsmQIDAy2sCADAtBQAALAVwg0AALAVpqUAVFisaQJQEoQbABUWa5oAlATTUgAAwFYINwAAwFYINwAAwFYINwAAwFYINwAAwFYINwAAwFYINwAAwFYINwAAwFYINwAAwFYINwAAwFYINwAAwFYINwAAwFYINwAAwFYINwAAwFYINwAAwFYINwAAwFYINwAAwFaqWV0AgKqpw8g3rtnHcTFPwZe1Y8ctlKnmXeQxW6cOKGVlACo7rtwAAABbIdwAAABbIdwAAABbsTTcrF+/Xr1791adOnXkcDi0dOnSIvunpaXJ4XBc8Tl8+HD5FAwAACo8S8NNbm6u2rRpo1dffbVYx+3atUvZ2dnOT+3atcuoQgAAUNlYerdUr1691KtXr2IfV7t2bdWoUcP9BQEAgEqvUq65adu2rSIiInTHHXdow4YNRfY9f/68cnJyXD4AAMC+KlW4iYiI0KxZs/T+++/r/fffV/369RUbG6v09PSrHjN58mQFBwc7P/Xr1y/HigEAQHmrVA/xi4qKUlRUlLPdtWtX7d27V9OmTdObb75Z6DFjxoxRcnKys52Tk0PAAQDAxipVuClM586d9fnnn191v4+Pj3x8fMqxIgAAYKVKNS1VmIyMDEVE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uKD4+HhVr15dn332mTZs2KDAwEDdeeedysvLK/LYixcvKjExUT169NB//vMfbdy4UY8++qgcDock6bPPPtOAAQOUlJSkb7/9Vq+99prmzZunF154QZJUUFCgPn36yNvbW5s2bdKsWbM0evToYtV/uQMHDqhPnz7q3bu3MjIy9PDDD+vpp58u8XgALmPtS8kBVBQ9evQw7dq1c7YnTpxoevbs6dLnwIEDRpLZtWuX2bp1q5Fkfvjhh0LHGzhwoElISDDGGHPq1Cnj7e1t3nnnHef+Y8eOGT8/P5OUlOTcJsksWbLEZZzg4GAzd+5cY4wxb775pomKijIFBQXO/efPnzd+fn5m1apVRZ7fsWPHjCSTlpZW6P7bb7/dTJo0yWXbm2++aSIiIowxxqxatcpUq1bNHDp0yLn/448/LrTmwuzbt89IMtu2bTPGGDNmzBjTokULlz6jR482kszx48evOR6Aq2PNDQCnDh06OH/99ddfa926dQoMDLyi3969e9WzZ0/dfvvtatWqleLj49WzZ0/de++9uuGGGwrtn5eXpy5duji3hYSEKCoqqlj1ff3119qzZ4+qV6/usv3cuXPau3dvkceGhITowQcfVHx8vO644w7FxcWpb9++ioiIcI69YcMG55UaScrPz9e5c+d05swZ7dy5U/Xr11edOnWc+2NiYopV/+V27tzp8vMo7XgAfkO4AeAUEBDg/PXp06fVu3dvvfjii1f0i4iIkKenp1JTU/XFF19o9erVeuWVV/TMM89o06ZNatSoUYm+3+FwXDGtdeHCBZeaOnTooH//+99XHBsaGnrN8efOnavhw4dr5cqVWrRokcaOHavU1FRFR0fr9OnTev7559WnT58rjvP19S3B2QCwCuEGQKHat2+v999/Xw0bNlS1aoX/r8LhcKhbt27q1q2bxo8frwYNGmjJkiVKTk526XfjjTfKy8tLmzZtUmRkpCTp+PHj2r17t3r06OHsFxoaquzsbGc7MzNTZ86ccalp0aJFql27toKCgkp0Xu3atVO7du00ZswYxcTEaMGCBYqOjlb79u21a9cuNWnSpNDjmjdvrgMHDig7O9t5tefLL78sUQ2Xxvvggw9ctpVmPAC/YUExgEINHTpUv/zyi/r166fNmzdr7969WrVqlQYNGqT8/Hxt2rRJkyZN0pYtW5SVlaXFixfrp59+UvPmza8YKzAwUIMHD9bIkSO1du1a7dixQw8++KA8PFz/F/SHP/xBM2bM0LZt27RlyxY99thj8vLycu7v37+/atWqpYSEBH322Wfat2+f0tLSNHz4cB08eLDI89m3b5/GjBmjjRs3av/+/Vq9erUyMzOd9Y4fP15vvPGGnn/+eX3zzTfauXOnFi5cqLFjx0qS4uLidNNNN2ngwIH6+uuv9dlnn+mZZ54p8c/3scceU2ZmpkaOHKldu3ZpwYIFLneFASg5wg2AQtWpU0cbNmxQfn6+evbsqVatWmnEiBGqUaOGPDw8FBQUpPXr1+uPf/yjbrrpJo0dO1YpKSnq1atXoeNNnTpVt9xyi3r37q24uDh1797dZY2PJKWkpKh+/fq65ZZb9Je//EVPPfWU/P39nfv9/f21fv16RUZGqk+fPmrevLkGDx6sc+fOXfNKjr+/v7777jv9+c9/1k033aRHH31UQ4cO1ZAhQyRJ8fHxWr58uVavXq1OnTopOjpa06ZNU4MGDSRJHh4eWrJkic6ePavOnTvr4YcfdlmfU1yRkZF6//33tXTpUrVp00azZs3SpEmTSjwegN84zO8nuAEA183hcGjJkiXXfNUEgPLDlRsAAGArhBsAthEYGHjVz2effVam3z1p0qSrfvfVpuoAlA2mpQDYxp49e666r27duvLz8yuz7/7ll1/0yy+/FLrPz89PdevWLbPvBuCKcAMAAGyFaSkAAGArhBsAAGArhBsAAGArhBsAAGArhBsAAGArhBsAAGArhBsAAGArhBsAAGAr/w9N2/R//j5BawAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.barplot(peptide_apo_holo_comparison_with_anchor,\n", " hue='dominant_anchor',\n", " x='residue_seq_id', y='rmsd')" ] }, { "cell_type": "code", "execution_count": null, "id": "23406418", "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", "
dominant_anchormhc_slug
0p2-p5-p9hla_b_08_01
1p2-p9hla_e_01_03
\n", "
" ], "text/plain": [ " dominant_anchor mhc_slug\n", "0 p2-p5-p9 hla_b_08_01\n", "1 p2-p9 hla_e_01_03" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "representative_alleles = (peptide_apo_holo_comparison_with_anchor.groupby('dominant_anchor')[['dominant_anchor', 'mhc_slug']]\n", " .sample(1, random_state=1)\n", " .reset_index(drop=True))\n", "representative_alleles" ] }, { "cell_type": "code", "execution_count": 19, "id": "59d68b41", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGxCAYAAACeKZf2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA75ElEQVR4nO3deVgW9f7/8dcNiuyYqYAKqEluua/gSalIMjPM0o550lzq2/dgapSauaV+kzY1W205SpaGdUpoMZdDYaZUbpiWkXpMLME6pRC3igLz+6Nf9/FOZL1hYHw+rmuuy8/M5zPzHvXSFzOfmbEZhmEIAADAItzMLgAAAMCVCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBS6pldQE0rLi7WsWPH5OfnJ5vNZnY5AACgHAzD0G+//aZmzZrJza30azOXXLg5duyYQkJCzC4DAABUwtGjR9WiRYtS+1xy4cbPz0/S7785/v7+JlcDAADKIy8vTyEhIY7/x0tzyYWbP25F+fv7E24AAKhjyjOlhAnFAADAUgg3AADAUgg3AADAUi65OTcAgNqhqKhI586dM7sM1CIeHh5lPuZdHoQbAECNMgxDOTk5OnnypNmloJZxc3NTq1at5OHhUaX9EG4AADXqj2DTtGlTeXt780JVSPrvS3azs7MVGhpapb8XhBsAQI0pKipyBJvLL7/c7HJQyzRp0kTHjh1TYWGh6tevX+n9MKEYAFBj/phj4+3tbXIlqI3+uB1VVFRUpf0QbgAANY5bUSiJq/5eEG4AAIClEG4AAKigtLQ02Ww2U574ioqK0pQpU2r8uHUJ4QYAAFgK4QYAAFgK4aaWMAxD+fn5jsUwDLNLAoBLRlRUlO677z5NmTJFl112mQIDA/XKK6/Ibrdr7Nix8vPzU5s2bfTRRx85jdu5c6d69uwpb29vRUZGKjMz02n7+++/r169esnT01ONGzfWLbfcUq56XnjhBYWHh8vT01OBgYG67bbbLtrXZrMpOTnZaV3Dhg2VmJjoaG/btk1du3aVp6enevbsqeTkZNlsNmVkZJSrnrqGcFNL2O12xcbGOha73W52SQBwSXnttdfUuHFjffnll7rvvvv0v//7vxo+fLgiIyO1a9cuDRw4UHfeeadOnTrlGDNz5kwtWrRIO3bsUL169TRu3DjHtg8//FC33HKLbrzxRu3evVupqanq3bt3mXXs2LFDkyZN0vz585WZman169erf//+lT6vvLw8DRkyRJ06ddKuXbu0YMECTZ8+vdL7qwtMDTcJCQnq1auX/Pz81LRpUw0dOvSC1PtniYmJstlsTounp2cNVQwAsKouXbpo1qxZCg8P14wZMxxXW+6++26Fh4drzpw5+uWXX/TVV185xjz66KMaMGCAOnTooIceekjbtm3TmTNnHNv++te/at68eWrfvr26dOmiGTNmlFlHVlaWfHx8dNNNNyksLEzdunXTpEmTKn1eq1evls1m0yuvvKIOHTpo0KBBmjp1aqX3VxeYGm42b96suLg4ff7559q0aZPOnTungQMHlnnVwt/fX9nZ2Y7lyJEjNVQxAMCqOnfu7Pi1u7u7Lr/8cnXq1MmxLjAwUJL0008/lTgmODjYaXtGRoauu+66Ctdx/fXXKywsTK1bt9add96pVatWOV0tqqjMzEx17tzZ6UJAea4g1WWmfn5h/fr1Tu3ExEQ1bdpUO3fuLPUSnM1mU1BQUHWXBwC4hPz5df82m81p3R8vmCsuLi5xzJ+3e3l5VaoOPz8/7dq1S2lpadq4caPmzJmjRx55RNu3b1fDhg0v6G+z2S6Yp3mpf229Vs25yc3NlSQ1atSo1H75+fkKCwtTSEiIYmNj9fXXX1+0b0FBgfLy8pwWAACqW+fOnZWamlqpsfXq1VN0dLSeeOIJffXVV/r+++/18ccfl9i3SZMmys7OdrQPHDjgdKWnbdu22rt3rwoKChzrtm/fXqm66opaE26Ki4s1ZcoU9evXT1ddddVF+7Vt21bLly9XSkqK3njjDRUXFysyMlI//PBDif0TEhIUEBDgWEJCQqrrFAAAcJg7d67efPNNzZ07V/v379fevXv1+OOPlznugw8+0DPPPKOMjAwdOXJEK1euVHFxsdq2bVti/2uvvVbPPfecdu/erR07dujee+91uqJ0xx13qLi4WPfcc4/279+vDRs26KmnnpJk3c9g1JpwExcXp3379ikpKanUfhERERo9erS6du2qAQMG6N1331WTJk300ksvldh/xowZys3NdSxHjx6tjvIBAHASFRWlt99+W++99566du2qa6+9Vl9++WWZ4xo2bKh3331X1157rdq3b69ly5bpzTffVMeOHUvsv2jRIoWEhOjqq6/WHXfc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0dFKT0+/6Lj8/HyFhYUpJCREsbGx+vrrry/at6CgQHl5eU4LAACwLlPDzX/+8x8VFRVdcOUlMDBQOTk5JY5p27atli9frpSUFL3xxhsqLi5WZGSkfvjhhxL7JyQkKCAgwLGEhIS4/DwAAEDtYfqcm4qKiIhQRESEox0ZGan27dvrpZde0oIFCy7oP2PGDMXHxzvaeXl5BBxYilVelw4ArmJquGncuLHc3d11/Phxp/XHjx9XUFBQufZRv359devWTQcPHixxe4MGDdSgQYMq1wrUWhZ5XToAuIqpt6U8PDzUo0cPpaamOtYVFxcrNTXV6epMaYqKirR3714FBwdXV5nARRmGofz8fMdiGDzdAABmM/22VHx8vMaMGaOePXuqd+/eevrpp2W32zV27FhJ0ujRo9W8eXMlJCRIkubPn6++ffuqTZs2OnnypJ588kkdOXJEEyZMMPM0cInibbCA6/DNM7iK6eHm9ttv188//6w5c+YoJydHXbt21fr16x2TjLOysuTm9t8LTCdOnNDdd9+tnJwcXXbZZerRo4e2bdumDh06mHUKAACgFjE93EjSxIkTNXHixBK3paWlObWXLFmiJUuW1EBVAACgLjL9JX4AAACuVCuu3NQlPHYLAEDtRripKB67BWASJtzWDvyQW/sRbgAAqAh+yK31mHMDAAAshXADAAAshXADAAAshXADAAAshXADAAAshaelgIu41B+79XI39Hy/n53aAFAXEG4AlMhmU5lBDQBqI25LAQAASyHcAAAAS+G2FACgzmAuWN1U039uhBsAQJ3BXLC6qab/3LgtBQAALIVwAwAALIXbUgBgIcxJAQg3AGApzEkBuC0FAAAshis3QBVwCwAAah/CDVAF3AIAgNqHcINqx9UNAEBNItyg2nF1AwBQk5hQDAAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALKVWhJvnn39eLVu2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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.barplot(peptide_apo_holo_comparison_with_anchor.query(\"mhc_slug.isin(@representative_alleles['mhc_slug'])\"),\n", " hue='mhc_slug',\n", " x='residue_seq_id', y='rmsd')" ] }, { "cell_type": "markdown", "id": "21828333", "metadata": {}, "source": [ "## Conclusion\n", "\n", "From the visualisations it is clear that the profile of peptide conformational changes depends on the mhc allele and how the peptides are anchored by the allele." ] } ], "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 }