Skip to content

RobertJDReid/screenmill

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

359 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Screenmill R package

This package is designed for quantifying arrayed colony growth experiments Synthetic Genetic Arrays (SGA), Epistatic Mini-Array Profiling (E-MAP), Selective Ploidy Ablation (SPA), or a simple quantitative colony fitness assay. This software was designed to efficiently measure hourly growth measurements given images of colony grids captured on a flatbed scanner. Colonies are quantified using background subtracted pixel intensity. Image transformations and colony coordinates are saved in simple CSVs allowing one to individually crop colonies and stich them together programmatically to generate colony growth kymographs.

Installation

This package can be installed from GitHub by following the instructions below.

Step 1: Install R (>= 3.3.0 recommended).

Step 2: Install R package developer tools. Why? This package contains some Rcpp code that must be compiled, so you will need a C++ compiler (e.g. GCC, or clang). For more help, checkout this guide for R's package development prerequisites.

  • Mac OS X: Install Xcode developer tools (in terminal: xcode-select --install).
  • Windows: Install Rtools.
  • Debian/Ubuntu: Install the build-essential package in shell with: sudo apt-get install build-essential

Step 3 (optional): Install RStudio. Why? RStudio makes programming in R fun!

Step 4: Install the package by running the following commands in R

# Install the latest version of Bioconductor
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install(version = "3.15")

# Install the latest version of devtools
install.packages('devtools', dependencies = T)

# Install the latest version of screenmill
devtools::install_github('RobertJDReid/screenmill')

Usage

Rothstein lab members should install rothfreezer as the default annotation database (i.e. no need to change screenmill options)

Non Rothstein lab members should manage their own annotation tables which can be used with screenmill by setting screenmill options. Expected fields for these tables are described in ?screenmill::annotate.

Screenmill annotations, calibrations and measurements are saved as CSVs in the processed directory. Re-running this script on a directory that has already been processed will synchronize the project with the latest annotations while leaving everything else untouched. This is usefull if a key needs to be fixed for many projects.

library(screenmill)

# Non Rothstein lab members should set these options. See ?screenmill::annotate for help
options(
  screenmill.queries                = custom_queries_dataframe,
  screenmill.strain_collections     = custom_collections_dataframe,
  screenmill.strain_collection_keys = custom_keys_dataframe,
  screenmill.media                  = custom_media_dataframe,
  screenmill.treatments             = custom_treatments_dataframe
)

dir = 'path/to/directory-of-plate-images'

annotate(dir)
calibrate(dir, grid_rows = 32, grid_cols = 48)
measure(dir)
review(dir)

After processing images, measurements can be read into an R session for analysis and visualization with the following command:

data <- read_screenmill(dir)

Want to combine results from multiple projects?

library(tidyverse)
dirs <- c('path/to/project1', 'path/to/project2', 'path/to/project3')
data <- map_df(dirs, read_screenmill)

Features

  • Efficient quantification of time-series colony growth experiments.
  • Individually crop colonies and generate colony growth kymographs.
  • Supports measurement of muliple plates in a single image (e.g. multiple plates imaged on a large flatbed scanner).
  • Tools for working with legacy ScreenMill data.

About

R package - tools for ScreenMill data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • R 95.5%
  • C++ 4.5%