{"cells": [{"cell_type": "raw", "id": "3ef6e4ee", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["Access Divisors and Models\n", "##########################\n", "\n", ".. contents::\n", "\n", "\n", "\n", "We start with some basic, universal loading and setup.\n", "This is the same in all how-tos and tutorials, so that there is a unified set of data to work with.\n", "\n", "\n", ".. note::\n", "\n", " Download the example file here: `HP3_TE300_SPC630.hdf5 `_\n", "\n", "First, let's run the following code to generate a basic analysis for us to begin working with.\n", "This code is essentiall the same as that found in the :doc:`tutorial ` ."]}, {"cell_type": "code", "execution_count": 1, "id": "bec4fd47", "metadata": {}, "outputs": [{"name": "stdout", "output_type": "stream", "text": [" - Optimized (cython) burst search loaded.\n", " - Optimized (cython) photon counting loaded.\n", "--------------------------------------------------------------\n", " You are running FRETBursts (version 0.7.1).\n", "\n", " If you use this software please cite the following paper:\n", "\n", " FRETBursts: An Open Source Toolkit for Analysis of Freely-Diffusing Single-Molecule FRET\n", " Ingargiola et al. (2016). http://dx.doi.org/10.1371/journal.pone.0160716 \n", "\n", "--------------------------------------------------------------\n", "# Total photons (after ALEX selection): 11,414,157\n", "# D photons in D+A excitation periods: 5,208,392\n", "# A photons in D+A excitation periods: 6,205,765\n", "# D+A photons in D excitation period: 6,611,308\n", "# D+A photons in A excitation period: 4,802,849\n", "\n", " - Calculating BG rates ... get bg th arrays\n", "Channel 0\n", "[DONE]\n", " - Performing burst search (verbose=False) ...[DONE]\n", " - Calculating burst periods ...[DONE]\n", " - Counting D and A ph and calculating FRET ... \n", " - Applying background correction.\n", " [DONE Counting D/A]\n"]}], "source": ["import numpy as np\n", "from matplotlib import pyplot as plt\n", "\n", "import fretbursts as frb\n", "import burstH2MM as bhm\n", "\n", "filename = 'HP3_TE300_SPC630.hdf5'\n", "# load the data into the data object frbdata\n", "frbdata = frb.loader.photon_hdf5(filename)\n", "# if the alternation period is correct, apply data\n", "# plot the alternation histogram\n", "# frb.bpl.plot_alternation_hist(frbdata) # commented so not displayed in notebook\n", "frb.loader.alex_apply_period(frbdata)\n", "# calcualte the background rate\n", "frbdata.calc_bg(frb.bg.exp_fit, F_bg=1.7)\n", "# plot bg parameters, to verify quality\n", "# frb.dplot(frbdata, frb.hist_bg) # commented so not displayed in notebook\n", "# now perform burst search\n", "frbdata.burst_search(m=10, F=6)\n", "# make sure to set the appropriate thresholds of ALL size\n", "# parameters to the particulars of your experiment\n", "frbdata_sel = frbdata.select_bursts(frb.select_bursts.size, th1=50)\n", "bdata = bhm.BurstData(frbdata_sel)"]}, {"cell_type": "raw", "id": "710bb05b", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": [".. _adivmod:\n", "\n", "\n", "Access within objects\n", "*********************\n", "\n", "\n", "\n", "In burstH2MM, whenever a new optimization result ( :class:`H2MM_result ` ) or divisor scheme ( :class:`H2MM_list ` ) is created, it is stored in a specific variable inside the creating object. \n", "Therefore, you can access such a result or divisor scheme through its parent. \n", "This also helps you keep track of which result belongs with which data set.\n", "\n", "So, when we ran the optimization from the :ref:`tutorial ` :"]}, {"cell_type": "code", "execution_count": 2, "id": "ec06aaeb", "metadata": {}, "outputs": [{"data": {"text/plain": ["The model converged after 1 iterations"]}, "metadata": {}, "output_type": "display_data"}, {"data": {"text/plain": ["The model converged after 36 iterations"]}, "metadata": {}, "output_type": "display_data"}, {"data": {"text/plain": ["The model converged after 128 iterations"]}, "metadata": {}, "output_type": "display_data"}, {"data": {"text/plain": ["The model converged after 408 iterations"]}, "metadata": {}, "output_type": "display_data"}, {"data": {"text/plain": ["2"]}, "execution_count": 2, "metadata": {}, "output_type": "execute_result"}], "source": ["bdata.models.calc_models()"]}, {"cell_type": "raw", "id": "4e5d5dfe", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["We were actually creating several :class:`H2MM_result ` objects. \n", "These can be referenced directly as indexes of the :class:`H2MM_list ` object"]}, {"cell_type": "code", "execution_count": 3, "id": "3c6ea309", "metadata": {}, "outputs": [{"data": {"text/plain": ["burstH2MM.BurstSort.H2MM_result"]}, "execution_count": 3, "metadata": {}, "output_type": "execute_result"}], "source": ["amodel = bdata.models[0]\n", "type(amodel)"]}, {"cell_type": "raw", "id": "e2f10748", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["From these :class:`H2MM_result ` objects, we have access to the whole set of model- and dwell-based parameters of that particular optimization.\n", "\n", ".. note::\n", "\n", " Referencing an index under a :class:`H2MM_result ` object is identical to referencing an index of the attribute :attr:`H2MM_list.opts ` :attr:`H2MM_list.opts ` stores all the results in a list, and :class:`H2MM_list ` automatically treates indexing itself as indexing the list.\n", "\n", ""]}, {"cell_type": "code", "execution_count": 4, "id": "508416fd", "metadata": {}, "outputs": [{"data": {"text/plain": ["True"]}, "execution_count": 4, "metadata": {}, "output_type": "execute_result"}], "source": ["bdata.models[0] is bdata.models.opts[0]"]}, {"cell_type": "raw", "id": "811c70be", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["When you run :meth:`BurstData.auto_div() ` or :meth:`BurstData.new_div() ` , a similar behavior occurs, where a new :class:`H2MM_result ` object is created, and placed inside the :attr:`BurstData.div_models ` dictionary. \n", "So, looking at those results, you can access them by the key that was handed back.\n", "\n", " Note that we use the name returned.\n", "\n", ""]}, {"cell_type": "code", "execution_count": 5, "id": "7eaa5f5c", "metadata": {}, "outputs": [{"data": {"text/plain": ["burstH2MM.BurstSort.H2MM_list"]}, "execution_count": 5, "metadata": {}, "output_type": "execute_result"}], "source": ["name = bdata.auto_div(2)\n", "type(bdata.div_models[name])"]}, {"cell_type": "raw", "id": "cd9ca8d9", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["Now, it can be annoying to constantly have to save the name of each new divisor, so burstH2MM offers an alternative: you can specify the name yourself before creating the divisor. "]}, {"cell_type": "code", "execution_count": 6, "id": "6048f406", "metadata": {}, "outputs": [{"data": {"text/plain": ["burstH2MM.BurstSort.H2MM_list"]}, "execution_count": 6, "metadata": {}, "output_type": "execute_result"}], "source": ["bdata.auto_div(2, name=\"mydivisor\")\n", "type(bdata.div_models[\"mydivisor\"])"]}, {"cell_type": "raw", "id": "6b32c17d", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["This can be useful if you have particular reasons for creating a certain divisor. \n", "\n", "Examples of Object Refrencing and Creation\n", "******************************************\n", "\n", "\n", "\n", "There are different ways to select/refer to the same objects. \n", "So, let\u2019s see different examples of alternative ways to perform the same fundamental calculations.\n", "\n", "Now, let\u2019s see the code as it was before in the :doc:`tutorial ` :"]}, {"cell_type": "code", "execution_count": 7, "id": "919ff968", "metadata": {}, "outputs": [{"data": {"text/plain": ["[]"]}, "execution_count": 7, "metadata": {}, "output_type": "execute_result"}, {"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {"needs_background": "light"}, "output_type": "display_data"}], "source": ["# calculate models\n", "bdata.models.calc_models()\n", "bhm.ICL_plot(bdata.models)"]}, {"cell_type": "raw", "id": "99128f5d", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["Which we can re-write as: "]}, {"cell_type": "code", "execution_count": 8, "id": "8fc04a78", "metadata": {}, "outputs": [{"data": {"text/plain": ["[]"]}, "execution_count": 8, "metadata": {}, "output_type": "execute_result"}, {"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {"needs_background": "light"}, "output_type": "display_data"}], "source": ["models_list = bdata.models\n", "models_list.calc_models()\n", "bhm.ICL_plot(models_list)"]}, {"cell_type": "raw", "id": "5ccb0c39", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["Finally, since these models are all connected, we can even swap the last lines like this: "]}, {"cell_type": "code", "execution_count": 9, "id": "506a607b", "metadata": {}, "outputs": [{"data": {"text/plain": ["[]"]}, "execution_count": 9, "metadata": {}, "output_type": "execute_result"}, {"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {"needs_background": "light"}, "output_type": "display_data"}], "source": ["models_list = bdata.models\n", "models_list.calc_models()\n", "# models_list refers to the same thing as bdata.models\n", "bhm.ICL_plot(bdata.models)"]}, {"cell_type": "raw", "id": "db35b280", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["Now let\u2019s look at this pattern with divisors, first we\u2019ll initiate this code, and pull out the variables "]}, {"cell_type": "code", "execution_count": 10, "id": "6af0ce6e", "metadata": {}, "outputs": [], "source": ["bdata.auto_div(1, name=\"one_div\")\n", "# extract the H2MM_list divisor model into its own variable\n", "div_list = bdata.div_models[\"one_div\"]"]}, {"cell_type": "raw", "id": "5f20e970", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["So this: "]}, {"cell_type": "code", "execution_count": 11, "id": "ca18da46", "metadata": {}, "outputs": [{"data": {"text/plain": ["The model converged after 1 iterations"]}, "metadata": {}, "output_type": "display_data"}, {"data": {"text/plain": ["The model converged after 28 iterations"]}, "metadata": {}, "output_type": "display_data"}, {"data": {"text/plain": ["The model converged after 86 iterations"]}, "metadata": {}, "output_type": "display_data"}, {"data": {"text/plain": ["The model converged after 397 iterations"]}, "metadata": {}, "output_type": "display_data"}, {"data": {"text/plain": ["2"]}, "execution_count": 11, "metadata": {}, "output_type": "execute_result"}], "source": ["bdata.div_models[\"one_div\"].calc_models()"]}, {"cell_type": "raw", "id": "59774324", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["is the same as this: "]}, {"cell_type": "code", "execution_count": 12, "id": "5d204338", "metadata": {}, "outputs": [{"data": {"text/plain": ["2"]}, "execution_count": 12, "metadata": {}, "output_type": "execute_result"}], "source": ["div_list.calc_models()"]}, {"cell_type": "raw", "id": "e03dc97b", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["That's the end of this How-To, thank you for using burstH2MM. ", "\n", "\n", "Download this documentation as a jupyter notebook here: :download:`DivisorAccess.ipynb `"]}], "metadata": {"kernelspec": {"display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3"}, "language_info": {"codemirror_mode": {"name": "ipython", "version": 3}, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.12"}}, "nbformat": 4, "nbformat_minor": 5}