MS_topologyFilter: Filter network based on distances or betweenness

Description Usage Arguments Value References Examples

View source: R/Other_support_functions.R

Description

This function allows reducing the dimensionality of a network, by removing nodes that do not meet the established distance and/or node betweenness criteria.

Usage

1
MS_topologyFilter(network_table, mode = "all", type, target_node, distance_th, bw_th)

Arguments

network_table

three-column matrix where each row represents and edge between two nodes. See function "MS_keggNetwork( )".

mode

character constant indicating whether a directed ("out") or undirected ("all") network will be considered.

type

character constant used to establish the criteria for filtering the network. "bw" indicates that edges (i.e. rows of the network_table) containing at least one node with betweenness below bw_th will be neglected. "distance" indicates edges containing at least one node with shortest path length to the target_node above distance_th will be neglected. "all" indicates that edges containing at least one node with either betweenness below bw_th or distance above distance_th, will be neglected.

target_node

character vector containing the ID of the node to which the distances will be calculated.

distance_th

numeric value corresponding to the distance threshold. Nodes with shortest path length to the target_node above this threshold will be removed from the network-table.

bw_th

numeric value corresponding to the normalized-betweenness threshold. Nodes with betweenness below this threshold will be removed from the network-table. See also "MS_nodeBW( )".

Value

A three-column matrix where each row represents an edge between two nodes.

References

Csardi, G. & Nepusz, T. (2006). The igraph software package for complex network research. InterJournal, Complex Systems, 1695.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
data(MetaboSignal_table)
# Remove edges containing nodes with distance to D-glucose ("cpd:C00031") > 2

network_filtered1 <- MS_topologyFilter(MetaboSignal_table, type = "distance",
                                       target_node = "cpd:C00031",
                                       distance_th = 2)

# Remove edges containing nodes with distance to D-glucose ("cpd:C00031") > 2 or
# normalized-betweenness < 0.00005

network_filtered2 <- MS_topologyFilter(MetaboSignal_table, type = "all",
                                       target_node = "cpd:C00031",
                                       distance_th = 2, bw_th = 0.00005)

# Note below that network_filtered1 has one edge more than network_filtered2. This is
# because "cpd:C00031" has betweenness = 0, and therefore it is removed in network_filtered2:

setdiff(as.vector(network_filtered1[, 1:2]),as.vector(network_filtered2[, 1:2]))

MetaboSignal documentation built on Nov. 8, 2020, 6 p.m.