Seurat -Filter, normalize, regress and detect variable genes


This tool filters out cells, normalizes gene expression values, and regresses out uninteresting sources of variation. It then detects highly variable genes across the cells, which are used for performing principal component analysis in the next step.



The tool performs the following four steps. As an input, give the Seurat R-object (Robj) from the Seurat setup -tool.

  1. Filtering is performed in order to remove empties, multiplets and broken cells. You can use the QC-plots.pdf to estimate the the upper limit for the number of genes per cell and mitochondrial transcript percentage.

  2. Expression values are normalized accross the cells using global scaling normalization: gene’s expression value in a cell is divided by the the total number of transcripts in that cell, the ratio is multiplied by a scale factor (10,000 by default) and log-transformed.

  3. Uninteresting sources of variation in the expression values are regressed out in order to improve dimensionality reduction and clustering later on. Seurat implements a basic regression by constructing linear models to predict gene expression based on user-defined variables. This tool regresses on the number of detected molecules per cell as well as the percentage mitochondrial transcript content.
    You can also choose to regress out cell cycle differences. By choosing all differences the tool removes all signal associated with cell cycle. In some cases this method can negatively impact downstream analysis, particularly in differentiating processes, where stem cells are quiescent and differentiated cells are proliferating (or vice versa). Alternatively you can regress out the difference between the G2M and S phase scores. This means that signals separating non-cycling cells and cycling cells will be maintained, but differences in cell cycle phase amongst proliferating cells (which are often uninteresting), will be regressed out of the data.
    For more information about cell cycle filtering, check out the vignette here.

  4. Genes which are highly variable across the cells are detected by calculating the average expression and dispersion for each gene, placing these genes into bins, and then calculating a z-score for dispersion within each bin. The minimum/maximum average expression and dispersion parameters (x min, x max, y min) are then used to select the variable genes. PLEASE NOTE that you might need to run the tool several times, as setting these parameters is an iterative process. The result file Dispersion.pdf indicates the number of variable genes based on the user defined cut-offs. These settings vary based on the data type, heterogeneity in the sample, and normalization strategy. For example for UMI data normalized to a total of 10 000 molecules, one would expect ~2,000 variable genes.

For more details, please check the Seurat tutorials.