{
"cells": [
{
"cell_type": "markdown",
"id": "7f077a29",
"metadata": {},
"source": [
"# EDA and data split for Propedia \n",
"\n",
"Positive data downloaded from http://bioinfo.dcc.ufmg.br/propedia/download"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "66c419e8",
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "b27a5b5b",
"metadata": {},
"outputs": [],
"source": [
"DATA_DIR = '/home/ec2-user/SageMaker/efs/data/Propedia'"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "af6c193d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'/home/ec2-user/SageMaker/efs/data/Propedia'"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"os.path.dirname('/home/ec2-user/SageMaker/efs/data/Propedia/comlpex.csv')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "16ca47c7",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"total 2600656\n",
"-rw-rw-r-- 1 ec2-user ec2-user 11717752 Jun 23 2020 complex.csv\n",
"-rw-rw-r-- 1 ec2-user ec2-user 859605251 Jun 23 2020 complex.zip\n",
"-rw-rw-r-- 1 ec2-user ec2-user 19405862 Sep 14 16:42 full_09132022.csv\n",
"-rw-rw-r-- 1 ec2-user ec2-user 107077 Sep 14 15:30 non_canonical_peptides_in_propedia.csv\n",
"drwxr-xr-x 3 ec2-user ec2-user 6144 Sep 12 14:46 nr_aws_19k\n",
"-rw-rw-r-- 1 ec2-user ec2-user 796005006 Sep 12 22:04 nr_aws_19k_docks.tar\n",
"-rw-rw-r-- 1 ec2-user ec2-user 2118274 Jun 16 2020 peptide.fasta\n",
"-rw-rw-r-- 1 ec2-user ec2-user 42595167 Jun 23 2020 peptide.zip\n",
"drwxr-xr-x 3 ec2-user ec2-user 6144 Sep 6 23:11 propedia_aws_19k\n",
"-rw-rw-r-- 1 ec2-user ec2-user 812583503 Sep 7 19:46 propedia_aws_19k.tar\n",
"-rw-rw-r-- 1 ec2-user ec2-user 6240386 Jun 16 2020 receptor.fasta\n",
"-rw-rw-r-- 1 ec2-user ec2-user 15563 Sep 19 15:21 rmsd_refined_data_test.csv\n",
"-rw-rw-r-- 1 ec2-user ec2-user 76439 Sep 19 15:21 rmsd_refined_data_train.csv\n",
"drwxr-xr-x 3 ec2-user ec2-user 6144 Sep 19 14:51 selfdock_test_aws\n",
"-rw-rw-r-- 1 ec2-user ec2-user 15268192 Sep 19 15:21 selfdock_test_aws.tar\n",
"drwxr-xr-x 3 ec2-user ec2-user 6144 Sep 19 14:52 selfdock_train_aws\n",
"-rw-rw-r-- 1 ec2-user ec2-user 57923107 Sep 19 15:21 selfdock_train_aws.tar\n",
"drwxrwxr-x 4 ec2-user ec2-user 6144 Sep 8 14:14 structures\n",
"-rw-rw-r-- 1 ec2-user ec2-user 3867721 Sep 14 16:45 test_09132022.csv\n",
"-rw-rw-r-- 1 ec2-user ec2-user 3867721 Sep 14 18:45 test_full.csv\n",
"-rw-rw-r-- 1 ec2-user ec2-user 388186 Sep 14 18:49 test_small.csv\n",
"-rw-rw-r-- 1 ec2-user ec2-user 14874148 Sep 14 16:44 train_09132022.csv\n",
"-rw-rw-r-- 1 ec2-user ec2-user 14874148 Sep 14 18:45 train_full.csv\n",
"-rw-rw-r-- 1 ec2-user ec2-user 1477400 Sep 14 18:49 train_small.csv\n"
]
}
],
"source": [
"!ls -l {DATA_DIR}"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "6feb3059",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"19814 /home/ec2-user/SageMaker/efs/data/Propedia/complex.csv\n"
]
}
],
"source": [
"!wc -l {DATA_DIR}/complex.csv"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "01640356",
"metadata": {},
"outputs": [],
"source": [
"pd.set_option('display.max_columns', None)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "12dcfcce",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(19813, 30)\n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" PDB \n",
" Protein Name \n",
" Resolution \n",
" Classification \n",
" ligand_chain_id \n",
" Peptide Size \n",
" Peptide Sequence \n",
" Peptide Description \n",
" Peptide Organism \n",
" Peptide Interface Area \n",
" Peptide Molecular Weight \n",
" Peptide Aromaticity \n",
" Peptide Instability \n",
" Peptide Isoelectric Point \n",
" receptor_chain_id \n",
" Receptor Size \n",
" Receptor Sequence \n",
" Receptor Description \n",
" Receptor Organism \n",
" Receptor Interface Area \n",
" Receptor Molecular Weight \n",
" Receptor Aromaticity \n",
" Receptor Instability \n",
" Receptor Isoelectric Point \n",
" Sequence Cluster \n",
" Is Sequence Cluster Centroid \n",
" Interface Cluster \n",
" Is Interface Cluster Centroid \n",
" Binding Cluster \n",
" Is Binding Cluster Centroid \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 148l \n",
" A COVALENT ENZYME-SUBSTRATE INTERMEDIATE WITH ... \n",
" 1.9 \n",
" HYDROLASE/HYDROLASE SUBSTRATE \n",
" S \n",
" 5 \n",
" AXXXX \n",
" SUBSTRATE CLEAVED FROM CELL WALL OF ESCHERICHI... \n",
" Escherichia coli \n",
" 151.70 \n",
" - \n",
" 0.0 \n",
" - \n",
" 5.57 \n",
" E \n",
" 163 \n",
" MNIFEMLRIDEGLRLKIYKDTEGYYEIGIGHLLTKSPSLNAAKSEL... \n",
" T4 LYSOZYME \n",
" Escherichia virus T4 \n",
" 94.32 \n",
" 18515.99 \n",
" 0.09 \n",
" 37.30 \n",
" 9.66 \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" 1 \n",
" 1a07 \n",
" C-SRC (SH2 DOMAIN) COMPLEXED WITH ACE-MALONYL ... \n",
" 2.2 \n",
" COMPLEX (TRANSFERASE/PEPTIDE) \n",
" C \n",
" 3 \n",
" XEX \n",
" ACE-MALONYL TYR-GLU-(N,N-DIPENTYL AMINE) \n",
" - \n",
" 104.76 \n",
" - \n",
" 0.0 \n",
" - \n",
" 4.00 \n",
" A \n",
" 105 \n",
" SIQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLS... \n",
" C-SRC TYROSINE KINASE \n",
" Homo sapiens \n",
" 80.39 \n",
" 12039.45 \n",
" 0.11 \n",
" 40.24 \n",
" 9.07 \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" 2 \n",
" 1a07 \n",
" C-SRC (SH2 DOMAIN) COMPLEXED WITH ACE-MALONYL ... \n",
" 2.2 \n",
" COMPLEX (TRANSFERASE/PEPTIDE) \n",
" D \n",
" 3 \n",
" XEX \n",
" ACE-MALONYL TYR-GLU-(N,N-DIPENTYL AMINE) \n",
" - \n",
" 106.41 \n",
" - \n",
" 0.0 \n",
" - \n",
" 4.00 \n",
" B \n",
" 104 \n",
" IQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLSV... \n",
" C-SRC TYROSINE KINASE \n",
" Homo sapiens \n",
" 83.65 \n",
" 11952.37 \n",
" 0.12 \n",
" 40.53 \n",
" 9.08 \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" 3 \n",
" 1a08 \n",
" C-SRC (SH2 DOMAIN) COMPLEXED WITH ACE-DIFLUORO... \n",
" 2.2 \n",
" COMPLEX (TRANSFERASE/PEPTIDE) \n",
" C \n",
" 3 \n",
" XEX \n",
" ACE-DIFLUORO PHOSPHOTYR-GLU-(N,N-DIPENTYL AMINE) \n",
" - \n",
" 107.21 \n",
" - \n",
" 0.0 \n",
" - \n",
" 4.00 \n",
" A \n",
" 105 \n",
" SIQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLS... \n",
" C-SRC TYROSINE KINASE \n",
" Homo sapiens \n",
" 81.86 \n",
" 12039.45 \n",
" 0.11 \n",
" 40.24 \n",
" 9.07 \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" 4 \n",
" 1a08 \n",
" C-SRC (SH2 DOMAIN) COMPLEXED WITH ACE-DIFLUORO... \n",
" 2.2 \n",
" COMPLEX (TRANSFERASE/PEPTIDE) \n",
" D \n",
" 3 \n",
" XEX \n",
" ACE-DIFLUORO PHOSPHOTYR-GLU-(N,N-DIPENTYL AMINE) \n",
" - \n",
" 104.76 \n",
" - \n",
" 0.0 \n",
" - \n",
" 4.00 \n",
" B \n",
" 104 \n",
" IQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLSV... \n",
" C-SRC TYROSINE KINASE \n",
" Homo sapiens \n",
" 80.68 \n",
" 11952.37 \n",
" 0.12 \n",
" 40.53 \n",
" 9.08 \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" 5 \n",
" 1a09 \n",
" C-SRC (SH2 DOMAIN) COMPLEXED WITH ACE-FORMYL P... \n",
" 2.0 \n",
" COMPLEX (TRANSFERASE/PEPTIDE) \n",
" C \n",
" 3 \n",
" XEX \n",
" ACE-FORMYL PHOSPHOTYR-GLU-(N,N-DIPENTYL AMINE) \n",
" - \n",
" 107.28 \n",
" - \n",
" 0.0 \n",
" - \n",
" 4.00 \n",
" A \n",
" 106 \n",
" DSIQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCL... \n",
" C-SRC TYROSINE KINASE \n",
" Homo sapiens \n",
" 82.50 \n",
" 12154.54 \n",
" 0.11 \n",
" 41.77 \n",
" 8.83 \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" 6 \n",
" 1a09 \n",
" C-SRC (SH2 DOMAIN) COMPLEXED WITH ACE-FORMYL P... \n",
" 2.0 \n",
" COMPLEX (TRANSFERASE/PEPTIDE) \n",
" D \n",
" 3 \n",
" XEX \n",
" ACE-FORMYL PHOSPHOTYR-GLU-(N,N-DIPENTYL AMINE) \n",
" - \n",
" 108.53 \n",
" - \n",
" 0.0 \n",
" - \n",
" 4.00 \n",
" B \n",
" 102 \n",
" AEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLSVSD... \n",
" C-SRC TYROSINE KINASE \n",
" Homo sapiens \n",
" 82.06 \n",
" 11711.09 \n",
" 0.12 \n",
" 41.12 \n",
" 9.08 \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" 7 \n",
" 1a1a \n",
" C-SRC (SH2 DOMAIN WITH C188A MUTATION) COMPLEX... \n",
" 2.0 \n",
" COMPLEX (TRANSFERASE/PEPTIDE) \n",
" C \n",
" 3 \n",
" XEX \n",
" ACE-FORMYL PHOSPHOTYR-GLU-(N,N-DIPENTYL AMINE) \n",
" - \n",
" 106.49 \n",
" - \n",
" 0.0 \n",
" - \n",
" 4.00 \n",
" A \n",
" 106 \n",
" DSIQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYSL... \n",
" C-SRC TYROSINE KINASE \n",
" Homo sapiens \n",
" 81.90 \n",
" 12138.47 \n",
" 0.11 \n",
" 39.95 \n",
" 8.96 \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" 8 \n",
" 1a1a \n",
" C-SRC (SH2 DOMAIN WITH C188A MUTATION) COMPLEX... \n",
" 2.0 \n",
" COMPLEX (TRANSFERASE/PEPTIDE) \n",
" C \n",
" 3 \n",
" XEX \n",
" ACE-FORMYL PHOSPHOTYR-GLU-(N,N-DIPENTYL AMINE) \n",
" - \n",
" 15.13 \n",
" - \n",
" 0.0 \n",
" - \n",
" 4.00 \n",
" B \n",
" 102 \n",
" AEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYSLSVSD... \n",
" C-SRC TYROSINE KINASE \n",
" Homo sapiens \n",
" 15.60 \n",
" 11695.02 \n",
" 0.12 \n",
" 39.24 \n",
" 9.20 \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
" 9 \n",
" 1a1a \n",
" C-SRC (SH2 DOMAIN WITH C188A MUTATION) COMPLEX... \n",
" 2.0 \n",
" COMPLEX (TRANSFERASE/PEPTIDE) \n",
" D \n",
" 3 \n",
" XEX \n",
" ACE-FORMYL PHOSPHOTYR-GLU-(N,N-DIPENTYL AMINE) \n",
" - \n",
" 112.52 \n",
" - \n",
" 0.0 \n",
" - \n",
" 4.00 \n",
" B \n",
" 102 \n",
" AEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYSLSVSD... \n",
" C-SRC TYROSINE KINASE \n",
" Homo sapiens \n",
" 85.01 \n",
" 11695.02 \n",
" 0.12 \n",
" 39.24 \n",
" 9.20 \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" NaN \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" PDB Protein Name Resolution \\\n",
"0 148l A COVALENT ENZYME-SUBSTRATE INTERMEDIATE WITH ... 1.9 \n",
"1 1a07 C-SRC (SH2 DOMAIN) COMPLEXED WITH ACE-MALONYL ... 2.2 \n",
"2 1a07 C-SRC (SH2 DOMAIN) COMPLEXED WITH ACE-MALONYL ... 2.2 \n",
"3 1a08 C-SRC (SH2 DOMAIN) COMPLEXED WITH ACE-DIFLUORO... 2.2 \n",
"4 1a08 C-SRC (SH2 DOMAIN) COMPLEXED WITH ACE-DIFLUORO... 2.2 \n",
"5 1a09 C-SRC (SH2 DOMAIN) COMPLEXED WITH ACE-FORMYL P... 2.0 \n",
"6 1a09 C-SRC (SH2 DOMAIN) COMPLEXED WITH ACE-FORMYL P... 2.0 \n",
"7 1a1a C-SRC (SH2 DOMAIN WITH C188A MUTATION) COMPLEX... 2.0 \n",
"8 1a1a C-SRC (SH2 DOMAIN WITH C188A MUTATION) COMPLEX... 2.0 \n",
"9 1a1a C-SRC (SH2 DOMAIN WITH C188A MUTATION) COMPLEX... 2.0 \n",
"\n",
" Classification ligand_chain_id Peptide Size \\\n",
"0 HYDROLASE/HYDROLASE SUBSTRATE S 5 \n",
"1 COMPLEX (TRANSFERASE/PEPTIDE) C 3 \n",
"2 COMPLEX (TRANSFERASE/PEPTIDE) D 3 \n",
"3 COMPLEX (TRANSFERASE/PEPTIDE) C 3 \n",
"4 COMPLEX (TRANSFERASE/PEPTIDE) D 3 \n",
"5 COMPLEX (TRANSFERASE/PEPTIDE) C 3 \n",
"6 COMPLEX (TRANSFERASE/PEPTIDE) D 3 \n",
"7 COMPLEX (TRANSFERASE/PEPTIDE) C 3 \n",
"8 COMPLEX (TRANSFERASE/PEPTIDE) C 3 \n",
"9 COMPLEX (TRANSFERASE/PEPTIDE) D 3 \n",
"\n",
" Peptide Sequence Peptide Description \\\n",
"0 AXXXX SUBSTRATE CLEAVED FROM CELL WALL OF ESCHERICHI... \n",
"1 XEX ACE-MALONYL TYR-GLU-(N,N-DIPENTYL AMINE) \n",
"2 XEX ACE-MALONYL TYR-GLU-(N,N-DIPENTYL AMINE) \n",
"3 XEX ACE-DIFLUORO PHOSPHOTYR-GLU-(N,N-DIPENTYL AMINE) \n",
"4 XEX ACE-DIFLUORO PHOSPHOTYR-GLU-(N,N-DIPENTYL AMINE) \n",
"5 XEX ACE-FORMYL PHOSPHOTYR-GLU-(N,N-DIPENTYL AMINE) \n",
"6 XEX ACE-FORMYL PHOSPHOTYR-GLU-(N,N-DIPENTYL AMINE) \n",
"7 XEX ACE-FORMYL PHOSPHOTYR-GLU-(N,N-DIPENTYL AMINE) \n",
"8 XEX ACE-FORMYL PHOSPHOTYR-GLU-(N,N-DIPENTYL AMINE) \n",
"9 XEX ACE-FORMYL PHOSPHOTYR-GLU-(N,N-DIPENTYL AMINE) \n",
"\n",
" Peptide Organism Peptide Interface Area Peptide Molecular Weight \\\n",
"0 Escherichia coli 151.70 - \n",
"1 - 104.76 - \n",
"2 - 106.41 - \n",
"3 - 107.21 - \n",
"4 - 104.76 - \n",
"5 - 107.28 - \n",
"6 - 108.53 - \n",
"7 - 106.49 - \n",
"8 - 15.13 - \n",
"9 - 112.52 - \n",
"\n",
" Peptide Aromaticity Peptide Instability Peptide Isoelectric Point \\\n",
"0 0.0 - 5.57 \n",
"1 0.0 - 4.00 \n",
"2 0.0 - 4.00 \n",
"3 0.0 - 4.00 \n",
"4 0.0 - 4.00 \n",
"5 0.0 - 4.00 \n",
"6 0.0 - 4.00 \n",
"7 0.0 - 4.00 \n",
"8 0.0 - 4.00 \n",
"9 0.0 - 4.00 \n",
"\n",
" receptor_chain_id Receptor Size \\\n",
"0 E 163 \n",
"1 A 105 \n",
"2 B 104 \n",
"3 A 105 \n",
"4 B 104 \n",
"5 A 106 \n",
"6 B 102 \n",
"7 A 106 \n",
"8 B 102 \n",
"9 B 102 \n",
"\n",
" Receptor Sequence Receptor Description \\\n",
"0 MNIFEMLRIDEGLRLKIYKDTEGYYEIGIGHLLTKSPSLNAAKSEL... T4 LYSOZYME \n",
"1 SIQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLS... C-SRC TYROSINE KINASE \n",
"2 IQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLSV... C-SRC TYROSINE KINASE \n",
"3 SIQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLS... C-SRC TYROSINE KINASE \n",
"4 IQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLSV... C-SRC TYROSINE KINASE \n",
"5 DSIQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCL... C-SRC TYROSINE KINASE \n",
"6 AEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLSVSD... C-SRC TYROSINE KINASE \n",
"7 DSIQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYSL... C-SRC TYROSINE KINASE \n",
"8 AEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYSLSVSD... C-SRC TYROSINE KINASE \n",
"9 AEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYSLSVSD... C-SRC TYROSINE KINASE \n",
"\n",
" Receptor Organism Receptor Interface Area Receptor Molecular Weight \\\n",
"0 Escherichia virus T4 94.32 18515.99 \n",
"1 Homo sapiens 80.39 12039.45 \n",
"2 Homo sapiens 83.65 11952.37 \n",
"3 Homo sapiens 81.86 12039.45 \n",
"4 Homo sapiens 80.68 11952.37 \n",
"5 Homo sapiens 82.50 12154.54 \n",
"6 Homo sapiens 82.06 11711.09 \n",
"7 Homo sapiens 81.90 12138.47 \n",
"8 Homo sapiens 15.60 11695.02 \n",
"9 Homo sapiens 85.01 11695.02 \n",
"\n",
" Receptor Aromaticity Receptor Instability Receptor Isoelectric Point \\\n",
"0 0.09 37.30 9.66 \n",
"1 0.11 40.24 9.07 \n",
"2 0.12 40.53 9.08 \n",
"3 0.11 40.24 9.07 \n",
"4 0.12 40.53 9.08 \n",
"5 0.11 41.77 8.83 \n",
"6 0.12 41.12 9.08 \n",
"7 0.11 39.95 8.96 \n",
"8 0.12 39.24 9.20 \n",
"9 0.12 39.24 9.20 \n",
"\n",
" Sequence Cluster Is Sequence Cluster Centroid Interface Cluster \\\n",
"0 NaN NaN NaN \n",
"1 NaN NaN NaN \n",
"2 NaN NaN NaN \n",
"3 NaN NaN NaN \n",
"4 NaN NaN NaN \n",
"5 NaN NaN NaN \n",
"6 NaN NaN NaN \n",
"7 NaN NaN NaN \n",
"8 NaN NaN NaN \n",
"9 NaN NaN NaN \n",
"\n",
" Is Interface Cluster Centroid Binding Cluster Is Binding Cluster Centroid \n",
"0 NaN NaN NaN \n",
"1 NaN NaN NaN \n",
"2 NaN NaN NaN \n",
"3 NaN NaN NaN \n",
"4 NaN NaN NaN \n",
"5 NaN NaN NaN \n",
"6 NaN NaN NaN \n",
"7 NaN NaN NaN \n",
"8 NaN NaN NaN \n",
"9 NaN NaN NaN "
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complex_df = pd.read_csv(\n",
" os.path.join(DATA_DIR, 'complex.csv'),\n",
").rename(columns={\n",
" 'Receptor Chain': 'receptor_chain_id', \n",
" 'Peptide Chain': 'ligand_chain_id'\n",
"})\n",
"print(complex_df.shape)\n",
"complex_df.head(10)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "82aeacdd",
"metadata": {},
"outputs": [],
"source": [
"complex_df['receptor_PDBID_chain'] = complex_df.apply(\n",
" lambda row: row['PDB'] + '-' + row['receptor_chain_id'],\n",
" axis=1\n",
")\n",
"complex_df['ligand_PDBID_chain'] = complex_df.apply(\n",
" lambda row: row['PDB'] + '-' + row['ligand_chain_id'],\n",
" axis=1\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "c18aac33",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(19813, 32)\n"
]
},
{
"data": {
"text/plain": [
"PDB 19813\n",
"Protein Name 19813\n",
"Resolution 19177\n",
"Classification 19813\n",
"ligand_chain_id 19813\n",
"Peptide Size 19813\n",
"Peptide Sequence 19813\n",
"Peptide Description 19813\n",
"Peptide Organism 19813\n",
"Peptide Interface Area 19813\n",
"Peptide Molecular Weight 19813\n",
"Peptide Aromaticity 19813\n",
"Peptide Instability 19813\n",
"Peptide Isoelectric Point 19813\n",
"receptor_chain_id 19813\n",
"Receptor Size 19813\n",
"Receptor Sequence 19813\n",
"Receptor Description 19813\n",
"Receptor Organism 19813\n",
"Receptor Interface Area 19813\n",
"Receptor Molecular Weight 19813\n",
"Receptor Aromaticity 19813\n",
"Receptor Instability 19813\n",
"Receptor Isoelectric Point 19813\n",
"Sequence Cluster 5971\n",
"Is Sequence Cluster Centroid 5971\n",
"Interface Cluster 5971\n",
"Is Interface Cluster Centroid 5971\n",
"Binding Cluster 5971\n",
"Is Binding Cluster Centroid 5971\n",
"receptor_PDBID_chain 19813\n",
"ligand_PDBID_chain 19813\n",
"dtype: int64"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print(complex_df.shape)\n",
"complex_df.count()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "85401069",
"metadata": {},
"outputs": [],
"source": [
"# complex_df['Sequence Cluster'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "a16ae380",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0 structures/complex/148l_S_E.pdb\n",
"1 structures/complex/1a07_C_A.pdb\n",
"2 structures/complex/1a07_D_B.pdb\n",
"3 structures/complex/1a08_C_A.pdb\n",
"4 structures/complex/1a08_D_B.pdb\n",
"Name: pdb_file, dtype: object"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complex_df['pdb_file'] = complex_df.apply(\n",
" lambda row: f\"structures/complex/{row['PDB']}_{row['ligand_chain_id']}_{row['receptor_chain_id']}.pdb\",\n",
" axis=1\n",
")\n",
"complex_df['pdb_file'].head()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "71831772",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"PDB 8130\n",
"Protein Name 7543\n",
"Resolution 164\n",
"Classification 752\n",
"ligand_chain_id 62\n",
"Peptide Size 49\n",
"Peptide Sequence 7101\n",
"Peptide Description 5046\n",
"Peptide Organism 405\n",
"Peptide Interface Area 18233\n",
"Peptide Molecular Weight 4486\n",
"Peptide Aromaticity 47\n",
"Peptide Instability 3068\n",
"Peptide Isoelectric Point 626\n",
"receptor_chain_id 52\n",
"Receptor Size 653\n",
"Receptor Sequence 9213\n",
"Receptor Description 3421\n",
"Receptor Organism 399\n",
"Receptor Interface Area 17947\n",
"Receptor Molecular Weight 4381\n",
"Receptor Aromaticity 23\n",
"Receptor Instability 2587\n",
"Receptor Isoelectric Point 628\n",
"Sequence Cluster 1845\n",
"Is Sequence Cluster Centroid 2\n",
"Interface Cluster 1891\n",
"Is Interface Cluster Centroid 2\n",
"Binding Cluster 1466\n",
"Is Binding Cluster Centroid 2\n",
"receptor_PDBID_chain 14902\n",
"ligand_PDBID_chain 13618\n",
"pdb_file 19813\n",
"dtype: int64"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complex_df.nunique()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "6e4a9588",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"IMMUNE SYSTEM 2367\n",
"HYDROLASE/HYDROLASE INHIBITOR 1484\n",
"HYDROLASE 1374\n",
"TRANSCRIPTION 1093\n",
"TRANSFERASE 980\n",
"OXIDOREDUCTASE 968\n",
"PHOTOSYNTHESIS 838\n",
"PROTEIN BINDING 660\n",
"SIGNALING PROTEIN 470\n",
"SUGAR BINDING PROTEIN 357\n",
"ELECTRON TRANSPORT, PHOTOSYNTHESIS 348\n",
"PEPTIDE BINDING PROTEIN 297\n",
"APOPTOSIS 295\n",
"CELL CYCLE 286\n",
"CELL ADHESION 265\n",
"TRANSFERASE/TRANSFERASE INHIBITOR 264\n",
"HYDROLASE/ANTIBIOTIC 245\n",
"PROTEIN TRANSPORT 224\n",
"ISOMERASE/IMMUNOSUPPRESSANT 202\n",
"VIRAL PROTEIN 201\n",
"Name: Classification, dtype: int64"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# top categories for complexes\n",
"complex_df['Classification'].value_counts().head(20)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "01164257",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ax = complex_df['Peptide Size'].plot(kind='hist', bins=50);\n",
"ax.set(xlabel='Peptide lengths');"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "6b380358",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ax = complex_df['Receptor Size'].plot(kind='hist', bins=50);\n",
"ax.set(xlabel='Receptor lengths');"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "454295f9",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ax = complex_df['Resolution'].plot(kind='hist', bins=50);\n",
"ax.set(xlabel='Complex resolution');"
]
},