This function will construct a weighted nearest neighbor (WNN) graph. For each cell, we identify the nearest neighbors based on a weighted combination of two modalities. Takes as input two dimensional reductions, one computed for each modality.Other parameters are listed for debugging, but can be left as default values.

```
FindMultiModalNeighbors(
object,
reduction.list,
dims.list,
k.nn = 20,
l2.norm = TRUE,
knn.graph.name = "wknn",
snn.graph.name = "wsnn",
weighted.nn.name = "weighted.nn",
modality.weight.name = NULL,
knn.range = 200,
prune.SNN = 1/15,
sd.scale = 1,
cross.contant.list = NULL,
smooth = FALSE,
return.intermediate = FALSE,
modality.weight = NULL,
verbose = TRUE
)
```

- object
A Seurat object

- reduction.list
A list of two dimensional reductions, one for each of the modalities to be integrated

- dims.list
A list containing the dimensions for each reduction to use

- k.nn
the number of multimodal neighbors to compute. 20 by default

- l2.norm
Perform L2 normalization on the cell embeddings after dimensional reduction. TRUE by default.

- knn.graph.name
Multimodal knn graph name

- snn.graph.name
Multimodal snn graph name

- weighted.nn.name
Multimodal neighbor object name

- modality.weight.name
Variable name to store modality weight in object meta data

- knn.range
The number of approximate neighbors to compute

- prune.SNN
Cutoff not to discard edge in SNN graph

- sd.scale
The scaling factor for kernel width. 1 by default

- cross.contant.list
Constant used to avoid divide-by-zero errors. 1e-4 by default

- smooth
Smoothing modality score across each individual modality neighbors. FALSE by default

- return.intermediate
Store intermediate results in misc

- modality.weight
A

`ModalityWeights`

object generated by`FindModalityWeights`

- verbose
Print progress bars and output

Seurat object containing a nearest-neighbor object, KNN graph, and SNN graph - each based on a weighted combination of modalities.