Table of Contents |
---|
This page is currently under construction - check back soon!
...
Software that we may utilise in different workflows (or access ARGUS for a desktop pre-installed with software)
- Download and install R (latest stable version, or a specific version if needed) from here - https://www.r-project.org/
- Download and install RStudio Desktop from here - https://www.rstudio.com/products/rstudio/#Desktop
- Download and install Rtools (for package building from GitHub repositories) - https://cran.r-project.org/bin/windows/Rtools/
- Download and install devtools (for package building from GitHub repositories -
install.packages("devtools")
- Download and install FlowJo from here (and organise a licence if you haven't already got one)
- Download and install SeqGeq from here (and organise a licence if you haven't already got one)
- Download and install Matlab
Software | Advantages | Disadvantages | Cost |
---|---|---|---|
R | Fast Opensource HPC Great community contribution Scalable to large datasets Most automated population clustering options | Learning curve Support is from the community | FREE |
RStudio | Same as R but with friendlier user interface Code can be deployed on HPC | Same as R Learning curve (less than R due to GUI) | FREE |
RTools | Used to deploy newly published methods | Complicated | FREE |
FlowJo | Commercial software Powerful Easy to use Large number of advanced users Works well Newer plugins | Cumbersome to implement new advanced analysis methods - has been improved. | $$ |
SeqGeq | Useful for single cell workflows (RNA/DNA) Commercial software Powerful Easy to use Large number of advanced users Many automated population clustering options | $$ | |
Matlab | Powerful Some published workflows use Matlab Code is easier to understand compared to R (personal advantage, although this will likely change soon) Available to some USYD students | Flow cytometry analysis community is heavily developing in R compared to Matlab | $/Free |
Excellent links for information that was used for R/Rstudio/flowCore
- Basic intro to R - https://cran.r-project.org/doc/contrib/Torfs+Brauer-Short-R-Intro.pdf
- Introduction to flowCore - https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-10-106
- R package vigenettes (which are the mini guides for each package developed in R)
- Flow Cytometry Bioinformatics 2013 - https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3867282/
Data pre-processing in FlowJo using R plugins
...
In FlowJo, after importing your cytometry data, click the 'Check sample quality' button in the tools workspace. This will flag samples that should be checked. FlowJo plots the median values for each parameter over time and flags any that are outside of 2 standard deviations. Green is good. Any thing else should be reviewed.
Active sample quality check - FlowAI in FlowJo
...
- Have R installed (version >3.4)
- Install BioConductor & flowCore
- source("https://bioconductor.org/biocLite.R")
- biocLite()
- biocLite("flowCore")
- Install PNG package
- install.packages("png")
- Install flowAI
- biocLite("flowAI")
- Install stringi (I required this package additionally)
- biocLite("stringi")
- Load libraries in R
- library(flowCore)
library(stringi)
library(flowAI)
- library(flowCore)
- Have FlowJo installed with the correct R path in the preferences
- If not already present, download and move FlowAI.jar file into the FlowJo plugins folder (available from the FlowJo exchange)
- Restart FlowJo
- Select sample and navigate to Plugins, FlowAI. Select parameters and compute. Example output is shown below including layout depiction.
Active sample quality check - FlowClean in FlowJo
To enable FlowClean
- Have R installed (version >3.4)
- Install BioConductor
- source("https://bioconductor.org/biocLite.R")
- biocLite("flowCore")
- biocLite("flowClean")
- Load libraries in R
- library(flowCore)
library(flowClean)
- library(flowCore)
- Have FlowJo installed with the correct R path in the preferences
- If not already present, download and move FlowClean.jar file into the FlowJo plugins folder (available from the FlowJo exchange)
- Restart FlowJo
- Select sample and navigate to Plugins, FlowClean. Select parameters and compute. Example output is shown below.
Reading and analysing FCS files in R/RStudio - outdated code.
- Open RStudio (ensure you run as administrator, otherwise yo umay you may run into permission errors).
Install Bioconductor and additional packages that are used for flow cytometry data analysis
Code Block firstline ## try http:// if https:// URLs are not supported Make a new project (a project can be considered a workspace where everything can be saved to)- You want to download and load packages for the analysis that you will be doing (not efficient to load all the libraries, as RStudio is limited to 100, I learnt by experience, to see loaded libraries, type library())
Some basic packages/libraries should be installed while working with flow data, this list isn't comprehensive but it contains some for the workflows listed, you can load the libraries that you will use.
Code Block )#this will download the core Bioconductor packages source("https://bioconductor.org/biocLite.R") biocLite() #this will download flowCore (useful core for working with flow data) source("https://bioconductor.org/biocLite.R") biocLite("flowCore",dependencies=TRUE,suppressUpdates=TRUE) #this will download flowUtils (another set of useful tools) source("https://bioconductor.org/biocLite.R") biocLite("flowUtils",dependencies=TRUE,suppressUpdates=TRUE) #this will download flowViz source("https://bioconductor.org/biocLite.R") biocLite("flowViz",dependencies=TRUE,suppressUpdates=TRUE) #this will download flowSOM source("https://bioconductor.org/biocLite.R") biocLite("FlowSOM",dependencies=TRUE,suppressUpdates=TRUE) #this will download geneplotter source("https://bioconductor.org/biocLite.R") biocLite("geneplotter",dependencies=TRUE,suppressUpdates=TRUE) #this will download Seurat source("https://bioconductor.org/biocLite.R") biocLite(
title Install Bioconductor ## try http:// if https:// URLs are not supported"Seurat",dependencies=TRUE,suppressUpdates=TRUE) #this will download stringi source("https://bioconductor.org/biocLite.R") biocLite("stringi",dependencies=TRUE,suppressUpdates=TRUE) #this will download yaml source("https://bioconductor.org/biocLite.R") biocLite("yaml",dependencies=TRUE,suppressUpdates=TRUE) #this will download dplyr source("https://bioconductor.org/biocLite.R") biocLite("dplyr",dependencies=TRUE,suppressUpdates=TRUE) #this will download openCyto source("https://bioconductor.org/biocLite.R") biocLite("flowCore"openCyto",dependencies=TRUE,suppressUpdates=TRUE) #this will download tsne source("https://bioconductor.org/biocLite.R") biocLite("flowViz"tsne",dependencies=TRUE,suppressUpdates=TRUE) #this will download Rtsne source("https://bioconductor.org/biocLite.R") biocLite("flowUtils("Rtsne",dependencies=TRUE,suppressUpdates=TRUE) #this will download edgeR source("https://bioconductor.org/biocLite.R") biocLite("edgeR"geneplotter")
Determine your working directory by entering
Code Block getwd()
Set your working directory by entering - for example
Code Block setwd(,dependencies=TRUE,suppressUpdates=TRUE) install.packages("dplyr",dependencies=TRUE,suppressUpdates=TRUE) install.packages("yaml",dependencies=TRUE,suppressUpdates=TRUE) install.packages("devtools",dependencies=TRUE,suppressUpdates=TRUE) #use this to load downloaded packages library(flowCore) library(FlowSOM) library(flowViz) library(flowUtils) library(geneplotter) library(Seurat) library(dplyr) library(yaml) library(stringi) library(openCyto) library(tsne) library(Rtsne)
Note: There are many Vignettes in the packages which are ever so helpful. Vignettes are help guides that can help to show you how to use different tools/functions.Some commonly used codes - good to get familiar with
Code Block #gets to working directory getwd() #sets the working directory setwd('C:/Users/utopi/Desktop/testdata') #assign a file to a variable fileName <- "C:/Users/utopi/Desktop/testdata/sample.fcs")
Set the FCS folder as a variable
Still in progress...Code Block fcsfolder<- #assign a folder to a variable folderName <- "C:/Users/utopi/Desktop/testdata/" #read a FCS file to a variable using read.FCS from flowCore data1 = read.FCS('A1.fcs') #assign a variable an example data file i.e. from a vignette example fileName <- system.file("extdata","lymphocytes.fcs",package="fcsdataFlowSOM")
- Examples to try...
flowClust workflow in vignette
flowSOM workflow in vignette
openCyto workflow in vignette
Rtsne - https://github.com/lmweber/FlowSOM-Rtsne-example
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4980779/
https://onlinelibrary.wiley.com/doi/full/10.1002/cyto.a.23030 - good comparison paper
Lets analyse some data.. - Put your data in a folder on your computer
- In RStudio go to file and then new R script (we will be writing the script so that we can rerun it if needed)
Lets assign the folder to a variable
Code Block folderName <- "C:/Users/USERNAME/Desktop/testdata/"
Lets load the flowSOM package
Code Block #this will download flowSOM source("https://bioconductor.org/biocLite.R") biocLite("FlowSOM",dependencies=TRUE,suppressUpdates=TRUE)library(flowSOM)
Lets make the flowSOM object
Code Block fSOM <- FlowSOM(file, # Input options: compensate = TRUE,transform = TRUE, scale = TRUE, # SOM options:(will use parameters 1,4 and 5 thru 7) colsToUse = c(1,4,5:7), xdim = 7, ydim = 7, # Metaclustering options: nClus = 10, # Seed for reproducible results: seed = 42)
Lets view the flowSOM
Code Block PlotStars(fSOM$FlowSOM,backgroundValues = as.factor(fSOM$metaclustering))
Specific workflows when dealing with data generated at WRHFlow
Method | Useful for... | How to | Example image |
---|---|---|---|
tSNE - R | |||
tSNE - FlowJo | |||
tSNE - MATLAB | |||
SPADE - R | |||
SPADE - FlowJo | |||
SPADE - MATLAB | |||
Scaffold | |||
Vortex | |||
FlowClust | |||
FlowSOM | |||
CITRUS | |||
SamSPECTRAL | |||
RchyOptimyx | |||
immunoClust |
Workflow 2 - Comparing group A to group B
Thomas Ashhurst over at Sydney Cytometry has compiled a number of other scripts together to put together CAPX for R that automatically generates some pretty tSNE & flowSOM visualisations.
https://github.com/sydneycytometry/