
{
"cell_type": "markdown",
"id": "343708b3",
"metadata": {},
"source": [
"## Load Jared's negative sets \n",
"\n",
"`docked_name`: receptor_chain_peptide_chain_refined.pdb"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "8d500ab0",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(19021, 6)\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" receptor_PDBID \n",
" ligand_PDBID \n",
" docked_name \n",
" ligand_chain_id \n",
" receptor_chain_id \n",
" pdb_file \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1a2x \n",
" 1ow6 \n",
" 1a2x_A_1ow6_F_refined.pdb \n",
" X \n",
" A \n",
" propedia_aws_19k/docked_pdbs/1a2x_A_1ow6_F_ref... \n",
" \n",
" \n",
" 1 \n",
" 1a2x \n",
" 1pcx \n",
" 1a2x_A_1pcx_B_refined.pdb \n",
" X \n",
" A \n",
" propedia_aws_19k/docked_pdbs/1a2x_A_1pcx_B_ref... \n",
" \n",
" \n",
" 2 \n",
" 1a2x \n",
" 2b1j \n",
" 1a2x_A_2b1j_D_refined.pdb \n",
" X \n",
" A \n",
" propedia_aws_19k/docked_pdbs/1a2x_A_2b1j_D_ref... \n",
" \n",
" \n",
" 3 \n",
" 1a2x \n",
" 2b1n \n",
" 1a2x_A_2b1n_B_refined.pdb \n",
" X \n",
" A \n",
" propedia_aws_19k/docked_pdbs/1a2x_A_2b1n_B_ref... \n",
" \n",
" \n",
" 4 \n",
" 1a2x \n",
" 2iij \n",
" 1a2x_A_2iij_B_refined.pdb \n",
" X \n",
" A \n",
" propedia_aws_19k/docked_pdbs/1a2x_A_2iij_B_ref... \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" receptor_PDBID ligand_PDBID docked_name ligand_chain_id \\\n",
"0 1a2x 1ow6 1a2x_A_1ow6_F_refined.pdb X \n",
"1 1a2x 1pcx 1a2x_A_1pcx_B_refined.pdb X \n",
"2 1a2x 2b1j 1a2x_A_2b1j_D_refined.pdb X \n",
"3 1a2x 2b1n 1a2x_A_2b1n_B_refined.pdb X \n",
"4 1a2x 2iij 1a2x_A_2iij_B_refined.pdb X \n",
"\n",
" receptor_chain_id pdb_file \n",
"0 A propedia_aws_19k/docked_pdbs/1a2x_A_1ow6_F_ref... \n",
"1 A propedia_aws_19k/docked_pdbs/1a2x_A_1pcx_B_ref... \n",
"2 A propedia_aws_19k/docked_pdbs/1a2x_A_2b1j_D_ref... \n",
"3 A propedia_aws_19k/docked_pdbs/1a2x_A_2b1n_B_ref... \n",
"4 A propedia_aws_19k/docked_pdbs/1a2x_A_2iij_B_ref... "
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complex_df_neg1 = pd.read_csv(\n",
" os.path.join(DATA_DIR, 'propedia_aws_19k/docked_data.csv'),\n",
" index_col=0\n",
").rename(columns={\n",
" 'ligand_chain': 'ligand_chain_id',\n",
" 'receptor_chain': 'receptor_chain_id'\n",
"})\n",
"# swap the two columns `ligand_PDBID`, `receptor_PDBID` as Jared made a mistake in his codes\n",
"complex_df_neg1 = complex_df_neg1.rename(columns={'ligand_PDBID': 'receptor_PDBID', 'receptor_PDBID': 'ligand_PDBID'})\n",
"\n",
"complex_df_neg1['pdb_file'] = complex_df_neg1.apply(\n",
" lambda row: f\"propedia_aws_19k/docked_pdbs/{row['docked_name']}\",\n",
" axis=1\n",
")\n",
"print(complex_df_neg1.shape)\n",
"complex_df_neg1.head()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "6fe86505",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(19301, 6)\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" ligand_PDBID \n",
" receptor_PDBID \n",
" docked_name \n",
" ligand_chain_id \n",
" receptor_chain_id \n",
" pdb_file \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1bm2 \n",
" 148l \n",
" 148l_E_1bm2_L_refined.pdb \n",
" X \n",
" E \n",
" nr_aws_19k/docked_pdbs/148l_E_1bm2_L_refined.pdb \n",
" \n",
" \n",
" 1 \n",
" 1mt7 \n",
" 1a07 \n",
" 1a07_A_1mt7_P_refined.pdb \n",
" X \n",
" A \n",
" nr_aws_19k/docked_pdbs/1a07_A_1mt7_P_refined.pdb \n",
" \n",
" \n",
" 2 \n",
" 5kri \n",
" 1a07 \n",
" 1a07_A_5kri_D_refined.pdb \n",
" X \n",
" A \n",
" nr_aws_19k/docked_pdbs/1a07_A_5kri_D_refined.pdb \n",
" \n",
" \n",
" 3 \n",
" 1d5z \n",
" 1a07 \n",
" 1a07_B_1d5z_D_refined.pdb \n",
" X \n",
" B \n",
" nr_aws_19k/docked_pdbs/1a07_B_1d5z_D_refined.pdb \n",
" \n",
" \n",
" 4 \n",
" 6d0f \n",
" 1a07 \n",
" 1a07_B_6d0f_C_refined.pdb \n",
" X \n",
" B \n",
" nr_aws_19k/docked_pdbs/1a07_B_6d0f_C_refined.pdb \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" ligand_PDBID receptor_PDBID docked_name ligand_chain_id \\\n",
"0 1bm2 148l 148l_E_1bm2_L_refined.pdb X \n",
"1 1mt7 1a07 1a07_A_1mt7_P_refined.pdb X \n",
"2 5kri 1a07 1a07_A_5kri_D_refined.pdb X \n",
"3 1d5z 1a07 1a07_B_1d5z_D_refined.pdb X \n",
"4 6d0f 1a07 1a07_B_6d0f_C_refined.pdb X \n",
"\n",
" receptor_chain_id pdb_file \n",
"0 E nr_aws_19k/docked_pdbs/148l_E_1bm2_L_refined.pdb \n",
"1 A nr_aws_19k/docked_pdbs/1a07_A_1mt7_P_refined.pdb \n",
"2 A nr_aws_19k/docked_pdbs/1a07_A_5kri_D_refined.pdb \n",
"3 B nr_aws_19k/docked_pdbs/1a07_B_1d5z_D_refined.pdb \n",
"4 B nr_aws_19k/docked_pdbs/1a07_B_6d0f_C_refined.pdb "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complex_df_neg2 = pd.read_csv(\n",
" os.path.join(DATA_DIR, 'nr_aws_19k/docked_data.csv'),\n",
" index_col=0\n",
").rename(columns={\n",
" 'ligand_chain': 'ligand_chain_id',\n",
" 'receptor_chain': 'receptor_chain_id'\n",
"})\n",
"\n",
"complex_df_neg2['pdb_file'] = complex_df_neg2.apply(\n",
" lambda row: f\"nr_aws_19k/docked_pdbs/{row['docked_name']}\",\n",
" axis=1\n",
")\n",
"print(complex_df_neg2.shape)\n",
"complex_df_neg2.head()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "d23843ab",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(38322, 6)"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complex_df_neg = pd.concat([complex_df_neg1, complex_df_neg2])\n",
"complex_df_neg.shape"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "f47b6cae",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" receptor_PDBID \n",
" ligand_PDBID \n",
" docked_name \n",
" ligand_chain_id \n",
" receptor_chain_id \n",
" pdb_file \n",
" receptor_PDBID_chain \n",
" ligand_PDBID_chain \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1a2x \n",
" 1ow6 \n",
" 1a2x_A_1ow6_F_refined.pdb \n",
" X \n",
" A \n",
" propedia_aws_19k/docked_pdbs/1a2x_A_1ow6_F_ref... \n",
" 1a2x-A \n",
" 1ow6-F \n",
" \n",
" \n",
" 1 \n",
" 1a2x \n",
" 1pcx \n",
" 1a2x_A_1pcx_B_refined.pdb \n",
" X \n",
" A \n",
" propedia_aws_19k/docked_pdbs/1a2x_A_1pcx_B_ref... \n",
" 1a2x-A \n",
" 1pcx-B \n",
" \n",
" \n",
" 2 \n",
" 1a2x \n",
" 2b1j \n",
" 1a2x_A_2b1j_D_refined.pdb \n",
" X \n",
" A \n",
" propedia_aws_19k/docked_pdbs/1a2x_A_2b1j_D_ref... \n",
" 1a2x-A \n",
" 2b1j-D \n",
" \n",
" \n",
" 3 \n",
" 1a2x \n",
" 2b1n \n",
" 1a2x_A_2b1n_B_refined.pdb \n",
" X \n",
" A \n",
" propedia_aws_19k/docked_pdbs/1a2x_A_2b1n_B_ref... \n",
" 1a2x-A \n",
" 2b1n-B \n",
" \n",
" \n",
" 4 \n",
" 1a2x \n",
" 2iij \n",
" 1a2x_A_2iij_B_refined.pdb \n",
" X \n",
" A \n",
" propedia_aws_19k/docked_pdbs/1a2x_A_2iij_B_ref... \n",
" 1a2x-A \n",
" 2iij-B \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" receptor_PDBID ligand_PDBID docked_name ligand_chain_id \\\n",
"0 1a2x 1ow6 1a2x_A_1ow6_F_refined.pdb X \n",
"1 1a2x 1pcx 1a2x_A_1pcx_B_refined.pdb X \n",
"2 1a2x 2b1j 1a2x_A_2b1j_D_refined.pdb X \n",
"3 1a2x 2b1n 1a2x_A_2b1n_B_refined.pdb X \n",
"4 1a2x 2iij 1a2x_A_2iij_B_refined.pdb X \n",
"\n",
" receptor_chain_id pdb_file \\\n",
"0 A propedia_aws_19k/docked_pdbs/1a2x_A_1ow6_F_ref... \n",
"1 A propedia_aws_19k/docked_pdbs/1a2x_A_1pcx_B_ref... \n",
"2 A propedia_aws_19k/docked_pdbs/1a2x_A_2b1j_D_ref... \n",
"3 A propedia_aws_19k/docked_pdbs/1a2x_A_2b1n_B_ref... \n",
"4 A propedia_aws_19k/docked_pdbs/1a2x_A_2iij_B_ref... \n",
"\n",
" receptor_PDBID_chain ligand_PDBID_chain \n",
"0 1a2x-A 1ow6-F \n",
"1 1a2x-A 1pcx-B \n",
"2 1a2x-A 2b1j-D \n",
"3 1a2x-A 2b1n-B \n",
"4 1a2x-A 2iij-B "
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Get peptide sequence from the fasta file\n",
"complex_df_neg['receptor_PDBID_chain'] = complex_df_neg['docked_name'].map(\n",
" lambda x: '-'.join(x.split('_')[0:2])\n",
")\n",
"complex_df_neg['ligand_PDBID_chain'] = complex_df_neg['docked_name'].map(\n",
" lambda x: '-'.join(x.split('_')[2:4])\n",
")\n",
"complex_df_neg.head()"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "08b43b71",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"19813\n",
"number of peptides: 13618\n"
]
}
],
"source": [
"# parse the peptide fasta file downloaded from Propedia\n",
"from Bio import SeqIO\n",
"d_fasta = SeqIO.to_dict(\n",
" SeqIO.parse(os.path.join(DATA_DIR, \"peptide.fasta\"), \"fasta\")\n",
")\n",
"print(len(d_fasta))\n",
"\n",
"d_peptide_seqs = {}\n",
"for key, seq in d_fasta.items():\n",
" ligand_pdbid_chain = '-'.join(key.split('|')[0].split('-')[:2])\n",
" if ligand_pdbid_chain in d_peptide_seqs:\n",
" # make sure ligand sequences are the same for the same PDBID chain\n",
" assert d_peptide_seqs[ligand_pdbid_chain] == str(seq.seq)\n",
" d_peptide_seqs[ligand_pdbid_chain] = str(seq.seq)\n",
"\n",
"print('number of peptides:', len(d_peptide_seqs))"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "726547a8",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"19813\n",
"number of receptors: 14902\n"
]
}
],
"source": [
"d_fasta = SeqIO.to_dict(\n",
" SeqIO.parse(os.path.join(DATA_DIR, \"receptor.fasta\"), \"fasta\")\n",
")\n",
"print(len(d_fasta))\n",
"\n",
"d_receptor_seqs = {}\n",
"for key, seq in d_fasta.items():\n",
" pdb_id_chains = key.split('|')[0]\n",
" receptor_pdbid_chain = pdb_id_chains.split('-')[0] + '-' + pdb_id_chains.split('-')[2]\n",
" if receptor_pdbid_chain in d_receptor_seqs:\n",
" # make sure sequences are the same for the same PDBID chain\n",
" assert d_receptor_seqs[receptor_pdbid_chain] == str(seq.seq)\n",
" d_receptor_seqs[receptor_pdbid_chain] = str(seq.seq)\n",
"\n",
"print('number of receptors:', len(d_receptor_seqs))"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "ad60ff79",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of unique peptide sequences: 7101\n"
]
}
],
"source": [
"print('Number of unique peptide sequences:', len(set(d_peptide_seqs.values())))"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "d13b6fea",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of unique protein sequences: 9213\n"
]
}
],
"source": [
"print('Number of unique protein sequences:', len(set(d_receptor_seqs.values())))"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "4a4c3b30",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[('148l-S', 'AXXXX'),\n",
" ('1a07-C', 'XEX'),\n",
" ('1a07-D', 'XEX'),\n",
" ('1a08-C', 'XEX'),\n",
" ('1a08-D', 'XEX')]"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"list(d_peptide_seqs.items())[:5]"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "23c0464c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"number of non-canonical peptides: 4822\n"
]
}
],
"source": [
"non_con_peptides = {pdb_id: seq for pdb_id, seq in d_peptide_seqs.items() if 'X' in seq}\n",
"print('number of non-canonical peptides:', len(non_con_peptides))"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "5ed49a53",
"metadata": {},
"outputs": [],
"source": [
"# save to file\n",
"pd.Series(non_con_peptides).to_frame().rename(columns={0: 'sequence'})\\\n",
" .to_csv(os.path.join(DATA_DIR, 'non_canonical_peptides_in_propedia.csv'))"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "2ad12f6e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[('148l-E',\n",
" 'MNIFEMLRIDEGLRLKIYKDTEGYYEIGIGHLLTKSPSLNAAKSELDKAIGRNTNGVITKDEAEKLFNQDVDAAVRGILRNAKLKPVYDSLDAVRRAALINMVFQMGETGVAGFTNSLRMLQQKRWDEAAVNLAKSRWYNQTPNRAKRVITTFRTGTWDAYKN'),\n",
" ('1a07-A',\n",
" 'SIQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLSVSDFDNAKGLNVKHYKIRKLDSGGFYITSRTQFNSLQQLVAYYSKHADGLCHRLTTVCP'),\n",
" ('1a07-B',\n",
" 'IQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLSVSDFDNAKGLNVKHYKIRKLDSGGFYITSRTQFNSLQQLVAYYSKHADGLCHRLTTVCP')]"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"list(d_receptor_seqs.items())[:3]"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "a73afa8b",
"metadata": {},
"outputs": [],
"source": [
"# add peptide sequence\n",
"complex_df_neg['Peptide Sequence'] = complex_df_neg['ligand_PDBID_chain']\\\n",
" .map(d_peptide_seqs)\n",
"# add receptor sequence\n",
"complex_df_neg['Receptor Sequence'] = complex_df_neg['receptor_PDBID_chain']\\\n",
" .map(d_receptor_seqs)"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "ee817e91",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"receptor_PDBID 7566\n",
"ligand_PDBID 6979\n",
"docked_name 38320\n",
"ligand_chain_id 2\n",
"receptor_chain_id 51\n",
"pdb_file 38322\n",
"receptor_PDBID_chain 12907\n",
"ligand_PDBID_chain 10761\n",
"Peptide Sequence 5772\n",
"Receptor Sequence 8280\n",
"dtype: int64"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complex_df_neg.nunique()"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "fd02fa93",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'Peptide Sequence',\n",
" 'Receptor Sequence',\n",
" 'ligand_PDBID_chain',\n",
" 'ligand_chain_id',\n",
" 'pdb_file',\n",
" 'receptor_PDBID_chain',\n",
" 'receptor_chain_id'}"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"set(complex_df.columns) & set(complex_df_neg.columns)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "ebf3bd97",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(58135, 8)\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" ligand_chain_id \n",
" pdb_file \n",
" ligand_PDBID_chain \n",
" receptor_PDBID_chain \n",
" Peptide Sequence \n",
" receptor_chain_id \n",
" label \n",
" Receptor Sequence \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" S \n",
" structures/complex/148l_S_E.pdb \n",
" 148l-S \n",
" 148l-E \n",
" AXXXX \n",
" E \n",
" 1 \n",
" MNIFEMLRIDEGLRLKIYKDTEGYYEIGIGHLLTKSPSLNAAKSEL... \n",
" \n",
" \n",
" 1 \n",
" C \n",
" structures/complex/1a07_C_A.pdb \n",
" 1a07-C \n",
" 1a07-A \n",
" XEX \n",
" A \n",
" 1 \n",
" SIQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLS... \n",
" \n",
" \n",
" 2 \n",
" D \n",
" structures/complex/1a07_D_B.pdb \n",
" 1a07-D \n",
" 1a07-B \n",
" XEX \n",
" B \n",
" 1 \n",
" IQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLSV... \n",
" \n",
" \n",
" 3 \n",
" C \n",
" structures/complex/1a08_C_A.pdb \n",
" 1a08-C \n",
" 1a08-A \n",
" XEX \n",
" A \n",
" 1 \n",
" SIQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLS... \n",
" \n",
" \n",
" 4 \n",
" D \n",
" structures/complex/1a08_D_B.pdb \n",
" 1a08-D \n",
" 1a08-B \n",
" XEX \n",
" B \n",
" 1 \n",
" IQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLSV... \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" ligand_chain_id pdb_file ligand_PDBID_chain \\\n",
"0 S structures/complex/148l_S_E.pdb 148l-S \n",
"1 C structures/complex/1a07_C_A.pdb 1a07-C \n",
"2 D structures/complex/1a07_D_B.pdb 1a07-D \n",
"3 C structures/complex/1a08_C_A.pdb 1a08-C \n",
"4 D structures/complex/1a08_D_B.pdb 1a08-D \n",
"\n",
" receptor_PDBID_chain Peptide Sequence receptor_chain_id label \\\n",
"0 148l-E AXXXX E 1 \n",
"1 1a07-A XEX A 1 \n",
"2 1a07-B XEX B 1 \n",
"3 1a08-A XEX A 1 \n",
"4 1a08-B XEX B 1 \n",
"\n",
" Receptor Sequence \n",
"0 MNIFEMLRIDEGLRLKIYKDTEGYYEIGIGHLLTKSPSLNAAKSEL... \n",
"1 SIQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLS... \n",
"2 IQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLSV... \n",
"3 SIQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLS... \n",
"4 IQAEEWYFGKITRRESERLLLNAENPRGTFLVRESETTKGAYCLSV... "
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complex_df['label'] = 1\n",
"complex_df_neg['label'] = 0\n",
"\n",
"shared_cols = list(set(complex_df.columns) & set(complex_df_neg.columns))\n",
"\n",
"complex_df_comb = pd.concat([complex_df[shared_cols], complex_df_neg[shared_cols]]) \n",
"print(complex_df_comb.shape)\n",
"complex_df_comb.head()"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "ef5005a7",
"metadata": {},
"outputs": [],
"source": [
"# !pip install matplotlib-venn\n",
"from matplotlib_venn import venn2"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "4904d1a5",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"venn2(\n",
" [set(complex_df['Peptide Sequence']),\n",
" set(complex_df_neg['Peptide Sequence'])],\n",
" ('Positive', 'Negative')\n",
" );"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "d1fa82b6",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"venn2(\n",
" [set(complex_df['Receptor Sequence']),\n",
" set(complex_df_neg['Receptor Sequence'])],\n",
" ('Positive', 'Negative')\n",
" );"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "664beefa",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"8130"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pdb_set = set(complex_df['PDB'])\n",
"len(pdb_set)"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "78a00299",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"set(complex_df_neg['receptor_PDBID']).issubset(pdb_set)"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "f2b55929",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"set(complex_df_neg['ligand_PDBID']).issubset(pdb_set)"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "f324f1dc",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"6492"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(set(complex_df_neg['receptor_PDBID']) & set(complex_df_neg['ligand_PDBID']))"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "f424ee0f",
"metadata": {},
"outputs": [],
"source": [
"# set(complex_df_neg['receptor_PDBID']) & set(complex_df_neg['ligand_PDBID'])"
]
},