Skip to content
Snippets Groups Projects
pybis playground localhost.ipynb 43.2 KiB
Newer Older
Swen Vermeul's avatar
Swen Vermeul committed
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Using pybis"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Log into openBIS"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "········\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'vermeul-160721001911317xA9E71D59EE92752CE9F9992FB3760264'"
Swen Vermeul's avatar
Swen Vermeul committed
      ]
     },
     "execution_count": 2,
Swen Vermeul's avatar
Swen Vermeul committed
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pybis import Openbis\n",
    "import getpass\n",
    "o = Openbis('https://localhost:8443', verify_certificates=False)\n",
    "\n",
    "password = getpass.getpass()\n",
    "o.login('vermeul',password)\n",
    "o.token"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
Swen Vermeul's avatar
Swen Vermeul committed
      ]
     },
     "execution_count": 5,
Swen Vermeul's avatar
Swen Vermeul committed
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.is_token_valid()"
Swen Vermeul's avatar
Swen Vermeul committed
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
Swen Vermeul's avatar
Swen Vermeul committed
   "metadata": {
    "collapsed": true
Swen Vermeul's avatar
Swen Vermeul committed
   },
   "outputs": [],
Swen Vermeul's avatar
Swen Vermeul committed
   "source": [
    "o.logout()"
Swen Vermeul's avatar
Swen Vermeul committed
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
Swen Vermeul's avatar
Swen Vermeul committed
      ]
     },
     "execution_count": 4,
Swen Vermeul's avatar
Swen Vermeul committed
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.is_token_valid()"
   "cell_type": "markdown",
   "metadata": {},
Swen Vermeul's avatar
Swen Vermeul committed
   "source": [
    "## get general information about openBIS"
Swen Vermeul's avatar
Swen Vermeul committed
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>code</th>\n",
       "      <th>description</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>ANOTHER_SPACE_NAME</td>\n",
       "      <td>another space description</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>MATERIALS</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>METHODS</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>MY_NEW_SPACE</td>\n",
       "      <td>this is yet another space</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>Space for user vermeul</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
Swen Vermeul's avatar
Swen Vermeul committed
      "text/plain": [
       "                 code                description\n",
       "0  ANOTHER_SPACE_NAME  another space description\n",
       "1           MATERIALS                       None\n",
       "2             METHODS                       None\n",
       "3        MY_NEW_SPACE  this is yet another space\n",
       "4             VERMEUL     Space for user vermeul"
     "execution_count": 11,
Swen Vermeul's avatar
Swen Vermeul committed
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_spaces()"
Swen Vermeul's avatar
Swen Vermeul committed
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
Swen Vermeul's avatar
Swen Vermeul committed
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>code</th>\n",
       "      <th>description</th>\n",
       "      <th>kind</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>ELN_PREVIEW</td>\n",
       "      <td>ELN Preview image</td>\n",
       "      <td>PHYSICAL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
Swen Vermeul's avatar
Swen Vermeul committed
       "      <th>1</th>\n",
       "      <td>SEQ_FILE</td>\n",
       "      <td></td>\n",
       "      <td>PHYSICAL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>RAW_DATA</td>\n",
       "      <td></td>\n",
       "      <td>PHYSICAL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>ANALYZED_DATA</td>\n",
       "      <td></td>\n",
       "      <td>PHYSICAL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>ATTACHMENT</td>\n",
       "      <td></td>\n",
       "      <td>PHYSICAL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>DRAWING_BOARD</td>\n",
       "      <td></td>\n",
       "      <td>PHYSICAL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>JUPYTER_CONTAINER</td>\n",
       "      <td>Jupyter Analysis Results</td>\n",
       "      <td>CONTAINER</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>JUPYTER_NOTEBOOK</td>\n",
       "      <td>Analysis Notebook Files</td>\n",
       "      <td>PHYSICAL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>UNKNOWN</td>\n",
       "      <td>Unknown</td>\n",
       "      <td>PHYSICAL</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>JUPYTER_RESULT</td>\n",
       "      <td>Analysis Results Files</td>\n",
       "      <td>PHYSICAL</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                code               description       kind\n",
       "0        ELN_PREVIEW         ELN Preview image   PHYSICAL\n",
       "1           SEQ_FILE                             PHYSICAL\n",
       "2           RAW_DATA                             PHYSICAL\n",
       "3      ANALYZED_DATA                             PHYSICAL\n",
       "4         ATTACHMENT                             PHYSICAL\n",
       "5      DRAWING_BOARD                             PHYSICAL\n",
       "6  JUPYTER_CONTAINER  Jupyter Analysis Results  CONTAINER\n",
       "7   JUPYTER_NOTEBOOK   Analysis Notebook Files   PHYSICAL\n",
       "8            UNKNOWN                   Unknown   PHYSICAL\n",
       "9     JUPYTER_RESULT    Analysis Results Files   PHYSICAL"
      ]
     },
