{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import os\n", "from CoDIAC import contactMap as cm\n", "from CoDIAC import PDBHelper \n", "from CoDIAC import pTyrLigand_helpers as pTyr_helpers\n", "import CoDIAC" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#N and C terminal offsets for regions of interest (ROI)\n", "N_offset_ROI_1 = 0\n", "C_offset_ROI_1 = -1\n", "N_offset_ROI_2 = 0 \n", "C_offset_ROI_2 = -1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Analysis using PDB structures \n", "## A. Domain-domain contact interface extraction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### STEP 1: Fetching data from PDB reference file for a PDB examined" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "PATH = './Data/Adjacency_files/' #this is where you can find the adjacency files\n", "ann_file = './Data/PDB_Reference/SH2_IPR000980_PDB_reference.csv' #this is the annotation file\n", "PDB_ID = '4JGH' #SOCS family protein\n", "\n", "ann = pd.read_csv(ann_file)\n", "entities = CoDIAC.PDBHelper.PDBEntitiesClass(ann, PDB_ID)\n", "entity =1 #there's only one entity in this example\n", "pdbClass = entities.pdb_dict[entity] #this holds information about the protein crystalized, such as domains\n", "chain_A = CoDIAC.contactMap.chainMap(PDB_ID, entity)\n", "chain_A.construct(PATH)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "struct sequence: HMDPEFQAARLAKALRELGQTGWYWGSMTVNEAKEKLKEAPEGTFLIRDSSHSDYLLTISVKTSAGPTNLRIEYQDGKFRLDSIICVKSKLKQFDSVVHLIDYYVQMCKD----------GTVHLYLTKPLYTSAPSLQHLCRLTINKCTGAIWGLPLPTRLKDYLEEYKFQV\n", "minimum residue number: 26\n", "length of residues in seq: 173\n", "residue array size: (173, 173)\n", "unmodelled residues list: [136, 145]\n" ] } ], "source": [ "print('struct sequence:', chain_A.structSeq)\n", "print('minimum residue number:', chain_A.return_min_residue())\n", "print('length of residues in seq:', len(chain_A.resNums))\n", "print('residue array size:', chain_A.arr.shape)\n", "print('unmodelled residues list:',chain_A.unmodeled_list)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "QAARLAKALRELGQTGWYWGSMTVNEAKEKLKEAPEGTFLIRDSSHSDYLLTISVKTSAGPTNLRIEYQDGKFRLDSIICVKSKLKQFDSVVHLIDYYVQMCKDKRTGPEAPRNGTVHLYLTKPLYTSAPSLQHLCRLTINKCTGAIWGLPLPTRLKDYLEEYKFQV\n", "32\n", "167\n" ] } ], "source": [ "print(pdbClass.ref_seq_mutated)\n", "print(pdbClass.ref_seq_positions[0])\n", "print(len(pdbClass.ref_seq_mutated))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### STEP 2: Create an entity specific class to align structure to reference sequence positions" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Deleting 6 amino acids\n", "Adding 1 c-terminal gaps\n" ] } ], "source": [ "chain_A_aligned = CoDIAC.contactMap.translate_chainMap_to_RefSeq(chain_A, pdbClass) #class created to align structure to reference sequence positions" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{0: {'SH2': [46, 156, 0, 0]}, 1: {'SOCS_box': [151, 197, 0, 0]}}" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#These are the domains that are available in the structure for analysis\n", "pdbClass.domains" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### STEP 3: Identify domain boundaries " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "ROI_1 = [46, 156] #SH2 domain \n", "ROI_2 = [151, 197] #socsbox domain\n", "fastaHeader = 'SH2|SOCS_box'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### STEP 4: Generate fasta/feature files for jalview visualization" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "chain_A_aligned.print_fasta_feature_files(ROI_1[0],N_offset_ROI_1, ROI_1[1], C_offset_ROI_1,ROI_2[0], N_offset_ROI_2,ROI_2[1],C_offset_ROI_2, 'O14508|SOCS2|1|46|156', 'SOCS_box', \n", " './Data/Feature_Fasta_files/SH2_interdomain_4JGH', append=False, use_ref_seq_aligned=True)\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAB8YAAAMxCAYAAACZ39niAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC9WklEQVR4nOzde5yWdZ0//tfAOMNxBjmMQoCg/sJzsJq4HkrKA2i6VLalrQt5yO2wZFj2pdrSasPylLmJupanLK08VHYiUtpK09TYUjcJAzzjIjLDccaB+/fHvQ4MJzkN93D5fD4e14O5rutzXfO+P/O5r/vmet3XdVeVSqVSAAAAAAAAAKCgulS6AAAAAAAAAADoSIJxAAAAAAAAAApNMA4AAAAAAABAoQnGAQAAAAAAACg0wTgAAAAAAAAAhSYYBwAAAAAAAKDQBOMAAAAAAAAAFJpgHAAAAAAAAIBCE4wDAAAAAAAAUGiCcQAAAOhkJk6cmGHDhlW6DAAAACgMwTgAAAAd4qqrrkpVVVVGjx5d6VI26Mtf/nLuuuuurd7+8ccfzwUXXJB58+Ztt5q21p133plx48alf//+qampyaBBg/KP//iPueeeezr0937nO9/J1772tQ79HcmW/a3mzZuXqqqqVFVV5Utf+tIG27z//e9PVVVVevXqtR2rBAAAoDMTjAMAANAhbrnllgwbNiwPPvhg5syZU+ly1rM9gvELL7ywosF4qVTKBz7wgbzrXe/KggULMnny5Fx99dX5yEc+kr/97W95+9vfnvvuu6/Dfn9nDMZf1a1bt3z3u99db/myZcvywx/+MN26ddtO1QEAALAzEIwDAACw3c2dOzf33XdfLrvssgwYMCC33HJLpUsqpEsvvTQ33HBDzj333Dz88MP59Kc/nTPOOCOf+cxn8tBDD+Wmm25KdXV1pcusiBNOOCGPP/54/vu//7vd8h/+8IdpaWnJscceW6HKAAAAqATBOAAAANvdLbfckl133TUnnnhiTjnllA0G46/e8vqSSy7Jtddem7322iu1tbV585vfnD/84Q/t2k6cODG9evXKs88+m/Hjx6dXr14ZMGBAPvGJT2TVqlXt2i5btiznnXdehgwZktra2owYMSKXXHJJSqVSW5uqqqosW7YsN954Y9tttydOnJgkmT9/fj784Q9nxIgR6d69e/r165f3vOc97a4Mv+GGG/Ke97wnSTJmzJi2fcycObOtzc9+9rMcddRR6dmzZ3r37p0TTzwxjz322Hr9cNddd+WAAw5It27dcsABB+TOO+/crD5esWJFpk6dmn322SeXXHJJqqqq1mtz+umn59BDD22b/9vf/pb3vOc96du3b3r06JHDDjssP/nJT9ptM3PmzFRVVeV73/te/v3f/z2DBw9Ot27d8va3v73dlf9HH310fvKTn2T+/Pltj//V70VvaWnJ5z73uRx88MGpr69Pz549c9RRR+Xee+9dr8bVq1fniiuuyIEHHphu3bplwIABGTt2bB566KEkm/5bbcrf//3fZ/jw4fnOd77Tbvktt9ySsWPHpm/fvutt88Mf/jAnnnhiBg0alNra2uy111754he/uN4YO/roo3PAAQfk4YcfzuGHH57u3btn+PDhufrqq1+zLgAAACrj9fmxcQAAADrULbfckne9612pqanJqaeemmnTpuUPf/hD3vzmN6/X9jvf+U6WLFmSc845J1VVVfnqV7+ad73rXfnb3/6WXXbZpa3dqlWrcvzxx2f06NG55JJLMmPGjFx66aXZa6+98qEPfShJ+dbiJ598cu69996ceeaZGTlyZH7xi1/kk5/8ZJ599tlcfvnlSZKbb745Z511Vg499NB88IMfTJLstddeSZI//OEPue+++/K+970vgwcPzrx58zJt2rQcffTRefzxx9OjR4+85S1vyaRJk/L1r389n/70p7PvvvsmSdu/N998cyZMmJDjjz8+X/nKV7J8+fJMmzYtRx55ZP74xz+2BcjTp0/Pu9/97uy3336ZOnVqXnrppXzgAx/I4MGDX7OPf/vb32bRokU599xz07Vr19dsv2DBghx++OFZvnx5Jk2alH79+uXGG2/MySefnB/84Ad55zvf2a79RRddlC5duuQTn/hEGhsb89WvfjXvf//788ADDyRJPvOZz6SxsTHPPPNMW7+++p3dTU1Nue6663Lqqafm7LPPzpIlS/LNb34zxx9/fB588MGMHDmy7feceeaZueGGGzJu3LicddZZaW1tzW9+85v8/ve/zyGHHLLJv9VrOfXUU/Ptb387F110UaqqqrJw4cJMnz49N998c37+85+v1/6GG25Ir169Mnny5PTq1Sv33HNPPve5z6WpqSkXX3xxu7Yvv/xyTjjhhPzjP/5jTj311Hzve9/Lhz70odTU1OSMM87YrPoAAADYgUoAAACwHT300EOlJKVf/vKXpVKpVFq9enVp8ODBpY997GPt2s2dO7eUpNSvX7/SokWL2pb/8Ic/LCUp/fjHP25bNmHChFKS0he+8IV2+xg1alTp4IMPbpu/6667SklKX/rSl9q1O+WUU0pVVVWlOXPmtC3r2bNnacKECevVv3z58vWW3X///aUkpZtuuqlt2fe///1SktK9997bru2SJUtKffr0KZ199tntlr/wwgul+vr6dstHjhxZGjhwYGnx4sVty6ZPn15KUtpjjz3Wq2NtV1xxRSlJ6c4779xku1ede+65pSSl3/zmN+1qHT58eGnYsGGlVatWlUqlUunee+8tJSntu+++pebm5vV+35///Oe2ZSeeeOIG62xtbW23balUKr388sul3XbbrXTGGWe0LbvnnntKSUqTJk1abx+rV69u+3ljf6sNeXVcXXzxxaVHH3203WP+xje+UerVq1dp2bJlpQkTJpR69uzZbtsN/e3POeecUo8ePUorV65sW/bWt761lKR06aWXti1rbm4ujRw5stTQ0FBqaWnZrFoBAADYcdxKHQAAgO3qlltuyW677ZYxY8YkKd8K+73vfW9uvfXW9W5JnSTvfe97s+uuu7bNH3XUUUnKt/1e17/8y7+0mz/qqKPatfvpT3+arl27ZtKkSe3anXfeeSmVSvnZz372mvV379697edXXnklL730Uvbee+/06dMnjzzyyGtu/8tf/jKLFy/OqaeemoULF7ZNXbt2zejRo9tuJ/78889n1qxZmTBhQurr69u2P/bYY7Pffvu95u9pampKkvTu3fs12yblvjn00ENz5JFHti3r1atXPvjBD2bevHl5/PHH27X/wAc+kJqamrb5Tf1d1tW1a9e2bVevXp1FixaltbU1hxxySLs+vP3221NVVZXPf/7z6+1jQ7eG31L7779/DjrooHz3u99NUr47wT/8wz+kR48eG2y/9t9+yZIlWbhwYY466qgsX748f/nLX9q1ra6uzjnnnNM2X1NTk3POOScvvvhiHn744W2uHQAAgO1LMA4AAMB2s2rVqtx6660ZM2ZM5s6dmzlz5mTOnDkZPXp0FixYkF/96lfrbTN06NB286+G5C+//HK75a9+//S6bdduN3/+/AwaNGi9sPjVW5zPnz//NR/DihUr8rnPfa7tO8r79++fAQMGZPHixWlsbHzN7f/6178mSd72trdlwIAB7abp06fnxRdfbFfL//f//X/r7WPEiBGv+Xvq6uqSlAPczTF//vwN7ndjfbO5f5eNufHGG3PQQQelW7du6devXwYMGJCf/OQn7frwySefzKBBgzb4fd/by2mnnZbvf//7mTNnTu67776cdtppG2372GOP5Z3vfGfq6+tTV1eXAQMG5J/+6Z+SZL2//aBBg9KzZ892y974xjcmSbvvowcAAKBz8B3jAAAAbDf33HNPnn/++dx666259dZb11t/yy235Ljjjmu3bGPfj10qlTar3fb2r//6r7n++utz7rnn5u///u9TX1+fqqqqvO9978vq1atfc/tX29x8883Zfffd11tfXb19/iu+zz77JEn+/Oc/Z/z48dtln2vb3L/Lhnz729/OxIkTM378+Hzyk59MQ0NDunbtmqlTp+bJJ5/c3qVu0qmnnpopU6bk7LPPTr9+/dYbf69avHhx3vrWt6auri5f+MIXstdee6Vbt2555JFH8qlPfWqz/vYAAAB0XoJxAAAAtptbbrklDQ0N+cY3vrHeujvuuCN33nlnrr766na3rN6e9thjj8yYMSNLlixpd9X4q7fB3mOPPdqWbexW3T/4wQ8yYcKEXHrppW3LVq5cmcWLF7drt7Ht99prryRJQ0NDjjnmmE3Wmqy5wnxtTzzxxEa3e9WRRx6ZXXfdNd/97nfz6U9/+jU/OLDHHntscL8b6pvNtak+3HPPPXPHHXe0a7PuLdP32muv/OIXv8iiRYs2edX4ttxWfejQoTniiCMyc+bMfOhDH9roBxNmzpyZl156KXfccUfe8pa3tC2fO3fuBts/99xzWbZsWburxmfPnp0kGTZs2FbXCwAAQMdwK3UAAAC2ixUrVuSOO+7IO97xjpxyyinrTR/96EezZMmS/OhHP+qwGk444YSsWrUq//Ef/9Fu+eWXX56qqqqMGzeubVnPnj3XC7uT8pXS614VfeWVV673/eivBqLr7uP4449PXV1dvvzlL+eVV15Zb///+7//myQZOHBgRo4cmRtvvLHdbbp/+ctfrvd93xvSo0ePfOpTn8r//M//5FOf+tQGr+T+9re/nQcffDBJuW8efPDB3H///W3rly1blmuvvTbDhg3brO81X1fPnj03eHv5V0P6tWt64IEH2v3uJHn3u9+dUqmUCy+8cL19rL3txv5Wm+tLX/pSPv/5z+df//VfN9pmQzW3tLTkqquu2mD71tbWXHPNNe3aXnPNNRkwYEAOPvjgra4VAACAjuGKcQAAALaLH/3oR1myZElOPvnkDa4/7LDDMmDAgNxyyy1573vf2yE1nHTSSRkzZkw+85nPZN68eXnTm96U6dOn54c//GHOPffctqu5k+Tggw/OjBkzctlll2XQoEEZPnx4Ro8enXe84x25+eabU19fn/322y/3339/ZsyYkX79+rX7XSNHjkzXrl3zla98JY2Njamtrc3b3va2NDQ0ZNq0aTn99NPzd3/3d3nf+96XAQMG5KmnnspPfvKTHHHEEW3B/dSpU3PiiSfmyCOPzBlnnJFFixblyiuvzP7775+lS5e+5uP95Cc/mcceeyyXXnpp7r333pxyyinZfffd88ILL+Suu+7Kgw8+mPvuuy9J8v/+3//Ld7/73YwbNy6TJk1K3759c+ONN2bu3Lm5/fbb06XLln92/uCDD85tt92WyZMn581vfnN69eqVk046Ke94xztyxx135J3vfGdOPPHEzJ07N1dffXX222+/do9rzJgxOf300/P1r389f/3rXzN27NisXr06v/nNbzJmzJh89KMf3eTfanO99a1vzVvf+tZNtjn88MOz6667ZsKECZk0aVKqqqpy8803b/TW8YMGDcpXvvKVzJs3L2984xtz2223ZdasWbn22muzyy67bHZtAAAA7BiuGAcAAGC7uOWWW9KtW7cce+yxG1zfpUuXnHjiifn5z3+el156qUNq6NKlS370ox/l3HPPzd13351zzz03jz/+eC6++OJcdtll7dpedtllOfjgg/PZz342p556aqZNm5YkueKKK/LP//zPueWWW3Leeefl+eefz4wZM9KrV6922+++++65+uqr8+KLL+bMM8/Mqaee2nal92mnnZZf/epXecMb3pCLL744H/vYx3Lrrbdm5MiR+cAHPtC2j7Fjx+b73/9+Vq1alSlTpuSOO+7I9ddfn0MOOWSzH+9NN92UH/zgB+nfv38uueSSfPCDH8yVV16Z4cOHZ+bMmfn7v//7JMluu+2W++67L8cee2yuvPLKTJkyJTU1Nfnxj3+cd77znVvV3x/+8Idz2mmn5frrr89pp53WdkX2xIkT8+Uvfzn//d//nUmTJuUXv/hFvv3t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IiIiTWNinIiIiIiIiIiIiIiIiIiINI2JcSIiIiIiIiIiIiIiIiIi0jQmxomIiIiIiIiIiIiIiIiISNOYGCciIiIiIiIiIiIiIiIiIk0rY+oAiIiIiIiIiP5U2h2RP26JZN4VySsQaVRZxP2ZR78nNVskNlnkdp6ITRkRHzcRT6dSCbfEsBzofqwTREREREREj4UrxomIiIiIiOjfr1An8oy1SJ0Kj3d+Tp7IqcsizvYiraqJeLuInL8mcvN2ycZZ0lgOdD/WCSIiIiIiosfytxPjQ4cOFUVRHvgTHx8vBw4ckB49eoinp6coiiLbtm174P3JyckydOhQ8fT0FDs7O+nSpYvExcU9cN6RI0fk2WefFXt7e3FwcJD27dtLTk7O3w2biIiIiIiInkZu5URquIu4Ozze+UnpIrZWIrUriJSz1if/3B1EElNLNMwSx3Kg+7FOEBERERERPZZ/tGK8S5cucu3aNaM/1apVk+zsbGnUqJGsXbu22PcBkF69eklCQoJs375dTp06JVWqVJHAwEDJzs5Wzzty5Ih06dJFOnfuLMePH5cTJ07IuHHjxMKCC92JiIiIiIjoEdLviLjaGR9ztRfJMLOJ1iwHuh/rBBERERERmal/9Ixxa2tr8fDweOB4SEiIhISEPPR9cXFxcvToUTl79qzUq1dPRETef/998fDwkC+++EJGjhwpIiKTJ0+WCRMmyKxZs9T31q5d+5Ex5ebmSm5urvpzZmbmX/pMREREREREpAF5hSJW993yWpURKdDpt562NJMJ1ywHuh/rBBERERERmSmT3O0YEtc2Njb3ArGwEGtrazl48KCIiKSkpMixY8fE3d1d/P39pUKFCtKhQwf19YdZsmSJODo6qn+8vLxK7oMQEREREREREREREREREdG/3j9KjO/atUvKlSun/unXr99jvc/X11e8vb0lLCxM0tLSJC8vT5YtWyZJSUly7do1ERFJSEgQEZEFCxbIyy+/LHv27JGmTZtKp06din0WuUFYWJhkZGSofy5fvvxPPiIRERERERE9jawsRfIKjI/lFYiUsTCvFbEsB7of6wQREREREZmpf7SVekBAgLz//vvqz/b29o/1vrJly8o333wjI0aMEBcXF7G0tJTAwEAJCQkRACIiotPpRERk9OjRMmzYMBERadKkifz000/yySefyJIlS4r93dbW1mJtbf1PPhYRERERERE97ZzsRG7eNj6Wmi3iaGuaeEyF5UD3Y50gIiIiIiIz9Y8S4/b29lKjRo2/9d5mzZpJRESEZGRkSF5enpQvX15atmwpfn5+IiJSsWJFERGpW7eu0fvq1KkjiYmJ/yRsIiIiIiIietoU6ERy8u79nJMnknVXpIyliG1ZkbgUkdwCkfqe+tcrO4kkporEJotUctIn/pIzRRo/5Y/bYjnQ/VgniIiIiIiIHss/Sow/CY6OjiIiEhcXJ7/99pssXLhQRESqVq0qnp6eEhMTY3R+bGyshISElHqcREREREREZEKZOSK/F5kkHZui/29FR33CL7dA5G7+vddtrUSaeOmTf4lpIjZlROpWFHErV7pxP2ksB7of6wQREREREdFjKZHE+O3btyU+Pl79+eLFixIRESEuLi7i7e0tIiJbtmyR8uXLi7e3t0RGRsrEiROlV69e0rlzZxERURRFpk+fLvPnz5dGjRpJ48aN5T//+Y9ER0fL1q1bSyJsIiIiIiIi+rdysRcJqvPw1w2rYe9/TyufkovJFFgOdD/WCSIiIiIiosdSIonx3377TQICAtSfp0yZIiIiQ4YMkU8//VRERK5duyZTpkyR5ORkqVixorz00ksyd+5co98zadIkuXv3rkyePFlSU1OlUaNG8sMPP0j16tVLImwiIiIiIiIiIiIiIiIiItIgBQBMHURJyszMFEdHR8nIiBYHh2dMHQ4REREREZEmKZ0DTR0C/Ytg74+mDuFfg98NPdYJIiIiIiIqCZmZWeLo6CsZGRni4ODwyHMtSikmIiIiIiIiIiIiIiIiIiIik2BinIiIiIiIiIiIiIiIiIiINI2JcSIiIiIiIiIiIiIiIiIi0jQmxomIiIiIiIiIiIiIiIiISNOYGCciIiIiIiIiIiIiIiIiIk1jYpyIiIiIiIiIiIiIiIiIiDSNiXEiIiIiIiIiIiIiIiIiItI0JsaJiIiIiIiIiIiIiIiIiEjTmBgnIiIiIiIiIiIiIiIiIiJNY2KciIiIiIiIiIiIiIiIiIg0jYlxIiIiIiIiIiIiIiIiIiLSNCbGiYiIiIiIiIiIiIiIiIhI05gYJyIiIiIiIiIiIiIiIiIiTWNinIiIiIiIiIiIiIiIiIiINI2JcSIiIiIiIiIiIiIiIiIi0jQmxomIiIiIiIiIiIiIiIiISNOYGCciIiIiIiIiIiIiIiIiIk1jYpyIiIiIiIiIiIiIiIiIiDSNiXEiIiIiIiIiIiIiIiIiItI0JsaJiIiIiIiIiIiIiIiIiEjTmBgnIiIiIiIiIiIiIiIiIiJNY2KciIiIiIiIiIiIiIiIiIg0jYlxIiIiIiIiIiIiIiIiIiLSNCbGiYiIiIiIiIiIiIiIiIhI05gYJyIiIiIiIiIiIiIiIiIiTWNinIiIiIiIiIiIiIiIiIiINK2MqQMgIiIiIiKipx/2/mjqEIj+lfjdICqe0jnQ1CH8K7CNICIiIio9XDFORERERERERERERERERESaxsQ4ERERERERERERERERERFpGhPjRERERERERERERERERESkaUyMExERERERERERERERERGRpjExTkREREREREREREREREREmsbEOBERERERERERERERERERaRoT40REREREREREREREREREpGlMjBMRERERERERERERERERkaYxMU5ERERERERERERERERERJrGxDgREREREREREREREREREWkaE+NERERERERERERERERERKRpTIwTEREREREREREREREREZGmMTFORERERERERERERERERESaxsQ4ERERERERERERERERERFpGhPjRERERERERERERERERESkaUyMExERERERERERERERERGRpjExTkREREREREREREREREREmsbEOBERERERERERERERERERaRoT40REREREREREREREREREpGlMjBMRERERERERERERERERkaYxMU5ERERERERERERERERERJrGxDgREREREREREREREREREWkaE+NERERERERERERERERERKRpTIwTEREREREREREREREREZGmMTFORERERERERERERERERESaxsQ4ERERERERERERERERERFpGhPjRERERERERERERERERESkaWVMHQARERERERERERHRE5V2R+SPWyKZd0XyCkQaVRZxf+bR70nNFolNFrmdJ2JTRsTHTcTTqVTCJSIiIqKSxxXjREREREREREREpC2FOpFnrEXqVHi883PyRE5dFnG2F2lVTcTbReT8NZGbt0s2TiIiIiIqNX8rMX758mUZPny4eHp6ipWVlVSpUkUmTpwot27dUs/55ptvpHPnzuLq6iqKokhERMQDv+fChQvSu3dvKV++vDg4OEj//v0lOTlZff3nn38WRVGK/XPixIm/EzoRERERERERERFpnVs5kRruIu4Oj3d+UrqIrZVI7Qoi5az1iXF3B5HE1BINk4iIiIhKz19OjCckJIifn5/ExcXJF198IfHx8fLBBx/ITz/9JK1bt5bUVP3FYnZ2trRt21aWLVtW7O/Jzs6Wzp07i6Iosm/fPjl06JDk5eVJjx49RKfTiYiIv7+/XLt2zejPyJEjpVq1auLn5/cPPjYRERERERERERHR/0u/I+JqZ3zM1V4kI8c08RARERHRE/eXnzH+6quvipWVlezdu1dsbW1FRMTb21uaNGki1atXlzlz5sj7778voaGhIiLyxx9/FPt7Dh06JH/88YecOnVKHBz0Mzf/85//iLOzs+zbt08CAwPFyspKPDw81Pfk5+fL9u3bZfz48aIoSrG/Nzc3V3Jzc9WfMzMz/+pHJCIiIiIiIiIiInOSVyhidd9QqVUZkQKdflt2Sz6RkoiIiOhp95eu6FJTU+X777+XsWPHqklxAw8PDxk0aJBs3rxZAPzp78rNzRVFUcTa2lo9ZmNjIxYWFnLw4MFi37Njxw65deuWDBs27KG/d8mSJeLo6Kj+8fLyesxPR0REREREREREREREREREWvSXEuNxcXECQOrUqVPs63Xq1JG0tDS5cePGn/6uVq1aib29vcycOVPu3Lkj2dnZMm3aNCksLJRr164V+56PP/5YgoODpXLlyg/9vWFhYZKRkaH+uXz58uN9OCIiIiIiIiIiIjJPVpYieQXGx/IKRMpYcLU4ERERkUb8rau6P1sRbmVl9ae/o3z58rJlyxbZuXOnlCtXThwdHSU9PV2aNm0qFhYPhpWUlCTff/+9jBgx4pG/19raWhwcHIz+EBERERERERERET2Uk51I6h3jY6nZIo62xZ9PRERERE+dv5QYr1GjhiiKIlFRUcW+HhUVJeXLlxcnJ6fH+n2dO3eWCxcuSEpKity8eVM2btwoV65cER8fnwfO3bBhg7i6ukrPnj3/SshERERERERERERkbgp0Ill39X9ERHLy9H/Pydf/HJcicvbqvfMrO4ncyROJTRbJzhW5nCqSnCni7VLqoRMRERFRyfhLiXFXV1cJCgqS9957T3Jycoxeu379umzatEmGDh36l4Nwc3MTJycn2bdvn6SkpDyQ/AYgGzZskJdeeknKli37l38/ERERERERERERmZHMHJGjF/V/RERiU/R/v/D/j4DMLRC5m3/vfFsrkSZe+lXiRy6KXEoVqVtRxK1c6cdORERERCWizF99w7vvviv+/v4SHBwsb7zxhlSrVk3OnTsn06dPl1q1asm8efNERCQ1NVUSExPl6lX9zMuYmBgREfHw8BAPDw8R0a8Cr1OnjpQvX16OHDkiEydOlMmTJ0vt2rWN/p/79u2TixcvysiRI//RhyUiIiIiIiIiIiIz4GIvElTn4a/X9yz+Pa0e3MmSiIiIiLThLz9jvGbNmnLixAnx8fGR/v37S5UqVSQkJERq1aolhw4dknLl9LMod+zYIU2aNJFu3bqJiMiLL74oTZo0kQ8++ED9XTExMdKrVy+pU6eOvP766zJnzhxZuXLlA//Pjz/+WPz9/cXX1/fvfk4iIiIiIiIiIiIiIiIiIjJTCgD8018yf/58WbVqlfzwww/SqlWrJxHXE5OZmSmOjo6SkREtDg7PmDocIiIiIiIiIiIis6d0DjR1CP8K2PujqUMgIiIieqplZmaJo6OvZGRkiIODwyPP/ctbqRfntddek6pVq8rRo0elRYsWYmHxlxeiExERERERERERERERERERlYgnkhgXERk2bNiT+lVERERERERERERERERERERPDJd2ExERERERERERERERERGRpjExTkREREREREREREREREREmsbEOBERERERERERERERERERaRoT40REREREREREREREREREpGlMjBMRERERERERERERERERkaYxMU5ERERERERERERERERERJrGxDgREREREREREREREREREWkaE+NERERERERERERERERERKRpTIwTEREREREREREREREREZGmMTFORERERERERERERERERESaxsQ4ERERERERERERERERERFpGhPjRERERERERERERERERESkaUyMExERERERERERERERERGRpjExTkREREREREREREREREREmsbEOBERERERERERERERERERaRoT40REREREREREREREREREpGlMjBMRERERERERERERERERkaYxMU5ERERERERERERERERERJrGxDgREREREREREREREREREWkaE+NERERERERERERERERERKRpTIwTEREREREREREREREREZGmMTFORERERERERERERERERESaVsbUAZQ0ACIikpl5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t97CqlWrSi220paamqr+/eOPP4azszO2bt2KhIQEREdHo169ehg2bBgAbdcJALh48aK6ArqgoAD169dHy5Yt8Z///AdfffUVXFxcMGrUqGLfq7WyMdxfAMDnn38ORVGwadMmXLlyBf/73/9QuXJlTd53PczSpUvVLYKvXLkCX19fWFtbG20RC2ivHzW0lYbducqWLYtevXohOTlZPefcuXNwcnLCsmXLTBVmiSv6/T59+jReeeUVdSK64bWMjAzY2tri3XffNUmMpeXv1omik5e1oOh3PSMjA1OmTFGfJ2147c6dO6hUqZK6eljLfvzxR3Tr1g3Ozs4IDg7GjRs31Lqybt06lClTBocOHTJxlCXv4sWL6NGjB8qXL4+WLVuiV69eOHbsGNLS0rB+/Xq0adMGI0eOVCfqJiYmGi100QKt9xsWQo/t/Pnz0rp1a5k3b57MmjVLREQURRERkWrVqsmRI0dk4MCB8tNPP8n3338vO3fulIiICOnZs6cpw37izp07J927d5c9e/ZIfHy8eHl5qa9Vr15drly5IhMnTpSdO3fK+fPnZdOmTfL666/L+++/LzqdzoSRlwxPT08ZPXq0nD59Wr7//nsREalQoYJERUXJK6+8Irt27ZJTp07JyZMn5ZtvvpEFCxZIfn6+iaN+8jw9PeXVV1+VX3/9Vfbv3y9hYWEyb9488fX1FRERACIikpKSIl5eXlK1alUTRluyjh49Knfu3BFnZ2dxdHQUW1tb2bBhg2RmZqqf29raWrp06SIZGRkSFxenvrdMmTImirpk1a5dW3x9fSU0NFQOHDgghYWF6mvPP/+8ODk5ya5du0RExNXVVVxdXU0V6hMXEREhTZs2lZiYGBERqV+/vuzevVuWLl0qDg4OUqFCBRER8fDwkLCwMPnpp5/k999/FxERCwttdNP39xvly5cXJycn2bJli9jb20tCQoKcOXNGPb+wsFBatGgh3t7eJoz6ySt6HREWFqYeHz16tLRt21ZSU1MlKipKRO5dX9ja2kqlSpVMEm9JOn36tDz77LMSGBiofgegn7ApiqJI+fLl5fnnn5f//Oc/Eh0dXex3wVBGWmDoI62srB54rWXLlvLCCy/IwoULJTk5WS0LLX1+EZErV67IkCFD5ODBg9KyZUupX7++jBs3Trp27Srh4eGybds22bhxo+zatUsmTZoke/fu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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#another visualization of contacts between regions of interest\n", "chain_A_aligned.generateAnnotatedHeatMap(ROI_2[0], ROI_2[1], ROI_1[0], ROI_1[1], remove_no_contacts=True)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## B. Ligand interface contact extraction using PDB structures " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### STEP 1: Identity PTMS from PDB reference file for a specific PDB " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "main = pd.read_csv(ann_file)\n", "PDB_ID='3TL0'\n", "for name, group in main.groupby('PDB_ID'):\n", "\n", " for index, row in group.iterrows():\n", " if name == PDB_ID:\n", " modification_from_PDB = (row['modifications'])\n", " if isinstance(row['modifications'],str): #PTM dictionary\n", " transDict = CoDIAC.PDBHelper.return_PTM_dict(modification_from_PDB) #dictionary with ptm information from PDB reference file\n", " " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{4: 'PTR'}" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "transDict" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### STEP 2: Generate single dictionary of contact map for each entity in the structure" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n", "Adding 1 n_term positions\n", "Adding 2 c-terminal gaps\n", "6\n", "Adding 4 n_term positions\n", "Adding 3 c-terminal gaps\n" ] } ], "source": [ "lig_entity = 2\n", "SH2_entity = 1\n", "dict_of_lig = CoDIAC.contactMap.return_single_chain_dict(main, PDB_ID, PATH, lig_entity)\n", "dict_of_SH2 = CoDIAC.contactMap.return_single_chain_dict(main, PDB_ID, PATH, SH2_entity)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'entity': 2,\n", " 'PDB_ID': '3TL0',\n", " 'pdb_class': ,\n", " 'cm': ,\n", " 'cm_aligned': }" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dict_of_lig" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "cm_aligned = dict_of_lig['cm_aligned']" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'PDB_ID': '3TL0',\n", " 'entity': 2,\n", " 'aaRes_dict': {},\n", " 'arr': array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", " [0., 0., 1., 1., 0., 0., 0., 0., 0., 0.],\n", " [0., 1., 0., 1., 0., 0., 0., 0., 0., 0.],\n", " [0., 1., 1., 0., 1., 0., 0., 0., 0., 0.],\n", " [0., 0., 0., 1., 0., 1., 1., 0., 0., 0.],\n", " [0., 0., 0., 0., 1., 0., 1., 0., 0., 0.],\n", " [0., 0., 0., 0., 1., 1., 0., 1., 0., 0.],\n", " [0., 0., 0., 0., 0., 0., 1., 0., 0., 0.],\n", " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]),\n", " 'transDict': {4: 'PTR'},\n", " 'structSeq': 'RLNYAQLWHR',\n", " 'resNums': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n", " 'adjacencyDict': {2: {3: 1, 4: 1},\n", " 3: {4: 1},\n", " 4: {5: 1},\n", " 5: {6: 1, 7: 1},\n", " 6: {7: 1},\n", " 7: {8: 1}},\n", " 'unmodeled_list': [1, 1, 8, 10],\n", " 'match': True,\n", " 'offset': 198,\n", " 'ERROR_CODE': 0,\n", " 'refseq': 'RLNYAQLWHR'}" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cm_aligned.__dict__" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### STEP 3: Select the ligand length by specifying no of residues N and C terminal of PTM of interest ('y'-pTyr)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "PTM='PTR'\n", "for res in cm_aligned.transDict:\n", " if res in cm_aligned.resNums:\n", " if PTM in cm_aligned.transDict[res]: \n", " res_start, res_end, aligned_str, tick_labels = CoDIAC.pTyr_helpers.return_pos_of_interest(\n", " cm_aligned.resNums, cm_aligned.structSeq, res, n_term_num=5, c_term_num=5, PTR_value = 'y')\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1,\n", " 9,\n", " '--RLNyAQLWH',\n", " ['R-3', 'L-2', 'N-1', 'y0', 'A1', 'Q2', 'L3', 'W4', 'H5', 'R10'])" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res_start, res_end, aligned_str, tick_labels" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### STEP 4: Generate contacts between two single entity dictionaries with contactmaps (domains and ligands on different entities)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "adjList, arr = CoDIAC.contactMap.return_interChain_adj(PATH, dict_of_lig, dict_of_SH2) #outer dict keys for ligand residues - ligand to domain contacts\n", "adjList_alt, arr_alt = CoDIAC.contactMap.return_interChain_adj(PATH, dict_of_SH2, dict_of_lig) #outer dict keys for SH2 domain - domain to ligand contacts\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{2: {14: 1, 17: 1},\n", " 4: {32: 1, 34: 1, 35: 1, 36: 1, 42: 1, 53: 1, 55: 1},\n", " 3: {52: 1, 53: 1},\n", " 5: {52: 1, 53: 1, 54: 1, 90: 1, 96: 1},\n", " 7: {54: 1, 65: 1, 88: 1, 89: 1, 90: 1, 96: 1},\n", " 8: {89: 1},\n", " 6: {90: 1, 91: 1}}" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "adjList" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "#fetching start and end residue positions of domains and ligands\n", "domains = dict_of_SH2['pdb_class'].domains\n", "SH2_start = int(domains[0]['SH2'][0])\n", "SH2_stop = int(domains[0]['SH2'][1])\n", "arr_sub, list_aa_from_sub, list_to_aa_sub = CoDIAC.contactMap.return_arr_subset_by_ROI(arr, \n", " res_start, res_end, dict_of_lig['cm_aligned'].return_min_residue(), \n", " SH2_start, SH2_stop, dict_of_SH2['cm_aligned'].return_min_residue())" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(4, 102)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "SH2_start, SH2_stop" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### STEP 5: Generate fasta/feature files for jalview visualization" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "#SH2 domain-centric contacts\n", "fasta_header = 'Q06124|PTPN11|1|4|102|lig_4'\n", "PTM_file = './Data/Feature_Fasta_files/SH2_ligand_3TL0_test'\n", "CoDIAC.contactMap.print_fasta_feature_files(arr_alt, dict_of_SH2['cm_aligned'].refseq, \n", " SH2_start,N_offset_ROI_1, SH2_stop, C_offset_ROI_1,\n", " dict_of_SH2['cm_aligned'].return_min_residue(), \n", " res_start,C_offset_ROI_1, res_end, C_offset_ROI_2,\n", " dict_of_lig['cm_aligned'].return_min_residue(),\n", " fasta_header,'pTyr', PTM_file, threshold=1, append=True)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "#pTyr ligand-centric contacts\n", "SH2_file = './Data/Feature_Fasta_files/pTyr_3TL0_test'\n", "CoDIAC.contactMap.print_fasta_feature_files(arr, dict_of_lig['cm_aligned'].structSeq, \n", " res_start, N_offset_ROI_1,res_end, C_offset_ROI_1,\n", " dict_of_lig['cm_aligned'].return_min_residue(), \n", " SH2_start,N_offset_ROI_2, SH2_stop, C_offset_ROI_2,\n", " dict_of_SH2['cm_aligned'].return_min_residue(),\n", " fasta_header,'SH2', SH2_file, threshold=1, append=True )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Analysis using AlphaFold structures" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### STEP 1: Generate mmCIF files" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from CoDIAC import AlphaFold\n", "refUniprot_file = './Data/Uniprot_Reference/SH2_IPR000980_uniprot_reference.csv'\n", "outputDir = './Data/AlphaFold_Reference/cifFiles/'\n", "CoDIAC.AlphaFold.get_cifFile(refUniprot_file, outputDir)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### STEP 2: Generate AlphaFold reference csv file" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "cifFile_path = './Data/AlphaFold_Reference/cifFiles/'\n", "outputFile = './Data/AlphaFold_Reference/SH2_AlphaFold_reference.csv'\n", "CoDIAC.AlphaFold.makeRefFile(refUniprot_file, cifFile_path, outputFile) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### STEP 3: Generate json files using Arppegio \n", "\n", "Arpeggio was ran for input mmCIF files of PDBs of interest on High-performance computing system that can allocate more memory for running these jobs.\n", "\n", "\n", "\n", " #!/bin/bash\n", " #SBATCH --nodes=1\n", " #SBATCH --mem=750MB\n", " #SBATCH --time=50:00:00\n", " #SBATCH --partition=standard\n", " #SBATCH -A g_bme-naeglelab\n", " #SBATCH -o SH2_PDB.output\n", " #SBATCH -e SH2_PDB.error\n", "\n", " module load anaconda\n", " conda create -n arp-env python=3.7\n", " source activate arp-env\n", " conda install -c openbabel openbabel\n", " pip install biopython\n", " pip install git+https://github.com/PDBeurope/arpeggio.git@master#egg=arpeggio\n", " \n", " for fname in *.cif\n", " do\n", " arpeggio $fname -sa\n", " done\n", " \n", "The refactored version of [Arpeggio](https://github.com/harryjubb/arpeggio) that is being made available by [PDBe](https://github.com/PDBeurope/arpeggio) has been used to generate .json files in this work. The pdbe-arpeggio (git release version 1.4.*) was used at the time of contactmap generation. \n", "\n", "*pip package installation ```pip install pdbe-arpeggio``` can be used for this purpose as well. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### STEP 4: Generate binary Adjacency text files\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from CoDIAC import AdjacencyFiles \n", "cif_path = './Data/CIF_files'\n", "json_path = './Data/JSON_files'\n", "adj_path='./Data/Adjacency_files'\n", "cif_file = cif_path+'/'+PDB_ID+'.cif'\n", "json_file = json_path+'/'+PDB_ID+'.json'\n", "newpath = adj_path+'/'+PDB_ID \n", "os.mkdir(newpath) #create a directory for PDB to store its corresponding adjacency files\n", "outfile = newpath\n", "CoDIAC.AdjacencyFiles.ProcessArpeggio(json_file, outfile, cif_file, small_molecule=False) #generates adjacency file \n", "CoDIAC.AdjacencyFiles.BinaryFeatures(PDB_ID, outfile, translate_resid=True) #generates binarized version\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### STEP 5: Generate domain-domain contact maps" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from CoDIAC import contactMap \n", "from CoDIAC import PDBHelper \n", "\n", "PATH = './Data/Adjacency_files/' #path to adjacency files\n", "ann_file = './Data/AlphaFold_Reference/SH2_AlphaFold_reference.csv' #this is the reference structure annotation file\n", "PDB_ID = 'AF-O14508-F1' #SOCS family protein\n", "ann = pd.read_csv(ann_file)\n", "entities = CoDIAC.PDBHelper.PDBEntitiesClass(ann, PDB_ID)\n", "entity = 1 #there's only one entity in this example\n", "pdbClass = entities.pdb_dict[entity] #this holds information about the protein crystalized, such as domains\n", "chain_A = CoDIAC.contactMap.chainMap(PDB_ID, entity)\n", "chain_A.construct(PATH)\n", "chain_A_aligned = CoDIAC.contactMap.translate_chainMap_to_RefSeq(chain_A, pdbClass)\n", "ROI_1 = [46, 156] #SH2 domain \n", "ROI_2 = [151, 197] #socsbox domain\n", "fastaHeader = 'SH2|SOCS_box' " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Print fasta and feature files that contain contacts extracted across specified domain-domain interface" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "chain_A_aligned.print_fasta_feature_files(ROI_1[0],N_offset_ROI_1, ROI_1[1], C_offset_ROI_1,ROI_2[0], N_offset_ROI_2,ROI_2[1],C_offset_ROI_2,\n", " 'O14508|SOCS2|1|46|156', 'SOCS_box', \n", " './Data/Feature_Fasta_files/SH2_interdomain_Afold', \n", " append=False, use_ref_seq_aligned=True)\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.18" }, "vscode": { "interpreter": { "hash": "2a5df1d682f59c19b425f9416e0b416f0255e8e8bddb5f1ee316b16ab3529d09" } } }, "nbformat": 4, "nbformat_minor": 4 }