
{
"cell_type": "markdown",
"id": "04bfdef1",
"metadata": {},
"source": [
"## Load sequence clustering results"
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "5ea44372",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(126084, 2)\n",
"cluster_center 6814\n",
"member 126084\n",
"dtype: int64\n"
]
}
],
"source": [
"seq_clusters_df = pd.read_csv(\n",
" '/home/ec2-user/SageMaker/efs/results/sequence_clustering/combined_datasets_0.6Cov0_cluster.tsv',\n",
" sep='\\t',\n",
" names=['cluster_center', 'member']\n",
")\n",
"print(seq_clusters_df.shape)\n",
"print(seq_clusters_df.nunique())"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "7602b2ef",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"125431"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# parse the sequences\n",
"fasta = SeqIO.parse('/home/ec2-user/SageMaker/efs/results/sequence_clustering/combined_datasets_0.6Cov0_all_seqs.fasta', \"fasta\")\n",
"cluster_seqs = []\n",
"for item in fasta:\n",
" seq = str(item.seq)\n",
" if seq != '':\n",
" cluster_seqs.append({'seq': seq, 'id': item.id})\n",
"\n",
"len(cluster_seqs)"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "ab21df10",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" seq \n",
" id \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" TVAACANLPIVRGPCRAFIQLWAFDAVKGKCVLFPYGGCQGNGNKF... \n",
" 4u30_Y \n",
" \n",
" \n",
" 1 \n",
" IHDFCLVSKVVGRCRASMPRWWYNVTDGSCQLFVYGGCDGNSNNYL... \n",
" 4u32_X \n",
" \n",
" \n",
" 2 \n",
" QTEDYCLASNKVGRCRGSFPRWYYDPTEQICKSFVYGGCLGNKNNY... \n",
" 4iso_B \n",
" \n",
" \n",
" 3 \n",
" MKHQHQHQHQHQHQMHQTEDYCLASNKVGRCRGSFPRWYYDPTEQI... \n",
" 1yc0_I \n",
" \n",
" \n",
" 4 \n",
" QTEDYCLASNKVGRCRGSFPRWYYDPTEQICKSFVYGGCLGNKNNY... \n",
" 4isl_B \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" seq id\n",
"0 TVAACANLPIVRGPCRAFIQLWAFDAVKGKCVLFPYGGCQGNGNKF... 4u30_Y\n",
"1 IHDFCLVSKVVGRCRASMPRWWYNVTDGSCQLFVYGGCDGNSNNYL... 4u32_X\n",
"2 QTEDYCLASNKVGRCRGSFPRWYYDPTEQICKSFVYGGCLGNKNNY... 4iso_B\n",
"3 MKHQHQHQHQHQHQMHQTEDYCLASNKVGRCRGSFPRWYYDPTEQI... 1yc0_I\n",
"4 QTEDYCLASNKVGRCRGSFPRWYYDPTEQICKSFVYGGCLGNKNNY... 4isl_B"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cluster_seqs = pd.DataFrame(cluster_seqs,)\n",
"cluster_seqs.head()"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "5a92169f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"seq 29039\n",
"id 125431\n",
"dtype: int64"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cluster_seqs.nunique()"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "1d21061b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"cluster_center 29039\n",
"member 29039\n",
"dtype: int64"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"seq_clusters_df = seq_clusters_df.merge(\n",
" cluster_seqs.set_index('id'),\n",
" left_on='member',\n",
" right_index=True,\n",
" how='left'\n",
").groupby('seq').first()\n",
"seq_clusters_df.count()"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "bdde384f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"ligand_chain_id 58135\n",
"pdb_file 58135\n",
"ligand_PDBID_chain 58135\n",
"receptor_PDBID_chain 58135\n",
"Peptide Sequence 58135\n",
"receptor_chain_id 58135\n",
"label 58135\n",
"Receptor Sequence 58135\n",
"cluster_center 58135\n",
"member 58135\n",
"dtype: int64"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complex_df_comb = complex_df_comb.merge(\n",
" seq_clusters_df,\n",
" left_on='Receptor Sequence',\n",
" right_index=True\n",
")\n",
"complex_df_comb.count()"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "08b6d5f6",
"metadata": {},
"outputs": [],
"source": [
"complex_df_comb = complex_df_comb.drop(['member'], axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 48,
"id": "cf7bfb83",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"ligand_chain_id 62\n",
"pdb_file 58135\n",
"ligand_PDBID_chain 13618\n",
"receptor_PDBID_chain 14902\n",
"Peptide Sequence 7101\n",
"receptor_chain_id 52\n",
"label 2\n",
"Receptor Sequence 9213\n",
"cluster_center 1844\n",
"dtype: int64"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complex_df_comb.nunique()"
]
},