Analysis: 20250611
!pip install nucleus-cdk==0.5.0rc2 | tail -n2Requirement 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 seaborn as sns
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/20250611-cytation3-pure-timecourse-gfp-ppk-mg-sweep-biotek-cdk.txt", "20250611-Mg-sweep-platemap.csv")Basic Plots¶
Kinetics¶
Kinetic time traces of every well on the plate
pr.plot_plate(data)<seaborn.axisgrid.FacetGrid at 0x112586270>
pr.plot_curves(data[data["Read"]=="GFP-F-G35"], units="Well", estimator=None, height=12)<seaborn.axisgrid.FacetGrid at 0x1122b7ed0>
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.
ss = pr.find_steady_state(data[data["Read"]=="GFP-F-G35"], group_by=["Well", "Read"]).reset_index()
ss.columns = [c[0] if c[1] == "" else "_".join(c).strip() for c in ss.columns]
steadystate = data.merge(ss[["Well", "Data_steadystate"]], on="Well", how="left")
steadystate.loc[steadystate["Column"]==13, "Column"] = 14
sns.barplot(data=steadystate, x="Name", y="Data_steadystate", hue="Column")<Axes: xlabel='Name', ylabel='Data_steadystate'>
s= pr.plot_steadystate(data[data["Read"]=="GFP-F-G35"])
plt.xlabel("[Mg++]")
s.savefig("plot3")
Kinetics Analysis¶
These functions calculate key kinetic parameters of the time series.
pr.plot_kinetics(data[data["Read"] == "GFP-F-G35"])PROVIDING AVERAGED KINETICS
(<seaborn.axisgrid.FacetGrid at 0x315df0f50>,
Velocity \
Time Data Max
Name Read
10 mM GFP-F-G35 0 days 01:05:49.421554667 38646.02 63189.62
11 mM GFP-F-G35 0 days 01:06:14.707816838 36099.77 58966.93
12 mM GFP-F-G35 0 days 01:06:46.304851814 33191.64 54896.20
6 mM GFP-F-G35 0 days 01:41:38.593562542 35161.24 28962.93
7 mM GFP-F-G35 0 days 01:03:17.921594644 41326.12 63567.49
8 mM GFP-F-G35 0 days 01:02:09.307229164 42589.11 71072.49
9 mM GFP-F-G35 0 days 01:02:48.602873044 40804.03 68778.14
PC GFP-F-G35 0 days 01:05:50.688008639 39780.81 74711.19
Lag Steady State \
Time Data Time
Name Read
10 mM GFP-F-G35 0 days 00:29:07.152552473 5429.37 0 days 01:59:51.644900016
11 mM GFP-F-G35 0 days 00:29:30.733274171 4874.65 0 days 02:00:19.442092844
12 mM GFP-F-G35 0 days 00:30:26.837253837 4593.49 0 days 02:00:14.959525763
6 mM GFP-F-G35 0 days 00:24:07.884832563 3511.37 0 days 03:35:45.457594884
7 mM GFP-F-G35 0 days 00:24:16.884452093 6127.55 0 days 02:00:44.442100797
8 mM GFP-F-G35 0 days 00:26:11.351871173 6314.36 0 days 01:55:06.291163623
9 mM GFP-F-G35 0 days 00:27:11.614129113 5998.19 0 days 01:55:14.719350323
PC GFP-F-G35 0 days 00:32:56.217346031 6008.16 0 days 01:54:17.542198799
Fit \
Data params
Name Read
10 mM GFP-F-G35 73427.44 [77292.03955701127, 3.2700588161641035, 1.0970...
11 mM GFP-F-G35 68589.56 [72199.53211807457, 3.2668712620712554, 1.1040...
12 mM GFP-F-G35 63064.11 [66383.27117893193, 3.304421384057171, 1.11286...
6 mM GFP-F-G35 66806.36 [70322.48222538742, 1.6054210339620536, 1.6940...
7 mM GFP-F-G35 78519.63 [82652.24337305485, 3.0758145009556475, 1.0549...
8 mM GFP-F-G35 80919.31 [85178.21906952396, 3.337014428858403, 1.03591...
9 mM GFP-F-G35 77527.65 [81608.05291532083, 3.3699286421380026, 1.0468...
PC GFP-F-G35 75583.55 [79561.62758127532, 3.696648510386711, 1.09741...
R^2 drift
Name Read
10 mM GFP-F-G35 1.00 792.27
11 mM GFP-F-G35 1.00 743.26
12 mM GFP-F-G35 1.00 688.95
6 mM GFP-F-G35 1.00 1026.37
7 mM GFP-F-G35 1.00 814.21
8 mM GFP-F-G35 1.00 822.82
9 mM GFP-F-G35 1.00 780.72
PC GFP-F-G35 1.00 726.84 )
We can also calculate the kinetics and display the parameters as a table.
pr.kinetic_analysis(data)Loading...


