Analysis: 20250611

!pip install nucleus-cdk | tail -n2
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 0x791f190fd430>
<Figure size 2136.25x4000 with 32 Axes>
pr.plot_curves(data[data["Read"]=="GFP-F-G35"], units="Well", estimator=None, height=12)
<seaborn.axisgrid.FacetGrid at 0x791f14515670>
<Figure size 1297.62x1200 with 1 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.

steadystate = data.merge(pr.find_steady_state(data[data["Read"]=="GFP-F-G35"]).reset_index(), 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'>
<Figure size 640x480 with 1 Axes>
s= pr.plot_steadystate(data[data["Read"]=="GFP-F-G35"])
plt.xlabel("[Mg++]")
s.savefig("plot3")
<Figure size 611.111x400 with 1 Axes>

Kinetics Analysis

These functions calculate key kinetic parameters of the time series.

pr.plot_kinetics(data[data["Read"] == "GFP-F-G35"])
<Figure size 1800x1200 with 8 Axes>

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

pr.kinetic_analysis(data)