
{
"cell_type": "code",
"execution_count": 49,
"id": "0fadef9d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1bii_A 2245\n",
"5to3-A-B|Prothrombin,Thrombomodulin|Prothrombin|IVEGSDAEIG[...] 1318\n",
"7ljr_S 887\n",
"3q95-D-B|Estrogen 852\n",
"1lxf-I-C|TROPONIN 784\n",
" ... \n",
"5xxb_J 1\n",
"1jmt-B-A|SPLICING 1\n",
"3qks-C-A|DNA 1\n",
"3to6-B-A|Histone 1\n",
"2v2f-A-F|PENICILLIN 1\n",
"Name: cluster_center, Length: 1844, dtype: int64"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complex_df_comb['cluster_center'].value_counts()\n",
"## Top clusters in Propedia:\n",
"# 1bii_A: MHC CLASS I H-2DD\n",
"# 5to3: Prothrombin,Thrombomodulin, membrane protein reduces blood coagulation\n",
"# 7ljr_S: Fab DH1043 heavy chain"
]
},
{
"cell_type": "markdown",
"id": "7bd909f3",
"metadata": {},
"source": [
"## Screen all pdb files are parsable "
]
},
{
"cell_type": "code",
"execution_count": 50,
"id": "ebb6ca4e",
"metadata": {},
"outputs": [],
"source": [
"complex_df_comb.to_csv(\n",
" os.path.join(DATA_DIR, 'full_09132022.csv')\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 51,
"id": "b09faa8e",
"metadata": {},
"outputs": [],
"source": [
"from ppi.data import PDBComplexDataset\n",
"from ppi.data_utils import NoncanonicalComplexFeaturizer, get_residue_featurizer"
]
},
{
"cell_type": "code",
"execution_count": 53,
"id": "1383d737",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"58135"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"residue_featurizer = get_residue_featurizer('MACCS')\n",
"featurizer = NoncanonicalComplexFeaturizer(residue_featurizer)\n",
"full_dataset = PDBComplexDataset(\n",
" complex_df_comb,\n",
" DATA_DIR,\n",
" featurizer=featurizer,\n",
" \n",
")\n",
"len(full_dataset)"
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "7aaa5154",
"metadata": {},
"outputs": [],
"source": [
"from joblib import Parallel, delayed\n",
"from tqdm import tqdm\n",
"def parse_and_featurize(idx, dataset):\n",
" try:\n",
" g = dataset[idx]\n",
" return 0\n",
" except:\n",
" return 1\n"
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "8d5d4aa4",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 58135/58135 [1:08:58<00:00, 14.05it/s]\n"
]
}
],
"source": [
"flags = Parallel(n_jobs=-1, backend='loky')(delayed(parse_and_featurize)(idx, full_dataset) for idx in tqdm(range(len(full_dataset))))"
]
},
{
"cell_type": "code",
"execution_count": 57,
"id": "c7000a15",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"number of pdb files with parsing error: 1353\n"
]
}
],
"source": [
"print('number of pdb files with parsing error:', sum(flags))"
]
},
{
"cell_type": "code",
"execution_count": 59,
"id": "24d3a129",
"metadata": {},
"outputs": [],
"source": [
"complex_df_comb['has_parse_and_featurize_error'] = flags\n",
"# len(flags)"
]
},
{
"cell_type": "code",
"execution_count": 60,
"id": "e75858d1",
"metadata": {},
"outputs": [],
"source": [
"complex_df_comb.to_csv(\n",
" os.path.join(DATA_DIR, 'full_09132022.csv')\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 65,
"id": "cae0981a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1 1073\n",
"0 280\n",
"Name: label, dtype: int64"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"error_mask = complex_df_comb['has_parse_and_featurize_error']==1\n",
"complex_df_comb.loc[\n",
" error_mask,'label'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 66,
"id": "f00a6e95",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"ligand_PDBID_chain 763\n",
"receptor_chain_id 31\n",
"label 2\n",
"Receptor Sequence 189\n",
"ligand_chain_id 39\n",
"receptor_PDBID_chain 301\n",
"pdb_file 1353\n",
"Peptide Sequence 435\n",
"cluster_center 72\n",
"has_parse_and_featurize_error 1\n",
"dtype: int64"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complex_df_comb.loc[error_mask].nunique()"
]
},
{
"cell_type": "code",
"execution_count": 68,
"id": "5fd646f1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(56782, 10)"
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# remove rows with errors \n",
"complex_df_comb = complex_df_comb.loc[~error_mask]\n",
"complex_df_comb.shape"
]
},
{
"cell_type": "markdown",
"id": "dea09988",
"metadata": {},
"source": [
"## Train/test split "
]
},
{
"cell_type": "code",
"execution_count": 69,
"id": "4b71980e",
"metadata": {},
"outputs": [],
"source": [
"from sklearn import model_selection"
]
},
{
"cell_type": "code",
"execution_count": 70,
"id": "f3c05f58",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train/test ratio: 4.001056896248018\n",
"Train pos label ratio: 0.330060755481201\n",
"Test pos label ratio: 0.3299277787563854\n",
"Train/test ratio: 4.0014974015678675\n",
"Train pos label ratio: 0.330075502432367\n",
"Test pos label ratio: 0.32986875715669867\n",
"Train/test ratio: 3.9953373801354797\n",
"Train pos label ratio: 0.32997908180116703\n",
"Test pos label ratio: 0.3302542447435559\n",
"Train/test ratio: 4.0014974015678675\n",
"Train pos label ratio: 0.3300094653195096\n",
"Test pos label ratio: 0.33013300449220473\n",
"Train/test ratio: 4.000616468516072\n",
"Train pos label ratio: 0.33004600788077576\n",
"Test pos label ratio: 0.3299867899603699\n"
]
}
],
"source": [
"splitter = model_selection.StratifiedGroupKFold(\n",
" n_splits=5,\n",
"# shuffle=True,\n",
"# random_state=42\n",
")\n",
"\n",
"for train_idxs, test_idxs in splitter.split(\n",
" complex_df_comb, \n",
" y=complex_df_comb['label'],\n",
" groups=complex_df_comb['cluster_center']\n",
"):\n",
" print('Train/test ratio:', len(train_idxs)/len(test_idxs))\n",
" print('Train pos label ratio:',\n",
" complex_df_comb['label'].iloc[train_idxs].mean()\n",
" )\n",
" print('Test pos label ratio:',\n",
" complex_df_comb['label'].iloc[test_idxs].mean()\n",
" )\n"
]
},
{
"cell_type": "code",
"execution_count": 71,
"id": "a645c5e6",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"((45427,), (11355,))"
]
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train_idxs.shape, test_idxs.shape"
]
},
{
"cell_type": "code",
"execution_count": 72,
"id": "06798507",
"metadata": {},
"outputs": [],
"source": [
"# !ls {DATA_DIR}"
]
},
{
"cell_type": "code",
"execution_count": 76,
"id": "c6caddb3",
"metadata": {},
"outputs": [],
"source": [
"complex_df_comb.iloc[train_idxs].to_csv(\n",
" os.path.join(DATA_DIR, 'train_full.csv')\n",
")\n",
"complex_df_comb.iloc[test_idxs].to_csv(\n",
" os.path.join(DATA_DIR, 'test_full.csv')\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 79,
"id": "d23ff6c1",
"metadata": {},
"outputs": [],
"source": [
"# subsample to make smaller versions of the dataset\n",
"complex_df_comb.iloc[train_idxs].sample(\n",
" frac=0.1,\n",
" random_state=42\n",
").to_csv(\n",
" os.path.join(DATA_DIR, 'train_small.csv')\n",
")\n",
"\n",
"complex_df_comb.iloc[test_idxs].sample(\n",
" frac=0.1,\n",
" random_state=42\n",
").to_csv(\n",
" os.path.join(DATA_DIR, 'test_small.csv')\n",
")"
]
},