This is a companion website describing the data analysis underlying the article Subpopulations of sensorless bacteria drive fitness in fluctuating environments.
This project consists for a large part of single-cell experiments done using microfluidics:
In addition, we used an array of other techniques and analysis:
Available material includes:
In typical experiments, E. coli is grown in a Dual-Input Mother Machine where glucose and lactose alternate every 4 hours:
mygl <- myframes %>% ungroup() %>%
filter(!discard_top, !discard_start) %>%
mutate(label=rename_conds(condition)) %>%
# start from the total number of observations
group_by(condition, label, date, pos, gl) %>%
summarise(n_obs=n()) %>%
# add the number of dividing cells
left_join(myframes %>%
ungroup() %>%
filter(!discard_top, end_type=='div') %>%
group_by(date, pos, gl, id) %>%
filter(!any(discard_start)) %>%
slice(1) %>%
group_by(date, pos, gl) %>%
summarise(n_div_cells=n()) ) %>%
# add the number of frames
left_join(myframes %>%
group_by(date, pos, gl) %>%
summarise(nframes=max(frame)) )
(mytables[['expts_list']] <- mygl %>% ungroup() %>%
# mutate(condition=factor(condition, levels=unique(condition_acq_times$condition)) ) %>%
group_by(condition, label, date) %>%
summarise(n_lanes=length(unique(interaction(date, pos, gl))),
# n_div_cells=sum(is.na(n_div_cells)),
n_div_cells=sum(n_div_cells),
n_obs=sum(n_obs) ) %>%
left_join(
mycells_switching %>%
ungroup %>%
filter(! date %in% discarded_dates) %>%
group_by(condition, date) %>%
summarise(
n_switch=n(),
n_lags=sum(!is.na(lag_200)),
n_discard=sum(logl_time_slope_before <= min_growth_rate, na.rm=TRUE) ) %>%
mutate(n_discard=ifelse(condition=='switch_gly_lac', NA, n_discard) )
)
) %>%
filter(! date %in% discarded_dates) %>%
knitr::kable() %>%
kableExtra::kable_styling() %>%
identity()
condition | label | date | n_lanes | n_div_cells | n_obs | n_switch | n_lags | n_discard |
---|---|---|---|---|---|---|---|---|
glucose | glucose | 20150616 | 31 | 2021 | 92270 | NA | NA | NA |
glucose | glucose | 20150617 | 30 | 1920 | 91276 | NA | NA | NA |
lactose | lactose | 20150624 | 30 | 1649 | 86776 | NA | NA | NA |
lactose | lactose | 20150630 | 30 | 1671 | 85949 | NA | NA | NA |
mg1655 | mg1655 | 20150812 | 6 | 364 | 17283 | NA | NA | NA |
switch_04h | memory 4h | 20150703 | 28 | 1431 | 76295 | 462 | 445 | 3 |
switch_04h | memory 4h | 20150708 | 30 | 1600 | 88410 | 536 | 511 | 6 |
switch_06h | memory 6h | 20151204 | 30 | 1848 | 107195 | 548 | 524 | 10 |
switch_08h | memory 8h | 20180206 | 31 | NA | 66894 | 332 | 312 | 1 |
switch_12h | memory 12h | 20180207 | 30 | 1517 | 84568 | 353 | 340 | 3 |
switch_12h | memory 12h | 20180216 | 30 | 1633 | 82626 | 344 | 329 | 4 |
switch_16h | memory 16h | 20160912 | 39 | 2437 | 134488 | 444 | 419 | 8 |
switch_20h | memory 20h | 20161014 | 34 | 2224 | 133238 | 382 | 355 | 10 |
switch_24h | memory 24h | 20161007 | 31 | 2343 | 135928 | 350 | 334 | 6 |
switch_glcLac_lac | glcLac lac | 20171114 | 31 | 842 | 47798 | 180 | 171 | 0 |
switch_glcLac_lac | glcLac lac | 20180108 | 31 | 804 | 50630 | 174 | 170 | 4 |
switch_gly_lac | glyc > lac | 20170919 | 26 | 139 | 28832 | 137 | 123 | NA |
switch_gly_lac | glyc > lac | 20170920 | 29 | NA | 32475 | 142 | 132 | NA |
switch_lac001_10h | lac001 10h | 20190614 | 24 | 580 | 27973 | 115 | 105 | 1 |
switch_lac001_6h | lac001 6h | 20190605 | 38 | 528 | 25028 | 193 | 178 | 1 |
switch_lacIoe | lacIoe | 20180116 | 31 | 796 | 55447 | 177 | 161 | 0 |
switch_lacIoe | lacIoe | 20180214 | 31 | 761 | 46967 | 157 | 142 | 1 |
switch_lacIoe_preIPTG10uM | lacIoe preIPTG10uM | 20180604 | 33 | 410 | 28272 | 174 | 160 | 1 |
switch_lacIoe_withIPTG10uM | lacIoe withIPTG10uM | 20180119 | 30 | 572 | 37135 | 162 | 158 | 0 |
switch_lacIPTG5uM | lacIPTG5uM | 20180316 | 32 | 572 | 35363 | 182 | 172 | 0 |
switch_lactose_priming | lactose priming | 20161212 | 39 | 269 | 28142 | 230 | 214 | 3 |
switch_late | late | 20180516 | 30 | 2370 | 104792 | 166 | 155 | 0 |
switch_preIPTG5uM | preIPTG5uM | 20180514 | 31 | 385 | 28585 | 178 | 167 | 0 |
switch_preIPTG5uM | preIPTG5uM | 20180531 | 29 | 410 | 26780 | 170 | 161 | 0 |
switch_ramp40min | ramp40min | 20171121 | 30 | 371 | 29252 | 164 | 154 | 1 |
switch_ramp40min | ramp40min | 20180319 | 32 | 496 | 33684 | 195 | 185 | 1 |
switch_withIPTG1uM | withIPTG1uM | 20161130 | 41 | 442 | 36900 | 225 | 212 | 0 |
switch_withIPTG5uM | withIPTG5uM | 20161207 | 32 | 438 | 28738 | 178 | 175 | 2 |
switch_withIPTG5uM | withIPTG5uM | 20180122 | 30 | 431 | 27985 | 173 | 168 | 0 |
Package versions are managed with renv
and can be found in the corresponding lockfile.