{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Data structures in `murefi`" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2\n", "\n", "import numpy\n", "import pandas\n", "from matplotlib import pyplot\n", "\n", "import murefi" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Creating mock data for testing" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
A01A02A03
time
0.0000000.6338560.8989860.936892
1.5789472.3524794.2131755.645998
3.1578953.9809127.07111910.455452
4.7368425.41159010.28458615.182045
6.3157897.07278213.28912519.629952
\n", "
" ], "text/plain": [ " A01 A02 A03\n", "time \n", "0.000000 0.633856 0.898986 0.936892\n", "1.578947 2.352479 4.213175 5.645998\n", "3.157895 3.980912 7.071119 10.455452\n", "4.736842 5.411590 10.284586 15.182045\n", "6.315789 7.072782 13.289125 19.629952" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw_data = pandas.DataFrame(columns='time,A01,A02,A03'.split(','))\n", "raw_data.time = numpy.linspace(0, 30, 20)\n", "for w, well in enumerate('A01,A02,A03'.split(',')):\n", " raw_data[well] = numpy.random.uniform() + numpy.random.normal((w+1) * raw_data.time, scale=0.2)\n", "raw_data = raw_data.set_index('time')\n", "raw_data.head()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = pyplot.subplots()\n", "\n", "for col in raw_data.columns:\n", " ax.plot(raw_data.index, raw_data[col], label=col)\n", " \n", "ax.legend()\n", "pyplot.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Creating `murefi` data structures\n", "There are three types of data in `murefi`:\n", "- `Timeseries` is just a pair of vectors `t` and `y`\n", "-`Replicate` bundles multiple `Timeseries` into one realization of an experiment\n", "-`Dataset` contains many `Replicates` that are all independent of each other\n", "\n", "With these data structures, every single measurement can (and should!) have its own timestamp. Also, all the `Timeseries` may have different lengths.\n", "\n", "Now let's assume that the `raw_data` from above are trajectories of absorbance-values for three `Replicate`s." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Dataset([('A01', Replicate(A430[:20], glc[:18])),\n", " ('A02', Replicate(A430[:20], glc[:27])),\n", " ('A03', Replicate(A430[:20], glc[:5]))])" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dataset = murefi.Dataset()\n", "\n", "# make a replicate for each well\n", "for well in raw_data.columns:\n", " # create a Replicate object and name it after the well\n", " rep = murefi.Replicate(rid=well)\n", " # then fill it with the timeseries\n", " rep['A430'] = murefi.Timeseries(\n", " t=numpy.array(raw_data.index),\n", " y=numpy.array(raw_data[well]),\n", " # independent_key describes the dimension (e.g. X, S, P, acid, ...)\n", " # the dependent key is usually the unit of measurement\n", " independent_key='P', dependent_key='A430'\n", " )\n", " # add variable-length glucose data\n", " n = numpy.random.randint(5, 30)\n", " rep['glc'] = murefi.Timeseries(\n", " t=numpy.arange(0, n),\n", " y=30-numpy.random.normal(numpy.arange(0, n), scale=.2),\n", " independent_key='S',\n", " dependent_key='glc'\n", " )\n", " # finally, add the replicate to the dataset\n", " dataset[rep.rid] = rep\n", " \n", "# by just printing out the dataset, its contents are summarized:\n", "dataset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Using the data structures\n", "`Dataset` and `Replicate` are dictionaries. They can be indexed with `[key]` and iterated over using `.items()`:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Replicate \"A01\" contains timeseries for: {'glc', 'A430'}\n", "Replicate \"A02\" contains timeseries for: {'glc', 'A430'}\n", "Replicate \"A03\" contains timeseries for: {'glc', 'A430'}\n" ] } ], "source": [ "for rid, replicate in dataset.items():\n", " print(f'Replicate \"{rid}\" contains timeseries for: {set(replicate.keys())}')" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "rep_A01 = dataset['A01']\n", "A430_A01 = rep_A01['A430']\n", "\n", "fig, ax = pyplot.subplots()\n", "\n", "ax.set_xlabel('time')\n", "ax.set_ylabel(A430_A01.dependent_key)\n", "ax.scatter(A430_A01.t, A430_A01.y)\n", "\n", "pyplot.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Saving and loading datasets\n", "A `murefi.Dataset` can be saved to and loaded from a HDF5 file as shown below:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "dataset.save('Test123.h5')" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Dataset([('A01', Replicate(A430[:20], glc[:18])),\n", " ('A02', Replicate(A430[:20], glc[:27])),\n", " ('A03', Replicate(A430[:20], glc[:5]))])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "murefi.load_dataset('Test123.h5')" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Last updated: Mon Mar 29 2021\n", "\n", "Python implementation: CPython\n", "Python version : 3.7.9\n", "IPython version : 7.19.0\n", "\n", "pandas : 1.2.1\n", "numpy : 1.19.2\n", "matplotlib: 3.3.2\n", "murefi : 5.0.0\n", "\n", "Watermark: 2.2.0\n", "\n" ] } ], "source": [ "%load_ext watermark\n", "%watermark -n -u -v -iv -w" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.7.9" } }, "nbformat": 4, "nbformat_minor": 2 }