Skip to content

Instantly share code, notes, and snippets.

@mpkocher
Created June 15, 2016 06:57
Show Gist options
  • Save mpkocher/3dc197c21a7ab520bdc29f06c3fca7c5 to your computer and use it in GitHub Desktop.
Save mpkocher/3dc197c21a7ab520bdc29f06c3fca7c5 to your computer and use it in GitHub Desktop.
Example SMRTLink Services ipython Notebook
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# https://github.com/PacificBiosciences/pbcommand\n",
"# install via\n",
"# pip install -e git://github.com/PacificBiosciences/pbcommand.git#egg=pbcommand`\n",
"from pbcommand.services import ServiceAccessLayer"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Example SubreadSet\n",
"subreadset_uuid = \"4463c7d8-4b6e-43a3-93ff-325628066a0b\"\n",
"\n",
"host = \"smrtlink-beta\"\n",
"port = 8081\n",
"sal = ServiceAccessLayer(host, port)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"{u'id': u'pacbio.smrtservices.smrtlink_analysis',\n",
" u'message': u'Services have been up for 135 hours, 20 minutes and 25.341 seconds.',\n",
" u'uptime': 487225341,\n",
" u'user': u'secondarytest',\n",
" u'uuid': u'e2c892a7-8310-44a3-9107-58a5646c680e',\n",
" u'version': u'0.50.22-SNAPSHOT'}"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sal.get_status()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Get SubreadSet from SMRT Link Services"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Get SubreadSet details by UUID"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"ds = sal.get_subreadset_by_id(subreadset_uuid)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(u'm54008_160614_021525',\n",
" u'SMS_FleaBenchmark_15kbEcoli_trypsin_A8_061316',\n",
" 19251,\n",
" 12469,\n",
" u'A01',\n",
" u'/pbi/collections/315/3150259/r54008_20160614_021104/1_A01/m54008_160614_021525.subreadset.xml',\n",
" u'4463c7d8-4b6e-43a3-93ff-325628066a0b')"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ds['metadataContextId'], ds['name'], ds['id'], ds['jobId'], ds['wellName'], ds['path'], ds['uuid']"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import_job_id = ds['jobId']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Get SubreadSet Import Job and Import Report Metrics"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import_job = sal.get_import_job_by_id(import_job_id)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"ServiceJob(id=12469, uuid=u'44edc4ee-ac5a-49c3-a441-62ea3938e911', name='Job import-dataset', state='SUCCESSFUL', path='/pbi/dept/secondary/siv/smrtlink/smrtlink-beta/smrtsuite_166987/userdata/jobs_root/012/012469', job_type='import-dataset', created_at=datetime.datetime(2016, 6, 14, 17, 45, 46, 243000, tzinfo=<iso8601.Utc>), settings={u'path': u'/pbi/collections/315/3150259/r54008_20160614_021104/1_A01/m54008_160614_021525.subreadset.xml', u'datasetType': u'PacBio.DataSet.SubreadSet'})"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import_job"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"'SUCCESSFUL'"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import_job.state"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import_report_attributes = sal.get_import_job_report_attrs(import_job.id)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"{u'adapter_xml_report.adapter_dimers': 0.02,\n",
" u'adapter_xml_report.short_inserts': 1.63,\n",
" u'raw_data_report.insert_length': 5974,\n",
" u'raw_data_report.nbases': 2769788750,\n",
" u'raw_data_report.nreads': 539045,\n",
" u'raw_data_report.read_length': 5138,\n",
" u'raw_data_report.read_n50': 10250}"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import_report_attributes # This are what are displayed in SMRT Link for Import Job Types"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Get Analysis Job Metrics"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"analysis_job_id = 12524 # Random Example Job"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"analysis_job = sal.get_analysis_job_by_id(analysis_job_id)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# The settings are quit chatty. They have all the pipeline settings and options. Using the namedtuple to make a \"skinny\" version\n",
"skinny_analysis_job = analysis_job._replace(settings = {})"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"ServiceJob(id=12524, uuid=u'ce96687d-4253-4dad-b204-cee867888934', name='54082_FAT1_2Cells_20160614', state='SUCCESSFUL', path='/pbi/dept/secondary/siv/smrtlink/smrtlink-beta/smrtsuite_166987/userdata/jobs_root/012/012524', job_type='pbsmrtpipe', created_at=datetime.datetime(2016, 6, 15, 1, 2, 30, 311000, tzinfo=<iso8601.Utc>), settings={})"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"skinny_analysis_job"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"u'pbsmrtpipe.pipelines.sa3_sat'"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"analysis_job.settings['pipelineId']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Get the Entry Points to the Pipeline"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Get Entry Points Use\n",
"eps = sal.get_analysis_job_entry_points(analysis_job_id)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"JobEntryPoint(job_id=12524, dataset_uuid=u'3adaa998-8ba9-4f7c-97c4-2ef343b419bb', dataset_metatype=u'PacBio.DataSet.SubreadSet')\n",
"JobEntryPoint(job_id=12524, dataset_uuid=u'c2f73d21-b3bf-4b69-a3a3-6beeb7b22e26', dataset_metatype=u'PacBio.DataSet.ReferenceSet')\n"
]
}
],
"source": [
"for e in eps:\n",
" print e"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"### Get Report Metrics for Analysis Job"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"analysis_report_attributes = sal.get_analysis_job_report_attrs(analysis_job_id)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"{u'coverage.depth_coverage_mean': 147.6752298049565,\n",
" u'coverage.missing_bases_pct': 0.0,\n",
" u'mapping_stats.mapped_readlength_max': 16470,\n",
" u'mapping_stats.mapped_readlength_mean': 3743,\n",
" u'mapping_stats.mapped_readlength_n50': 5974,\n",
" u'mapping_stats.mapped_readlength_q95': 10400,\n",
" u'mapping_stats.mapped_reads_n': 2319,\n",
" u'mapping_stats.mapped_subread_bases_n': 7654453,\n",
" u'mapping_stats.mapped_subread_concordance_mean': 0.8006,\n",
" u'mapping_stats.mapped_subread_readlength_max': 4339.0,\n",
" u'mapping_stats.mapped_subread_readlength_mean': 1055,\n",
" u'mapping_stats.mapped_subreadlength_n50': 1328,\n",
" u'mapping_stats.mapped_subreadlength_q95': 2070,\n",
" u'mapping_stats.mapped_subreads_n': 7257,\n",
" u'sat.accuracy': 1.0,\n",
" u'sat.coverage': 1.0,\n",
" u'sat.instrument': u'54082',\n",
" u'sat.mapped_readlength_mean': 3743,\n",
" u'sat.reads_in_cell': 2319,\n",
" u'variants.longest_contig_name': u'lambda_NEB3011',\n",
" u'variants.mean_contig_length': 48502.0,\n",
" u'variants.weighted_mean_bases_called': 1.0,\n",
" u'variants.weighted_mean_concordance': 1.0,\n",
" u'variants.weighted_mean_coverage': 147.6752298049565}"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"analysis_report_attributes"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Grab some example jobs\n",
"job_ids = [12357, 12359, 12360, 12361, 12362, 12367]"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def get_attrs_from_job_id(sal_, job_id_):\n",
" d = sal_.get_analysis_job_report_attrs(job_id_)\n",
" d['job_id'] = job_id_\n",
" d['host'] = host\n",
" d['port'] = port\n",
" return d"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"datum = [get_attrs_from_job_id(sal, x) for x in job_ids]"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Plot some data\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib\n",
"\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"sns.set_style(\"whitegrid\")\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"df = pd.DataFrame(datum)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"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>coverage.depth_coverage_mean</th>\n",
" <th>coverage.missing_bases_pct</th>\n",
" <th>host</th>\n",
" <th>job_id</th>\n",
" <th>mapping_stats.mapped_readlength_max</th>\n",
" <th>mapping_stats.mapped_readlength_mean</th>\n",
" <th>mapping_stats.mapped_readlength_n50</th>\n",
" <th>mapping_stats.mapped_readlength_q95</th>\n",
" <th>mapping_stats.mapped_reads_n</th>\n",
" <th>mapping_stats.mapped_subread_bases_n</th>\n",
" <th>...</th>\n",
" <th>mapping_stats.mapped_subread_readlength_mean</th>\n",
" <th>mapping_stats.mapped_subreadlength_n50</th>\n",
" <th>mapping_stats.mapped_subreadlength_q95</th>\n",
" <th>mapping_stats.mapped_subreads_n</th>\n",
" <th>port</th>\n",
" <th>variants.longest_contig_name</th>\n",
" <th>variants.mean_contig_length</th>\n",
" <th>variants.weighted_mean_bases_called</th>\n",
" <th>variants.weighted_mean_concordance</th>\n",
" <th>variants.weighted_mean_coverage</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>40288.305513</td>\n",
" <td>0.0</td>\n",
" <td>smrtlink-beta</td>\n",
" <td>12357</td>\n",
" <td>35886</td>\n",
" <td>8178</td>\n",
" <td>16148</td>\n",
" <td>22480</td>\n",
" <td>272393</td>\n",
" <td>2074235751</td>\n",
" <td>...</td>\n",
" <td>1772</td>\n",
" <td>2075</td>\n",
" <td>2880</td>\n",
" <td>1170748</td>\n",
" <td>8081</td>\n",
" <td>lambda_NEB3011</td>\n",
" <td>48502.0</td>\n",
" <td>1.0</td>\n",
" <td>1.000000</td>\n",
" <td>40288.305513</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>364.705681</td>\n",
" <td>0.0</td>\n",
" <td>smrtlink-beta</td>\n",
" <td>12359</td>\n",
" <td>41461</td>\n",
" <td>4810</td>\n",
" <td>8968</td>\n",
" <td>16530</td>\n",
" <td>396370</td>\n",
" <td>1888916069</td>\n",
" <td>...</td>\n",
" <td>3732</td>\n",
" <td>6039</td>\n",
" <td>10010</td>\n",
" <td>506093</td>\n",
" <td>8081</td>\n",
" <td>ecoliK12_pbi_March2013</td>\n",
" <td>4642522.0</td>\n",
" <td>1.0</td>\n",
" <td>0.999834</td>\n",
" <td>364.705681</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>91904.489318</td>\n",
" <td>0.0</td>\n",
" <td>smrtlink-beta</td>\n",
" <td>12360</td>\n",
" <td>40505</td>\n",
" <td>11687</td>\n",
" <td>20660</td>\n",
" <td>30290</td>\n",
" <td>17762</td>\n",
" <td>191479775</td>\n",
" <td>...</td>\n",
" <td>1673</td>\n",
" <td>2016</td>\n",
" <td>2200</td>\n",
" <td>114447</td>\n",
" <td>8081</td>\n",
" <td>tkb_v1_C5_insertOnly</td>\n",
" <td>1966.0</td>\n",
" <td>1.0</td>\n",
" <td>1.000000</td>\n",
" <td>91904.489318</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>59869.400293</td>\n",
" <td>0.0</td>\n",
" <td>smrtlink-beta</td>\n",
" <td>12361</td>\n",
" <td>32517</td>\n",
" <td>7470</td>\n",
" <td>13719</td>\n",
" <td>20370</td>\n",
" <td>449931</td>\n",
" <td>3109535638</td>\n",
" <td>...</td>\n",
" <td>1872</td>\n",
" <td>2262</td>\n",
" <td>3150</td>\n",
" <td>1660986</td>\n",
" <td>8081</td>\n",
" <td>lambda_NEB3011</td>\n",
" <td>48502.0</td>\n",
" <td>1.0</td>\n",
" <td>1.000000</td>\n",
" <td>59869.400293</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>156.527813</td>\n",
" <td>0.0</td>\n",
" <td>smrtlink-beta</td>\n",
" <td>12362</td>\n",
" <td>42024</td>\n",
" <td>3304</td>\n",
" <td>5924</td>\n",
" <td>11470</td>\n",
" <td>248365</td>\n",
" <td>814056472</td>\n",
" <td>...</td>\n",
" <td>2859</td>\n",
" <td>4536</td>\n",
" <td>8850</td>\n",
" <td>284695</td>\n",
" <td>8081</td>\n",
" <td>ecoliK12_pbi_March2013</td>\n",
" <td>4642522.0</td>\n",
" <td>1.0</td>\n",
" <td>0.999937</td>\n",
" <td>156.527813</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>257.757219</td>\n",
" <td>0.0</td>\n",
" <td>smrtlink-beta</td>\n",
" <td>12367</td>\n",
" <td>37148</td>\n",
" <td>3237</td>\n",
" <td>5708</td>\n",
" <td>10240</td>\n",
" <td>413560</td>\n",
" <td>1330448079</td>\n",
" <td>...</td>\n",
" <td>2827</td>\n",
" <td>4643</td>\n",
" <td>8460</td>\n",
" <td>470554</td>\n",
" <td>8081</td>\n",
" <td>ecoliK12_pbi_March2013</td>\n",
" <td>4642522.0</td>\n",
" <td>1.0</td>\n",
" <td>0.999829</td>\n",
" <td>257.757219</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>6 rows × 22 columns</p>\n",
"</div>"
],
"text/plain": [
" coverage.depth_coverage_mean coverage.missing_bases_pct host \\\n",
"0 40288.305513 0.0 smrtlink-beta \n",
"1 364.705681 0.0 smrtlink-beta \n",
"2 91904.489318 0.0 smrtlink-beta \n",
"3 59869.400293 0.0 smrtlink-beta \n",
"4 156.527813 0.0 smrtlink-beta \n",
"5 257.757219 0.0 smrtlink-beta \n",
"\n",
" job_id mapping_stats.mapped_readlength_max \\\n",
"0 12357 35886 \n",
"1 12359 41461 \n",
"2 12360 40505 \n",
"3 12361 32517 \n",
"4 12362 42024 \n",
"5 12367 37148 \n",
"\n",
" mapping_stats.mapped_readlength_mean mapping_stats.mapped_readlength_n50 \\\n",
"0 8178 16148 \n",
"1 4810 8968 \n",
"2 11687 20660 \n",
"3 7470 13719 \n",
"4 3304 5924 \n",
"5 3237 5708 \n",
"\n",
" mapping_stats.mapped_readlength_q95 mapping_stats.mapped_reads_n \\\n",
"0 22480 272393 \n",
"1 16530 396370 \n",
"2 30290 17762 \n",
"3 20370 449931 \n",
"4 11470 248365 \n",
"5 10240 413560 \n",
"\n",
" mapping_stats.mapped_subread_bases_n ... \\\n",
"0 2074235751 ... \n",
"1 1888916069 ... \n",
"2 191479775 ... \n",
"3 3109535638 ... \n",
"4 814056472 ... \n",
"5 1330448079 ... \n",
"\n",
" mapping_stats.mapped_subread_readlength_mean \\\n",
"0 1772 \n",
"1 3732 \n",
"2 1673 \n",
"3 1872 \n",
"4 2859 \n",
"5 2827 \n",
"\n",
" mapping_stats.mapped_subreadlength_n50 \\\n",
"0 2075 \n",
"1 6039 \n",
"2 2016 \n",
"3 2262 \n",
"4 4536 \n",
"5 4643 \n",
"\n",
" mapping_stats.mapped_subreadlength_q95 mapping_stats.mapped_subreads_n \\\n",
"0 2880 1170748 \n",
"1 10010 506093 \n",
"2 2200 114447 \n",
"3 3150 1660986 \n",
"4 8850 284695 \n",
"5 8460 470554 \n",
"\n",
" port variants.longest_contig_name variants.mean_contig_length \\\n",
"0 8081 lambda_NEB3011 48502.0 \n",
"1 8081 ecoliK12_pbi_March2013 4642522.0 \n",
"2 8081 tkb_v1_C5_insertOnly 1966.0 \n",
"3 8081 lambda_NEB3011 48502.0 \n",
"4 8081 ecoliK12_pbi_March2013 4642522.0 \n",
"5 8081 ecoliK12_pbi_March2013 4642522.0 \n",
"\n",
" variants.weighted_mean_bases_called variants.weighted_mean_concordance \\\n",
"0 1.0 1.000000 \n",
"1 1.0 0.999834 \n",
"2 1.0 1.000000 \n",
"3 1.0 1.000000 \n",
"4 1.0 0.999937 \n",
"5 1.0 0.999829 \n",
"\n",
" variants.weighted_mean_coverage \n",
"0 40288.305513 \n",
"1 364.705681 \n",
"2 91904.489318 \n",
"3 59869.400293 \n",
"4 156.527813 \n",
"5 257.757219 \n",
"\n",
"[6 rows x 22 columns]"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x10ad35c90>"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAY8AAAEVCAYAAAAYZ2nCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmYXFWd//F3Eokg6cQEDAQGGciYD84vGrBRhAkkLLJE\nFBlGYQRE2THiOIuyiQJjRFwYQBRBoywZV0ZQNkEBQwLI0i7QwnzFDgTZF7N0FBKS9O+Pc3uoNKH7\nVKVud1Xq83qefip16ta93/MU1LfOPduwnp4ezMzMqjF8qAMwM7Pm4+RhZmZVc/IwM7OqOXmYmVnV\nnDzMzKxqTh5mZlY1Jw8zM6uak4eZmVXtNbkHShoDTARWAw9HxJLSojIzs4Y2bKAZ5pL2A04C/h54\nDHgJ2Ap4EPhyRNxQdpBmZtZY+k0eki4FngKuiIjf93nt/wFHAeMj4rAygzQzs8YyUPLYMiIe7+8E\nkv4mIh7r5/WdgC9ExO6StgcuAFYCy4EPRcSzko4BjiW1amZFxHWSNgTmAOOBpcAREfG8pHcC5xXH\n/jwizqqmwmZmtu4GvG3Vq2hpjAOG9ZZFxG0DvOeTwOHAsojYRdIvgRMj4n5JxwKTgC8BPwfeBrwO\nmA+0Ax8D2iLiLEkHAztHxCck/QY4MCIekXQdcGpE/K6qWpuZ2TrJ6jCX9DXgPcACoDfb9AB7DPDW\nPwIHAlcUzw+OiKcrrv0i8A5gfkSsBJZKegiYAkwFzimOvQH4tKQ2YGREPFKU3wjsBTh5mJkNotzR\nVnsDiogXqjl5RFwlaeuK508DSNoFmAnsBuwLVI7cWgaMAdoqyrsrypZWHNsNbFNNTGZmtu5yk8cC\nKm5XrYviFtQpwIyiD2MpMLrikDZgESlJtFWULSYli77HLh7omh0dHd60xMysBu3t7Wv97s9NHn8G\nHpB0B+lWEwARcWQ1QUg6jNQxPj0ier/07wY+J2kksBGwHdAJ3AHMAO4tHudFRLek5ZK2AR4B9gHO\nyLl2e3t7NaGambW8jo6OV30tN3n8rPirmaThwPnAQuAqST3A3Ig4U9IFpI7yYaQO8BWSLgIukzSP\nNDLrg8Wpjge+S5odf1NE3LMucZmZWfWqGW01DtiY9AU/AtgmIm4pMba66ejo6HHLw8ysOh0dHet2\n20rS50kd3BsAzwFbArcCTZE8bP2zatUqurq6hjqMqkycOJERI0YMdRhmdZF72+qfSUuSnA98Dnhj\nUWY2JLq6uvjBRz/G5qNGDXUoWZ5atoyDv34hkyZNGupQzOoiN3k8GRFLJXUCUyLix5I+V2ZgZgPZ\nfNQothw9ZqjDMGtJucljiaTDgQ7gRElPAJuVF5aZmTWy3P08ehdA/CVpiOzFwKdLisnMzBpcVssj\nIp6Q9A1JbwU+CWwUEX8pNzQzM2tUWS0PSXuS1o/6CTABeETS3mUGZmZmjSv3ttXnSQsVLi6WaJ9G\nWg3XzMxaUG7yGB4RT/U+iYgHSorHzMyaQO5oq8ck7Q/0SHo9acLgo+WFZWZmjSy35XEccChpouAC\nYHvSAodmZtaCckdbPYNnlJuZWSF3bat/Iu3BMbayPCK2LSMoMzNrbLl9Hl8h7UW+sMRYzMysSeQm\njz+S9hlfXWYwZmbWHKppedwqaS6wsrcwIs4qJSozM2touaOtZgFdwCrSZlC9f2Zm1oJyWx4bVLtf\nuZmZrb9yk8e1kj5G2sd8RW9hRHiioJlZC8pNHgcXj/9eUdYDeKiumVkLyp0kuM2rvSbp2Ii4pH4h\nmZlZo8vtMO/P8XU4h5mZNZF6JA+PujIzazH1SB49dTiHmZk1kXokDzMzazFOHmZmVrV6JI/FdTiH\nmZk1kdwl2ccChwCbUtFBHhFnRcQeJcVmZmYNKneS4NXAM8DvcQe5mVnLy00e4yJiWi0XkLQT8IWI\n2F3SROBSYDXQGREzi2OOIW1r+xIwKyKuk7QhMAcYDywFjoiI5yW9EzivOPbnXtnXzGzw5fZ53C+p\nvdqTS/ok8E3gtUXRucCpRSIaLukASZsBJwI7A/sCZ0vaADgBuC8idgOuAE4vznERcEhE7ArsJGlK\ntXGZmdm66bflIelh0m2q1wEHS3qctJ/HMKAnYxvaPwIHkr78AdojYl7x7xuAvUmtkPkRsRJYKukh\nYAowFTin4thPS2oDRkbEI0X5jcBewO8y6mpmZnUy0G2r6ety8oi4StLWFUWVs9G7gdFAG7CkonwZ\nMKZPeXdF2dI+53jVdbfMzKwc/SaPiFgIIOl/IuKgytck3QzsWeX1KrexbSMN811KSiKV5YuK8rY+\nx3av5disocIdHR1VhmqNbOHChUMdQtU6Ozvp7u4e6jDM6mKg21ZXkW4hbSlpQZ/3/amG6/1a0m4R\ncRuwH3ALcA8wS9JIYCNgO6ATuAOYAdxbPM6LiG5JyyVtAzwC7AOckXPh9vaqu2ysgbW1tTF3qIOo\n0uTJk5k0adJQh2GWrb8f3QPdtjoCGAecD3y8onwl8HQNsfwH8M2iQ/xB4MqI6JF0ATCfdFvr1IhY\nIeki4DJJ84DlwAeLcxwPfJfU2X9TRNxTQxxmZrYOBrpttZTUiX0uUNl30QNMkPTHiOj3tlFx62uX\n4t8PsZZ+lIiYDczuU/YC8IG1HHs3aWSWmZkNkdx5HqcDOwI3k1oH00m3jUZLOj0ivldKdGZm1pBy\nk8cw4K29e5ZL2gL4DimJ/BJw8jAzayG5kwS36E0cABHxBDChuK3lzaDMzFpMbsvjdknfBf6blHAO\nAe6U9G7SvAwzM2shuS2P44E7SetPfYQ0MmomqeP88HJCMzOzRpXV8oiIlZIuI62u23ubaouIuL60\nyMzMrGHl7udxKnAy8DyptTGseBxobSszM1sP5fZ5HAVMjIhnywzGzMyaQ26fx6PAn8sMxMzMmkdu\ny+MhYL6kW4EXewu9EZOZWWvKTR6PF3/geR1mZi0vd7TVmZI2BiaSVrzdKCL+UmpkZmbWsLL6PCTt\nQdqt7yfABGChpL3LDMzMzBpXbof52aRtYRdHxOPAbsCXSovKzMwaWm7yGB4RT/U+iYgHSorHzMya\nQG6H+WOS9gd6JL2etDTJowO8x8zM1lO5LY/jgEOBrYAFwPakda7MzKwF5Y62egb455JjMTOzJtFv\n8pD0MGkNq7WKCK9tZWbWggZqeUwfjCDMzKy5DJQ8pg3w+uX1CsTMzJrHQMnj7cXjm4G/I+3nsRLY\nH/hfnDzMzFpSv8kjIk4EkDQX2CEiFhXPzwK8EZSZWYvKHaq7ObCk4vmLwPj6h2NmZs0gd5LgNcDN\nkv6HtKruIcD3SovKzMwaWlbLIyL+A/gqIOBNwBci4rNlBmZmZo0r97YVwMPAD4ErgWWSjiwnJDMz\na3RZt60kXQbsAowDHiQtT3IN8O3yQjMzs0aV2/LYDfh74EekNa12wjsKmpm1rNwO8yci4iVJDwJv\njYjvS9q6lgtKGgZ8i9R/sgo4pni8FFgNdEbEzOLYY0jJ6iVgVkRcJ2lDYA5ptNdS4IiIeL7aOFat\nWkVXV1ctVRhSEydOZMSIEUMdhpm1uOw9zCWdAvwC+KIkgLE1XnNvYOOImCppL+DzwAbAqRExT9JF\nkg4AfgWcCLwNeB0wX9JNwAnAfRFxlqSDgdOBT1QbRFdXF8edNpuNx7yhxmoMvr8seZaLZx3FpEmT\nhjoUM2txucnjKODdEXGPpB+TVtg9ocZrvgiMKVogY0itip0iYl7x+g2kBLMamB8RK4Glkh4CppB2\nNDyn4tjTa4yDjce8gdHjJtT6djOzlpW7JHu3pF9JejfwDeDaiHi4xmvOBzYiLW+yCfAeYNeK17uB\n0UAba05MXEZKNpXlvceamdkgyh1tdTDwadLto38A7pD0yYiYU8M1PwXcHhGnSdoS+CUwsuL1NmAx\nqT9jdJ/yRUV5W59jB9TR0bHG84ULF9YQ+tDr7Oyku7t7qMMYcs34+fmzs/VJ7m2rk0hDdW+LiKck\n7QDcTOq4rtYoXm45LC5i+I2kaRExF9gPuAW4B5glaSSppbId0AncAcwA7i0e55Ghvb19jedtbW1w\n/YIawh9akydPdp8H6fObO9RBVMmfnTWbvj+6K+UO1V0VEf/3kykiniL1SdTiS8DOkuaROuBPJu2J\nfqak20md51dGxNPABaTbXL8gdaivAC4CJhfvPxo4s8Y4zMysRrktj99L+hiwgaTtgY8Cv63lghGx\nGDhwLS9NX8uxs4HZfcpeAD5Qy7XNzKw+clseM4EtgRdIs8qXkhKImZm1oNyWx4UR8RHglDKDMTOz\n5pDb8pgsaVSpkZiZWdPIbXmsBh6VFKRbVwBExB6lRGVmZg0tN3l86tVekLR5MfrKzMxaRO4M8/6G\n1F9PWn/KzOrAi3ZaM8htefTHS7Ob1VFXVxdnf/Yyxo4ZP9ShZFu05BlOOfMIT4JsIfVIHj11OIeZ\nVRg7ZjybbrLFUIdh9qqq2YbWzMwMcPIwM7Ma1CN5uM/DzKzF9NvnIemN/b0eEY+SdvszM7MWMlCH\n+XWkDvFRwFakJdFXAW8hbeY0JSLmlxqhmZk1nH5vW0XEWyLircBvgH+IiB0iYkdgR6DWnQTNzKzJ\n5fZ5vCki7u59EhH3A39XTkhmZtbocud5LJQ0C/geqYP8w8CDZQVlZmaNLbflcThpv/DvAf9dlH2k\nlIjMzKzh5a5ttVjSKaRbVfcDG0XEX0qNzMzMGlZWy0PSnsDvgKuBzUm3sfYuMzAzM2tcubetPg9M\nBRZHxBPAbsCXSovKzMwaWm7yGF65Z0dEPFBSPGZm1gRyR1s9Jml/oEfS64GZwKPlhWVmZo0st+Vx\nHHAoaZZ5F7A9cGxZQZmZWWPLHW31jKTDgSnAS8D9EeF9PMzMWlTuaKt3kW5TXQxcBiyQ9PYyAzMz\ns8aV2+fxX8CMiPgtgKQdgW+Q1rgyM7MWk9vnsbw3cQBExL14Hw8zs5aV2/K4Q9JFpNbGSlLneZek\ndwBULppoZmbrv9zkMbl4PK9P+Tmk/T72qFtEZmbW8HJHW+0OIGkcsCoilpQalZmZNbSs5CFpCnA5\nsCUwXNKDwIcioquWi0o6GXhvcf0LgduBS4HVQGdEzCyOO4Y0n+QlYFZEXCdpQ2AOMB5YChwREc/X\nEoeZmdUmt8P828BpEbFpRIwDvkz6sq+apGnAzhGxC7A7MBE4Fzg1IqaRktMBkjYj7Y++M7AvcLak\nDYATgPsiYjfgCuD0WuIwM7Pa5SaPYRFxbe+TiLiKtK95LfYBOiVdDfy0+HtbRMwrXr8BeBfwDmB+\nRKyMiKXAQ6RJilOBn1Ucu1eNcZiZWY1yO8xvlXQSa462+r2k8ZBmoFdxzU2BNwL7A9uSkkdlEusG\nRpM2n6rsW1kGjOlT3nvsgDo6OtZ4vnDhwipCbhydnZ10d3cPdRhDrhk/v9zPrhnrBv5vs9XkJo9/\nLB6P71N+F2m01bZVXPN54MGIWAn8QdKLwN9UvN4GLCb1Z4zuU76oKG/rc+yA2tvb13je1tYG1y+o\nIuzGMHnyZCZNmjTUYQy5trY25g51EFXK/eza2tqYf9OfBiGi+vJ/m+ufvj+6K+WOttqmbtHAfODj\nwH9J2gLYGLhZ0rSImAvsB9wC3APMkjQS2AjYDugE7gBmAPcWj/NeeQkzMytT7mgrAR8l9XMMA0YA\n2xSd1lUpRkztKunu4lwnAI8A3yo6xB8EroyIHkkXkJLNMFKH+opisuJlkuYBy4EPVhuDmZmtm9zb\nVj8AfgLsShpltR9wfa0XjYiT11I8fS3HzQZm9yl7AfhArdc2M7N1V81Ogp8ljXL6NfA+0qgpMzNr\nQbnJ46+SXgv8AWiPiOXAG8oLy8zMGlnubas5wDWkIbp3StoXeKK0qMzMrKFltTwi4kLgoIh4ltQ3\ncQnp1pWZmbWg3NFWbwAOkTS2ovgtwFmlRGVmZg0tt8/jemAH0pDZyj8zM2tBuX0eRMSRZQZiZmbN\nIzd5XC3paNLM75W9hRHxaClRmZlZQ8tNHmOAk4HnKsqqXdPKzMzWE7nJ4yBgfDG728zMWlxuh/kC\nYOyAR5mZWUvIbXn0AA9I6gRW9BZGxB6lRGVmZg0tN3nMKjUKMzNrKrn7eTTbvjtmZlai3D6PV5D0\n63oGYmZmzaPm5AG8u25RmJlZU8meYS5pQkQ8KWlX4K2kTaGsQa1atYqurq6hDqMqEydOZMSIEUMd\nhpllyF0Y8SJgtaSvAd8FbgL2IM3/sAbU1dXFzIs/xahNRw91KFmWPbeUrx33RSZNmjTUoZhZhtyW\nxzuAHYHPArMj4gxJ95YXltXDqE1HM2ZzT88xs/rL7fMYURx7AHCDpNcBrystKjMza2i5yeNy4Eng\nkYi4C7gXuLi0qMzMrKHl3ra6ETg/IlYVz3cF3lROSGZm1uj6TR6S/oF0y+pbwFGSejeAeg3wDcC9\nm2ZmLWiglse7gGnABNbccnYlvm1lZtay+k0eEXEGgKTDI+KKQYnIzMwaXm6fx92SzgdGkfYuHwFs\nExG7lRaZmZk1rNzRVj8AFgM7AL8FxgPXlxWUmZk1ttzkMTwiPgv8DPg18D5gn9KiMjOzhpabPP4q\n6bXAH4D2iFgOvKG8sMzMrJHl9nnMAa4BDgXulLQv8MS6XFjSeNJkw72AVaSFFlcDnRExszjmGOBY\n4CVgVkRcJ2nDIp7xwFLgiIh4fl1iMTOz6mS1PCLiQuCgiHgWmA5cQrp1VRNJvfNE/loUnQucGhHT\ngOGSDpC0GXAisDOwL3C2pA2AE4D7is76K4DTa43DzMxqk5U8JN0ZEd0AEfEY8FPgrnW47peBi0it\nl2HA2yJiXvHaDaT5Je8A5kfEyohYCjwETAGmkvpeeo/dax3iMDOzGgw0w/wWUksDSauBHtKX/UpS\nAqmapA8Dz0TEzyWdWhRXJrFuYDTQBiypKF8GjOlT3nvsgDo6OtZ4vnDhwmpDbwidnZ10d3cPeFwz\n1i+3brB+168Z6wbVfX7W/AaaJLgHgKTzI+Jf6nTNj5D2BnkXqSVxOWt2vreRhgUvZc3E0AYsKsrb\n+hw7oPb29jWet7W1wfULagh/aE2ePDlrz4u2tjaIqwchovrJrRuk+s0tOZ56q+azm3/TnwYhovqq\n5vOz5tD3R3el3NFWZ0naC0DSKZJ+JOnNtQQTEdMiYveI2J00Z+Rw0jLvvRMO9wPmAfcAUyWNlDQG\n2A7oBO4AZhTHziiONTOzQZSbPL4LbFckkPeTblnVc22r/yAlqNuBDYArI+Jp4AJgPvALUof6ClJf\nyWRJ84CjgTPrGIeZmWXIHao7NiIulPRV4NKIuELSOt/G6r0tVpi+ltdnA7P7lL0AfGBdr21mZrXL\nTR7DJbWThudOk7R9Fe81M7P1TO5tq5OALwFfjogFwNeBfy0tKjMza2hZrYeIuBm4ueL5Lr3/lnRt\nROxfQmxmZtagclse/dmyDucwM7MmUo/k0VOHc5iZWROpR/IwM7MW4+RhZmZVq8dw22F1OIeZtYhV\nq1bR1dU11GFUbeLEiYwYMWKow2gY9Ugel9XhHGbWIrq6uvjp989iwmZjhzqUbE8+vYj3HvIZr91V\nISt5SHoIqEy5PcALwIOkpUXMzLJN2GwsW225yVCHUYpWaVnltjxuABYA3y6eHwq8nbS74Gy8p4aZ\nGZBaVifP+QljNpsw1KFkW/L0k3zhsAOqalnlJo+pEfHxiucXSToqIo6U5J38zMwqjNlsAmO32Gqo\nwyhV7mirVZL26X1S/HtFsVXsBqVEZmZmDSu35fER4FJJ/00aXfUQ8GHgWNKWsmZm1kJy17bqBHaU\nNBZYVewpDvCfpUVmZmYNK3e01Q7AqcA4YJgk4BX7cZiZWYvIvW11OWnnwE68lpWZWcvLTR5/jYgL\nS43EzMyaRm7yuFHSicCNwIu9hRHxaClRmZlZQ8tNHocXj/9WUdYDbFvfcMzMrBnkjrbapuxAzMys\nefSbPCSdERFnSPr22l6PiCPLCcvMzBrZQC2PjuJxbtmBmJlZ8+h3eZKIuKZ4vAz4HbAJMAa4qygz\nM7MWlLW2laR/B34EbAFsA1wj6SNlBmZmZo0rd7TV8cCOEbEEQNJZwO3Ad8oKzMzMGlfuqrrPA8sr\nni8r/szMrAXltjz+AMyXdAWwEng/8GdJnwKIiC+WFJ+ZmTWg3OTRVfy9vnh+a/G4Ud0jMjOzhpc7\nSfBMSeOBqaSWx7yIWFTLBSW9hrSd7d8CI4FZwAPApcBqoDMiZhbHHkPaM+QlYFZEXCdpQ2AOMB5Y\nChwREc/XEouZmdUmd7TVocB9wAdJG0N1SppR4zUPA56LiN2AfYELgXOBUyNiGjBc0gHFLoUnAjsX\nx50taQPgBOC+4v1XAN4G18xskOXetjodaI+IxwEkbQ1cA1xfwzV/SBr2CzCC1JJ5W0TMK8puAPYm\ntULmR8RKYKmkh4AppNbPORXHOnmYmQ2y3NFW3cATvU8iYiGwopYLRsRfI+IvktpISeQ00ta2ldca\nDbQBSyrKl5EmKFaW9x5rZmaDKLfl8WvSxMBvkloK/ww8JukDABHxw2ouKmkr4MfAhRHxfUmVo7Xa\ngMWk/ozRfcoXFeVtfY4dUEdHxxrPFy5cWE3IDaOzs5Pu7u4Bj2vG+uXWDdbv+jVj3cD167W+169X\nbvIYCTwLvK94/hLpi3w/0tLs2cmj6Mu4EZgZEb2jtn4jabeIuK045y3APcAsSSNJo7q2I+1keAcw\nA7i3eJxHhvb29jWet7W1wfULcsNuGJMnT2bSpEkDHtfW1gZx9SBEVD+5dYNUv2ZbcK2az27+TX8a\nhIjqq5r63XPrrQMe12iqqd81T949CBHV19rq1/dHd6Xc0VavWIpE0kYR8UK1AQKnkIb8ni7pM6Tk\n8y/AV4sO8QeBKyOiR9IFwHzSba1TI2KFpIuAyyTNI01c/GANMZiZ2TrISh6SDgI+A4wifZGPADYE\nNqv2ghHxCeATa3lp+lqOnQ3M7lP2AvCBaq9rZmb1k3vb6ovA0cC/k+Zl7EPqrDYzsxaUO9pqUdE/\n8StgTEScARxYWlRmZtbQcpPHC5Imkfojphed2JuXF5aZmTWy3OTxaeBzwLXAnsDTQHMN5TEzs7rJ\nHW01l5e3on27pLG1rm1lZmbNL3e01a6kEVJjK8qIiD3KCszMzBpX7mirS4EzgeacOmlmZnWVmzwe\nj4jLS43EzMyaRm7yuEDSHNKyISt7C51QzMxaU27y+GjxuGtFWQ/g5GFm1oJyk8eEiHhzqZGYmVnT\nyJ3nMU/S/sUWsmZm1uJyk8F7SGtb9UiCtDhiT0SMKCswMzNrXLmTBCeUHYiZmTWPfm9bSTpb0uv7\neX2cpHNe7XUzM1s/DdTy+CFwtaQngNuAx0hDdbcG9gC2YO17c5iZ2Xqs3+QREb8hraK7O/BeYH9g\nNdAFXBwRt5QfopmZNZrcPo9bgebbdNjMzEqRuzDiPqQl2ceRRloBEBHblhSXmZk1sNyhul8F/g3o\nJM0sNzOzFpabPJ6LiGtLjcTMzJpGbvKYJ+lc4GfAi72FEXFbKVGZmVlDy00e7yged6go6yEN1zUz\nsxaTO9pq97IDMTOz5pE72moq8ElgFGm01Qhg64j42/JCMzOzRpW7qu63gKtJyeZrwEPAuWUFZWZm\njS03ebwQEd8BfgksAo4B/qmsoMzMrLHlJo8XJY0DAnhnRPQA48sLy8zMGllu8jgX+AFwDfAhSb8H\nOkqLyszMGlruaKsfSboyInoktQOTgN+VG9qrkzQM+DowhTTv5OiIWDBU8ZiZtZqsloekscAlkm4B\nNgJOBMaUGdgA3ge8NiJ2AU7BnfdmZoMq97bVN4F7gE2AbuAJYE5ZQWWYSprtTkTcBew4hLGYmbWc\n3Bnm20TEJZJOiIjlwKclDdltK2A0sKTi+UpJwyNidTUn+cuSZ+sbVcmqjXfZc0tLiqT+aon1qWXL\nSoikHNXGumjJMyVFUo5q433y6UUlRVKOauNd8vSTJUVSjlriHdbTM/AiuZLuAvYGbo2It0l6E/DD\niNhhgLeWQtJXgDsj4sri+aMR8cZXO76jo8MrAZuZ1aC9vX3Y2spzWx6fJc3x2ErS1cDOwJH1Ca0m\nt5N2NbxS0juB+/s7+NUqb2Zmtcnt8+gArgIeBt4I/BhoLyuoDFcByyXdDnwF+NchjMXMrOXktjyu\nB+4DKvf0GLJf88UkxROG6vpmZq0uN3kQEUeVGYiZmTWP3A7z04CngVuAlb3lEfFoeaGZmVmjym15\njAFOBp6rKOsBtq17RGZm1vByk8dBwPiIeKHMYMzMrDnkJo8FwFigJZOHpJ2AL0TE7pK2By4g3b5b\nDnwoIp6VNBM4AlgNfCUiflS89zHgD8Wp7oyI0yTdSmq5DQO2A74TEacObq1eVkL99gTOIa07dntE\nnDTIVVpDrfWTNJy09E07MBL4TETcWAwPPw94Cfh5RJw1BNX6P/WuX3HOEcD3gW9GxE2DX6uXlfD5\n7Qn8J7ACeKY4x4uDX7NS6jZo3y25Q3V7gAckzZd0S+9fGQE1GkmfJC3P8tqi6DxgZkTsQRoyfJKk\nTYDjgHcCe5GGDyNpItAREXsUf6dB2ta3eP+RwJ+Azw1mnSrVu37FopWzgYMiYiqwhaQDBrdWL1uX\n+gGHA6+JiF2BA4E3F+UXAYcU5TtJmjIolVmLMuonaVtgLg2w7E9Jn9+FwHsjYjrwR+DoQajKK5RR\nt8H8bslNHrOAA4DTgDMr/lrBH0kfTq+DI6J3UuJrgBcj4nlg+2J5lAm83EJrB/6mSLbXSprU59zn\nASdFxF9LjH8g9a7fpsCiiFhYHHM7MK30Wry6danfPsATkq4FLgF+IqkNGBkRjxTH3Ej6n3qo1LV+\nRfnGwFHArWUHn6GM+k2PiOcqz1FmBfpRRt16lf7dkpU8ImLu2v7KCqqRRMRVrDnC7GkASbsAM4H/\nKspXS/oocAcvLxr5JPD54pfA2RXlSHoL0BYRQ/o/aL3rFxHPAq+TNKm49TGD9GU0JGqo3528XL9N\ngYkRsT/wReBS0rpqlQtxdTOEK0yXUD8i4v6ICIZwLlevkurXe45/BKYDlw9CVV6hjLoV7x+U75bc\nlodVkHR40Q6aAAADLElEQVQwaT+RGcUvAwAi4uukXwfTJE0D7gV+Wrx2O7BFxWkOIzVZG8461G9C\nceiHgG+QNg/7X9YcpTfkBqjf5qT6TQeep5gYGxG3AW8iLcg5uuJ0bcDiwYk8zzrUr2/LuCHVo36S\nPkFamWKfiFgxeNH3r06f3aB8tzh5VEnSYaRfBdN7b80Uv7J/XByyitQMXg18BvhEccwUoHJezJ4U\ny8o3knWs35+KY/YF9o6IGaT/qIe0w7VSZv2WF4/zgXcXx0wBHo2IZaSlcbYp+nf2AeYNcjVe1TrW\nb+Erz9hY6lG/Yt7aVGCviGiY5X3r+NkNyndL9gxzg2KEw/mkD+oqST3A3Ig4U9JvJd1J+lK9ISLm\nSboPmCNpBql5+uGK023WSP/hQl3r9zhwt6QVwE8b5RZnDfW7C7ioKAc4vng8Afgu6cfXTRFxz+DW\nZO3qWL9eDbUadR3qd5yk8aQfPR3Az4pz/CAiLh78Gr2szp/doHy3ZM0wNzMzq+TbVmZmVjUnDzMz\nq5qTh5mZVc3Jw8zMqubkYWZmVXPyMDOzqjl5mNWBpHZJl/Tz+neK5TDW6XySNpH0cK1xmtWLJwma\n1UFEdADHDsL5htFgk/esNTl5mNVBsdbXGaQv/EuAccAy4ONFIgB4f7E0xmuAMyPix2s7V+X54uV9\nHr5FShwdr/Yes8Hk21Zm9TUHOC8ipgD/BvyPpA2K114bEe3AfsAFxV4N/eltYVwOnFy8N8oI2qxa\nTh5m9TOKtEz2TwAi4i7S6qcqXv9OUf4E8Ctg54FOWCSYLSLiF0XR7HoHbVYLJw+z+hnOK/fAGM7L\nt4dX9ilfycB6WPP/05z3mJXOycOsfpYCXZIOBFDa63wzoLN4/YNF+dakLV7vHuiEEfFnYIGk9xRF\nh9Y7aLNaOHmY1U8PaSOejxfL1V8AHBgRK4vXlkv6NWnL0GOLxJDjMOA0SR3A35cQt1nVvCS7WR1I\nOgA4OiLeM+DBZusBD9U1W0eS3k/ayOdfqnzfVOCrrDlvo3cex4yIeKpuQZrVmVseZmZWNfd5mJlZ\n1Zw8zMysak4eZmZWNScPMzOrmpOHmZlV7f8DXeYVaMawkTMAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10ad69f50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.barplot(x=\"job_id\", y=\"mapping_stats.mapped_readlength_mean\", data=df)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.10"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment