Skip to content

Directed Automated Gating (DAG) is an algorithm and MATLAB software tool for 2D density-based filtering of flow cytometry data, which performs sequential and hierarchical filtering to identify the cell populations that are of interest and predefined by the user. The output of DAG can be input to a data clustering algorithm such as FLOCK to furth…

License

maxqian/DAG

Repository files navigation

DAG

Directed Automated Gating (DAG) is an algorithm and MATLAB software tool for 2D density-based filtering of flow cytometry data, which performs sequential and hierarchical filtering to identify the cell populations that are of interest and predefined by the user. The output of DAG can be input to a data clustering algorithm such as FLOCK to further segregate cell subsets.

=============================================================================================================================================== Directed Automated Gating (DAG) August 5, 2015

Rick Stanton (rstanton@humanlongevity.com) - Lead Developer Alexandra Lee (alee@jcvi.org) Yu "Max" Qian (mqian@jcvi.org) Richard H. Scheuermann (rscheuermann@jcvi.org) Department of Informatics, J. Craig Venter Institute, La Jolla, CA, 92037

INTRODUCTION:

Directed Automated Gating (DAG) is an algorithm and MATLAB software tool for 2D density-based filtering of flow cytometry data, which performs sequential and hierarchical filtering to identify the cell populations that are of interest and predefined by the user. The output of DAG can be input to a data clustering algorithm such as FLOCK to further segregate cell subsets.

This program uses density (contour level) to identify the cell populations. In order to identify the lymphocyte population, which is usually a mixture of multiple distributions, a bisecting option based on the density contour level is provided to recapitulate manual gating results.

An outline of the algorithm can be seen below:

1.  Fluorescence values are transformed so that all the values are positive
2.  Fluorescence values are normalized using the maximum value across all channels
3.  Generate 2D histogram of the data using x-axis and y-axis as defined by the user
4.  Convolute the histogram with a sine wave, which amplifies the true signal
5.  If lymphocyte gate
	a.  For each contour level:
		i.  Select the data points that exceed the contour level and are to the right of the left 
		user-defined boundary (bisect)
		ii.  Create an object by connected adjacent data points
		iii.  If the boundaries of the object are completely contained within the user-specified gate 
		then select these data points 
6.  If not a lymphocyte gate: 
	For each contour level:
		i.  Select the data points that exceed the contour level
		ii.  Create an object by connected adjacent data points
		iii.  If the boundaries of the object are completely contained within the user-specified gate 
		then select these data points 

INSTALLATION:

Programs required for running DAG:

1.  Download and install MATLAB 7.12.0 (R2011a)

USAGE:

In Linux command line: "dag_main_cmd(, , ); exit"

In MATLAB: run the dag_main.m by providing parameters values specified in the header

Required Parameters:
Path to configuration file, which contains information supplied by the user about the gating and channels Configuration file should be saved as a .csv file Instructions for filling out the configuration file can be found in "config_template_instructions.xlsx" and "config_template_sample.xlsx"

<data directory path>
	Path to folder containing all transformed and compensated FSC data files
	Each data file should be saved as a .csv file
	Format of the file is as follows:

	Marker Name 1		Marker Name 2		Marker Name 3		...
	#############		#############		#############		...
	#############		#############		#############		...
	#############		#############		#############		...
	#############		#############		#############		...

	<number of columns for composite>
		A dot plot for each gate and each sample is created, DAG will compile the dot plots for a single gate across all samples
		into a composite image.  This number specifies the number of columns to use for that composite image.

EXAMPLE:

In Linux command line: matlab -r "dag_main_cmd('/Sample_data/Config/config_101.csv','/Sample_data/Data_101/',2); exit"

DAG will generate several result folders:

filteredData_ Contains the florescent intensity data for only those cells that were filtered by the user-specified gates.

filteredPlots Contains a dot plot for each gate and each sample as .png

filteredPlotComposites Contains compiled dot plots for each gate across all samples as .png

filteredStats Contains .txt file with a table listing NCellsTotal: number of total cells used PopName: target population name NCellsParent: number of cells in the parent population NCellsPop: number of cells in the target population PercentParent: percent of cells in the target population compared to the parent population

flaggedFiles QC is performed so that if a gate does not find any cells then the file is flagged and skipped. Also if the proportion of cells found for a gate is below the user-specified threshold then the file is flagged. The name of these files are listed in a .txt file to inform the user

About

Directed Automated Gating (DAG) is an algorithm and MATLAB software tool for 2D density-based filtering of flow cytometry data, which performs sequential and hierarchical filtering to identify the cell populations that are of interest and predefined by the user. The output of DAG can be input to a data clustering algorithm such as FLOCK to furth…

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages