Runs COSMOS from signaling to metabolism. This function uses CARNIVAL to find a subset of the prior knowledge network based on optimisation that (1) includes the most measured and input nodes and (2) which is in agreement with the data. Use preprocess_COSMOS_signaling_to_metabolism to prepare inputs, measurements and prior knowledge network.

run_COSMOS_signaling_to_metabolism(
data,
CARNIVAL_options = default_CARNIVAL_options()
)

## Arguments

data cosmos_data object. Use the preprocess_COSMOS_signaling_to_metabolism function to create an instance. List that controls the options of CARNIVAL. See details in default_CARNIVAL_options.

## Value

List with the following elements:

weightedSIF

The averaged networks found by optimization in a format of a Simple Interaction network, i.e. each row codes an edge

N_networks

Number of solutions found by the optimization

nodesAttributes

Estimated node properties

individual_networks

List of optimial networks found

individual_networks_node_attributes

Node activity in each network

preprocess_COSMOS_metabolism_to_signaling, runCARNIVAL, cosmos_data

## Examples

CARNIVAL_options <- cosmosR::default_CARNIVAL_options()
CARNIVAL_options\$solver <- "lpSolve"
test_for <- preprocess_COSMOS_signaling_to_metabolism(meta_network = toy_network,
signaling_data = toy_signaling_input,
metabolic_data = toy_metabolic_input,
diff_expression_data = toy_RNA,
maximum_network_depth = 15,
remove_unexpressed_nodes = TRUE,
CARNIVAL_options = CARNIVAL_options
)
#> 'select()' returned 1:1 mapping between keys and columns#> 'select()' returned 1:many mapping between keys and columns#> [1] "COSMOS: all 2 signaling nodes from data were found in the meta PKN"
#> [1] "COSMOS: all 3 metabolic nodes from data were found in the meta PKN"
#> [1] "COSMOS: 4653 of the 15919 genes in expression data were found as transcription factor target"
#> [1] "COSMOS: 4653 of the 5303 transcription factor targets were found in expression data"
#> [1] "COSMOS: removing unexpressed nodes from PKN..."
#> [1] "COSMOS: 0 interactions removed"
#> [1] "COSMOS: removing nodes that are not reachable from inputs within 15 steps"
#> [1] "COSMOS: 10 from  19 interactions are removed from the PKN"
#> [1] "COSMOS: 1 input/measured nodes are not in PKN any more: XMetab__190___c____ and 0 more."
#> [1] "COSMOS: removing nodes that are not observable by measurements within 15 steps"
#> [1] "COSMOS: 0 from  9 interactions are removed from the PKN"
#> [1] "COSMOS:  1 interactions are removed from the PKN based on consistency check between TF activity and gene expression"
#> [1] "lpSolve does not scale well with large PKNs. This solver is mainly for testing purposes. To run COSMSO, we recommend using cplex, or cbc solvers."
#> [1] "lpSolve does not scale well with large PKNs. This solver is mainly for testing purposes. To run COSMSO, we recommend using cplex, or cbc solvers."#> Writing constraints...#> Solving LP problem...#>
#> ── Column specification ────────────────────────────────────────────────────────
#> cols(
#>   enter Problem = col_character()
#> )#> [1] "COSMOS:  0 interactions are removed from the PKN based on consistency check between TF activity and gene expression"#> COSMOS: The following signaling nodes are not found in the PKN and will be removed from input: X3725 and 0 more.#> [1] "COSMOS: all 2 metabolic nodes from data were found in the meta PKN"
#> [1] "COSMOS: 4653 of the 15919 genes in expression data were found as transcription factor target"
#> [1] "COSMOS: 4653 of the 5303 transcription factor targets were found in expression data"test_result_for <- run_COSMOS_signaling_to_metabolism(data = test_for,
CARNIVAL_options = CARNIVAL_options)
#> [1] "lpSolve does not scale well with large PKNs. This solver is mainly for testing purposes. To run COSMSO, we recommend using cplex, or cbc solvers."#> Input nodes should have values from {-1, 0, 1}. We discretize your input with sign().#> [1] "lpSolve does not scale well with large PKNs. This solver is mainly for testing purposes. To run COSMSO, we recommend using cplex, or cbc solvers."#> Writing constraints...#> Solving LP problem...#>
#> ── Column specification ────────────────────────────────────────────────────────
#> cols(
#>   enter Problem = col_character()
#> )