Skip to content
Snippets Groups Projects
pybis demo.ipynb 187 KiB
Newer Older
  • Learn to ignore specific revisions
  •        "  </tbody>\n",
           "</table>\n",
           "</div>"
          ],
    
          "text/plain": [
    
           "<pybis.pybis.Things at 0x7f21b2d65898>"
    
         "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>project</td> <td>/MATERIALS/YEASTS</td> </tr><tr> <td>tags</td> <td>['too_late', 'uno']</td> </tr><tr><td>attachments</td><td>testfile</td></tr>\n",
    
           "            </tbody>\n",
           "            </table>\n",
           "        "
          ],
          "text/plain": [
    
           "<pybis.pybis.Experiment at 0x7fbe86a64748>"
    
         "execution_count": 3,
    
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
    
       "execution_count": 9,
    
       "metadata": {
        "collapsed": false
       },
    
       "cell_type": "code",
       "execution_count": 9,
       "metadata": {
        "collapsed": false
       },
       "outputs": [],
    
       "source": [
    
        "e0.add_tags('uno')"
    
       "execution_count": 12,
    
       "metadata": {
        "collapsed": false
       },
       "outputs": [
        {
    
         "name": "stdout",
         "output_type": "stream",
         "text": [
          "Experiment successfully updated.\n"
         ]
    
       "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>permId</th>\n",
    
           "      <th>properties</th>\n",
           "      <th>type</th>\n",
    
           "      <th>experiment</th>\n",
    
           "      <th>sample</th>\n",
    
           "      <th>registrationDate</th>\n",
           "      <th>modificationDate</th>\n",
           "    </tr>\n",
           "  </thead>\n",
           "  <tbody>\n",
           "    <tr>\n",
           "      <th>0</th>\n",
    
           "      <td>20170106004736870-407</td>\n",
           "      <td>{'NAME': 'dunno'}</td>\n",
           "      <td>ANALYZED_DATA</td>\n",
           "      <td>/MATERIALS/YEASTS/MY_FIRST_EXPERIMENT_WITH_PRO...</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>"
          ],
    
           "<pybis.pybis.Things at 0x7fbb3966a4e0>"
    
         "execution_count": 13,
    
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
    
       "execution_count": 19,
    
        "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_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>project</td> <td>/MATERIALS/YEASTS</td> </tr><tr> <td>tags</td> <td>['too_late', 'uno']</td> </tr><tr><td>attachments</td><td>testfile</td></tr>\n",
    
           "            </tbody>\n",
           "            </table>\n",
           "        "
          ],
          "text/plain": [
    
           "<pybis.pybis.Experiment at 0x7fbb39647eb8>"
    
         "execution_count": 19,
    
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
    
       "execution_count": 10,
    
       "metadata": {
        "collapsed": false
       },
       "outputs": [
        {
         "data": {
          "text/plain": [
    
           "{'End Date': 'TIMESTAMP', 'syntax': 'YYYY-MM-DD HH:MIN:SS'}"
    
         "execution_count": 10,
    
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
    
       "cell_type": "code",
    
       "execution_count": 3,
    
        "e_new = o.new_experiment('DEFAULT_EXPERIMENT')"
    
       "execution_count": 4,
    
       "metadata": {
        "collapsed": false
       },
    
        "e_new.project ='VERMEUL_PROJECT'"
    
       "execution_count": 5,
    
       "outputs": [],
    
        "e_new.tags = 'too_late'"
    
       "execution_count": 6,
    
       },
       "outputs": [],
       "source": [
    
        "e_new.code = 'exp_new'"
    
       "execution_count": 8,
    
       "outputs": [
        {
         "name": "stdout",
         "output_type": "stream",
         "text": [
          "Experiment successfully created.\n"
         ]
        }
       ],
    
       "execution_count": 45,
    
       "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 0x7f3140f55400>"
    
         "execution_count": 45,
    
         "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')"
    
       "cell_type": "code",
       "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": [
    
       ]
      },
      {
       "cell_type": "code",
       "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></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 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"
    
       ]
      },
      {
       "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>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": 27,
    
       "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></td> </tr><tr> <td>finished_flag</td> <td>False</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.property.PropertyHolder at 0x7f768c61a748>"
    
         "execution_count": 27,
    
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
    
        "ex = o.get_experiments(type='DEFAULT_EXPERIMENT')[0]\n",
        "ex.p"
    
       "execution_count": 26,
       "metadata": {
        "collapsed": false
       },
       "outputs": [],
       "source": [
        "ex.set_properties({'FINISHED_FLAG': False})"
       ]
      },
      {
       "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": 44,
    
        "collapsed": true
       },
       "outputs": [],
    
       "source": [
        "e3.delete(reason='it was just an experiment')"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "## working with samples"
       ]
      },
      {
       "cell_type": "code",
    
       "metadata": {
        "collapsed": false
       },
       "outputs": [],
    
       "source": [
        "from pybis import Openbis\n",
        "o = Openbis(url='https://localhost:8443', verify_certificates=False)"
       ]
      },
      {
       "cell_type": "code",
    
       "metadata": {
    
       },
       "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>YEA34</td> </tr><tr> <td>permId</td> <td>20161108230958839-384</td> </tr><tr> <td>identifier</td> <td>/MY_NEW_SPACE/YEA34</td> </tr><tr> <td>type</td> <td>YEAST</td> </tr><tr> <td>space</td> <td>MY_NEW_SPACE</td> </tr><tr> <td>project</td> <td></td> </tr><tr> <td>experiment</td> <td>/MY_NEW_SPACE/VERMEUL_PROJECT/MY_SPECIAL_EXPERIMENT</td> </tr><tr> <td>tags</td> <td>['uno']</td> </tr><tr><td>attachments</td><td>Bildschirmfoto 2016-12-20 um 10.47.26.png<br/>testfile</td></tr>\n",
    
           "            </tbody>\n",
           "            </table>\n",
           "        "
          ],
          "text/plain": [
    
           "<pybis.pybis.Sample at 0x7f9c08388358>"
    
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
    
        "sa = o.get_sample('/MY_NEW_SPACE/YEA34')\n",
        "sa"
    
      {
       "cell_type": "code",
       "execution_count": 27,
       "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></td> </tr><tr> <td>show_in_project_overview</td> <td>False</td> </tr><tr> <td>owner</td> <td></td> </tr><tr> <td>owner_number</td> <td></td> </tr><tr> <td>genetic_modification</td> <td></td> </tr><tr> <td>genetic_background</td> <td></td> </tr><tr> <td>mating_type</td> <td>DIPLOID</td> </tr><tr> <td>background-specific_markers</td> <td></td> </tr><tr> <td>common_markers</td> <td></td> </tr><tr> <td>endogenous_plasmid</td> <td></td> </tr><tr> <td>origin</td> <td></td> </tr><tr> <td>strain_check</td> <td></td> </tr><tr> <td>source</td> <td></td> </tr><tr> <td>publication</td> <td></td> </tr><tr> <td>notes</td> <td></td> </tr><tr> <td>xmlcomments</td> <td></td> </tr><tr> <td>annotations_state</td> <td></td> </tr><tr> <td>storage_names</td> <td></td> </tr><tr> <td>storage_row</td> <td></td> </tr><tr> <td>storage_column</td> <td></td> </tr><tr> <td>storage_box_name</td> <td></td> </tr><tr> <td>storage_box_size</td> <td></td> </tr><tr> <td>storage_user</td> <td></td> </tr><tr> <td>storage_position</td> <td></td> </tr>\n",
           "            </tbody>\n",
           "            </table>\n",
           "        "
          ],
          "text/plain": [
           "<pybis.property.PropertyHolder at 0x7f9c083883c8>"
          ]
         },
         "execution_count": 27,
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
        "sa.props"
       ]
      },
    
       "execution_count": 5,
    
        "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>fileName</th>\n",
           "      <th>title</th>\n",
           "      <th>description</th>\n",
           "      <th>version</th>\n",
    
           "    </tr>\n",
           "  </thead>\n",
           "  <tbody>\n",
           "    <tr>\n",
           "      <th>0</th>\n",
    
           "      <td>Bildschirmfoto 2016-12-20 um 10.47.26.png</td>\n",
           "      <td>nocheinfoto</td>\n",
           "      <td>None</td>\n",
           "      <td>1</td>\n",
    
           "    </tr>\n",
           "    <tr>\n",
           "      <th>1</th>\n",
    
           "      <td>testfile</td>\n",
           "      <td>None</td>\n",
           "      <td>None</td>\n",
           "      <td>1</td>\n",
    
           "    </tr>\n",
    
           "  </tbody>\n",
           "</table>\n",
           "</div>"
          ],
          "text/plain": [
    
           "                                    fileName        title description  version\n",
           "0  Bildschirmfoto 2016-12-20 um 10.47.26.png  nocheinfoto        None        1\n",
           "1                                   testfile         None        None        1"
    
         "execution_count": 5,
    
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
    
        "sa.get_attachments()"
    
       "execution_count": 8,
    
       "metadata": {
        "collapsed": false
       },
       "outputs": [],
       "source": [
    
        "sa.add_attachment('testfile')"
    
       ]
      },
      {
       "cell_type": "code",
    
       "execution_count": 17,
       "metadata": {
        "collapsed": false
       },
       "outputs": [
        {
         "name": "stdout",
         "output_type": "stream",
         "text": [
          "Sample successfully updated\n"
         ]
        }
       ],
       "source": [
        "sa.save()"
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 11,
       "metadata": {
        "collapsed": false
       },
       "outputs": [
        {
         "name": "stdout",
         "output_type": "stream",
         "text": [
          "localhost/20161108230958839-384/Bildschirmfoto 2016-12-20 um 10.47.26.png\n",
          "localhost/20161108230958839-384/testfile\n"
         ]
        }
       ],
       "source": [
        "sa.download_attachments()"
       ]
      },
      {
       "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></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>/MY_NEW_SPACE/CHILD_OF_SAMPLE1</td>\n",
           "      <td>20160705234504004-206</td>\n",
           "      <td>/MY_NEW_SPACE/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>/MY_NEW_SPACE/HOW_WONDERFUL</td>\n",
           "      <td>20160630105304285-81</td>\n",
           "      <td>/MY_NEW_SPACE/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/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>5</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>6</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",
           "      <td>2016-07-06 23:10:54</td>\n",
           "    </tr>\n",
           "    <tr>\n",
           "      <th>7</th>\n",
           "      <td>/VERMEUL/YET_ANOTHER_SAMPLE1</td>\n",
           "      <td>20160706002555747-209</td>\n",
           "      <td>None</td>\n",
           "      <td>UNKNOWN</td>\n",
           "      <td></td>\n",
           "      <td>2016-07-06 00:25:56</td>\n",
           "      <td></td>\n",
           "      <td>2016-11-09 10:18:18</td>\n",
    
           "    </tr>\n",
           "  </tbody>\n",
           "</table>\n",
           "</div>"
          ],
          "text/plain": [
    
           "<pybis.pybis.Things at 0x7f2e99f1a518>"
    
         "execution_count": 2,
    
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
    
        "o.get_samples(space='VERMEUL', tags=['*'])"
    
       "cell_type": "markdown",
       "metadata": {},
    
       "source": [
    
        "get the first sample of the above list and just display the basic attributes"
    
       ]
      },
      {
       "cell_type": "code",
    
       "execution_count": 11,
    
       },
       "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>YEA21</td> </tr><tr> <td>permId</td> <td>20161025010638912-382</td> </tr><tr> <td>identifier</td> <td>/MY_NEW_SPACE/YEA21</td> </tr><tr> <td>type</td> <td>YEAST</td> </tr><tr> <td>space</td> <td>MY_NEW_SPACE</td> </tr><tr> <td>experiment</td> <td>/MY_NEW_SPACE/VERMEUL_PROJECT/MY_SPECIAL_EXPERIMENT</td> </tr><tr> <td>container</td> <td></td> </tr><tr> <td>components</td> <td></td> </tr><tr> <td>tags</td> <td>['do', 'fa', 're']</td> </tr><tr><td>attachments</td><td></td></tr>\n",
           "            </tbody>\n",
           "            </table>\n",
           "        "
    
           "<pybis.pybis.Sample at 0x7f8ff54adb38>"
    
         "execution_count": 11,
    
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
    
        "s = o.get_sample('/MY_NEW_SPACE/YEA21')\n",
        "s"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "Show all the properties assigned to this sample type:"