Swen Vermeul's avatar
Swen Vermeul committed
     "execution_count": 8,
Swen Vermeul's avatar
Swen Vermeul committed
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_dataset_types()"
   ]
Swen Vermeul's avatar
Swen Vermeul committed
  },
  {
   "cell_type": "code",
   "execution_count": 10,
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>code</th>\n",
       "      <th>description</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>ANTIBODY</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>CHEMICAL</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>ENZYME</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>MEDIA</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>SOLUTION_BUFFER</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>OLIGO</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>RNA</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>PLASMID</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>BACTERIA</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>YEAST</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>CELL_LINE</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>FLY</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>EXPERIMENTAL_STEP</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>GENERAL_PROTOCOL</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>PCR_PROTOCOL</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>WESTERN_BLOTTING_PROTOCOL</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>DRAWING_BOARD</td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>UNKNOWN</td>\n",
       "      <td>Unknown</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         code description\n",
       "0                    ANTIBODY            \n",
       "1                    CHEMICAL            \n",
       "2                      ENZYME            \n",
       "3                       MEDIA            \n",
       "4             SOLUTION_BUFFER            \n",
       "5                       OLIGO            \n",
       "6                         RNA            \n",
       "7                     PLASMID            \n",
       "8                    BACTERIA            \n",
       "9                       YEAST            \n",
       "10                  CELL_LINE            \n",
       "11                        FLY            \n",
       "12          EXPERIMENTAL_STEP            \n",
       "13           GENERAL_PROTOCOL            \n",
       "14               PCR_PROTOCOL            \n",
       "15  WESTERN_BLOTTING_PROTOCOL            \n",
       "16              DRAWING_BOARD            \n",
       "17                    UNKNOWN     Unknown"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_sample_types()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>code</th>\n",
       "      <th>downloadUrl</th>\n",
       "      <th>hostUrl</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>DSS1</td>\n",
       "      <td>https://localhost:8444/datastore_server</td>\n",
       "      <td>https://localhost:8444</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   code                              downloadUrl                 hostUrl\n",
       "0  DSS1  https://localhost:8444/datastore_server  https://localhost:8444"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_datastores()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## working with samples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "space = o.get_space('VERMEUL')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>spaceCode</th>\n",
       "      <th>permId</th>\n",
       "      <th>identifier</th>\n",
       "      <th>experimentIdentifierOrNull</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>20160706001644827-208</td>\n",
       "      <td>/VERMEUL/ANOTHER_SAMPLE1</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>20160630111949369-89</td>\n",
       "      <td>/VERMEUL/BLAJLSD</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>20160705234504004-206</td>\n",
       "      <td>/VERMEUL/CHILD_OF_SAMPLE1</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>20160630105304285-81</td>\n",
       "      <td>/VERMEUL/HOW_WONDERFUL</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>20160630105337180-82</td>\n",
       "      <td>/VERMEUL/HOW_WONDERFUL2</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>20160630105402002-83</td>\n",
       "      <td>/VERMEUL/HOW_WONDERFUL3</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>20160630105953557-85</td>\n",
       "      <td>/VERMEUL/HOW_WONDERFUL4</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>20160718181615356-214</td>\n",
       "      <td>/VERMEUL/MON_160718_181552</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>20160718181656980-215</td>\n",
       "      <td>/VERMEUL/MON_160718_181654</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>20160720225637704-262</td>\n",
       "      <td>/VERMEUL/MY_WONDERFUL_SAMPLE_NAME</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>20160630110733527-86</td>\n",
       "      <td>/VERMEUL/OH_WIE_SCHOEN_IST_PANAMA</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>20160630111810821-87</td>\n",
       "      <td>/VERMEUL/OH_WIE_SCHOEN_IST_PANAMA2</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>20160630112720553-90</td>\n",
       "      <td>/VERMEUL/OH_WIE_SCHOEN_IST_PANAMA3</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>20160630112919449-91</td>\n",
       "      <td>/VERMEUL/OH_WIE_SCHOEN_IST_PANAMA4</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>20160706231053756-211</td>\n",
       "      <td>/VERMEUL/OH_WIE_SCHOEN_IST_PANAMA5</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>20160706002555747-209</td>\n",
       "      <td>/VERMEUL/YET_ANOTHER_SAMPLE1</td>\n",
       "      <td>None</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   spaceCode                 permId                          identifier  \\\n",
       "0    VERMEUL  20160706001644827-208            /VERMEUL/ANOTHER_SAMPLE1   \n",
       "1    VERMEUL   20160630111949369-89                    /VERMEUL/BLAJLSD   \n",
       "2    VERMEUL  20160705234504004-206           /VERMEUL/CHILD_OF_SAMPLE1   \n",
       "3    VERMEUL   20160630105304285-81              /VERMEUL/HOW_WONDERFUL   \n",
       "4    VERMEUL   20160630105337180-82             /VERMEUL/HOW_WONDERFUL2   \n",
       "5    VERMEUL   20160630105402002-83             /VERMEUL/HOW_WONDERFUL3   \n",
       "6    VERMEUL   20160630105953557-85             /VERMEUL/HOW_WONDERFUL4   \n",
       "7    VERMEUL  20160718181615356-214          /VERMEUL/MON_160718_181552   \n",
       "8    VERMEUL  20160718181656980-215          /VERMEUL/MON_160718_181654   \n",
       "9    VERMEUL  20160720225637704-262   /VERMEUL/MY_WONDERFUL_SAMPLE_NAME   \n",
       "10   VERMEUL   20160630110733527-86   /VERMEUL/OH_WIE_SCHOEN_IST_PANAMA   \n",
       "11   VERMEUL   20160630111810821-87  /VERMEUL/OH_WIE_SCHOEN_IST_PANAMA2   \n",
       "12   VERMEUL   20160630112720553-90  /VERMEUL/OH_WIE_SCHOEN_IST_PANAMA3   \n",
       "13   VERMEUL   20160630112919449-91  /VERMEUL/OH_WIE_SCHOEN_IST_PANAMA4   \n",
       "14   VERMEUL  20160706231053756-211  /VERMEUL/OH_WIE_SCHOEN_IST_PANAMA5   \n",
       "15   VERMEUL  20160706002555747-209        /VERMEUL/YET_ANOTHER_SAMPLE1   \n",
       "\n",
       "   experimentIdentifierOrNull  \n",
       "0                        None  \n",
       "1                        None  \n",
       "2                        None  \n",
       "3                        None  \n",
       "4                        None  \n",
       "5                        None  \n",
       "6                        None  \n",
       "7                        None  \n",
       "8                        None  \n",
       "9                        None  \n",
       "10                       None  \n",
       "11                       None  \n",
       "12                       None  \n",
       "13                       None  \n",
       "14                       None  \n",
       "15                       None  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "space.get_samples()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [],
   "source": [
    "new_sample = o.new_sample(sample_name='my_wonderful_sample_name', space_name='VERMEUL', tags=['uno','due','tre'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'/VERMEUL/MY_WONDERFUL_SAMPLE_NAME'"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "new_sample.ident"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'20160720225637704-262'"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "new_sample.permid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'20160630112919449-91'"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sample = o.get_sample(\"/VERMEUL/OH_WIE_SCHOEN_IST_PANAMA4\")\n",
    "sample.permid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'@id': 17,\n",
       "  '@type': 'as.dto.dataset.DataSet',\n",
       "  'accessDate': 1467708740316,\n",
       "  'children': None,\n",
       "  'code': '20160705105115020-196',\n",
       "  'components': None,\n",
       "  'containers': None,\n",
       "  'dataProducer': None,\n",
       "  'dataProductionDate': None,\n",
       "  'dataStore': None,\n",
       "  'experiment': None,\n",
       "  'fetchOptions': {'@id': 18,\n",
       "   '@type': 'as.dto.dataset.fetchoptions.DataSetFetchOptions',\n",
       "   'cacheMode': 'NO_CACHE',\n",
       "   'children': None,\n",
       "   'components': None,\n",
       "   'containers': None,\n",
       "   'count': None,\n",
       "   'dataStore': None,\n",
       "   'experiment': None,\n",
       "   'from': None,\n",
       "   'history': None,\n",
       "   'linkedData': None,\n",
       "   'materialProperties': None,\n",
       "   'modifier': None,\n",
       "   'parents': None,\n",
       "   'physicalData': None,\n",
       "   'properties': 10,\n",
       "   'registrator': None,\n",
       "   'sample': None,\n",
       "   'sort': None,\n",
       "   'sortBy': None,\n",
       "   'tags': None,\n",
       "   'type': None},\n",
       "  'history': None,\n",
       "  'linkedData': None,\n",
       "  'materialProperties': None,\n",
       "  'measured': True,\n",
       "  'modificationDate': 1468931672530,\n",
       "  'modifier': None,\n",
       "  'parents': None,\n",
       "  'permId': {'@id': 19,\n",
       "   '@type': 'as.dto.dataset.id.DataSetPermId',\n",
       "   'permId': '20160705105115020-196'},\n",
       "  'physicalData': None,\n",
       "  'postRegistered': True,\n",
       "  'properties': {'DESCRIPTION': 'This is a new description of my analysis',\n",
       "   'NAME': 'another Analysis name'},\n",
       "  'registrationDate': 1467708677283,\n",
       "  'registrator': None,\n",
       "  'sample': None,\n",
       "  'tags': None,\n",
       "  'type': None},\n",
       " {'@id': 20,\n",
       "  '@type': 'as.dto.dataset.DataSet',\n",
       "  'accessDate': 1467708740419,\n",
       "  'children': None,\n",
       "  'code': '20160705105113015-195',\n",
       "  'components': None,\n",
       "  'containers': None,\n",
       "  'dataProducer': None,\n",
       "  'dataProductionDate': None,\n",
       "  'dataStore': None,\n",
       "  'experiment': None,\n",
       "  'fetchOptions': {'@id': 21,\n",
       "   '@type': 'as.dto.dataset.fetchoptions.DataSetFetchOptions',\n",
       "   'cacheMode': 'NO_CACHE',\n",
       "   'children': None,\n",
       "   'components': None,\n",
       "   'containers': None,\n",
       "   'count': None,\n",
       "   'dataStore': None,\n",
       "   'experiment': None,\n",
       "   'from': None,\n",
       "   'history': None,\n",
       "   'linkedData': None,\n",
       "   'materialProperties': None,\n",
       "   'modifier': None,\n",
       "   'parents': None,\n",
       "   'physicalData': None,\n",
       "   'properties': 10,\n",
       "   'registrator': None,\n",
       "   'sample': None,\n",
       "   'sort': None,\n",
       "   'sortBy': None,\n",
       "   'tags': None,\n",
       "   'type': None},\n",
       "  'history': None,\n",
       "  'linkedData': None,\n",
       "  'materialProperties': None,\n",
       "  'measured': True,\n",
       "  'modificationDate': 1468931672530,\n",
       "  'modifier': None,\n",
       "  'parents': None,\n",
       "  'permId': {'@id': 22,\n",
       "   '@type': 'as.dto.dataset.id.DataSetPermId',\n",
       "   'permId': '20160705105113015-195'},\n",
       "  'physicalData': None,\n",
       "  'postRegistered': True,\n",
       "  'properties': {},\n",
       "  'registrationDate': 1467708677283,\n",
       "  'registrator': None,\n",
       "  'sample': None,\n",
       "  'tags': None,\n",
       "  'type': None},\n",
       " {'@id': 23,\n",
       "  '@type': 'as.dto.dataset.DataSet',\n",
       "  'accessDate': 1469048701325,\n",
       "  'children': None,\n",
       "  'code': '20160705171928021-202',\n",
       "  'components': None,\n",
       "  'containers': None,\n",
       "  'dataProducer': None,\n",
       "  'dataProductionDate': None,\n",
       "  'dataStore': None,\n",
       "  'experiment': None,\n",
       "  'fetchOptions': {'@id': 24,\n",
       "   '@type': 'as.dto.dataset.fetchoptions.DataSetFetchOptions',\n",
       "   'cacheMode': 'NO_CACHE',\n",
       "   'children': None,\n",
       "   'components': None,\n",
       "   'containers': None,\n",
       "   'count': None,\n",
       "   'dataStore': None,\n",
       "   'experiment': None,\n",
       "   'from': None,\n",
       "   'history': None,\n",
       "   'linkedData': None,\n",
       "   'materialProperties': None,\n",
       "   'modifier': None,\n",
       "   'parents': None,\n",
       "   'physicalData': None,\n",
       "   'properties': 10,\n",
       "   'registrator': None,\n",
       "   'sample': None,\n",
       "   'sort': None,\n",
       "   'sortBy': None,\n",
       "   'tags': None,\n",
       "   'type': None},\n",
       "  'history': None,\n",
       "  'linkedData': None,\n",
       "  'materialProperties': None,\n",
       "  'measured': True,\n",
       "  'modificationDate': 1467731971431,\n",
       "  'modifier': None,\n",
       "  'parents': None,\n",
       "  'permId': {'@id': 25,\n",
       "   '@type': 'as.dto.dataset.id.DataSetPermId',\n",
       "   'permId': '20160705171928021-202'},\n",
       "  'physicalData': None,\n",
       "  'postRegistered': True,\n",
       "  'properties': {},\n",
       "  'registrationDate': 1467731971431,\n",
       "  'registrator': None,\n",
       "  'sample': None,\n",
       "  'tags': None,\n",
       "  'type': None},\n",
       " {'@id': 26,\n",
       "  '@type': 'as.dto.dataset.DataSet',\n",
       "  'accessDate': 1469049242806,\n",
       "  'children': None,\n",
       "  'code': '20160705175418011-204',\n",
       "  'components': None,\n",
       "  'containers': None,\n",
       "  'dataProducer': None,\n",
       "  'dataProductionDate': None,\n",
       "  'dataStore': None,\n",
       "  'experiment': None,\n",
       "  'fetchOptions': {'@id': 27,\n",
       "   '@type': 'as.dto.dataset.fetchoptions.DataSetFetchOptions',\n",
       "   'cacheMode': 'NO_CACHE',\n",
       "   'children': None,\n",
       "   'components': None,\n",
       "   'containers': None,\n",
       "   'count': None,\n",
       "   'dataStore': None,\n",
       "   'experiment': None,\n",
       "   'from': None,\n",
       "   'history': None,\n",
       "   'linkedData': None,\n",
       "   'materialProperties': None,\n",
       "   'modifier': None,\n",
       "   'parents': None,\n",
       "   'physicalData': None,\n",
       "   'properties': 10,\n",
       "   'registrator': None,\n",
       "   'sample': None,\n",
       "   'sort': None,\n",
       "   'sortBy': None,\n",
       "   'tags': None,\n",
       "   'type': None},\n",
       "  'history': None,\n",
       "  'linkedData': None,\n",
       "  'materialProperties': None,\n",
       "  'measured': True,\n",
       "  'modificationDate': 1467734061565,\n",
       "  'modifier': None,\n",
       "  'parents': None,\n",
       "  'permId': {'@id': 28,\n",
       "   '@type': 'as.dto.dataset.id.DataSetPermId',\n",
       "   'permId': '20160705175418011-204'},\n",
       "  'physicalData': None,\n",
       "  'postRegistered': True,\n",
       "  'properties': {},\n",
       "  'registrationDate': 1467734061565,\n",
       "  'registrator': None,\n",
       "  'sample': None,\n",
       "  'tags': None,\n",
       "  'type': None},\n",
       " {'@id': 29,\n",
       "  '@type': 'as.dto.dataset.DataSet',\n",
       "  'accessDate': 1467670624035,\n",
       "  'children': None,\n",
       "  'code': '20160705001541496-194',\n",
       "  'components': None,\n",
       "  'containers': None,\n",
       "  'dataProducer': None,\n",
       "  'dataProductionDate': None,\n",
       "  'dataStore': None,\n",
       "  'experiment': None,\n",
       "  'fetchOptions': {'@id': 30,\n",
       "   '@type': 'as.dto.dataset.fetchoptions.DataSetFetchOptions',\n",
       "   'cacheMode': 'NO_CACHE',\n",
       "   'children': None,\n",
       "   'components': None,\n",
       "   'containers': None,\n",
       "   'count': None,\n",
       "   'dataStore': None,\n",
       "   'experiment': None,\n",
       "   'from': None,\n",
       "   'history': None,\n",
       "   'linkedData': None,\n",
       "   'materialProperties': None,\n",
       "   'modifier': None,\n",
       "   'parents': None,\n",
       "   'physicalData': None,\n",
       "   'properties': 10,\n",
       "   'registrator': None,\n",
       "   'sample': None,\n",
       "   'sort': None,\n",
       "   'sortBy': None,\n",
       "   'tags': None,\n",
       "   'type': None},\n",
       "  'history': None,\n",
       "  'linkedData': None,\n",
       "  'materialProperties': None,\n",
       "  'measured': True,\n",
       "  'modificationDate': 1467670542904,\n",
       "  'modifier': None,\n",
       "  'parents': None,\n",
       "  'permId': {'@id': 31,\n",
       "   '@type': 'as.dto.dataset.id.DataSetPermId',\n",
       "   'permId': '20160705001541496-194'},\n",
       "  'physicalData': None,\n",
       "  'postRegistered': True,\n",
       "  'properties': {},\n",
       "  'registrationDate': 1467670542904,\n",
       "  'registrator': None,\n",
       "  'sample': None,\n",
       "  'tags': None,\n",
       "  'type': None},\n",
       " {'@id': 32,\n",
       "  '@type': 'as.dto.dataset.DataSet',\n",
       "  'accessDate': 1467672114927,\n",
       "  'children': None,\n",
       "  'code': '20160705000958412-193',\n",
       "  'components': None,\n",
       "  'containers': None,\n",
       "  'dataProducer': None,\n",
       "  'dataProductionDate': None,\n",
       "  'dataStore': None,\n",
       "  'experiment': None,\n",
       "  'fetchOptions': {'@id': 33,\n",
       "   '@type': 'as.dto.dataset.fetchoptions.DataSetFetchOptions',\n",
       "   'cacheMode': 'NO_CACHE',\n",
       "   'children': None,\n",
       "   'components': None,\n",
       "   'containers': None,\n",
       "   'count': None,\n",
       "   'dataStore': None,\n",
       "   'experiment': None,\n",
       "   'from': None,\n",
       "   'history': None,\n",
       "   'linkedData': None,\n",
       "   'materialProperties': None,\n",
       "   'modifier': None,\n",
       "   'parents': None,\n",
       "   'physicalData': None,\n",
       "   'properties': 10,\n",
       "   'registrator': None,\n",
       "   'sample': None,\n",
       "   'sort': None,\n",
       "   'sortBy': None,\n",
       "   'tags': None,\n",
       "   'type': None},\n",
       "  'history': None,\n",
       "  'linkedData': None,\n",
       "  'materialProperties': None,\n",
       "  'measured': True,\n",
       "  'modificationDate': 1467670202154,\n",
       "  'modifier': None,\n",
       "  'parents': None,\n",
       "  'permId': {'@id': 34,\n",
       "   '@type': 'as.dto.dataset.id.DataSetPermId',\n",
       "   'permId': '20160705000958412-193'},\n",
       "  'physicalData': None,\n",
       "  'postRegistered': True,\n",
       "  'properties': {},\n",
       "  'registrationDate': 1467670202154,\n",
       "  'registrator': None,\n",
       "  'sample': None,\n",
       "  'tags': None,\n",
       "  'type': None}]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sample.dataSets"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## working with datasets and files"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>code</th>\n",
       "      <th>properties</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>20160705105115020-196</td>\n",
       "      <td>{'DESCRIPTION': 'This is a new description of ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>20160705105113015-195</td>\n",
       "      <td>{}</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>20160705171928021-202</td>\n",
       "      <td>{}</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>20160705175418011-204</td>\n",
       "      <td>{}</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>20160705001541496-194</td>\n",
       "      <td>{}</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>20160705000958412-193</td>\n",
       "      <td>{}</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                    code                                         properties\n",
       "0  20160705105115020-196  {'DESCRIPTION': 'This is a new description of ...\n",
       "1  20160705105113015-195                                                 {}\n",
       "2  20160705171928021-202                                                 {}\n",
       "3  20160705175418011-204                                                 {}\n",
       "4  20160705001541496-194                                                 {}\n",
       "5  20160705000958412-193                                                 {}"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sample.get_datasets()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [],
   "source": [
    "ds1 = o.get_dataset('20160705105115020-196')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['original/1468931666.06/Untitled.ipynb',\n",
       " 'original/1468931666.53/Untitled.ipynb']"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ds1.file_list()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "ds1.download()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Untitled.ipynb\r\n"
     ]
    }
   ],
   "source": [
    "ls localhost/20160705105115020-196/original/1468931666.06/"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Analysis ##\n",
    "An analysis has a name, description and parent dataset. Anytime it is saved, a new version of it is saved. On openBIS, an analysis is a container object which contains the result datafiles and the jupyter notebook. If an analysis is saved a second time, two new datasets are generated, both having parents of their previous datasets set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'20160630105337180-82'"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s1 = o.get_sample('/VERMEUL/HOW_WONDERFUL2')\n",
    "s1.permid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
Swen Vermeul's avatar
Swen Vermeul committed
   "source": [
    "o.new_analysis(\n",
    "    name='my_delightful_analysis', \n",
    "    description='ave, some!', \n",
    "    sample = s1,\n",
    "    notebook_files=['pybis playground localhost.ipynb'],\n",
    "    result_files=['testfile.txt']\n",
    ")"
   ]
  },
  {
Swen Vermeul's avatar
Swen Vermeul committed
   "metadata": {
    "collapsed": true
   },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### create semantic annotation for sample type\n",
    "predicate and descriptor values omitted for brevity"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
Swen Vermeul's avatar
Swen Vermeul committed
   "outputs": [],
    "sa = o.new_semantic_annotation(entityType = 'UNKNOWN')\n",
    "sa.save()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### create semantic annotation for property type\n",
    "predicate and descriptor values omitted for brevity"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "sa = o.new_semantic_annotation(\n",
    "    propertyType = 'DESCRIPTION'\n",
    ")\n",
    "sa.save()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### create semantic annotation for sample property assignment\n",
    "predicate and descriptor values omitted for brevity"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "sa = o.new_semantic_annotation(\n",
    "    entityType = 'UNKNOWN',\n",
    "    propertyType = 'DESCRIPTION',\n",
    "    predicateOntologyId = 'po_id', \n",
    "    predicateOntologyVersion = 'po_version', \n",
    "    predicateAccessionId = 'pa_id',\n",
    "    descriptorOntologyId = 'do_id',\n",
    "    descriptorOntologyVersion = 'do_version',\n",
    "    descriptorAccessionId = 'da_id'\n",
    ")\n",
    "sa.save()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### create semantic annotation with additional fields"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Semantic annotation successfully created.\n"
     ]
    }
   ],
   "source": [
    "sa = o.new_semantic_annotation(\n",
    "    entityType = 'UNKNOWN', \n",
    "    predicateOntologyId = 'po_id', \n",
    "    predicateOntologyVersion = 'po_version', \n",
    "    predicateAccessionId = 'pa_id',\n",
    "    descriptorOntologyId = 'do_id',\n",
    "    descriptorOntologyVersion = 'do_version',\n",
    "    descriptorAccessionId = 'da_id'\n",
    ")\n",
    "sa.save()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "entityType.add_annotation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "sample_type = o.get_sample_types()[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "sample_type.add_annotation()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### get all semantic annotations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>permId</th>\n",
       "      <th>entityType</th>\n",
       "      <th>propertyType</th>\n",
       "      <th>predicateOntologyId</th>\n",
       "      <th>predicateOntologyVersion</th>\n",
       "      <th>predicateAccessionId</th>\n",
       "      <th>descriptorOntologyId</th>\n",
       "      <th>descriptorOntologyVersion</th>\n",
       "      <th>descriptorAccessionId</th>\n",
       "      <th>creationDate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>20180810150941390-720</td>\n",
       "      <td>UNKNOWN</td>\n",
       "      <td>None</td>\n",
       "      <td>po_id</td>\n",
       "      <td>po_version</td>\n",
       "      <td>pa_id</td>\n",
       "      <td>do_id</td>\n",
       "      <td>do_version</td>\n",
       "      <td>da_id</td>\n",
       "      <td>2018-08-10 15:09:41</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    permId                 entityType    propertyType    predicateOntologyId    predicateOntologyVersion    predicateAccessionId    descriptorOntologyId    descriptorOntologyVersion    descriptorAccessionId    creationDate\n",
       "--  ---------------------  ------------  --------------  ---------------------  --------------------------  ----------------------  ----------------------  ---------------------------  -----------------------  -------------------\n",
       " 0  20180810150941390-720  UNKNOWN                       po_id                  po_version                  pa_id                   do_id                   do_version                   da_id                    2018-08-10 15:09:41"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_semantic_annotations()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### get semantic annotation by perm id"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "sa = o.get_semantic_annotation(\"20180810150658470-719\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### update semantic annotation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Semantic annotation successfully updated.\n"
     ]
    }
   ],
   "source": [
    "sa.predicateOntologyId = 'new_po_id'\n",
    "sa.descriptorOntologyId = 'new_do_id'\n",
    "sa.save()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### delete semantic annotation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Semantic annotation successfully deleted.\n"
     ]
    }
   ],
   "source": [
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
Swen Vermeul's avatar
Swen Vermeul committed
  }
 ],
 "metadata": {
  "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.6.0"
Swen Vermeul's avatar
Swen Vermeul committed
  }
 },
 "nbformat": 4,
Swen Vermeul's avatar
Swen Vermeul committed
}