Run cell cycle gating (automated)

Manual gating

Cell cycle phases (based on DNA and EdU staining)

Dead cell filter (based on DNA and LDR staining)

pH3 filter

cell_cycle_gating.ph3_filter.compute_log_ph3(ph3, x_ph3=None)[source]

Compute log of pH3 intensities

Parameters:
  • ph3 (1d array) – ph3 intensities across all cells in a well
  • x_ph3 (1d array) – uniformly distributed 1d grid based on expected range of pH3 intensities
Returns:

log_ph3 – log pf pH3 intensities across all cells in a well

Return type:

1d array

cell_cycle_gating.ph3_filter.evaluate_Mphase(log_ph3, ph3_cutoff, cell_identity, ax=None)[source]

Reassigns membership of each cell based on M phase identified by pH3

Parameters:
  • log_ph3 (1d array) – log of ph3 intensities across all cells in a well
  • ph3_cutoff (1d array) – pH3 gating on kernel density minima
  • cell_identity (1d array) – membership of each cell in cell cycle phase (1=G1, 2=S, 3=G2)
  • ax (subplot object) – relative positional reference of subplot in master summary plot
Returns:

fractions – keys are cell cycle phases (G1, G2, S, M) and values are fractions of cells in each phase

Return type:

dict

cell_cycle_gating.ph3_filter.get_ph3_gates(ph3, cell_identity, x_ph3=None, ph3_cutoff=None)[source]

Gating based on pH3 intensities

Parameters:
  • ph3 (1d array) – ph3 intensities across all cells in a well
  • cell_identitity (1d array) – membership of each cell in cell cycle phase (1=G1, 2=S, 3=G2)
  • x_ph3 (1d array) – uniformly distributed 1d grid based on expected range of pH3 intensities
  • ph3_cutoff (Optional[numpy float]) – User defined pH3 gating
Returns:

  • f_ph3 (1d array) – kernel density estimate of pH3 distribution
  • ph3_cutoff (numpy float) – pH3 gating on kernel density minima
  • ph3_lims (list of floats) – bounds on pH3 intensities used as x_lim for plots

cell_cycle_gating.ph3_filter.plot_summary(ph3, cell_identity, x_ph3=None, ph3_cutoff=None, well=None)[source]

Summary plot of pH3 based gating

Parameters:
  • ph3 (1d array) – ph3 intensities across all cells in a well
  • cell_identity (1d array) – membership of each cell in cell cycle phase (1=G1, 2=S, 3=G2)
  • x_ph3 (1d array) – uniformly distributed 1d grid based on expected range of pH3 intensities
  • ph3_cutoff (1d array) – (optional) USER defined pH3 gating
  • well (str) – name of well on 96/384 well plate
Returns:

fractions – keys are cell cycle phases (G1, G2, S, M) and values are fractions of cells in each phase

Return type:

dict

Peak identification

cell_cycle_gating.findpeaks.findpeaks(signal, npeaks=None, thresh=0.25)[source]

Returns the amplitude , location and half-prominence width of peaks from the input signal

Parameters:
  • signal (list) –
  • npeaks (int) – number of peaks, locations and width returned sorted from highest to lowes amplitude peaks
  • thresh (Optional[float]) – threshold below which secondary peaks will not be reported. Default is 0.25
Returns:

  • peak_amp (array of float) – amplitude of peaks
  • peak_loc (array of float) – location of peaks
  • width (array of float) – list of widths at half-prominence

cell_cycle_gating.findpeaks.get_prominence_reference_level(signal, peak, peak_loc)[source]

Returns the amplitude and location of the lower reference level of a peaks prominence. Note that prominence is the the length from the reference level upto the peak

Parameters:
  • signal (1D-array) –
  • peak (float) – amplitude of peak whose prominece is to be computed
  • peak_loc (float) – location on X-axis of peak whose prominence is to be computed
Returns:

  • reference_loc (float) – location of X-axis of peak whose prominence is to be computed. Should equal peak_loc
  • reference_level (float) – lower reference level of peak prominence.

cell_cycle_gating.findpeaks.get_width_half_prominence(signal, peak, peak_loc)[source]

Plotting functions