{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Example usage of Millefy: Attempting to use Bam files included with external data (`extdata`)!!\n", "\n", "[The Milelfy documentation](https://github.com/yuifu/millefy/blob/cf6cf0c8494df394b71702bfb928ef6bce2c7273/tutorial/Tutorial.md) says input can be Bam files in several places. This notebook demonstrates that via two routes. \n", "The starting point for what is ultimately the input in this notebook will be BAM files that are included in the package data where the BigWig files used in [the original notebook](https://nbviewer.org/github/yuifu/datascience-notebook-millefy/blob/90f30181e77657566bc2b87c0f70fa5118c4c9fb/examples/test_millefy.ipynb) are stored. \n", "\n", "## Route #1: Direct use of BAM files for making a Millefy plot" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "tags": [] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Warning message:\n", "“replacing previous import ‘IRanges::shift’ by ‘data.table::shift’ when loading ‘millefy’”\n", "Warning message:\n", "“replacing previous import ‘IRanges::distance’ by ‘destiny::distance’ when loading ‘millefy’”\n", "Warning message:\n", "“replacing previous import ‘data.table::first’ by ‘dplyr::first’ when loading ‘millefy’”\n", "Warning message:\n", "“replacing previous import ‘IRanges::desc’ by ‘dplyr::desc’ when loading ‘millefy’”\n", "Warning message:\n", "“replacing previous import ‘IRanges::slice’ by ‘dplyr::slice’ when loading ‘millefy’”\n", "Warning message:\n", "“replacing previous import ‘IRanges::intersect’ by ‘dplyr::intersect’ when loading ‘millefy’”\n", "Warning message:\n", "“replacing previous import ‘data.table::last’ by ‘dplyr::last’ when loading ‘millefy’”\n", "Warning message:\n", "“replacing previous import ‘IRanges::union’ by ‘dplyr::union’ when loading ‘millefy’”\n", "Warning message:\n", "“replacing previous import ‘data.table::between’ by ‘dplyr::between’ when loading ‘millefy’”\n", "Warning message:\n", "“replacing previous import ‘IRanges::collapse’ by ‘dplyr::collapse’ when loading ‘millefy’”\n", "Warning message:\n", "“replacing previous import ‘IRanges::setdiff’ by ‘dplyr::setdiff’ when loading ‘millefy’”\n", "Warning message:\n", "“replacing previous import ‘GenomicRanges::subtract’ by ‘magrittr::subtract’ when loading ‘millefy’”\n", "Warning message:\n", "“replacing previous import ‘magrittr::extract’ by ‘tidyr::extract’ when loading ‘millefy’”\n" ] } ], "source": [ "library(millefy)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Input files" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### BigWig files and Bam files (scRNA-seq samples)\n", "\n", "The external data contains some bam files according to [here](https://github.com/yuifu/millefy/blob/cf6cf0c8494df394b71702bfb928ef6bce2c7273/R/millefy-bamImport.R#L10) so I can try to test using bam files and not BigWig files with the external data supplied in the package." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1] \"/srv/conda/envs/notebook/lib/R/library/millefy/extdata/RamDA_00h_A06.bw\"\n", "[2] \"/srv/conda/envs/notebook/lib/R/library/millefy/extdata/RamDA_00h_A07.bw\"\n", "[3] \"/srv/conda/envs/notebook/lib/R/library/millefy/extdata/RamDA_00h_A08.bw\"\n", "[4] \"/srv/conda/envs/notebook/lib/R/library/millefy/extdata/RamDA_12h_A06.bw\"\n", "[5] \"/srv/conda/envs/notebook/lib/R/library/millefy/extdata/RamDA_12h_A07.bw\"\n", "[6] \"/srv/conda/envs/notebook/lib/R/library/millefy/extdata/RamDA_12h_A08.bw\"\n", " [1] \"/srv/conda/envs/notebook/lib/R/library/millefy/extdata/bam/RamDA_00h_A04.uniq.q40.chr19.bam\"\n", " [2] \"/srv/conda/envs/notebook/lib/R/library/millefy/extdata/bam/RamDA_00h_A05.uniq.q40.chr19.bam\"\n", " [3] \"/srv/conda/envs/notebook/lib/R/library/millefy/extdata/bam/RamDA_00h_A06.uniq.q40.chr19.bam\"\n", " [4] \"/srv/conda/envs/notebook/lib/R/library/millefy/extdata/bam/RamDA_00h_A07.uniq.q40.chr19.bam\"\n", " [5] \"/srv/conda/envs/notebook/lib/R/library/millefy/extdata/bam/RamDA_00h_A08.uniq.q40.chr19.bam\"\n", " [6] \"/srv/conda/envs/notebook/lib/R/library/millefy/extdata/bam/RamDA_72h_A04.uniq.q40.chr19.bam\"\n", " [7] \"/srv/conda/envs/notebook/lib/R/library/millefy/extdata/bam/RamDA_72h_A05.uniq.q40.chr19.bam\"\n", " [8] \"/srv/conda/envs/notebook/lib/R/library/millefy/extdata/bam/RamDA_72h_A06.uniq.q40.chr19.bam\"\n", " [9] \"/srv/conda/envs/notebook/lib/R/library/millefy/extdata/bam/RamDA_72h_A07.uniq.q40.chr19.bam\"\n", "[10] \"/srv/conda/envs/notebook/lib/R/library/millefy/extdata/bam/RamDA_72h_A08.uniq.q40.chr19.bam\"\n" ] } ], "source": [ "# Path to bigWig files\n", "bwfiles = Sys.glob(file.path(system.file(\"extdata\", package=\"millefy\"), \"*.bw\"))\n", "bamfiles = Sys.glob(file.path(system.file(\"extdata/bam\", package=\"millefy\"), \"*.bam\"))\n", "# FROM CODE at https://github.com/yuifu/millefy/blob/cf6cf0c8494df394b71702bfb928ef6bce2c7273/R/millefy-bamImport.R#L10 : bam_files = Sys.glob(file.path(system.file(\"extdata/bam\", package=\"millefy\"), \"*.bam\"))\n", "print(bwfiles)\n", "print(bamfiles)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "tags": [] }, "outputs": [], "source": [ "# Group labels for bam files (same length as bamfiles)\n", "groups = c(\"00h\", \"00h\", \"00h\", \"00h\", \"00h\", \"72h\", \"72h\", \"72h\", \"72h\", \"72h\")" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 00h 72h \n", "\"#FFFF00\" \"#FF7F00\" \n" ] } ], "source": [ "# Color labels for bigWig files (A named vector with the same length as the number of kinds of \\\\code{groups})\n", "color_labels <- colorRampPalette(c(\"yellow\", \"red\"))(length(unique(groups))+1)[1:length(unique(groups))]\n", "names(color_labels) <- unique(groups)\n", "print(color_labels)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### GTF file (gene models)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "tags": [] }, "outputs": [], "source": [ "# Load gene models (It takes a little time)\n", "path_gtf = system.file(\"extdata\", \"example.gtf\", package=\"millefy\")\n", "dt_gtf_exon <- gtfToDtExon(path_gtf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set tracks" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "tags": [] }, "outputs": [], "source": [ "# Set tracks\n", "## Single-cell track\n", "max_value = 500\n", "scTrackBw <- list(path_bam_files = bamfiles, groups = groups, group_colors = color_labels, max_value = max_value, isBw=FALSE, normFactors = calcBamNormFactors(bamfiles))\n", "\n", "## Gene annotation track\n", "geneTrack1 <- list(path_gtf = path_gtf, dt_gtf = dt_gtf_exon, label = \"GENCODE\")\n", "\n", "\n", "# Prepare arguments for millefyPlot()\n", "## List of tracks\n", "tdlist <- list(scTrackBw, geneTrack1)\n", "\n", "## List of track types\n", "tt <- c(\"sc\", \"gene\")\n", "\n", "## List of track hights\n", "heights = c(12, 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note the changes relative tutorial with BigWig files:\n", "\n", "- `isBw` is set to `FALSE`\n", "- `normFactors = calcBamNormFactors(bamfiles)` is included based on other encountering `error `Error in mat[i, ] <- cov * normFactor[i]: replacement has length zero` when I try to plot using BAM files data. [Documentation contains that example how to set](https://github.com/yuifu/millefy/blob/cf6cf0c8494df394b71702bfb928ef6bce2c7273/man/calcBamNormFactors.Rd#L23C1-L23C43) that I found searching the repo with the term 'normFactor'.\n", "- `max_value` lowered or with this data, the intensity of banding heatmap is very light" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set a location" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "tags": [] }, "outputs": [], "source": [ "# Location to visualize\n", "chr = \"chr19\" # character\n", "start = 5824708 # integer\n", "end = 5845478 # integer\n", "\n", "text_main = \"mESC 00h, 72h (FROM Bam files!!!)\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plot" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1] \"Begin millefyPlot: 2023-11-27 20:18:50.183664\"\n", "[1] \"title\" \"sc\" \"avg\" \"gene\" \"axis\" \n", "[1] \"Start importing BAM: 2023-11-27 20:18:50.445043\"\n", "[1] \"End importing BAM: 2023-11-27 20:18:55.238474\"\n", "[1] \"Finished millefyPlot: 2023-11-27 20:18:56.847589\"\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAACXBIWXMAABJ0AAASdAHeZh94\nAAAgAElEQVR4nOzde3wcdb3/8Xd2Optl02XTbeImIe22MbTWlpZQKBTKTZGbckCqYFHkphbP\nwYd493A4D0GPDxUEFBFErKBgwQNaDlU8XMudQ4XTCy2lbWwIXdOGDeuu0x02GWbz+2PGbUgv\ntKWcwPf3ej76yCP73e/MfOY739m8O9md1AwODgoAAADvfpGRLgAAAAB7B8EOAADAEAQ7AAAA\nQxDsAAAADEGwAwAAMATBDgAAwBAEOwAAAEMQ7AAAAAxBsAMAADAEwQ4AAMAQBDsAAABDEOwA\nAAAMQbADAAAwBMEOAADAEAQ7AAAAQxDsAAAADEGwAwAAMATBDgAAwBAEOwAAAEMQ7AAAAAxB\nsAMAADAEwQ4AAMAQBDsAAABDEOwAAAAMQbADAAAwBMEOAADAEAQ7AAAAQxDsAAAADEGwAwAA\nMATBDgAAwBAEOwAAAEMQ7AAAAAxBsAMAADAEwQ4AAMAQBDsAAABDEOwAAAAMQbADAAAwBMEO\nMN/y5ctramrOPffckS5kuLde2FlnndXc3Oy67t4rCjtUqVSuvPLKyZMn19bW1tTUXHfddX19\nfTU1NSeeeGK1TzabrampOe2000awzh1Zt27dqFGjrrrqqpEuBHgbEeyArcrlcs2OLV++vNrT\n87zrrrvuiCOOqK+vj0ajzc3NhxxyyBe/+MVHH31029W++OKLX/jCF6ZNm5ZMJqPR6H777Xfq\nqafefvvtvu/vvJ6//OUvn/zkJ5uammKx2P7773/ppZduN8HsYre94rbbbtvJEFX3aMuWLb/9\n7W/nzZs3ZcqUeDyeTCbnzJnzi1/8olKp7MVinn766TvuuOPf/u3f4vF40LKTI3jHHXdst49l\nWalU6phjjrnlllsGBwe3u6Fnn332vPPOa2tr22efffbdd9/p06d/7Wtf++tf/zqsW3XNo0aN\nymaz267n/e9/f9DhD3/4w452attdqK2tbWtru+CCCzo7O/dkmPaem2666etf/3oqlbrkkku+\n973vHX744f+XWx81alRNTc1baZ80adLZZ5/9ne98p6+v7+2qEhhpo0a6AOAdx7bts846a9v2\nVCoVfNPf33/cccc98cQT8Xj82GOPbW5uzuVy69atu/baa//yl78cffTRQ5f69re/ffnll1cq\nlfb29hNPPLGurq63t/exxx675557brjhhscee2xHZaxaterII48sFosf+chH2traHn/88e9+\n97sPPfTQww8/vM8+++xut73lve997znnnDOscc2aNUuXLj322GMtywpafvGLX3zpS1+KRqMH\nHXTQAQcc0Nvb+9RTTz355JOLFy9etGhRJLJ3/kt5ySWXpFKpz33uc8Pat3sEJ06cOPRhNBo9\n77zzJHmet2HDhkcfffTRRx999tlnr7vuuqHdBgcHv/nNb15xxRU1NTWzZs069thjBwYGnnnm\nmR/+8IfXX3/9r371q4997GPDNjRq1KjXX3/95ptv/vd///eh7U8++eSaNWuCZ99016rlSSoU\nCkuXLv3lL3951113PfPMM+973/vedPG3yd133y1p8eLFDQ0NQYvneUuWLKmeGu983/zmN2+5\n5ZYrrrjiiiuuGOlagLfHIIB/eO211yQlk8mdd7v22mslzZw589VXXx3avn79+nvuuWdoy3e/\n+11JTU1N991339B2z/NuvvnmWbNm7WQrs2bNknTzzTcHD33fnzdvnqTvfOc7u9tt2bJlks45\n55yd79ceO+mkkyTdcccd1Za77rrr+uuvLxQK1ZbVq1e/5z3vkbRw4cK9Utjzzz8v6aKLLhra\nuCtHcLt9HnroIcuyampqNmzYMLT98ssvlzRu3LhnnnlmaPstt9xSW1trWdbDDz88bM2ZTGbG\njBkTJkyoVCpDFzn33HNt2w7GavHixbtVXvWw/vM///NOdu3tdsABB1iWtfM+GzdulHTqqafu\n9a0H/2146+2HHXbY2LFjX3vttb1eIfBOQLCDgapxYf369R/96EfHjBmTSCROOumktWvXDg4O\n9vT0nHPOOe95z3tisdgRRxzx7LPPVhfcxWD3iU98QlLwm7ud6Orqsm07Go2uXLlyux0cx9nR\nss8995ykAw88cGhjNpuNRCKtra3VxLCL3aoD8vLLL8+bN2/s2LGxWOzggw/+4x//uPNd2BUv\nvfRSJBJpbGzs7+/fec/vfe97kubPn19teSuFffGLX5T0xBNPDG3c42A3ODh4yCGHSLrzzjur\nLV1dXaNGjYpGo88///y26/n5z38uafLkyb7vD11zJpP5yU9+Iun++++vdi4Wi3V1dXPnzg2u\nd+5usBscHPztb38r6YwzzhhWw6mnnjphwoRYLJZMJo866qj//M//HNphj8+FYb7yla/s5ALB\nCSecUO25o2D31FNPnX766el02rbt5ubmT37yk2vWrBna4d577z3uuOOam5uj0WhTU9MRRxxx\nxRVXDO2wt4Ldj370o2H/DwFMwnvsYKyXX3559uzZmzZtOuuss2bNmvWnP/3pmGOO6ezsnDVr\n1ooVK+bOnfvBD37wySef/NCHPlQoFHZrzcGVp+AH2E7cfPPNnufNmzfvgAMO2G6H0aNH72jZ\nhx9+WFJwdadqv/32mz59ejabXbdu3W51C2zcuPGQQw5Zu3btGWec8eEPf3jZsmWnnHLK448/\nvvO9eFM///nPK5XKeeedF41Gd94zmUxKqq2tHda+Z4U9+OCD0Wj04IMPfivFDzU4OCjJtu1q\ny8033/z6669/4hOfmDZt2rb9L7jgggkTJqxdu3bbN1Z+6lOfisViv/jFL6otCxcuLJVKn/nM\nZ/a4vHvvvVdScIG2av78+Zs3bz722GMvvvjiuXPnvvjii2eccca2v2R86+fCWWeddeutt7a2\ntkYikVuHuOGGG3al+JtuumnOnDmPP/74ySef/OUvf/nII4+88847Dz744GeeeSbo8Otf//rk\nk09etWrVP/3TP33jG9847bTTIpHI0AHci4444ghJDzzwwNuxcmDkjXSyBPa+4CqFpMsvv7za\nGPxMHTNmzBe/+MXqpaxLL71U0ve///3gYXCxxLbtT27j4osvrq7qqaeesiwrGo1efPHFDz30\n0N/+9rftlvGBD3xAb/zN464Lqt32ouAZZ5whqfoL313sVh2QSy+9tLrvt956q6RTTjllD8qr\n8jyvqamppqZm/fr1O+9ZqVQOO+wwSQ888EC1cY8Ly+fzNTU1HR0dw9qrR/CcN/rhD384rM92\nfxUbjUZ7enqqjcER/M1vfrOjMoLxr/7Wu3rFbnBw8FOf+lQ0Gu3r6wuemjlz5vjx433f38Ur\ndtFo9Iv/cO65577//e8fNWrUvHnzXNcd2vnll18e+rBUKh188MH77LNPPp8PWvb4XNiuqVOn\nDvtVbC6X05tdsXvhhRds2z7hhBOGFr9ixYrRo0dPnz49eHj44YdblvXXv/516MqrexHYW1fs\nBgYGbNvef//9d7KnwLsXwQ4GCn6YZTKZ119/vdr4xBNPBD/Mhv50CT5m+IlPfCJ4GPxM3a7g\np3XVHXfcsd9++1WfnTBhwrnnnvv4448P7TNlyhRJwxp30cc//nFJixYtGtYefFDg17/+9W51\nCwZk/PjxnudV+1QqlWQymU6n96C8qrvuukvScccd96Y9v/Wtb0k6/fTThzbucWErVqyQdNJJ\nJw1r39ERHJo8qslp/vz58+fPP//884855pjg86fXXnvt0LW96RH89re/Lenzn//80DUHU+WR\nRx6RdPXVV1d381vf+tbg4OAuBrttHXDAAbfffvt2F6lUKoVCYfPmzZs2bQre1vlf//VfwVN7\nfC5s154Fu4suukjSo48+mnujU089VdJLL700ODh4+OGHR6PR3t7enWw9eFPjW28fHBxsamqq\nra3dybaAdy8+FQtjdXR0VD+kKSnIYVOnTh36WdGgcdidKZLJ5Jv+cvbMM8/82Mc+9sQTTzzx\nxBPLly9/9NFHb7nllltuueVrX/ta9Rdhg4ODkrZ7I4Y9tovr3G63jo6OUaO2nvI1NTWtra3r\n169/K/XceOONkubPn7/zbtddd93ll19+0EEH3Xzzzds+uweFvfrqq5LGjBmz3Wd35QgODAwE\nxVc3umDBguoHUQO7ONrb7XD00Ufvv//+CxYs+NKXvnTTTTdFIpHzzz9/5+sZaugubNmyZdWq\nVd/85jfnzZvX1dX1r//6r9Vuy5Ytu+yyy5YsWeI4ztDFh92KZY/Phb3i6aefljTs0+JVmzZt\nymQy8+bNe+qpp6ZOnXrmmWcec8wxc+bMaWpqGtZz33333e4Hine3XVIqldq8efOWLVt28nYI\n4F2KYAdjBe/oqgqiw3YbPc/bg/VblnX00UcHP64GBwdvv/32884778orrzz55JOPOeYYSS0t\nLS+++OLLL78cvKdnD4ovFovD2oOW6l7sYrdAfX39sG6jRo1603vp7cSGDRsefPDBdDodXHrZ\nkauuuuqrX/3qzJkzH3jggX333XfbDntQWJBIyuXy7lcdqianLVu2PP744xdccMGFF16YyWSC\nX78GmpubX3zxxe7u7h0dwZdffjnott1nP/OZz3zjG99YsmTJwoULP/ShD40fP37PSh09evRh\nhx32+9//fr/99vv2t7/9uc99buzYsZL+93//d86cObFY7POf//yMGTOSyaRlWQ8++OBVV13V\n398/bGeHPtzr58LOBSn8nnvu2e79d4LLohdddNGYMWN++tOf3nDDDT/96U8lzZ49+8orrxw6\n8vX19QMDA9uuYXfbJb322ms1NTWxWGyPdgh4RyPYAXtBTU3NWWed9cgjj9x0000PPPBAEOzm\nzJnz8MMP33fffcGNKnbL5MmTJa1du3ZYe3Ada9KkSbvV7W3y85//fHBw8Pzzzx/6gYNhLrvs\nsssvv3z27Nl/+tOfhiWJtyL4/EqQGN6i0aNHn3TSSYsXLz700EPPOeectWvXVm93PGfOnCVL\nltx3333bva9hpVJ58MEH9Y8342/rnHPOufTSSz/96U8XCoULLrjgLdaZSqXe+973rl69+vnn\nnw8m2NVXX/3aa6/dc889xx13XLVb8EHpd5TguDc1NQWfO96R4M2sf//7359++um77757wYIF\nJ5100urVq8eNGxd0OPnkk7ebO3e3XdKrr746ZsyYodeJAWPwqVhgrwnyTfVS03nnnWfb9h13\n3BHccW1bW7Zs2dGqgutG//3f/z20saenZ8WKFfvtt181se1it7dDcCu+mpqaz372szvq8+Uv\nf/nyyy8/5phj7r///r2Y6iRlMplkMvniiy/urRXOnDnzs5/9bDabveaaa6qN5557rmVZd9xx\nx+rVq7ddZMGCBS+99NLkyZN39EvGdDr9kY98JJvNNjQ07Pyi5i4K3tBW9dJLL0kKPpJSFXxQ\n+h0lqLD6lz92bt999z3hhBNuuOGGr3zlK47jDN2dH/3oR8HFvGF2t33z5s1///vfDzzwwF3d\nAeBdhWAH7Laf/vSnixYtGvZbnmeffXbhwoWSjjzyyKBlwoQJl112WX9//wknnDDs3gq+7992\n221DL7QMc9BBB82aNWvZsmW//vWvg5ZKpfL1r3+9UqlceOGF1Td17WK3Xff973//xBNPDO6s\nsXOLFi165ZVXjj/++GF/0aFaxuc+97lrrrnmhBNOuPfee/f6O5ksy5ozZ05vb28QbvaKSy+9\nNBaLXXnllfl8Pmhpa2u75JJLBgYGTjrppD//+c9DO996661f+MIXLMu6/vrrd/KHNK666qpF\nixb98Y9/fNN7wbyp66+//pVXXqmrq6ve4aWtrU1vvG3HwoUL34HB7qKLLho1atRPfvKTYbUF\nf3cu+P6BBx4Y9n644K9+Va+eSrr22muDW9ANs7vtwXv+jj322N3eE+DdgAvRwHCu6273z9LP\nnz9/9uzZkv785z//6le/SiQSs2bNmjBhgud5nZ2dTz/99ODgYHAntuoil1xyyeuvv3755Zcf\nf/zx+++//0EHHVRXV/fKK688/fTTr7766o6u9AQWLFgwZ86c88477/e///3EiRMff/zx5557\n7tBDDx12q9hd7LaLli9fft999330ox990547/9jEVVddFXxiIJVKff7znx/61AEHHLBntQ0z\nd+7cP/7xj/fdd9+bfnRjF+23337z58//8Y9//IMf/OAHP/hB0HjZZZeVSqWrr7760EMPPfTQ\nQ6dOnTowMPA///M/69ev32effW6//fah78nb1sSJE7cbfN/Ua6+9duGFFwbfb9myZfXq1cuX\nL6+pqfnRj35UTckXXXTRwoUL582bd+aZZ2YymeXLl997770f//jH77zzzj3Y4ttn2rRpN954\n4/z584877rjjjz++o6PD9/0XX3zx4YcfnjBhwplnnilp3rx5o0aNOvroozOZjGVZzzzzzJIl\nS6ZOnfqRj3ykup4vf/nLvu9ffPHFw9a/u+3333+/pNNPP33v7yrwTjCCn8gF3ibb/UNVwV0Y\nPvzhDw9tDN6Cc+ihhwYPd3K7E0m33npr0O2vf/3rjTfeePrpp7/vfe9LJBK2bbe0tJx88skL\nFy4c9lekAi+88MJFF100derUaudTTz31jjvuGHoHiu3q7OycN29eY2NjNBoNrh5t2bJlD7rt\n6C93zZgxY9j9IDo6OmzbHvZntba1bt26mpqa5ubmobcpGeob3/jGjoZx6K0xdr2wbbmum0ql\nDj/88KGNb+UvTwwODm7evDkej++zzz7Dbqj2zDPPfPrTn54wYUJtbe3o0aOnTZv2la98ZePG\njdtd87A74wyzB7c7GTVqVEtLy9y5cx977LFhnZcsWXLkkUfuu+++++677wc+8IGHHnoouAvg\nNddcE3TY43Nhu/bsdifVSs4+++xx48ZFo9ExY8ZMnTr1wgsvXLJkSfDsDTfccNppp7W1tcXj\n8WQyOX369P/4j/8YdofIvXIfu3K5PGbMmKOPPnonuwm8q9UMDg7uSR4EYJx8Pt/Y2HjhhRdu\n951J70DBJzNWrly5o7/tAQxz6623fvrTn168ePHQa4GASQh2AEK/+93vzj777L/85S87un/H\nO43rupMmTTrkkEMWLVo00rXgXeD111+fMmVKJpMJPs4MGIkPTwAIzZ0713Xdd0uqkxSPx2+7\n7bYDDzzQdd2RrgXvAhs3bvzkJz953XXXjXQhwNuIK3YAAACG4IodAACAIQh2AAAAhiDYAQAA\nGIJgBwAAYAiCHQAAgCEIdgAAAIYg2AEAABiCYAcAAGAIgh0AAIAhCHYAAACGINgBAAAYgmAH\n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\n7AAAAAxBsAMAADAEwQ4AAMAQBDsAAABDEOwAAAAMQbADAAAwBMEOAADAEAQ7AAAAQxDsAAAA\nDEGwAwAAMATBDgAAwBAEOwAAAEMQ7AAAAAxBsAMAADAEwQ4AAMAQBDsAAABDEOwAAAAMQbAD\nAAAwBMEOAADAEAQ7AAAAQxDsAAAADEGwAwAAMATBDgAAwBAEOwAAAEMQ7AAAAAxBsAMAADAE\nwQ4AAMAQo0a6ALxrxGKS1NSkclmlklxXfX3asEGtrWppUSqltWvleZLk+9q0SamUfD9cynHk\necpmdffdSqcVjyuf17RpchxJSqW0aZNKJfX3a/RodXWpp0etrapU5LrK5RSNKhZTZ6ccR319\nmjxZv/qVymV98INauVITJ6qxUe3t+v3vFYnokUeUzaq7W4cdJtvW/ffrqKMUi6m7W729ymTU\n2irbVm+vurqUTCoa1QsvaONGlcuKRmXb8n11dcl1lckoHldfnzZv1pYtsm0lk0qnVS6rUlGh\nINcNK+/uViYjz1N7uxIJ+b4SCbmuVq2S5yke1+rVyuc1MCDXVX292tuVTCqfVy6nNWvkupoy\nRWvWaO1aSWpp0fHHq75e+bzWrZNtK5FQoaByWfm8slllMkoktHJl+FQ2q1JJM2Zo40YlEkql\nlEopn1c+L99XsSjHUX29Nm+WpGxWqZSSSY0bp3Hj1Nmp1as1ZYpcV/39KpWUzSqRUHe3sllN\nnqxiUStWSFK5rJdfVm2turpk23LdcDQSCeXzmjVL+bzWrFF9vTZskOfJceQ4SqcVi+nOO5XL\nadYsWZYWLtTixTrxRJ1yitraFIvJdbV4sTo7NXOmMhl1d6uuTvG4ymWtXavubs2dq3xet94a\njrDvh+Pc36/HHlNPjxobNXGi1qxRb69OO03Tp6tQkOepvl5r1qi2Vi0tKhaVTsv3ZduybXV3\nh0cqmI2pVDjHXnhBjY1KJsMJHI1qYCCc83V1ikSUz6tcViKh3l7ZtiTl8+rsVD4v19WyZeH4\nx+NKpcICVq2SZalQCM8j29bSpcpk1NOjnh45jnxflYrSaa1dq3xelqVVqxSPy3FUqci2lcsp\nn1cmo3JZnifPk2XJcVQoqL5evb2KROR5yuXCTQQzOTjv0mm5rqRwbjuOurtVLKpU0uzZikS0\nYYNiMfX2atMmRaOKRJTNhpMqGLRUSuWyHEfZbFh/d7eefFKep54eHXNMeNDXrVMkIkmzZyud\n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\nAwAAABAIBHYAAADlEB0dLZVKw8LCwsLC1qxZEx0dbWZmtnv3biJq3br1li1bYmNjpVJpx44d\nvby8vvvuO5bghx9+IKKFCxeamZmdPn163rx5YWFhrEAfH5+ffvpJN9eyZctY+ebm5mFhYf36\n9SsqKnJ2dg4JCXF0dMzIyKjMYlxcnEQiEYvFSUlJRJSQkCCRSDp37mxnZ/fnn3/u3LmzcePG\nbdq0kUgkSUlJeltZhdu2bWtra0tEekXxSltPRB07djx69CgRvfrqq6xWTk5On332WWm9/eGH\nH7q5uQUFBclkMqVSqVcf4y0lonbt2jVt2jQwMJDttMQyjffPnTt3WrZsWclzpkZxAAAAUAq1\nWr127VrdNVFRUS+88ILuolwu9/X15TguKCho8+bNgwcPHj16tG4CJyenDh06cBzXsmVLhUJx\n6tSpTz75JDQ0lCVo2rTpoUOH9HIxEomEfVixYsXLL7/McVyvXr2mT59emUVWoJOT0927dzmO\n++KLL1jdBg8e/NZbb/G7bteu3VdffWW49datWy1atLCzs+NT8kXpMVxfUFDg6urKcdzmzZvd\n3d359ffu3bt9+3ZsbOzRo0evXbum0WhiYmKSk5NZFpamRYsW69ev16uP8ZYeP368efPm6enp\nehXTK9N4/3Ac5+Xlde/ePcMG1k0YsQMAAChBfHx8165dFQrF/v379TYplcrTp0+fPn3633//\nJaImTZpkZmZev36dbX3xxRe3b98+derUO3fusDXe3t63b98uLi7Ozs6WSqUl7s4wl66zZ88G\nBgYSUUhIyKVLlyqzqFfy4MGDc3NzT5w4ce7cue7duxNRWlraL7/8UlBQMHToUMOt48aN++KL\nLyrUo7R//36ZTEZEO3bs6NOnDxE9fPgwLi6OrenWrduCBQtCQkLat2+/evVqf39/IrK0tGR5\nk5OTAwMD9epjvKW7du26f/9+69atZTLZzZs3+WrolWm8f4ioVatW69atq1iTax4COwAAgGfc\nuXPHy8urV69er7zySnp6+oEDB/QS3L9/f8yYMWPGjNm3bx9b887lYHR9AAAgAElEQVQ770ya\nNIl9njVr1vz5848ePdqsWbM1a9awlR4eHpMmTQoODi5tpyXm4imVShsbGyKytbVVqVSVWdQr\nOT8//59//omIiFAqleya465duyZOnHj9+vWMjAy9rUlJSY8fP37jjTcq0KtEdO3atYYNGxJR\nVlaWo6MjEX377bd9+vTp378/EbVo0eL06dMhISGtWrX6/fff7e3t//nnH5Zx/PjxXl5ewcHB\nevUx3tL09HRXV9ekpKQRI0a8//77d+7ciYuLe/jwoV6ZxvuHiBo1anTr1q2KNbnmIbADAAB4\nhrW1tYODg0qlunfvHpuqpcfPzy8xMTExMXHChAlszbx58y5evFhYWMgWZ86ceevWrfnz569Y\nsYKtiYiIiIqKev/999mik5NTXl4e+5yfn+/u7l5iLp6Hh8fjx4+JKCkpycXFpTKLeiV//vnn\nPXr0+Oeff0aNGsVi07feeuvOnTt9+/ZdvHix3taJEyf2798/Li5Oo9GUOLJonL29PXvJhJ+f\nX3x8PBEtXrz4k08+YVudnZ2JyNbW1tPTk4gsLS1Z52/atGn//v1nzpwxrK3xlnp6erKODQgI\nSElJWbx48ZgxY9auXatXpvH+IaK8vDw7O7vyNra2ILADAAB4RoMGDeLj49lkr+bNm7dr1+65\nWUQiUY8ePdj1vqioqEOHDhUVFZ06dYoNUBHR+PHjJ06c2LFjR7b4xhtvXL16NSEh4fTp00+e\nPAkMDCwxF+/tt98+fvx4Wlrajh07xo0bV5lFvZJ9fHxu3rxZXFx84cIFZ2fnP/74IyEhISMj\n488//wwODtbb2qhRo/37948YMaKgoGCBwXNNU1JSDENSXb169WIh1Oeff37y5MktW7YUFhZe\nvnzZSJb4+PipU6eeOXNGIpEY1tZ4SydPnnz16tWMjIxNmza1b9/++++/v3bt2oIFC/TKNN4/\nRHTlypVu3boZqWTdUtuT/AAAAOq0o0eP6i7u37/f0dFRLpfL5fIRI0bs379/6NChHMelpqYq\nFIrDhw/v2LHD19fX2dm5Xbt26enpfAImLCzs8uXLHMetWLHCw8PD29t77969HMfp5WKJW7Ro\nwWecPXu2u7t7RERE5RflcjlrwpIlSzQaTdeuXV1dXUNCQrKzs3/88UcPDw9XV9fhw4dzHKe3\nla9My5YtDYu6cOHCK6+8Yrhet/caNGiQkpLCcVxsbGxAQICrq2u7du2uXbu2ZcuWadOmcRw3\nY8aM9evXcxzXq1evGzdufPzxx3xvr1u3zrA+xlv6+eefu7u7h4WFqdVqvg56ZRrvH47j3Nzc\njJ0fdQweUAwAAAA1ZMWKFcXFxdOnT6/tipTVL7/8cujQoeXLl9d2RcoKgR0AAAA8Iz8/39/f\nPzs7m4jMzc1/+eWXVq1a1XaloEwwxw4AAACeoVQq7969Ozc0c82gzKyMVDYxDkwCAjsAAAB4\nRnFxMRF186dBwSQW0b/JybVdIygr89quAAAAANQtIpGIiK4/psIiKubI2dW1tmsEZYUROwAA\ngJJNmTJFLpcrFAqFQnHo0KEpU6YEBQWxTWzOWVJSUlBQkIuLy4svvlhYWDhlyhQfHx+WYM6c\nOV5eXkT05ptvsjfJElFAQIBervXr17Py2Y66du1KRD179vT09Fy/fj3LVeHFffv2+fr6Nm/e\nnG1KSUkJCgpq0KDBzJkziWj+/Plsp/zzXPi81tbWIpFoaBS1+YIKiygtLU2vKF5p64lo8ODB\n9+/fJ6LIyMimTZs2aNBgwIABSqWytN5evHixp6enp6fnzp07iah///6sZxwdHePj443UtsS2\nlFim8f55//33dV8pa6pq+7ZcAACAOio8PHzGjBm6iyKR6PDhwxzH2dvbcxwXFBT03nvvFRQU\nrFy5sqCgIDw83Nzc/Pz58xzHeXt729rachzXpk2bVatWsRLYK1b1cnEct3nzZn9/f5Zm1qxZ\nISEhiYmJdnZ2BQUFlVk8dOjQN998w6rBcVzPnj3feOON9PR0W1vbBw8ejBo1aurUqXzr9PLm\n5uZmZGQ8fPjQxsaG4zi9onilrU9NTfX29mZNk8lkJ0+efPDgwdixY//666/SevvTTz89e/bs\n4cOHdUvLy8tjFTBeW72tpZVpvH8uX77MHwXThcAOAACAu3jxYmhoaHh4uO5Kw8Du1VdfZY9w\nY4Gdh4fHsmXLdBMEBQUNHjw4NTW1adOmLI1hYKeXi3s2sGvevPmuXbs4jvP394+JianMou5O\nOY7r2bPnwoULOY5zc3O7cuXKqFGjnJ2dX3nllStXrhjul2X5/PPPX3zxRb6efFF6DNfPmjVr\n4MCBHMf5+PhERUXpbho9evSoUaMaNmw4d+7ccePGubm5sYfJ8Vgkp1cB47XV22qIlWm8fziO\nUygUGo2mxBJMBS7FAgBA/VVcXLxo0aJGjRqxN8Pu379fL8G6det8fHx8fHzYG7S6dOmSnJzM\nv8N03rx5M2fOlEqlY8aMYWvYm+kXL17cvXv30nZqmEtXVlYWu57r5OR0+/btyizqlRwdHb18\n+fJGjRp5eHgEBAQMGTJk9erVXbp0ad++veF+WZaYmJgSX8bwXLGxsezNs6mpqez6cnh4uJ+f\n386dOxMTE+/evXv16tVly5bZ2tqeOHFizpw5fMbPPvuMvQdMrwLGa6u3VQ9fpvH+ISKZTBYb\nG1uB9tYdCOwAAKD+evfddz/66KMJEyY8fPhwwYIFlpaWegm6d+++cePGjRs38q/5GjNmDHun\nKhFFRESoVKpNmzbt3LlzzZo1RGRpaWljY/Pjjz/OmjWLpRGLxUVFRbplGubSZWlpmZubS0SF\nhYX29vaVWdQruX///m3btl27du3t27cvXbrUs2fP/v37L1y40NbW9vr164Z5i4uL79y589Zb\nb1WgY/Pz89m7X62trf/9918i+vbbb2Uy2ZUrV4ho9OjRMpnM3t5+7ty5zZs312g0LFdcXNyS\nJUt+/vlntqhbAeO11dvavn17Pz+/I0eO6JVpvH9YgszMzAq0t+5AYAcAAPXXypUrt2/fvn37\ndicnpzFjxrAQRFfDhg07dOjQoUMHPub74osvYmNjWSxSVFQkEon69+//8ssvsxfFEtHgwYPN\nzMzYm+yJyMvL69KlS0SUkpJibm5eWi5ekyZNfv31VyK6c+dO586dK7OoV/KjR4/ef//97t27\nN27c+LfffuPX5+bmOjk5GeaNiory8vJidS4vDw+Pa9euEdHLL7+8dOlSImrevLlUKmVbLSws\n2AcrKys+S0ZGRnh4+A8//NC0aVO2psQKlFZb3a0bN27csWNHhw4d9Mo03j9ElJmZyd8fY6pq\n+1owAABA7UtJSRk5cmS/fv10V4aHhzdq1Cg0NDQ0NPTYsWPh4eGffPIJx3F9+/Y1MzPjOM7f\n379ly5YhISESiSQxMZFPwLA5domJiVKptH379gqFYvbs2Ya5uGfn2J09e9be3r5169bNmjWr\n5OKZM2dCQ0PFYnFoaOijR48++ugjhULx6quv2traJicnd+zYsU2bNh4eHsHBwYZ5OY576aWX\n2Jw8w6Lee++98ePHG67n275nzx42Ny49Pd3V1dXPz69Dhw729va7du165ZVXNm/ezHGcm5tb\nZmYmx3FOTk4cx7Vp00Yul7PezsvL06uA8drqbeXplWm8f9Rqtaura2XOoroArxQDAAAoWWxs\nLD/jqlevXunp6QqFolmzZmlpadu2bZs8eXJxcfGhQ4eys7Nff/11e3v72NhYloBl2bp165tv\nvklEWVlZBw8eDAoKYo870ctFRI8fP75y5Uq3bt1YxocPH547d+71119ng1UVXkxKStqzZw8r\nc9y4cfb29hcvXoyPj+/bt69MJsvIyNi3b5+HhwebA2dY1I4dO3r16iWRSIhIr6jbt2+r1eqX\nXnrJcBd877m7uycmJrLsJ06cSEtLCw8Pt7e3//3335s1a9agQYO9e/f27t3b3Nx8586dAwcO\nPHDgAD95cdKkSZaWlroVMF5bw62MYZlG+mflypV///33xo0bK3zC1AUI7AAAAOqv4uLi7du3\nP3nyhIh8fX1LvEAJJgSBHQAAQP2VmJjYrFkzLwXlF5KFfcMHDx7Udo2gUnDzBAAAQP3F7tj9\nYyYtH0Iqlaq2qwOVhcAOAACg/ipSq59+fvaxLGCKKnIPMwAAAAiDpZUVEc3aTY+zid2mACYN\nI3YAAFDfOTs7y2QyhULh4uLCFlu3bk1ESUlJrq6uRPThhx/KZDInJyd2W6uzs7Ovry/L6+rq\nyl5mwD+k7fTp015eXnq5xowZo1Ao2OOLFQrFvHnzjhw5IpfLHR0dN2zYQESVWWT3lrI6E9G8\nefMcHBxkMtn7779PRMHBwTKZzM7O7uuvvzbceuPGDUtLy21/WTyRvvTWW2/plczT2wVPqVSy\nu4AfP37s6+srl8tlMlm7du2M9HazZs0cHBzs7e137txJRL6+vgqFQiaTsWfaNW7cmB2Ld999\n17DyeoullWm8f1544QX2HhFhquXHrQAAANS41NRU3UUnJ6dbt27pLtra2j548ODu3bsuLi4c\nx0kkEvZktQcPHrAETk5OBQUFycnJ9vb2TZs25XReOXrq1KlGjRoZ5uI4rnfv3vy76j09PY8d\nO3br1i25XF7JxWvXrq1evTooKIiV7ODgcPv27ezsbPZ6e1aHy5cvy2Qyw63GS+bp7YI3Y8aM\nt956i+O4gICAt99+m61cu3atkc4/efIkx3G7du1yd3fnV86fP79NmzYcx3l7e1++fJlfr1d5\nvcXSyjTeP8uWLevbt6+RGpo0jNgBAEB9kZSU1L9/f5lMtnXrVuMp+/Xrx783jIg0Gs13332n\nUqn4F4sFBQWtXr36q6++atu2bWmFGObSlZmZGRoa6uvrW1hYWMlFf39/sVjMl9ywYcOUlJTU\n1FRra2si7QXWzMxMNo6ot9V4yTy9XfD27t07ZMgQIkpMTPz+++/ZygkTJhCRk5NT27Zt7e3t\np0yZ0rhxY6lUunfvXiLq2LEjEVlZWYlET4OQrVu3RkREEJGZmVmXLl0aNmwYFxdnWHm9RZ5e\nmcb7Z+LEiX/88UdpR83UIbADAADh27Ztm6+v78svv+zh4XHv3r2pU6fqJWjTpo2jo2Pjxo3Z\n4qeffvrbb7/xwU1kZOTXX39tZ2fXt29ftmbKlCmbN28+ePDg2LFjS9upYS5d3H+PGzM3N09L\nS6vMol7Jo0eP7tixY4sWLd555x22pmnTpqGhoW+88Ybh1nKVbCg1NbVt27YqlcrMzIyIlEql\ns7OzjY1NWlqaWq3+9ttvWcB38eLFtWvXfvnll3zGiIiIjz76iH0uKiq6d+/e+PHjiejkyZPp\n6emzZ8/u37+/YeUNF3XxZRpvhUQi0QtbBaX2BgsBAABqSK9evWxtbWfMmMGu5ekxvBSbnJzc\no0ePkSNHskuxzL179ywtLe/evcsSuLu7e3t7Hzt2jF2Ktbe3z8/P5zju8OHDbI1eLu7ZS7H8\npVv2oTKLHMdFRUXxlxptbGwSExNTU1MlEolGo2Err127Zm1tbbj1uSXzdHfBs7e3Z13KCmfk\ncnlycjJ7URjHcQqFguO48+fP+/n5sTXh4eHdunXj069cuZJ/oxpPtwJ85XUX//77bxcXF/4A\n6ZZpvH84jnNwcOAECiN2AAAgfAcPHrxy5co///zTsGHDtm3bXrp06blZVq1atXv3bvaZXblr\n2LChubk5/076vn37jh49mk/fsGHDTZs2EdGePXtatGhRWi6eTCY7efJkQkKCpaVlJRf1iESi\nBg0ayGSy4uLi4uLi3NxcInJycrKwsDDcarzkO3fuKJVKI73k7Ox87tw5IvLx8XnvvffYyuLi\nYt00bDCP/htImzdv3q1bt37++Wc+wfr160eMGME+p6SkENFPP/1kY2NDRHqV111s1qxZSkoK\nS69XpvH+USqVrDRhqu3IEgAAoEZ9++2327dv113j5OTk4OAgl8vlcnlmZiYbkOM4LiAggA0I\nubu7y+Vye3v7Pn36cP8N6bG8/Ijd2bNn2U0V7u7u7G4JvVzcsyN2Bw8edHR0lMlkUVFRlVyc\nOHGira2tWCxmNZk2bZpMJnNwcOjfvz/HcR4eHqwan3/+ueFW4yV7e3v/73//M9wFb/r06SNH\njuQ47tGjR82aNVMoFOye4oKCAn7Ejn04f/68r68vx3Hm5uZSqVQulwcEBLAENjY2/Eiqm5ub\nTCazt7ffsWOHYeX1Fnl6ZRrvn2+++YY/IsKDV4oBAABABSmVyhYtWiQlJdV2RcrhhRde2Lt3\n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\njh07Prdj5XK5bjil12nsXt0RI0YEBwe3adNm27ZtRUVFGo2GSv8fzdLS0sLCQiQSPbfJEyZM\n2L9/v4eHx9mzZ4koJydHqK+a0IP7nyvI19eXiK5fv/7KK68QkZWVVUBAABlch3VzcyvxS8Wb\nMmXKd9999/XXX/MvJGYlX7t2rUOHDqXt13DrtWvXmjVrVtpeioqKbt26pfs36HMrBgBQf3h6\nerLJKt99911ERISfn9+RI0d0E1y6dInd+tCjRw+2pkGDBk2bNmXBRHh4uL+/v7Oz89mzZ2fN\nmrV06VIiWrFiBRsSY6ZOnTp06FCFQrFnz562bdsa5tKr0tSpU+fOnXvnzp0nT55069bt4cOH\nFV68f//+gQMH1Gp1ZGTkqFGj7Ozsli9f3qdPH7ajd955JzMzk99v69atP/zwwyFDhly9erVL\nly6DBw/Ozc319vaOjIycOHHi4cOHb968GRcXp1AofH19IyMjc3NzZ86cabgLVlr37t0PHjzI\nF67bab179z5+/Ph777137tw5mUyWmpo6ZcqUjIyMwsJCInJ1dT148GBAQEDDhg11S54/f35Z\n+ufDDz90cHBIS0tLSUnp1KkTEeXn57P/pgUPI3YV1KVLFzc3t4ULF1Z4gI2xsrL69NNPly5d\nmpycrFvyZ599pldyamoq2+ri4vLVV1/pbvrrr78OHz48fPjw0vayevXq7OzsAQMGVKaqAACC\nN3Xq1Dt37ujGIkT0+uuvFxUVbd++ffv27QkJCa+//jr7k/77778PCwsjojlz5jx+/Dg2NjYm\nJqZr164sgUwmCwwMJCL229u9e/eNGzeeOXOmY8eO7MKrXi4iCggIGDhwINvp2LFjP/7444SE\nhDNnzlRyMSkpafv27SEhIdu3b8/OziaiJk2a8HO1v/jii++//37x4sXTpk3r0qXL7t27O3To\ncOLEiS1btgQFBTVq1MjPz4+1XaVSubm5nT171svL68KFC0Qkk8nkcnmJu2CmTJnCnhRh2Gmb\nNm0aNmzY1q1bJRKJXC4/cODAnj178vLyIiIiiGjFihVisfiHH34orWTjTW7btu25c+ceP34c\nFxdnZ2e3e/fuli1bVu2pUmfhlWIVd+TIkTfeeKNNmzZTp0718fHJz88/ceLEwoULly5dOnXq\nVCLy9vbu3r3722+/zWdxcHBo3Lgx2/T222/Pnj2biIqLi1u3bv333397eXndvHmTL/nll1+e\n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\nEJSWlhJCnj59qqen9yFNiVO+d+/e6tWrmdcLFy4sKCiYOHHinj17jI2Nmdzs7e3Ly8vbdo6J\niYmLi0tJSZFmYXv37l1TU8M2xRetoqLi0qVLkyZNSklJsbe3P378uK6urqenZ1lZmfj2na3s\n2bPHz88vIiKio1Ouq6tjbk8CQLch68+CAaB7Ky8vnz17tpaWlpOTk3i87XfsmG0l//a3vyko\nKMTGxkZERJw/f76pqemLL77w8PBgOrS0tDB7ejJ7cRYVFamrqz9+/DgpKUldXb2lpaXVKObk\n7HfsMjMztbW1Kyoq+Hz+2bNnP6TJnFD8C2eJiYnsHpopKSmPHz+urKy0tLTcu3dvYWGhpqZm\nZWWlk5PT0qVLW3V+8OCBhoZGTk4O0ywrK/v+++/ZlWn7TbicnByBQCBx0bZv3z5gwICmpqby\n8vLs7Owvv/xy8+bNjY2NvXv3/vHHH//1r385Ozu3c+aOTnnw4MEnT56U7i8CAHQJKOwA4OO4\nfPmyeDMuLk5LS4vdZD0uLm769OmU0oqKCh6Pd/HixVOnTllbW+vq6jo7O1dWVrIdGO7u7sz2\n5AcPHhQIBEKhkKk8Wo1iOtva2rID165dy+fzAwICPrypra3NTIHZp3zdunXr1q1jDh0/flwg\nEOjr68+cOZOJbN++nc/nu7u7M5uXi3fesGEDuxRRUVFpaWkuLi4S34JlaGhYXl7edtEopf7+\n/gKBwNLSMiEh4ddff7Wysho+fLiLi8uNGzfq6+v79evHbrIu8cwdmjJbmwJAd4G9YkGy6urq\nbvpzfQA5EB4eLhKJvv76axnmcP369Z9//nnnzp0yzAG6C01NTQ6HI+ssgBBCUNiBBL/++it2\n/QMAACkdOHAgKChI1lkAIXhAMUj0+vVrDoekrpN1HgAA0OUtPEZeSfr5FMgECjuQ4OWLF4SQ\nQabv7QgAAD2dhhIplPRcSZAJFHYggY6eHiHk1D1Z5wEAAF3eixryuaWlrLOA/0FhBxIYGBjo\n6OguPNUs60QAAKAbMDMzk3UK8D/48QQAAACAnMDOEwAAAAByAoUdAAAAgJxAYQcAAAAgJ1DY\nAQAAAMgJFHYAAAAAcgKFHQAAAICcQGEHAAAAICdQ2AEAAADICew8AZJVVVU1N2PnCQAAeA8O\nh8Pj8RQUcKuoS8AfAwAAAICcwJZiAAAAAHICd+wAAAAA5AQKOwAAAAA5gcIOAAAAQE6gsAMA\n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\nAElFTkSuQmCC", "text/plain": [ "plot without title" ] }, "metadata": { "image/png": { "height": 420, "width": 420 } }, "output_type": "display_data" } ], "source": [ "l <- millefyPlot(track_data=tdlist, track_type=tt, heights=heights,\n", " sc_type = \"heatmap\",\n", " chr = chr, start = start, end = end,\n", " sc_avg = TRUE, sc_avg_height = 1,\n", " title = text_main)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Yes, the included BAM files in the external data (`extdata`) can be used with some appropriate adjustments.** \n", "\n", "Some threads in the issues, such as [here](https://github.com/yuifu/millefy/issues/3#issuecomment-1276280011) seems to imply use of BAM files wasn't as direct and to use BigWig files. Maybe back then it wasn't implemented (but I don't think that was the case because the last versions proceeds parts of that discussion). Anyway, what if you had a reason to be concerned about how the BAM files data was being handled and wanted to convert to BigWig yourself first. The next section illustrates how you can to the conversion to BigWig using the BAM files stored in `extdata`. \n", "\n", "Disclaimer: Because these BAM files are different data and the developer knowledgeable about Millefy doesn't provide corresponding output for these, I cannot say if this is 'the best' Millefy could produce. However, it does indeed produce a Millefy plot as output with the BAM files.\n", " \n", "\n", "# Route #2: Example using BigWig files made from using deepTools' `bamCoverage` for conversion first\n", "\n", "This section covers doing much the same thing as the top section, but first converting to make BigWig files with [deepTools](https://gensoft.pasteur.fr/docs/deepTools/3.4.1/content/installation.html#command-line-installation-without-pip) and use the converted BigWig files to do the plots. \n", "Why would it be inmportant to have options?\n", "\n", "Having the abilities to control how the data in the BAM files may be important if what you are doing isn't what the standard approach that `calcBamNormFactors()` carries out see [here](https://github.com/yuifu/millefy/blob/cf6cf0c8494df394b71702bfb928ef6bce2c7273/man/calcBamNormFactors.Rd#L23C1-L23C43)). \n", "This may be useful in cases where you want more control over the normalization. For example, deepTools bamCoverage lets you use effective genome size as normalization and I don't think that Millefy makes this that easy to control. (Maybe I missed how to control it so far though?) For example, I had only collected mapped reads for certain regions of the chromosome using `samtools view` to keep file size managed and so I wanted to be able to use the filter constraints as the genome size settin as the mappable `effectiveGenomeSize`. My example here sets up for using the effective size for normalization. You'll see though in the [Tutorial for Millefy](https://github.com/yuifu/millefy/blob/0f2dde5a4ae8fa321f626410bc62db0255090f91/tutorial/Tutorial.md#1-2-converting-bam-to-bigwig-files-using-deeptools-while-separating-read-coverage-on-forward-and-reverse-strand-in-strand-specific-scrna-seq-data) no normalization or effective genome size is addressed, which according to the documentation [here](https://deeptools.readthedocs.io/en/develop/content/tools/bamCoverage.html#read-coverage-normalization-options) means no normalization is performed by default. This is obviosuly something to consider. Here I was just trying to show BAM files resulting in Millefy plots and so you may want to explore the normalization options offered by DeepTools' bamCoverage more yourself." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Install while in R kernel in MyBInder Session. (This next cell will take several minutes to run. On the order of close to five minutes.)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "tags": [] }, "outputs": [], "source": [ "system(\"pip install deeptools\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Set up sending USAGE to a text file to be able to check installed." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "tags": [] }, "outputs": [], "source": [ "system(\"deeptools > verify_installed.txt\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Verify pip worked, while in R kernel." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "usage: deeptools [-h] [--version]\n", "\n", "deepTools is a suite of python tools particularly developed for the efficient analysis of\n", "high-throughput sequencing data, such as ChIP-seq, RNA-seq or MNase-seq.\n", "\n", "Each tool should be called by its own name as in the following example:\n", "\n", " $ bamCoverage -b reads.bam -o coverage.bw\n", "\n", "If you find deepTools useful for your research please cite as:\n", "\n", "Ramírez, Fidel, Devon P. Ryan, Björn Grüning, Vivek Bhardwaj, Fabian Kilpert,\n", "Andreas S. Richter, Steffen Heyne, Friederike Dündar,\n", "and Thomas Manke. 2016. \"deepTools2: A next Generation Web Server for Deep-Sequencing\n", "Data Analysis.\" Nucleic Acids Research, April. doi:10.1093/nar/gkw257.\n", "\n", "[ Tools for BAM and bigWig file processing ]\n", " multiBamSummary compute read coverages over bam files. Output used for plotCorrelation or plotPCA\n", " multiBigwigSummary extract scores from bigwig files. Output used for plotCorrelation or plotPCA\n", " correctGCBias corrects GC bias from bam file. Don't use it with ChIP data\n", " bamCoverage computes read coverage per bins or regions\n", " bamCompare computes log2 ratio and other operations of read coverage of two samples per bins or regions\n", " bigwigCompare computes log2 ratio and other operations from bigwig scores of two samples per bins or regions\n", " bigwigAverage computes average from bigwig scores of multiple samples per bins or regions\n", " computeMatrix prepares the data from bigwig scores for plotting with plotHeatmap or plotProfile\n", " alignmentSieve filters BAM alignments according to specified parameters, optionally producing a BEDPE file\n", "\n", "[ Tools for QC ]\n", " plotCorrelation plots heatmaps or scatterplots of data correlation\n", " plotPCA plots PCA\n", " plotFingerprint plots the distribution of enriched regions\n", " bamPEFragmentSize returns the read length and paired-end distance from a bam file\n", " computeGCBias computes and plots the GC bias of a sample\n", " plotCoverage plots a histogram of read coverage\n", " estimateReadFiltering estimates the number of reads that will be filtered from a BAM file or files given certain criteria\n", "\n", "[Heatmaps and summary plots]\n", " plotHeatmap plots one or multiple heatmaps of user selected regions over different genomic scores\n", " plotProfile plots the average profile of user selected regions over different genomic scores\n", " plotEnrichment plots the read/fragment coverage of one or more sets of regions\n", "\n", "[Miscellaneous]\n", " computeMatrixOperations Modifies the output of computeMatrix in a variety of ways.\n", "\n", "For more information visit: http://deeptools.readthedocs.org\n", "\n", "options:\n", " -h, --help show this help message and exit\n", " --version show program's version number and exit" ] } ], "source": [ "cat(paste0(readLines(\"verify_installed.txt\"), collapse=\"\\n\")) # based on [R - how can I dump contents of file to console output? `cat` equivalent in R](https://stackoverflow.com/a/59799268/8508004)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "'/home/jovyan'" ], "text/latex": [ "'/home/jovyan'" ], "text/markdown": [ "'/home/jovyan'" ], "text/plain": [ "[1] \"/home/jovyan\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "getwd()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "tags": [] }, "outputs": [], "source": [ "system(\"cp -r /srv/conda/envs/notebook/lib/R/library/millefy/extdata/bam .\")" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "tags": [] }, "outputs": [], "source": [ "system(\"mv bam bam2bw_extdata\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This next cell will demonstrate conversion of the BAM files works with deepTools' `bamCoverage` command now. The command uses a coarse `binSize` so that it will execute in a reasonable amount of time. (Like 45 seconds or so.)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "tags": [] }, "outputs": [], "source": [ "# based on https://gensoft.pasteur.fr/docs/deepTools/3.4.1/content/tools/bamCoverage.html?highlight=bamcoverage#usage-example-for-chip-seq\n", "# and https://github.com/yuifu/millefy/blob/cf6cf0c8494df394b71702bfb928ef6bce2c7273/tutorial/Tutorial.md under [Converting BAM to BigWig files using deepTools](https://github.com/yuifu/millefy/blob/cf6cf0c8494df394b71702bfb928ef6bce2c7273/tutorial/Tutorial.md#1-1-converting-bam-to-bigwig-files-using-deeptools)\n", "# and size of mouse chromsome 19 (learned it was mouse in Millefy publication) as `effectiveGenomeSize` because bamCoverage documentation says 'The effective genome size is the portion of the genome that is mappable'\n", "# Note because stdout isn't displayed in R kernel in Jupyter, command worked out over in terminal in the same session\n", "system(\"bamCoverage --bam bam2bw_extdata/RamDA_00h_A04.uniq.q40.chr19.bam -o bam2bw_extdata/RamDA_00h_A04.uniq.q40.chr19.binsize200.cbw --binSize 200 --normalizeUsing RPGC --effectiveGenomeSize 61420004\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To save time though, we'll get pre-converted equivalent data with a smaller `binSize` setting (`--binSize 15`). What we'll have when we get and unpack the pre-converted & archived data is the equivalent of running the following code:\n", "\n", "```R\n", "# based on https://gensoft.pasteur.fr/docs/deepTools/3.4.1/content/tools/bamCoverage.html?highlight=bamcoverage#usage-example-for-chip-seq\n", "# and https://github.com/yuifu/millefy/blob/cf6cf0c8494df394b71702bfb928ef6bce2c7273/tutorial/Tutorial.md under [Converting BAM to BigWig files using deepTools](https://github.com/yuifu/millefy/blob/cf6cf0c8494df394b71702bfb928ef6bce2c7273/tutorial/Tutorial.md#1-1-converting-bam-to-bigwig-files-using-deeptools)\n", "# and size of mouse chromsome 19 (learned it was mouse in Millefy publication) as `effectiveGenomeSize` because bamCoverage documentation says 'The effective genome size is the portion of the genome that is mappable'\n", "# Note because stdout isn't displayed in R kernel in Jupyter, command worked out over in terminal in the same session\n", "system(\"bamCoverage --bam bam2bw_extdata/RamDA_00h_A04.uniq.q40.chr19.bam -o bam2bw_extdata/RamDA_00h_A04.uniq.q40.chr19.bw --binSize 15 --normalizeUsing RPGC --effectiveGenomeSize 61420004\")\n", "system(\"bamCoverage --bam bam2bw_extdata/RamDA_00h_A05.uniq.q40.chr19.bam -o bam2bw_extdata/RamDA_00h_A05.uniq.q40.chr19.bw --binSize 15 --normalizeUsing RPGC --effectiveGenomeSize 61420004\")\n", "system(\"bamCoverage --bam bam2bw_extdata/RamDA_00h_A06.uniq.q40.chr19.bam -o bam2bw_extdata/RamDA_00h_A06.uniq.q40.chr19.bw --binSize 15 --normalizeUsing RPGC --effectiveGenomeSize 61420004\")\n", "system(\"bamCoverage --bam bam2bw_extdata/RamDA_00h_A07.uniq.q40.chr19.bam -o bam2bw_extdata/RamDA_00h_A07.uniq.q40.chr19.bw --binSize 15 --normalizeUsing RPGC --effectiveGenomeSize 61420004\")\n", "system(\"bamCoverage --bam bam2bw_extdata/RamDA_00h_A08.uniq.q40.chr19.bam -o bam2bw_extdata/RamDA_00h_A08.uniq.q40.chr19.bw --binSize 15 --normalizeUsing RPGC --effectiveGenomeSize 61420004\")\n", "system(\"bamCoverage --bam bam2bw_extdata/RamDA_72h_A04.uniq.q40.chr19.bam -o bam2bw_extdata/RamDA_72h_A04.uniq.q40.chr19.bw --binSize 15 --normalizeUsing RPGC --effectiveGenomeSize 61420004\")\n", "system(\"bamCoverage --bam bam2bw_extdata/RamDA_72h_A05.uniq.q40.chr19.bam -o bam2bw_extdata/RamDA_72h_A05.uniq.q40.chr19.bw --binSize 15 --normalizeUsing RPGC --effectiveGenomeSize 61420004\")\n", "system(\"bamCoverage --bam bam2bw_extdata/RamDA_72h_A06.uniq.q40.chr19.bam -o bam2bw_extdata/RamDA_72h_A06.uniq.q40.chr19.bw --binSize 15 --normalizeUsing RPGC --effectiveGenomeSize 61420004\")\n", "system(\"bamCoverage --bam bam2bw_extdata/RamDA_72h_A07.uniq.q40.chr19.bam -o bam2bw_extdata/RamDA_72h_A07.uniq.q40.chr19.bw --binSize 15 --normalizeUsing RPGC --effectiveGenomeSize 61420004\")\n", "system(\"bamCoverage --bam bam2bw_extdata/RamDA_72h_A08.uniq.q40.chr19.bam -o bam2bw_extdata/RamDA_72h_A08.uniq.q40.chr19.bw --binSize 15 --normalizeUsing RPGC --effectiveGenomeSize 61420004\")\n", "```\n", "\n", "Run the next cell to get the pre-converted data with the equivalent of `--binSize 15`:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "tags": [] }, "outputs": [], "source": [ "system(\"curl -OL https://gist.githubusercontent.com/fomightez/bab4bb92880b9545d20e2d0efc523a24/raw/b35a7e932da23be305b1952611d4ffe114c307ac/ZeroAnd72h_big_wigs.tar.gz\")\n", "system(\"tar xzf ZeroAnd72h_big_wigs.tar.gz\")\n", "system(\"mv *.bw bam2bw_extdata\")" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 00h 72h \n", "\"#FFFF00\" \"#FF7F00\" \n" ] } ], "source": [ "# Group labels for bam files (same length as bamfiles)\n", "groups = c(\"00h\", \"00h\", \"00h\", \"00h\", \"00h\", \"72h\", \"72h\", \"72h\", \"72h\", \"72h\")\n", "converted_bamfiles = Sys.glob(file.path(\"bam2bw_extdata/\", \"*.bw\"))\n", "\n", "# Color labels for bigWig files (A named vector with the same length as the number of kinds of \\\\code{groups})\n", "color_labels <- colorRampPalette(c(\"yellow\", \"red\"))(length(unique(groups))+1)[1:length(unique(groups))]\n", "names(color_labels) <- unique(groups)\n", "print(color_labels)\n", "\n", "# Load gene models (It takes a little time)\n", "path_gtf = system.file(\"extdata\", \"example.gtf\", package=\"millefy\")\n", "dt_gtf_exon <- gtfToDtExon(path_gtf)\n", "\n", "# Set tracks\n", "## Single-cell track\n", "max_value = 500 # NEEDS TO BE LOWER FOR THE CONVERTED BAM FILES\n", "scTrackBw <- list(path_bam_files = converted_bamfiles, groups = groups, group_colors = color_labels, max_value = max_value, isBw=TRUE)\n", "\n", "## Gene annotation track\n", "geneTrack1 <- list(path_gtf = path_gtf, dt_gtf = dt_gtf_exon, label = \"GENCODE\")\n", "\n", "\n", "# Prepare arguments for millefyPlot()\n", "## List of tracks\n", "tdlist <- list(scTrackBw, geneTrack1)\n", "\n", "## List of track types\n", "tt <- c(\"sc\", \"gene\")\n", "\n", "## List of track hights\n", "heights = c(12, 2)\n", "\n", "# Location to visualize\n", "chr = \"chr19\" # character\n", "start = 5824708 # integer\n", "end = 5845478 # integer\n", "\n", "text_main = \"mESC 00h, 72h (FROM Bam files!!!)\"" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "\n", "
  1. 'bam2bw_extdata//RamDA_00h_A04.uniq.q40.chr19.bw'
  2. 'bam2bw_extdata//RamDA_00h_A05.uniq.q40.chr19.bw'
  3. 'bam2bw_extdata//RamDA_00h_A06.uniq.q40.chr19.bw'
  4. 'bam2bw_extdata//RamDA_00h_A07.uniq.q40.chr19.bw'
  5. 'bam2bw_extdata//RamDA_00h_A08.uniq.q40.chr19.bw'
  6. 'bam2bw_extdata//RamDA_72h_A04.uniq.q40.chr19.bw'
  7. 'bam2bw_extdata//RamDA_72h_A05.uniq.q40.chr19.bw'
  8. 'bam2bw_extdata//RamDA_72h_A06.uniq.q40.chr19.bw'
  9. 'bam2bw_extdata//RamDA_72h_A07.uniq.q40.chr19.bw'
  10. 'bam2bw_extdata//RamDA_72h_A08.uniq.q40.chr19.bw'
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 'bam2bw\\_extdata//RamDA\\_00h\\_A04.uniq.q40.chr19.bw'\n", "\\item 'bam2bw\\_extdata//RamDA\\_00h\\_A05.uniq.q40.chr19.bw'\n", "\\item 'bam2bw\\_extdata//RamDA\\_00h\\_A06.uniq.q40.chr19.bw'\n", "\\item 'bam2bw\\_extdata//RamDA\\_00h\\_A07.uniq.q40.chr19.bw'\n", "\\item 'bam2bw\\_extdata//RamDA\\_00h\\_A08.uniq.q40.chr19.bw'\n", "\\item 'bam2bw\\_extdata//RamDA\\_72h\\_A04.uniq.q40.chr19.bw'\n", "\\item 'bam2bw\\_extdata//RamDA\\_72h\\_A05.uniq.q40.chr19.bw'\n", "\\item 'bam2bw\\_extdata//RamDA\\_72h\\_A06.uniq.q40.chr19.bw'\n", "\\item 'bam2bw\\_extdata//RamDA\\_72h\\_A07.uniq.q40.chr19.bw'\n", "\\item 'bam2bw\\_extdata//RamDA\\_72h\\_A08.uniq.q40.chr19.bw'\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 'bam2bw_extdata//RamDA_00h_A04.uniq.q40.chr19.bw'\n", "2. 'bam2bw_extdata//RamDA_00h_A05.uniq.q40.chr19.bw'\n", "3. 'bam2bw_extdata//RamDA_00h_A06.uniq.q40.chr19.bw'\n", "4. 'bam2bw_extdata//RamDA_00h_A07.uniq.q40.chr19.bw'\n", "5. 'bam2bw_extdata//RamDA_00h_A08.uniq.q40.chr19.bw'\n", "6. 'bam2bw_extdata//RamDA_72h_A04.uniq.q40.chr19.bw'\n", "7. 'bam2bw_extdata//RamDA_72h_A05.uniq.q40.chr19.bw'\n", "8. 'bam2bw_extdata//RamDA_72h_A06.uniq.q40.chr19.bw'\n", "9. 'bam2bw_extdata//RamDA_72h_A07.uniq.q40.chr19.bw'\n", "10. 'bam2bw_extdata//RamDA_72h_A08.uniq.q40.chr19.bw'\n", "\n", "\n" ], "text/plain": [ " [1] \"bam2bw_extdata//RamDA_00h_A04.uniq.q40.chr19.bw\"\n", " [2] \"bam2bw_extdata//RamDA_00h_A05.uniq.q40.chr19.bw\"\n", " [3] \"bam2bw_extdata//RamDA_00h_A06.uniq.q40.chr19.bw\"\n", " [4] \"bam2bw_extdata//RamDA_00h_A07.uniq.q40.chr19.bw\"\n", " [5] \"bam2bw_extdata//RamDA_00h_A08.uniq.q40.chr19.bw\"\n", " [6] \"bam2bw_extdata//RamDA_72h_A04.uniq.q40.chr19.bw\"\n", " [7] \"bam2bw_extdata//RamDA_72h_A05.uniq.q40.chr19.bw\"\n", " [8] \"bam2bw_extdata//RamDA_72h_A06.uniq.q40.chr19.bw\"\n", " [9] \"bam2bw_extdata//RamDA_72h_A07.uniq.q40.chr19.bw\"\n", "[10] \"bam2bw_extdata//RamDA_72h_A08.uniq.q40.chr19.bw\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "converted_bamfiles" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now to plot those using the converted BAM files." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1] \"Begin millefyPlot: 2023-11-27 20:21:21.827132\"\n", "[1] \"title\" \"sc\" \"avg\" \"gene\" \"axis\" \n", "[1] \"Importing BigWig: 2023-11-27 20:21:21.914604\"\n", "[1] \"Finished millefyPlot: 2023-11-27 20:21:24.37569\"\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAACXBIWXMAABJ0AAASdAHeZh94\nAAAgAElEQVR4nOzde3gcdaH/8U92OrvLboZNl65JQ0raGKjYUiiXIlCheJCbIgoKFkVuavEc\nfMS7h8PvOaDHRwUBRQQVKygI9cCxHhAUucn9gOXQAqUUYkubmHZJuu662WU2w2x+f8yXbUwv\ntKX8gt/f+/X0ybP57ndmvrfZfDrZnTSNjIwIAAAA//hi490AAAAA7BwEOwAAAEsQ7AAAACxB\nsAMAALAEwQ4AAMASBDsAAABLEOwAAAAsQbADAACwBMEOAADAEgQ7AAAASxDsAAAALEGwAwAA\nsATBDgAAwBIEOwAAAEsQ7AAAACxBsAMAALAEwQ4AAMASBDsAAABLEOwAAAAsQbADAACwBMEO\nAADAEgQ7AAAASxDsAAAALEGwAwAAsATBDgAAwBIEOwAAAEsQ7AAAACxBsAMAALAEwQ4AAMAS\nBDsAAABLEOwAAAAsQbADAACwBMEOAADAEgQ7AAAASxDsAAAALEGwAwAAsATBDgAAwBIEO8B+\nS5cubWpqOvPMM8e7IWO98YaddtppkydPrlarO69R2KJ6vX7ppZdOnz49kUg0NTVdddVVg4OD\nTU1Nxx57bKNOX19fU1PTBz/4wXFs55a88MILEyZMuOyyy8a7IcCbiGAHbOT7ftOWLV26tFEz\nCIKrrrrqsMMOa2lpicfjkydPPuiggz73uc898MADm+72+eef/+xnPztz5sxMJhOPx3ffffcT\nTzzx5ptvDsNw6+3585///LGPfaytrS2ZTO65554XXnjhZhPMNlbbKW688catDFGjR0NDQ7/6\n1a/mz5+/9957p1KpTCYzd+7cn/70p/V6fSc25rHHHlu0aNG//du/pVKpqGQrM7ho0aLN1nEc\nJ5vNzps37/rrrx8ZGdnsgZYsWXLWWWd1dXXtsssuu+6666xZs7785S//5S9/GVOtsecJEyb0\n9fVtup93vvOdUYXf/va3W+rUpl1IJBJdXV3nnHNOT0/PjgzTznPttdd+5StfyWazF1xwwbe+\n9a1DDz30/+XRJ0yY0NTU9EbK99prr9NPP/0b3/jG4ODgm9VKYLxNGO8GAG85ruuedtppm5Zn\ns9noQa1WO+qoox5++OFUKnXkkUdOnjx5YGDghRdeuPLKK//85z8fccQRo7f6+te/fvHFF9fr\n9e7u7mOPPTadTufz+QcffPC222675pprHnzwwS0149lnn333u99dKpXe//73d3V1PfTQQ9/8\n5jfvvffe++67b5dddtneajvL29/+9jPOOGNM4YoVK5544okjjzzScZyo5Kc//ennP//5eDy+\n//7777PPPvl8/tFHH33kkUduv/32xYsXx2I757+UF1xwQTab/fSnPz2mfLMzOG3atNHfxuPx\ns846S1IQBKtWrXrggQceeOCBJUuWXHXVVaOrjYyMfO1rX7vkkkuamprmzJlz5JFHDg8PP/74\n49/97nevvvrqn//85x/+8IfHHGjChAmvvvrqdddd93/+z/8ZXf7II4+sWLEievZ1u9ZonqRi\nsfjEE0/87Gc/u/XWWx9//PF3vOMdr7v5m+Q3v/mNpNtvv33SpElRSRAE999/f+PUeOv72te+\ndv31119yySWXXHLJeLcFeHOMAHjNK6+8IimTyWy92pVXXinpgAMO2LBhw+jyF1988bbbbhtd\n8s1vflNSW1vbXXfdNbo8CILrrrtuzpw5WznKnDlzJF133XXRt2EYzp8/X9I3vvGN7a321FNP\nSTrjjDO23q8ddtxxx0latGhRo+TWW2+9+uqri8Vio2T58uVve9vbJN100007pWHPPPOMpPPO\nO2904bbM4Gbr3HvvvY7jNDU1rVq1anT5xRdfLGnKlCmPP/746PLrr78+kUg4jnPfffeN2XNn\nZ+e+++47derUer0+epMzzzzTdd1orG6//fbtal5jWv/5n/95K117s+2zzz6O42y9Tm9vr6QT\nTzxxpx89+m/DGy9/17vetdtuu73yyis7vYXAWwHBDhZqxIUXX3zxQx/60MSJEz3PO+6441au\nXDkyMtLf33/GGWe87W1vSyaThx122JIlSxobbmOw++hHPyop+s3dVqxevdp13Xg8/vTTT2+2\nQrlc3tK2Tz75pKT99ttvdGFfX18sFuvo6Ggkhm2s1hiQtWvXzp8/f7fddksmkwceeOAdd9yx\n9S5si5deeikWi+VyuVqttvWa3/rWtyQtWLCgUfJGGva5z31O0sMPPzy6cIeD3cjIyEEHHSTp\nlltuaZSsXr16woQJ8Xj8mWee2XQ/P/nJTyRNnz49DMPRe+7s7PzBD34g6Q9/+EOjcqlUSqfT\nJ598cnS9c3uD3cjIyK9+9StJp5xyypg2nHjiiVOnTk0mk5lM5vDDD//P//zP0RV2+FwY44tf\n/OJWLhAcc8wxjZpbCnaPPvroSSed1Nra6rru5MmTP/axj61YsWJ0hTvvvPOoo46aPHlyPB5v\na2s77LDDLrnkktEVdlaw+973vjfm/yGATXiPHay1du3aQw45ZN26daeddtqcOXN+97vfzZs3\nr6enZ86cOcuWLTv55JP/6Z/+6ZFHHnnve99bLBa3a8/RlafoB9hWXHfddUEQzJ8/f5999tls\nhebm5i1te99990mKru407L777rNmzerr63vhhRe2q1qkt7f3oIMOWrly5SmnnPK+973vqaee\nOuGEEx566KGt9+J1/eQnP6nX62eddVY8Ht96zUwmIymRSIwp37GG3XPPPfF4/MADD3wjjR9t\nZGREkuu6jZLrrrvu1Vdf/ehHPzpz5sxN659zzjlTp05duXLlpm+s/PjHP55MJn/60582Sm66\n6aZKpfLJT35yh5t35513Soou0DYsWLBg/fr1Rx555Pnnn3/yySc///zzp5xyyqa/ZHzj58Jp\np512ww03dHR0xGKxG0a55pprtqXx11577dy5cx966KHjjz/+C1/4wrvf/e5bbrnlwAMPfPzx\nx6MKv/jFL44//vhnn332Ax/4wFe/+tUPfvCDsVhs9ADuRIcddpiku++++83YOTD+xjtZAjtf\ndJVC0sUXX9wojH6mTpw48XOf+1zjUtaFF14o6dvf/nb0bXSxxHXdj23i/PPPb+zq0UcfdRwn\nHo+ff/75995771//+tfNNuM973mP/v43j9suau2mFwVPOeUUSY1f+G5jtcaAXHjhhY2+33DD\nDZJOOOGEHWheQxAEbW1tTU1NL7744tZr1uv1d73rXZLuvvvuRuEON6xQKDQ1Nc2ePXtMeWMG\nz/h73/3ud8fU2eyvYuPxeH9/f6MwmsFf/vKXW2pGNP6N33o3rtiNjIx8/OMfj8fjg4OD0VMH\nHHDAHnvsEYbhNl6xi8fjn3vNmWee+c53vnPChAnz58+vVqujK69du3b0t5VK5cADD9xll10K\nhUJUssPnwmbNmDFjzK9iBwYG9HpX7J577jnXdY855pjRjV+2bFlzc/OsWbOibw899FDHcf7y\nl7+M3nmjF5GddcVueHjYdd0999xzKz0F/nER7GCh6IdZZ2fnq6++2ih8+OGHox9mo3+6RB8z\n/OhHPxp9G/1M3azop3XDokWLdt9998azU6dOPfPMMx966KHRdfbee29JYwq30Uc+8hFJixcv\nHlMefVDgF7/4xXZViwZkjz32CIKgUader2cymdbW1h1oXsOtt94q6aijjnrdmv/+7/8u6aST\nThpduMMNW7ZsmaTjjjtuTPmWZnB08mgkpwULFixYsODss8+eN29e9PnTK6+8cvTeXncGv/71\nr0v6zGc+M3rP0VL54x//KOnyyy9vdPPf//3fR0ZGtjHYbWqfffa5+eabN7tJvV4vFovr169f\nt25d9LbO//7v/46e2uFzYbN2LNidd955kh544IGBv3fiiSdKeumll0ZGRg499NB4PJ7P57dy\n9OhNjW+8fGRkpK2tLZFIbOVYwD8uPhULa82ePbvxIU1JUQ6bMWPG6M+KRoVj7kyRyWRe95ez\np5566oc//OGHH3744YcfXrp06QMPPHD99ddff/31X/7ylxu/CBsZGZG02Rsx7LBt3Odmq82e\nPXvChI2nfFNTU0dHx4svvvhG2vPjH/9Y0oIFC7Ze7aqrrrr44ov333//6667btNnd6BhGzZs\nkDRx4sTNPrstMzg8PBw1vnHQhQsXNj6IGtnG0d5shSOOOGLPPfdcuHDh5z//+WuvvTYWi519\n9tlb389oo7swNDT07LPPfu1rX5s/f/7q1av/9V//tVHtqaeeuuiii+6///5yuTx68zG3Ytnh\nc2GneOyxxySN+bR4w7p16zo7O+fPn//oo4/OmDHj1FNPnTdv3ty5c9va2sbU3HXXXTf7geLt\nLZeUzWbXr18/NDS0lbdDAP+gCHawVvSOroYoOmy2MAiCHdi/4zhHHHFE9ONqZGTk5ptvPuus\nsy699NLjjz9+3rx5ktrb259//vm1a9dG7+nZgcaXSqUx5VFJoxfbWC3S0tIyptqECRNe9156\nW7Fq1ap77rmntbU1uvSyJZdddtmXvvSlAw444O6779511103rbADDYsSie/7299qo5GchoaG\nHnrooXPOOefcc8/t7OyMfv0amTx58vPPP79mzZotzeDatWujapt99pOf/ORXv/rV+++//6ab\nbnrve9+7xx577FhTm5ub3/Wud/3617/efffdv/71r3/605/ebbfdJP3v//7v3Llzk8nkZz7z\nmX333TeTyTiOc88991x22WW1Wm1MZ0d/u9PPha2LUvhtt9222fvvRJdFzzvvvIkTJ/7whz+8\n5pprfvjDH0o65JBDLr300tEj39LSMjw8vOketrdc0iuvvNLU1JRMJneoQ8BbGsEO2AmamppO\nO+20P/7xj9dee+3dd98dBbu5c+fed999d911V3Sjiu0yffp0SStXrhxTHl3H2muvvbar2pvk\nJz/5ycjIyNlnnz36AwdjXHTRRRdffPEhhxzyu9/9bkySeCOiz69EieENam5uPu64426//faD\nDz74jDPOWLlyZeN2x3Pnzr3//vvvuuuuzd7XsF6v33PPPXrtzfibOuOMMy688MJPfOITxWLx\nnHPOeYPtzGazb3/725cvX/7MM89EC+zyyy9/5ZVXbrvttqOOOqpRLfqg9FtKNO9tbW3R5463\nJHoz69/+9rfHHnvsN7/5zcKFC4877rjly5dPmTIlqnD88cdvNndub7mkDRs2TJw4cfR1YsAa\nfCoW2GmifNO41HTWWWe5rrto0aLojmubGhoa2tKuoutGv//970cX9vf3L1u2bPfdd28ktm2s\n9maIbsXX1NT0qU99akt1vvCFL1x88cXz5s37wx/+sBNTnaTOzs5MJvP888/vrB0ecMABn/rU\np/r6+q644opG4Zlnnuk4zqJFi5YvX77pJgsXLnzppZemT5++pV8ytra2vv/97+/r65s0adLW\nL2puo+gNbQ0vvfSSpOgjKQ3RB6XfUqIWNv7yx9btuuuuxxxzzDXXXPPFL36xXC6P7s73vve9\n6GLeGNtbvn79+r/97W/77bfftnYA+IdCsAO22w9/+MPFixeP+S3PkiVLbrrpJknvfve7o5Kp\nU6dedNFFtVrtmGOOGXNvhTAMb7zxxtEXWsbYf//958yZ89RTT/3iF7+ISur1+le+8pV6vX7u\nuec23tS1jdW23be//e1jjz02urPG1i1evPjll18++uijx/xFh0YzPv3pT19xxRXHHHPMnXfe\nudPfyeQ4zty5c/P5fBRudooLL7wwmUxeeumlhUIhKunq6rrggguGh4ePO+64P/3pT6Mr33DD\nDZ/97Gcdx7n66qu38oc0LrvsssWLF99xxx2vey+Y13X11Ve//PLL6XS6cYeXrq4u/f1tO266\n6aa3YLA777zzJkyY8IMf/GBM26K/Oxc9vvvuu8e8Hy76q1+Nq6eSrrzyyugWdGNsb3n0nr8j\njzxyu3sC/CPgQjQwVrVa3eyfpV+wYMEhhxwi6U9/+tPPf/5zz/PmzJkzderUIAh6enoee+yx\nkZGR6E5sjU0uuOCCV1999eKLLz766KP33HPP/fffP51Ov/zyy4899tiGDRu2dKUnsnDhwrlz\n55511lm//vWvp02b9tBDDz355JMHH3zwmFvFbmO1bbR06dK77rrrQx/60OvW3PrHJi677LLo\nEwPZbPYzn/nM6Kf22WefHWvbGCeffPIdd9xx1113ve5HN7bR7rvvvmDBgu9///vf+c53vvOd\n70SFF110UaVSufzyyw8++OCDDz54xowZw8PD//M///Piiy/usssuN9988+j35G1q2rRpmw2+\nr+uVV14599xzo8dDQ0PLly9funRpU1PT9773vUZKPu+882666ab58+efeuqpnZ2dS5cuvfPO\nOz/ykY/ccsstO3DEN8/MmTN//OMfL1iw4Kijjjr66KNnz54dhuHzzz9/3333TZ069dRTT5U0\nf/78CRMmHHHEEZ2dnY7jPP744/fff/+MGTPe//73N/bzhS98IQzD888/f8z+t7f8D3/4g6ST\nTjpp53cVeCsYx0/kAm+Szf6hquguDO973/tGF0ZvwTn44IOjb7dyuxNJN9xwQ1TtL3/5y49/\n/OOTTjrpHe94h+d5ruu2t7cff/zxN91005i/IhV57rnnzjvvvBkzZjQqn3jiiYsWLRp9B4rN\n6unpmT9/fi6Xi8fj0dWjoaGhHai2pb/cte+++465H8Ts2bNd1x3zZ7U29cILLzQ1NU2ePHn0\nbUpG++pXv7qlYRx9a4xtb9imqtVqNps99NBDRxe+kb88MTIysn79+lQqtcsuu4y5odrjjz/+\niU98YurUqYlEorm5eebMmV/84hd7e3s3u+cxd8YZYwdudzJhwoT29vaTTz75wQcfHFP5/vvv\nf/e7373rrrvuuuuu73nPe+69997oLoBXXHFFVGGHz4XN2rHbnTRacvrpp0+ZMiUej0+cOHHG\njBnnnnvu/fffHz17zTXXfPCDH+zq6kqlUplMZtasWf/xH/8x5g6RO+U+dr7vT5w48YgjjthK\nN4F/aE0jIyM7kgcBWKdQKORyuXPPPXez70x6C4o+mfH0009v6W97AGPccMMNn/jEJ26//fbR\n1wIBmxDsABj/9V//dfrpp//5z3/e0v073mqq1epee+110EEHLV68eLzbgn8Ar7766t57793Z\n2Rl9nBmwEh+eAGCcfPLJ1Wr1HyXVSUqlUjfeeON+++1XrVbHuy34B9Db2/uxj33sqquuGu+G\nAG8irtgBAABYgit2AAAAliDYAQAAWIJgBwAAYAmCHQAAgCUIdgAAAJYg2AEAAFiCYAcAAGAJ\n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\nJQh2AAAAliDYAQAAWIJgBwAAYAmCHQAAgCUIdgAAAJYg2AEAAFiCYAcAAGAJgh0AAIAlCHYA\nAACWINgBAABYgmAHAABgCYIdAACAJZpGRkbGuw1oaBrvBoy2xYXh+6pUVK2qUNCaNWptVXu7\nWlrU2ytJ1arCUIOD8jzFYkomlUzK9+X7GhzUHXcoDHX66SqXNWWKmpslKZ3WwIDKZQWBXFf5\nvPr71dambFbNzWpv1+CgJC1bpmpVQaD2di1ZIt/XgQdq5UrNnKlkUtOm6fe/VxjK8/T00yqX\n1dWlVEphqO5udXZqzRoVCspmNWWKfF/lssplOY6CQMWiHEe+ryBQJiPP0+rVam3VCSeoVFKx\nKEmOo2JRnZ1qaVGhYHpUKikIVKlo3Tpls2ptVXe36XitZnYoKQhUKJgObtigXM60rVhUT4/W\nrdP69Zo5U76vdesUhurs1OzZmjVLg4Pq6VEQqLVVhYKKRdXr6u9Xe7vCUKWShoflecrn5Thq\nb9fAgDIZ5XJmJB1HsZjyeQWBUinl84rFtHatEgm1tiqXU3e3enrkOJoxQ0NDpoWplDo7NTCg\nnh51d8v3lU7L9xWG6uszDUgkVK2qpUWTJsnzFATq6FAQqFQyR3RdM2sHHKBcTr//vdas0ezZ\nSqW0ZImefFKHH65589TVJd9Xsag779TAgLq71d5ulpDnqVzWE0/I9/VP/6RkUo89plpNkyfL\ndbXnnnJdVSp6+mk99ZSmTzf1CwUddphmzTJr1XG0apWSSTmOJk9WOq1YTGvWaHBQsZjicbW2\nStLAgHI5JRJavVorV6qtTc3Nisfl+5o2zTQy2lsiob4+lcvyPCWTZrjKZfX1yfNUqeiFF+R5\nam1VLKaWFiUSGhrSqlWqVhWLqb1d3d1yXa1Zo7Y2FYtmw3JZqZSZr1pNHR3K51UuK5MxJ0hP\nj8JQ2awklUrKZMwarlblukomlUppyhRNm2aalE6bncdiymZVrZoBCUMVCgoCDQ6qUtE732mm\nMpqv6ATZbz+tWKFCQf39isfNggxDrVuncllhqK4uSVqyxOxk331Nf1evlutK0uzZ8jz19UlS\nd7dSKa1cKceR62rFCiUS8jxVq6pWNW2aaXzUyKgv0QJIJrVmjR58UL6vXE7Tp2tgQPm8nntO\nRx5pOlIu69575Xk6+mi1t6u3V0Ggzk4FgXI5+b6efVYdHTr8cD32mFaskOOYF4QnnpDravp0\ntberUFA+r0mTdMIJqtVUKGjSJK1Zo74+8/JVqeiJJ8w6z2TU1aXTT1elonpd5bL6+82LQ3+/\nWSTRwnjuOfX1qb1dsZgkZbNKp7VypbJZdXYqk1G1qnJZkgoF/exnmj5dn/ykGRnX1erVGh42\n63zlSgWBGfnoFWbNGvX3q6XFnPLRUEfn+Jo1evJJhaFmz1ZHhxxHuZxuu02lkg45RL6v/n7l\ncpozx4y2pMmTNTSke+/V7Nnabz8NDSkWU72u224zXTjgAHV1KZ/Xiy8qlzMni+eZF8NMRm1t\nZurxVsAVOwAAAEsQ7AAAACxBsAMAALAEwQ4AAMASBDsAAABLEOwAAAAsQbADAACwBMEOAADA\nEgQ7AAAASxDsAAAALEGwAwAAsATBDgAAwBIEOwAAAEsQ7AAAACxBsAMAALAEwQ4AAMASBDsA\nAABLEOwAAAAsQbADAACwBMEOAADAEgQ7AAAASxDsAAAALEGwAwAAsATBDgAAwBIEOwAAAEsQ\n7AAAACxBsAMAALAEwQ4AAMASBDsAAABLEOwAAAAsQbADAACwBMEOAADAEgQ7AAAASxDsAAAA\nLEGwAwAAsATBDgAAwBIEOwAAAEsQ7AAAACxBsAMAALAEwQ4AAMASBDsAAABLEOwAAAAsQbAD\nAACwBMEOAADAEgQ7AAAASzSNjIyMdxvwmouaxrsFo1y0tYUxPCxJQaBqVa6rVEqSSiXFYorH\nlUioXtfAgOp1JRJyXSWTcl0FgQoFua4cR8mkwlBBIMlsXq2azSXFYnIcVSqSlExKkuuqVjOH\nHhyU68rzFIspmVQ6bcoLBaXTSiRUrapcliTfN89GlSXV6/J9pVJyXcXjWrVK/f3yPOVyCkPT\nO99XrabWVqVSplNBINdVvS5JkyYpn1e5LNdVqSTHUSKhIFAyKc9TKqWWFpXLGhhQGKqtzYxG\nf798X46jIFAYKpk0O89kzOD09alQUCxmWtjdrdZWc9BCQZISCTMajmP6Ui4rCLR6tWIx5XLq\n6FC5rHrdjF4QyPflukqntWaNGZAgUColzzOd9TzV6yqXzR6ivkc9agy7pELBbC4pHjeD7/vy\nfVNYr6u3V9Wq2tuVySibNethyRLlcmpv1/Cw4nEz45MmSdLgoDxPra0ql1UqqVBQsSjfV2en\naXwioXRavb0aGtIee5iZ9TzVaqbB9boqFcXj8n0zqtGayWaVy5nHnqdqVcWi4nF1dMhxTEvK\n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\nok6dOrVo0cLX15dVWmqZ2scnISGhVatW1Txm6hQHAAAAZVAoFOvWrVNdExkZ2aZNG9VFmUzm\n6enJcZyfn190dPTgwYPfeecd1QR2dnaBgYEcx7Vq1crW1vb06dOffvppUFAQS9CiRYtDhw6p\n5WIkEgn7sGLFivbt23Mc16dPn2nTplVnkRVoZ2f34MEDjuO++uor1rbBgwdPmDCBr7pTp04L\nFy7U3Hr79u2WLVtaWFjwKfmi1GiuLygocHBw4DguOjra2dmZX//w4cP79++fP3/+6NGj169f\nVyqVW7duTU5OZllYmpYtW27YsEGtPdp7euLECW9v7/T0dLWGqZWpfXw4jnN1dX348KFmB3UT\nZuwAAABKERcX1717d1tb2/3796ttksvlZ86cOXPmzLNnz4ioefPmmZmZN27cYFtfeeWV7du3\nT5kyJSEhga1xc3O7f/9+cXFxVlaWpaVlqdVp5lJ17tw5X19fIurYsePly5ers6hW8uDBg3Ny\ncmJiYi5cuNCzZ08iSktLO3bsWEFBwdChQzW3vvvuu1999VWVRpT2798vlUqJaMeOHX379iWi\nJ0+exMbGsjU9evSYP39+x44dX3vttTVr1vj4+BCRiYkJy5ucnOzr66vWHu093bVr16NHj/z9\n/aVS6a1bt/hmqJWpfXyIqG3btuvXr69al+seAjsAAICXJCQkuLq69unT5/XXX09PTz9w4IBa\ngkePHo0ePXr06NH79u1ja95///2JEyeyz7Nnz/7ss8+OHj3q4eGxdu1attLFxWXixIkBAQFl\nVVpqLp5cLjczMyMic3Pz/Pz86iyqlZyXl3fv3r3w8HC5XM7OOe7atWv8+PE3btzIyMhQ25qY\nmJiUlPTWW29VYVSJ6Pr1640bNyai58+f29jYENF3333Xt2/fsLAwImrZsuWZM2c6duzYtm3b\nP/74w8rK6t69eyzj2LFjXV1dAwIC1Nqjvafp6ekODg6JiYkjRoz48MMPExISYmNjnzx5olam\n9vEhoqZNm96+fbtqXa57COwAAABeIhaLra2t8/PzHz58yC7VUuPJFUBRAAAgAElEQVTl5RUf\nHx8fHz9u3Di2Zt68eZcuXSosLGSLs2bNun379meffbZixQq2Jjw8PDIy8sMPP2SLdnZ2ubm5\n7HNeXp6zs3OpuXguLi5JSUlElJiY2KhRo+osqpX85Zdf9urV6969e6NGjWKx6YQJExISEvr1\n67d48WK1rePHjw8LC4uNjVUqlaXOLGpnZWXFXjLh5eUVFxdHRIsXL/7000/ZVnt7eyIyNzdv\n0qQJEZmYmLDB37x58/79+8+ePavZWu09bdKkCRvY1q1bp6SkLF68ePTo0evWrVMrU/v4EFFu\nbq6FhUVlO1tfENgBAAC8xMnJKS4ujl3s5e3t3alTp3KzGBoa9urVi53vi4yMPHToUFFR0enT\np9kEFRGNHTt2/PjxnTt3ZotvvfXWtWvX7t69e+bMmRcvXvj6+paai/fee++dOHEiLS1tx44d\n7777bnUW1Up2d3e/detWcXHxxYsX7e3t//zzz7t372ZkZPz9998BAQFqW5s2bbp///4RI0YU\nFBTM13iuaUpKimZIqqpPnz4shPryyy9PnTq1ZcuWwsLCK1euaMkSFxc3ZcqUs2fPSiQSzdZq\n7+mkSZOuXbuWkZGxefPm11577Ycffrh+/fr8+fPVytQ+PkR09erVHj16aGmkbqnvi/wAAAB0\n2tGjR1UX9+/fb2NjI5PJZDLZiBEj9u/fP3ToUI7jUlNTbW1tDx8+vGPHDk9PT3t7+06dOqWn\np/MJmODg4CtXrnAct2LFChcXFzc3t71793Icp5aLJW7ZsiWfcc6cOc7OzuHh4dVflMlkrAvf\nfPONUqns3r27g4NDx44ds7KyfvrpJxcXFwcHh+HDh3Mcp7aVb0yrVq00i7p48eLrr7+uuV51\n9JycnFJSUjiOO3/+fOvWrR0cHDp16nT9+vUtW7ZMnTqV47gZM2Zs2LCB47g+ffrcvHnzk08+\n4Ud7/fr1mu3R3tMvv/zS2dk5ODhYoVDwbVArU/v4cBzn6Oio7fjQMXhAMQAAANSRFStWFBcX\nT5s2rb4bUlHHjh07dOjQ8uXL67shFYXADgAAAF6Sl5fn4+OTlZVFREZGRseOHWvbtm19Nwoq\nBNfYAQAAwEvkcvmDBw8igjLXDsp8npHKLowDvYDADgAAAF5SXFxMRD18aFAAiQzpWXJyfbcI\nKsqovhsAAAAAusXQ0JCIbiRRYREVc2Tv4FDfLYKKwowdAABA6SZPniyTyWxtbW1tbQ8dOjR5\n8mQ/Pz+2iV1zlpiY6Ofn16hRo1deeaWwsHDy5Mnu7u4swdy5c11dXYno7bffZm+SJaLWrVur\n5dqwYQMrn1XUvXt3Iurdu3eTJk02bNjAclV5cd++fZ6ent7e3mxTSkqKn5+fk5PTrFmziOiz\n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\nEolELWwVlPqbLAQAAKgjffr0MTc3nzFjBjuXp0bzVGxycnKvXr1GjhzJTsUyDx8+NDExefDg\nAUvg7Ozs5uZ2/PhxdirWysoqLy+P47jDhw+zNWq5uJdPxfKnbtmH6ixyHBcZGcmfajQzM4uP\nj09NTZVIJEqlkq28fv26WCzW3FpuyTzVKnhWVlZsSFnhjEwmS05OZi8K4zjO1taW47i//vrL\ny8uLrQkJCenRoweffuXKlfwb1XiqDeAbr7p4586dRo0a8TtItUzt48NxnLW1NSdQmLEDAADh\nO3jw4NWrV+/du9e4ceMOHTpcvny53CyrVq3avXs3+8zO3DVu3NjIyIh/J32/fv3eeecdPn3j\nxo03b95MRHv27GnZsmVZuXhSqfTUqVN37941MTGp5qIaQ0NDJycnqVRaXFxcXFyck5NDRHZ2\ndsbGxppbtZeckJAgl8u1jJK9vf2FCxeIyN3dffr06WxlcXGxaho2mUf/TqTNmzfv9u3bv/32\nG59gw4YNI0aMYJ9TUlKI6NdffzUzMyMitcarLnp4eKSkpLD0amVqHx+5XM5KE6b6jiwBAADq\n1Hfffbd9+3bVNXZ2dtbW1jKZTCaTZWZmsgk5juNat27NJoScnZ1lMpmVlVXfvn25f6f0WF5+\nxu7cuXPspgpnZ2d2t4RaLu7lGbuDBw/a2NhIpdLIyMhqLo4fP97c3FwkErGWTJ06VSqVWltb\nh4WFcRzn4uLCmvHll19qbtVespub2y+//KJZBW/atGkjR47kOO7p06ceHh62trbsnuKCggJ+\nxo59+Ouvvzw9PTmOMzIysrS0lMlkrVu3ZgnMzMz4mVRHR0epVGplZbVjxw7Nxqst8tTK1D4+\n3377Lb9HhAevFAMAAIAqksvlLVu2TExMrO+GVEKbNm327t3bokWL+m5IrUBgBwAAIHByuTw0\nNPTFixds0dHR8cCBA/wZUhASBHYAAAAC9+TJExcXl496kJ0FPUijNX9QUVFRqY8vAX2HV4oB\nAAAIHHsJ7Pg3yKMRnb5La/6o7wZBrcFdsQAAAAKneU8uCBUCu2q5fv36yJEjXVxcTE1NmzZt\n2qtXrz179vC3ebu5uRm8bPLkyaqbTp48yRf1xRdfeHt784tXr159++23nZycxGKxh4fH8OHD\nr1y5wm+NjY198803ZTKZqampt7f3ggULCgoK+K18vWKxuGnTpgMGDDh8+LBqs7U0DAAAhIc9\n9cPz/8hgAnVeQsbGxrjATqgQ2FXd0aNH27Vrd//+/SVLlpw9e3bjxo29e/f+/PPP4+Li+DQT\nJky4pIJ/yjYRicXiWbNmlXqN47Fjx9q3b//kyZMVK1acO3duzZo1MplsxowZbOuvv/4aGBho\nZma2d+/ef/75Z+bMmatXr+7Zs6dCoeBLmDRp0s2bN2NjY9euXSuTyUJDQ2fOnKlahZaGAQCA\nqp49ewYHB69evXr16tVJSUk9e/Y0NDS8d+8eEVlbWxNR3759AwICli5dGhQUJJfLe/bsKRKJ\nkpKSiMjHx4c9j+3VV19dvXo1K9DS0lIt161bt1avXj169GgnJ6fVq1cfOXJky5Ytzs7OH3/8\nsa2tLRFVZ3H58uUDBw40MzO7ePHixYsX16xZM3fu3DVr1hgbG7Nn1L148cLMzMzf35+Ixo0b\n5+Hh8fXXX5ubm+fk5Lz11lsTJkwYMWKEnZ0dEYWHh7dq1WrWrFlOTk6qQ7R8+fIuXbpYWFio\nDV1RUVHTpk3ZGKoNmnZdu3aNiorSUrL2Li9btmz69Onvv/++ubk5Ee3evbtbt24V3d/6rn6f\ntqK/8vLynJycevbsWVxcrLapqKiIfXB1dZ03b16p2V1dXSdPnmxmZrZt2za2ZsGCBeyR3Pn5\n+aWW/OzZM1avo6Njnz59VDf9/fffBgYG3377bVn1rly5koguXLhQbsMAABq4VatWTZ06VXVN\nSEjIjBkzVBfd3d27d+/OcZyVlRXHcc7OzocOHVJN4ObmNnXqVIVC0aRJE5amXbt2q1atYgnY\n6xDUcnEcFx0dzb+A4ZVXXlm3bh3HcW5ubr/99lt1FlUr5W3ZsqVZs2bs89ChQ7t168ZezBAY\nGLhs2TKO45o0aXLu3Dk+vUQi4TjO0dHx0qVL7MP58+fVhk7zZRXfffcdGyjNQeM47ssvv+zX\nrx8r559//hk8ePCQIUOSk5Pz8vKkUqmnp+ekSZPKKrkiXeY4zsbGJjs7m/v3WXoNAWbsqigm\nJiYpKemTTz7RnM2u4H1GjRs3njp16ty5c1Vn2ojoxIkTpZZsb2/P6k1OTlabYHvllVd69er1\n008/lVXXe++9J5VKd+3aVZGGAQA0QI8ePRo0aJCNjc3GjRs1X+169OjR8PDw8PBw9uLRIUOG\nXLhwgX8lQ+/evfv379+pU6cDBw6wNX369Dl48OAPP/zw6quvllWjZi5VycnJr7zyChE1btz4\n8uXL1VkstfY1a9YMHjyYiPLz88+cOTNs2DC2fvny5Zs2bXr77beNjIw6duzIVh45coTNOxoa\nGrJ3PygUir///rvcUf3111/btm3LPqsN2ujRo3fu3NmlS5devXrl5OScOnWqbdu2NjY2HTp0\nMDExcXNz69+//8SJE8squdwuR0ZGhoaGBgUFsdk+MzOza9euldtgAUBgV0V37twhIh8fH7Z4\n/fp1o399++23fLL58+erXsr2448/qhYyZ86czMzMtWvXqq68e/euasna6+W1atXq9u3bZbVW\nJBJ5eXklJCRUsGEAAA3KvHnzmjVrZmdn9+jRo9jY2HJP24lEov/973/8FTKRkZFHjhxxcXEJ\nCws7duwYEdna2ioUisjISP4yGM1ZAM1cpeJevmKnOouqLl++/NFHHxHRpEmT3n77bX798uXL\n09PTRSKRXC5nUeyLFy+GDRu2bt06InrnnXcGDRoUGhqamZlZ6tu61GRkZPDPAVYbtAMHDnTu\n3PnZs2fm5uYHDhz44IMPHB0dbWxsMjIyDA0Nra2t3d3dNX/s5s6d+/7776uGaFq6bGhoeODA\ngYyMDCKytLRkJ4IFD4FdzXB3d798+fLly5ctLS1V35Gndilbnz59VHNZW1vPnTt3wYIF2dnZ\n/Eotf4faab8SluM41QTaGwYA0KCEh4f369dv27ZtwcHBv//+u2aCHj16REVFRUVFsUvNiGj1\n6tW//PILn6Bbt247duzo0qXL/v372ZouXbo8ePCAn/Syt7d/8OABERUWFvLfxpq5eA4ODv/8\n8w8RPX361M/PrzqLmt05evSotbU168vu3buzsrK2bt36+PHjmJiYkydP/vjjjz/++KOrq+uW\nLVuIKCAgIDw8PCwsjIi++uqrVatWhYSEODs7d+7cudyBlclkquGU2qCxe3VHjBgREBDQrl27\nbdu2FRUVKZVKKvsXzcTExNjY2NDQsNwujxs3bv/+/S4uLufOnSOi7Oxsob5qQg3uf64iT09P\nIrpx48brr79ORKampq1btyaN87COjo6l/lHxJk+e/P333y9ZsoR/ITEr+fr164GBgWXVq7n1\n+vXrHh4eZdVSVFR0+/Zt1X+DltswAICGo0mTJuxile+//z48PNzLy+vIkSOqCS5fvsxufejV\nqxdb4+Tk1KJFCxZMhISE+Pj42Nvbnzt3bvbs2UuXLiWiFStWsCkxZsqUKUOHDrW1td2zZ0+H\nDh00c6k1acqUKREREQkJCS9evOjRo8eTJ0+qvPjo0aMDBw4oFIrVq1ePGjXKwsJi+fLlffv2\nZRW9//77mZmZfL3+/v4zZ84cMmTItWvXunXrNnjw4JycHDc3t9WrV48fP/7w4cO3bt2KjY21\ntbX19PRcvXp1Tk7OrFmzNKtgpfXs2fPgwYN84aqDFhoaeuLEienTp1+4cEEqlaampk6ePDkj\nI6OwsJCIHBwcDh482Lp168aNG6uW/Nlnn1VkfGbOnGltbZ2WlpaSktKlSxciysvLYz/TgocZ\nuyrq1q2bo6PjggULqjzBxpiamn7++edLly5NTk5WLfmLL75QKzk1NZVtbdSo0cKFC1U3/fPP\nP4cPHx4+fHhZtaxZsyYrK2vAgAHVaSoAgOBNmTIlISFBNRYhojfffLOoqGj79u3bt2+/e/fu\nm2++yf5J/8MPPwQHBxPR3Llzk5KSzp8/v3Xr1u7du7MEUqnU19eXiNh3b8+ePTdt2nT27NnO\nnTuzE69quYiodevWAwcOZJWOGTPmk08+uXv37tmzZ6u5mJiYuH379o4dO27fvj0rK4uImjdv\nzl+r/dVXX/3www+LFy+eOnVqt27ddu/eHRgYGBMTs2XLFj8/v6ZNm3p5ebG+5+fnOzo6njt3\nztXV9eLFi0QklUplMlmpVTCTJ09mT4rQHLTNmzcPGzbs559/lkgkMpnswIEDe/bsyc3NDQ8P\nJ6IVK1aIRKIff/yxrJK1d7lDhw4XLlxISkqKjY21sLDYvXt3q1atavZQ0Vl4pVjVHTly5K23\n3mrXrt2UKVPc3d3z8vJiYmIWLFiwdOnSKVOmEJGbm1vPnj3fe+89Pou1tXWzZs3Ypvfee2/O\nnDlEVFxc7O/vf+fOHVdX11u3bvElt2/ffsqUKR4eHhkZGXv37r1x48bx48eJ6MCBAwMGDAgL\nC5s0aZKtre358+cjIiK8vb2PHj3Kpv3c3NxCQ0MnT55cVFT0+PHj3bt3r1+/fsaMGYsXL2bN\n0NIwAADQC3K5/ObNm1XLa2tr6+bmRkTp6ensBDFjYmLSpk0b9vnx48cpKSn841oYlp7PXhFL\nly4NCwur35+YFStW9OnTp4GcisXjTqolLi5u2LBhzs7ORkZGNjY2QUFB0dHRSqWSbXV1dVUb\nbf4xJa6url9//TVfzq+//kpE7HEnzOXLlwcPHuzg4GBiYuLu7j527Ni7d+/yW8+fPx8aGiqV\n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\nRfwf2uh9WP5TbU0AAAAASUVORK5CYII=", "text/plain": [ "plot without title" ] }, "metadata": { "image/png": { "height": 420, "width": 420 } }, "output_type": "display_data" } ], "source": [ "l <- millefyPlot(track_data=tdlist, track_type=tt, heights=heights,\n", " sc_type = \"heatmap\",\n", " chr = chr, start = start, end = end,\n", " sc_avg = TRUE, sc_avg_height = 1,\n", " title = text_main)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Works with the BAM files included in the `extdata` if you convert with deepTools' `bamCoverage`! See the disclaimer at the end of section #2 that highlights that 'works' is the extent of what is being put forth here; I'm not saying the developer would approve of this being the best Millefy could do with these BAM files." ] } ], "metadata": { "kernelspec": { "display_name": "R", "language": "R", "name": "ir" }, "language_info": { "codemirror_mode": "r", "file_extension": ".r", "mimetype": "text/x-r-source", "name": "R", "pygments_lexer": "r", "version": "4.3.2" } }, "nbformat": 4, "nbformat_minor": 4 }