Without thresholding, we would obtain a fully connected weighted graph from GENIE3, with far too many links to be interpretable. In order build a meaningful network, this weighted adjacency matrix between regulators and targets has to be sparsified, and we have to determine the regulatory weights that we consider significant.

This method is a nice exploratory way to threshold complete networks, but to get more robust and significant results, consider using the DIANE::test_edges() function.

network_thresholding(mat, n_edges)

Arguments

mat

matrix containing the importance values for each target and regulator, as returned by DIANE::network_inference()

n_edges

number of edges top edges to keep in the final network.

Value

igraph object representing the Gene Regulatory Network

Examples

if (FALSE) { data("abiotic_stresses") data("regulators_per_organism") genes <- get_locus(abiotic_stresses$heat_DEGs) # mat was inferred using the function network_inference mat <- abiotic_stresses$heat_DEGs_regulatory_links network <- DIANE::network_thresholding(mat, n_edges = length(genes)) }