scripts-for-automated-yeast-propagation-control-using-a-biosensor-and-flow-cytometry

https://github.com/saraelismag/scripts-for-automated-yeast-propagation-control-using-a-biosensor-and-flow-cytometry

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: SaraElisMag
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Size: 50.8 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Citation

README.md

Scripts-for-Automated-yeast-propagation-control-using-a-biosensor-and-flow-cytometry

These were the scripts used for automatic yeast culture propagation by utilizing flow cytometry data. , The program was built to process FCS files resulting from at-line measurement of pentose-fermenting S. cerevisiae using the OnCyt autosampler connected to a BD Accuri C6+ flow cytometer. The program was designed to automatically start and stop a peristaltic pump through serial communication, by issuing commands based on changes within the microbial population.

The yeast strain used for development was the TMBRP011 strain, which was previously engineered for bioethanol production from pentose sugars and carries a previously developed redox biosensor. The biosensor reacts to cellular redox imbalance caused by inhibitory substances released during lignocellulose pretreatments through an increase in fluorescence. The program was designed to achieve higher volumes of inhibitory substances as the cells acclimatized to a set rate, indicated with a decrease in fluorescence. However, since these inhibitory substances are toxic in nature, the pump should stop pumping if the percentage of PI-stained cells within a sample increased, indicating cell membrane damage.

This program has several dependencies. First, to extract data from generated FCS files the package ‘FlowCytometryTools’ (Yurtsev and Friedman, 2018) was used. To create scatterplots of these FCS files as well as graphs of program output, the package ‘Matplotlib’ (Matplotlib, 2023) was used. This provides a baseline graphical interphase able to create plots in new windows. ‘pySerial’ (Liechti, 2020) was used to establish serial communication between the computer and the Arduino used to control the pump. The base python package ‘time’ (Foundation, 2023d) was used primarily for the time.sleep function, which makes the program stall execution for a specified number of seconds. The similar package ‘datetime’ (Foundation, 2023b) was also used to initialize start times for the program in the format of a date and precise time. The ‘watchdog’ (Mangalapilly, 2023) package was used to continuously monitor a specified folder and execute specified commands based on activity within said folder. ‘pandas’ (NumFOCUS, 2023) was used for its data frame functionality which enables calculations on data columns without long data transformation sequences. ‘scipy’ (community, 2023) was used for its built in linear regression function to calculate slopes. Finally, the ‘atexit’ (Foundation, 2023a) function was used to execute final commands as the program was terminated for the Windows 11 version.

To use the program for its intended purpose, only FCSHandling, PumpHandling, and RunOneReac are neccessary.

FCSHandling should be tweaked so that the static gates encompasses the desired populations, alternatively to employ a dynamic strategy such as K means clustering. The desired parameters that the file passes on should also be changed to those relevant. To ensure everything is working, one can use FCSTrial which is a standalone version of the FCS_Handling function. This file is used by specifying the directory of a specific FCS file and then plotting the populations based on the specified gating strategy.

PumpHandling is the file that sets up the commands for controling the pump through serial communication. This file sets up baudrate, and specifies serial port and specific start/stop commands for the specific pump used. The user may have to change all these parameters to fit their respective setup. Furthermore the file uses the start/stop commands to inject the culture with a certain amount of substance per sample cycle. The user will have to calibrate their pump beforehand and specify how long the pump should be pumping per cycle for the different settings. If testing is to be done without a pump, the file PumpMock can be called on instead, which will only print messages in the console, but will mimic the behavior of the actual pump handler.

Runonereac is the main executor and is made for a sample file-washing step-sample file setup. The user will have to specify the output folder from the flowcytometer as well as the output folder for the programs' atexit function. This is also from where the program is run in its current state. For the windows 7 version, the user has to save the output dataframe manually through copying, while this is not neccessary in the windows 11 version as it will be saved to an xlsx file automatically on program termination. The sample cycle time can also be changed here, along with slope thresholds for pump increases.

Owner

  • Login: SaraElisMag
  • Kind: user

GitHub Events

Total
Last Year