This function splits the models to 'good' and 'bad' based on the number of true positive predictions: num.high TPs (good) vs num.low TPs (bad). Then, for each network node, it finds the node's average activity in each of the two classes (a value in the [0,1] interval) and then subtracts the 'bad' average activity value from the good' one, taking into account the given penalty factor and the number of models in each respective model group.

get_avg_activity_diff_based_on_tp_predictions(
  models.synergies.tp,
  models.stable.state,
  num.low,
  num.high,
  penalty = 0
)

Arguments

models.synergies.tp

an integer vector of TP values. The names attribute holds the models' names and must be a subset of the row names of the models.stable.state parameter. Consider using the function calculate_models_synergies_tp.

models.stable.state

a data.frame (nxm) with n models and m nodes. The row names specify the models' names whereas the column names specify the network nodes (gene, proteins, etc.). Possible values for each model-node element can be between 0 (inactive node) and 1 (active node) inclusive.

num.low

integer. The number of true positives representing the 'bad' model class.

num.high

integer. The number of true positives representing the 'good' model class. This number has to be strictly higher than num.low.

penalty

value between 0 and 1 (inclusive). A value of 0 means no penalty and a value of 1 is the strickest possible penalty. Default value is 0. This penalty is used as part of a weighted term to the difference in a value of interest (e.g. activity or link operator difference) between two group of models, to account for the difference in the number of models from each respective model group.

Value

a numeric vector with values in the [-1,1] interval (minimum and maximum possible average difference) and with the names attribute representing the name of the nodes.

Details

So, if a node has a value close to -1 it means that on average, this node is more inhibited in the 'good' models compared to the 'bad' ones while a value closer to 1 means that the node is more activated in the 'good' models. A value closer to 0 indicates that the activity of that node is not so much different between the 'good' and 'bad' models and so it won't not be a node of interest when searching for indicators of better performance (higher number of true positives) in the good models.

See also