{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "    ID protein                                 alt_names_homologs group  len  \\\n",
      "0  1.0    PRP8  Q6P2Q9,PRPF8,https://www.uniprot.org/uniprot/Q...   NaN  NaN   \n",
      "1  2.0    BRR2                                                NaN   NaN  NaN   \n",
      "2  3.0   BUD31                                                NaN   NaN  NaN   \n",
      "3  4.0    CEF1                                                NaN   NaN  NaN   \n",
      "4  5.0    CLF1                                                NaN   NaN  NaN   \n",
      "\n",
      "            color chain h3_3jcr y3_5gan h3_6QW6  ... hBa_6ff7 hC_5yzg hX_5xjc  \\\n",
      "0         skyblue     A       A       A      5A  ...      NaN     NaN     NaN   \n",
      "1  lightsteelblue     B       C       B      5B  ...      NaN     NaN     NaN   \n",
      "2     dirtyviolet     C     NaN     NaN     NaN  ...      NaN     NaN     NaN   \n",
      "3       raspberry     D     NaN     NaN     NaN  ...      NaN     NaN     NaN   \n",
      "4       raspberry     E     NaN     NaN     NaN  ...      NaN     NaN     NaN   \n",
      "\n",
      "  6bk8 5wsg yCs_5mq0 yC_5lj5 yPre_6g90 yE_6n7r yE_6n7p  \n",
      "0  NaN  NaN      NaN       A       NaN     NaN     NaN  \n",
      "1  NaN  NaN      NaN       B       NaN     NaN     NaN  \n",
      "2  NaN  NaN      NaN       L       NaN     NaN     NaN  \n",
      "3  NaN  NaN      NaN       O       NaN     NaN     NaN  \n",
      "4  NaN  NaN      NaN       S       NaN     NaN     NaN  \n",
      "\n",
      "[5 rows x 32 columns]\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt  # to start\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "plt.style.use('classic')\n",
    "import numpy as np\n",
    "\n",
    "\"\"\"version when the same protein gets SMD2_2 and SMD2_1\"\"\"\n",
    "\n",
    "f = \"Spliceosome_PyMOL.xlsx\"\n",
    "df = pd.read_excel(f)\n",
    "print(df.head())\n",
    "\n",
    "path = \"/Users/magnus/work/src/rna-tools/rna_tools/tools/PyMOL4RNA/\"\n",
    "\n",
    "strucs = [['h3_6QW6', 'h3_6QW6', '_h3_6QW6'], \n",
    "          ['hBpre_6QX9', 'hBpre_6QX9', '_hBpre_6QX9'],\n",
    "          ['hB_6AHD', 'hB_6AHD', '_hB_6AHD']\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "try:\n",
      "    from pymol import cmd\n",
      "except ImportError:\n",
      "    print(\"PyMOL Python lib is missing\")\n",
      "    # sys.exit(0)\n",
      "\n",
      "def spl_extract():\n",
      " for name in cmd.get_names(\"all\"):\n",
      "    \n",
      "    print(\" \\ Extracting mode for %s\" % name)\n",
      "    if 'h3_6QW6'.lower() in name.lower():\n",
      "        cmd.extract(\"PRP8_h3_6QW6\", \"chain 5A and h3_6QW6\")\n",
      "        cmd.extract(\"BRR2_h3_6QW6\", \"chain 5B and h3_6QW6\")\n",
      "        cmd.extract(\"SNU114_h3_6QW6\", \"chain 5C and h3_6QW6\")\n",
      "        cmd.extract(\"U5_h3_6QW6\", \"chain 5 and h3_6QW6\")\n",
      "        cmd.extract(\"U6_h3_6QW6\", \"chain 6 and h3_6QW6\")\n",
      "        cmd.extract(\"U4_h3_6QW6\", \"chain 4 and h3_6QW6\")\n",
      "        cmd.extract(\"PRP4_h3_6QW6\", \"chain 4B and h3_6QW6\")\n",
      "        cmd.extract(\"PRP31_h3_6QW6\", \"chain 4C and h3_6QW6\")\n",
      "        cmd.extract(\"PRP6_h3_6QW6\", \"chain 5J and h3_6QW6\")\n",
      "        cmd.extract(\"PRP3_h3_6QW6\", \"chain 4A and h3_6QW6\")\n",
      "        cmd.extract(\"SNU13_h3_6QW6\", \"chain 4D and h3_6QW6\")\n",
      "        cmd.extract(\"SNU66_h3_6QW6\", \"chain S and h3_6QW6\")\n",
      "        cmd.extract(\"U5-40K_h3_6QW6\", \"chain 5O and h3_6QW6\")\n",
      "        cmd.extract(\"DIM1_h3_6QW6\", \"chain 5D and h3_6QW6\")\n",
      "        cmd.extract(\"PRP28_h3_6QW6\", \"chain 5X and h3_6QW6\")\n",
      "        cmd.extract(\"SAD1_h3_6QW6\", \"chain U and h3_6QW6\")\n",
      "        cmd.extract(\"RBM42_h3_6QW6\", \"chain R and h3_6QW6\")\n",
      "        cmd.extract(\"SNRNP27_27K_h3_6QW6\", \"chain X and h3_6QW6\")\n",
      "        cmd.extract(\"U5_Sm_ring_h3_6QW6\", \"(chain 51 or chain  52 or chain  53 or chain   5b or chain  5e or chain  5f or chain  5g ) and h3_6QW6\")\n",
      "        cmd.extract(\"U4_Sm_ring_h3_6QW6\", \"(chain 41 or chain   42 or chain  43 or chain  4b or chain  4e or chain  4f or chain  4g ) and h3_6QW6\")\n",
      "        cmd.extract(\"Lsm_ring_h3_6QW6\", \"(chain 62 or chain  63 or chain  64 or chain  65 or chain  66 or chain  67 or chain 68 ) and h3_6QW6\")\n",
      "        cmd.set_name(\"h3_6QW6\", \"unknown_other_h3_6QW6\")\n",
      "        cmd.group(\"h3_6QW6\", \"*_h3_6QW6\")\n",
      "        cmd.do(\"order *, yes\")\n",
      "    if 'hBpre_6QX9'.lower() in name.lower():\n",
      "        cmd.extract(\"PRP8_hBpre_6QX9\", \"chain 5A and hBpre_6QX9\")\n",
      "        cmd.extract(\"SNU114_hBpre_6QX9\", \"chain 5C and hBpre_6QX9\")\n",
      "        cmd.extract(\"U2_hBpre_6QX9\", \"chain 2 and hBpre_6QX9\")\n",
      "        cmd.extract(\"U5_hBpre_6QX9\", \"chain 5 and hBpre_6QX9\")\n",
      "        cmd.extract(\"U6_hBpre_6QX9\", \"chain 6 and hBpre_6QX9\")\n",
      "        cmd.extract(\"U4_hBpre_6QX9\", \"chain 4 and hBpre_6QX9\")\n",
      "        cmd.extract(\"Intron_hBpre_6QX9\", \"chain I and hBpre_6QX9\")\n",
      "        cmd.extract(\"U1_hBpre_6QX9\", \"chain 1 and hBpre_6QX9\")\n",
      "        cmd.extract(\"PRP4_hBpre_6QX9\", \"chain 4B and hBpre_6QX9\")\n",
      "        cmd.extract(\"PRP31_hBpre_6QX9\", \"chain 4C and hBpre_6QX9\")\n",
      "        cmd.extract(\"PRP6_hBpre_6QX9\", \"chain 5J and hBpre_6QX9\")\n",
      "        cmd.extract(\"PRP3_hBpre_6QX9\", \"chain 4A and hBpre_6QX9\")\n",
      "        cmd.extract(\"SNU66_hBpre_6QX9\", \"chain S and hBpre_6QX9\")\n",
      "        cmd.extract(\"U5-40K_hBpre_6QX9\", \"chain 5O and hBpre_6QX9\")\n",
      "        cmd.extract(\"DIM1_hBpre_6QX9\", \"chain 5D and hBpre_6QX9\")\n",
      "        cmd.extract(\"PRP28_hBpre_6QX9\", \"chain 5X and hBpre_6QX9\")\n",
      "        cmd.extract(\"SAD1_hBpre_6QX9\", \"chain U and hBpre_6QX9\")\n",
      "        cmd.extract(\"RBM42_hBpre_6QX9\", \"chain R and hBpre_6QX9\")\n",
      "        cmd.extract(\"SNRNP27_27K_hBpre_6QX9\", \"chain X and hBpre_6QX9\")\n",
      "        cmd.extract(\"U5_Sm_ring_hBpre_6QX9\", \"(chain 51 or chain  52 or chain  53 or chain   5b or chain  5e or chain  5f or chain  5g ) and hBpre_6QX9\")\n",
      "        cmd.extract(\"U4_Sm_ring_hBpre_6QX9\", \"(chain 41 or chain   42 or chain  43 or chain  4b or chain  4e or chain  4f or chain  4g ) and hBpre_6QX9\")\n",
      "        cmd.extract(\"Lsm_ring_hBpre_6QX9\", \"(chain 62 or chain  63 or chain  64 or chain  65 or chain  66 or chain  67 or chain  68 ) and hBpre_6QX9\")\n",
      "        cmd.extract(\"U1_Sm_ring_hBpre_6QX9\", \"(chain 11 or chain  12 or chain 13 or chain 1b or chain 1e or chain 1f or chain 1g ) and hBpre_6QX9\")\n",
      "        cmd.extract(\"U1A_hBpre_6QX9\", \"chain 1A and hBpre_6QX9\")\n",
      "        cmd.extract(\"U170k_hBpre_6QX9\", \"chain 1K and hBpre_6QX9\")\n",
      "        cmd.extract(\"U1C_hBpre_6QX9\", \"chain 1C and hBpre_6QX9\")\n",
      "        cmd.extract(\"SF3B1_hBpre_6QX9\", \"chain B1 and hBpre_6QX9\")\n",
      "        cmd.extract(\"SF3B3_hBpre_6QX9\", \"chain B3 and hBpre_6QX9\")\n",
      "        cmd.extract(\"SF3B2_hBpre_6QX9\", \"chain B2 and hBpre_6QX9\")\n",
      "        cmd.extract(\"SF3B4_hBpre_6QX9\", \"chain B4 and hBpre_6QX9\")\n",
      "        cmd.extract(\"PHF5A_hBpre_6QX9\", \"chain BP and hBpre_6QX9\")\n",
      "        cmd.extract(\"SF3A3_hBpre_6QX9\", \"chain A3 and hBpre_6QX9\")\n",
      "        cmd.extract(\"SF3A2_hBpre_6QX9\", \"chain A2 and hBpre_6QX9\")\n",
      "        cmd.extract(\"SF3A1_hBpre_6QX9\", \"chain A1 and hBpre_6QX9\")\n",
      "        cmd.extract(\"U2A_hBpre_6QX9\", \"chain 2A and hBpre_6QX9\")\n",
      "        cmd.extract(\"U2B_hBpre_6QX9\", \"chain 2B and hBpre_6QX9\")\n",
      "        cmd.extract(\"SF3B5_hBpre_6QX9\", \"chain B5 and hBpre_6QX9\")\n",
      "        cmd.extract(\"U2_Sm_ring_hBpre_6QX9\", \"(chain 21 or chain  22 or chain  23 or chain  2b or chain  2e or chain  2f or chain  2g ) and hBpre_6QX9\")\n",
      "        cmd.extract(\"Prp4Kinase_hBpre_6QX9\", \"chain K and hBpre_6QX9\")\n",
      "        cmd.set_name(\"hBpre_6QX9\", \"unknown_other_hBpre_6QX9\")\n",
      "        cmd.group(\"hBpre_6QX9\", \"*_hBpre_6QX9\")\n",
      "        cmd.do(\"order *, yes\")\n",
      "    if 'hB_6AHD'.lower() in name.lower():\n",
      "        cmd.extract(\"PRP8_hB_6AHD\", \"chain A and hB_6AHD\")\n",
      "        cmd.extract(\"BRR2_hB_6AHD\", \"chain D and hB_6AHD\")\n",
      "        cmd.extract(\"SNU114_hB_6AHD\", \"chain C and hB_6AHD\")\n",
      "        cmd.extract(\"U2_hB_6AHD\", \"chain H and hB_6AHD\")\n",
      "        cmd.extract(\"U5_hB_6AHD\", \"chain B and hB_6AHD\")\n",
      "        cmd.extract(\"U6_hB_6AHD\", \"chain F and hB_6AHD\")\n",
      "        cmd.extract(\"U4_hB_6AHD\", \"chain I and hB_6AHD\")\n",
      "        cmd.extract(\"Intron_hB_6AHD\", \"chain G and hB_6AHD\")\n",
      "        cmd.extract(\"PRP4_hB_6AHD\", \"chain K and hB_6AHD\")\n",
      "        cmd.extract(\"PRP31_hB_6AHD\", \"chain L and hB_6AHD\")\n",
      "        cmd.extract(\"PRP6_hB_6AHD\", \"chain N and hB_6AHD\")\n",
      "        cmd.extract(\"PRP3_hB_6AHD\", \"chain J and hB_6AHD\")\n",
      "        cmd.extract(\"DIB1_hB_6AHD\", \"chain O and hB_6AHD\")\n",
      "        cmd.extract(\"SNU13_hB_6AHD\", \"chain M and hB_6AHD\")\n",
      "        cmd.extract(\"SNU66_hB_6AHD\", \"chain 9 and hB_6AHD\")\n",
      "        cmd.extract(\"U5-40K_hB_6AHD\", \"chain E and hB_6AHD\")\n",
      "        cmd.extract(\"U5_Sm_ring_hB_6AHD\", \"(chain a or chain b or chain c or chain d or chain e or chain f or chain g ) and hB_6AHD\")\n",
      "        cmd.extract(\"U4_Sm_ring_hB_6AHD\", \"(chain U or chain V or chain P or chain Q or chain R or chain S or chain T ) and hB_6AHD\")\n",
      "        cmd.extract(\"Lsm_ring_hB_6AHD\", \"(chain q or chain r or chain s or chain t or chain x or chain y or chain z ) and hB_6AHD\")\n",
      "        cmd.extract(\"SF3B1_hB_6AHD\", \"chain 1 and hB_6AHD\")\n",
      "        cmd.extract(\"SF3B3_hB_6AHD\", \"chain 3 and hB_6AHD\")\n",
      "        cmd.extract(\"SF3B2_hB_6AHD\", \"chain 2 and hB_6AHD\")\n",
      "        cmd.extract(\"SF3B4_hB_6AHD\", \"chain 4 and hB_6AHD\")\n",
      "        cmd.extract(\"PHF5A_hB_6AHD\", \"chain 6 and hB_6AHD\")\n",
      "        cmd.extract(\"SF3A3_hB_6AHD\", \"chain w and hB_6AHD\")\n",
      "        cmd.extract(\"SF3A2_hB_6AHD\", \"chain v and hB_6AHD\")\n",
      "        cmd.extract(\"SF3A1_hB_6AHD\", \"chain u and hB_6AHD\")\n",
      "        cmd.extract(\"U2A_hB_6AHD\", \"chain o and hB_6AHD\")\n",
      "        cmd.extract(\"U2B_hB_6AHD\", \"chain p and hB_6AHD\")\n",
      "        cmd.extract(\"SF3B5_hB_6AHD\", \"chain 7 and hB_6AHD\")\n",
      "        cmd.extract(\"U2_Sm_ring_hB_6AHD\", \"(chain i or chain j or chain k or chain l or chain m or chain n or chain h ) and hB_6AHD\")\n",
      "        cmd.extract(\"FBP21_hB_6AHD\", \"chain X and hB_6AHD\")\n",
      "        cmd.extract(\"PPIH_hB_6AHD\", \"chain W and hB_6AHD\")\n",
      "        cmd.extract(\"UBL5_hB_6AHD\", \"chain A0 and hB_6AHD\")\n",
      "        cmd.extract(\"MFAP1_hB_6AHD\", \"chain 0 and hB_6AHD\")\n",
      "        cmd.extract(\"PRPF38A_hB_6AHD\", \"chain Z and hB_6AHD\")\n",
      "        cmd.extract(\"ZMAT2_hB_6AHD\", \"chain 8 and hB_6AHD\")\n",
      "        cmd.extract(\"SMU1_hB_6AHD\", \"chain Y and hB_6AHD\")\n",
      "        cmd.extract(\"SF3B6_hB_6AHD\", \"chain 5 and hB_6AHD\")\n",
      "        cmd.set_name(\"hB_6AHD\", \"unknown_other_hB_6AHD\")\n",
      "        cmd.group(\"hB_6AHD\", \"*_hB_6AHD\")\n",
      "        cmd.do(\"order *, yes\")\n",
      "\n",
      "/Users/magnus/work/src/rna-tools/rna_tools/tools/PyMOL4RNA/code_for_spl.py\n"
     ]
    }
   ],
   "source": [
    "txt = \"\"\"\n",
    "try:\n",
    "    from pymol import cmd\n",
    "except ImportError:\n",
    "    print(\"PyMOL Python lib is missing\")\n",
    "    # sys.exit(0)\n",
    "\n",
    "def spl_extract():\n",
    " for name in cmd.get_names(\"all\"):\n",
    "    \n",
    "    print(\" \\ Extracting mode for %s\" % name)\n",
    "\"\"\" #if name in \"\"\" + strs + \"\"\": # this should be auto\n",
    "\n",
    "for struc_col, pdb_id, complex_code in strucs:\n",
    "    txt += \"    if '\" + pdb_id + \"'.lower() in name.lower():\\n\"\n",
    "    for index, i in df.iterrows():\n",
    "        #print(i)\n",
    "        ref = str(i['chain']).strip()\n",
    "        struc = str(i[struc_col]).strip()\n",
    "        # print(ref, struc)\n",
    "        # todo fix  cmd.extract(\"CDC40 (PRP17, SLU4, XRS2)\", \"chain n\")\n",
    "        i['protein'] = i['protein'].split()[0]\n",
    "        if 'resi' in struc: # chain G and resi in struc\n",
    "            continue\n",
    "        if struc != 'nan' and struc != '-': # if ref != 'nan' # i dont' use reference chain any more\n",
    "            if ',' in struc:\n",
    "                subchains = struc.split(',') # a,P,h\n",
    "                # ok there is a change in the code, to put all rings proteins at one object! U5_Sm_ring_1_h3_6QW6 -> U5_Sm_ring_h3_6QW6\n",
    "                # extract Lsm_ring_h3_6QW6, (chain 62 or chain 64) and h3_6QW6\n",
    "                sc = '' \n",
    "                # chain 62 or chain 64\n",
    "                for s in subchains:    \n",
    "                    sc += 'chain ' + s + ' or '\n",
    "                txt += '        cmd.extract(\"' + i['protein'] + '' + complex_code + '\", \"(' + sc[:-3] + ') and ' + pdb_id + '\")\\n'\n",
    "            else:\n",
    "                #if ref != struc:\n",
    "                txt += '        cmd.extract(\"' + i['protein'] + complex_code + '\", \"chain ' + struc + ' and ' + pdb_id + '\")\\n'#' # extract \"' + i['protein'] + complex_code + '\", chain ' + struc + ' and ' + pdb_id + ' \\n'\n",
    "    # the rest make unkown at the very end\n",
    "    txt += '        cmd.set_name(\"' + pdb_id + '\", \"unknown_other' + complex_code + '\")\\n'\n",
    "    txt += '        cmd.group(\"' + complex_code[1:] + '\", \"*' + complex_code + '\")\\n'\n",
    "    txt += '        cmd.do(\"order *, yes\")\\n'\n",
    "print(txt) \n",
    "print(path + 'code_for_spl.py')\n",
    "with open(path + 'code_for_spl.py', 'w') as f:\n",
    "    f.write(txt)    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "try:\n",
      "    from pymol import cmd\n",
      "except ImportError:\n",
      "    print(\"PyMOL Python lib is missing\")\n",
      "    # sys.exit(0)\n",
      "\n",
      "def spl_color():\n",
      " for name in cmd.get_names(\"all\"):\n",
      "  # cmd.do('color grey50') # off gray\n",
      " \n",
      "    print(\" \\ Extracting mode for %s\" % name)\n",
      "    if 'h3_6QW6'.lower() in name.lower():\n",
      "        #PRP8\n",
      "        cmd.do(\"color skyblue, chain 5A and h3_6QW6\")\n",
      "        cmd.do(\"color skyblue, PRP8_h3_6QW6\")\n",
      "        #BRR2\n",
      "        cmd.do(\"color lightsteelblue, chain 5B and h3_6QW6\")\n",
      "        cmd.do(\"color lightsteelblue, BRR2_h3_6QW6\")\n",
      "        #SNU114\n",
      "        cmd.do(\"color cornflowerblue, chain 5C and h3_6QW6\")\n",
      "        cmd.do(\"color cornflowerblue, SNU114_h3_6QW6\")\n",
      "        #U5\n",
      "        cmd.do(\"color density, chain 5 and h3_6QW6\")\n",
      "        cmd.do(\"color density, U5_h3_6QW6\")\n",
      "        #U6\n",
      "        cmd.do(\"color firebrick, chain 6 and h3_6QW6\")\n",
      "        cmd.do(\"color firebrick, U6_h3_6QW6\")\n",
      "        #U4\n",
      "        cmd.do(\"color brown, chain 4 and h3_6QW6\")\n",
      "        cmd.do(\"color brown, U4_h3_6QW6\")\n",
      "        #PRP4\n",
      "        cmd.do(\"color lightorange, chain 4B and h3_6QW6\")\n",
      "        cmd.do(\"color lightorange, PRP4_h3_6QW6\")\n",
      "        #PRP31\n",
      "        cmd.do(\"color yelloworange, chain 4C and h3_6QW6\")\n",
      "        cmd.do(\"color yelloworange, PRP31_h3_6QW6\")\n",
      "        #PRP6\n",
      "        cmd.do(\"color palecyan, chain 5J and h3_6QW6\")\n",
      "        cmd.do(\"color palecyan, PRP6_h3_6QW6\")\n",
      "        #PRP3\n",
      "        cmd.do(\"color tv_yellow, chain 4A and h3_6QW6\")\n",
      "        cmd.do(\"color tv_yellow, PRP3_h3_6QW6\")\n",
      "        #SNU13\n",
      "        cmd.do(\"color wheat, chain 4D and h3_6QW6\")\n",
      "        cmd.do(\"color wheat, SNU13_h3_6QW6\")\n",
      "        #SNU66\n",
      "        cmd.do(\"color violetpurple, chain S and h3_6QW6\")\n",
      "        cmd.do(\"color violetpurple, SNU66_h3_6QW6\")\n",
      "        #U5-40K\n",
      "        cmd.do(\"color lightsteelblue, chain 5O and h3_6QW6\")\n",
      "        cmd.do(\"color lightsteelblue, U5-40K_h3_6QW6\")\n",
      "        #DIM1\n",
      "        cmd.do(\"color orange, chain 5D and h3_6QW6\")\n",
      "        cmd.do(\"color orange, DIM1_h3_6QW6\")\n",
      "        #PRP28\n",
      "        cmd.do(\"color raspberry, chain 5X and h3_6QW6\")\n",
      "        cmd.do(\"color raspberry, PRP28_h3_6QW6\")\n",
      "        #SAD1\n",
      "        cmd.do(\"color lightorange, chain U and h3_6QW6\")\n",
      "        cmd.do(\"color lightorange, SAD1_h3_6QW6\")\n",
      "        #RBM42\n",
      "        cmd.do(\"color lemonchiffon, chain R and h3_6QW6\")\n",
      "        cmd.do(\"color lemonchiffon, RBM42_h3_6QW6\")\n",
      "        #SNRNP27_27K\n",
      "        cmd.do(\"color violetBlue, chain X and h3_6QW6\")\n",
      "        cmd.do(\"color violetBlue, SNRNP27_27K_h3_6QW6\")\n",
      "        cmd.do(\"color bluewhite, chain 51 and h3_6QW6\")\n",
      "        cmd.do(\"color bluewhite, chain 52 and h3_6QW6\")\n",
      "        cmd.do(\"color bluewhite, chain 53 and h3_6QW6\")\n",
      "        cmd.do(\"color bluewhite, chain 5b and h3_6QW6\")\n",
      "        cmd.do(\"color bluewhite, chain 5e and h3_6QW6\")\n",
      "        cmd.do(\"color bluewhite, chain 5f and h3_6QW6\")\n",
      "        cmd.do(\"color bluewhite, chain 5g and h3_6QW6\")\n",
      "        cmd.do(\"color wheat, chain 41 and h3_6QW6\")\n",
      "        cmd.do(\"color wheat, chain 42 and h3_6QW6\")\n",
      "        cmd.do(\"color wheat, chain 43 and h3_6QW6\")\n",
      "        cmd.do(\"color wheat, chain 4b and h3_6QW6\")\n",
      "        cmd.do(\"color wheat, chain 4e and h3_6QW6\")\n",
      "        cmd.do(\"color wheat, chain 4f and h3_6QW6\")\n",
      "        cmd.do(\"color wheat, chain 4g and h3_6QW6\")\n",
      "        cmd.do(\"color salmon, chain 62 and h3_6QW6\")\n",
      "        cmd.do(\"color salmon, chain 63 and h3_6QW6\")\n",
      "        cmd.do(\"color salmon, chain 64 and h3_6QW6\")\n",
      "        cmd.do(\"color salmon, chain 65 and h3_6QW6\")\n",
      "        cmd.do(\"color salmon, chain 66 and h3_6QW6\")\n",
      "        cmd.do(\"color salmon, chain 67 and h3_6QW6\")\n",
      "        cmd.do(\"color salmon, chain 68 and h3_6QW6\")\n",
      "    if 'hBpre_6QX9'.lower() in name.lower():\n",
      "        #PRP8\n",
      "        cmd.do(\"color skyblue, chain 5A and hBpre_6QX9\")\n",
      "        cmd.do(\"color skyblue, PRP8_hBpre_6QX9\")\n",
      "        #SNU114\n",
      "        cmd.do(\"color cornflowerblue, chain 5C and hBpre_6QX9\")\n",
      "        cmd.do(\"color cornflowerblue, SNU114_hBpre_6QX9\")\n",
      "        #U2\n",
      "        cmd.do(\"color forest, chain 2 and hBpre_6QX9\")\n",
      "        cmd.do(\"color forest, U2_hBpre_6QX9\")\n",
      "        #U5\n",
      "        cmd.do(\"color density, chain 5 and hBpre_6QX9\")\n",
      "        cmd.do(\"color density, U5_hBpre_6QX9\")\n",
      "        #U6\n",
      "        cmd.do(\"color firebrick, chain 6 and hBpre_6QX9\")\n",
      "        cmd.do(\"color firebrick, U6_hBpre_6QX9\")\n",
      "        #U4\n",
      "        cmd.do(\"color brown, chain 4 and hBpre_6QX9\")\n",
      "        cmd.do(\"color brown, U4_hBpre_6QX9\")\n",
      "        #Intron\n",
      "        cmd.do(\"color grey40, chain I and hBpre_6QX9\")\n",
      "        cmd.do(\"color grey40, Intron_hBpre_6QX9\")\n",
      "        #U1\n",
      "        cmd.do(\"color green, chain 1 and hBpre_6QX9\")\n",
      "        cmd.do(\"color green, U1_hBpre_6QX9\")\n",
      "        #PRP4\n",
      "        cmd.do(\"color lightorange, chain 4B and hBpre_6QX9\")\n",
      "        cmd.do(\"color lightorange, PRP4_hBpre_6QX9\")\n",
      "        #PRP31\n",
      "        cmd.do(\"color yelloworange, chain 4C and hBpre_6QX9\")\n",
      "        cmd.do(\"color yelloworange, PRP31_hBpre_6QX9\")\n",
      "        #PRP6\n",
      "        cmd.do(\"color palecyan, chain 5J and hBpre_6QX9\")\n",
      "        cmd.do(\"color palecyan, PRP6_hBpre_6QX9\")\n",
      "        #PRP3\n",
      "        cmd.do(\"color tv_yellow, chain 4A and hBpre_6QX9\")\n",
      "        cmd.do(\"color tv_yellow, PRP3_hBpre_6QX9\")\n",
      "        #SNU66\n",
      "        cmd.do(\"color violetpurple, chain S and hBpre_6QX9\")\n",
      "        cmd.do(\"color violetpurple, SNU66_hBpre_6QX9\")\n",
      "        #U5-40K\n",
      "        cmd.do(\"color lightsteelblue, chain 5O and hBpre_6QX9\")\n",
      "        cmd.do(\"color lightsteelblue, U5-40K_hBpre_6QX9\")\n",
      "        #DIM1\n",
      "        cmd.do(\"color orange, chain 5D and hBpre_6QX9\")\n",
      "        cmd.do(\"color orange, DIM1_hBpre_6QX9\")\n",
      "        #PRP28\n",
      "        cmd.do(\"color raspberry, chain 5X and hBpre_6QX9\")\n",
      "        cmd.do(\"color raspberry, PRP28_hBpre_6QX9\")\n",
      "        #SAD1\n",
      "        cmd.do(\"color lightorange, chain U and hBpre_6QX9\")\n",
      "        cmd.do(\"color lightorange, SAD1_hBpre_6QX9\")\n",
      "        #RBM42\n",
      "        cmd.do(\"color lemonchiffon, chain R and hBpre_6QX9\")\n",
      "        cmd.do(\"color lemonchiffon, RBM42_hBpre_6QX9\")\n",
      "        #SNRNP27_27K\n",
      "        cmd.do(\"color violetBlue, chain X and hBpre_6QX9\")\n",
      "        cmd.do(\"color violetBlue, SNRNP27_27K_hBpre_6QX9\")\n",
      "        cmd.do(\"color bluewhite, chain 51 and hBpre_6QX9\")\n",
      "        cmd.do(\"color bluewhite, chain 52 and hBpre_6QX9\")\n",
      "        cmd.do(\"color bluewhite, chain 53 and hBpre_6QX9\")\n",
      "        cmd.do(\"color bluewhite, chain 5b and hBpre_6QX9\")\n",
      "        cmd.do(\"color bluewhite, chain 5e and hBpre_6QX9\")\n",
      "        cmd.do(\"color bluewhite, chain 5f and hBpre_6QX9\")\n",
      "        cmd.do(\"color bluewhite, chain 5g and hBpre_6QX9\")\n",
      "        cmd.do(\"color wheat, chain 41 and hBpre_6QX9\")\n",
      "        cmd.do(\"color wheat, chain 42 and hBpre_6QX9\")\n",
      "        cmd.do(\"color wheat, chain 43 and hBpre_6QX9\")\n",
      "        cmd.do(\"color wheat, chain 4b and hBpre_6QX9\")\n",
      "        cmd.do(\"color wheat, chain 4e and hBpre_6QX9\")\n",
      "        cmd.do(\"color wheat, chain 4f and hBpre_6QX9\")\n",
      "        cmd.do(\"color wheat, chain 4g and hBpre_6QX9\")\n",
      "        cmd.do(\"color salmon, chain 62 and hBpre_6QX9\")\n",
      "        cmd.do(\"color salmon, chain 63 and hBpre_6QX9\")\n",
      "        cmd.do(\"color salmon, chain 64 and hBpre_6QX9\")\n",
      "        cmd.do(\"color salmon, chain 65 and hBpre_6QX9\")\n",
      "        cmd.do(\"color salmon, chain 66 and hBpre_6QX9\")\n",
      "        cmd.do(\"color salmon, chain 67 and hBpre_6QX9\")\n",
      "        cmd.do(\"color salmon, chain 68 and hBpre_6QX9\")\n",
      "        cmd.do(\"color lavenderblush, chain 11 and hBpre_6QX9\")\n",
      "        cmd.do(\"color lavenderblush, chain 12 and hBpre_6QX9\")\n",
      "        cmd.do(\"color lavenderblush, chain 13 and hBpre_6QX9\")\n",
      "        cmd.do(\"color lavenderblush, chain 1b and hBpre_6QX9\")\n",
      "        cmd.do(\"color lavenderblush, chain 1e and hBpre_6QX9\")\n",
      "        cmd.do(\"color lavenderblush, chain 1f and hBpre_6QX9\")\n",
      "        cmd.do(\"color lavenderblush, chain 1g and hBpre_6QX9\")\n",
      "        #U1A\n",
      "        cmd.do(\"color lavenderblush, chain 1A and hBpre_6QX9\")\n",
      "        cmd.do(\"color lavenderblush, U1A_hBpre_6QX9\")\n",
      "        #U170k\n",
      "        cmd.do(\"color thistle, chain 1K and hBpre_6QX9\")\n",
      "        cmd.do(\"color thistle, U170k_hBpre_6QX9\")\n",
      "        #U1C\n",
      "        cmd.do(\"color warmpink, chain 1C and hBpre_6QX9\")\n",
      "        cmd.do(\"color warmpink, U1C_hBpre_6QX9\")\n",
      "        #SF3B1\n",
      "        cmd.do(\"color lightgreen, chain B1 and hBpre_6QX9\")\n",
      "        cmd.do(\"color lightgreen, SF3B1_hBpre_6QX9\")\n",
      "        #SF3B3\n",
      "        cmd.do(\"color forest, chain B3 and hBpre_6QX9\")\n",
      "        cmd.do(\"color forest, SF3B3_hBpre_6QX9\")\n",
      "        #SF3B2\n",
      "        cmd.do(\"color darkgreen, chain B2 and hBpre_6QX9\")\n",
      "        cmd.do(\"color darkgreen, SF3B2_hBpre_6QX9\")\n",
      "        #SF3B4\n",
      "        cmd.do(\"color limon, chain B4 and hBpre_6QX9\")\n",
      "        cmd.do(\"color limon, SF3B4_hBpre_6QX9\")\n",
      "        #PHF5A\n",
      "        cmd.do(\"color limegreen, chain BP and hBpre_6QX9\")\n",
      "        cmd.do(\"color limegreen, PHF5A_hBpre_6QX9\")\n",
      "        #SF3A3\n",
      "        cmd.do(\"color lightteal, chain A3 and hBpre_6QX9\")\n",
      "        cmd.do(\"color lightteal, SF3A3_hBpre_6QX9\")\n",
      "        #SF3A2\n",
      "        cmd.do(\"color bluewhite, chain A2 and hBpre_6QX9\")\n",
      "        cmd.do(\"color bluewhite, SF3A2_hBpre_6QX9\")\n",
      "        #SF3A1\n",
      "        cmd.do(\"color greencyan, chain A1 and hBpre_6QX9\")\n",
      "        cmd.do(\"color greencyan, SF3A1_hBpre_6QX9\")\n",
      "        #U2A\n",
      "        cmd.do(\"color lightgreen, chain 2A and hBpre_6QX9\")\n",
      "        cmd.do(\"color lightgreen, U2A_hBpre_6QX9\")\n",
      "        #U2B\n",
      "        cmd.do(\"color lightgreen, chain 2B and hBpre_6QX9\")\n",
      "        cmd.do(\"color lightgreen, U2B_hBpre_6QX9\")\n",
      "        #SF3B5\n",
      "        cmd.do(\"color tv_green, chain B5 and hBpre_6QX9\")\n",
      "        cmd.do(\"color tv_green, SF3B5_hBpre_6QX9\")\n",
      "        cmd.do(\"color palegreen, chain 21 and hBpre_6QX9\")\n",
      "        cmd.do(\"color palegreen, chain 22 and hBpre_6QX9\")\n",
      "        cmd.do(\"color palegreen, chain 23 and hBpre_6QX9\")\n",
      "        cmd.do(\"color palegreen, chain 2b and hBpre_6QX9\")\n",
      "        cmd.do(\"color palegreen, chain 2e and hBpre_6QX9\")\n",
      "        cmd.do(\"color palegreen, chain 2f and hBpre_6QX9\")\n",
      "        cmd.do(\"color palegreen, chain 2g and hBpre_6QX9\")\n",
      "        #Prp4Kinase\n",
      "        cmd.do(\"color mediumpurple, chain K and hBpre_6QX9\")\n",
      "        cmd.do(\"color mediumpurple, Prp4Kinase_hBpre_6QX9\")\n",
      "    if 'hB_6AHD'.lower() in name.lower():\n",
      "        #PRP8\n",
      "        cmd.do(\"color skyblue, chain A and hB_6AHD\")\n",
      "        cmd.do(\"color skyblue, PRP8_hB_6AHD\")\n",
      "        #BRR2\n",
      "        cmd.do(\"color lightsteelblue, chain D and hB_6AHD\")\n",
      "        cmd.do(\"color lightsteelblue, BRR2_hB_6AHD\")\n",
      "        #SNU114\n",
      "        cmd.do(\"color cornflowerblue, chain C and hB_6AHD\")\n",
      "        cmd.do(\"color cornflowerblue, SNU114_hB_6AHD\")\n",
      "        #U2\n",
      "        cmd.do(\"color forest, chain H and hB_6AHD\")\n",
      "        cmd.do(\"color forest, U2_hB_6AHD\")\n",
      "        #U5\n",
      "        cmd.do(\"color density, chain B and hB_6AHD\")\n",
      "        cmd.do(\"color density, U5_hB_6AHD\")\n",
      "        #U6\n",
      "        cmd.do(\"color firebrick, chain F and hB_6AHD\")\n",
      "        cmd.do(\"color firebrick, U6_hB_6AHD\")\n",
      "        #U4\n",
      "        cmd.do(\"color brown, chain I and hB_6AHD\")\n",
      "        cmd.do(\"color brown, U4_hB_6AHD\")\n",
      "        #Intron\n",
      "        cmd.do(\"color grey40, chain G and hB_6AHD\")\n",
      "        cmd.do(\"color grey40, Intron_hB_6AHD\")\n",
      "        #Exon\n",
      "        cmd.do(\"color yellow, chain G and resi \\-30-\\-1 and hB_6AHD\")\n",
      "        cmd.do(\"color yellow, Exon_hB_6AHD\")\n",
      "        #BP\n",
      "        cmd.do(\"color purple, chain G and resi 144 and hB_6AHD\")\n",
      "        cmd.do(\"color purple, BP_hB_6AHD\")\n",
      "        #PRP4\n",
      "        cmd.do(\"color lightorange, chain K and hB_6AHD\")\n",
      "        cmd.do(\"color lightorange, PRP4_hB_6AHD\")\n",
      "        #PRP31\n",
      "        cmd.do(\"color yelloworange, chain L and hB_6AHD\")\n",
      "        cmd.do(\"color yelloworange, PRP31_hB_6AHD\")\n",
      "        #PRP6\n",
      "        cmd.do(\"color palecyan, chain N and hB_6AHD\")\n",
      "        cmd.do(\"color palecyan, PRP6_hB_6AHD\")\n",
      "        #PRP3\n",
      "        cmd.do(\"color tv_yellow, chain J and hB_6AHD\")\n",
      "        cmd.do(\"color tv_yellow, PRP3_hB_6AHD\")\n",
      "        #DIB1\n",
      "        cmd.do(\"color brightorange, chain O and hB_6AHD\")\n",
      "        cmd.do(\"color brightorange, DIB1_hB_6AHD\")\n",
      "        #SNU13\n",
      "        cmd.do(\"color wheat, chain M and hB_6AHD\")\n",
      "        cmd.do(\"color wheat, SNU13_hB_6AHD\")\n",
      "        #SNU66\n",
      "        cmd.do(\"color violetpurple, chain 9 and hB_6AHD\")\n",
      "        cmd.do(\"color violetpurple, SNU66_hB_6AHD\")\n",
      "        #U5-40K\n",
      "        cmd.do(\"color lightsteelblue, chain E and hB_6AHD\")\n",
      "        cmd.do(\"color lightsteelblue, U5-40K_hB_6AHD\")\n",
      "        cmd.do(\"color bluewhite, chain a and hB_6AHD\")\n",
      "        cmd.do(\"color bluewhite, chain b and hB_6AHD\")\n",
      "        cmd.do(\"color bluewhite, chain c and hB_6AHD\")\n",
      "        cmd.do(\"color bluewhite, chain d and hB_6AHD\")\n",
      "        cmd.do(\"color bluewhite, chain e and hB_6AHD\")\n",
      "        cmd.do(\"color bluewhite, chain f and hB_6AHD\")\n",
      "        cmd.do(\"color bluewhite, chain g and hB_6AHD\")\n",
      "        cmd.do(\"color wheat, chain U and hB_6AHD\")\n",
      "        cmd.do(\"color wheat, chain V and hB_6AHD\")\n",
      "        cmd.do(\"color wheat, chain P and hB_6AHD\")\n",
      "        cmd.do(\"color wheat, chain Q and hB_6AHD\")\n",
      "        cmd.do(\"color wheat, chain R and hB_6AHD\")\n",
      "        cmd.do(\"color wheat, chain S and hB_6AHD\")\n",
      "        cmd.do(\"color wheat, chain T and hB_6AHD\")\n",
      "        cmd.do(\"color salmon, chain q and hB_6AHD\")\n",
      "        cmd.do(\"color salmon, chain r and hB_6AHD\")\n",
      "        cmd.do(\"color salmon, chain s and hB_6AHD\")\n",
      "        cmd.do(\"color salmon, chain t and hB_6AHD\")\n",
      "        cmd.do(\"color salmon, chain x and hB_6AHD\")\n",
      "        cmd.do(\"color salmon, chain y and hB_6AHD\")\n",
      "        cmd.do(\"color salmon, chain z and hB_6AHD\")\n",
      "        #SF3B1\n",
      "        cmd.do(\"color lightgreen, chain 1 and hB_6AHD\")\n",
      "        cmd.do(\"color lightgreen, SF3B1_hB_6AHD\")\n",
      "        #SF3B3\n",
      "        cmd.do(\"color forest, chain 3 and hB_6AHD\")\n",
      "        cmd.do(\"color forest, SF3B3_hB_6AHD\")\n",
      "        #SF3B2\n",
      "        cmd.do(\"color darkgreen, chain 2 and hB_6AHD\")\n",
      "        cmd.do(\"color darkgreen, SF3B2_hB_6AHD\")\n",
      "        #SF3B4\n",
      "        cmd.do(\"color limon, chain 4 and hB_6AHD\")\n",
      "        cmd.do(\"color limon, SF3B4_hB_6AHD\")\n",
      "        #PHF5A\n",
      "        cmd.do(\"color limegreen, chain 6 and hB_6AHD\")\n",
      "        cmd.do(\"color limegreen, PHF5A_hB_6AHD\")\n",
      "        #SF3A3\n",
      "        cmd.do(\"color lightteal, chain w and hB_6AHD\")\n",
      "        cmd.do(\"color lightteal, SF3A3_hB_6AHD\")\n",
      "        #SF3A2\n",
      "        cmd.do(\"color bluewhite, chain v and hB_6AHD\")\n",
      "        cmd.do(\"color bluewhite, SF3A2_hB_6AHD\")\n",
      "        #SF3A1\n",
      "        cmd.do(\"color greencyan, chain u and hB_6AHD\")\n",
      "        cmd.do(\"color greencyan, SF3A1_hB_6AHD\")\n",
      "        #U2A\n",
      "        cmd.do(\"color lightgreen, chain o and hB_6AHD\")\n",
      "        cmd.do(\"color lightgreen, U2A_hB_6AHD\")\n",
      "        #U2B\n",
      "        cmd.do(\"color lightgreen, chain p and hB_6AHD\")\n",
      "        cmd.do(\"color lightgreen, U2B_hB_6AHD\")\n",
      "        #SF3B5\n",
      "        cmd.do(\"color tv_green, chain 7 and hB_6AHD\")\n",
      "        cmd.do(\"color tv_green, SF3B5_hB_6AHD\")\n",
      "        cmd.do(\"color palegreen, chain i and hB_6AHD\")\n",
      "        cmd.do(\"color palegreen, chain j and hB_6AHD\")\n",
      "        cmd.do(\"color palegreen, chain k and hB_6AHD\")\n",
      "        cmd.do(\"color palegreen, chain l and hB_6AHD\")\n",
      "        cmd.do(\"color palegreen, chain m and hB_6AHD\")\n",
      "        cmd.do(\"color palegreen, chain n and hB_6AHD\")\n",
      "        cmd.do(\"color palegreen, chain h and hB_6AHD\")\n",
      "        #FBP21\n",
      "        cmd.do(\"color raspberry, chain X and hB_6AHD\")\n",
      "        cmd.do(\"color raspberry, FBP21_hB_6AHD\")\n",
      "        #PPIH\n",
      "        cmd.do(\"color mistyrose, chain W and hB_6AHD\")\n",
      "        cmd.do(\"color mistyrose, PPIH_hB_6AHD\")\n",
      "        #UBL5\n",
      "        cmd.do(\"color orchid, chain A0 and hB_6AHD\")\n",
      "        cmd.do(\"color orchid, UBL5_hB_6AHD\")\n",
      "        #MFAP1\n",
      "        cmd.do(\"color lavenderblush, chain 0 and hB_6AHD\")\n",
      "        cmd.do(\"color lavenderblush, MFAP1_hB_6AHD\")\n",
      "        #PRPF38A\n",
      "        cmd.do(\"color thistle, chain Z and hB_6AHD\")\n",
      "        cmd.do(\"color thistle, PRPF38A_hB_6AHD\")\n",
      "        #ZMAT2\n",
      "        cmd.do(\"color violetpurple, chain 8 and hB_6AHD\")\n",
      "        cmd.do(\"color violetpurple, ZMAT2_hB_6AHD\")\n",
      "        #SMU1\n",
      "        cmd.do(\"color lemonchiffon, chain Y and hB_6AHD\")\n",
      "        cmd.do(\"color lemonchiffon, SMU1_hB_6AHD\")\n",
      "        #SF3B6\n",
      "        cmd.do(\"color tv_green, chain 5 and hB_6AHD\")\n",
      "        cmd.do(\"color tv_green, SF3B6_hB_6AHD\")\n",
      "\n"
     ]
    }
   ],
   "source": [
    "txt = \"\"\"\n",
    "try:\n",
    "    from pymol import cmd\n",
    "except ImportError:\n",
    "    print(\"PyMOL Python lib is missing\")\n",
    "    # sys.exit(0)\n",
    "\n",
    "def spl_color():\n",
    " for name in cmd.get_names(\"all\"):\n",
    "  # cmd.do('color grey50') # off gray\n",
    " \n",
    "    print(\" \\ Extracting mode for %s\" % name)\n",
    "\"\"\" # if name in \"\"\" + strs + \"\"\": # this should be auto\n",
    "\n",
    "for struc_col, pdb_id, complex_code in strucs:\n",
    "    txt += \"    if '\" + pdb_id + \"'.lower() in name.lower():\\n\"\n",
    "    for index, i in df.iterrows():\n",
    "        ref = str(i['chain']).strip()\n",
    "        struc = str(i[struc_col]).strip()\n",
    "        # print(ref, struc)\n",
    "        # todo fix  cmd.extract(\"CDC40 (PRP17, SLU4, XRS2)\", \"chain n\")\n",
    "        i['protein'] = i['protein'].split()[0]\n",
    "        if struc != 'nan' and struc != '-': # if ref != 'nan' # i dont' use reference chain any more\n",
    "            if ',' in struc:\n",
    "                subchains = struc.split(',') # a,P,h\n",
    "                for index , sc in enumerate(subchains):    \n",
    "                    sc = sc.strip()\n",
    "                    # cmd.extract(name, selection, source_state, target_state)\n",
    "                    txt += '        cmd.do(\"color ' + i['color'] + \\\n",
    "                    ', chain ' + sc + ' and ' + pdb_id + '\")\\n'\n",
    "                # one mode to see these two proteins\n",
    "                #print('        cmd.extract(\"' + i['protein'] + '\", \"chain ' + '+'.join(subchains) + '\")') \n",
    "            else:\n",
    "                #if ref != struc:\n",
    "                txt += '        #' + i['protein'] +'\\n'\n",
    "                txt += '        cmd.do(\"color ' + i['color'] + ', chain ' + struc + ' and ' + \\\n",
    "                pdb_id + '\")' + '\\n'\n",
    "                # color <object>\n",
    "                txt += '        cmd.do(\"color ' + i['color'] + ', ' + i['protein'] + \\\n",
    "                complex_code + '\")\\n'\n",
    "print(txt) \n",
    "\n",
    "with open(path + 'code_for_color_spl.py', 'w') as f:\n",
    "    f.write(txt)    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "hide_input": false,
  "kernelspec": {
   "display_name": "Python 3",
   "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.7.4"
  },
  "toc": {
   "colors": {
    "hover_highlight": "#DAA520",
    "running_highlight": "#FF0000",
    "selected_highlight": "#FFD700"
   },
   "moveMenuLeft": true,
   "nav_menu": {
    "height": "12px",
    "width": "252px"
   },
   "navigate_menu": true,
   "number_sections": true,
   "sideBar": true,
   "threshold": 4,
   "toc_cell": false,
   "toc_position": {
    "height": "625px",
    "left": "0px",
    "right": "814px",
    "top": "134px",
    "width": "26px"
   },
   "toc_section_display": "block",
   "toc_window_display": true,
   "widenNotebook": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
