Skip to contents

Find the top features for a given assay based on analytic Pearson residual variance. This function computes the Pearson residual variance for each feature without constructing the entire dense matrix of Pearson residuals to reduce the memory required.

Usage

PearsonResidualVar(object, ...)

# Default S3 method
PearsonResidualVar(
  object,
  assay = NULL,
  nfeatures = 20000,
  min.counts = 100,
  ncell.batch = 100,
  theta = 10,
  weight.mean = 0,
  verbose = TRUE,
  ...
)

# S3 method for class 'Assay5'
PearsonResidualVar(
  object,
  assay = NULL,
  nfeatures = 20000,
  theta = 10,
  min.counts = 100,
  weight.mean = 0,
  ncell.batch = 100,
  key = "pearson",
  verbose = TRUE,
  ...
)

# S3 method for class 'StdAssay'
PearsonResidualVar(
  object,
  assay = NULL,
  min.counts = 100,
  weight.mean = 0,
  theta = 10,
  ncell.batch = 100,
  key = "pearson",
  verbose = TRUE,
  ...
)

# S3 method for class 'Seurat'
PearsonResidualVar(
  object,
  assay = NULL,
  min.counts = 100,
  weight.mean = 0,
  theta = 10,
  ncell.batch = 100,
  key = "pearson",
  verbose = TRUE,
  ...
)

Arguments

object

A Seurat object

...

Arguments passed to other methods

assay

Name of assay to use

nfeatures

Number of top features to set as the variable features

min.counts

Minimum number of counts for feature to be eligible for variable features

ncell.batch

Number of cells to process in each batch. Higher number increases speed but uses more memory.

theta

Theta value for analytic Pearson residual calculation

weight.mean

Weighting to apply to the feature mean relative to the Pearson residual variance for ranking features. weight.mean=0 will rank features based on the Pearson residual variance only.

verbose

Display messages

key

Key to use when storing the highly variable feature information in the assay.

Value

Returns a SeuratObject::Seurat() object

References

Lause, J., Berens, P. & Kobak, D. Analytic Pearson residuals for normalization of single-cell RNA-seq UMI data. Genome Biol 22, 258 (2021). doi:10.1186/s13059-021-02451-7

Examples

