Computes the `k.param`

nearest neighbors for a given dataset. Can also optionally (via `compute.SNN`

), construct a shared nearest neighbor graph by calculating the neighborhood overlap (Jaccard index) between every cell and its `k.param`

nearest neighbors.

FindNeighbors(object, ...) # S3 method for default FindNeighbors( object, query = NULL, distance.matrix = FALSE, k.param = 20, return.neighbor = FALSE, compute.SNN = !return.neighbor, prune.SNN = 1/15, nn.method = "annoy", n.trees = 50, annoy.metric = "euclidean", nn.eps = 0, verbose = TRUE, force.recalc = FALSE, l2.norm = FALSE, cache.index = FALSE, index = NULL, ... ) # S3 method for Assay FindNeighbors( object, features = NULL, k.param = 20, return.neighbor = FALSE, compute.SNN = !return.neighbor, prune.SNN = 1/15, nn.method = "annoy", n.trees = 50, annoy.metric = "euclidean", nn.eps = 0, verbose = TRUE, force.recalc = FALSE, l2.norm = FALSE, cache.index = FALSE, ... ) # S3 method for dist FindNeighbors( object, k.param = 20, return.neighbor = FALSE, compute.SNN = !return.neighbor, prune.SNN = 1/15, nn.method = "annoy", n.trees = 50, annoy.metric = "euclidean", nn.eps = 0, verbose = TRUE, force.recalc = FALSE, l2.norm = FALSE, cache.index = FALSE, ... ) # S3 method for Seurat FindNeighbors( object, reduction = "pca", dims = 1:10, assay = NULL, features = NULL, k.param = 20, return.neighbor = FALSE, compute.SNN = !return.neighbor, prune.SNN = 1/15, nn.method = "annoy", n.trees = 50, annoy.metric = "euclidean", nn.eps = 0, verbose = TRUE, force.recalc = FALSE, do.plot = FALSE, graph.name = NULL, l2.norm = FALSE, cache.index = FALSE, ... )

object | An object |
---|---|

... | Arguments passed to other methods |

query | Matrix of data to query against object. If missing, defaults to object. |

distance.matrix | Boolean value of whether the provided matrix is a distance matrix; note, for objects of class |

k.param | Defines k for the k-nearest neighbor algorithm |

return.neighbor | Return result as |

compute.SNN | also compute the shared nearest neighbor graph |

prune.SNN | Sets the cutoff for acceptable Jaccard index when computing the neighborhood overlap for the SNN construction. Any edges with values less than or equal to this will be set to 0 and removed from the SNN graph. Essentially sets the stringency of pruning (0 --- no pruning, 1 --- prune everything). |

nn.method | Method for nearest neighbor finding. Options include: rann, annoy |

n.trees | More trees gives higher precision when using annoy approximate nearest neighbor search |

annoy.metric | Distance metric for annoy. Options include: euclidean, cosine, manhattan, and hamming |

nn.eps | Error bound when performing nearest neighbor seach using RANN; default of 0.0 implies exact nearest neighbor search |

verbose | Whether or not to print output to the console |

force.recalc | Force recalculation of (S)NN. |

l2.norm | Take L2Norm of the data |

cache.index | Include cached index in returned Neighbor object (only relevant if return.neighbor = TRUE) |

index | Precomputed index. Useful if querying new data against existing index to avoid recomputing. |

features | Features to use as input for building the (S)NN; used only when |

reduction | Reduction to use as input for building the (S)NN |

dims | Dimensions of reduction to use as input |

assay | Assay to use in construction of (S)NN; used only when |

do.plot | Plot SNN graph on tSNE coordinates |

graph.name | Optional naming parameter for stored (S)NN graph (or Neighbor object, if return.neighbor = TRUE). Default is assay.name_(s)nn. |

This function can either return a `Neighbor`

object with the KNN information or a list of `Graph`

objects with the KNN and SNN depending on the settings of `return.neighbor`

and `compute.SNN`

. When running on a `Seurat`

object, this returns the `Seurat`

object with the Graphs or Neighbor objects stored in their respective slots. Names of the Graph or Neighbor object can be found with `Graphs`

or `Neighbors`

.

#> An object of class Seurat #> 230 features across 80 samples within 1 assay #> Active assay: RNA (230 features, 20 variable features) #> 2 dimensional reductions calculated: pca, tsne# Compute an SNN on the gene expression level pbmc_small <- FindNeighbors(pbmc_small, features = VariableFeatures(object = pbmc_small))#>#># More commonly, we build the SNN on a dimensionally reduced form of the data # such as the first 10 principle components. pbmc_small <- FindNeighbors(pbmc_small, reduction = "pca", dims = 1:10)#>#>