
{
"cell_type": "markdown",
"id": "6b7452eb",
"metadata": {},
"source": [
"## Top receptor clusters\n",
"- Training set:\n",
" + [1bii_A](https://www.rcsb.org/3d-view/1BII): MHC class I \n",
" + [7ljr_S](https://www.rcsb.org/3d-view/7LJR): fragment antigen-binding regions (Fab) dh1043 heavy chain\n",
" + [3q95-D-B|Estrogen](https://www.rcsb.org/3d-view/3q95)\n",
" + [1lxf-I-C|TROPONIN](https://www.rcsb.org/3d-view/1lxf): integral to muscle contraction in skeletal muscle and cardiac muscle\n",
" + [5yax-C-B|scFv1](https://www.rcsb.org/3d-view/5yax): single chain fragment variable(scFv1) human neutralizing antibody\n",
" \n",
"- Test set:\n",
" + [5to3-A-B|Prothrombin,Thrombomodulin|Prothrombin](https://www.rcsb.org/3d-view/5TO3): integral membrane protein expressed on the surface of endothelial cells and serves as a cofactor for thrombin. It reduces blood coagulation.\n",
" + [6f08-N-J|14-3-3](https://www.rcsb.org/3d-view/6f08): central hub protein for many signal transduction pathways. 14-3-3ζ is a major regulator of apoptotic pathways.\n",
" + [3rdq-A](https://www.rcsb.org/3d-view/3RDQ): Streptavidin, from the bacterium Streptomyces avidinii, have an extraordinarily high affinity for biotin.\n",
" + [2jet-A-C|CHYMOTRYPSINOGEN](https://www.rcsb.org/3d-view/2JET): an inactive precursor of chymotrypsin, a digestive enzyme which breaks proteins down into smaller peptides. \n",
" + [1q1s-A-C|Importin](https://www.rcsb.org/3d-view/1q1s): a type of karyopherin that transports protein molecules from the cell's cytoplasm to the nucleus."
]
},
{
"cell_type": "code",
"execution_count": 80,
"id": "6082c7b1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1bii_A 2228\n",
"7ljr_S 887\n",
"3q95-D-B|Estrogen 852\n",
"1lxf-I-C|TROPONIN 784\n",
"5yax-C-B|scFv1 629\n",
" ... \n",
"2oq1-B-A|Tyrosine-protein 1\n",
"3t62_D 1\n",
"3qks-C-A|DNA 1\n",
"2mpm-B-A|Eotaxin|CCR3|GPASVPTTCC[...] 1\n",
"5kq1_E 1\n",
"Name: cluster_center, Length: 1434, dtype: int64"
]
},
"execution_count": 80,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# top clusters in training set:\n",
"complex_df_comb.iloc[train_idxs]['cluster_center'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 81,
"id": "5ff8b65d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"5to3-A-B|Prothrombin,Thrombomodulin|Prothrombin|IVEGSDAEIG[...] 1309\n",
"6f08-N-J|14-3-3 556\n",
"3rdq-A 341\n",
"2jet-A-C|CHYMOTRYPSINOGEN 283\n",
"1q1s-A-C|Importin 224\n",
" ... \n",
"1jmt-B-A|SPLICING 1\n",
"5kds-G-A|F5/8 1\n",
"2j0s-T-A|ATP-DEPENDENT 1\n",
"6xte-B-A|Importin-5|antipain|AMAAAEQQQF[...] 1\n",
"1fo0-P-B|PROTEIN 1\n",
"Name: cluster_center, Length: 392, dtype: int64"
]
},
"execution_count": 81,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# top clusters in test set:\n",
"complex_df_comb.iloc[test_idxs]['cluster_center'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 75,
"id": "43fcd0ee",
"metadata": {
"collapsed": true,
"jupyter": {
"outputs_hidden": true
}
},
"outputs": [
{
"data": {
"text/plain": [
"18740"
]
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n",
"/home/ec2-user/SageMaker/ppi-model/ppi/data_utils/residue_featurizers.py:50: UserWarning: The given buffer is not writable, and PyTorch does not support non-writable tensors. This means you can write to the underlying (supposedly non-writable) buffer using the tensor. You may want to copy the buffer to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at /opt/conda/conda-bld/pytorch_1634272172048/work/torch/csrc/autograd/python_torch_functions_manual.cpp:489.)\n",
" fps_vec = torch.frombuffer(\n"
]
}
],
"source": [
"complex_df_comb.loc[complex_df_comb['label']==1, 'pdb_file'].nunique()"
]
},
{
"cell_type": "markdown",
"id": "8c049ef4",
"metadata": {},
"source": [
"## Load `selfdock` dataset"
]
},
{
"cell_type": "code",
"execution_count": 211,
"id": "3427248f",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(4543, 10) (1136, 10)\n"
]
}
],
"source": [
"train_sm_df = pd.read_csv(\n",
" os.path.join(DATA_DIR, 'train_small.csv'),\n",
" index_col=0 \n",
")\n",
"test_sm_df = pd.read_csv(\n",
" os.path.join(DATA_DIR, 'test_small.csv'),\n",
" index_col=0\n",
")\n",
"print(train_sm_df.shape, test_sm_df.shape)"
]
},
{
"cell_type": "code",
"execution_count": 212,
"id": "f5de3917",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" ligand_PDBID_chain \n",
" receptor_chain_id \n",
" label \n",
" Receptor Sequence \n",
" ligand_chain_id \n",
" receptor_PDBID_chain \n",
" pdb_file \n",
" Peptide Sequence \n",
" cluster_center \n",
" has_parse_and_featurize_error \n",
" \n",
" \n",
" \n",
" \n",
" 203 \n",
" 6ef5-Q \n",
" H \n",
" 0 \n",
" IVEGSDAEIGMSPWQVMLFRKSPQELLCGASLISDRWVLTAAHCLL... \n",
" X \n",
" 1bcu-H \n",
" nr_aws_19k/docked_pdbs/1bcu_H_6ef5_Q_refined.pdb \n",
" RSLXAPG \n",
" 5to3-A-B|Prothrombin,Thrombomodulin|Prothrombi... \n",
" 0 \n",
" \n",
" \n",
" 18865 \n",
" 5dxg-C \n",
" E \n",
" 0 \n",
" GAMGSMERASLIQKAKLAEQAERYEDMAAFMKGAVEKGEELSXEER... \n",
" X \n",
" 6qzr-E \n",
" nr_aws_19k/docked_pdbs/6qzr_E_5dxg_C_refined.pdb \n",
" HKXLHRXLQDSX \n",
" 6f08-N-J|14-3-3 \n",
" 0 \n",
" \n",
" \n",
" 8111 \n",
" 3u9q-B \n",
" A \n",
" 1 \n",
" SADLRALAKHLYDSYIKSFPLTKAKARAILTGKTTDKSPFVIYDMN... \n",
" B \n",
" 3u9q-A \n",
" structures/complex/3u9q_B_A.pdb \n",
" SLLKKLLLA \n",
" 1k74_D \n",
" 0 \n",
" \n",
" \n",
" 1522 \n",
" 2ovr-C \n",
" A \n",
" 0 \n",
" GSPGIRLGSSEDNFARFVCKNNGVLFENQLLQIGLKSEFRQNLGRM... \n",
" X \n",
" 1kyu-A \n",
" propedia_aws_19k/docked_pdbs/1kyu_A_2ovr_C_ref... \n",
" SLIPPDK \n",
" 1w80-P-A|ADAPTER-RELATED \n",
" 0 \n",
" \n",
" \n",
" 9185 \n",
" 5h7h-C \n",
" B \n",
" 0 \n",
" APPQEQKQMLGERLFPLIQAMHPTLAGKITGMLLEIDNSELLHMLE... \n",
" X \n",
" 3kus-B \n",
" propedia_aws_19k/docked_pdbs/3kus_B_5h7h_C_ref... \n",
" WRVP \n",
" 1jgn-B-A|polyadenylate-binding \n",
" 0 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" ligand_PDBID_chain receptor_chain_id label \\\n",
"203 6ef5-Q H 0 \n",
"18865 5dxg-C E 0 \n",
"8111 3u9q-B A 1 \n",
"1522 2ovr-C A 0 \n",
"9185 5h7h-C B 0 \n",
"\n",
" Receptor Sequence ligand_chain_id \\\n",
"203 IVEGSDAEIGMSPWQVMLFRKSPQELLCGASLISDRWVLTAAHCLL... X \n",
"18865 GAMGSMERASLIQKAKLAEQAERYEDMAAFMKGAVEKGEELSXEER... X \n",
"8111 SADLRALAKHLYDSYIKSFPLTKAKARAILTGKTTDKSPFVIYDMN... B \n",
"1522 GSPGIRLGSSEDNFARFVCKNNGVLFENQLLQIGLKSEFRQNLGRM... X \n",
"9185 APPQEQKQMLGERLFPLIQAMHPTLAGKITGMLLEIDNSELLHMLE... X \n",
"\n",
" receptor_PDBID_chain pdb_file \\\n",
"203 1bcu-H nr_aws_19k/docked_pdbs/1bcu_H_6ef5_Q_refined.pdb \n",
"18865 6qzr-E nr_aws_19k/docked_pdbs/6qzr_E_5dxg_C_refined.pdb \n",
"8111 3u9q-A structures/complex/3u9q_B_A.pdb \n",
"1522 1kyu-A propedia_aws_19k/docked_pdbs/1kyu_A_2ovr_C_ref... \n",
"9185 3kus-B propedia_aws_19k/docked_pdbs/3kus_B_5h7h_C_ref... \n",
"\n",
" Peptide Sequence cluster_center \\\n",
"203 RSLXAPG 5to3-A-B|Prothrombin,Thrombomodulin|Prothrombi... \n",
"18865 HKXLHRXLQDSX 6f08-N-J|14-3-3 \n",
"8111 SLLKKLLLA 1k74_D \n",
"1522 SLIPPDK 1w80-P-A|ADAPTER-RELATED \n",
"9185 WRVP 1jgn-B-A|polyadenylate-binding \n",
"\n",
" has_parse_and_featurize_error \n",
"203 0 \n",
"18865 0 \n",
"8111 0 \n",
"1522 0 \n",
"9185 0 "
]
},
"execution_count": 212,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test_sm_df.head()"
]
},
{
"cell_type": "code",
"execution_count": 213,
"id": "ba438328",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0 3034\n",
"1 1509\n",
"Name: label, dtype: int64"
]
},
"execution_count": 213,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train_df['label'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 214,
"id": "4045cbd7",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0 775\n",
"1 361\n",
"Name: label, dtype: int64"
]
},
"execution_count": 214,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"test_df['label'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 215,
"id": "5384d0cc",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Unnamed: 0 \n",
" ligand_PDBID_chain \n",
" receptor_PDBID_chain \n",
" rmsd \n",
" \n",
" \n",
" docked_name \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 5iqm_A_5iqm_F_refined.pdb \n",
" 0 \n",
" 5iqm_F \n",
" 5iqm_A \n",
" 3.10067 \n",
" \n",
" \n",
" 6jbk_G_6jbk_B_refined.pdb \n",
" 1 \n",
" 6jbk_B \n",
" 6jbk_G \n",
" 4.82671 \n",
" \n",
" \n",
" 2gzd_B_2gzd_D_refined.pdb \n",
" 2 \n",
" 2gzd_D \n",
" 2gzd_B \n",
" 1.49847 \n",
" \n",
" \n",
" 5mer_A_5mer_C_refined.pdb \n",
" 3 \n",
" 5mer_C \n",
" 5mer_A \n",
" 0.36982 \n",
" \n",
" \n",
" 1rmh_B_1rmh_C_refined.pdb \n",
" 4 \n",
" 1rmh_C \n",
" 1rmh_B \n",
" 0.27776 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Unnamed: 0 ligand_PDBID_chain receptor_PDBID_chain \\\n",
"docked_name \n",
"5iqm_A_5iqm_F_refined.pdb 0 5iqm_F 5iqm_A \n",
"6jbk_G_6jbk_B_refined.pdb 1 6jbk_B 6jbk_G \n",
"2gzd_B_2gzd_D_refined.pdb 2 2gzd_D 2gzd_B \n",
"5mer_A_5mer_C_refined.pdb 3 5mer_C 5mer_A \n",
"1rmh_B_1rmh_C_refined.pdb 4 1rmh_C 1rmh_B \n",
"\n",
" rmsd \n",
"docked_name \n",
"5iqm_A_5iqm_F_refined.pdb 3.10067 \n",
"6jbk_G_6jbk_B_refined.pdb 4.82671 \n",
"2gzd_B_2gzd_D_refined.pdb 1.49847 \n",
"5mer_A_5mer_C_refined.pdb 0.36982 \n",
"1rmh_B_1rmh_C_refined.pdb 0.27776 "
]
},
"execution_count": 215,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rmsd_train = pd.read_csv(\n",
" os.path.join(DATA_DIR, 'rmsd_refined_data_train.csv'),\n",
" index_col='docked_name'\n",
")\n",
"\n",
"rmsd_test = pd.read_csv(\n",
" os.path.join(DATA_DIR, 'rmsd_refined_data_test.csv'),\n",
" index_col='docked_name'\n",
")\n",
"rmsd_train.head()"
]
},
{
"cell_type": "code",
"execution_count": 216,
"id": "7c4b92f4",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(1469, 8) (355, 8)\n"
]
}
],
"source": [
"selfdock_train_df = pd.read_csv(\n",
" os.path.join(DATA_DIR, 'selfdock_train_aws/docked_data.csv'),\n",
" index_col=0\n",
").rename(columns={\n",
" 'ligand_chain': 'ligand_chain_id',\n",
" 'receptor_chain': 'receptor_chain_id',\n",
" 'ligand_PDBID' : 'ligand_PDBID_chain',\n",
" 'receptor_PDBID' : 'receptor_PDBID_chain', \n",
"}).merge(\n",
" rmsd_train[['rmsd']],\n",
" left_on='docked_name',\n",
" right_index=True,\n",
" how='left'\n",
")\n",
"selfdock_train_df['ligand_PDBID_chain'] = selfdock_train_df.apply(\n",
" lambda row: row['ligand_PDBID_chain'] + '-' + row['docked_name'].split('_')[3],\n",
" axis=1\n",
")\n",
"selfdock_train_df['receptor_PDBID_chain'] = selfdock_train_df.apply(\n",
" lambda row: row['receptor_PDBID_chain'] + '-' + row['docked_name'].split('_')[1],\n",
" axis=1\n",
")\n",
"\n",
"\n",
"selfdock_train_df['label'] = 1\n",
"selfdock_train_df['pdb_file'] = selfdock_train_df['docked_name'].map(\n",
" lambda x: f'selfdock_train_aws/docked_pdbs/{x}'\n",
")\n",
"\n",
"selfdock_test_df = pd.read_csv(\n",
" os.path.join(DATA_DIR, 'selfdock_test_aws/docked_data.csv'),\n",
" index_col=0\n",
").rename(columns={\n",
" 'ligand_chain': 'ligand_chain_id',\n",
" 'receptor_chain': 'receptor_chain_id',\n",
" 'ligand_PDBID' : 'ligand_PDBID_chain',\n",
" 'receptor_PDBID' : 'receptor_PDBID_chain',\n",
"}).merge(\n",
" rmsd_test[['rmsd']],\n",
" left_on='docked_name',\n",
" right_index=True,\n",
" how='left'\n",
")\n",
"\n",
"selfdock_test_df['ligand_PDBID_chain'] = selfdock_test_df.apply(\n",
" lambda row: row['ligand_PDBID_chain'] + '-' + row['docked_name'].split('_')[3],\n",
" axis=1 \n",
")\n",
"selfdock_test_df['receptor_PDBID_chain'] = selfdock_test_df.apply(\n",
" lambda row: row['receptor_PDBID_chain'] + '-' + row['docked_name'].split('_')[1],\n",
" axis=1 \n",
")\n",
"\n",
"\n",
"selfdock_test_df['label'] = 1\n",
"selfdock_test_df['pdb_file'] = selfdock_test_df['docked_name'].map(\n",
" lambda x: f'selfdock_test_aws/docked_pdbs/{x}'\n",
")\n",
"\n",
"\n",
"print(selfdock_train_df.shape, selfdock_test_df.shape)"
]
},