Skip to content
Snippets Groups Projects
pybis demo.ipynb 260 KiB
Newer Older
  • Learn to ignore specific revisions
  •      "name": "stdout",
         "output_type": "stream",
         "text": [
          "Experiment successfully updated.\n"
         ]
    
       "execution_count": 13,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
          "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,
    
       },
       "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,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "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,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
        "e_new.project ='VERMEUL_PROJECT'"
    
       "execution_count": 5,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "outputs": [],
    
        "e_new.tags = 'too_late'"
    
       "execution_count": 6,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "outputs": [],
       "source": [
    
        "e_new.code = 'exp_new'"
    
       "execution_count": 8,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "outputs": [
        {
         "name": "stdout",
         "output_type": "stream",
         "text": [
          "Experiment successfully created.\n"
         ]
        }
       ],
    
       "execution_count": 45,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "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>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,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "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>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,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "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,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "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,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "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,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "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,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "outputs": [],
       "source": [
        "ex.set_properties({'FINISHED_FLAG': False})"
       ]
      },
      {
       "cell_type": "raw",
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "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",
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "source": [
        "from pybis import Openbis\n",
        "o = Openbis(url='https://localhost:8443', verify_certificates=False)"
       ]
      },
      {
       "cell_type": "code",
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "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,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "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,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "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,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "outputs": [],
       "source": [
    
        "sa.add_attachment('testfile')"
    
       ]
      },
      {
       "cell_type": "code",
    
       "execution_count": 17,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "outputs": [
        {
         "name": "stdout",
         "output_type": "stream",
         "text": [
          "Sample successfully updated\n"
         ]
        }
       ],
       "source": [
        "sa.save()"
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 11,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "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,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "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,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "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>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:"
    
       "execution_count": 6,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "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",
    
           "    </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>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.property.PropertyAssignments at 0x7f8ff55c26d8>"
    
         "execution_count": 6,
    
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
    
        "s.type"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "however, you still can check whether the sample type corresponds to a certain string:"
    
       "execution_count": 5,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "outputs": [
        {
         "data": {
          "text/plain": [
           "True"
          ]
         },
         "execution_count": 5,
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
        "s.type == 'YEAST'"
       ]
      },
      {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
        "get experiment related to that sample"
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 8,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "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>MY_SPECIAL_EXPERIMENT</td> </tr><tr> <td>permId</td> <td>20161121013609807-402</td> </tr><tr> <td>identifier</td> <td>/MY_NEW_SPACE/VERMEUL_PROJECT/MY_SPECIAL_EXPERIMENT</td> </tr><tr> <td>type</td> <td>UNKNOWN</td> </tr><tr> <td>space</td> <td></td> </tr><tr> <td>project</td> <td>/MY_NEW_SPACE/VERMEUL_PROJECT</td> </tr><tr> <td>tags</td> <td>[]</td> </tr><tr><td>attachments</td><td></td></tr>\n",
           "            </tbody>\n",
           "            </table>\n",
           "        "
          ],
          "text/plain": [
           "<pybis.pybis.Experiment at 0x7f2e99ceee48>"
          ]
         },
         "execution_count": 8,
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
        "s.experiment"
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 9,
    
    Swen Vermeul's avatar
    Swen Vermeul committed
       "metadata": {},
    
       "outputs": [
        {
         "data": {
          "text/html": [
           "\n",
    
           "<p>ExperimentType: <b>UNKNOWN</b>\n",
           "<p>description: Unknown</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",