Skip to content
Snippets Groups Projects
pybis demo.ipynb 205 KiB
Newer Older
  • Learn to ignore specific revisions
  •        "      <th>pathInDataSet</th>\n",
           "      <th>fileSize</th>\n",
           "      <th>crc32Checksum</th>\n",
           "    </tr>\n",
           "  </thead>\n",
           "  <tbody>\n",
           "    <tr>\n",
           "      <th>0</th>\n",
           "      <td>True</td>\n",
           "      <td>original</td>\n",
           "      <td>-1</td>\n",
           "      <td>0</td>\n",
           "    </tr>\n",
           "    <tr>\n",
           "      <th>1</th>\n",
           "      <td>True</td>\n",
           "      <td>original/JUPYTER_NOTEBOOk</td>\n",
           "      <td>-1</td>\n",
           "      <td>0</td>\n",
           "    </tr>\n",
           "    <tr>\n",
           "      <th>2</th>\n",
           "      <td>False</td>\n",
    
           "      <td>original/JUPYTER_NOTEBOOk/pybis playground loc...</td>\n",
           "      <td>45250</td>\n",
           "      <td>5dff257f</td>\n",
    
           "    </tr>\n",
           "    <tr>\n",
           "      <th>3</th>\n",
           "      <td>True</td>\n",
           "      <td>original/JUPYTER_RESULT</td>\n",
           "      <td>-1</td>\n",
           "      <td>0</td>\n",
           "    </tr>\n",
           "    <tr>\n",
    
           "      <th>4</th>\n",
           "      <td>False</td>\n",
           "      <td>original/JUPYTER_RESULT/large_testfile</td>\n",
           "      <td>209715200</td>\n",
           "      <td>534f0861</td>\n",
           "    </tr>\n",
           "  </tbody>\n",
           "</table>\n",
           "</div>"
          ],
          "text/plain": [
           "  isDirectory                                      pathInDataSet   fileSize  \\\n",
           "0        True                                           original         -1   \n",
           "1        True                          original/JUPYTER_NOTEBOOk         -1   \n",
           "2       False  original/JUPYTER_NOTEBOOk/pybis playground loc...      45250   \n",
           "3        True                            original/JUPYTER_RESULT         -1   \n",
           "4       False             original/JUPYTER_RESULT/large_testfile  209715200   \n",
           "\n",
           "  crc32Checksum  \n",
           "0             0  \n",
           "1             0  \n",
           "2      5dff257f  \n",
           "3             0  \n",
           "4      534f0861  "
          ]
         },
         "execution_count": 9,
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
        "ds.get_files()"
       ]
      },
      {
       "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>HOW_WONDERFUL</td> </tr><tr> <td>permId</td> <td>20160630105304285-81</td> </tr><tr> <td>identifier</td> <td>/MY_NEW_SPACE/HOW_WONDERFUL</td> </tr><tr> <td>type</td> <td>UNKNOWN</td> </tr><tr> <td>parents</td> <td>[]</td> </tr><tr> <td>children</td> <td>[]</td> </tr><tr> <td>space</td> <td>MY_NEW_SPACE</td> </tr><tr> <td>experiment</td> <td>/MY_NEW_SPACE/VERMEUL_PROJECT/MY_EXPERIMENT4</td> </tr><tr> <td>container</td> <td></td> </tr><tr> <td>components</td> <td></td> </tr><tr> <td>tags</td> <td>['CREATE_JSON_TAG']</td> </tr><tr><td>attachments</td><td>Bildschirmfoto 2016-10-14 um 23.01.06.png</td></tr>\n",
           "            </tbody>\n",
           "            </table>\n",
           "        "
          ],
          "text/plain": [
           "<pybis.pybis.Sample at 0x7feecae980f0>"
          ]
         },
         "execution_count": 3,
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
        "ds.get_sample()"
       ]
      },
      {
       "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_EXPERIMENT4</td> </tr><tr> <td>permId</td> <td>20160924020719018-358</td> </tr><tr> <td>identifier</td> <td>/MY_NEW_SPACE/VERMEUL_PROJECT/MY_EXPERIMENT4</td> </tr><tr> <td>type</td> <td>DEFAULT_EXPERIMENT</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>['A_tag', 'another_tag', 'too_late', 'tre']</td> </tr><tr><td>attachments</td><td></td></tr>\n",
           "            </tbody>\n",
           "            </table>\n",
           "        "
          ],
          "text/plain": [
           "<pybis.pybis.Experiment at 0x7feeb6890cf8>"
          ]
         },
         "execution_count": 4,
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
        "ds.get_experiment()"
       ]
      },
      {
       "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",
           "    </tr>\n",
           "  </thead>\n",
           "  <tbody>\n",
           "    <tr>\n",
           "      <th>0</th>\n",
           "      <td>20160817175233002-331</td>\n",
           "      <td>{'NAME': 'demo_analysis', 'DESCRIPTION': 'done!'}</td>\n",
           "      <td>JUPYTER_CONTAINER</td>\n",
           "      <td>/VERMEUL/MON_160718_181654</td>\n",
           "      <td>2016-08-17 17:52:35</td>\n",
           "      <td>2016-10-05 12:46:43</td>\n",
           "    </tr>\n",
           "    <tr>\n",
           "      <th>1</th>\n",
           "      <td>20161121005146338-398</td>\n",
           "      <td>{'NAME': 'my new data analysis', 'DESCRIPTION'...</td>\n",
           "      <td>JUPYTER_CONTAINER</td>\n",
           "      <td>/MY_NEW_SPACE/HOW_WONDERFUL</td>\n",
           "      <td>2016-11-21 00:51:47</td>\n",
           "      <td>2016-11-21 00:53:59</td>\n",
    
           "    </tr>\n",
           "  </tbody>\n",
           "</table>\n",
           "</div>"
          ],
          "text/plain": [
    
           "<pybis.pybis.Things at 0x7feeb68907b8>"
    
         "execution_count": 5,
    
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
    
       "execution_count": 24,
    
       "metadata": {
        "collapsed": false
       },
       "outputs": [
        {
    
         "data": {
          "text/plain": [
           "True"
          ]
         },
         "execution_count": 24,
         "metadata": {},
         "output_type": "execute_result"
    
        "from pybis import Openbis\n",
        "o = Openbis(url='https://localhost:8443', verify_certificates=False)\n",
        "o.is_token_valid()"
    
       "execution_count": 25,
    
       "metadata": {
        "collapsed": false
       },
    
        "ds = o.get_dataset('20160721002157457-271')"
    
       "execution_count": 26,
    
       "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>20160721002157457-271</td> </tr><tr> <td>permId</td> <td>20160721002157457-271</td> </tr><tr> <td>type</td> <td>JUPYTER_CONTAINER</td> </tr><tr> <td>experiment</td> <td>/MY_NEW_SPACE/VERMEUL_PROJECT/MY_EXPERIMENT4</td> </tr><tr> <td>sample</td> <td>/MY_NEW_SPACE/HOW_WONDERFUL</td> </tr><tr> <td>parents</td> <td>[]</td> </tr><tr> <td>children</td> <td>['20160817175233002-331', '20161121005146338-398']</td> </tr><tr> <td>container</td> <td></td> </tr><tr> <td>components</td> <td></td> </tr><tr> <td>tags</td> <td>[]</td> </tr>\n",
           "            </tbody>\n",
           "            </table>\n",
           "        "
          ],
    
           "<pybis.pybis.DataSet at 0x7f89bae27e10>"
    
         "execution_count": 26,
    
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
    
       "execution_count": 7,
    
       "metadata": {
        "collapsed": false
       },
       "outputs": [
        {
    
         "data": {
          "text/plain": [
           "{'@id': 26,\n",
           " '@type': 'as.dto.sample.id.SampleIdentifier',\n",
           " 'identifier': '/MY_NEW_SPACE/HOW_WONDERFUL'}"
          ]
         },
         "execution_count": 7,
         "metadata": {},
         "output_type": "execute_result"
    
        "ds.a.__dict__['_sample']"
    
       "execution_count": 8,
    
       "metadata": {
        "collapsed": false
       },
       "outputs": [
        {
    
         "data": {
          "text/plain": [
           "{'@id': 22,\n",
           " '@type': 'as.dto.experiment.id.ExperimentIdentifier',\n",
           " 'identifier': '/MY_NEW_SPACE/VERMEUL_PROJECT/MY_EXPERIMENT4'}"
          ]
         },
         "execution_count": 8,
         "metadata": {},
         "output_type": "execute_result"
    
        "ds.a.__dict__['_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>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>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>[]</td> </tr><tr><td>attachments</td><td>Bildschirmfoto 2016-12-20 um 10.47.26.png</td></tr>\n",
           "            </tbody>\n",
           "            </table>\n",
           "        "
          ],
          "text/plain": [
           "<pybis.pybis.Sample at 0x7f89bae33d30>"
          ]
         },
         "execution_count": 27,
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
    
        "s = o.get_sample('/MY_NEW_SPACE/YEA34')\n",
        "s"
    
       "execution_count": 28,
    
       "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",
    
           "<pybis.property.PropertyHolder at 0x7f89bae33fd0>"
    
         "execution_count": 28,
    
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
       "source": [
    
       "execution_count": 25,
       "metadata": {
        "collapsed": true
       },
       "outputs": [],
       "source": [
        "ds_new = o.new_dataset(type='Attachment')"
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 29,
    
       "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></td> </tr><tr> <td>permId</td> <td></td> </tr><tr> <td>type</td> <td>ATTACHMENT</td> </tr><tr> <td>experiment</td> <td></td> </tr><tr> <td>sample</td> <td>/MY_NEW_SPACE/YEA34</td> </tr><tr> <td>parents</td> <td></td> </tr><tr> <td>children</td> <td></td> </tr><tr> <td>container</td> <td></td> </tr><tr> <td>components</td> <td></td> </tr><tr> <td>tags</td> <td></td> </tr>\n",
           "            </tbody>\n",
           "            </table>\n",
           "        "
          ],
    
          "text/plain": [
    
           "<pybis.pybis.DataSet at 0x7f3140fb58d0>"
    
         "execution_count": 29,
    
         "metadata": {},
         "output_type": "execute_result"
        }
       ],
    
       "cell_type": "code",
       "execution_count": 28,
       "metadata": {
        "collapsed": false
       },
       "outputs": [],
    
        "ds_new.sample = s"
       ]
      },
      {
       "cell_type": "code",
       "execution_count": 31,
       "metadata": {
        "collapsed": false
       },
       "outputs": [
        {
         "ename": "TypeError",
         "evalue": "'NoneType' object is not subscriptable",
         "output_type": "error",
         "traceback": [
          "\u001b[1;31m\u001b[0m",
          "\u001b[1;31mTypeError\u001b[0mTraceback (most recent call last)",
          "\u001b[1;32m<ipython-input-31-16e14e3283ca>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mds_new\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfile_list\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
          "\u001b[1;32m/vagrant_python/PyBis/pybis/pybis.py\u001b[0m in \u001b[0;36mfile_list\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m   1977\u001b[0m         \"\"\"\n\u001b[0;32m   1978\u001b[0m         \u001b[0mfiles\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1979\u001b[1;33m         \u001b[1;32mfor\u001b[0m \u001b[0mfile\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_file_list\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrecursive\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1980\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mfile\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'isDirectory'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1981\u001b[0m                 \u001b[1;32mpass\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
          "\u001b[1;32m/vagrant_python/PyBis/pybis/pybis.py\u001b[0m in \u001b[0;36mget_file_list\u001b[1;34m(self, recursive, start_folder)\u001b[0m\n\u001b[0;32m   2028\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2029\u001b[0m         resp = requests.post(\n\u001b[1;32m-> 2030\u001b[1;33m             \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"dataStore\"\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"downloadUrl\"\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;34m'/datastore_server/rmi-dss-api-v1.json'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   2031\u001b[0m             \u001b[0mjson\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdumps\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrequest\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2032\u001b[0m             \u001b[0mverify\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mopenbis\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mverify_certificates\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
          "\u001b[1;31mTypeError\u001b[0m: 'NoneType' object is not subscriptable"
         ]
        }
       ],
       "source": [
        "ds_new.file_list()"
    
      },
      {
       "cell_type": "code",
       "execution_count": null,
       "metadata": {
        "collapsed": true
       },
       "outputs": [],
       "source": []
    
      }
     ],
     "metadata": {
      "kernelspec": {
       "display_name": "Python 3",
       "language": "python",
       "name": "python3"
      },
      "language_info": {
       "codemirror_mode": {
        "name": "ipython",
        "version": 3
       },
       "file_extension": ".py",
       "mimetype": "text/x-python",
       "name": "python",
       "nbconvert_exporter": "python",
       "pygments_lexer": "ipython3",
       "version": "3.5.1"
      }
     },
     "nbformat": 4,
     "nbformat_minor": 0
    }