
{
"cell_type": "code",
"execution_count": 217,
"id": "4e655fd2",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" ligand_PDBID_chain \n",
" receptor_PDBID_chain \n",
" docked_name \n",
" ligand_chain_id \n",
" receptor_chain_id \n",
" rmsd \n",
" label \n",
" pdb_file \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1a2c-L \n",
" 1a2c-H \n",
" 1a2c_H_1a2c_L_refined.pdb \n",
" X \n",
" H \n",
" 0.00000 \n",
" 1 \n",
" selfdock_test_aws/docked_pdbs/1a2c_H_1a2c_L_re... \n",
" \n",
" \n",
" 1 \n",
" 1a5g-L \n",
" 1a5g-H \n",
" 1a5g_H_1a5g_L_refined.pdb \n",
" X \n",
" H \n",
" 0.86906 \n",
" 1 \n",
" selfdock_test_aws/docked_pdbs/1a5g_H_1a5g_L_re... \n",
" \n",
" \n",
" 2 \n",
" 1a61-L \n",
" 1a61-H \n",
" 1a61_H_1a61_L_refined.pdb \n",
" X \n",
" H \n",
" 0.61090 \n",
" 1 \n",
" selfdock_test_aws/docked_pdbs/1a61_H_1a61_L_re... \n",
" \n",
" \n",
" 3 \n",
" 1ay6-L \n",
" 1ay6-H \n",
" 1ay6_H_1ay6_L_refined.pdb \n",
" X \n",
" H \n",
" 1.10492 \n",
" 1 \n",
" selfdock_test_aws/docked_pdbs/1ay6_H_1ay6_L_re... \n",
" \n",
" \n",
" 4 \n",
" 1bb0-C \n",
" 1bb0-B \n",
" 1bb0_B_1bb0_C_refined.pdb \n",
" X \n",
" B \n",
" 0.76091 \n",
" 1 \n",
" selfdock_test_aws/docked_pdbs/1bb0_B_1bb0_C_re... \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" ligand_PDBID_chain receptor_PDBID_chain docked_name \\\n",
"0 1a2c-L 1a2c-H 1a2c_H_1a2c_L_refined.pdb \n",
"1 1a5g-L 1a5g-H 1a5g_H_1a5g_L_refined.pdb \n",
"2 1a61-L 1a61-H 1a61_H_1a61_L_refined.pdb \n",
"3 1ay6-L 1ay6-H 1ay6_H_1ay6_L_refined.pdb \n",
"4 1bb0-C 1bb0-B 1bb0_B_1bb0_C_refined.pdb \n",
"\n",
" ligand_chain_id receptor_chain_id rmsd label \\\n",
"0 X H 0.00000 1 \n",
"1 X H 0.86906 1 \n",
"2 X H 0.61090 1 \n",
"3 X H 1.10492 1 \n",
"4 X B 0.76091 1 \n",
"\n",
" pdb_file \n",
"0 selfdock_test_aws/docked_pdbs/1a2c_H_1a2c_L_re... \n",
"1 selfdock_test_aws/docked_pdbs/1a5g_H_1a5g_L_re... \n",
"2 selfdock_test_aws/docked_pdbs/1a61_H_1a61_L_re... \n",
"3 selfdock_test_aws/docked_pdbs/1ay6_H_1ay6_L_re... \n",
"4 selfdock_test_aws/docked_pdbs/1bb0_B_1bb0_C_re... "
]
},
"execution_count": 217,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"selfdock_test_df.head()"
]
},
{
"cell_type": "code",
"execution_count": 218,
"id": "99f189e0",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" ligand_PDBID_chain \n",
" receptor_PDBID_chain \n",
" docked_name \n",
" ligand_chain_id \n",
" receptor_chain_id \n",
" rmsd \n",
" label \n",
" pdb_file \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1a2c-L \n",
" 1a2c-H \n",
" 1a2c_H_1a2c_L_refined.pdb \n",
" X \n",
" H \n",
" 0.00000 \n",
" 1 \n",
" selfdock_test_aws/docked_pdbs/1a2c_H_1a2c_L_re... \n",
" \n",
" \n",
" 1 \n",
" 1a5g-L \n",
" 1a5g-H \n",
" 1a5g_H_1a5g_L_refined.pdb \n",
" X \n",
" H \n",
" 0.86906 \n",
" 1 \n",
" selfdock_test_aws/docked_pdbs/1a5g_H_1a5g_L_re... \n",
" \n",
" \n",
" 2 \n",
" 1a61-L \n",
" 1a61-H \n",
" 1a61_H_1a61_L_refined.pdb \n",
" X \n",
" H \n",
" 0.61090 \n",
" 1 \n",
" selfdock_test_aws/docked_pdbs/1a61_H_1a61_L_re... \n",
" \n",
" \n",
" 3 \n",
" 1ay6-L \n",
" 1ay6-H \n",
" 1ay6_H_1ay6_L_refined.pdb \n",
" X \n",
" H \n",
" 1.10492 \n",
" 1 \n",
" selfdock_test_aws/docked_pdbs/1ay6_H_1ay6_L_re... \n",
" \n",
" \n",
" 4 \n",
" 1bb0-C \n",
" 1bb0-B \n",
" 1bb0_B_1bb0_C_refined.pdb \n",
" X \n",
" B \n",
" 0.76091 \n",
" 1 \n",
" selfdock_test_aws/docked_pdbs/1bb0_B_1bb0_C_re... \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" ligand_PDBID_chain receptor_PDBID_chain docked_name \\\n",
"0 1a2c-L 1a2c-H 1a2c_H_1a2c_L_refined.pdb \n",
"1 1a5g-L 1a5g-H 1a5g_H_1a5g_L_refined.pdb \n",
"2 1a61-L 1a61-H 1a61_H_1a61_L_refined.pdb \n",
"3 1ay6-L 1ay6-H 1ay6_H_1ay6_L_refined.pdb \n",
"4 1bb0-C 1bb0-B 1bb0_B_1bb0_C_refined.pdb \n",
"\n",
" ligand_chain_id receptor_chain_id rmsd label \\\n",
"0 X H 0.00000 1 \n",
"1 X H 0.86906 1 \n",
"2 X H 0.61090 1 \n",
"3 X H 1.10492 1 \n",
"4 X B 0.76091 1 \n",
"\n",
" pdb_file \n",
"0 selfdock_test_aws/docked_pdbs/1a2c_H_1a2c_L_re... \n",
"1 selfdock_test_aws/docked_pdbs/1a5g_H_1a5g_L_re... \n",
"2 selfdock_test_aws/docked_pdbs/1a61_H_1a61_L_re... \n",
"3 selfdock_test_aws/docked_pdbs/1ay6_H_1ay6_L_re... \n",
"4 selfdock_test_aws/docked_pdbs/1bb0_B_1bb0_C_re... "
]
},
"execution_count": 218,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"selfdock_test_df.head()"
]
},
{
"cell_type": "code",
"execution_count": 219,
"id": "a88f7613",
"metadata": {},
"outputs": [],
"source": [
"# selfdock_train_df.rmsd.describe()"
]
},
{
"cell_type": "code",
"execution_count": 220,
"id": "1d1bfa73",
"metadata": {},
"outputs": [],
"source": [
"# selfdock_test_df.rmsd.describe()"
]
},
{
"cell_type": "code",
"execution_count": 221,
"id": "fe697c3c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(4503, 12) (1130, 12)\n"
]
}
],
"source": [
"# replace positive rows in train_sm_df and test_sm_df\n",
"train_sm_df = train_sm_df.loc[train_sm_df['label'] == 0]\n",
"train_sm_df = pd.concat([train_sm_df, selfdock_train_df])\\\n",
" .sample(frac=1, random_state=42)\n",
"\n",
"\n",
"test_sm_df = test_sm_df.loc[test_sm_df['label'] == 0]\n",
"test_sm_df = pd.concat([test_sm_df, selfdock_test_df])\n",
"\n",
"print(train_sm_df.shape, test_sm_df.shape)"
]
},
{
"cell_type": "code",
"execution_count": 222,
"id": "56aa06ae",
"metadata": {},
"outputs": [],
"source": [
"train_sm_df.to_csv(\n",
" os.path.join(DATA_DIR, 'train_small_selfdock.csv')\n",
")\n",
"test_sm_df.to_csv(\n",
" os.path.join(DATA_DIR, 'test_small_selfdock.csv')\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 223,
"id": "0695e19e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"ligand_PDBID_chain 4503\n",
"receptor_chain_id 4503\n",
"label 4503\n",
"Receptor Sequence 3034\n",
"ligand_chain_id 4503\n",
"receptor_PDBID_chain 4503\n",
"pdb_file 4503\n",
"Peptide Sequence 3034\n",
"cluster_center 3034\n",
"has_parse_and_featurize_error 3034\n",
"docked_name 1469\n",
"rmsd 1469\n",
"dtype: int64"
]
},
"execution_count": 223,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train_sm_df.count()"
]
},
{
"cell_type": "markdown",
"id": "4b8f7d16",
"metadata": {},
"source": [
"## Check individual complex structures\n",
"1. https://www.rcsb.org/3d-sequence/148L: peptide sequence is AEKA on PDB\n",
"2. https://www.rcsb.org/3d-sequence/1a07: peptide sequence is XYEX on PDB\n",
"3. https://www.rcsb.org/3d-sequence/1a08: peptide sequence is XYEX on PDB\n",
"4. https://www.rcsb.org/3d-sequence/8kme: peptide sequence is XFXKLPX on PDB"
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "2a4bc8e5",
"metadata": {},
"outputs": [],
"source": [
"from ppi.data_utils import parse_pdb_structure, extract_coords, SloppyStructureBuilder\n",
"from Bio.PDB import PDBParser\n",
"from Bio.PDB.Polypeptide import is_aa\n",
"from rdkit import Chem"
]
},
{
"cell_type": "code",
"execution_count": 57,
"id": "a9aae602",
"metadata": {},
"outputs": [],
"source": [
"from ppi.data_utils import contact_map_utils as utils"
]
},
{
"cell_type": "code",
"execution_count": 58,
"id": "13b0abee",
"metadata": {},
"outputs": [],
"source": [
"from IPython.display import display"
]
},
{
"cell_type": "code",
"execution_count": 59,
"id": "e39db097",
"metadata": {},
"outputs": [],
"source": [
"# !ls -lh {DATA_DIR}/structures/complex/8kme* | head"
]
},
{
"cell_type": "code",
"execution_count": 60,
"id": "53f82e0b",
"metadata": {},
"outputs": [],
"source": [
"# pdb_id = '148l_S_E'\n",
"# pdb_id = '1a07_C_A'\n",
"# pdb_id = '8kme_4_2'\n",
"pdb_id = '148l_S_E'\n",
"\n",
"pdb_parser = PDBParser(\n",
" QUIET=True,\n",
" PERMISSIVE=True,\n",
"# structure_builder=SloppyStructureBuilder(),\n",
")\n",
"\n",
"structure = pdb_parser.get_structure(\n",
" pdb_id, \n",
" os.path.join(DATA_DIR, 'structures/complex', f'{pdb_id}.pdb') \n",
")"
]
},
{
"cell_type": "code",
"execution_count": 61,
"id": "e1524e30",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"dict_keys(['E', 'S'])"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"recs = extract_coords(structure)\n",
"recs.keys()"
]
},
{
"cell_type": "code",
"execution_count": 62,
"id": "140aefc7",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"E\n",
"MNIFEMLRIDEGLRLKIYKDTEGYYEIGIGHLLTKSPSLNAAKSELDKAIGRNTNGVITKDEAEKLFNQDVDAAVRGILRNAKLKPVYDSLDAVRRAALINMVFQMGETGVAGFTNSLRMLQQKRWDEAAVNLAKSRWYNQTPNRAKRVITTFRTGTWDAYKN\n",
"S\n",
"AXXX\n"
]
}
],
"source": [
"for key in recs:\n",
" print(key)\n",
" print(recs[key]['seq'])"
]
},
{
"cell_type": "code",
"execution_count": 63,
"id": "9176eedc",
"metadata": {},
"outputs": [],
"source": [
"# peptide_chain_id = 'C'\n",
"peptide_chain_id = 'S'\n",
"# recs[peptide_chain_id]['coords']"
]
},
{
"cell_type": "code",
"execution_count": 64,
"id": "b703cdd0",
"metadata": {},
"outputs": [],
"source": [
"# utils.residue_to_mol(chain)"
]
},