Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save leelasd/2aa9ee0e90041ffbe1bedad236ef0a39 to your computer and use it in GitHub Desktop.
Save leelasd/2aa9ee0e90041ffbe1bedad236ef0a39 to your computer and use it in GitHub Desktop.
KNIME from Jupyter_demo.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "# Using KNIME Analytics Platform from Python\n\nThe new [knime module for Python](https://pypi.org/project/knime/), released at the same time as [v3.7 of KNIME Analytics Platform](https://www.knime.com/knime-analytics-platform-37-highlights), allows KNIME workflows to be called from Python and integrates nicely with the Jupyter notebook.\n\nHere we'll demonstrate using a KNIME workflow that performs a complicated database query (the query is against a PostgreSQL instance of [ChEMBL24](https://www.ebi.ac.uk/chembl/) that we have running in AWS) that is parameterized on user-supplied information. \n\nThe results of the query are summarized in a couple of different ways and made available in two separate output tables."
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Start by importing the knime(py) module, which can be installed from pip: `pip install knime` and then tell it where to find the KNIME executable. If you have KNIME installed in a standard location this second step isn't necessary, but I tend to have KNIME installed on my desktop."
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import pandas as pd\nimport knime\nknime.executable_path = \"c:/Users/glandrum/Desktop/KNIME_3.7/knime.exe\"",
"execution_count": 1,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Define the location of the workspace:"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "workspace = \"c:/Users/glandrum/KNIME workspaces/KNIME nightly\"",
"execution_count": 2,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Now pick a workflow and make sure it's the right one by displaying an SVG of the workflow:"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "workflow = \"KNIME Stories/Jupyter KNIME Jupyter/Fetch ChEMBL Target Data\"\nknime.Workflow(workflow_path=workflow,workspace_path=workspace)",
"execution_count": 3,
"outputs": [
{
"data": {
"image/svg+xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg stroke-dasharray=\"none\" shape-rendering=\"auto\"\n xmlns=\"http://www.w3.org/2000/svg\" font-family=\"&apos;Dialog&apos;\"\n width=\"828\" text-rendering=\"auto\" fill-opacity=\"1\"\n contentScriptType=\"text/ecmascript\" color-interpolation=\"auto\"\n color-rendering=\"auto\" preserveAspectRatio=\"xMidYMid meet\" font-size=\"12\"\n fill=\"black\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" stroke=\"black\"\n image-rendering=\"auto\" stroke-miterlimit=\"10\" zoomAndPan=\"magnify\"\n version=\"1.0\" stroke-linecap=\"square\" stroke-linejoin=\"miter\"\n contentStyleType=\"text/css\" font-style=\"normal\" height=\"481\"\n stroke-width=\"1\" stroke-dashoffset=\"0\" font-weight=\"normal\"\n stroke-opacity=\"1\">\n <!--Generated by the Batik Graphics2D SVG Generator-->\n <defs id=\"genericDefs\"/>\n <g>\n <defs id=\"defs1\">\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath1\">\n <path d=\"M666 139 L829 139 L829 482 L666 482 L666 139 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath2\">\n <path d=\"M676 149 L772 149 L772 166 L676 166 L676 149 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath3\">\n <path d=\"M346 -1 L509 -1 L509 182 L346 182 L346 -1 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath4\">\n <path d=\"M356 9 L459 9 L459 26 L356 26 L356 9 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath5\">\n <path d=\"M714 298 L789 298 L789 315 L714 315 L714 298 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath6\">\n <path d=\"M236 158 L341 158 L341 175 L236 175 L236 158 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath7\">\n <path d=\"M706 438 L798 438 L798 455 L706 455 L706 438 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath8\">\n <path d=\"M716 205 L778 205 L778 222 L716 222 L716 205 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath9\">\n <path d=\"M703 220 L791 220 L791 237 L703 237 L703 220 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath10\">\n <path d=\"M-1 -1 L33 -1 L33 33 L-1 33 L-1 -1 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath11\">\n <path d=\"M-1 -1 L17 -1 L17 17 L-1 17 L-1 -1 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath12\">\n <path d=\"M-1 -1 L33 -1 L33 13 L-1 13 L-1 -1 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath13\">\n <path d=\"M703 253 L739 253 L739 264 L703 264 L703 253 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath14\">\n <path d=\"M755 253 L791 253 L791 264 L755 264 L755 253 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath15\">\n <path d=\"M228 220 L346 220 L346 237 L228 237 L228 220 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath16\">\n <path d=\"M228 253 L279 253 L279 264 L228 264 L228 253 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath17\">\n <path d=\"M295 253 L346 253 L346 264 L295 264 L295 253 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath18\">\n <path d=\"M529 205 L644 205 L644 222 L529 222 L529 205 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath19\">\n <path d=\"M522 220 L652 220 L652 237 L522 237 L522 220 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath20\">\n <path d=\"M522 243 L579 243 L579 254 L522 254 L522 243 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath21\">\n <path d=\"M522 262 L579 262 L579 273 L522 273 L522 262 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath22\">\n <path d=\"M595 243 L652 243 L652 254 L595 254 L595 243 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath23\">\n <path d=\"M595 262 L652 262 L652 273 L595 273 L595 262 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath24\">\n <path d=\"M396 65 L458 65 L458 82 L396 82 L396 65 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath25\">\n <path d=\"M389 80 L466 80 L466 97 L389 97 L389 80 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath26\">\n <path d=\"M389 113 L419 113 L419 124 L389 124 L389 113 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath27\">\n <path d=\"M436 113 L466 113 L466 124 L436 124 L436 113 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath28\">\n <path d=\"M245 80 L330 80 L330 97 L245 97 L245 80 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath29\">\n <path d=\"M296 113 L330 113 L330 124 L296 124 L296 113 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath30\">\n <path d=\"M375 220 L480 220 L480 237 L375 237 L375 220 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath31\">\n <path d=\"M375 253 L419 253 L419 264 L375 264 L375 253 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath32\">\n <path d=\"M436 253 L480 253 L480 264 L436 264 L436 253 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath33\">\n <path d=\"M375 360 L480 360 L480 377 L375 377 L375 360 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath34\">\n <path d=\"M375 393 L419 393 L419 404 L375 404 L375 393 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath35\">\n <path d=\"M436 393 L480 393 L480 404 L436 404 L436 393 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath36\">\n <path d=\"M228 360 L346 360 L346 377 L228 377 L228 360 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath37\">\n <path d=\"M228 393 L279 393 L279 404 L228 404 L228 393 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath38\">\n <path d=\"M295 393 L346 393 L346 404 L295 404 L295 393 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath39\">\n <path d=\"M529 345 L644 345 L644 362 L529 362 L529 345 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath40\">\n <path d=\"M522 360 L652 360 L652 377 L522 377 L522 360 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath41\">\n <path d=\"M522 383 L579 383 L579 394 L522 394 L522 383 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath42\">\n <path d=\"M522 402 L579 402 L579 413 L522 413 L522 402 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath43\">\n <path d=\"M595 383 L652 383 L652 394 L595 394 L595 383 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath44\">\n <path d=\"M595 402 L652 402 L652 413 L595 413 L595 402 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath45\">\n <path d=\"M716 345 L778 345 L778 362 L716 362 L716 345 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath46\">\n <path d=\"M703 360 L791 360 L791 377 L703 377 L703 360 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath47\">\n <path d=\"M703 393 L739 393 L739 404 L703 404 L703 393 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath48\">\n <path d=\"M755 393 L791 393 L791 404 L755 404 L755 393 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath49\">\n <path d=\"M14 285 L119 285 L119 302 L14 302 L14 285 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath50\">\n <path d=\"M-1 300 L135 300 L135 317 L-1 317 L-1 300 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath51\">\n <path d=\"M75 333 L135 333 L135 344 L75 344 L75 333 Z\"/>\n </clipPath>\n <clipPath clipPathUnits=\"userSpaceOnUse\" id=\"lOcn6EHpV1XclipPath52\">\n <path d=\"M-1 -1 L1379 -1 L1379 1007 L-1 1007 L-1 -1 Z\"/>\n </clipPath>\n </defs>\n <g fill=\"white\" font-family=\"&apos;Segoe UI&apos;\"\n stroke-linejoin=\"round\" stroke=\"white\" stroke-width=\"0\"\n stroke-miterlimit=\"0\">\n <rect x=\"667\" y=\"140\" clip-path=\"url(#lOcn6EHpV1XclipPath1)\" width=\"161\"\n height=\"341\" stroke=\"none\"/>\n <text x=\"677\" y=\"162\" clip-path=\"url(#lOcn6EHpV1XclipPath2)\" fill=\"black\"\n font-family=\"&apos;Arial&apos;\" stroke=\"none\"\n xml:space=\"preserve\">Output to caller</text>\n </g><g fill=\"rgb(255,216,0)\" stroke-width=\"10\"\n font-family=\"&apos;Segoe UI&apos;\" stroke-linecap=\"butt\"\n stroke=\"rgb(255,216,0)\">\n <rect x=\"672\" y=\"145\" clip-path=\"url(#lOcn6EHpV1XclipPath1)\" fill=\"none\"\n width=\"151\" height=\"331\"/>\n <rect x=\"347\" y=\"0\" clip-path=\"url(#lOcn6EHpV1XclipPath3)\" fill=\"white\"\n width=\"161\" height=\"181\" stroke=\"none\"/>\n <text x=\"357\" y=\"22\" clip-path=\"url(#lOcn6EHpV1XclipPath4)\" fill=\"black\"\n font-family=\"&apos;Arial&apos;\" stroke=\"none\"\n xml:space=\"preserve\">Input from caller</text><rect x=\"352\"\n y=\"5\" clip-path=\"url(#lOcn6EHpV1XclipPath3)\" fill=\"none\" width=\"151\"\n height=\"171\"/>\n <text x=\"715\" y=\"311\" clip-path=\"url(#lOcn6EHpV1XclipPath5)\" fill=\"black\"\n font-family=\"&apos;Arial&apos;\" stroke=\"none\"\n xml:space=\"preserve\">details data</text><text x=\"237\" y=\"171\"\n clip-path=\"url(#lOcn6EHpV1XclipPath6)\" fill=\"black\"\n font-family=\"&apos;Arial&apos;\" stroke=\"none\"\n xml:space=\"preserve\">Sample input data</text><text x=\"707\"\n y=\"451\" clip-path=\"url(#lOcn6EHpV1XclipPath7)\" fill=\"black\"\n font-family=\"&apos;Arial&apos;\" stroke=\"none\"\n xml:space=\"preserve\">summary data</text>\n </g><g stroke-width=\"10\" font-weight=\"bold\"\n font-family=\"&apos;Arial&apos;\" stroke-linecap=\"butt\">\n <text xml:space=\"preserve\" x=\"717\" y=\"218\"\n clip-path=\"url(#lOcn6EHpV1XclipPath8)\" stroke=\"none\">Container</text><text xml:space=\"preserve\"\n x=\"704\" y=\"233\" clip-path=\"url(#lOcn6EHpV1XclipPath9)\" stroke=\"none\">Output (Table)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,731,243)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAbUlEQVR42u2XsQ2A\nQAwDQ8QGDPZiiJ+KCSh/DiZgmYgg5amok+YsufbFqbxc97mJyOFubpUcmXu4+xrh\nu+RKZ6bG5VVqmlj7bxOV4d8vAAAAAAAAAAAAAAAAAAAArDDfNFZqlca7jvscihXz\n/AFzcw2txpwGwQAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,739,251)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABUUlEQVR42q1TsU6E\nQBBdOIwYGiso9RpqSjqxspTKGjpKyus4urOz9Auot7VS+AMIheXdD5BQCQkRZ8hA\nyIpS6CQvLLPvzc7Ozkh93zPR4jh24PMquG+jKHoTuTL7oyl0ogsfxJ78uwXuDnhH\nWiOPQ0ZcIccT4ArwQFmdLwS4A7wDPgEXALwm30iShNHuiXQ2ZiWaqqqs6zqFOGiX\naZpKeFq4dk8Ue57HXNcVt0KZ7p6uiQ3DELdQ48r0NGPxmGVZLAiCQTgX53nOOOfz\nAHvUfruvbduDwPf94V/X9SXxZFhEhzK4RkdZlsw0zUGoadpv4i0U8Yg1wN2b0ds0\nDUuSBCvOqqr68WTS8I3jOCq96WRt27KiKFiWZWsP9IhFxPRP5PhAPS7qul4StMRB\nO6F2LGIotPIzdd7cXgDBvJWnWcCeHh00G4eFAAfgjbPg/ds0fgFP0HPHJaLVVAAA\nAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,731,282)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAABuklEQVR42sVUy07C\nUBA9LdW2PigEwY2JMaCfoVv9C7/Aj/FnXLHQf2AhlLhxpUJ5WNsSKN5zpTeFVgwu\n9CSTtHceZ+7cmdGazeY1gFsh+/hbjIXcGL8nn0PHVH7FYBht0wDkvDXS5Lquw7Zt\nOMV9mKaJ4WgE/91HNJkseZ4U73B08ACjHMv/qafj+e0cT6OrJTtzexu7e7siXhFR\nFIl4YwRBgDiOVRJG8qVpGkolB43GqQpQrR3iI/iA2+4gFAES8uP6PfSypey2HODY\nuQe6UElY4gKNs1Ps2DvK7kiI63bgeQPM5/OvSydKy7JQrzcydWKASqWiys6bp8lV\n9cQZdbQh6JMmT0AOcik/VS6RMauQh2qtikKhIN88KXseqKMNbemTB3KQK5PAf0El\nwCZJ3mUVry+vmM1mstvZcN+BOtrQlj65syM4okU/LSUQhiG6XTfjwCbs9XpJAWW3\nx16YseMZdck40oe+qyAHudSzpTMbDIZotVprx1B2uej27BheLI0hp6bz2M4dw3Sl\njcVGkruA8+n7vpR1INHT6PLHRcTEo/4E/b737TbkE9wsktgQmiDekvKLLahW8Sd3\nI9NSe3Ml5QAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <polygon text-rendering=\"optimizeLegibility\"\n clip-path=\"url(#lOcn6EHpV1XclipPath13)\"\n points=\" 722 254 731 258 722 263\" stroke=\"none\"/>\n <polygon text-rendering=\"optimizeLegibility\"\n clip-path=\"url(#lOcn6EHpV1XclipPath14)\"\n points=\" 763 254 772 258 763 263\" stroke=\"none\"/>\n <text x=\"229\" y=\"233\" clip-path=\"url(#lOcn6EHpV1XclipPath15)\"\n text-rendering=\"optimizeLegibility\" stroke=\"none\"\n xml:space=\"preserve\">DB GroupBy (Labs)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n text-rendering=\"optimizeLegibility\"\n transform=\"matrix(1,0,0,1,271,243)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAaklEQVR42u2XsQ2A\nMAwEjcUGDBYxRKZiiqzCQAZHcqio7eZe+vrP7+q355ZDRC53c6vkyNzD3fcIPyVX\nujI1Lq9S08Taf5uoDP9+AQAAAAAAAAAAAAAAAAAAYIX5prFSqzTmOu5rKFbM8xel\nUA0xDHJAMgAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n text-rendering=\"optimizeLegibility\"\n transform=\"matrix(1,0,0,1,279,251)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABHklEQVR42mP8//8/\nAyWAEYgvAfE1KD4DNHAbKQYwA/E0INYBYkcgjm5sbNRtaGhYRYoL0P3wEohlgJgL\niLuw6DkEdOUyGIcJSeIdEG8BYmeggj9QA9KxYDtk01iAOACIzwM1PUKz6RUQSyLx\ntYF4D7pzWIAaNzJCAMjZgUAcA8RuQPGPQPoF3K+MjBLYwoAFKHEPSEsBMTtU7CsQ\nf8ITbiFAPRbIXlBEU7D1P/7EAQobCWQDQADk3GfQQGwnEHOLgOZnIBvAAxT4iuRX\nDiBmhkaxDpJGdaxhAA0HPSCtCsT+0FgBhQkPKHYIJSSQAR/QExLQRV+AhoLSyExs\nCQndAHQATsZAQ0AxkUGMC24B8WMgfgKKASBeQ1JupDQ7AwD2W1gnlxG/HQAAAABJRU5ErkJggg==\"\n xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n text-rendering=\"optimizeLegibility\"\n transform=\"matrix(1,0,0,1,271,282)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n </g>\n <g stroke-linecap=\"butt\" fill=\"rgb(102,0,45)\"\n text-rendering=\"optimizeLegibility\" font-family=\"&apos;Arial&apos;\"\n stroke=\"rgb(102,0,45)\" stroke-width=\"10\">\n <polygon clip-path=\"url(#lOcn6EHpV1XclipPath16)\"\n points=\" 262 254 271 254 271 263 262 263\" stroke=\"none\"/>\n <polygon clip-path=\"url(#lOcn6EHpV1XclipPath17)\"\n points=\" 303 254 312 254 312 263 303 263\" stroke=\"none\"/>\n <text x=\"530\" y=\"218\" clip-path=\"url(#lOcn6EHpV1XclipPath18)\" fill=\"black\"\n stroke=\"none\" font-weight=\"bold\" xml:space=\"preserve\">Parameterized DB</text><text x=\"523\"\n y=\"233\" clip-path=\"url(#lOcn6EHpV1XclipPath19)\" fill=\"black\"\n stroke=\"none\" font-weight=\"bold\" xml:space=\"preserve\">Query Reader (Labs)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n stroke=\"black\" transform=\"matrix(1,0,0,1,571,243)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\" fill=\"black\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAa0lEQVR42u2XsQ2A\nQAwDQ8QGbMIiL4b4lWiY4hcMBClPRZ00Z8m1L07l5T73TUQud3Or5Mjcw93XCD8k\nVzozNS6vUtPE2n+bqAz/fgEAAAAAAAAAAAAAAAAAAGCF+aaxUqs03nXc51CsmOcP\nA/INJ1T1pwYAAAAASUVORK5CYII=\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\" stroke=\"black\"\n transform=\"matrix(1,0,0,1,579,251)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\" fill=\"black\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABDUlEQVR42mNmYGC4\nDcSOQCwCxPeB+BsDKuAE4lYg3gnEjUCsBsQHgPg7SJIZiCcBsSYQewFxLhA/BeIL\nSAbkAHEzEL+DyjkAMT8QbwVJMmGxbQqaWD8Q7wDiMCAOh7rQCybJwoAJutH4jEjs\nBiDmAuLPyAb8AeLLUH/Nh7KxAZDmYihbB1mCiYE48AaI/6MLgjT/Q+KrQkMcGxAG\n4p8MWPyXDsR60KjUxOJvvAAUBjPQxN7hUPsfm+HosbAXiPMYSATN0PiVZaAS0CNF\nMSgpCwCxGRAnQVNdIxTjA/+hYXEAFAbv0ST/4Qg8dFAPwuiB+AOIq/AkZWRDQa5s\nAEneBOIrQHwciJcB8TNSwgAABqAyhgP6VoQAAAAASUVORK5CYII=\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\" stroke=\"black\"\n transform=\"matrix(1,0,0,1,571,282)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\" fill=\"black\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n <polygon fill=\"black\" clip-path=\"url(#lOcn6EHpV1XclipPath20)\"\n points=\" 562 244 571 248 562 253\" stroke=\"none\"/>\n <polygon clip-path=\"url(#lOcn6EHpV1XclipPath21)\"\n points=\" 562 263 571 263 571 272 562 272\" stroke=\"none\"/>\n <polygon fill=\"black\" clip-path=\"url(#lOcn6EHpV1XclipPath22)\"\n points=\" 603 244 612 248 603 253\" stroke=\"none\"/>\n <polygon fill=\"black\" clip-path=\"url(#lOcn6EHpV1XclipPath23)\"\n points=\" 603 263 612 267 603 272\" stroke=\"none\"/>\n <text x=\"397\" y=\"78\" clip-path=\"url(#lOcn6EHpV1XclipPath24)\" fill=\"black\"\n stroke=\"none\" font-weight=\"bold\" xml:space=\"preserve\">Container</text><text x=\"390\"\n y=\"93\" clip-path=\"url(#lOcn6EHpV1XclipPath25)\" fill=\"black\" stroke=\"none\"\n font-weight=\"bold\" xml:space=\"preserve\">Input (Table)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n stroke=\"black\" transform=\"matrix(1,0,0,1,411,103)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\" fill=\"black\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAbUlEQVR42u2XsQ2A\nQAwDQ8QGDPZiiJ+KCSh/DiZgmYgg5amok+YsufbFqbxc97mJyOFubpUcmXu4+xrh\nu+RKZ6bG5VVqmlj7bxOV4d8vAAAAAAAAAAAAAAAAAAAArDDfNFZqlca7jvscihXz\n/AFzcw2txpwGwQAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\" stroke=\"black\"\n transform=\"matrix(1,0,0,1,419,111)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\" fill=\"black\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA60lEQVR42mP8//8/\nAzpobGx0AFL70YQd6+vrD6CrZWKgELBAbQwAUiDcABWvwKK2AqjuAZQNUrcB6KIN\nLFCBCUAsD8RhUFexYzHAHYhvAPE/IOYEYpA3NzAzMjKCTPOHKmKFuQqPi1mhbIGD\nBw8ygmwroCAICpigfj9IhmaQngAmaNQ0kGFAA0gvRjQCBcEYHxslHUATDVkuAOll\nbGho+ADk8JMZiB+ZoGmAXDABFIgg5z+ECnwH4p94NPyEqgGBhyC9sERTgJaUZ0BT\nHjLYCcQZyEkZnhdAaRomAM0bHVgM6ACqg+WFBKrlRgCqDEnUPy6RDQAAAABJRU5E\nrkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\" stroke=\"black\"\n transform=\"matrix(1,0,0,1,411,142)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\" fill=\"black\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n <polygon fill=\"none\" stroke-width=\"1\" clip-path=\"url(#lOcn6EHpV1XclipPath26)\"\n points=\" 402 114 410 117 402 122\" stroke=\"black\"/>\n <polygon fill=\"black\" stroke-width=\"1\" clip-path=\"url(#lOcn6EHpV1XclipPath27)\"\n points=\" 443 114 452 118 443 123\" stroke=\"none\"/>\n </g>\n <g text-rendering=\"optimizeLegibility\" font-weight=\"bold\"\n font-family=\"&apos;Arial&apos;\" stroke-linecap=\"butt\">\n <text xml:space=\"preserve\" x=\"246\" y=\"93\"\n clip-path=\"url(#lOcn6EHpV1XclipPath28)\" stroke=\"none\">Table Creator</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,271,103)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAa0lEQVR42u2XsQ2A\nQAwDQ8QGbMIiL4b4lWiY4hcMBClPRZ00Z8m1L07l5T73TUQud3Or5Mjcw93XCD8k\nVzozNS6vUtPE2n+bqAz/fgEAAAAAAAAAAAAAAAAAAGCF+aaxUqs03nXc51CsmOcP\nA/INJ1T1pwYAAAAASUVORK5CYII=\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,279,111)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAATUlEQVR42mNkYGD4\nz0AE+P//PyM2cSaoJBjjY+MCTAwUAsZRLwwHLzASciKGBkbG/8gGkuUFKXFp0l0A\ns5n6gUhOGIC88PTFE0aquAAAFb5YHdYo+gQAAAAASUVORK5CYII=\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,271,142)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n <polygon clip-path=\"url(#lOcn6EHpV1XclipPath29)\"\n points=\" 303 114 312 118 303 123\" stroke=\"none\"/>\n <text xml:space=\"preserve\" x=\"376\" y=\"233\"\n clip-path=\"url(#lOcn6EHpV1XclipPath30)\" stroke=\"none\">DB Sorter (Labs)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,411,243)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAaklEQVR42u2XsQ2A\nMAwEjcUGDBYxRKZiiqzCQAZHcqio7eZe+vrP7+q355ZDRC53c6vkyNzD3fcIPyVX\nujI1Lq9S08Taf5uoDP9+AQAAAAAAAAAAAAAAAAAAYIX5prFSqzTmOu5rKFbM8xel\nUA0xDHJAMgAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,419,251)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA+UlEQVR42mNmYGC4\nDcSOQCwCxPeB+BsDCYAZiCcBsSYQewFxLhA/BeILSGr+A3EjEp8RmWZCM5ATiKcQ\nsPQ/EsYwAAS68WhmgWmE0iwggT9AfBmIDwDxfCgbF0hG54MMYAfif0SEF8jPM9DE\n0PkMqkDcisXPDLjEQC5IB2I9aFRqQsWriY1GFizOeEdKOmBB4+8F4jwsTv+PlgZQ\nDGgB4itAfAyIHyPJZaC5LgObC0DpoBaIVyJp1oPSc9HUzsVlgAAQ20GT63kgvgiV\n+4OWbP/gCoP3aGL/0OIehv8TE4g/gLgKS+D9x5Ko4AbcggbicSBeBsTPSIlGALhM\nNH/iJ7YkAAAAAElFTkSuQmCC\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,411,282)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n <polygon fill=\"rgb(102,0,45)\" clip-path=\"url(#lOcn6EHpV1XclipPath31)\"\n points=\" 402 254 411 254 411 263 402 263\" stroke=\"none\"/>\n <polygon fill=\"rgb(102,0,45)\" clip-path=\"url(#lOcn6EHpV1XclipPath32)\"\n points=\" 443 254 452 254 452 263 443 263\" stroke=\"none\"/>\n <text xml:space=\"preserve\" x=\"376\" y=\"373\"\n clip-path=\"url(#lOcn6EHpV1XclipPath33)\" stroke=\"none\">DB Sorter (Labs)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,411,383)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAaklEQVR42u2XsQ2A\nMAwEjcUGDBYxRKZiiqzCQAZHcqio7eZe+vrP7+q355ZDRC53c6vkyNzD3fcIPyVX\nujI1Lq9S08Taf5uoDP9+AQAAAAAAAAAAAAAAAAAAYIX5prFSqzTmOu5rKFbM8xel\nUA0xDHJAMgAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,419,391)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA+UlEQVR42mNmYGC4\nDcSOQCwCxPeB+BsDCYAZiCcBsSYQewFxLhA/BeILSGr+A3EjEp8RmWZCM5ATiKcQ\nsPQ/EsYwAAS68WhmgWmE0iwggT9AfBmIDwDxfCgbF0hG54MMYAfif0SEF8jPM9DE\n0PkMqkDcisXPDLjEQC5IB2I9aFRqQsWriY1GFizOeEdKOmBB4+8F4jwsTv+PlgZQ\nDGgB4itAfAyIHyPJZaC5LgObC0DpoBaIVyJp1oPSc9HUzsVlgAAQ20GT63kgvgiV\n+4OWbP/gCoP3aGL/0OIehv8TE4g/gLgKS+D9x5Ko4AbcggbicSBeBsTPSIlGALhM\nNH/iJ7YkAAAAAElFTkSuQmCC\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,411,422)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n <polygon fill=\"rgb(102,0,45)\" clip-path=\"url(#lOcn6EHpV1XclipPath34)\"\n points=\" 402 394 411 394 411 403 402 403\" stroke=\"none\"/>\n <polygon fill=\"rgb(102,0,45)\" clip-path=\"url(#lOcn6EHpV1XclipPath35)\"\n points=\" 443 394 452 394 452 403 443 403\" stroke=\"none\"/>\n <text xml:space=\"preserve\" x=\"229\" y=\"373\"\n clip-path=\"url(#lOcn6EHpV1XclipPath36)\" stroke=\"none\">DB GroupBy (Labs)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,271,383)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAaklEQVR42u2XsQ2A\nMAwEjcUGDBYxRKZiiqzCQAZHcqio7eZe+vrP7+q355ZDRC53c6vkyNzD3fcIPyVX\nujI1Lq9S08Taf5uoDP9+AQAAAAAAAAAAAAAAAAAAYIX5prFSqzTmOu5rKFbM8xel\nUA0xDHJAMgAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,279,391)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABHklEQVR42mP8//8/\nAyWAEYgvAfE1KD4DNHAbKQYwA/E0INYBYkcgjm5sbNRtaGhYRYoL0P3wEohlgJgL\niLuw6DkEdOUyGIcJSeIdEG8BYmeggj9QA9KxYDtk01iAOACIzwM1PUKz6RUQSyLx\ntYF4D7pzWIAaNzJCAMjZgUAcA8RuQPGPQPoF3K+MjBLYwoAFKHEPSEsBMTtU7CsQ\nf8ITbiFAPRbIXlBEU7D1P/7EAQobCWQDQADk3GfQQGwnEHOLgOZnIBvAAxT4iuRX\nDiBmhkaxDpJGdaxhAA0HPSCtCsT+0FgBhQkPKHYIJSSQAR/QExLQRV+AhoLSyExs\nCQndAHQATsZAQ0AxkUGMC24B8WMgfgKKASBeQ1JupDQ7AwD2W1gnlxG/HQAAAABJRU5ErkJggg==\"\n xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,271,422)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n <polygon fill=\"rgb(102,0,45)\" clip-path=\"url(#lOcn6EHpV1XclipPath37)\"\n points=\" 262 394 271 394 271 403 262 403\" stroke=\"none\"/>\n <polygon fill=\"rgb(102,0,45)\" clip-path=\"url(#lOcn6EHpV1XclipPath38)\"\n points=\" 303 394 312 394 312 403 303 403\" stroke=\"none\"/>\n <text xml:space=\"preserve\" x=\"530\" y=\"358\"\n clip-path=\"url(#lOcn6EHpV1XclipPath39)\" stroke=\"none\">Parameterized DB</text><text xml:space=\"preserve\"\n x=\"523\" y=\"373\" clip-path=\"url(#lOcn6EHpV1XclipPath40)\" stroke=\"none\">Query Reader (Labs)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,571,383)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAa0lEQVR42u2XsQ2A\nQAwDQ8QGbMIiL4b4lWiY4hcMBClPRZ00Z8m1L07l5T73TUQud3Or5Mjcw93XCD8k\nVzozNS6vUtPE2n+bqAz/fgEAAAAAAAAAAAAAAAAAAGCF+aaxUqs03nXc51CsmOcP\nA/INJ1T1pwYAAAAASUVORK5CYII=\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,579,391)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABDUlEQVR42mNmYGC4\nDcSOQCwCxPeB+BsDKuAE4lYg3gnEjUCsBsQHgPg7SJIZiCcBsSYQewFxLhA/BeIL\nSAbkAHEzEL+DyjkAMT8QbwVJMmGxbQqaWD8Q7wDiMCAOh7rQCybJwoAJutH4jEjs\nBiDmAuLPyAb8AeLLUH/Nh7KxAZDmYihbB1mCiYE48AaI/6MLgjT/Q+KrQkMcGxAG\n4p8MWPyXDsR60KjUxOJvvAAUBjPQxN7hUPsfm+HosbAXiPMYSATN0PiVZaAS0CNF\nMSgpCwCxGRAnQVNdIxTjA/+hYXEAFAbv0ST/4Qg8dFAPwuiB+AOIq/AkZWRDQa5s\nAEneBOIrQHwciJcB8TNSwgAABqAyhgP6VoQAAAAASUVORK5CYII=\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,571,422)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n <polygon clip-path=\"url(#lOcn6EHpV1XclipPath41)\"\n points=\" 562 384 571 388 562 393\" stroke=\"none\"/>\n <polygon fill=\"rgb(102,0,45)\" clip-path=\"url(#lOcn6EHpV1XclipPath42)\"\n points=\" 562 403 571 403 571 412 562 412\" stroke=\"none\"/>\n <polygon clip-path=\"url(#lOcn6EHpV1XclipPath43)\"\n points=\" 603 384 612 388 603 393\" stroke=\"none\"/>\n <polygon clip-path=\"url(#lOcn6EHpV1XclipPath44)\"\n points=\" 603 403 612 407 603 412\" stroke=\"none\"/>\n <text xml:space=\"preserve\" x=\"717\" y=\"358\"\n clip-path=\"url(#lOcn6EHpV1XclipPath45)\" stroke=\"none\">Container</text><text xml:space=\"preserve\"\n x=\"704\" y=\"373\" clip-path=\"url(#lOcn6EHpV1XclipPath46)\" stroke=\"none\">Output (Table)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,731,383)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAbUlEQVR42u2XsQ2A\nQAwDQ8QGDPZiiJ+KCSh/DiZgmYgg5amok+YsufbFqbxc97mJyOFubpUcmXu4+xrh\nu+RKZ6bG5VVqmlj7bxOV4d8vAAAAAAAAAAAAAAAAAAAArDDfNFZqlca7jvscihXz\n/AFzcw2txpwGwQAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,739,391)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABUUlEQVR42q1TsU6E\nQBBdOIwYGiso9RpqSjqxspTKGjpKyus4urOz9Auot7VS+AMIheXdD5BQCQkRZ8hA\nyIpS6CQvLLPvzc7Ozkh93zPR4jh24PMquG+jKHoTuTL7oyl0ogsfxJ78uwXuDnhH\nWiOPQ0ZcIccT4ArwQFmdLwS4A7wDPgEXALwm30iShNHuiXQ2ZiWaqqqs6zqFOGiX\naZpKeFq4dk8Ue57HXNcVt0KZ7p6uiQ3DELdQ48r0NGPxmGVZLAiCQTgX53nOOOfz\nAHvUfruvbduDwPf94V/X9SXxZFhEhzK4RkdZlsw0zUGoadpv4i0U8Yg1wN2b0ds0\nDUuSBCvOqqr68WTS8I3jOCq96WRt27KiKFiWZWsP9IhFxPRP5PhAPS7qul4StMRB\nO6F2LGIotPIzdd7cXgDBvJWnWcCeHh00G4eFAAfgjbPg/ds0fgFP0HPHJaLVVAAA\nAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,731,422)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAABuklEQVR42sVUy07C\nUBA9LdW2PigEwY2JMaCfoVv9C7/Aj/FnXLHQf2AhlLhxpUJ5WNsSKN5zpTeFVgwu\n9CSTtHceZ+7cmdGazeY1gFsh+/hbjIXcGL8nn0PHVH7FYBht0wDkvDXS5Lquw7Zt\nOMV9mKaJ4WgE/91HNJkseZ4U73B08ACjHMv/qafj+e0cT6OrJTtzexu7e7siXhFR\nFIl4YwRBgDiOVRJG8qVpGkolB43GqQpQrR3iI/iA2+4gFAES8uP6PfSypey2HODY\nuQe6UElY4gKNs1Ps2DvK7kiI63bgeQPM5/OvSydKy7JQrzcydWKASqWiys6bp8lV\n9cQZdbQh6JMmT0AOcik/VS6RMauQh2qtikKhIN88KXseqKMNbemTB3KQK5PAf0El\nwCZJ3mUVry+vmM1mstvZcN+BOtrQlj65syM4okU/LSUQhiG6XTfjwCbs9XpJAWW3\nx16YseMZdck40oe+qyAHudSzpTMbDIZotVprx1B2uej27BheLI0hp6bz2M4dw3Sl\njcVGkruA8+n7vpR1INHT6PLHRcTEo/4E/b737TbkE9wsktgQmiDekvKLLahW8Sd3\nI9NSe3Ml5QAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <polygon clip-path=\"url(#lOcn6EHpV1XclipPath47)\"\n points=\" 722 394 731 398 722 403\" stroke=\"none\"/>\n <polygon clip-path=\"url(#lOcn6EHpV1XclipPath48)\"\n points=\" 763 394 772 398 763 403\" stroke=\"none\"/>\n <text xml:space=\"preserve\" x=\"15\" y=\"298\"\n clip-path=\"url(#lOcn6EHpV1XclipPath49)\" stroke=\"none\">Retrieve assays,</text><text xml:space=\"preserve\"\n x=\"0\" y=\"313\" clip-path=\"url(#lOcn6EHpV1XclipPath50)\" stroke=\"none\">activities, and targets</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,51,323)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAa0lEQVR42u2XsQ2A\nMAwEjcUGDBYxRKZiigxARrMwkkNFbTf30td/fle/3XMeInK5m1slR+Ye7r5H+Cm5\n0pWpcXmVmibW/ttEZfj3CwAAAAAAAAAAAAAAAAAAACvMN42VWqXxruO+hmLFPH8A\nMOkNmTZYl7gAAAAASUVORK5CYII=\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,59,331)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA3UlEQVR42mP8//8/\nAyWAhRhFjCcZGfjY+RgYGRkZQBZ++vmJ4b/5f+IN4GHjYXBSdWJgY2Zj+PX3F8Oe\nW3vwuwBkEzIQOS7CIMotCudz/OSAq2EipBmrKiYsYcCYDtQoCGQEQxUA2f9nQvzJ\ne4GX4dGHRwysTKwMv//9ZvjB9oMBFvgIL4A0xwMxOxD/BOKFCFu+fPvCcPDeQaC5\nTAz/gPDHjx8IF8NZ5UDcgeTMFqALaghHMRMDhYAF5hfGCqBjriN54QupCek91N8g\nN/2D8kkxABbipAKKw2AYGAAArXBAE6T1kEAAAAAASUVORK5CYII=\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,51,362)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n font-weight=\"normal\" height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n <polygon fill=\"rgb(102,0,45)\" clip-path=\"url(#lOcn6EHpV1XclipPath51)\"\n points=\" 83 334 92 334 92 343 83 343\" stroke=\"none\"/>\n </g>\n <g fill=\"white\" text-rendering=\"optimizeLegibility\"\n font-family=\"&apos;Segoe UI&apos;\" stroke-linecap=\"butt\"\n stroke=\"white\">\n <rect x=\"667\" y=\"140\" clip-path=\"url(#lOcn6EHpV1XclipPath1)\" width=\"161\"\n height=\"341\" stroke=\"none\"/>\n <text x=\"677\" y=\"162\" clip-path=\"url(#lOcn6EHpV1XclipPath2)\" fill=\"black\"\n font-family=\"&apos;Arial&apos;\" stroke=\"none\"\n xml:space=\"preserve\">Output to caller</text><rect x=\"672\"\n y=\"145\" clip-path=\"url(#lOcn6EHpV1XclipPath1)\" fill=\"none\" width=\"151\"\n height=\"331\" stroke=\"rgb(255,216,0)\" stroke-width=\"10\"/>\n <rect x=\"347\" y=\"0\" clip-path=\"url(#lOcn6EHpV1XclipPath3)\" width=\"161\"\n height=\"181\" stroke=\"none\" stroke-width=\"10\"/>\n </g>\n <g text-rendering=\"optimizeLegibility\" stroke-width=\"10\"\n font-family=\"&apos;Arial&apos;\" stroke-linecap=\"butt\">\n <text xml:space=\"preserve\" x=\"357\" y=\"22\"\n clip-path=\"url(#lOcn6EHpV1XclipPath4)\" stroke=\"none\">Input from caller</text><rect x=\"352\"\n y=\"5\" clip-path=\"url(#lOcn6EHpV1XclipPath3)\" fill=\"none\" width=\"151\"\n height=\"171\" stroke=\"rgb(255,216,0)\"/>\n <text xml:space=\"preserve\" x=\"715\" y=\"311\"\n clip-path=\"url(#lOcn6EHpV1XclipPath5)\" stroke=\"none\">details data</text><text xml:space=\"preserve\"\n x=\"237\" y=\"171\" clip-path=\"url(#lOcn6EHpV1XclipPath6)\" stroke=\"none\">Sample input data</text><text xml:space=\"preserve\"\n x=\"707\" y=\"451\" clip-path=\"url(#lOcn6EHpV1XclipPath7)\" stroke=\"none\">summary data</text><text x=\"717\"\n y=\"218\" clip-path=\"url(#lOcn6EHpV1XclipPath8)\" stroke=\"none\"\n font-weight=\"bold\" xml:space=\"preserve\">Container</text><text x=\"704\"\n y=\"233\" clip-path=\"url(#lOcn6EHpV1XclipPath9)\" stroke=\"none\"\n font-weight=\"bold\" xml:space=\"preserve\">Output (Table)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,731,243)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAbUlEQVR42u2XsQ2A\nQAwDQ8QGDPZiiJ+KCSh/DiZgmYgg5amok+YsufbFqbxc97mJyOFubpUcmXu4+xrh\nu+RKZ6bG5VVqmlj7bxOV4d8vAAAAAAAAAAAAAAAAAAAArDDfNFZqlca7jvscihXz\n/AFzcw2txpwGwQAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,739,251)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABUUlEQVR42q1TsU6E\nQBBdOIwYGiso9RpqSjqxspTKGjpKyus4urOz9Auot7VS+AMIheXdD5BQCQkRZ8hA\nyIpS6CQvLLPvzc7Ozkh93zPR4jh24PMquG+jKHoTuTL7oyl0ogsfxJ78uwXuDnhH\nWiOPQ0ZcIccT4ArwQFmdLwS4A7wDPgEXALwm30iShNHuiXQ2ZiWaqqqs6zqFOGiX\naZpKeFq4dk8Ue57HXNcVt0KZ7p6uiQ3DELdQ48r0NGPxmGVZLAiCQTgX53nOOOfz\nAHvUfruvbduDwPf94V/X9SXxZFhEhzK4RkdZlsw0zUGoadpv4i0U8Yg1wN2b0ds0\nDUuSBCvOqqr68WTS8I3jOCq96WRt27KiKFiWZWsP9IhFxPRP5PhAPS7qul4StMRB\nO6F2LGIotPIzdd7cXgDBvJWnWcCeHh00G4eFAAfgjbPg/ds0fgFP0HPHJaLVVAAA\nAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,731,282)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAABuklEQVR42sVUy07C\nUBA9LdW2PigEwY2JMaCfoVv9C7/Aj/FnXLHQf2AhlLhxpUJ5WNsSKN5zpTeFVgwu\n9CSTtHceZ+7cmdGazeY1gFsh+/hbjIXcGL8nn0PHVH7FYBht0wDkvDXS5Lquw7Zt\nOMV9mKaJ4WgE/91HNJkseZ4U73B08ACjHMv/qafj+e0cT6OrJTtzexu7e7siXhFR\nFIl4YwRBgDiOVRJG8qVpGkolB43GqQpQrR3iI/iA2+4gFAES8uP6PfSypey2HODY\nuQe6UElY4gKNs1Ps2DvK7kiI63bgeQPM5/OvSydKy7JQrzcydWKASqWiys6bp8lV\n9cQZdbQh6JMmT0AOcik/VS6RMauQh2qtikKhIN88KXseqKMNbemTB3KQK5PAf0El\nwCZJ3mUVry+vmM1mstvZcN+BOtrQlj65syM4okU/LSUQhiG6XTfjwCbs9XpJAWW3\nx16YseMZdck40oe+qyAHudSzpTMbDIZotVprx1B2uej27BheLI0hp6bz2M4dw3Sl\njcVGkruA8+n7vpR1INHT6PLHRcTEo/4E/b737TbkE9wsktgQmiDekvKLLahW8Sd3\nI9NSe3Ml5QAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <polygon clip-path=\"url(#lOcn6EHpV1XclipPath13)\"\n points=\" 722 254 731 258 722 263\" stroke=\"none\"/>\n <polygon clip-path=\"url(#lOcn6EHpV1XclipPath14)\"\n points=\" 763 254 772 258 763 263\" stroke=\"none\"/>\n <text x=\"229\" y=\"233\" clip-path=\"url(#lOcn6EHpV1XclipPath15)\" stroke=\"none\"\n font-weight=\"bold\" xml:space=\"preserve\">DB GroupBy (Labs)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,271,243)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAaklEQVR42u2XsQ2A\nMAwEjcUGDBYxRKZiiqzCQAZHcqio7eZe+vrP7+q355ZDRC53c6vkyNzD3fcIPyVX\nujI1Lq9S08Taf5uoDP9+AQAAAAAAAAAAAAAAAAAAYIX5prFSqzTmOu5rKFbM8xel\nUA0xDHJAMgAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,279,251)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABHklEQVR42mP8//8/\nAyWAEYgvAfE1KD4DNHAbKQYwA/E0INYBYkcgjm5sbNRtaGhYRYoL0P3wEohlgJgL\niLuw6DkEdOUyGIcJSeIdEG8BYmeggj9QA9KxYDtk01iAOACIzwM1PUKz6RUQSyLx\ntYF4D7pzWIAaNzJCAMjZgUAcA8RuQPGPQPoF3K+MjBLYwoAFKHEPSEsBMTtU7CsQ\nf8ITbiFAPRbIXlBEU7D1P/7EAQobCWQDQADk3GfQQGwnEHOLgOZnIBvAAxT4iuRX\nDiBmhkaxDpJGdaxhAA0HPSCtCsT+0FgBhQkPKHYIJSSQAR/QExLQRV+AhoLSyExs\nCQndAHQATsZAQ0AxkUGMC24B8WMgfgKKASBeQ1JupDQ7AwD2W1gnlxG/HQAAAABJRU5ErkJggg==\"\n xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,271,282)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n <polygon fill=\"rgb(102,0,45)\" clip-path=\"url(#lOcn6EHpV1XclipPath16)\"\n points=\" 262 254 271 254 271 263 262 263\" stroke=\"none\"/>\n <polygon fill=\"rgb(102,0,45)\" clip-path=\"url(#lOcn6EHpV1XclipPath17)\"\n points=\" 303 254 312 254 312 263 303 263\" stroke=\"none\"/>\n <text x=\"530\" y=\"218\" clip-path=\"url(#lOcn6EHpV1XclipPath18)\" stroke=\"none\"\n font-weight=\"bold\" xml:space=\"preserve\">Parameterized DB</text><text x=\"523\"\n y=\"233\" clip-path=\"url(#lOcn6EHpV1XclipPath19)\" stroke=\"none\"\n font-weight=\"bold\" xml:space=\"preserve\">Query Reader (Labs)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,571,243)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAa0lEQVR42u2XsQ2A\nQAwDQ8QGbMIiL4b4lWiY4hcMBClPRZ00Z8m1L07l5T73TUQud3Or5Mjcw93XCD8k\nVzozNS6vUtPE2n+bqAz/fgEAAAAAAAAAAAAAAAAAAGCF+aaxUqs03nXc51CsmOcP\nA/INJ1T1pwYAAAAASUVORK5CYII=\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,579,251)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABDUlEQVR42mNmYGC4\nDcSOQCwCxPeB+BsDKuAE4lYg3gnEjUCsBsQHgPg7SJIZiCcBsSYQewFxLhA/BeIL\nSAbkAHEzEL+DyjkAMT8QbwVJMmGxbQqaWD8Q7wDiMCAOh7rQCybJwoAJutH4jEjs\nBiDmAuLPyAb8AeLLUH/Nh7KxAZDmYihbB1mCiYE48AaI/6MLgjT/Q+KrQkMcGxAG\n4p8MWPyXDsR60KjUxOJvvAAUBjPQxN7hUPsfm+HosbAXiPMYSATN0PiVZaAS0CNF\nMSgpCwCxGRAnQVNdIxTjA/+hYXEAFAbv0ST/4Qg8dFAPwuiB+AOIq/AkZWRDQa5s\nAEneBOIrQHwciJcB8TNSwgAABqAyhgP6VoQAAAAASUVORK5CYII=\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,571,282)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n <polygon clip-path=\"url(#lOcn6EHpV1XclipPath20)\"\n points=\" 562 244 571 248 562 253\" stroke=\"none\"/>\n <polygon fill=\"rgb(102,0,45)\" clip-path=\"url(#lOcn6EHpV1XclipPath21)\"\n points=\" 562 263 571 263 571 272 562 272\" stroke=\"none\"/>\n <polygon clip-path=\"url(#lOcn6EHpV1XclipPath22)\"\n points=\" 603 244 612 248 603 253\" stroke=\"none\"/>\n <polygon clip-path=\"url(#lOcn6EHpV1XclipPath23)\"\n points=\" 603 263 612 267 603 272\" stroke=\"none\"/>\n <text x=\"397\" y=\"78\" clip-path=\"url(#lOcn6EHpV1XclipPath24)\" stroke=\"none\"\n font-weight=\"bold\" xml:space=\"preserve\">Container</text><text x=\"390\"\n y=\"93\" clip-path=\"url(#lOcn6EHpV1XclipPath25)\" stroke=\"none\"\n font-weight=\"bold\" xml:space=\"preserve\">Input (Table)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,411,103)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAbUlEQVR42u2XsQ2A\nQAwDQ8QGDPZiiJ+KCSh/DiZgmYgg5amok+YsufbFqbxc97mJyOFubpUcmXu4+xrh\nu+RKZ6bG5VVqmlj7bxOV4d8vAAAAAAAAAAAAAAAAAAAArDDfNFZqlca7jvscihXz\n/AFzcw2txpwGwQAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,419,111)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA60lEQVR42mP8//8/\nAzpobGx0AFL70YQd6+vrD6CrZWKgELBAbQwAUiDcABWvwKK2AqjuAZQNUrcB6KIN\nLFCBCUAsD8RhUFexYzHAHYhvAPE/IOYEYpA3NzAzMjKCTPOHKmKFuQqPi1mhbIGD\nBw8ygmwroCAICpigfj9IhmaQngAmaNQ0kGFAA0gvRjQCBcEYHxslHUATDVkuAOll\nbGho+ADk8JMZiB+ZoGmAXDABFIgg5z+ECnwH4p94NPyEqgGBhyC9sERTgJaUZ0BT\nHjLYCcQZyEkZnhdAaRomAM0bHVgM6ACqg+WFBKrlRgCqDEnUPy6RDQAAAABJRU5E\nrkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,411,142)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n <polygon fill=\"none\" stroke-width=\"1\" clip-path=\"url(#lOcn6EHpV1XclipPath26)\"\n points=\" 402 114 410 117 402 122\"/>\n <polygon stroke-width=\"1\" clip-path=\"url(#lOcn6EHpV1XclipPath27)\"\n points=\" 443 114 452 118 443 123\" stroke=\"none\"/>\n <text x=\"246\" y=\"93\" clip-path=\"url(#lOcn6EHpV1XclipPath28)\" stroke=\"none\"\n font-weight=\"bold\" stroke-width=\"1\" xml:space=\"preserve\">Table Creator</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,271,103)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAa0lEQVR42u2XsQ2A\nQAwDQ8QGbMIiL4b4lWiY4hcMBClPRZ00Z8m1L07l5T73TUQud3Or5Mjcw93XCD8k\nVzozNS6vUtPE2n+bqAz/fgEAAAAAAAAAAAAAAAAAAGCF+aaxUqs03nXc51CsmOcP\nA/INJ1T1pwYAAAAASUVORK5CYII=\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,279,111)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAATUlEQVR42mNkYGD4\nz0AE+P//PyM2cSaoJBjjY+MCTAwUAsZRLwwHLzASciKGBkbG/8gGkuUFKXFp0l0A\ns5n6gUhOGIC88PTFE0aquAAAFb5YHdYo+gQAAAAASUVORK5CYII=\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,271,142)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n <polygon stroke-width=\"1\" clip-path=\"url(#lOcn6EHpV1XclipPath29)\"\n points=\" 303 114 312 118 303 123\" stroke=\"none\"/>\n <text x=\"376\" y=\"233\" clip-path=\"url(#lOcn6EHpV1XclipPath30)\" stroke=\"none\"\n font-weight=\"bold\" stroke-width=\"1\" xml:space=\"preserve\">DB Sorter (Labs)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,411,243)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAaklEQVR42u2XsQ2A\nMAwEjcUGDBYxRKZiiqzCQAZHcqio7eZe+vrP7+q355ZDRC53c6vkyNzD3fcIPyVX\nujI1Lq9S08Taf5uoDP9+AQAAAAAAAAAAAAAAAAAAYIX5prFSqzTmOu5rKFbM8xel\nUA0xDHJAMgAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,419,251)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA+UlEQVR42mNmYGC4\nDcSOQCwCxPeB+BsDCYAZiCcBsSYQewFxLhA/BeILSGr+A3EjEp8RmWZCM5ATiKcQ\nsPQ/EsYwAAS68WhmgWmE0iwggT9AfBmIDwDxfCgbF0hG54MMYAfif0SEF8jPM9DE\n0PkMqkDcisXPDLjEQC5IB2I9aFRqQsWriY1GFizOeEdKOmBB4+8F4jwsTv+PlgZQ\nDGgB4itAfAyIHyPJZaC5LgObC0DpoBaIVyJp1oPSc9HUzsVlgAAQ20GT63kgvgiV\n+4OWbP/gCoP3aGL/0OIehv8TE4g/gLgKS+D9x5Ko4AbcggbicSBeBsTPSIlGALhM\nNH/iJ7YkAAAAAElFTkSuQmCC\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,411,282)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n <polygon fill=\"rgb(102,0,45)\" stroke-width=\"1\"\n clip-path=\"url(#lOcn6EHpV1XclipPath31)\"\n points=\" 402 254 411 254 411 263 402 263\" stroke=\"none\"/>\n <polygon fill=\"rgb(102,0,45)\" stroke-width=\"1\"\n clip-path=\"url(#lOcn6EHpV1XclipPath32)\"\n points=\" 443 254 452 254 452 263 443 263\" stroke=\"none\"/>\n <text x=\"376\" y=\"373\" clip-path=\"url(#lOcn6EHpV1XclipPath33)\" stroke=\"none\"\n font-weight=\"bold\" stroke-width=\"1\" xml:space=\"preserve\">DB Sorter (Labs)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,411,383)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAaklEQVR42u2XsQ2A\nMAwEjcUGDBYxRKZiiqzCQAZHcqio7eZe+vrP7+q355ZDRC53c6vkyNzD3fcIPyVX\nujI1Lq9S08Taf5uoDP9+AQAAAAAAAAAAAAAAAAAAYIX5prFSqzTmOu5rKFbM8xel\nUA0xDHJAMgAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,419,391)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA+UlEQVR42mNmYGC4\nDcSOQCwCxPeB+BsDCYAZiCcBsSYQewFxLhA/BeILSGr+A3EjEp8RmWZCM5ATiKcQ\nsPQ/EsYwAAS68WhmgWmE0iwggT9AfBmIDwDxfCgbF0hG54MMYAfif0SEF8jPM9DE\n0PkMqkDcisXPDLjEQC5IB2I9aFRqQsWriY1GFizOeEdKOmBB4+8F4jwsTv+PlgZQ\nDGgB4itAfAyIHyPJZaC5LgObC0DpoBaIVyJp1oPSc9HUzsVlgAAQ20GT63kgvgiV\n+4OWbP/gCoP3aGL/0OIehv8TE4g/gLgKS+D9x5Ko4AbcggbicSBeBsTPSIlGALhM\nNH/iJ7YkAAAAAElFTkSuQmCC\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,411,422)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n <polygon fill=\"rgb(102,0,45)\" stroke-width=\"1\"\n clip-path=\"url(#lOcn6EHpV1XclipPath34)\"\n points=\" 402 394 411 394 411 403 402 403\" stroke=\"none\"/>\n <polygon fill=\"rgb(102,0,45)\" stroke-width=\"1\"\n clip-path=\"url(#lOcn6EHpV1XclipPath35)\"\n points=\" 443 394 452 394 452 403 443 403\" stroke=\"none\"/>\n <text x=\"229\" y=\"373\" clip-path=\"url(#lOcn6EHpV1XclipPath36)\" stroke=\"none\"\n font-weight=\"bold\" stroke-width=\"1\" xml:space=\"preserve\">DB GroupBy (Labs)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,271,383)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAaklEQVR42u2XsQ2A\nMAwEjcUGDBYxRKZiiqzCQAZHcqio7eZe+vrP7+q355ZDRC53c6vkyNzD3fcIPyVX\nujI1Lq9S08Taf5uoDP9+AQAAAAAAAAAAAAAAAAAAYIX5prFSqzTmOu5rKFbM8xel\nUA0xDHJAMgAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,279,391)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABHklEQVR42mP8//8/\nAyWAEYgvAfE1KD4DNHAbKQYwA/E0INYBYkcgjm5sbNRtaGhYRYoL0P3wEohlgJgL\niLuw6DkEdOUyGIcJSeIdEG8BYmeggj9QA9KxYDtk01iAOACIzwM1PUKz6RUQSyLx\ntYF4D7pzWIAaNzJCAMjZgUAcA8RuQPGPQPoF3K+MjBLYwoAFKHEPSEsBMTtU7CsQ\nf8ITbiFAPRbIXlBEU7D1P/7EAQobCWQDQADk3GfQQGwnEHOLgOZnIBvAAxT4iuRX\nDiBmhkaxDpJGdaxhAA0HPSCtCsT+0FgBhQkPKHYIJSSQAR/QExLQRV+AhoLSyExs\nCQndAHQATsZAQ0AxkUGMC24B8WMgfgKKASBeQ1JupDQ7AwD2W1gnlxG/HQAAAABJRU5ErkJggg==\"\n xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,271,422)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n <polygon fill=\"rgb(102,0,45)\" stroke-width=\"1\"\n clip-path=\"url(#lOcn6EHpV1XclipPath37)\"\n points=\" 262 394 271 394 271 403 262 403\" stroke=\"none\"/>\n <polygon fill=\"rgb(102,0,45)\" stroke-width=\"1\"\n clip-path=\"url(#lOcn6EHpV1XclipPath38)\"\n points=\" 303 394 312 394 312 403 303 403\" stroke=\"none\"/>\n <text x=\"530\" y=\"358\" clip-path=\"url(#lOcn6EHpV1XclipPath39)\" stroke=\"none\"\n font-weight=\"bold\" stroke-width=\"1\" xml:space=\"preserve\">Parameterized DB</text><text x=\"523\"\n y=\"373\" clip-path=\"url(#lOcn6EHpV1XclipPath40)\" stroke=\"none\"\n font-weight=\"bold\" stroke-width=\"1\" xml:space=\"preserve\">Query Reader (Labs)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,571,383)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAa0lEQVR42u2XsQ2A\nQAwDQ8QGbMIiL4b4lWiY4hcMBClPRZ00Z8m1L07l5T73TUQud3Or5Mjcw93XCD8k\nVzozNS6vUtPE2n+bqAz/fgEAAAAAAAAAAAAAAAAAAGCF+aaxUqs03nXc51CsmOcP\nA/INJ1T1pwYAAAAASUVORK5CYII=\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,579,391)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABDUlEQVR42mNmYGC4\nDcSOQCwCxPeB+BsDKuAE4lYg3gnEjUCsBsQHgPg7SJIZiCcBsSYQewFxLhA/BeIL\nSAbkAHEzEL+DyjkAMT8QbwVJMmGxbQqaWD8Q7wDiMCAOh7rQCybJwoAJutH4jEjs\nBiDmAuLPyAb8AeLLUH/Nh7KxAZDmYihbB1mCiYE48AaI/6MLgjT/Q+KrQkMcGxAG\n4p8MWPyXDsR60KjUxOJvvAAUBjPQxN7hUPsfm+HosbAXiPMYSATN0PiVZaAS0CNF\nMSgpCwCxGRAnQVNdIxTjA/+hYXEAFAbv0ST/4Qg8dFAPwuiB+AOIq/AkZWRDQa5s\nAEneBOIrQHwciJcB8TNSwgAABqAyhgP6VoQAAAAASUVORK5CYII=\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,571,422)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n <polygon stroke-width=\"1\" clip-path=\"url(#lOcn6EHpV1XclipPath41)\"\n points=\" 562 384 571 388 562 393\" stroke=\"none\"/>\n <polygon fill=\"rgb(102,0,45)\" stroke-width=\"1\"\n clip-path=\"url(#lOcn6EHpV1XclipPath42)\"\n points=\" 562 403 571 403 571 412 562 412\" stroke=\"none\"/>\n <polygon stroke-width=\"1\" clip-path=\"url(#lOcn6EHpV1XclipPath43)\"\n points=\" 603 384 612 388 603 393\" stroke=\"none\"/>\n <polygon stroke-width=\"1\" clip-path=\"url(#lOcn6EHpV1XclipPath44)\"\n points=\" 603 403 612 407 603 412\" stroke=\"none\"/>\n <text x=\"717\" y=\"358\" clip-path=\"url(#lOcn6EHpV1XclipPath45)\" stroke=\"none\"\n font-weight=\"bold\" stroke-width=\"1\" xml:space=\"preserve\">Container</text><text x=\"704\"\n y=\"373\" clip-path=\"url(#lOcn6EHpV1XclipPath46)\" stroke=\"none\"\n font-weight=\"bold\" stroke-width=\"1\" xml:space=\"preserve\">Output (Table)</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,731,383)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAbUlEQVR42u2XsQ2A\nQAwDQ8QGDPZiiJ+KCSh/DiZgmYgg5amok+YsufbFqbxc97mJyOFubpUcmXu4+xrh\nu+RKZ6bG5VVqmlj7bxOV4d8vAAAAAAAAAAAAAAAAAAAArDDfNFZqlca7jvscihXz\n/AFzcw2txpwGwQAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,739,391)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABUUlEQVR42q1TsU6E\nQBBdOIwYGiso9RpqSjqxspTKGjpKyus4urOz9Auot7VS+AMIheXdD5BQCQkRZ8hA\nyIpS6CQvLLPvzc7Ozkh93zPR4jh24PMquG+jKHoTuTL7oyl0ogsfxJ78uwXuDnhH\nWiOPQ0ZcIccT4ArwQFmdLwS4A7wDPgEXALwm30iShNHuiXQ2ZiWaqqqs6zqFOGiX\naZpKeFq4dk8Ue57HXNcVt0KZ7p6uiQ3DELdQ48r0NGPxmGVZLAiCQTgX53nOOOfz\nAHvUfruvbduDwPf94V/X9SXxZFhEhzK4RkdZlsw0zUGoadpv4i0U8Yg1wN2b0ds0\nDUuSBCvOqqr68WTS8I3jOCq96WRt27KiKFiWZWsP9IhFxPRP5PhAPS7qul4StMRB\nO6F2LGIotPIzdd7cXgDBvJWnWcCeHh00G4eFAAfgjbPg/ds0fgFP0HPHJaLVVAAA\nAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,731,422)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAABuklEQVR42sVUy07C\nUBA9LdW2PigEwY2JMaCfoVv9C7/Aj/FnXLHQf2AhlLhxpUJ5WNsSKN5zpTeFVgwu\n9CSTtHceZ+7cmdGazeY1gFsh+/hbjIXcGL8nn0PHVH7FYBht0wDkvDXS5Lquw7Zt\nOMV9mKaJ4WgE/91HNJkseZ4U73B08ACjHMv/qafj+e0cT6OrJTtzexu7e7siXhFR\nFIl4YwRBgDiOVRJG8qVpGkolB43GqQpQrR3iI/iA2+4gFAES8uP6PfSypey2HODY\nuQe6UElY4gKNs1Ps2DvK7kiI63bgeQPM5/OvSydKy7JQrzcydWKASqWiys6bp8lV\n9cQZdbQh6JMmT0AOcik/VS6RMauQh2qtikKhIN88KXseqKMNbemTB3KQK5PAf0El\nwCZJ3mUVry+vmM1mstvZcN+BOtrQlj65syM4okU/LSUQhiG6XTfjwCbs9XpJAWW3\nx16YseMZdck40oe+qyAHudSzpTMbDIZotVprx1B2uej27BheLI0hp6bz2M4dw3Sl\njcVGkruA8+n7vpR1INHT6PLHRcTEo/4E/b737TbkE9wsktgQmiDekvKLLahW8Sd3\nI9NSe3Ml5QAAAABJRU5ErkJggg==\" xlink:actuate=\"onLoad\"/>\n <polygon stroke-width=\"1\" clip-path=\"url(#lOcn6EHpV1XclipPath47)\"\n points=\" 722 394 731 398 722 403\" stroke=\"none\"/>\n <polygon stroke-width=\"1\" clip-path=\"url(#lOcn6EHpV1XclipPath48)\"\n points=\" 763 394 772 398 763 403\" stroke=\"none\"/>\n <text x=\"15\" y=\"298\" clip-path=\"url(#lOcn6EHpV1XclipPath49)\" stroke=\"none\"\n font-weight=\"bold\" stroke-width=\"1\" xml:space=\"preserve\">Retrieve assays,</text><text x=\"0\"\n y=\"313\" clip-path=\"url(#lOcn6EHpV1XclipPath50)\" stroke=\"none\"\n font-weight=\"bold\" stroke-width=\"1\" xml:space=\"preserve\">activities, and targets</text><image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,51,323)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath10)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"32\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAa0lEQVR42u2XsQ2A\nMAwEjcUGDBYxRKZiigxARrMwkkNFbTf30td/fle/3XMeInK5m1slR+Ye7r5H+Cm5\n0pWpcXmVmibW/ttEZfj3CwAAAAAAAAAAAAAAAAAAACvMN42VWqXxruO+hmLFPH8A\nMOkNmTZYl7gAAAAASUVORK5CYII=\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,59,331)\" width=\"16\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath11)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"16\" x=\"0\" y=\"0\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA3UlEQVR42mP8//8/\nAyWAhRhFjCcZGfjY+RgYGRkZQBZ++vmJ4b/5f+IN4GHjYXBSdWJgY2Zj+PX3F8Oe\nW3vwuwBkEzIQOS7CIMotCudz/OSAq2EipBmrKiYsYcCYDtQoCGQEQxUA2f9nQvzJ\ne4GX4dGHRwysTKwMv//9ZvjB9oMBFvgIL4A0xwMxOxD/BOKFCFu+fPvCcPDeQaC5\nTAz/gPDHjx8IF8NZ5UDcgeTMFqALaghHMRMDhYAF5hfGCqBjriN54QupCek91N8g\nN/2D8kkxABbipAKKw2AYGAAArXBAE6T1kEAAAAAASUVORK5CYII=\" xlink:actuate=\"onLoad\"/>\n <image xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n transform=\"matrix(1,0,0,1,51,362)\" width=\"32\"\n xlink:show=\"embed\" xlink:type=\"simple\"\n clip-path=\"url(#lOcn6EHpV1XclipPath12)\" preserveAspectRatio=\"none\"\n stroke-width=\"1\" height=\"12\" x=\"0\" y=\"0\" font-size=\"4\"\n xlink:href=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAAB2UlEQVR42sVUTU/b\nMBh+7DRpEqBNV1EY4wTlOmkXBEK77DJpv4JfwI/h30yqJi4cxhHBaYUT4qN8pGkI\nSZrFxg7YKiT0xvZYlvz6tf08fv2+Jr1ebxvAruhz+LcIRd+h703ORct5DsbZa5fk\n3K1NklNK4TgOvEYDlmVhFI5wH0VI0/GLnaZpwnUdNJteYQfBEA8PMbIs02uYaAf3\ne7jBBTJrDMoM2GMXX5xNdMxPWkRNjQghaHlNdLtr+pDOwoI4OMKffh9Jkmry5aWl\nwqfwcXERg6srnJ2faxH74U/czF6CmBQEtIhEjAi//V/4Sn7Aq7WfLq0OcWwbqyvd\nUghddwbtD+0J23lBPilW+iRSlsCvDQry12Aew2FyoG29wqrXQSipfMfO/DwMwyjG\nKuxVUL4R85E7vDonBEVCorKA/wUtYJym4Kxa9eD6Gnme64R7C8rXoC0YcXU0iaCw\n+UxZQJwkODntlzbIJLy9u52w4yLhSiLFnPRJ1KmN1t8OeMbKNx5SfLbXta2rgHMO\nfxjg6Ph4ahnKLJfZfjf0p5bh1tz3N8tQVYASEKq/gDGGSBDKPg2SKAhkH015W4qN\n2W9F+clPiMhitEspF8qZnWcR7wJJbBADlNDKr/gRdwHUkatixdAAAAAASUVORK5C\nYII=\" xlink:actuate=\"onLoad\"/>\n <polygon fill=\"rgb(102,0,45)\" stroke-width=\"1\"\n clip-path=\"url(#lOcn6EHpV1XclipPath51)\"\n points=\" 83 334 92 334 92 343 83 343\" stroke=\"none\"/>\n </g>\n <g stroke-linecap=\"butt\" fill=\"rgb(150,150,150)\"\n text-rendering=\"optimizeLegibility\"\n font-family=\"&apos;Segoe UI&apos;\" stroke=\"rgb(150,150,150)\"\n stroke-width=\"2\">\n <path fill=\"none\"\n d=\"M312 118 C314 118 318 118 320 118 C341 118 372 118 393 118 C395 118 399 118 401 118\"\n clip-path=\"url(#lOcn6EHpV1XclipPath52)\" fill-rule=\"evenodd\"/>\n <path fill=\"none\"\n d=\"M452 398 C454 398 458 398 460 398 C488 398 525 407 553 407 C555 407 559 407 561 407\"\n clip-path=\"url(#lOcn6EHpV1XclipPath52)\" fill-rule=\"evenodd\"/>\n <path fill=\"none\"\n d=\"M612 248 C614 248 618 248 620 248 C648 248 685 258 713 258 C715 258 719 258 721 258\"\n clip-path=\"url(#lOcn6EHpV1XclipPath52)\" fill-rule=\"evenodd\"/>\n <path fill=\"none\"\n d=\"M92 338 C94 338 98 338 100 338 C151 338 202 258 253 258 C255 258 259 258 261 258\"\n clip-path=\"url(#lOcn6EHpV1XclipPath52)\" fill-rule=\"evenodd\"/>\n <path fill=\"none\"\n d=\"M312 258 C314 258 318 258 320 258 C341 258 372 258 393 258 C395 258 399 258 401 258\"\n clip-path=\"url(#lOcn6EHpV1XclipPath52)\" fill-rule=\"evenodd\"/>\n <path fill=\"none\"\n d=\"M452 118 C454 118 458 118 460 118 C507 118 506 248 553 248 C555 248 559 248 561 248\"\n clip-path=\"url(#lOcn6EHpV1XclipPath52)\" fill-rule=\"evenodd\"/>\n <path fill=\"none\"\n d=\"M612 388 C614 388 618 388 620 388 C648 388 685 398 713 398 C715 398 719 398 721 398\"\n clip-path=\"url(#lOcn6EHpV1XclipPath52)\" fill-rule=\"evenodd\"/>\n <path fill=\"none\"\n d=\"M452 118 C454 118 458 118 460 118 C545 118 468 388 553 388 C555 388 559 388 561 388\"\n clip-path=\"url(#lOcn6EHpV1XclipPath52)\" fill-rule=\"evenodd\"/>\n <path fill=\"none\"\n d=\"M452 258 C454 258 458 258 460 258 C488 258 525 267 553 267 C555 267 559 267 561 267\"\n clip-path=\"url(#lOcn6EHpV1XclipPath52)\" fill-rule=\"evenodd\"/>\n <path fill=\"none\"\n d=\"M92 338 C94 338 98 338 100 338 C149 338 204 398 253 398 C255 398 259 398 261 398\"\n clip-path=\"url(#lOcn6EHpV1XclipPath52)\" fill-rule=\"evenodd\"/>\n <path fill=\"none\"\n d=\"M312 398 C314 398 318 398 320 398 C341 398 372 398 393 398 C395 398 399 398 401 398\"\n clip-path=\"url(#lOcn6EHpV1XclipPath52)\" fill-rule=\"evenodd\"/>\n </g>\n </g>\n</svg>",
"text/plain": "<knime.LocalWorkflow at 0x1ecc011b6c8>"
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "We need to provide the workflow with a table containing the terms we want to query for. For this workflow we are providing ChEMBL target IDs.\n\nWe'll do this by providing a Pandas DataFrame:"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "interesting_targets = {'target_chembl_id':[\"CHEMBL214\",\"CHEMBL219\",\"CHEMBL1983\"]}\ndf = pd.DataFrame(interesting_targets)",
"execution_count": 4,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Now execute the workflow with that DataFrame as one of the inputs:"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "with knime.Workflow(workflow_path=workflow,workspace_path=workspace) as wf:\n wf.data_table_inputs[0] = df\n wf.execute()\n",
"execution_count": 5,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "The two output tables are also present as Pandas DataFrames:"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "len(wf.data_table_outputs)",
"execution_count": 6,
"outputs": [
{
"data": {
"text/plain": "2"
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "The first data table has one summary level of the data - the number of compounds for which there is data for each readout of each assay that was run against each target:"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "len(wf.data_table_outputs[0])",
"execution_count": 7,
"outputs": [
{
"data": {
"text/plain": "2067"
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "That's too many rows to look at all at once, so let's just dispay the first few:"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "wf.data_table_outputs[0].head()",
"execution_count": 8,
"outputs": [
{
"data": {
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>standard_type</th>\n <th>description</th>\n <th>assay_type</th>\n <th>assay_chembl_id</th>\n <th>pref_name</th>\n <th>organism</th>\n <th>target_chembl_id</th>\n <th>COUNT(molregno)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>Ki</td>\n <td>Antagonist activity at 5HT1A</td>\n <td>F</td>\n <td>CHEMBL1106423</td>\n <td>Serotonin 1a (5-HT1a) receptor</td>\n <td>Homo sapiens</td>\n <td>CHEMBL214</td>\n <td>88</td>\n </tr>\n <tr>\n <th>1</th>\n <td>Ki</td>\n <td>Binding affinity to human 5-hydroxytryptamine ...</td>\n <td>B</td>\n <td>CHEMBL615772</td>\n <td>Serotonin 1a (5-HT1a) receptor</td>\n <td>Homo sapiens</td>\n <td>CHEMBL214</td>\n <td>81</td>\n </tr>\n <tr>\n <th>2</th>\n <td>Emax</td>\n <td>Intrinsic activity at human 5-HT1A receptor ex...</td>\n <td>F</td>\n <td>CHEMBL1259257</td>\n <td>Serotonin 1a (5-HT1a) receptor</td>\n <td>Homo sapiens</td>\n <td>CHEMBL214</td>\n <td>75</td>\n </tr>\n <tr>\n <th>3</th>\n <td>EC50</td>\n <td>Intrinsic activity at human 5-HT1A receptor ex...</td>\n <td>F</td>\n <td>CHEMBL1259255</td>\n <td>Serotonin 1a (5-HT1a) receptor</td>\n <td>Homo sapiens</td>\n <td>CHEMBL214</td>\n <td>74</td>\n </tr>\n <tr>\n <th>4</th>\n <td>Ki</td>\n <td>Binding affinity to 5HT1A receptor</td>\n <td>B</td>\n <td>CHEMBL1785228</td>\n <td>Serotonin 1a (5-HT1a) receptor</td>\n <td>Homo sapiens</td>\n <td>CHEMBL214</td>\n <td>66</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " standard_type description assay_type \\\n0 Ki Antagonist activity at 5HT1A F \n1 Ki Binding affinity to human 5-hydroxytryptamine ... B \n2 Emax Intrinsic activity at human 5-HT1A receptor ex... F \n3 EC50 Intrinsic activity at human 5-HT1A receptor ex... F \n4 Ki Binding affinity to 5HT1A receptor B \n\n assay_chembl_id pref_name organism \\\n0 CHEMBL1106423 Serotonin 1a (5-HT1a) receptor Homo sapiens \n1 CHEMBL615772 Serotonin 1a (5-HT1a) receptor Homo sapiens \n2 CHEMBL1259257 Serotonin 1a (5-HT1a) receptor Homo sapiens \n3 CHEMBL1259255 Serotonin 1a (5-HT1a) receptor Homo sapiens \n4 CHEMBL1785228 Serotonin 1a (5-HT1a) receptor Homo sapiens \n\n target_chembl_id COUNT(molregno) \n0 CHEMBL214 88 \n1 CHEMBL214 81 \n2 CHEMBL214 75 \n3 CHEMBL214 74 \n4 CHEMBL214 66 "
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "The second data table rolls the data up in even further, it shows the number of compounds that were tested in all assays that were run against each target:"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "wf.data_table_outputs[1]",
"execution_count": 9,
"outputs": [
{
"data": {
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>pref_name</th>\n <th>organism</th>\n <th>target_chembl_id</th>\n <th>COUNT(molregno)</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>Serotonin 1a (5-HT1a) receptor</td>\n <td>Homo sapiens</td>\n <td>CHEMBL214</td>\n <td>8089</td>\n </tr>\n <tr>\n <th>1</th>\n <td>Dopamine D4 receptor</td>\n <td>Homo sapiens</td>\n <td>CHEMBL219</td>\n <td>6090</td>\n </tr>\n <tr>\n <th>2</th>\n <td>Serotonin 1d (5-HT1d) receptor</td>\n <td>Homo sapiens</td>\n <td>CHEMBL1983</td>\n <td>2497</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " pref_name organism target_chembl_id \\\n0 Serotonin 1a (5-HT1a) receptor Homo sapiens CHEMBL214 \n1 Dopamine D4 receptor Homo sapiens CHEMBL219 \n2 Serotonin 1d (5-HT1d) receptor Homo sapiens CHEMBL1983 \n\n COUNT(molregno) \n0 8089 \n1 6090 \n2 2497 "
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "That's it!"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"_draft": {
"nbviewer_url": "https://gist.github.com/9c563ac4eaafff99929c5a4c2e39ed9e"
},
"gist": {
"id": "9c563ac4eaafff99929c5a4c2e39ed9e",
"data": {
"description": "KNIME from Jupyter_demo.ipynb",
"public": true
}
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.6.6",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment