This function uses the get_avg_activity_diff_based_on_synergy_set_cmp which splits the models to 'good' and 'bad' based on the predictions of two different synergy sets, one of them being a subset of the other. The 'good' models are those that predict the synergy.set.str (e.g. "A-B,A-C,B-C") while the 'bad' models are those that predict the synergy.subset.str (e.g. "A-B,B-C"). Then, for each network node, the function finds the node's average link operator value in each of the two classes (a value in the [0,1] interval, 0 being AND NOT and 1 being OR NOT) and then subtracts the bad class average link operator value from the good one, taking into account the given penalty factor and the number of models in the 'good' and 'bad' class respectively.

get_avg_link_operator_diff_based_on_synergy_set_cmp(
  synergy.set.str,
  synergy.subset.str,
  model.predictions,
  models.link.operator,
  penalty = 0
)

Arguments

synergy.set.str

a string of drug combinations, comma-separated. The number of the specified combinations must be larger than the ones defined in the synergy.subset.str parameter. They also must be included in the tested drug combinations, i.e. the columns of the model.predictions parameter.

synergy.subset.str

a string of drug combinations, comma-separated. There must be at least one combination defined and all of them should also be included in the synergy.set.str parameter.

model.predictions

a data.frame object with rows the models and columns the drug combinations. Possible values for each model-drug combination element are either 0 (no synergy predicted), 1 (synergy was predicted) or NA (couldn't find stable states in either the drug combination inhibited model or in any of the two single-drug inhibited models)

models.link.operator

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 are either 0 (AND NOT link operator), 1 (OR NOT link operator) or 0.5 if the node is not targeted by both activating and inhibiting regulators (no link operator).

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's boolean equation has the AND NOT link operator in the models that predicted the extra synergy(-ies) that are included in the synergy.set.str but not in the synergy.subset.str, whereas a value closer to 1 means that the node's boolean equation has mostly the OR NOT link operator in these models. These nodes are potential link operator biomarkers because the structure of their respective boolean equations (denoted by their link operator) can influence the prediction performance of a model and make it predict the extra synergy(-ies). A value closer to 0 indicates that the link operator in the node's boolean equation is not so much different between the models that predicted the synergy set and those that predicted it's subset, so it won't not be a node of interest when searching for potential link operator biomarkers for the extra synergy(-ies). A value exactly equal to 0 can also mean that this node didn't not have a link operator in its boolean equation, again making it a non-important indicator of difference in model performance.

See also