
{
"cell_type": "code",
"execution_count": 65,
"id": "1db593f9",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAcIAAACWCAIAAADCEh9HAAAABmJLR0QA/wD/AP+gvaeTAAAWyklEQVR4nO3deVhU9eIG8HeYAWZAUcENFFGSEHfxmikCIWBmoiWymKah4vqYqVezxZ7fTeum0r0p5gpXBVNwQ0S9qKCAiGtA5dIiiKgQLhggM8IwzO8PuBGkyX4OM+/nmT+YL2fOeXken9fvWeYciVarBRER1ZeB0AGIiFo21igRUYOwRomIGoQ1SkTUIKxRIqIGYY2SHigvR1YWrl9HcXHVYHFxtbcASkvx6FEzRyMdwBolkdq9e3dSUtLNmzdLS0sbtKItW2BlhRdegKMjzM0xbRoKCwEgIAAzZlRbMjISXbs2aFukl2RCByCq6eTJk59++mlycnLFWwMDg86dO9vY2FhbW1tbW3fr1q1bt27W1taDra3RseNz1rVtG959F5s3w8cHCgVSU/H223jjDcTHN/mfQXpDwsvvSVQyMjKGDBny6NEjR0dHExOT7OzsnJycsrKyGou1a9s2/7ffYGyMLl1gaQkrK9jawta28mc7O5iZQaNB167w8cH69VWfTE6GszNOnsTWrTAwQERE1a/CwzFnTs09faLn4WyURESlUvn6+j569Gj8+PFRUVESiQSARqPJzc29detWdnb27du3b9++fevWLZOyMly8iIcPkZmJzMynrMvBAZGR+PVX+PlVGx8xAtbWOHWqWf4g0gusURKRgICA1NRUe3v7nTt3VnQoAKlU2rVr165duzo5OdX8wJMnyMlBZiZycpCbW1mpOTnIzoapKXJzAcDauuanbGyQkwMAUVEwN68ab+BBWNJXrFESi6CgoMjIyNatWx88eLBNmza1+oxcXrkv/2cFBUhPB4Ciopq/KiqCXA6lEu7uWLu2ajwmBitX1i886TOeqSdROHXq1AcffCCRSLZv3967d+9GWGObNujVCwCuX682rlIhMxMODgBgZoY+fapeXbo0wnZJ/7BGSXjZ2dn+/v5lZWUrVqzw9vZutPV26oSRI/Gvf0GtrhrctAmlpZg4sdG2QnqPO/UksCdPnnh7e9+/f3/UqFGffPJJI6/966/h6ooRIxAQgLZtkZSEkBB89RUnntSIWKMksPnz51++fNnOzi4yMlIqlTby2nv1Qloa1q3Dnj0oKYGdHeLi4OICAMOG4X9nsSrZ2GDChEYOQHqA142SkIKDg999991WrVqdO3eub9++Qschqg/WKAkmJSXFzc1NrVZHRET4+voKHYeonniKiYTx66+/+vj4lJaWLlu2jB1KLRprVMdFRODOnWojZ87gwoWai925g337cPdu1ciDB9i3r9op7kakVqt9fHxycnLc3d0/++yzJtkGUXNhjeq4SZNqlubatdi0qeZi58/D1xeTJ+P3Yzw//ghfXyiVTZJq/vz5ycnJNjY2ERERjX9aiah5sUapkkKBq1exZ0+TbygsLGzbtm1yufzAgQPt27dv8u0RNTHWKFUyNsaKFVi8GL/91oRbuXDhwqxZswBs2rRp8ODBTbgloubCGtV9GRm4dKnq9RctOW8eLCzwwQdNlSQvL2/ixIklJSULFy585513mmozRM2Ll9/rvtWrsW5d1dv8/KffygOATIavv4aHB2pU3PTpuHoVsbFo167+McrKyvz8/O7cuePk5LRmzZr6r4hIZDgb1X1bt+Lu3aqXp+dfLfzKK/D3x7x5KC+vHLl1C7t349IlWFlh5876x1i8eHFiYqKlpeW+ffuMjIzqvyIikWGNUk1BQcjIwK5dlW8r7iSn1aKkBO+8g5dewk8/1Xmd33zzTXBwsLGx8aFDhywtLRszLpHQWKP6S6vFDz/g559rjnfujJUr8Z//AEBREbZvR0lJ5fISCS5fxqBBWLWqDpeUfvfddxWnlTZs2PDSSy812h9AJA6sUT1VWgoPDwQHY/lyvPdezd/Om4f+/QEgJKTaeMVVpSoVvvgC9vY4d+75G8rPz58wYYJSqZwzZ87MmTMbJTyRqPA79TouJAQeHujevWrkxAkYG8PJCVeuYOBAaDSwtsbZs0hMrHZm6ccfkZSE9HRs3w6ptNpz3iSSypmpkZHGzS18z5432rZt+9StazSasWPHxsbGvvzyywkJCcbGxk3yRxIJijWq7x4+hIsLrl595gL37iE2FpGROH0axsYoLER5eWWTGhgUGxhMbNXq/ObNm/1qPDkOALB06dKgoKBOnTp9++23XXiLT9JRrFG9ptFgwgRMmQIfn+cvrFIhPh779+PIEeTnV0xIs7VaGwCmpqaDBw/euXNn9z/Me6Oiory9vWUyWVxcnEvFLT6JdBFrVH8VFWHmTLi4YP78On82LQ2fffYoNXVOTk60oaHh48ePpVKpsbHxxx9/vHTpUplM9uOPPw4dOrSwsPDrr7+eN29eE8QnEgvWqJ66dw+urrC2hrs7AMyZg1o+i/NP67l37NixyMjIpKQkjUZTUlJia2u7ZcuWuXPn3rhxY8qUKeHh4Y2bnEhsWKN6qrAQFy9WvXVygkLRoBWWlpYmJSUdOHBg3759Dx8+bNWqlb29fXJyslwub2BUIpHjl0H1lJkZPDwac4VGRkavvPLKpUuXHj9+DGD06NFffvklO5T0AWej1DgyMjICAgLOnDkjkUgCAwO//PLLVq1aCR2KqDlwNkoNpdVqt23btmjRIqVSaWNjExIS4tG4E10icWONUoNkZmZOnz49MTERgI+Pz5YtW9o15DZQRC0QvwxK9aTVardu3TpgwIDExMTOnTtHR0fv3buXHUp6iLNRqo+srKzp06efPn0agI+Pz+bNm83NzYUORSQMzkapbiomof379z99+nSnTp2ioqL27t3LDiV9xtko1UF2dvaMGTPi4uIA+Pj4bNy4kc+kI2KNUm1duHDBzc1NpVJ17Nhx48aN3t7eQiciEgXWKNVWv379SktLARQXF+/YsePhw4ejR4/u1q2b0LmIBMbL76m2CgoKlixZkpCQkJGR8ftg3759X3311VGjRrm4uPA7S6SfWKNUZ5mZmXFxcXFxcSdOnCgoKKgYVCgUTk5OHh4eHh4ejo6OEolE2JBEzYY1SvWn0WjS09NjYmKOHDmSlpZW/r+niXbq1MnFxWXs2LFeXl68kpR0HmuUGsf9+/cTEhLi4uKOHj169+7dikGpVDpw4MCKKaqrq6uhoaGwIYmaAmuUGplWq01LSzt+/Pjx48dTUlLU/3uCqIWFhYeHh7+//xtvvCFsQqLGxRqlJqRUKlNSUuLi4mJiYq5duwbg9ddf79ixY2hoKA+eks5gjVIzuXHjRlRU1MqVK4uKilavXr1s2TKhExE1DtYoNauYmJiKnfqjR4+OHj1a6DhEjYDfqadm5eXl9dFHH5WXl0+ePPnmzZtCxyFqBJyNUnMrLy8fN27c0aNHBw4cePbsWRMTE6ETETUIZ6PU3AwMDMLDw3v27Jmenj579myh4xA1FGuUBNCuXbuDBw+ampru2rVr48aNQschahDu1JNgIiIiJk2aZGhoGB8f7+zsLHQconribJQE4+/vv3jxYrVa7evr+/sXn4haHM5GSUhlZWWenp4JCQnDhg1LSEgwMjISOhFRnXE2SkKSyWT79+/v3r37uXPnlixZInQcovrgbJSEl5aW5uTkpFKpQkNDp0+fLnQcorphjZIohIWFTZs2TS6Xnzlz5m9/+5vQcYjqgDv1JApTp06dNWvWkydPvL2979+/L3QcojrgbJTEQq1Wjxw5Mjk52d3d/fjx41KpVOhERLXC2SiJhaGh4d69ey0tLePj4z/66COh4xDVFmejJC4pKSlubm5qtToiIsLX11foOETPx9koicvw4cNXr16t1WpnzJhx9epVoeMQPR9noyRGAQEBO3bssLOzu3TpUps2bYSOQ/RXWKMkRiqVasSIEampqV5eXocOHTIw4G4TiRdrlEQqMzNzyJAhUqn0/Pnztra2QscheibWKIlXUlJS9+7du3XrVvFWpVLl5OQoFAorKythgxH9EfeVSLxcXFwqOrSoqCggIMDc3NzOzq5Lly79+vU7f/680OmIKrFGqQXw9vaOj4+PiYkpLi7Oyclxc3M7ePCg0KGIKnGnnsQuOTnZ2dk5Kiqq4pGiRGLD2SiJXWJioqmp6fjx44UOQvR0rFESu7y8vK5du0okEqGDED0da5TEzsjIqLi4WOgURM/EGiWxs7Ozy83Nzc/PFzoI0dOxRknsxo0bJ5PJgoKCaowrlcrZs2fzWXgkOJ6ppxZgw4YNCxcunDx5squrq0wmS0hIGDBgQG5u7po1a8zNzTdt2sR7QZGAWKPUMiQkJISGhmZkZJiZmfXu3TswMNDCwiIwMPDw4cMAfHx8Nm/ebG5uLnRM0kesUWrZwsLC5s+f//jx427duu3YscPNzU3oRKR3eGyUWrapU6d+//33I0aMyM7Odnd3X7hwYUlJidChSL+wRqnF69Gjx+nTp7/44guZTLZ+/frBgwenp6cLHYr0CHfqSXdcvHjx7bff/vnnn42Njf/xj38sXbqUNyqlZsAaJZ2iUqmWL18eHBys1WqHDx8eHh7Oe5VSU+P/1aRTFArFunXr/vvf/1pZWaWkpAwaNGjr1q1ChyIdx9ko6ab79+8HBgZGR0cDOHLkyOuvvy50ItJZrFHSWSqVasCAARkZGXK5fNOmTVOnThU6Eekm7tSTbtJoNFOmTPnll18sLS1nzJgxbdo0Nze33NxcoXORDpIJHYCo8Wm12tmzZx88eNDCwuLkyZMODg5yuXzt2rX29vY7duyYMGGC0AFJp3A2Sjpo+fLloaGhJiYmhw8fdnBwALBmzZp58+Y9fvx40qRJfn5+BQUFQmck3cFjo6RrNmzYsGDBAkNDw+jo6Ndee+33ca1WGxgYuGfPHo1G07p168jIyJEjRwqYk3QGZ6PUxDw9UePxcytXYtGiyp/v3sWCBejTB927Y9gwfPUV1OqGbO2bb75ZuHChRCLZtm3bHzsUQMXgxIkTZTLZgwcPvLy8pk2bxhtCU8OxRqmJpafj/v1qIzdv4pdfAODOHbz0En74AStWICwMb72F1avh44P67iEdPXo0ICCgvLw8KCho2rRpf15AIpFs37599OjRpqamSqVy//79PXv2TE5Ort/miCqwRkk4y5dDocCJE/D3h4sLFizAoUOIjq45e62dCxcu+Pn5qdXqDz/8cPHixc9azMDAICIiwtnZ2cTERKlU5uW1cXHpPXVqAyfBpNdYoyQQjQaHD2P2bBgZVQ0OHYqXX0ZUVF1XdvXq1TFjxhQXF0+dOnXVqlV/vbBMJouOjh42bJhC0QU4BZiHh8PeHryfCdUPL3iiphcaioSEqrcXL8LBAffuoagIdnY1F37xxcpd/lq7c+fOmDFj8vPzvby8QkNDa/MMUSMjoyNHjgweHP7TTx01GkilyMrC8OH45BMsWwbez4TqhP9eqOnZ2GDIkKpX+/YAKg+ASqU1F5bJUF5e+3U/ePBg1KhR2dnZrq6ue/fulclqOzOQy+WXLwc6Osrkcmg0AKBSYdUqDBpU1xonfcfZKDU9Dw/Mnl319soV3LuHDh2gUCArq+bCmZmwsanlipVK5fjx469fv96vX7+oqCi5XF6nXAoFTp+GiwuuXUNJCQwMUFyMq1cxYABWrcKiRajFvJaIs1ESiqEhPDywc2e1wRs3cOYMxoypzQrUarW3t3dKSoqtre3x48fbtWtXjxSmpjh1Cra2MDQEAAMDaDRQqfDJJ3BxAZ86SrXBGiXhrFqF69cxaRKuXUNBAU6dwtixcHTEW28996NarXbmzJmxsbEdOnQ4duyYpaVlvVO0aYOzZ9GjBwwMqg4nFBfjwgXY2yMsrN4rJn3BGqUm1rp1tXPxABQKmJgAQP/+SExEbi7690fbtnjzTTg748SJypnhX149umTJkrCwMDMzs9jYWHt7+wZmbNsWSUmwsoJEUnV+Sa1GcTHmzcPy5Q1cPek4fhmURKCkBEol2ratOhiZnIxFixATg86d/7z4qlWrVqxYUXG23dPTs7FS5OVhyBDcvg2JpKrDTUwQHIzp0xtrI6SDOBslETA2Rrt2VR2q1eL993H5MkaPxqNHNZbdunXrihUrDAwMdu3a1YgdCqBTJ5w9CwuLqg41NUVgINq3x9q1+OPzRuPjERmJggJ8/jny8qqtJCQE/FaU3tESiVBenrZXLy2gHTpUU1j4+3B0dHTFJU3r169voi1nZWlNTLRSqVYu13p6ajUarb+/FtB++mnVMu+9p/X01N68qQW0335b7eN9+2r/7/+aKBqJFGejJEodOyIuDra24TLZyLFjK24gkpCQ4OfnV1ZWtnLlygULFjTRlm1scP48AFhaIiqq8lBp79745z9x40YTbZNaNtYoiVWXLkVxcR/eupWYlOTr65uamvrmm28+efJk7ty5H3/8cZNuuV8/5OXhu+9galo5Mnw4XnsN8+c36WappeLl9yRerXv0OHHihKur67Fjx06dOvXkyRM/P78NGzY0w6YtLGqOBAWhTx9ERMDfv9r4yZPVZqm8H7QeYo2SqDk4OMTFxQ0fPtzMzKxnz547d+40EOgb7z16YPlyLFqE6ncxRURE1aQVwMOHzZyLhMcaJbHr379/+/btb926FRMTY2xsLGCS99/H7t1YubLaYGgoHB2r3vbr18yhSHg8Nkpi9+jRo+zsbBMTk4EDBwqbxNgY69YhOJjnmqga1iiJXVpamlarHTBggPTPt4Nqdq++inHjcPTo85fMz0dUFBITmz4TCY01SmKXmpoKwPGPe86C+ve/qx0Mfaq7dzFyJG7eREgIli1rllgkHB4bJbFLS0sDMGjQIKECfPgh/ngX065dcfYsysrQuTPi4mreeDokBB07wsoKJ0+iQwf89huGDcOaNc0cmZoVa5TETvAa/fNZo/79K39wd6/5q6FDK3/o0AEArlxB795NF41EgbcmIVFTKpVmZmZSqbSwsFDY0/T1kJeH117Drl1sUh3HY6Mkaunp6RqNpk+fPi2uQ69cwcSJ2LiRHar7WKMkamI7v1RLly/j5ZfRujW2b8ecOUKnoSbGY6Mkar9lZSkUCsGvGK0rBwd8/73QIai58NgoidvgwWXff69OSlIMGyZ0FKKnY42SiJWWonVrlJWhoACtWgmdhujpeGyUROzKFZSWwt6eHUpixholEUtLAwDhrhglqg3WKIkYa5RaAtYoiVhqKgC0tKudSN/wFBOJlUaDNm2gVOLBA5ibC52G6Jk4GyWx+uknFBeje3d2KIkca5TEigdGqYVgjZJYsUapheCxURKrrCykpGDgQN7bg0SOs1ESmTt38Pe/w9kZvr44cgS3b1eOr1mDzz+vtmRiIsaPb/6ARDWwRklMrl3DoEFITsaUKViyBB06wMsLq1cDQHp65fVPv8vJQWysIDGJ/oh3eCIxmTsXL76IxMTKp3b4+cHODu+9hwkThE5G9EycjZJo5OYiKQmLF1d78tGsWTAzw4EDwsUieg7ORkk0fv4ZAHr1qjZoZIQXXsAvvwDAd9/h3XdrLk8kNNYoiUZ5OQDI5TXHFQqUlQGAVAoTk6rxlvZYEdJVrFESDSsrAMjOxgsvVBvPyoKzM27eRN+++OKLqvE9e3iKicSAx0ZJNF58ETY22L272uCZM7h9G56eAmUiej7WKImGRILPPsOOHQgKQmEhyspw/jwCA/Hqq3B1FToc0TOxRklMJk9GaCi++gpt26J1a7i5wdkZ+/dDIhE6GdEz8cugJD5aLW7fhlIJGxsoFJWDajUAGBpWLVZeDrWaJ5pIcKxRIqIG4U49EVGDsEaJiBqENUpE1CCsUSKiBmGNEhE1yP8DPMvkMCBRYQ8AAAHYelRYdHJka2l0UEtMIHJka2l0IDIwMjIuMDMuNQAAeJx7v2/tPQYg4GWAAEYg5gFibiBuYGRjSgDSTEy6LEBKwdlQASStByL0QYSCATOQdAzwNF8JpA1BQsFGYAljiGkf7E2MQWCzioMpoyUbUwrINGZGqHFGEOOYSDEOwpCHGIfiOGOIacykmHZ9cYEtV7gSFtNMIKaxkGKaLRfIPEkspplCTGMl3aeK2ALODGIcG+mOU0Q4Dm6aOcQ0dpId16AJMo0DbBoj1DR/aKRykGKaZkz/oa8rlLCYBo1UTlJMqxZZ5/7wlwIW06CRykWKaQ+rQMZpgUxjh5gGjVQ/qE+5SXZblQIW06BxykOKad80QAEnDjKNGyjFxMjAzMTAwszAysLAxsoAjFAONgZONgZGLhZGVm4WRhEG8VkMkCwOwgw8xsatjmnPgpx0Nx1xXOde7Xhd2c/puPcxR6eEQserFT5OWXt2O8q3Njj6JXkD2Zscg3a0O/674ua0oWirY+7zXkeONS5ObttWO1aLtDvOeOfglCSw1NFyS5+jeGSQ04/go4619s2OGz45ORXaznHc5dnqeNnXxulk2XLH497Zjqs++jslPD3rKLJumuPJbw5Oe0rWO4oBAMlZtJsj0GyqAAABe3pUWHRNT0wgcmRraXQgMjAyMi4wMy41AAB4nH2TS07EMAyG9z2FTxDZeTjJgsW0HUYITSvBwB3Yc3/hvJoGIdou3Oiza/+/O0G63tbXr284LrNOEwD+88QY4dMg4nSHFMB8vb1ssDwucztZ9o/t8Q6kgUhy5B7Zy2O/txOCBYgVO6mI4LTyOoWgrXLBp+hI1gl1ymMGHClnGuorCsvz7Um3BFMSMHBNIAo5wSjLY21b2kAutVEFm5O0VsbqAXUFjQW1URoKFeVAA8oJ9cqbUFHigpI0YP/o2JfaIZTaQWljcgIqLtFRO8CeaodSW4SrcokazDygMaGsLHKt6k1GKYqEOKCEhWXOk1iv0HPtIP7qQMzdgER8bPrGorR27Qud1YkN0u4xmaUqRTSjwNdtHVakLM28b2tfGpJtoL4YJF6fbCfx03RrSTyz3T4SX1y3iER17gaQKEtdZBL1fBeSkkL+pFZuhLKLdBImfUNmHo7TXOcp0nv7bSSefgCTn6w9QDaqIAAAAMR6VFh0U01JTEVTIHJka2l0IDIwMjIuMDMuNQAAeJwlzzsOAyEMBNCrpFwkZOEPxmibSDSpdg8Q5SY5fMakAp48Nr7e6/n6HOsuay3c83GVddzlfnwPNhrNa2ea4VU6DR0n42g9sWuvgpIAOjlMaMi2njYoNBLxSnT3TLfYLZmjipL5TreMNwrDHCE1SZxAmxgXiR6cPQd6AtmBjLidHBiEyiAxTpy64xF/VK3SyFUTDQsBsUnliRX2152rDWrDs3Cqlu8Py1A6DJyUYF0AAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"for chain in structure.get_chains():\n",
" if chain.id == peptide_chain_id:\n",
" break\n",
"# try to convert peptide residues to rdkit objects\n",
"peptide_coords = []\n",
"for res in chain.get_residues():\n",
"# if is_aa(res):\n",
"# print(res, 'is AA?', is_aa(res))\n",
" print(res)\n",
" peptide_coords.append(utils.get_atom_coords(res))\n",
" res_mol = utils.residue_to_mol(res)\n",
" display(res_mol)"
]
},