Appendix

Code availability

All code used in each project phase can be located on GitHub. Below we listed the repositories used and a brief description of their content.`

Table 1: Github repositories used for this project.
Repository Description
https://github.com/ccg-esb-lab/uJ It contains a series of programs in \(\mu \mathrm{J}\), which consist of an \(ImageJ\) macro library for quantifying unicellular bacterial dynamics in microfluidic devices. Besides, it includes all the Python code used for the image analysis processing and our developed custom Napari cell-viewer (see Chapter 1).
https://github.com/jvelezmagic/undergraduate_research_project It contains all the files necessary to reproduce this document in its entirety. In addition, it includes the code used in R to analyze the tabular data of the experiments (see Chapter 2).
https://github.com/jvelezmagic/CellFilamentation In includes all the Julia code used to create the mathematical filamentation model exposed in Chapter 3.

Software tools

Python

Below is the main list of packages used for Chapter 1

R

Below is the main list of packages used for Chapter 2 and the reproducibility of this undergraduate research project.

Julia

Below is the main list of packages used for Chapter 3.

Software usage

Undergraduate research project

This code base uses the R Language , Quarto, and renv to do a reproducible scientific project named bacterial-filamentation-research.

  1. Clone the repository with: git clone https://github.com/jvelezmagic/bacterial-filamentation-research.
  2. Download latest version of R.
  3. Download latest version of Quarto.
  4. Open R project.
  5. Install the renv package with install.packages('renv').
  6. Restore working environment with: renv::restore().
  7. Render the book with: quarto::quarto_render().
  8. Edit documents and render again.

Cell-viewer

This code base is using the Python Language.

  1. Clone the repository with: git clone https://github.com/ccg-esb-lab/uJ.
  2. Go to single-channel directory.
  3. Inside of MGGT-AMP-Pulse (i.e., chromosome strain) or pBGT-AMP-Pulse (i.e., plasmid strain) enter to 6_Lineages_corrector_napari.ipynb.
  4. Change the parameters and use it.

Filamentation model

This code base is using the Julia Language and DrWatson to do a reproducible scientific project named CellFilamentation.

  1. Clone the repository with: git clone https://github.com/jvelezmagic/CellFilamentation.
  2. Download latest version of Julia.
  3. Open Julia project.
  4. Open Julia console and do the following to restore working environment:
using Pkg
Pkg.activate(".") # Path to the project.
Pkg.instantiate()
  1. Play with the model.

Colophon

This undergraduate research project was written in RStudio using Quarto. The website is hosted via GitHub Pages, and the complete source is available via GitHub.

This version of the project was built with R version 4.2.1 (2022-06-23) and the following packages:

Table 2: Packages used to built the project documents.
Package Version Source
embed 1.0.0 CRAN (R 4.2.0)
fs 1.5.2 CRAN (R 4.2.0)
GGally 2.1.2 CRAN (R 4.2.0)
ggdist 3.2.0 CRAN (R 4.2.0)
ggpubr 0.4.0 CRAN (R 4.2.0)
here 1.0.1 CRAN (R 4.2.0)
janitor 2.1.0 CRAN (R 4.2.0)
knitr 1.39 CRAN (R 4.2.0)
patchwork 1.1.1 CRAN (R 4.2.0)
plotly 4.10.0 CRAN (R 4.2.0)
quarto 1.2 CRAN (R 4.2.0)
renv 0.15.5 CRAN (R 4.2.1)
rmarkdown 2.20 CRAN (R 4.2.0)
sessioninfo 1.2.2 CRAN (R 4.2.0)
stringr 1.4.0 CRAN (R 4.2.0)
tidymodels 1.0.0 CRAN (R 4.2.0)
tidytext 0.3.3 CRAN (R 4.2.0)
tidyverse 1.3.2 CRAN (R 4.2.0)