runNormJaccard: Normalize Jaccard Index Matrix

View source: R/normJaccard.R

runNormJaccardR Documentation

Normalize Jaccard Index Matrix

Description

This function takes a Snap obj as input with jmat slot and normalize for read depth effect.

Usage

runNormJaccard(obj, tmp.folder, method, row.center, row.scale, low.threshold,
  high.threshold, do.par, ncell.chunk, num.cores, seed.use)

Arguments

obj

A snap obj

tmp.folder

A non-empty character vector giving the directory name to save temp files.

method

A character class that indicates the normalization method to be used. This must be one of c("residual", "zscore").

row.center

A logical value indicating whether rows of the normalized jaccard inex matrix should be centered by subtracting the layer means (omitting 'NA's).

row.scale

A logical value indicating whether rows of the normalized jaccard index matrix should be scaled by dividing the (centered) layers of 'x' by their standard deviations if 'center' is 'TRUE'.

low.threshold

A numeric class that indicates the min value for normalized jaccard index [-5].

high.threshold

A numeric class that indicates the max value for normalized jaccard index [5].

do.par

A logical variable indicates if to run this in parallel using multiple processors [TRUE].

ncell.chunk

A numeric class that indicates number of cells to process per CPU node

num.cores

A numeric class that indicates the number of cores to use for calculation [1].

seed.use

A numeric class that indicates random seeding number [10].

Details

In theory, the entries in the jaccard index calculated by calJaccard() should reflects the true similarity between two cells, however, that is not the case. We observed that a cell of higher coverage tends to have a higher similarity with another cell regardless whether these two cells are similar or not. These biases, we termed as “coverage bias” also observed in other studies, can later result in misleading cell grouping. Therefore, it is cruicial to normalize the bias.

Examples

data(demo.sp);
demo.sp = makeBinary(demo.sp);
demo.sp = runJaccard(obj=demo.sp, mat="bmat", do.par=FALSE, tmp.folder=tempdir());
demo.sp = runNormJaccard(obj=demo.sp, do.par=FALSE, tmp.folder=tempdir());


r3fang/SnapATAC documentation built on March 29, 2022, 4:33 p.m.