
{
"cell_type": "markdown",
"id": "fd3076e4",
"metadata": {},
"source": [
"### Check negative pdb files"
]
},
{
"cell_type": "code",
"execution_count": 66,
"id": "fcf03a91",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"receptor_PDBID 1a2x\n",
"ligand_PDBID 1pcx\n",
"docked_name 1a2x_A_1pcx_B_refined.pdb\n",
"ligand_chain X\n",
"receptor_chain A\n",
"pdb_file propedia_aws_19k/docked_pdbs/1a2x_A_1pcx_B_ref...\n",
"receptor_PDBID_chain 1a2x-A\n",
"ligand_PDBID_chain 1pcx-B\n",
"Peptide Sequence LASLESQS\n",
"Receptor Sequence DQQAEARSYLSEEMIAEFKAAFDMFDADGGGDISVKELGTVMRMLG...\n",
"label 0\n",
"Name: 1, dtype: object\n"
]
}
],
"source": [
"idx = 1\n",
"print(complex_df_neg.iloc[idx])\n",
"pdb_id = complex_df_neg['docked_name'].iloc[idx]\n",
"peptide_chain_id = complex_df_neg['ligand_chain'].iloc[idx]\n",
"\n",
"pdb_parser = PDBParser(\n",
" QUIET=True,\n",
" PERMISSIVE=True,\n",
"# structure_builder=SloppyStructureBuilder(),\n",
")\n",
"\n",
"structure = pdb_parser.get_structure(\n",
" pdb_id, \n",
" os.path.join(DATA_DIR, 'propedia_aws_19k/docked_pdbs', pdb_id) \n",
")"
]
},
{
"cell_type": "code",
"execution_count": 67,
"id": "d9f2bc15",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"dict_keys(['A', 'X'])"
]
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"recs = extract_coords(structure)\n",
"recs.keys()"
]
},
{
"cell_type": "code",
"execution_count": 68,
"id": "4aa771c2",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"A\n",
"DQQAEARSYLSEEMIAEFKAAFDMFDADGGGDISVKELGTVMRMLGQTPTKEELDAIIEEVDEDGSGTIDFEEFLVMMVRQMKEDAKGKSEEELAECFRIFDRNADGYIDAEELAEIFRASGEHVTDEEIESLMKDGDKNNDGRIDFDEFLKMMEGVQ\n",
"X\n",
"ESQXLSAL\n"
]
}
],
"source": [
"for key in recs:\n",
" print(key)\n",
" print(recs[key]['seq'])"
]
},
{
"cell_type": "code",
"execution_count": 69,
"id": "6adc7851",
"metadata": {},
"outputs": [],
"source": [
"# recs['X']"
]
},
{
"cell_type": "code",
"execution_count": 70,
"id": "60154ee6",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" is AA? True\n",
"N[C@H](C=O)CCC(=O)O\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" is AA? True\n",
"N[C@H](C=O)CO\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" is AA? True\n",
"NC(=O)CC[C@H](N)C=O\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" is AA? True\n",
"CN.O\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" is AA? True\n",
"CC(C)C[C@H](N)C=O\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" is AA? True\n",
"N[C@H](C=O)CO\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" is AA? True\n",
"C[C@H](N)C=O\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" is AA? True\n",
"CC(C)C[C@H](N)C=O\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"for chain in structure.get_chains():\n",
" if chain.id == peptide_chain_id:\n",
" break\n",
"\n",
"# try to convert peptide residues to rdkit objects\n",
"peptide_coords = []\n",
"for res in chain.get_residues():\n",
" print(res, 'is AA?', is_aa(res))\n",
" peptide_coords.append(utils.get_atom_coords(res))\n",
" res_mol = utils.residue_to_mol(res)\n",
" print(Chem.MolToSmiles(res_mol))\n",
" display(res_mol) "
]
},
{
"cell_type": "code",
"execution_count": 71,
"id": "b525bc82",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n"
]
},
{
"data": {
"text/plain": [
"10"
]
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print(res)\n",
"len([atom for atom in res.get_atoms()])"
]
},
{
"cell_type": "code",
"execution_count": 72,
"id": "d94f4bed",
"metadata": {},
"outputs": [],
"source": [
"import matplotlib\n",
"\n",
"def plot_backbone(rec: dict, ax):\n",
" '''\n",
" 3d plot for the backbone atoms from a chain.\n",
" '''\n",
" coords = np.asarray(rec['coords'])\n",
" atoms = [\"N\", \"CA\", \"C\", \"O\"]\n",
" for i, atom in enumerate(atoms):\n",
" ax.scatter(coords[:, i, 0],\n",
" coords[:, i, 1],\n",
" coords[:, i, 2],\n",
" label='%s:%s' % (rec['name'], atom)\n",
" );\n",
"\n",
" # connect backbone atoms sequentially\n",
" coords_stacked = coords.reshape(-1, 3)\n",
" N_atoms = coords_stacked.shape[0]\n",
" edge_pos = np.array([(coords_stacked[u], coords_stacked[u+1]) \\\n",
" for u in range(N_atoms-1)])\n",
"\n",
" # Plot the edges\n",
" for vizedge in edge_pos:\n",
" ax.plot(*vizedge.T, color=\"tab:gray\")\n",
"\n",
" return ax "
]
},
{
"cell_type": "code",
"execution_count": 73,
"id": "ce400069",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 73,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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MYMxY8awcuXKFvvesWMHy5cvZ/jw4fz444/Ntnn11Vd588030Wg0AHh7e/Pggw826OP111/n8uXLXLlypcWxOoQkSa39CQQCgUAw4Dl58mT7GxuKJemloZL0Z81//14aWre9G7hw4YIUGRkp/7ukpET+/xdffFFat25dk31SUlKkl156Sf73r371K2n9+vXSnXfeKW3fvr3V8R5++GHp3XfflSoqKqRhw4ZJtbW1bc7xz3/+s/Taa681mDMgpaWlSZIkSYsXL5Zee+01yWQySaGhodKhQ4ckSZKkiooKyWw2S1arVUpOTpb+9a9/SXFxcfJ+zbFlyxZp8ODBUmxsrOTn5yclJSVJFoulxfYPPvigdOedd8ptbr31Vun06dOSJEnSjz/+KE2dOlXuNyUlRd5vxIgRUnFxsXThwgVJpVJJR48elSRJkubNmyf985//bLWvWbNmSe+8844kSZL0v//7v5Knp2ezcwOk9957T5IkSVq5cqU8fnR0tPTNN99IkiRJTz/9tPz9b9myRfL395dKSkqk6upqKTIyUkpPT2/Sb3V1tRQQECBVVVVJb731lvT444/Lnz388MNSenq6VFlZKWm12hbPW35+vjRq1ChJkiTp+eefl15//fUW27bwe2lWSwqLpkAgEAgEHaH8IqgaWvRQOddt7wGysrJITk4mOjqabdu2kZ2d3eDz9957j4yMDJ555hl52/r161m1ahWurq4sWLCgxb5ra2tJTU1l9uzZaDQaJk2axN69ezs1z+DgYBITEwF44IEHSEtLIzc3l4CAAOLj4wHQaDQ4OTmhVCrZunUrCxcuZMqUKfJ+LWF3nRcVFREdHc1rr73Wavt58+ahUqkwGAx8//33zJs3D51Ox9KlSyksLGzzWEJDQ9HpdADExcWRl5fXal8HDx6Uz/PChQtb7FepVDJ//vwG56iiooLy8nKmTJnS7P7Tp09n0KBBuLu7c99995GWltak3y+++EK2cM+ZM4edO3ditVoB2LRpExMmTECSJBSKZnOqA/D+++9z//33A/CLX/yi29znogSlQCAQCAQdQTsCrOaG26zmuu09wKJFi9i1axexsbFs3bqVb775Rv5s//79vPLKK3z77be4urrK269cuYJSqeTq1avYbDaUyubtSrt376aiooLo6GgAqqur8fDw4M477+zwPBuLGIVC0aq4OXPm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glWrVkGhUOD777/H9OnT8fe//x0zZszAxo0bcerUKdhsth5/3r6GTAAQiUQYMGAARo8ejalTp2L48OEwGAz46aefUFRUhNraWlgsll597r66evUq1q5di127djk0ZGZmZiIuLg5eXl4oLCy86c/efPNNjBo1CrGxsTh06JDD1kCIK6MdTUKIw508eRKzZs1CQkICvwv3xhtvYOrUqVixYgWqqqowdOhQZGZmYuDAgQKv1j0YjUZ89dVXUCgU+OWXXzBz5kzI5XLMmDHjrruJ9giZd2MwGPhRmD4+PvxUIj8/P4c8XkdVVVVYuXIl/vnPf2LKlCkOfayysjJ4eXnhiSeewF/+8hdMnjwZAHD+/HmsWrUKP/74I2pra5Gamory8nKXvF5AiJ3Q0TkhhHgis9mMo0ePQqFQ4PTp05g2bRrkcjlmzZoFX1/fmz62qKgI58+fR3p6utOasbe1tfGh08vLCxKJBGKxuNfz1++kpqYGy5cvx44dOzBz5ky7f/7bSUlJuSlovvnmmwCAl19+GQCwYMECbN68GdOnT3famghxsi6DpvCXaAghhPSJn58fFi5ciIULF8JiseD48ePIzMzExo0bMWnSJMjlcqSkpKCsrAxr167Fzp07nTrxp3///oiJiUFMTAyMRiM0Gg1KS0vBsiy/09mvX78+P05dXR1WrFiB9957z6khsys1NTWYNm0a/+vo6GjU1NQIuCJChEFBkxBCPIivry/mzp2LuXPnwmaz4eTJk1AoFPjjH/+ItrY2PP/884iLixNsfQEBARg6dCiGDh0Kk8kErVaLsrIyWK1Wfv56YGBgjz+vRqPBww8/jD//+c+YM2eOXdecmpqKurq6W35/69att71X3NVpoSc0vSekpyhoEkKIh/L29sacOXMglUpx4sQJvPrqq/jll1/w4IMPYsyYMZDL5Zg/f36vgp09+Pv7Izo6GtHR0bBYLNBqtSgvL4fZbObnrwcGBt41oNXX12P58uXYunUrUlNT7b7OI0eO9PjvREdH4/r16/yvq6urERUVZc9lEeIW6I4mIYR4sIsXL2LlypX47LPP+J1MhmHw888/IzMzE1999RViYmKQnp6OhQsXIiQkROAV35i/rtVqodFo0N7ejoiICEgkEgQHB98SOnU6HZYuXYpNmzYhPT1doBXfekfz3LlzWL16NV8MNHfuXFRUVFAx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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Visualize 4 key atoms across amino acid residues in the pair of proteins\n",
"fig = plt.figure(figsize=(12, 12))\n",
"ax = fig.add_subplot(projection='3d')\n",
"\n",
"for chain_id in recs:\n",
" ax = plot_backbone(recs[chain_id], ax)\n",
" \n",
"ax.legend()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "3c7ab436",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "conda_pytorch_p38",
"language": "python",
"name": "conda_pytorch_p38"
},
"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.8.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}