graphSpatialFDR: Control the spatial FDR

View source: R/graphSpatialFDR.R

graphSpatialFDRR Documentation

Control the spatial FDR


Borrowing heavily from cydar which corrects for multiple-testing using a weighting scheme based on the volumetric overlap over hyperspheres. In the instance of graph neighbourhoods this weighting scheme can use graph connectivity or incorpate different within-neighbourhood distances for the weighted FDR calculation.



A list of vertices and the constituent vertices of their neighbourhood


The kNN graph used to define the neighbourhoods


A vector of p-values calculated from a GLM or other appropriate statistical test for differential neighbourhood abundance


A numeric integer that determines the kth nearest neighbour distance to use for the weighted FDR. Only applicaple when using weighting="k-distance".


A string scalar defining which weighting scheme to use. Choices are: max, k-distance, neighbour-distance or graph-overlap.


(optional) A matrix of cells X reduced dimensions used to calculate the kNN graph. Only necessary if this function is being used outside of testNhoods where the Milo object is not available


(optional) A matrix of cell-to-cell distances or a list of distance matrices, 1 per neighbourhood. Only necessary if this function is being used outside of testNhoods where the Milo object is not available.


(optional) A list of neighbourhood index vertices in the same order as the input neighbourhoods. Only used for the k-distance weighting.


Each neighbourhood is weighted according to the weighting scheme defined. k-distance uses the distance to the kth nearest neighbour of the index vertex, neighbour-distance uses the average within-neighbourhood Euclidean distance in reduced dimensional space, max uses the largest within-neighbourhood distance from the index vertex, and graph-overlap uses the total number of cells overlapping between neighborhoods (distance-independent measure). The frequency-weighted version of the BH method is then applied to the p-values, as in cydar.


A vector of adjusted p-values


Adapted by Mike Morgan, original function by Aaron Lun



MikeDMorgan/miloR documentation built on Aug. 7, 2022, 8:21 a.m.