Analysis: 20250613

!pip install nucleus-cdk==0.5.0rc2 | tail -n2
Requirement already satisfied: asttokens in /opt/homebrew/anaconda3/lib/python3.12/site-packages (from stack-data->ipython>=6.1.0->ipywidgets==8.*->jupyter-bokeh<5.0.0,>=4.0.5->nucleus-cdk==0.5.0rc2) (2.0.5)
Requirement already satisfied: pure-eval in /opt/homebrew/anaconda3/lib/python3.12/site-packages (from stack-data->ipython>=6.1.0->ipywidgets==8.*->jupyter-bokeh<5.0.0,>=4.0.5->nucleus-cdk==0.5.0rc2) (0.2.2)
from cdk.analysis.cytosol import platereader as pr
import matplotlib.pyplot as plt
import warnings

# Filter warnings
warnings.filterwarnings('ignore')

# Initialize plotting
pr.plot_setup()

Load the data

Provide a CSV file containing the data, and a platemap. This function returns both the data with the plate map mapped to it, and the platemap by itself, which is useful for certain tasks.

data, platemap = pr.load_platereader_data("./data/20250613-cytation3-pure-timecourse-gfp-EXPERIMENT-biotek-cdk.txt", "20250613-PPK Mg Opt platemap.csv")

Basic Plots

Kinetics

Kinetic time traces of every well on the plate

pr.plot_curves(data, col="Read");
<Figure size 1123x500 with 2 Axes>

Steady state

Bar graph of steady-state endpoint of each sample. Steady state is calculated as the maximum fluorescence value over a 3-sample rolling average on the data.

replace_dict = {'14 mM Mg':'14 mM',
                '16 mM Mg':'16 mM',
                '18 mM Mg':'18 mM',
                '20 mM Mg':'20 mM',
               }

data['Name'] = data['Name'].replace(replace_dict)

p = pr.plot_steadystate(data,)
plt.xlabel('[Mg++]')
p.savefig("plot7")
<Figure size 611.111x400 with 1 Axes>

Kinetics Analysis

These functions calculate key kinetic parameters of the time series.

pr.plot_kinetics(data)
PROVIDING AVERAGED KINETICS
(<seaborn.axisgrid.FacetGrid at 0x30eaef250>, Velocity \ Time Data Max Name Read 14 mM GFP-F-G35 0 days 02:27:31.480482987 2634.51 2130.61 GFP-M-G100 0 days 02:28:56.946844723 804.44 655.58 16 mM GFP-F-G35 0 days 00:55:26.576841297 21069.55 41134.12 GFP-M-G100 0 days 00:58:26.977193917 8727.69 15001.07 18 mM GFP-F-G35 0 days 00:54:34.015970580 21245.95 43667.18 GFP-M-G100 0 days 00:57:19.517360958 8552.65 15587.10 20 mM GFP-F-G35 0 days 00:57:21.823982158 18154.97 41730.75 GFP-M-G100 0 days 00:59:44.558463050 6888.90 15203.99 Lag Steady State \ Time Data Time Name Read 14 mM GFP-F-G35 0 days 01:10:21.229194567 814.03 0 days 04:21:08.226670504 GFP-M-G100 0 days 01:12:56.047349326 265.90 0 days 04:20:51.591970812 16 mM GFP-F-G35 0 days 00:24:42.558085425 2068.70 0 days 01:40:41.377192409 GFP-M-G100 0 days 00:23:32.423541338 618.74 0 days 01:49:50.619902360 18 mM GFP-F-G35 0 days 00:25:23.251024931 2051.83 0 days 01:37:31.526244388 GFP-M-G100 0 days 00:24:23.026471343 615.50 0 days 01:45:49.345769203 20 mM GFP-F-G35 0 days 00:31:15.330948418 2713.90 0 days 01:35:48.045556493 GFP-M-G100 0 days 00:32:34.604660115 1113.53 0 days 01:39:44.208218285 Fit \ Data params Name Read 14 mM GFP-F-G35 5005.57 [5269.025096370707, 1.6522873605754276, 2.4587... GFP-M-G100 1528.43 [1608.8751047500755, 1.680370755585909, 2.4824... 16 mM GFP-F-G35 40032.15 [42139.10874994764, 3.904827175487403, 0.92404... GFP-M-G100 16582.60 [17455.37245964866, 3.4379232454134274, 0.9741... 18 mM GFP-F-G35 40367.30 [42491.8994461611, 4.117171991962056, 0.909448... GFP-M-G100 16250.03 [17105.299165470842, 3.645496392792879, 0.9554... 20 mM GFP-F-G35 34494.45 [36309.94561388365, 4.608819486807557, 0.95606... GFP-M-G100 13088.91 [13777.805156300374, 4.419266129771733, 0.9957... R^2 drift Name Read 14 mM GFP-F-G35 1.00 408.01 GFP-M-G100 1.00 135.21 16 mM GFP-F-G35 1.00 644.63 GFP-M-G100 1.00 299.89 18 mM GFP-F-G35 1.00 643.36 GFP-M-G100 1.00 286.86 20 mM GFP-F-G35 1.00 685.82 GFP-M-G100 1.00 335.33 )
<Figure size 1800x800 with 4 Axes>

We can also calculate the kinetics and display the parameters as a table.

pr.kinetic_analysis(data)
Loading...