diff --git a/mrdna/readers/.ipynb_checkpoints/test-checkpoint.ipynb b/mrdna/readers/.ipynb_checkpoints/test-checkpoint.ipynb index f708f52415803193537b3354f3b54b9a7cd29e12..a3bd160b751ec4f98fab99afeb23a4076371dfd4 100644 --- a/mrdna/readers/.ipynb_checkpoints/test-checkpoint.ipynb +++ b/mrdna/readers/.ipynb_checkpoints/test-checkpoint.ipynb @@ -2,24 +2,59 @@ "cells": [ { "cell_type": "code", - "execution_count": 342, - "id": "8abe7172", + "execution_count": 1, + "id": "03eb8540", "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "pip3 install termcolor\n" + ] + } + ], "source": [ "import pandas as pd\n", "import pickle\n", - "import numpy as np" + "import numpy as np\n", + "import json\n", + "import re\n", + "import cadnano\n", + "from cadnano.document import Document\n" ] }, { "cell_type": "code", - "execution_count": 343, - "id": "a6c10574", + "execution_count": 2, + "id": "cb40f6b8", "metadata": {}, "outputs": [], + "source": [ + "from cadnano.views.pathview import pathstyles" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "ea7e8da0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " _\n", + " _____ ___ _| |___ ___\n", + "| | _| . | | .'|\n", + "|_|_|_|_| |___|_|_|__,| v1.0a.dev74 \n", + "it/its\n", + "\n" + ] + } + ], "source": [ "import cadnano\n", "from cadnano.document import Document\n", @@ -28,98 +63,536 @@ }, { "cell_type": "code", - "execution_count": 553, - "id": "1322927e", + "execution_count": 15, + "id": "3a134bd9-0d8c-40b2-bf71-7b2310e09802", "metadata": {}, "outputs": [], "source": [ - "def gen_prop_table(json_file):\n", - " part,vslist=read_json_file(json_file)\n", - " props = part.getModelProperties().copy()\n", + "def get_lattice(part):\n", + " lattice_type = None\n", + " _gt = part.getGridType()\n", " try:\n", - " if props.get('point_type') == PointType.ARBITRARY:\n", - " # TODO add code to encode Parts with ARBITRARY point configurations\n", - " raise NotImplementedError(\"Not implemented\")\n", + " lattice_type = _gt.name.lower()\n", " except:\n", - " try:\n", - " vh_props, origins = part.helixPropertiesAndOrigins()\n", - " except:\n", - " origins = {hid:part.getVirtualHelixOrigin(hid)[:2] for hid in part.getidNums()}\n", - " scaf_id=[nttype(vslist['scaf'][i]) for i in vslist.index]\n", - " stap_id=[nttype(vslist['stap'][i]) for i in vslist.index]\n", - " cad_bps=part.getIndices(0)\n", - " vslist[\"scafnt\"]=np.sum(np.array(scaf_id),axis=1)\n", - " vslist[\"stapnt\"]=np.sum(np.array(stap_id),axis=1)\n", - " totnt=np.sum(vslist[\"scafnt\"])+np.sum(vslist[\"stapnt\"])\n", - " is_scaf=np.zeros(totnt,dtype=bool)\n", - " is_scaf[0:np.sum(vslist[\"scafnt\"])]=1\n", - " nt_prop=pd.DataFrame(index=range(totnt),columns=[\"vh\",\"zid\",\"is_scaf\",\"r\",\"bp\",\"stack\",\"threeprime\",\"seq\",\"orientation\"])\n", - " nt_prop[\"is_scaf\"]=is_scaf\n", - " tot_id=scaf_id+stap_id\n", - " vhi,zidi=np.where(np.array(scaf_id)==1)\n", - " vhj,zidj=np.where(np.array(stap_id)==1)\n", - " vhi=vslist.index[vhi]\n", - " vhj=vslist.index[vhj]\n", - " nt_prop[\"vh\"]=list(vhi)+list(vhj)\n", - " nt_prop[\"zid\"]=list(zidi)+list(zidj)\n", + " if _gt == 1:\n", + " lattice_type = 'square'\n", + " elif _gt == 2:\n", + " lattice_type = 'honeycomb'\n", + " else:\n", + " print(lattice_type)\n", + " return lattice_type\n", + "\n", + "\n", + "def read_json_file(filename):\n", + " import cadnano\n", + " from cadnano.document import Document\n", + "\n", + " try:\n", + " with open(filename) as ch:\n", + " json_data = json.load(ch)\n", + " except:\n", + " with open(filename) as ch:\n", + " content = \"\"\n", + " for l in ch:\n", + " l = re.sub(r\"'\", r'\"', l)\n", + " # https://stackoverflow.com/questions/4033633/handling-lazy-json-in-python-expecting-property-name\n", + " # l = re.sub(r\"{\\s*(\\w)\", r'{\"\\1', l)\n", + " # l = re.sub(r\",\\s*(\\w)\", r',\"\\1', l)\n", + " # l = re.sub(r\"(\\w):\", r'\\1\":', l)\n", + " content += l+\"\\n\"\n", + " json_data = json.loads(content)\n", + "\n", + " try:\n", + " doc = Document()\n", + " cadnano.fileio.v3decode.decode(doc, json_data)\n", + " decoder = 3\n", + " except:\n", + " doc = Document()\n", + " cadnano.fileio.v2decode.decode(doc, json_data)\n", + " decoder = 2\n", + "\n", + " parts = [p for p in doc.getParts()]\n", + " if len(parts) != 1:\n", + " raise Exception(\"Only documents containing a single cadnano part are implemented at this time.\")\n", + " part = parts[0]\n", + "\n", + " if decoder == 2:\n", + " \"\"\" It seems cadnano2.5 (as of ce6ff019) does not set the EulerZ for square lattice structures correctly, doing so here \"\"\"\n", + " l = get_lattice(part)\n", + " if l == 'square':\n", + " for id_num in part.getIdNums():\n", + " if part.vh_properties.loc[id_num,'eulerZ'] == 0:\n", + " part.vh_properties.loc[id_num,'eulerZ'] = 360*(6/10.5)\n", + " df=pd.DataFrame(json_data[\"vstrands\"])\n", + " n_df=df.set_index(\"num\")\n", + " return part\n", + "\n", + "def get_helix_angle(part, helix_id, indices):\n", + " \"\"\" Get \"start_orientation\" for helix \"\"\"\n", + " # import ipdb\n", + " # ipdb.set_trace()\n", + "\n", + " \"\"\" FROM CADNANO2.5\n", + " + angle is CCW\n", + " - angle is CW\n", + " Right handed DNA rotates clockwise from 5' to 3'\n", + " we use the convention the 5' end starts at 0 degrees\n", + " and it's pair is minor_groove_angle degrees away\n", + " direction, hence the minus signs. eulerZ\n", + " \"\"\"\n", + "\n", + " hp, bpr, tpr, eulerZ, mgroove = part.vh_properties.loc[helix_id,\n", + " ['helical_pitch',\n", + " 'bases_per_repeat',\n", + " 'turns_per_repeat',\n", + " 'eulerZ',\n", + " 'minor_groove_angle']]\n", + " twist_per_base = tpr*360./bpr\n", + " # angle = eulerZ - twist_per_base*indices + 0.5*mgroove + 180\n", + " angle = eulerZ + twist_per_base*indices - 0.5*mgroove\n", + " return angle\n", + "\n", + "def gen_id_series(strand,part):\n", + " df=pd.DataFrame(columns=[\"vh\",\"zid\",\"fwd\",\"stack_tuple\",\"threeprime_tuple\",\"x\",\"y\",\"z\"],index=range(strand.totalLength()),dtype=object)\n", + " df[\"vh\"]=strand._id_num\n", + " df[\"fwd\"]=strand.isForward()\n", + " df[\"x\"]=part.getVirtualHelixOrigin(strand._id_num)[0]*10\n", + " df[\"y\"]=part.getVirtualHelixOrigin(strand._id_num)[1]*10\n", + " id_lo,id_hi=strand.idxs()\n", + " zids=[str(i) for i in range(id_lo,id_hi+1)]\n", + " insert_dict={}\n", + " insert_dict=dict([(j.idx(),j.length()) for j in strand.insertionsOnStrand()])\n", + " z=np.arange(id_lo,id_hi+1)\n", + " zids=[str(i) for i in range(id_lo,id_hi+1)]\n", + " z=list(np.arange(id_lo,id_hi+1))\n", + " zids=[str(i) for i in range(id_lo,id_hi+1)]\n", + " for insert_base in insert_dict:\n", + " z_ind=zids.index(str(insert_base))\n", + " z_val=insert_dict[insert_base]\n", + " z_pos_ind=z.index(insert_base)\n", + " zids.pop(z_ind)\n", + " z.pop(z_pos_ind)\n", + " if z_val!=-1:\n", + " #l=[str(insert_base)+\".\"+str(i) for i in range(z_val+1)]\n", + " l=list(range(z_val+1))\n", + " l.reverse()\n", + " for k in l: \n", + " zids.insert(z_ind,str(insert_base)+\".\"+str(k))\n", + " z.insert(z_pos_ind,insert_base+k/(z_val+1))\n", + " df[\"zid\"]=zids\n", + " df[\"z\"]=np.array(z)*3.4\n", + " \n", + " \n", + " L=[(df[\"vh\"][i],df[\"zid\"][i],df[\"fwd\"][i]) for i in df.index]\n", + " if strand.isForward()==True:\n", + " df[\"stack_tuple\"]=L[1:]+[-1]\n", + " if strand.connection3p() is None:\n", + " df[\"threeprime_tuple\"]=L[1:]+[-1]\n", + " else:\n", + " df[\"threeprime_tuple\"]=L[1:]+[(strand.connection3p().idNum(),str(strand.connection3p().idx5Prime()),strand.connection3p().isForward())]\n", + " \n", + " \n", + " else:\n", + " df[\"stack_tuple\"]=[-1]+L[0:-1]\n", + " if strand.connection3p() is None:\n", + " df[\"threeprime_tuple\"]=[-1]+L[0:-1]\n", + " else:\n", + " df[\"threeprime_tuple\"]=[(strand.connection3p().idNum(),str(strand.connection3p().idx5Prime()),strand.connection3p().isForward())]+L[0:-1]\n", + " ## cadnano 3.1 sequence assign is wrong if there is insertion or deletion. \n", + " df[\"r\"]=[np.array([df[\"x\"][i],df[\"y\"][i],df[\"z\"][i]],dtype=np.float32) for i in df.index]\n", + " \n", + " return [pd.Series(df.loc[i]) for i in df.index]\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "04c497ae", + "metadata": {}, + "outputs": [], + "source": [ + "def gen_prop_table(part):\n", + " strand_set=[]\n", + " for i in part.getidNums():\n", + " fwd,rev=part.getStrandSets(i)\n", + " [strand_set.append(i) for i in fwd.strands()]\n", + " [strand_set.append(i) for i in rev.strands()]\n", + " id_series=[]\n", + " for i in strand_set:\n", + " id_series=id_series+gen_id_series(i,part)\n", + " \n", + " nt_prop=pd.DataFrame(id_series)\n", + " nt_prop.reset_index(inplace=True)\n", + " nt_prop[\"seq\"]=-1\n", + " ind_tuple=list(zip(nt_prop[\"vh\"],nt_prop[\"zid\"],nt_prop[\"fwd\"]))\n", + " stacks=[]\n", + " for i in list(nt_prop[\"stack_tuple\"]):\n", + " if i ==-1:\n", + " stacks.append(i)\n", + " else:\n", + " stacks.append(ind_tuple.index(i))\n", + " nt_prop[\"stack\"]=stacks\n", + " tprime=[]\n", + " for i in list(nt_prop[\"threeprime_tuple\"]):\n", + " if i ==-1:\n", + " tprime.append(i)\n", + " else:\n", + " tprime.append(ind_tuple.index(i))\n", + " nt_prop[\"threeprime\"]=tprime\n", " vhzid=list(zip(nt_prop[\"vh\"],nt_prop[\"zid\"]))\n", - " nt_prop[\"r\"]=[part.getCoordinate(helix_id, indices) for helix_id, indices in zip(nt_prop[\"vh\"],nt_prop[\"zid\"])]\n", - " nt_prop[\"orientation\"]=[get_helix_angle(part, helix_id, indices) for helix_id,indices in zip(nt_prop[\"vh\"],nt_prop[\"zid\"])]\n", + " nt_prop[\"orientation\"]=[get_helix_angle(part, helix_id, int(float(indices))) for helix_id,indices in vhzid]\n", " nt_prop=nt_prop.fillna(-1)\n", - " for i in range(int(len(vhzid)/2)):\n", + " counter=-1\n", + " bp=-np.ones(len(nt_prop.index),dtype=int)\n", + " bp_map=dict(zip(ind_tuple,nt_prop.index))\n", + " for i,j,k in ind_tuple:\n", + " counter+=1\n", " try:\n", - " bp1,bp2=(i,1+i+vhzid[i+1:].index(vhzid[i]))\n", - " nt_prop[\"bp\"][bp1]=bp2\n", - " nt_prop[\"bp\"][bp2]=bp1\n", + " bp[counter]=bp_map[(i,j,not(k))]\n", " except:\n", " pass\n", - " tprime_list=-np.ones(len(nt_prop.index),dtype=int)\n", - " index2=list(zip(vhzid,nt_prop[\"is_scaf\"]))\n", - " for i in range(len(nt_prop.index)):\n", - " ((m,n),p)=list(zip(vhzid,nt_prop[\"is_scaf\"]))[i]\n", - " if p==True:\n", - " k,l=(vslist[\"scaf\"][m])[n][2:]\n", - " if k!=-1 and l!=-1:\n", - " n=index2.index(((k,l),True))\n", - " tprime_list[i]=int(n)\n", + " nt_prop[\"bp\"]=bp\n", "\n", - " else:\n", - " k,l=(vslist[\"stap\"][m])[n][2:]\n", - " if k!=-1 and l!=-1:\n", - " n=index2.index(((k,l),False))\n", - " tprime_list[i]=int(n)\n", - " nt_prop[\"threeprime\"]=tprime_list\n", - " (n,)=np.where(nt_prop[\"threeprime\"]==-1)\n", - " stackid=nt_prop[\"bp\"][[list(nt_prop[\"threeprime\"]).index(i) for i in n]]\n", - " nt_prop[\"stack\"][stackid.index[np.where(np.array(stackid)!=-1)]]=nt_prop[\"threeprime\"][stackid.index[np.where(np.array(stackid)!=-1)]]\n", - " ## Todo: sequence \n", - "\n", - "\n", - " return nt_prop\n" + " return nt_prop" ] }, { "cell_type": "code", - "execution_count": 555, - "id": "c787cb64", + "execution_count": 19, + "id": "11b0f5de-80f6-4845-b97f-a9d31e7be90a", "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "Found cadnano version 2 file\n" - ] + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>index</th>\n", + " <th>vh</th>\n", + " <th>zid</th>\n", + " <th>fwd</th>\n", + " <th>stack_tuple</th>\n", + " <th>threeprime_tuple</th>\n", + " <th>x</th>\n", + " <th>y</th>\n", + " <th>z</th>\n", + " <th>r</th>\n", + " <th>seq</th>\n", + " <th>stack</th>\n", + " <th>threeprime</th>\n", + " <th>orientation</th>\n", + " <th>bp</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " <td>5</td>\n", + " <td>True</td>\n", + " <td>(0, 6, True)</td>\n", + " <td>(0, 6, True)</td>\n", + " <td>0.000000</td>\n", + " <td>22.50</td>\n", + " <td>17.0</td>\n", + " <td>[0.0, 22.5, 17.0]</td>\n", + " <td>-1</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>81.428571</td>\n", + " <td>38</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>1</td>\n", + " <td>0</td>\n", + " <td>6</td>\n", + " <td>True</td>\n", + " <td>(0, 7, True)</td>\n", + " <td>(0, 7, True)</td>\n", + " <td>0.000000</td>\n", + " <td>22.50</td>\n", + " <td>20.4</td>\n", + " <td>[0.0, 22.5, 20.4]</td>\n", + " <td>-1</td>\n", + " <td>2</td>\n", + " <td>2</td>\n", + " <td>115.714286</td>\n", + " <td>39</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>2</td>\n", + " <td>0</td>\n", + " <td>7</td>\n", + " <td>True</td>\n", + " <td>(0, 8, True)</td>\n", + " <td>(0, 8, True)</td>\n", + " <td>0.000000</td>\n", + " <td>22.50</td>\n", + " <td>23.8</td>\n", + " <td>[0.0, 22.5, 23.8]</td>\n", + " <td>-1</td>\n", + " <td>3</td>\n", + " <td>3</td>\n", + " <td>150.000000</td>\n", + " <td>40</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>3</td>\n", + " <td>0</td>\n", + " <td>8</td>\n", + " <td>True</td>\n", + " <td>(0, 9, True)</td>\n", + " <td>(0, 9, True)</td>\n", + " <td>0.000000</td>\n", + " <td>22.50</td>\n", + " <td>27.2</td>\n", + " <td>[0.0, 22.5, 27.2]</td>\n", + " <td>-1</td>\n", + " <td>4</td>\n", + " <td>4</td>\n", + " <td>184.285714</td>\n", + " <td>41</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>4</td>\n", + " <td>0</td>\n", + " <td>9</td>\n", + " <td>True</td>\n", + " <td>(0, 10, True)</td>\n", + " <td>(0, 10, True)</td>\n", + " <td>0.000000</td>\n", + " <td>22.50</td>\n", + " <td>30.6</td>\n", + " <td>[0.0, 22.5, 30.6]</td>\n", + " <td>-1</td>\n", + " <td>5</td>\n", + " <td>5</td>\n", + " <td>218.571429</td>\n", + " <td>42</td>\n", + " </tr>\n", + " <tr>\n", + " <th>...</th>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>410</th>\n", + " <td>12</td>\n", + " <td>5</td>\n", + " <td>35</td>\n", + " <td>False</td>\n", + " <td>(5, 34, False)</td>\n", + " <td>(5, 34, False)</td>\n", + " <td>19.485574</td>\n", + " <td>11.25</td>\n", + " <td>119.0</td>\n", + " <td>[19.485573, 11.25, 119.0]</td>\n", + " <td>-1</td>\n", + " <td>409</td>\n", + " <td>409</td>\n", + " <td>1110.000000</td>\n", + " <td>375</td>\n", + " </tr>\n", + " <tr>\n", + " <th>411</th>\n", + " <td>13</td>\n", + " <td>5</td>\n", + " <td>36</td>\n", + " <td>False</td>\n", + " <td>(5, 35, False)</td>\n", + " <td>(5, 35, False)</td>\n", + " <td>19.485574</td>\n", + " <td>11.25</td>\n", + " <td>122.4</td>\n", + " <td>[19.485573, 11.25, 122.4]</td>\n", + " <td>-1</td>\n", + " <td>410</td>\n", + " <td>410</td>\n", + " <td>1144.285714</td>\n", + " <td>376</td>\n", + " </tr>\n", + " <tr>\n", + " <th>412</th>\n", + " <td>14</td>\n", + " <td>5</td>\n", + " <td>37</td>\n", + " <td>False</td>\n", + " <td>(5, 36, False)</td>\n", + " <td>(5, 36, False)</td>\n", + " <td>19.485574</td>\n", + " <td>11.25</td>\n", + " <td>125.8</td>\n", + " <td>[19.485573, 11.25, 125.8]</td>\n", + " <td>-1</td>\n", + " <td>411</td>\n", + " <td>411</td>\n", + " <td>1178.571429</td>\n", + " <td>377</td>\n", + " </tr>\n", + " <tr>\n", + " <th>413</th>\n", + " <td>15</td>\n", + " <td>5</td>\n", + " <td>38</td>\n", + " <td>False</td>\n", + " <td>(5, 37, False)</td>\n", + " <td>(5, 37, False)</td>\n", + " <td>19.485574</td>\n", + " <td>11.25</td>\n", + " <td>129.2</td>\n", + " <td>[19.485573, 11.25, 129.2]</td>\n", + " <td>-1</td>\n", + " <td>412</td>\n", + " <td>412</td>\n", + " <td>1212.857143</td>\n", + " <td>378</td>\n", + " </tr>\n", + " <tr>\n", + " <th>414</th>\n", + " <td>16</td>\n", + " <td>5</td>\n", + " <td>39</td>\n", + " <td>False</td>\n", + " <td>(5, 38, False)</td>\n", + " <td>(5, 38, False)</td>\n", + " <td>19.485574</td>\n", + " <td>11.25</td>\n", + " <td>132.6</td>\n", + " <td>[19.485573, 11.25, 132.6]</td>\n", + " <td>-1</td>\n", + " <td>413</td>\n", + " <td>413</td>\n", + " <td>1247.142857</td>\n", + " <td>379</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>415 rows × 15 columns</p>\n", + "</div>" + ], + "text/plain": [ + " index vh zid fwd stack_tuple threeprime_tuple x y \\\n", + "0 0 0 5 True (0, 6, True) (0, 6, True) 0.000000 22.50 \n", + "1 1 0 6 True (0, 7, True) (0, 7, True) 0.000000 22.50 \n", + "2 2 0 7 True (0, 8, True) (0, 8, True) 0.000000 22.50 \n", + "3 3 0 8 True (0, 9, True) (0, 9, True) 0.000000 22.50 \n", + "4 4 0 9 True (0, 10, True) (0, 10, True) 0.000000 22.50 \n", + ".. ... .. .. ... ... ... ... ... \n", + "410 12 5 35 False (5, 34, False) (5, 34, False) 19.485574 11.25 \n", + "411 13 5 36 False (5, 35, False) (5, 35, False) 19.485574 11.25 \n", + "412 14 5 37 False (5, 36, False) (5, 36, False) 19.485574 11.25 \n", + "413 15 5 38 False (5, 37, False) (5, 37, False) 19.485574 11.25 \n", + "414 16 5 39 False (5, 38, False) (5, 38, False) 19.485574 11.25 \n", + "\n", + " z r seq stack threeprime orientation \\\n", + "0 17.0 [0.0, 22.5, 17.0] -1 1 1 81.428571 \n", + "1 20.4 [0.0, 22.5, 20.4] -1 2 2 115.714286 \n", + "2 23.8 [0.0, 22.5, 23.8] -1 3 3 150.000000 \n", + "3 27.2 [0.0, 22.5, 27.2] -1 4 4 184.285714 \n", + "4 30.6 [0.0, 22.5, 30.6] -1 5 5 218.571429 \n", + ".. ... ... ... ... ... ... \n", + "410 119.0 [19.485573, 11.25, 119.0] -1 409 409 1110.000000 \n", + "411 122.4 [19.485573, 11.25, 122.4] -1 410 410 1144.285714 \n", + "412 125.8 [19.485573, 11.25, 125.8] -1 411 411 1178.571429 \n", + "413 129.2 [19.485573, 11.25, 129.2] -1 412 412 1212.857143 \n", + "414 132.6 [19.485573, 11.25, 132.6] -1 413 413 1247.142857 \n", + "\n", + " bp \n", + "0 38 \n", + "1 39 \n", + "2 40 \n", + "3 41 \n", + "4 42 \n", + ".. ... \n", + "410 375 \n", + "411 376 \n", + "412 377 \n", + "413 378 \n", + "414 379 \n", + "\n", + "[415 rows x 15 columns]" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "nt_prop=gen_prop_table(\"test/Na_liu.json\")" + "gen_prop_table(p)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f2116b88", + "metadata": {}, + "outputs": [], + "source": [ + "import mrdna\n", + "from mrdna.readers import read_list" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "4c954133", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(415,)" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.array(list(nt_prop['bp'])).shape" ] }, { "cell_type": "code", "execution_count": 560, - "id": "927f76f3", + "id": "5ee54071", "metadata": {}, "outputs": [ { @@ -139,38 +612,223 @@ }, { "cell_type": "code", - "execution_count": 562, - "id": "2093c036", + "execution_count": 21, + "id": "e1588c54", "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>vh</th>\n", + " <th>zid</th>\n", + " <th>is_scaf</th>\n", + " <th>r</th>\n", + " <th>bp</th>\n", + " <th>stack</th>\n", + " <th>threeprime</th>\n", + " <th>seq</th>\n", + " <th>orientation</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>0</td>\n", + " <td>5</td>\n", + " <td>True</td>\n", + " <td>[0.0, 2.25, 1.7000000000000002]</td>\n", + " <td>213</td>\n", + " <td>-1</td>\n", + " <td>1</td>\n", + " <td>-1</td>\n", + " <td>[[0.14904226617617466, -0.9888308262251284, 0....</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>0</td>\n", + " <td>6</td>\n", + " <td>True</td>\n", + " <td>[0.0, 2.25, 2.04]</td>\n", + " <td>214</td>\n", + " <td>-1</td>\n", + " <td>2</td>\n", + " <td>-1</td>\n", + " <td>[[-0.4338837391175583, -0.900968867902419, 0.0...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>0</td>\n", + " <td>7</td>\n", + " <td>True</td>\n", + " <td>[0.0, 2.25, 2.3800000000000003]</td>\n", + " <td>215</td>\n", + " <td>-1</td>\n", + " <td>3</td>\n", + " <td>-1</td>\n", + " <td>[[-0.8660254037844388, -0.49999999999999994, 0...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>0</td>\n", + " <td>8</td>\n", + " <td>True</td>\n", + " <td>[0.0, 2.25, 2.72]</td>\n", + " <td>216</td>\n", + " <td>-1</td>\n", + " <td>4</td>\n", + " <td>-1</td>\n", + " <td>[[-0.9972037971811805, 0.07473009358642399, 0....</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>0</td>\n", + " <td>9</td>\n", + " <td>True</td>\n", + " <td>[0.0, 2.25, 3.06]</td>\n", + " <td>217</td>\n", + " <td>-1</td>\n", + " <td>5</td>\n", + " <td>-1</td>\n", + " <td>[[-0.7818314824680299, 0.6234898018587334, 0.0...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>...</th>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>410</th>\n", + " <td>5</td>\n", + " <td>35</td>\n", + " <td>False</td>\n", + " <td>[1.948557375, 1.125, 11.9]</td>\n", + " <td>205</td>\n", + " <td>-1</td>\n", + " <td>411</td>\n", + " <td>-1</td>\n", + " <td>[[0.8660254037844375, -0.5000000000000019, 0.0...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>411</th>\n", + " <td>5</td>\n", + " <td>36</td>\n", + " <td>False</td>\n", + " <td>[1.948557375, 1.125, 12.24]</td>\n", + " <td>206</td>\n", + " <td>-1</td>\n", + " <td>412</td>\n", + " <td>-1</td>\n", + " <td>[[0.4338837391175605, -0.900968867902418, 0.0]...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>412</th>\n", + " <td>5</td>\n", + " <td>37</td>\n", + " <td>False</td>\n", + " <td>[1.948557375, 1.125, 12.58]</td>\n", + " <td>-1</td>\n", + " <td>-1</td>\n", + " <td>413</td>\n", + " <td>-1</td>\n", + " <td>[[-0.14904226617617078, -0.9888308262251292, 0...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>413</th>\n", + " <td>5</td>\n", + " <td>38</td>\n", + " <td>False</td>\n", + " <td>[1.948557375, 1.125, 12.920000000000002]</td>\n", + " <td>-1</td>\n", + " <td>-1</td>\n", + " <td>414</td>\n", + " <td>-1</td>\n", + " <td>[[-0.6801727377709186, -0.7330518718298275, 0....</td>\n", + " </tr>\n", + " <tr>\n", + " <th>414</th>\n", + " <td>5</td>\n", + " <td>39</td>\n", + " <td>False</td>\n", + " <td>[1.948557375, 1.125, 13.260000000000002]</td>\n", + " <td>-1</td>\n", + " <td>-1</td>\n", + " <td>-1</td>\n", + " <td>-1</td>\n", + " <td>[[-0.9749279121818233, -0.222520933956317, 0.0...</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>415 rows × 9 columns</p>\n", + "</div>" + ], "text/plain": [ - "vh 0\n", - "zid 21\n", - "is_scaf True\n", - "r [0.0, 15.75, 7.140000000000001]\n", - "bp 7560\n", - "stack -1\n", - "threeprime 13\n", - "seq -1\n", - "orientation [[-4.440892098500626e-16, 1.0, 0.0], [-1.0, -4...\n", - "Name: 12, dtype: object" + " vh zid is_scaf r bp stack \\\n", + "0 0 5 True [0.0, 2.25, 1.7000000000000002] 213 -1 \n", + "1 0 6 True [0.0, 2.25, 2.04] 214 -1 \n", + "2 0 7 True [0.0, 2.25, 2.3800000000000003] 215 -1 \n", + "3 0 8 True [0.0, 2.25, 2.72] 216 -1 \n", + "4 0 9 True [0.0, 2.25, 3.06] 217 -1 \n", + ".. .. ... ... ... ... ... \n", + "410 5 35 False [1.948557375, 1.125, 11.9] 205 -1 \n", + "411 5 36 False [1.948557375, 1.125, 12.24] 206 -1 \n", + "412 5 37 False [1.948557375, 1.125, 12.58] -1 -1 \n", + "413 5 38 False [1.948557375, 1.125, 12.920000000000002] -1 -1 \n", + "414 5 39 False [1.948557375, 1.125, 13.260000000000002] -1 -1 \n", + "\n", + " threeprime seq orientation \n", + "0 1 -1 [[0.14904226617617466, -0.9888308262251284, 0.... \n", + "1 2 -1 [[-0.4338837391175583, -0.900968867902419, 0.0... \n", + "2 3 -1 [[-0.8660254037844388, -0.49999999999999994, 0... \n", + "3 4 -1 [[-0.9972037971811805, 0.07473009358642399, 0.... \n", + "4 5 -1 [[-0.7818314824680299, 0.6234898018587334, 0.0... \n", + ".. ... ... ... \n", + "410 411 -1 [[0.8660254037844375, -0.5000000000000019, 0.0... \n", + "411 412 -1 [[0.4338837391175605, -0.900968867902418, 0.0]... \n", + "412 413 -1 [[-0.14904226617617078, -0.9888308262251292, 0... \n", + "413 414 -1 [[-0.6801727377709186, -0.7330518718298275, 0.... \n", + "414 -1 -1 [[-0.9749279121818233, -0.222520933956317, 0.0... \n", + "\n", + "[415 rows x 9 columns]" ] }, - "execution_count": 562, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "nt_prop.loc[12]" + "nt_prop" ] }, { "cell_type": "code", "execution_count": 468, - "id": "51b62714", + "id": "156dcda2", "metadata": {}, "outputs": [], "source": [ @@ -181,7 +839,7 @@ { "cell_type": "code", "execution_count": 500, - "id": "66e9eacd", + "id": "6413d856", "metadata": {}, "outputs": [ { @@ -202,7 +860,7 @@ { "cell_type": "code", "execution_count": 498, - "id": "ddecdaef", + "id": "fe8797db", "metadata": {}, "outputs": [ { @@ -224,7 +882,7 @@ { "cell_type": "code", "execution_count": 480, - "id": "ea39cbd0", + "id": "9f1b975f", "metadata": {}, "outputs": [ { @@ -245,7 +903,7 @@ { "cell_type": "code", "execution_count": 549, - "id": "5008fa72", + "id": "a16f3fd0", "metadata": {}, "outputs": [ { @@ -277,7 +935,7 @@ { "cell_type": "code", "execution_count": 544, - "id": "7409a9a8", + "id": "b9f25d41", "metadata": {}, "outputs": [ { @@ -301,7 +959,7 @@ { "cell_type": "code", "execution_count": 550, - "id": "7e3b3abc", + "id": "976095ce", "metadata": {}, "outputs": [ { @@ -331,7 +989,7 @@ { "cell_type": "code", "execution_count": 548, - "id": "33c599fb", + "id": "ac8f5067", "metadata": {}, "outputs": [ { @@ -355,7 +1013,7 @@ { "cell_type": "code", "execution_count": 527, - "id": "c781d982", + "id": "1006fc48", "metadata": {}, "outputs": [ { @@ -380,7 +1038,7 @@ { "cell_type": "code", "execution_count": 503, - "id": "7efc3ee8", + "id": "09c7e7d4", "metadata": {}, "outputs": [ { @@ -406,7 +1064,7 @@ { "cell_type": "code", "execution_count": 537, - "id": "0b3eaca4", + "id": "5f0c5266", "metadata": {}, "outputs": [ { @@ -455,7 +1113,7 @@ { "cell_type": "code", "execution_count": 491, - "id": "99e544cd", + "id": "fec987da", "metadata": {}, "outputs": [ { @@ -476,7 +1134,7 @@ { "cell_type": "code", "execution_count": 493, - "id": "264bc035", + "id": "f332ad87", "metadata": {}, "outputs": [ { @@ -498,7 +1156,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "4f596a68", + "id": "dd3cd839", "metadata": {}, "outputs": [], "source": [ @@ -509,7 +1167,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ce978dbf", + "id": "41b3d9af", "metadata": {}, "outputs": [], "source": [] @@ -517,7 +1175,7 @@ { "cell_type": "code", "execution_count": 18, - "id": "e10006d7", + "id": "9ec18edc", "metadata": {}, "outputs": [], "source": [ @@ -538,8 +1196,8 @@ }, { "cell_type": "code", - "execution_count": 358, - "id": "ed9e6b6f", + "execution_count": 13, + "id": "2fa31a78", "metadata": {}, "outputs": [ { @@ -552,23 +1210,23 @@ { "data": { "text/plain": [ - "NucleicAcidPart_-1_3904" + "NucleicAcidPart_-1_2800" ] }, - "execution_count": 358, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "p,f=read_json_file(\"test.json\")\n", + "p=read_json_file(\"test/test.json\")\n", "p" ] }, { "cell_type": "code", "execution_count": 441, - "id": "8ec446ce", + "id": "64eb309f", "metadata": {}, "outputs": [ { @@ -751,7 +1409,7 @@ { "cell_type": "code", "execution_count": 199, - "id": "263415de", + "id": "bda3cddd", "metadata": {}, "outputs": [ { @@ -772,7 +1430,7 @@ { "cell_type": "code", "execution_count": 434, - "id": "6e58a7e7", + "id": "a86cfa84", "metadata": {}, "outputs": [], "source": [ @@ -840,7 +1498,7 @@ { "cell_type": "code", "execution_count": 442, - "id": "3ee34e17", + "id": "be5de5ba", "metadata": {}, "outputs": [ { @@ -885,7 +1543,7 @@ { "cell_type": "code", "execution_count": 302, - "id": "72245714", + "id": "0ce6701d", "metadata": {}, "outputs": [], "source": [ @@ -909,7 +1567,7 @@ { "cell_type": "code", "execution_count": 368, - "id": "c3891b4a", + "id": "9d0e49cf", "metadata": {}, "outputs": [], "source": [ @@ -942,7 +1600,7 @@ { "cell_type": "code", "execution_count": 429, - "id": "b3fcb6ac", + "id": "c1d77642", "metadata": {}, "outputs": [], "source": [ @@ -957,7 +1615,7 @@ { "cell_type": "code", "execution_count": 430, - "id": "2565f375", + "id": "2c2d1227", "metadata": {}, "outputs": [ { @@ -992,7 +1650,7 @@ { "cell_type": "code", "execution_count": 431, - "id": "ecf2414e", + "id": "e701d029", "metadata": {}, "outputs": [ { @@ -1013,7 +1671,7 @@ { "cell_type": "code", "execution_count": 433, - "id": "5bc1a2b8", + "id": "4a62f5d9", "metadata": {}, "outputs": [ { @@ -1034,7 +1692,7 @@ { "cell_type": "code", "execution_count": 167, - "id": "5f500be3", + "id": "d80ab792", "metadata": {}, "outputs": [], "source": [ @@ -1046,7 +1704,7 @@ { "cell_type": "code", "execution_count": 360, - "id": "d7f0b909", + "id": "8e009bc9", "metadata": {}, "outputs": [], "source": [ @@ -1056,7 +1714,7 @@ { "cell_type": "code", "execution_count": 190, - "id": "686640b1", + "id": "3dc97f0d", "metadata": {}, "outputs": [ { @@ -1239,7 +1897,7 @@ { "cell_type": "code", "execution_count": 200, - "id": "ff964cef", + "id": "3d019b73", "metadata": {}, "outputs": [], "source": [ @@ -1275,7 +1933,7 @@ { "cell_type": "code", "execution_count": 201, - "id": "97bce4fa", + "id": "fb789ffb", "metadata": {}, "outputs": [ { @@ -1298,7 +1956,7 @@ { "cell_type": "code", "execution_count": 146, - "id": "30246519", + "id": "98703867", "metadata": {}, "outputs": [], "source": [ @@ -1308,7 +1966,7 @@ { "cell_type": "code", "execution_count": 148, - "id": "2b287b99", + "id": "c316fead", "metadata": {}, "outputs": [ { @@ -1341,7 +1999,7 @@ { "cell_type": "code", "execution_count": 137, - "id": "781327b0", + "id": "0718e41e", "metadata": {}, "outputs": [], "source": [ @@ -1358,7 +2016,7 @@ { "cell_type": "code", "execution_count": null, - "id": "91188f0a", + "id": "1a61115e", "metadata": {}, "outputs": [], "source": [] @@ -1366,7 +2024,7 @@ { "cell_type": "code", "execution_count": 84, - "id": "a4317b6b", + "id": "12198835", "metadata": {}, "outputs": [], "source": [ @@ -1377,7 +2035,7 @@ { "cell_type": "code", "execution_count": 156, - "id": "7154c666", + "id": "1e5c9807", "metadata": {}, "outputs": [ { @@ -1503,7 +2161,7 @@ { "cell_type": "code", "execution_count": 157, - "id": "f82be5d8", + "id": "31c50f63", "metadata": {}, "outputs": [ { @@ -1620,7 +2278,7 @@ { "cell_type": "code", "execution_count": 128, - "id": "4053cca5", + "id": "67546136", "metadata": {}, "outputs": [ { @@ -1642,7 +2300,7 @@ { "cell_type": "code", "execution_count": 127, - "id": "2a012588", + "id": "bad20d6a", "metadata": {}, "outputs": [ { @@ -1762,7 +2420,7 @@ { "cell_type": "code", "execution_count": 100, - "id": "acfa6f0c", + "id": "48225afa", "metadata": {}, "outputs": [ { @@ -1787,7 +2445,7 @@ { "cell_type": "code", "execution_count": 13, - "id": "7e82631e", + "id": "c75bd92f", "metadata": {}, "outputs": [ { @@ -1808,7 +2466,7 @@ { "cell_type": "code", "execution_count": 14, - "id": "c69e710a", + "id": "00f1513e", "metadata": {}, "outputs": [ { @@ -1830,7 +2488,7 @@ { "cell_type": "code", "execution_count": 198, - "id": "c93f7b4b", + "id": "aaa65658", "metadata": {}, "outputs": [ { @@ -1852,7 +2510,7 @@ { "cell_type": "code", "execution_count": 15, - "id": "f44d5593", + "id": "cbddf07f", "metadata": {}, "outputs": [ { @@ -1873,7 +2531,7 @@ { "cell_type": "code", "execution_count": 173, - "id": "da99c2f2", + "id": "fac8699e", "metadata": {}, "outputs": [], "source": [ @@ -1909,7 +2567,7 @@ { "cell_type": "code", "execution_count": 177, - "id": "bf41fbbe", + "id": "308cd6c1", "metadata": {}, "outputs": [], "source": [ @@ -1945,7 +2603,7 @@ { "cell_type": "code", "execution_count": 187, - "id": "becc8ec8", + "id": "bc032680", "metadata": {}, "outputs": [ { @@ -2172,7 +2830,7 @@ { "cell_type": "code", "execution_count": 142, - "id": "65d304e7", + "id": "29ff7990", "metadata": {}, "outputs": [], "source": [ @@ -2209,7 +2867,7 @@ { "cell_type": "code", "execution_count": 117, - "id": "1102332d", + "id": "3cb9542c", "metadata": {}, "outputs": [], "source": [ @@ -2230,7 +2888,7 @@ { "cell_type": "code", "execution_count": 116, - "id": "9349147e", + "id": "4219838b", "metadata": {}, "outputs": [ { @@ -2442,7 +3100,7 @@ { "cell_type": "code", "execution_count": 157, - "id": "23c69dfb", + "id": "45168e4b", "metadata": {}, "outputs": [ { @@ -2466,7 +3124,7 @@ { "cell_type": "code", "execution_count": 152, - "id": "c6e2518a", + "id": "33e5c80d", "metadata": {}, "outputs": [ { @@ -2487,7 +3145,7 @@ { "cell_type": "code", "execution_count": 62, - "id": "bf85089c", + "id": "9b79e902", "metadata": {}, "outputs": [ { @@ -2715,7 +3373,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "3fd57867", + "id": "cecd1c9f", "metadata": {}, "outputs": [], "source": [ @@ -2841,7 +3499,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "014caa04", + "id": "b4af37c1", "metadata": {}, "outputs": [], "source": [ @@ -2862,7 +3520,7 @@ { "cell_type": "code", "execution_count": 20, - "id": "95719bec", + "id": "2fa89abc", "metadata": {}, "outputs": [ { @@ -2924,7 +3582,7 @@ { "cell_type": "code", "execution_count": 25, - "id": "f4034eb9", + "id": "6e620d24", "metadata": {}, "outputs": [ { @@ -2986,7 +3644,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b9adb4fe", + "id": "fef6094a", "metadata": {}, "outputs": [], "source": [ @@ -2999,7 +3657,7 @@ { "cell_type": "code", "execution_count": 13, - "id": "ca67b08f", + "id": "be089a18", "metadata": {}, "outputs": [ { @@ -3020,7 +3678,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "86a7a627", + "id": "6f75d365", "metadata": {}, "outputs": [ { @@ -3069,7 +3727,7 @@ { "cell_type": "code", "execution_count": 36, - "id": "63614edc", + "id": "8dfadf61", "metadata": {}, "outputs": [ { @@ -3131,7 +3789,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "177fe2f1", + "id": "ba097c82", "metadata": {}, "outputs": [ { @@ -3157,7 +3815,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0c4a7b82", + "id": "1c4d4fa9", "metadata": {}, "outputs": [], "source": [] @@ -3165,7 +3823,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "82b5073c", + "id": "d4ff1f83", "metadata": {}, "outputs": [ { @@ -3185,7 +3843,7 @@ { "cell_type": "code", "execution_count": 13, - "id": "684cdf08", + "id": "6f1dab46", "metadata": {}, "outputs": [ { @@ -3206,7 +3864,7 @@ { "cell_type": "code", "execution_count": 15, - "id": "95b9f60b", + "id": "615964fe", "metadata": {}, "outputs": [ { @@ -3276,7 +3934,7 @@ { "cell_type": "code", "execution_count": 16, - "id": "da04d8df", + "id": "a71b0639", "metadata": {}, "outputs": [], "source": [ @@ -3287,7 +3945,7 @@ { "cell_type": "code", "execution_count": 26, - "id": "fc9fa817", + "id": "2bb83a1e", "metadata": {}, "outputs": [ { @@ -3396,7 +4054,7 @@ { "cell_type": "code", "execution_count": 25, - "id": "d030eea1", + "id": "86f5c21e", "metadata": {}, "outputs": [ { @@ -3417,7 +4075,7 @@ { "cell_type": "code", "execution_count": 10, - "id": "6586e97f", + "id": "f3fae511", "metadata": {}, "outputs": [ { @@ -3448,7 +4106,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "f087752e", + "id": "07f3352b", "metadata": {}, "outputs": [ { @@ -3945,7 +4603,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "d548b882", + "id": "61be89c1", "metadata": {}, "outputs": [ { @@ -3979,7 +4637,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "bd65fa30", + "id": "a00c445c", "metadata": {}, "outputs": [ { @@ -3999,7 +4657,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "96fe4106", + "id": "a648fae4", "metadata": {}, "outputs": [], "source": [ @@ -4009,7 +4667,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "70b6c9a6", + "id": "9d100033", "metadata": {}, "outputs": [ { @@ -4030,7 +4688,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "fc17c5e7", + "id": "66d3eaf4", "metadata": {}, "outputs": [ { @@ -4057,7 +4715,7 @@ { "cell_type": "code", "execution_count": null, - "id": "ba6c81e7", + "id": "f60b0cdc", "metadata": {}, "outputs": [], "source": [] @@ -4065,7 +4723,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -4079,7 +4737,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.18" + "version": "3.8.19" } }, "nbformat": 4, diff --git a/mrdna/readers/segmentmodel_from_cadnano.bak.py b/mrdna/readers/test/segmentmodel_from_cadnano.bak.py similarity index 100% rename from mrdna/readers/segmentmodel_from_cadnano.bak.py rename to mrdna/readers/test/segmentmodel_from_cadnano.bak.py