Skip to content
Snippets Groups Projects
pybis demo.ipynb 139 KiB
Newer Older
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Working with pybis"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## connect to openBIS\n",
    "(using stored session token ~/.pybis/localhost.token)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'vermeul-170105170439098x34CD40C052CDA7A12E34AFFDB14FB134'"
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pybis import Openbis\n",
    "o = Openbis(url='https://localhost:8443', verify_certificates=False)\n",
    "o.token"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.is_session_active()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Manually connect to an instance using your username/password and storing the token for later use"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "········\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'vermeul-170105170439098x34CD40C052CDA7A12E34AFFDB14FB134'"
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pybis import Openbis\n",
    "o = Openbis('https://localhost:8443', verify_certificates=False)\n",
    "\n",
    "import getpass\n",
    "password = getpass.getpass()\n",
    "o.login('vermeul',password, save_token=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "you can connect to another openBIS instance if you have to:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "········\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'vermeul-161213095820805x4BD32D0691A016963A62966F872D0D65'"
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pybis import Openbis\n",
    "import getpass\n",
    "o2 = Openbis('https://sprint-openbis.ethz.ch:8443', verify_certificates=False)\n",
    "password = getpass.getpass()\n",
    "o2.login('vermeul',password)\n",
    "o2.token"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Check wether our session is still valid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o2.is_session_active()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "o2.logout()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## get general information about openBIS"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": 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>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": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_datastores()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "sp = o.get_space('VERMEUL')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'@id': 3, '@type': 'as.dto.space.id.SpacePermId', 'permId': 'VERMEUL'}"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp.permId"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": 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>code</th>\n",
       "      <th>description</th>\n",
       "      <th>registrationDate</th>\n",
       "      <th>modificationDate</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",
       "      <td>2016-07-15 02:54:45</td>\n",
       "      <td>2016-07-15 02:54:45</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>MATERIALS</td>\n",
       "      <td>None</td>\n",
       "      <td>2016-06-24 11:47:52</td>\n",
       "      <td>2016-06-24 11:47:52</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>METHODS</td>\n",
       "      <td>None</td>\n",
       "      <td>2016-06-24 11:47:53</td>\n",
       "      <td>2016-06-24 11:47:53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>MY_NEW_SPACE</td>\n",
       "      <td>this is yet another space</td>\n",
       "      <td>2016-07-15 03:02:14</td>\n",
       "      <td>2016-07-15 03:02:14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>VERMEUL</td>\n",
       "      <td>Space for user vermeul</td>\n",
       "      <td>2016-06-24 11:50:48</td>\n",
       "      <td>2016-06-24 11:50:48</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "<pybis.pybis.Things at 0x7f75484a1320>"
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sp=o.get_spaces()\n",
    "sp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": 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>code</th>\n",
       "      <th>space</th>\n",
       "      <th>registrator</th>\n",
       "      <th>registrationDate</th>\n",
       "      <th>modifier</th>\n",
       "      <th>modificationDate</th>\n",
       "      <th>permid</th>\n",
       "      <th>identifier</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>BACTERIA</td>\n",
       "      <td>MATERIALS</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-24 11:47:52</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-24 11:47:52</td>\n",
       "      <td>20160624054751885-33</td>\n",
       "      <td>/MATERIALS/BACTERIA</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>CELL_LINES</td>\n",
       "      <td>MATERIALS</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-24 11:47:52</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-24 11:47:52</td>\n",
       "      <td>20160624054751885-34</td>\n",
       "      <td>/MATERIALS/CELL_LINES</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>FLIES</td>\n",
       "      <td>MATERIALS</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-24 11:47:52</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-24 11:47:52</td>\n",
       "      <td>20160624054751885-35</td>\n",
       "      <td>/MATERIALS/FLIES</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>PLASMIDS</td>\n",
       "      <td>MATERIALS</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-24 11:47:52</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-24 11:47:52</td>\n",
       "      <td>20160624054751885-37</td>\n",
       "      <td>/MATERIALS/PLASMIDS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>POLYNUCLEOTIDES</td>\n",
       "      <td>MATERIALS</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-24 11:47:52</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-24 11:47:52</td>\n",
       "      <td>20160624054751885-38</td>\n",
       "      <td>/MATERIALS/POLYNUCLEOTIDES</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>REAGENTS</td>\n",
       "      <td>MATERIALS</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-24 11:47:52</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-24 11:47:52</td>\n",
       "      <td>20160624054751885-32</td>\n",
       "      <td>/MATERIALS/REAGENTS</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>YEASTS</td>\n",
       "      <td>MATERIALS</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-24 11:47:52</td>\n",
       "      <td></td>\n",
       "      <td>2016-10-04 22:04:57</td>\n",
       "      <td>20160624054751885-36</td>\n",
       "      <td>/MATERIALS/YEASTS</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "<pybis.pybis.Things at 0x7f7548264470>"
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_projects(space='MATERIALS')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**get vocabulary terms**"
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "            <table border=\"1\" class=\"dataframe\">\n",
       "            <thead>\n",
       "                <tr style=\"text-align: right;\">\n",
       "                <th>vocabulary term</th>\n",
       "                <th>label</th>\n",
       "                <th>description</th>\n",
       "                <th>vocabulary</th>\n",
       "                </tr>\n",
       "            </thead>\n",
       "            <tbody>\n",
       "        <tr> <td>PBLUESCRIPT_II_KS_PLUS</td> <td>pBluescript II KS +</td> <td>Commercial vector for cloning in bacteria (Stratagene)</td> <td>BACKBONE</td> </tr><tr> <td>PSPPOLY_A</td> <td>pSPpoly(A)</td> <td>Standard cloning vector. It can be used for in vitro trascription from SP6 promoter. It contains a poly(A) to generate poly(A)+ transcripts in vitro (Promega)</td> <td>BACKBONE</td> </tr><tr> <td>PRS30Y</td> <td>pRS30y</td> <td>Integrative yeast shuttle vector from Sikorski et al, 1989</td> <td>BACKBONE</td> </tr><tr> <td>PRS31Y</td> <td>pRS31y</td> <td>Centromeric yeast shuttle vector from Sikorski et al, 1989</td> <td>BACKBONE</td> </tr><tr> <td>PRS40Y</td> <td>pRS40y</td> <td>Integrative yeast shuttle vector from Sikorski et al, 1992</td> <td>BACKBONE</td> </tr><tr> <td>PRS41Y</td> <td>pRS41y</td> <td>Centromeric yeast shuttle vector from Sikorski et al, 1992</td> <td>BACKBONE</td> </tr><tr> <td>PRS42Y</td> <td>pRS42y</td> <td>2-micron-based yeast shuttle vector from Sikorski et al, 1992</td> <td>BACKBONE</td> </tr><tr> <td>UNKNOWN</td> <td>unknown</td> <td>unknown vector</td> <td>BACKBONE</td> </tr><tr> <td>PGEX4T1</td> <td>pGEX4T1</td> <td>Vector for bacterial expression</td> <td>BACKBONE</td> </tr>\n",
       "            </tbody>\n",
       "            </table>\n",
       "        "
      ],
      "text/plain": [
       "<pybis.pybis.Vocabulary at 0x7f75482525c0>"
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = o.get_terms('BACKBONE')\n",
    "x"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## get information about general types"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from pybis import Openbis\n",
    "o = Openbis(url='https://localhost:8443', verify_certificates=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
    "collapsed": 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>code</th>\n",
       "      <th>description</th>\n",
       "      <th>modificationDate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>DEFAULT_EXPERIMENT</td>\n",
       "      <td>Default Experiment</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>MATERIALS</td>\n",
       "      <td>Folder used to organize samples in the Invento...</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>METHODS</td>\n",
       "      <td>Folder used to organize samples in the Invento...</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>BOARDS</td>\n",
       "      <td>Folder used to organize boards</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>UNKNOWN</td>\n",
       "      <td>Unknown</td>\n",
       "      <td>2016-06-24 10:47:01</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "<pybis.pybis.Things at 0x7f7548252438>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
    "o.get_experiment_types()"
   "execution_count": 13,
   "metadata": {
    "collapsed": 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>code</th>\n",
       "      <th>description</th>\n",
       "      <th>generatedCodePrefix</th>\n",
       "      <th>modificationDate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>ANTIBODY</td>\n",
       "      <td></td>\n",
       "      <td>ANT</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>CHEMICAL</td>\n",
       "      <td>CHE</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>ENZYME</td>\n",
       "      <td>ENZ</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>MEDIA</td>\n",
       "      <td>MED</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>SOLUTION_BUFFER</td>\n",
       "      <td>SOL</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>OLIGO</td>\n",
       "      <td>OLI</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>RNA</td>\n",
       "      <td></td>\n",
       "      <td>RNA</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>PLASMID</td>\n",
       "      <td></td>\n",
       "      <td>PLA</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>BACTERIA</td>\n",
       "      <td></td>\n",
       "      <td>BAC</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>YEAST</td>\n",
       "      <td></td>\n",
       "      <td>YEA</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>CELL_LINE</td>\n",
       "      <td></td>\n",
       "      <td>CEL</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>FLY</td>\n",
       "      <td></td>\n",
       "      <td>FLY</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>EXPERIMENTAL_STEP</td>\n",
       "      <td></td>\n",
       "      <td>EXP</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>GENERAL_PROTOCOL</td>\n",
       "      <td></td>\n",
       "      <td>GEN</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>PCR_PROTOCOL</td>\n",
       "      <td></td>\n",
       "      <td>PCR</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>WESTERN_BLOTTING_PROTOCOL</td>\n",
       "      <td></td>\n",
       "      <td>WES</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>DRAWING_BOARD</td>\n",
       "      <td></td>\n",
       "      <td>DRA</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>UNKNOWN</td>\n",
       "      <td>Unknown</td>\n",
       "      <td>S</td>\n",
       "      <td>2016-06-24 10:47:01</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "<pybis.pybis.Things at 0x7f7548261ef0>"
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_sample_types()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": 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>code</th>\n",
       "      <th>description</th>\n",
       "      <th>modificationDate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>MY_VERY_EXCITING_MATERIAL</td>\n",
       "      <td>looks like dirt and probably is dirt</td>\n",
       "      <td>2016-09-24 00:46:19</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
       "                        code                           description  \\\n",
       "0  MY_VERY_EXCITING_MATERIAL  looks like dirt and probably is dirt   \n",
       "\n",
       "      modificationDate  \n",
       "0  2016-09-24 00:46:19  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_material_types()"
   "execution_count": 4,
   "metadata": {
    "collapsed": 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>code</th>\n",
       "      <th>description</th>\n",
       "      <th>kind</th>\n",
       "      <th>modificationDate</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",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>SEQ_FILE</td>\n",
       "      <td></td>\n",
       "      <td>PHYSICAL</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>RAW_DATA</td>\n",
       "      <td></td>\n",
       "      <td>PHYSICAL</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>ANALYZED_DATA</td>\n",
       "      <td></td>\n",
       "      <td>PHYSICAL</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>ATTACHMENT</td>\n",
       "      <td></td>\n",
       "      <td>PHYSICAL</td>\n",
       "      <td>2016-06-24 10:48:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>DRAWING_BOARD</td>\n",
       "      <td></td>\n",
       "      <td>PHYSICAL</td>\n",
       "      <td>2016-06-24 10:48:02</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",
       "      <td>2016-06-29 15:29:06</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",
       "      <td>2016-06-29 15:29:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>UNKNOWN</td>\n",
       "      <td>Unknown</td>\n",
       "      <td>PHYSICAL</td>\n",
       "      <td>2016-06-24 10:47:01</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",
       "      <td>2016-06-29 15:29:06</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                code               description       kind     modificationDate\n",
       "0        ELN_PREVIEW         ELN Preview image   PHYSICAL  2016-06-24 10:48:02\n",
       "1           SEQ_FILE                             PHYSICAL  2016-06-24 10:48:02\n",
       "2           RAW_DATA                             PHYSICAL  2016-06-24 10:48:02\n",
       "3      ANALYZED_DATA                             PHYSICAL  2016-06-24 10:48:02\n",
       "4         ATTACHMENT                             PHYSICAL  2016-06-24 10:48:02\n",
       "5      DRAWING_BOARD                             PHYSICAL  2016-06-24 10:48:02\n",
       "6  JUPYTER_CONTAINER  Jupyter Analysis Results  CONTAINER  2016-06-29 15:29:06\n",
       "7   JUPYTER_NOTEBOOK   Analysis Notebook Files   PHYSICAL  2016-06-29 15:29:07\n",
       "8            UNKNOWN                   Unknown   PHYSICAL  2016-06-24 10:47:01\n",
       "9     JUPYTER_RESULT    Analysis Results Files   PHYSICAL  2016-06-29 15:29:06"
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_dataset_types()"
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<p>DataSetType: <b>ELN_PREVIEW</b>\n",
       "<p>description: ELN Preview image</p>\n",
       "        \n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>property</th>\n",
       "      <th>label</th>\n",
       "      <th>description</th>\n",
       "      <th>dataType</th>\n",
       "      <th>mandatory</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "        <tr> <th>name</th> <td>Name</td> <td>Name</td> <td>VARCHAR</td> <td>False</td> </tr><tr> <th>notes</th> <td>Notes</td> <td>Notes regarding the dataset</td> <td>MULTILINE_VARCHAR</td> <td>False</td> </tr><tr> <th>xmlcomments</th> <td>Comments List</td> <td>Several comments can be added by different users</td> <td>XML</td> <td>False</td> </tr>\n",
       "            </tbody>\n",
       "            </table>\n",
       "        "
      ],
      "text/plain": [
       "<pybis.pybis.PropertyAssignments at 0x7eff71169b38>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_dataset_types()[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<p>DataSetType: <b>ELN_PREVIEW</b>\n",
       "<p>description: ELN Preview image</p>\n",
       "        \n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>property</th>\n",
       "      <th>label</th>\n",
       "      <th>description</th>\n",
       "      <th>dataType</th>\n",
       "      <th>mandatory</th>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "        <tr> <th>name</th> <td>Name</td> <td>Name</td> <td>VARCHAR</td> <td>False</td> </tr><tr> <th>notes</th> <td>Notes</td> <td>Notes regarding the dataset</td> <td>MULTILINE_VARCHAR</td> <td>False</td> </tr><tr> <th>xmlcomments</th> <td>Comments List</td> <td>Several comments can be added by different users</td> <td>XML</td> <td>False</td> </tr>\n",
       "            </tbody>\n",
       "            </table>\n",
       "        "
      ],
      "text/plain": [
       "<pybis.pybis.PropertyAssignments at 0x7f908e8c9ba8>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_dataset_type('ELN_PREVIEW')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<p>SampleType: <b>YEAST</b>\n",
       "<p>description: </p>\n",
       "        <p>Code autogenerated: True</p>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>property</th>\n",
       "      <th>label</th>\n",
       "      <th>description</th>\n",
       "      <th>dataType</th>\n",
       "      <th>mandatory</th>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "        <tr> <th>name</th> <td>Name</td> <td>Name</td> <td>VARCHAR</td> <td>False</td> </tr><tr> <th>show_in_project_overview</th> <td>Show in project overview</td> <td>Show in project overview</td> <td>BOOLEAN</td> <td>False</td> </tr><tr> <th>owner</th> <td>Owner</td> <td>Who produced/owned the sample</td> <td>CONTROLLEDVOCABULARY</td> <td>False</td> </tr><tr> <th>owner_number</th> <td>Owner number</td> <td>Owner number</td> <td>MULTILINE_VARCHAR</td> <td>False</td> </tr><tr> <th>genetic_modification</th> <td>Genetic modifications</td> <td>Genetic modifications composed by the Plasmid ancestors</td> <td>MULTILINE_VARCHAR</td> <td>False</td> </tr><tr> <th>genetic_background</th> <td>Genetic Background</td> <td>Genetic background of the yeast strain</td> <td>CONTROLLEDVOCABULARY</td> <td>False</td> </tr><tr> <th>mating_type</th> <td>Mating Type</td> <td>Mating type or ploidy of the yeast strain</td> <td>CONTROLLEDVOCABULARY</td> <td>False</td> </tr><tr> <th>background-specific_markers</th> <td>Background-specific markers</td> <td>Background-specific markers available in the strain for further genetic modifications</td> <td>CONTROLLEDVOCABULARY</td> <td>False</td> </tr><tr> <th>common_markers</th> <td>Common markers</td> <td>Common markers available in the strain for further genetic modifications</td> <td>CONTROLLEDVOCABULARY</td> <td>False</td> </tr><tr> <th>endogenous_plasmid</th> <td>Endogenous 2micron plasmid in yeast</td> <td>Presence of an endogenous cir 2micron plasmid</td> <td>CONTROLLEDVOCABULARY</td> <td>False</td> </tr><tr> <th>origin</th> <td>Origin</td> <td>How the strain/cell line was produced</td> <td>CONTROLLEDVOCABULARY</td> <td>False</td> </tr><tr> <th>strain_check</th> <td>Strain Check</td> <td>Check done to verify the modifications introduced in the strain</td> <td>CONTROLLEDVOCABULARY</td> <td>False</td> </tr><tr> <th>source</th> <td>Source</td> <td>Source from where the construct/strain/cell line obtained or purchased, if it was not produced in the lab</td> <td>VARCHAR</td> <td>False</td> </tr><tr> <th>publication</th> <td>Publication</td> <td>Publication from where the information was first found OR technical sheet given by the manufacturer</td> <td>MULTILINE_VARCHAR</td> <td>False</td> </tr><tr> <th>notes</th> <td>Notes</td> <td>Notes regarding the dataset</td> <td>MULTILINE_VARCHAR</td> <td>False</td> </tr><tr> <th>xmlcomments</th> <td>Comments List</td> <td>Several comments can be added by different users</td> <td>XML</td> <td>False</td> </tr><tr> <th>annotations_state</th> <td>Annotations State</td> <td>Annotations State</td> <td>XML</td> <td>False</td> </tr><tr> <th>storage_names</th> <td>Storage Name</td> <td>Storage Name</td> <td>CONTROLLEDVOCABULARY</td> <td>False</td> </tr><tr> <th>storage_row</th> <td>Storage Row</td> <td>Storage Row</td> <td>INTEGER</td> <td>False</td> </tr><tr> <th>storage_column</th> <td>Storage Column</td> <td>Storage Column</td> <td>INTEGER</td> <td>False</td> </tr><tr> <th>storage_box_name</th> <td>Storage Box Name</td> <td>Storage Box Name</td> <td>VARCHAR</td> <td>False</td> </tr><tr> <th>storage_box_size</th> <td>Storage Box Size</td> <td>Storage Box Size</td> <td>CONTROLLEDVOCABULARY</td> <td>False</td> </tr><tr> <th>storage_user</th> <td>Storage User Id</td> <td>Storage User Id</td> <td>VARCHAR</td> <td>False</td> </tr><tr> <th>storage_position</th> <td>Storage Position</td> <td>Storage Position</td> <td>VARCHAR</td> <td>False</td> </tr>\n",
       "            </tbody>\n",
       "            </table>\n",
       "        "
       "<pybis.pybis.PropertyAssignments at 0x7fdc8120d828>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_sample_type('YEAST')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "almost all entities in openBIS can be tagged:"
   "execution_count": 9,
    "collapsed": false,
    "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>code</th>\n",
       "      <th>registrationDate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>A_tag</td>\n",
       "      <td>2016-07-05 23:45:04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>CREATE_JSON_TAG</td>\n",
       "      <td>2016-06-30 00:36:50</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>CREATE_JSON_TAG_2</td>\n",
       "      <td>2016-07-06 00:07:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>CREATE_JSON_TAG_3</td>\n",
       "      <td>2016-07-06 00:07:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>CREATE_JSON_TAG_blalbal</td>\n",
       "      <td>2016-11-08 10:24:18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>another_nice_tag</td>\n",
       "      <td>2016-10-06 14:43:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>another_tag</td>\n",
       "      <td>2016-10-04 11:29:02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>blblblblblb</td>\n",
       "      <td>2016-10-06 14:47:45</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>clue</td>\n",
       "      <td>2016-09-26 23:48:08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>do</td>\n",
       "      <td>2016-09-12 23:57:14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>due</td>\n",
       "      <td>2016-06-30 17:18:11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>fa</td>\n",
       "      <td>2016-09-12 23:57:29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>gimme_a_tag</td>\n",
       "      <td>2016-11-18 15:20:10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>gimme_one_more</td>\n",
       "      <td>2016-10-27 02:03:25</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>la</td>\n",
       "      <td>2016-09-12 23:57:29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>mi</td>\n",
       "      <td>2016-09-12 23:57:29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>new_tag</td>\n",
       "      <td>2016-10-06 10:49:15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>no</td>\n",
       "      <td>2016-09-26 23:48:08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>one</td>\n",
       "      <td>2016-11-09 14:27:58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>re</td>\n",
       "      <td>2016-09-12 23:57:29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>so</td>\n",
       "      <td>2016-09-12 23:57:29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>three</td>\n",
       "      <td>2016-11-09 14:27:58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>ti</td>\n",
       "      <td>2016-09-12 23:57:29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>too_late</td>\n",
       "      <td>2016-10-06 10:56:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>tre</td>\n",
       "      <td>2016-06-30 17:18:11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>two</td>\n",
       "      <td>2016-11-09 14:27:58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>uno</td>\n",
       "      <td>2016-06-30 17:18:11</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                       code     registrationDate\n",
       "0                     A_tag  2016-07-05 23:45:04\n",
       "1           CREATE_JSON_TAG  2016-06-30 00:36:50\n",
       "2         CREATE_JSON_TAG_2  2016-07-06 00:07:07\n",
       "3         CREATE_JSON_TAG_3  2016-07-06 00:07:07\n",
       "4   CREATE_JSON_TAG_blalbal  2016-11-08 10:24:18\n",
       "5          another_nice_tag  2016-10-06 14:43:21\n",
       "6               another_tag  2016-10-04 11:29:02\n",
       "7               blblblblblb  2016-10-06 14:47:45\n",
       "8                      clue  2016-09-26 23:48:08\n",
       "9                        do  2016-09-12 23:57:14\n",
       "10                      due  2016-06-30 17:18:11\n",
       "11                       fa  2016-09-12 23:57:29\n",
       "12              gimme_a_tag  2016-11-18 15:20:10\n",
       "13           gimme_one_more  2016-10-27 02:03:25\n",
       "14                       la  2016-09-12 23:57:29\n",
       "15                       mi  2016-09-12 23:57:29\n",
       "16                  new_tag  2016-10-06 10:49:15\n",
       "17                       no  2016-09-26 23:48:08\n",
       "18                      one  2016-11-09 14:27:58\n",
       "19                       re  2016-09-12 23:57:29\n",
       "20                       so  2016-09-12 23:57:29\n",
       "21                    three  2016-11-09 14:27:58\n",
       "22                       ti  2016-09-12 23:57:29\n",
       "23                 too_late  2016-10-06 10:56:07\n",
       "24                      tre  2016-06-30 17:18:11\n",
       "25                      two  2016-11-09 14:27:58\n",
       "26                      uno  2016-06-30 17:18:11"
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_tags()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**get the terms of a (controlled) vocabulary.**\n",
    "\n",
    "Some assigned properties have a controlled vocabulary, which means you can not enter anything you want."
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "            <table border=\"1\" class=\"dataframe\">\n",
       "            <thead>\n",
       "                <tr style=\"text-align: right;\">\n",
       "                <th>vocabulary term</th>\n",
       "                <th>label</th>\n",
       "                <th>description</th>\n",
       "                <th>vocabulary</th>\n",
       "                </tr>\n",
       "            </thead>\n",
       "            <tbody>\n",
       "        <tr> <td>A</td> <td>a</td> <td>None</td> <td>MATING_TYPE</td> </tr><tr> <td>ALPHA</td> <td>alpha</td> <td>None</td> <td>MATING_TYPE</td> </tr><tr> <td>DIPLOID</td> <td>diploid</td> <td>None</td> <td>MATING_TYPE</td> </tr><tr> <td>UNKNOWN</td> <td>unknown</td> <td>None</td> <td>MATING_TYPE</td> </tr>\n",
       "            </tbody>\n",
       "            </table>\n",
       "        "
      ],
      "text/plain": [
       "<pybis.pybis.Vocabulary at 0x7f75480e2f98>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_terms('MATING_TYPE')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**list all the deleted items in openBIS.**\n",
    "\n",
    "*TODO*: fetch the deletion date"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": 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>reason</th>\n",
       "      <th>type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>20160629183649792-77</td>\n",
       "      <td>no jolly good reason</td>\n",
       "      <td>as.dto.sample.id.SamplePermId</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>20160629185740101-79</td>\n",
       "      <td>no jolly good reason</td>\n",
       "      <td>as.dto.sample.id.SamplePermId</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>20160705234127476-205</td>\n",
       "      <td>jjj</td>\n",
       "      <td>as.dto.sample.id.SamplePermId</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>20160630111810821-87</td>\n",
       "      <td>no specific reason</td>\n",
       "      <td>as.dto.sample.id.SamplePermId</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>20160926234807546-364</td>\n",
       "      <td>no longer needed</td>\n",
       "      <td>as.dto.experiment.id.ExperimentPermId</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>20161004215320704-370</td>\n",
       "      <td>it was just an experiment</td>\n",
       "      <td>as.dto.experiment.id.ExperimentPermId</td>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  permId                     reason  \\\n",
       "0   20160629183649792-77       no jolly good reason   \n",
       "1   20160629185740101-79       no jolly good reason   \n",
       "2  20160705234127476-205                        jjj   \n",
       "3   20160630111810821-87         no specific reason   \n",
       "4  20160926234807546-364           no longer needed   \n",
       "5  20161004215320704-370  it was just an experiment   \n",
       "\n",
       "                                    type  \n",
       "0          as.dto.sample.id.SamplePermId  \n",
       "1          as.dto.sample.id.SamplePermId  \n",
       "2          as.dto.sample.id.SamplePermId  \n",
       "3          as.dto.sample.id.SamplePermId  \n",
       "4  as.dto.experiment.id.ExperimentPermId  \n",
       "5  as.dto.experiment.id.ExperimentPermId  "
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_deletions()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## working with experiments"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from pybis import Openbis\n",
    "o = Openbis(url='https://localhost:8443', verify_certificates=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**fetching experiments of a specific type containing tags**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false,
    "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>identifier</th>\n",
       "      <th>project</th>\n",
       "      <th>type</th>\n",
       "      <th>registrator</th>\n",
       "      <th>registrationDate</th>\n",
       "      <th>modifier</th>\n",
       "      <th>modificationDate</th>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "      <th>0</th>\n",
       "      <td>MY_FIRST_EXPERIMENT_WITH_PROPERTY</td>\n",
       "      <td>/MATERIALS/YEASTS/MY_FIRST_EXPERIMENT_WITH_PRO...</td>\n",
       "      <td>YEASTS</td>\n",
       "      <td>DEFAULT_EXPERIMENT</td>\n",
       "      <td></td>\n",
       "      <td>2016-09-24 01:51:55</td>\n",
       "      <td></td>\n",
       "      <td>2017-01-06 00:36:54</td>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "<pybis.pybis.Things at 0x7ff35ecfbe80>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "exps = o.get_experiments(\n",
    "        project='YEASTS', \n",
    "        space='MATERIALS', \n",
    "        type='DEFAULT_EXPERIMENT',\n",
    "        tags='*', \n",
    "        is_finished=True\n",
    ")\n",
    "exps"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "            <table border=\"1\" class=\"dataframe\">\n",
       "            <thead>\n",
       "                <tr style=\"text-align: right;\">\n",
       "                <th>attribute</th>\n",
       "                <th>value</th>\n",
       "                </tr>\n",
       "            </thead>\n",
       "            <tbody>\n",
       "        <tr> <td>code</td> <td>MY_FIRST_EXPERIMENT_WITH_PROPERTY</td> </tr><tr> <td>permId</td> <td>20160924015154859-355</td> </tr><tr> <td>identifier</td> <td>/MATERIALS/YEASTS/MY_FIRST_EXPERIMENT_WITH_PROPERTY</td> </tr><tr> <td>type</td> <td>DEFAULT_EXPERIMENT</td> </tr><tr> <td>space</td> <td></td> </tr><tr> <td>project</td> <td>/MATERIALS/YEASTS</td> </tr><tr> <td>tags</td> <td>['too_late']</td> </tr><tr><td>attachments</td><td></td></tr>\n",
       "            </tbody>\n",
       "            </table>\n",
       "        "
      ],
      "text/plain": [
       "<pybis.pybis.Experiment at 0x7ff35ed18f60>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "e0 = exps[0]\n",
    "e0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": 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>code</th>\n",
       "      <th>properties</th>\n",
       "      <th>type</th>\n",
       "      <th>sample</th>\n",
       "      <th>registrationDate</th>\n",
       "      <th>modificationDate</th>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "      <th>0</th>\n",
       "      <td>20170106004736870-407</td>\n",
       "      <td>{'NAME': 'dunno'}</td>\n",
       "      <td>ANALYZED_DATA</td>\n",
       "      <td>None</td>\n",
       "      <td>2017-01-06 00:47:37</td>\n",
       "      <td>2017-01-06 00:47:37</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "<pybis.pybis.Things at 0x7ff35e93a828>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "e0.get_datasets()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "            <table border=\"1\" class=\"dataframe\">\n",
       "            <thead>\n",
       "                <tr style=\"text-align: right;\">\n",
       "                <th>property</th>\n",
       "                <th>value</th>\n",
       "                </tr>\n",
       "            </thead>\n",
       "            <tbody>\n",
       "        <tr> <td>name</td> <td>blast</td> </tr><tr> <td>show_in_project_overview</td> <td>True</td> </tr><tr> <td>finished_flag</td> <td>True</td> </tr><tr> <td>experimental_goals</td> <td></td> </tr><tr> <td>grant</td> <td></td> </tr><tr> <td>start_date</td> <td></td> </tr><tr> <td>end_date</td> <td></td> </tr><tr> <td>experimental_results</td> <td></td> </tr><tr> <td>xmlcomments</td> <td></td> </tr>\n",
       "            </tbody>\n",
       "            </table>\n",
       "        "
      ],
      "text/plain": [
       "<pybis.pybis.PropertyHolder at 0x7ff35ed18cc0>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "e0.p"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "e0.p.show_in_project_overview = False"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Experiment successfully updated\n"
     ]
    }
   ],
   "source": [
    "e0.save()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "            <table border=\"1\" class=\"dataframe\">\n",
       "            <thead>\n",
       "                <tr style=\"text-align: right;\">\n",
       "                <th>attribute</th>\n",
       "                <th>value</th>\n",
       "                </tr>\n",
       "            </thead>\n",
       "            <tbody>\n",
       "        <tr> <td>code</td> <td>MY_EXPERIMENT007</td> </tr><tr> <td>permId</td> <td>20161004220718730-373</td> </tr><tr> <td>identifier</td> <td>/MATERIALS/YEASTS/MY_EXPERIMENT007</td> </tr><tr> <td>type</td> <td>DEFAULT_EXPERIMENT</td> </tr><tr> <td>space</td> <td></td> </tr><tr> <td>project</td> <td>/MATERIALS/YEASTS</td> </tr><tr> <td>tags</td> <td>[]</td> </tr><tr><td>attachments</td><td>Bildschirmfoto 2016-12-20 um 10.47.26.png<br/>Ein Saurier.txt</td></tr>\n",
       "            </tbody>\n",
       "            </table>\n",
       "        "
      ],
      "text/plain": [
       "<pybis.pybis.Experiment at 0x7fd2241efcf8>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "e = o.get_experiment('/MATERIALS/YEASTS/MY_EXPERIMENT007')\n",
    "e"
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "            <table border=\"1\" class=\"dataframe\">\n",
       "            <thead>\n",
       "                <tr style=\"text-align: right;\">\n",
       "                <th>attribute</th>\n",
       "                <th>value</th>\n",
       "                </tr>\n",
       "            </thead>\n",
       "            <tbody>\n",
       "        <tr> <td>code</td> <td>MY_EXPERIMENT007</td> </tr><tr> <td>permId</td> <td>20161004220718730-373</td> </tr><tr> <td>identifier</td> <td>/MATERIALS/YEASTS/MY_EXPERIMENT007</td> </tr><tr> <td>type</td> <td>DEFAULT_EXPERIMENT</td> </tr><tr> <td>space</td> <td></td> </tr><tr> <td>project</td> <td>/MATERIALS/YEASTS</td> </tr><tr> <td>tags</td> <td>[]</td> </tr><tr><td>attachments</td><td>Bildschirmfoto 2016-12-20 um 10.47.26.png<br/>Ein Saurier.txt</td></tr>\n",
       "            </tbody>\n",
       "            </table>\n",
       "        "
      ],
      "text/plain": [
       "<pybis.pybis.Experiment at 0x7fd2241efc18>"
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_experiment('20161004220718730-373')"
   "execution_count": 11,
   "metadata": {
    "collapsed": 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>identifier</th>\n",
       "      <th>permId</th>\n",
       "      <th>experiment</th>\n",
       "      <th>sample_type</th>\n",
       "      <th>registrator</th>\n",
       "      <th>registrationDate</th>\n",
       "      <th>modifier</th>\n",
       "      <th>modificationDate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>/MATERIALS/FLY43</td>\n",
       "      <td>20170104000802333-404</td>\n",
       "      <td>/MATERIALS/YEASTS/MY_EXPERIMENT007</td>\n",
       "      <td>FLY</td>\n",
       "      <td></td>\n",
       "      <td>2017-01-04 00:08:02</td>\n",
       "      <td></td>\n",
       "      <td>2017-01-04 00:08:47</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>/MATERIALS/FLY45</td>\n",
       "      <td>20170104000847172-405</td>\n",
       "      <td>/MATERIALS/YEASTS/MY_EXPERIMENT007</td>\n",
       "      <td>FLY</td>\n",
       "      <td></td>\n",
       "      <td>2017-01-04 00:08:47</td>\n",
       "      <td></td>\n",
       "      <td>2017-01-04 00:36:09</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "<pybis.pybis.Things at 0x7fd223f3f208>"
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "e.get_samples()"
   "execution_count": 12,
   "metadata": {
    "collapsed": 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>identifier</th>\n",
       "      <th>permId</th>\n",
       "      <th>experiment</th>\n",
       "      <th>sample_type</th>\n",
       "      <th>registrator</th>\n",
       "      <th>registrationDate</th>\n",
       "      <th>modifier</th>\n",
       "      <th>modificationDate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>/MATERIALS/FLY43</td>\n",
       "      <td>20170104000802333-404</td>\n",
       "      <td>/MATERIALS/YEASTS/MY_EXPERIMENT007</td>\n",
       "      <td>FLY</td>\n",
       "      <td></td>\n",
       "      <td>2017-01-04 00:08:02</td>\n",
       "      <td></td>\n",
       "      <td>2017-01-04 00:08:47</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>/MATERIALS/FLY45</td>\n",
       "      <td>20170104000847172-405</td>\n",
       "      <td>/MATERIALS/YEASTS/MY_EXPERIMENT007</td>\n",
       "      <td>FLY</td>\n",
       "      <td>2017-01-04 00:08:47</td>\n",
       "      <td>2017-01-04 00:36:09</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "<pybis.pybis.Things at 0x7fd223f3f8d0>"
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_samples(experiment='20161004220718730-373')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "get all experiment with a given property"
   "execution_count": 15,
   "metadata": {
    "collapsed": 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>code</th>\n",
       "      <th>identifier</th>\n",
       "      <th>project</th>\n",
       "      <th>type</th>\n",
       "      <th>registrator</th>\n",
       "      <th>registrationDate</th>\n",
       "      <th>modifier</th>\n",
       "      <th>modificationDate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>MY_EXPERIMENT013</td>\n",
       "      <td>/MATERIALS/YEASTS/MY_EXPERIMENT013</td>\n",
       "      <td>YEASTS</td>\n",
       "      <td>DEFAULT_EXPERIMENT</td>\n",
       "      <td></td>\n",
       "      <td>2016-10-04 22:09:15</td>\n",
       "      <td></td>\n",
       "      <td>2016-12-23 16:58:43</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "<pybis.pybis.Things at 0x7fd223f4c860>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_experiments(is_finished=False, name='blast')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### updating an experiment."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "            <table border=\"1\" class=\"dataframe\">\n",
       "            <thead>\n",
       "                <tr style=\"text-align: right;\">\n",
       "                <th>attribute</th>\n",
       "                <th>value</th>\n",
       "                </tr>\n",
       "            </thead>\n",
       "            <tbody>\n",
       "        <tr> <td>code</td> <td>MY_EXPERIMENT3</td> </tr><tr> <td>permId</td> <td>20160924015723360-356</td> </tr><tr> <td>identifier</td> <td>/MATERIALS/YEASTS/MY_EXPERIMENT3</td> </tr><tr> <td>type</td> <td>DEFAULT_EXPERIMENT</td> </tr><tr> <td>space</td> <td></td> </tr><tr> <td>project</td> <td>/MATERIALS/YEASTS</td> </tr><tr> <td>tags</td> <td>[]</td> </tr><tr> <td>samples</td> <td></td> </tr><tr> <td>datasets</td> <td></td> </tr><tr><td>attachments</td><td></td></tr>\n",
       "            </tbody>\n",
       "            </table>\n",
       "        "
      ],
      "text/plain": [
       "<pybis.pybis.Experiment at 0x7fdbc7570748>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o.get_experiments(type='DEFAULT_EXPERIMENT')[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "e3.set_properties({'FINISHED_FLAG': True})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "e3.add_tags(['too_late'])"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "e = o.new_experiment('/MATERIALS/YEASTS', 'my_experiment0815', 'DEFAULT_EXPERIMENT', properties={\"Name\":\"blast\"})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "e2 = o.new_experiment()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "            <table border=\"1\" class=\"dataframe\">\n",
       "            <thead>\n",
       "                <tr style=\"text-align: right;\">\n",
       "                <th>attribute</th>\n",
       "                <th>value</th>\n",
       "                </tr>\n",
       "            </thead>\n",
       "            <tbody>\n",
       "        <tr> <td>code</td> <td>MY_EXPERIMENT04</td> </tr><tr> <td>permId</td> <td>20161006121402181-379</td> </tr><tr> <td>identifier</td> <td>/MATERIALS/YEASTS/MY_EXPERIMENT04</td> </tr><tr> <td>type</td> <td>DEFAULT_EXPERIMENT</td> </tr><tr> <td>space</td> <td></td> </tr><tr> <td>project</td> <td>/MATERIALS/YEASTS</td> </tr><tr> <td>tags</td> <td>['another_nice_tag', 'too_late']</td> </tr><tr> <td>samples</td> <td></td> </tr><tr> <td>datasets</td> <td></td> </tr><tr><td>attachments</td><td></td></tr>\n",
       "            </tbody>\n",
       "            </table>\n",
       "        "
      ],
      "text/plain": [
       "<pybis.pybis.Experiment at 0x7fdbc73485f8>"
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "e=o.get_experiment('20161006121402181-379')\n",
    "e"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "e.add_tags('blblblblblb')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "e3.delete(reason='it was just an experiment')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## working with samples"
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from pybis import Openbis\n",
    "o = Openbis(url='https://localhost:8443', verify_certificates=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": 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>identifier</th>\n",
       "      <th>permId</th>\n",
       "      <th>experiment</th>\n",
       "      <th>sample_type</th>\n",
       "      <th>registrator</th>\n",
       "      <th>registrationDate</th>\n",
       "      <th>modifier</th>\n",
       "      <th>modificationDate</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>/VERMEUL/ANOTHER_SAMPLE1</td>\n",
       "      <td>20160706001644827-208</td>\n",
       "      <td>None</td>\n",
       "      <td>UNKNOWN</td>\n",
       "      <td>2016-07-06 00:16:45</td>\n",
       "      <td></td>\n",
       "      <td>2016-11-09 10:18:18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>/VERMEUL/BLAJLSD</td>\n",
       "      <td>20160630111949369-89</td>\n",
       "      <td>None</td>\n",
       "      <td>UNKNOWN</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-30 17:19:49</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-30 17:19:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>/VERMEUL/CHILD_OF_SAMPLE1</td>\n",
       "      <td>20160705234504004-206</td>\n",
       "      <td>/VERMEUL/VERMEUL_PROJECT/MY_EXPERIMENT4</td>\n",
       "      <td>UNKNOWN</td>\n",
       "      <td></td>\n",
       "      <td>2016-07-05 23:45:04</td>\n",
       "      <td></td>\n",
       "      <td>2016-10-07 01:05:46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>/VERMEUL/HOW_WONDERFUL</td>\n",
       "      <td>20160630105304285-81</td>\n",
       "      <td>/VERMEUL/VERMEUL_PROJECT/MY_EXPERIMENT4</td>\n",
       "      <td>UNKNOWN</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-30 16:53:04</td>\n",
       "      <td></td>\n",
       "      <td>2016-11-21 00:53:59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>/VERMEUL/MY_WONDERFUL_SAMPLE_NAME</td>\n",
       "      <td>20160720225637704-262</td>\n",
       "      <td>None</td>\n",
       "      <td>UNKNOWN</td>\n",
       "      <td></td>\n",
       "      <td>2016-07-20 22:56:38</td>\n",
       "      <td></td>\n",
       "      <td>2016-07-20 22:56:38</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>/VERMEUL/OH_WIE_SCHOEN_IST_PANAMA</td>\n",
       "      <td>20160630110733527-86</td>\n",
       "      <td>None</td>\n",
       "      <td>UNKNOWN</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-30 17:07:34</td>\n",
       "      <td></td>\n",
       "      <td>2016-07-06 00:11:45</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>/VERMEUL/OH_WIE_SCHOEN_IST_PANAMA3</td>\n",
       "      <td>20160630112720553-90</td>\n",
       "      <td>None</td>\n",
       "      <td>UNKNOWN</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-30 17:27:21</td>\n",
       "      <td></td>\n",
       "      <td>2016-06-30 17:27:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>/VERMEUL/OH_WIE_SCHOEN_IST_PANAMA5</td>\n",
       "      <td>20160706231053756-211</td>\n",
       "      <td>None</td>\n",
       "      <td>UNKNOWN</td>\n",
       "      <td></td>\n",
       "      <td>2016-07-06 23:10:54</td>\n",
       "      <td></td>\n",
Loading
Loading full blame...