{"cells": [{"cell_type": "raw", "id": "7a1e4686", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["Using :math:`\\mu`\\ sALEX\n", "########################\n", "\n", ".. contents::\n", "\n", "\n", "\n", "The Problem\n", "***********\n", "\n", "\n", "\n", ":math:`\\mu`\\ sALEX presents some issues for analysis with H\\ :sup:`2`\\ MM.\n", "The alternation period creates an artificial periodicity in the data.\n", "When using only the donor excitation streams, this results in gaps in photon arrivals, which does not materially impare anlaysis.\n", "\n", "However, when incorporating the acceptor excitation stream, the alternation period results in periods of time where only donor excitation photons and other periods with only acceptor excitation.\n", "This creates two apparent \"states\" within the photon data, with a very predictable transition rate.\n", "Thus, using multi-parameter H\\ :sup:`2`\\ MM with :math:`\\mu`\\ sALEX data, without special adjustments, will not yield meaningful results.\n", "\n", "The Work-Around\n", "***************\n", "\n", "\n", "\n", "However, there is a work-around.\n", "Since we know the alternation period, we can assign each acceptor photon to a given acceptor excitation period, and identify the adjacent donor excitation period.\n", "Then the time of those photons can be reassigned into the adjacent donor excitation period.\n", "This removes the apparent alternation between all-donor and all-acceptor periods that H\\ :sup:`2`\\ MM would otherwise see.\n", "But it also destroys information about the time of acceptor photon arrivals.\n", "Therefore mpH\\ :sup:`2`\\ MM analysis of :math:`\\mu`\\ sALEX must be taken with a grain of salt.\n", "\n", "The main concern is that artifacts will remain due to the alternation period.\n", "If transition rates are close to or faster than the alternation period, they may be an artifact of the alternation period.\n", "Further examination of the results would therefore be necessary \n", "\n", "If you use the defaults, when you create a :class:`BurstData ` object of data obtained with :math:`\\mu`\\ sALEX, burstH2MM automatically applies this shift, according\n", "\n", "\n", "\n", "Summary\n", "*******\n", "\n", "\n", "\n", "- :math:`\\mu`\\ sALEX data can be analayzed with essentially not additional work with burstH2MM.\n", "- Such analysis must be examined for artifacts due to the shift in photons\n", "\n", "Therefore for :math:`\\mu`\\ sALEX data you have 2 options:\n", "\n", "1. Risk mpH\\ :sup:`2`\\ MM analysis, and gain the information about photophysics\n", "2. Resort to spH\\ :sup:`2`\\ MM and forgoe the extra information, but be safe from artifacts from the alternation period. \n", "\n", "\n", "Example\n", "=======\n", "\n", "\n", "\n", "For the file you can download here: `HairPin3_RT_400mM_NaCl_A_31_TA.hdf5 `_ , the transition rates are much slower than the alternation period.\n", "We have verified that mpH\\ :sup:`2`\\ MM analysis with the photon shift does not introduce artifacts.\n", "So the code bellow looks fundamenally the same as for nsALEX data."]}, {"cell_type": "code", "execution_count": 1, "id": "2938fcdb", "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): 19,363,110\n", "# D photons in D+A excitation periods: 6,728,731\n", "# A photons in D+A excitation periods: 12,634,379\n", "# D+A photons in D excitation period: 11,185,665\n", "# D+A photons in A excitation period: 8,177,445\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 = 'HairPin3_RT_400mM_NaCl_A_31_TA.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", "# make BurstData object to get data into bursth2MM"]}, {"cell_type": "code", "execution_count": null, "id": "4f5dd88f", "metadata": {}, "outputs": [], "source": ["bdata = bhm.BurstData(frbdata_sel)\n", "\n", "bdata.models.calc_models()"]}, {"cell_type": "raw", "id": "0298507b", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["Look at the ICL to select the best model. "]}, {"cell_type": "code", "execution_count": null, "id": "36b75c86", "metadata": {}, "outputs": [], "source": ["bhm.ICL_plot(bdata.models)"]}, {"cell_type": "raw", "id": "aaff2cd2", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["And plot the model with transition rates. "]}, {"cell_type": "code", "execution_count": null, "id": "5e5d10ab", "metadata": {}, "outputs": [], "source": ["fig, ax = plt.subplots(figsize=(5,5))\n", "bhm.dwell_ES_scatter(bdata.models[3], ax=ax)\n", "bhm.scatter_ES(bdata.models[3], ax=ax)\n", "bhm.trans_arrow_ES(bdata.models[3], ax=ax);"]}, {"cell_type": "code", "execution_count": null, "id": "e2356774", "metadata": {}, "outputs": [], "source": ["bhm.plot_burstjoin(bdata.models[2], 'transitions')"]}, {"cell_type": "raw", "id": "d2c0138f", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["spH\\ :sup:`2`\\ MM to avoid any artifacts\n", "========================================\n", "\n", "\n", "\n", ".. see also::\n", "\n", " See :ref:`Customizing Photon Streams ` for more on how to set the streams used in analysis.\n", "\n", "Here is how this data can be analyzed without the A\\ :sub:`ex`\\ A\\ :sub:`em`\\ stream: simply specify the photon streams in ``ph_streams`` so that they only include the D\\ :sub:`ex`\\ streams.\n", "\n", "Note that the E-S plots no longer work, as the A\\ :sub:`ex`\\ A\\ :sub:`em`\\ stream is no longer present within the data."]}, {"cell_type": "code", "execution_count": null, "id": "8e2314f8", "metadata": {}, "outputs": [], "source": ["spdata = bhm.BurstData(frbdata_sel, ph_streams=[frb.Ph_sel(Dex='Dem'), frb.Ph_sel(Dex='Aem')])\n", "\n", "spdata.models.calc_models()"]}, {"cell_type": "code", "execution_count": null, "id": "c2672035", "metadata": {}, "outputs": [], "source": ["bhm.ICL_plot(spdata.models)"]}, {"cell_type": "code", "execution_count": null, "id": "03df83f6", "metadata": {}, "outputs": [], "source": ["bhm.dwell_E_hist(spdata.models[1])\n", "bhm.axline_E(spdata.models[1])"]}, {"cell_type": "code", "execution_count": null, "id": "c3f4718d", "metadata": {}, "outputs": [], "source": ["spdata.models[1].trans"]}, {"cell_type": "raw", "id": "6d76b2eb", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": [".. _shiftmethods:\n", "\n", "\n", "\\ ``shift`` methods\n", "*******************\n", "\n", "\n", "\n", "burstH2MM provides 3 options for precisely how the A\\ :sub:`ex`\\ A\\ :sub:`em`\\ photons are redistributed:\n", "\n", "- 'even': (default): The number of A\\ :sub:`ex`\\ A\\ :sub:`em`\\ photons in each A\\ :sub:`ex`\\ period are counted, and redistribute to evenly span the adjacent D\\ :sub:`ex`\\ period. \n", "- 'rand': Assign each A\\ :sub:`ex`\\ A\\ :sub:`em`\\ photon a random time within the adjacent D\\ :sub:`ex`\\ period.\n", "- 'shift': Shift all A\\ :sub:`ex`\\ A\\ :sub:`em`\\ photons by the difference between the beginning of the D\\ :sub:`ex`\\ period and the beginning A\\ :sub:`ex`\\ period. This is computationally the simplest adjustment, and maintains the rate fluctuations in the A\\ :sub:`ex`\\ A\\ :sub:`em`\\ stream, but the shift means that fluctuations in A\\ :sub:`ex`\\ A\\ :sub:`em`\\ intensity are misalligned with the cooresponding flucutations in the intensities of the D\\ :sub:`ex`\\ D\\ :sub:`em`\\ and D\\ :sub:`ex`\\ A\\ :sub:`em`\\ streams. Also, if the A\\ :sub:`ex`\\ period is shorter or longer than the D\\ :sub:`ex`\\ period, then A\\ :sub:`ex`\\ A\\ :sub:`em`\\ photons will either not cover the entire D\\ :sub:`ex`\\ period or extend beyond the D\\ :sub:`ex`\\ period.\n", "\n", "The method used is assigned when you create a :class:`BurstData ` object, by specifying the ``Aex_shift`` keyword argument.\n", "\n", "If ``Aex_shift`` is not specified\n", "\n", ".. note::\n", "\n", " It is also possible to specify the ``Aex_shift=False`` to prevent any shifting of A\\ :sub:`ex`\\ A\\ :sub:`em`\\ photons.\n", " For :math:`\\mu`\\ sALEX data, this will result in detecting the alternation period, and thus is generally discouraged, but still incldued as an option in burstH2MM for completeness, and to allow demonstration of the phenomenon of detecting the alternation period.\n", "\n", ""]}, {"cell_type": "code", "execution_count": 8, "id": "571e8ade", "metadata": {}, "outputs": [], "source": ["bdata_false = bhm.BurstData(frbdata_sel, Aex_shift=False) # no Aex shift applied, discouraged\n", "bdata_even = bhm.BurstData(frbdata_sel, Aex_shift='even') # distribute Aex photons evenly, default\n", "bdata_rand = bhm.BurstData(frbdata_sel, Aex_shift='rand') # distribute Aex photons randomly \n", "bdata_shift = bhm.BurstData(frbdata_sel, Aex_shift='shift') # shift by difference in start Dex and Aex periods"]}, {"cell_type": "raw", "id": "3f21c182", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["All subsequent data anlysis can be conducted as normal.\n", "Just be aware that since there are no nanotimes, you cannot access any lifetime based parameters or create divisors. \n", "\n", "\\ ``shift`` methods comparison\n", "==============================\n", "\n", "\n", "\n", "Some comments about each method:\n", "\n", "- 'even': There are no fluctuations in A\\ :sub:`ex`\\ A\\ :sub:`em`\\ photon rate within a given alternation period, only between alternation periods. This reduces the chance of artifacts, but also means that these photons are no longer have poisson-distributed inter-photon times. This is the prefered method.\n", "- 'rand': This keeps the poission distributed inter-photon times, but means that:\n", " 1. Each time a new :class:`BurstData ` object is created with ``Aex_shift='rand'`` , the photon times will be different\n", " 2. The random number generator could introduce other unexpected artifacts\n", "- 'shift': This is computationally the simplest adjustment, and maintains the rate fluctuations in the A\\ :sub:`ex`\\ A\\ :sub:`em`\\ stream, but it is generally discouraged for 2 key reasions:\n", " 1. The shift means that fluctuations in A\\ :sub:`ex`\\ A\\ :sub:`em`\\ intensity are misalligned with the cooresponding flucutations in the intensities of the D\\ :sub:`ex`\\ D\\ :sub:`em`\\ and D\\ :sub:`ex`\\ A\\ :sub:`em`\\ streams. \n", " 2. Also, if the A\\ :sub:`ex`\\ period is shorter or longer than the D\\ :sub:`ex`\\ period, then A\\ :sub:`ex`\\ A\\ :sub:`em`\\ photons will either not cover the entire D\\ :sub:`ex`\\ period or extend beyond the D\\ :sub:`ex`\\ period.\n", "\n", "The are summarized in the table below:\n", "\n", "+------------------+----------------------------+----------------------------+-------------------------------+\n", "| Name | Method | Advantages | Disadvantages |\n", "+==================+============================+============================+===============================+\n", "| 'even' | evenly distribute | No rate fluctuations in | Even distribution of photons |\n", "| | A\\ :sub:`ex`\\ A\\ :sub:`em` | the | is not stochastic like all |\n", "| | photons into the adjacent | A\\ :sub:`ex`\\ A\\ :sub:`em` | other photon times |\n", "| | D\\ :sub:`ex` period | stream during a given | |\n", "| | | alternation period | |\n", "+------------------+----------------------------+----------------------------+-------------------------------+\n", "| 'rand' | Randomly distribute | Maintains stochastic | Different each time, and |\n", "| | A\\ :sub:`ex`\\ A\\ :sub:`em` | behavior of photon | randomness means potential |\n", "| | photons into the adjacent | arrivals | for unpredictable artifacts |\n", "| | D\\ :sub:`ex` period | | in data |\n", "+------------------+----------------------------+----------------------------+-------------------------------+\n", "| 'shift' | Shift | Retains the most | Realligned D\\ :sub:`ex` and |\n", "| | A\\ :sub:`ex`\\ A\\ :sub:`em` | information from the | A\\ :sub:`ex` rates, |\n", "| | streams by difference | A\\ :sub:`ex`\\ A\\ :sub:`em` | 'overhangs' when D\\ :sub:`ex` |\n", "| | between start of | stream | and A\\ :sub:`ex` periods are |\n", "| | D\\ :sub:`ex` and | | of different durations |\n", "| | A\\ :sub:`ex` periods | | |\n", "+------------------+----------------------------+----------------------------+-------------------------------+\n", "\n", "\n", "Bellow we have some code that plots the new photon times created by each of these methods:"]}, {"cell_type": "code", "execution_count": 16, "id": "cc603857", "metadata": {}, "outputs": [{"data": {"text/plain": ["(0.4, 0.5)"]}, "execution_count": 16, "metadata": {}, "output_type": "execute_result"}, {"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {"needs_background": "light"}, "output_type": "display_data"}], "source": ["fig, ax = plt.subplots(4,1, figsize=(10,8), sharex=True)\n", "n = 15\n", "stream_color = {frb.Ph_sel(Dex='Dem'):'g', frb.Ph_sel(Dex='Aem'):'r', frb.Ph_sel(Aex='Aem'):'purple'}\n", "bhm.plot_burst_index(bdata_false.models, n, ax=ax[0], stream_color=stream_color, stream_labels=True)\n", "ax[0].set_title('No shift')\n", "bhm.plot_burst_index(bdata_even.models, n, ax=ax[1], stream_color=stream_color)\n", "ax[1].set_title(\"'even'\")\n", "bhm.plot_burst_index(bdata_rand.models, n, ax=ax[2], stream_color=stream_color)\n", "ax[2].set_title(\"'Random'\")\n", "bhm.plot_burst_index(bdata_shift.models, n, ax=ax[3], stream_color=stream_color)\n", "ax[3].set_title(\"'shift'\")\n", "\n", "ax[0].set_xlim([0.4, 0.5])"]}, {"cell_type": "raw", "id": "8a7dfb4a", "metadata": {"raw_mimetype": "text/restructuredtext"}, "source": ["In summary, nsALEX data is always prefered, but if you check your transition rates and are careful, :math:`\\mu`\\ sALEX analsysis is possible, and involves very little overhead with burstH2MM.", "\n", "\n", "Download this documentation as a jupyter notebook here: :download:`usALEX.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}