https://github.com/czbiohub-sf/2023-facs-automation-pub

Python libraries for automating cell sorting with the Sony SH800S GUI.

https://github.com/czbiohub-sf/2023-facs-automation-pub

Science Score: 23.0%

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

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

Repository

Python libraries for automating cell sorting with the Sony SH800S GUI.

Basic Info
  • Host: GitHub
  • Owner: czbiohub-sf
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: main
  • Size: 3.69 MB
Statistics
  • Stars: 1
  • Watchers: 3
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 3 years ago · Last pushed about 3 years ago

https://github.com/czbiohub-sf/2023-facs-automation-pub/blob/main/

# FACSAutomation

## Introduction
This repository contains the Python application and custom **czfacsautomation** package that have been designed for automating the cell sorting on the Sony SH800S, by the CZ Biohub - SF Bioengineering team. All utilities support Python 3.7. Note that newer versions of Python are not compatible.

*This is a public snapshot of the FACS Automation repo as described in our 2023 preprint [here](https://www.biorxiv.org/content/10.1101/2023.03.24.534165v1).*

Maintenance of this repo is the responsibility of Diane Wiener. Please direct any communication to Diane Wiener via creation of an Issue at the project repo [here](https://github.com/czbiohub/2023-facs-automation-pub/issues).

This source describes Open Hardware, which is licensed under the CERN-OHL-W v2. 

Electronics hardware is described in the facs_electronics folder.

CAD designs are provided in Onshape [here](https://cad.onshape.com/documents/c1a3ab256e8df7a71b82db8c/w/ab65c37920d47d4a2484a277/e/421207c6e308bccf3dd4e5b1?configuration=default&renderMode=0&uiState=640b930bf24bcf207edf60a6).

Software is licensed under BSD 3-Clause.

Copyright Chan Zuckerberg Biohub - San Francisco 2023.

## Contents

### Classes
`czfacsautomation/hardware/`
* __`HardwareController`__ - Interfaces with hardware peripherals
* __`ZaberController`__ - Communicates with the zaber stages and gripper
* __`ArduinoController`__ - Communicates with the arduino via serial

`czfacsautomation/sorting/`
* __`Controller`__ - Creates wrapper classes for auto click methods used for interfacing with the Sony SH800S GUI
* __`Sort`__ - Runs a single sort on the Sony SH800S GUI
* __`Gating`__ - Runs the GateVertexTool to get and set gate on the Sony SH800S GUI
* __`CreateGate`__ - Creates a custom gate using the cell population data

`czfacsautomation/integration/`
* __`FACSAutomation`__ - Main class to call, starts process, and implements pause/stop

`czfacsautomation/slack/`
* __`SlackFacs`__ - Communicates with Slack App to notify users of current run status.

### Config Files
* __`config/hardware_config.json`__ - Holds the hardware configuration parameters for the zaber stages and arduino
* __`config/gui_config.json`__ - Holds the config file of all screenshots and parameters needed to run sorting
* __`config/Slack_config.json`__ - Holds the configuration parameters for the various messages to post

### Vendor Folder
The GateVertexTool `vendor/GateVertexTool.exe` is available from Sony Biotechnology.
Requests to access the GateVertexTool may be made to SONY Biotechnology [here](https://go.sonybiotechnology.com/gate-vertex.html).
Store the file in the `vendor/GateVertexTool/` folder.

## Installation and Use
### Installing Module
1. On Windows OS: Add GateVertexTool folder to "Path" environment variable (read release notes for more details)
2. Create and/or activate a virtual environment in a convenient location with Python3
3. Install and add pytesseract to path
4. Download / clone this repository
5. Navigate to the base of the repository
6. Install setuptools `pip install setuptools`
7. Install module `pip install -e .`
8. Create the folder for the exported gating data in the location specified in the "GATE_CSV_DIR" path in the `gui_config.json` 

### Updating Module from Repository
1. Pull changes from remote repository
2. Activate virtual environment with previous install
3. Navigate to the module directory
4. Update module `pip install -e . --upgrade`

### Using Module
1. cd to the `src` directory
2. `python -m czfacsautomation "" "-facs" ""`

#### Module Routines:
1. Chill Tube Housing:
   
   `python -m czfacsautomation "" "-chill" ""`

2. Run FACS Automation:
   
   `python -m czfacsautomation "" "-facs" ""`

3. Data Scraper:
   
   `python -m czfacsautomation "" "-scrape" ""`

4. Hardware Demo:
   
   `python -m czfacsautomation "" "-demo" ""`

5. Calibration:
   
   a. Calibration Update Scan:
      
   `python -m czfacsautomation "" "-calibrate" "-s"`
   
   b. Tube Calibration Check:
      
   `python -m czfacsautomation "" "-calibrate" "-t"`
   
   c. Full Calibration Routine (Scanning and with Tubes):
      
   `python -m czfacsautomation "" "-calibrate" "-f"`

Owner

  • Name: Chan Zuckerberg Biohub San Francisco
  • Login: czbiohub-sf
  • Kind: organization
  • Location: San Francisco

GitHub Events

Total
Last Year