Given a specific drug combination, this function splits the models to good (those that predicted that particular combination, i.e. found it as synergistic - a value of 1 in the model.predictions) and bad (those that found it as non-synergistic - a value of 0 in the model.predictions). The models whose predicted value for that synergy is marked as NA are excluded from the analysis. Then, for each network node, the function finds the node's average activity in each of the two model groups (a value in the [0,1] interval) and then subtracts the bad group's 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_specific_synergy_prediction(
  model.predictions,
  models.stable.state,
  drug.comb,
  penalty = 0
)

Arguments

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.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.

drug.comb

string. The drug combination which will be used to split the models. It must be included in the column names of the model.predictions object.

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 models that predicted the specific drug combination given, whereas a value closer to 1 means that the node is more activated in these models. A value closer to 0 indicates that the activity of that node is not so much different between the models that predicted the synergy and those that did not and so it won't not be a node of interest when searching for synergy biomarkers - nodes whose activity is important for the manifestation of the synergy.

See also