PearsonResidualVar(object = atac_small[["peaks"]]["counts"])
#> Retaining 90 features with mean greater than zero
#>                      count mean ResidualVariance rank
#> chr1:9772-10660          2 0.02         1.018171   NA
#> chr1:180712-181178       2 0.02         1.018171   NA
#> chr1:181200-181607       2 0.02         1.018171   NA
#> chr1:191183-192084       0 0.00         0.000000   NA
#> chr1:267576-268461       2 0.02         1.018171   NA
#> chr1:270850-271755       0 0.00         0.000000   NA
#> chr1:273946-274792       0 0.00         0.000000   NA
#> chr1:585753-586648       6 0.06         1.928429   NA
#> chr1:605079-605959       2 0.02         1.018171   NA
#> chr1:629538-630397       2 0.02         1.018171   NA
#> chr1:633579-634474      14 0.14         1.834320   NA
#> chr1:778263-779184     224 2.24         2.284080   17
#> chr1:816878-817773      28 0.28         2.784880   NA
#> chr1:825323-825997       2 0.02         1.018171   NA
#> chr1:827056-827941      82 0.82         1.902078   NA
#> chr1:844135-844989       6 0.06         1.928429   NA
#> chr1:854732-855551       0 0.00         0.000000   NA
#> chr1:856152-857041       2 0.02         1.018171   NA
#> chr1:857907-858672      14 0.14         1.834320   NA
#> chr1:860139-860923       3 0.03         1.341823   NA
#> chr1:865460-866306       2 0.02         1.018171   NA
#> chr1:869458-870366      62 0.62         2.058806   NA
#> chr1:876322-877105       3 0.03         1.341823   NA
#> chr1:877256-878073       0 0.00         0.000000   NA
#> chr1:890356-891196       2 0.02         1.018171   NA
#> chr1:897006-897867       0 0.00         0.000000   NA
#> chr1:898350-899223       3 0.03         1.341823   NA
#> chr1:904344-905188      61 0.61         1.727260   NA
#> chr1:906494-907390      18 0.18         2.660991   NA
#> chr1:912460-913353       6 0.06         1.928429   NA
#> chr1:920759-921626       7 0.07         1.774720   NA
#> chr1:923353-924170      14 0.14         2.207405   NA
#> chr1:925410-926122       3 0.03         1.341823   NA
#> chr1:935093-935954       1 0.01         0.989011   NA
#> chr1:940016-940932      13 0.13         1.618194   NA
#> chr1:943054-943636       5 0.05         1.741294   NA
#> chr1:955190-956101       4 0.04         1.952191   NA
#> chr1:958863-959759     109 1.09         1.755363   52
#> chr1:960325-961048      26 0.26         2.370670   NA
#> chr1:966548-967354      35 0.35         2.726018   NA
#> chr1:975761-976723      26 0.26         1.995801   NA
#> chr1:983865-984750      28 0.28         1.673152   NA
#> chr1:993329-994164       1 0.01         0.989011   NA
#> chr1:995556-996375       8 0.08         1.989823   NA
#> chr1:998676-999441      15 0.15         1.756979   NA
#> chr1:999740-1000366     20 0.20         1.568627   NA
#> chr1:1000488-1001217    31 0.31         1.670473   NA
#> chr1:1001698-1002476    34 0.34         1.605416   NA
#> chr1:1004753-1005628    12 0.12         1.857708   NA
#> chr1:1008923-1009812     2 0.02         1.018171   NA
#> chr1:1012999-1013896   145 1.45         1.691010   56
#> chr1:1019089-1019953    87 0.87         3.629736   NA
#> chr1:1027807-1028323     1 0.01         0.989011   NA
#> chr1:1032718-1033630    80 0.80         2.314815   NA
#> chr1:1038451-1039304    15 0.15         2.545156   NA
#> chr1:1040389-1041273    62 0.62         2.514428   NA
#> chr1:1059203-1060060    48 0.48         2.285305   NA
#> chr1:1063699-1064592    52 0.52         2.576777   NA
#> chr1:1068591-1069593   136 1.36         2.013256   28
#> chr1:1079455-1080338    25 0.25         1.980488   NA
#> chr1:1092669-1093579     3 0.03         1.341823   NA
#> chr1:1098941-1099797    49 0.49         2.976401   NA
#> chr1:1103886-1104761     0 0.00         0.000000   NA
#> chr1:1106514-1107086     4 0.04         1.029915   NA
#> chr1:1107314-1108235     0 0.00         0.000000   NA
#> chr1:1115790-1116694   264 2.64         2.160769   21
#> chr1:1121854-1122751    65 0.65         2.033225   NA
#> chr1:1136258-1136912     5 0.05         1.804474   NA
#> chr1:1137049-1137873    19 0.19         2.551005   NA
#> chr1:1140665-1141034     0 0.00         0.000000   NA
#> chr1:1143866-1144747    24 0.24         2.670571   NA
#> chr1:1157456-1158077    36 0.36         1.583012   NA
#> chr1:1165728-1166624     2 0.02         1.018171   NA
#> chr1:1171563-1172488     5 0.05         1.741294   NA
#> chr1:1173370-1174285    27 0.27         2.081215   NA
#> chr1:1174988-1175803     1 0.01         0.989011   NA
#> chr1:1188896-1189774     4 0.04         1.952191   NA
#> chr1:1201061-1201938    57 0.57         3.029262   NA
#> chr1:1206183-1207065     7 0.07         2.124180   NA
#> chr1:1207866-1208674    25 0.25         2.136585   NA
#> chr1:1208906-1209549    10 0.10         2.166811   NA
#> chr1:1212684-1213459    41 0.41         2.581711   NA
#> chr1:1216631-1217510    19 0.19         2.769135   NA
#> chr1:1219105-1219995     7 0.07         1.589210   NA
#> chr1:1221668-1222458     6 0.06         1.928429   NA
#> chr1:1222590-1223380     6 0.06         1.038946   NA
#> chr1:1231645-1232553   214 2.14         2.055613   26
#> chr1:1246286-1247224     3 0.03         1.341823   NA
#> chr1:1250624-1251529    34 0.34         1.832973   NA
#> chr1:1259851-1260705     0 0.00         0.000000   NA
#> chr1:1261037-1261825     3 0.03         1.341823   NA
#> chr1:1264764-1265656     6 0.06         1.928429   NA
#> chr1:1273489-1274375   118 1.18         1.612747   60
#> chr1:1287495-1288325     5 0.05         1.804474   NA
#> chr1:1289933-1290836     8 0.08         1.989823   NA
#> chr1:1291564-1292473    10 0.10         1.881188   NA
#> chr1:1299784-1300670     3 0.03         1.341823   NA
#> chr1:1301689-1302543     6 0.06         1.928429   NA
#> chr1:1305198-1306109    59 0.59         1.827596   NA
#> chr1:1307720-1308738   261 2.61         2.223468   18
PearsonResidualVar(object = atac_small[["peaks"]])
#> Finding variable features for layer counts
#> Retaining 90 features with mean greater than zero
#> GRangesAssay data with 100 features for 100 cells
#> Variable features: 8 
#> Annotation present: TRUE 
#> Fragment files: 0 
#> Motifs present: TRUE 
#> Links present: 0 
#> Region aggregation matrices: 0
PearsonResidualVar(object = atac_small[["peaks"]])
#> Finding variable features for layer counts
#> Retaining 90 features with mean greater than zero
#> GRangesAssay data with 100 features for 100 cells
#> Variable features: 8 
#> Annotation present: TRUE 
#> Fragment files: 0 
#> Motifs present: TRUE 
#> Links present: 0 
#> Region aggregation matrices: 0
PearsonResidualVar(atac_small)
#> Finding variable features for layer counts
#> Retaining 90 features with mean greater than zero
#> An object of class Seurat 
#> 150 features across 100 samples within 2 assays 
#> Active assay: peaks (100 features, 8 variable features)
#>  2 layers present: counts, data
#>  1 other assay present: RNA
#>  2 dimensional reductions calculated: lsi, umap