simOGraph {OncoSimulR} | R Documentation

## Simulate oncogenetic/CBN/XMPN DAGs.

### Description

Simulate DAGs that represent restrictions in the accumulation of mutations.

### Usage

    simOGraph(n, h = ifelse(n >= 4, 4, n), conjunction = TRUE, nparents = 3,
    multilevelParent = TRUE, removeDirectIndirect = TRUE, rootName = "Root",
    geneNames = seq.int(n), out = c("adjmat", "rT"),
    s = 0.1, sh = -0.1, typeDep = "AND")

### Arguments

`n` | Number of nodes, or edges, in the graph. Like the number of genes.
`h` | Approximate height of the graph. See details.
`conjunction` | If TRUE, conjunctions (i.e., multiple parents for a node) are allowed.
`nparents` | Maximum number of parents of a node, when `conjunction` is TRUE.
`multilevelParent` | Can a node have parents at different heights (i.e., parents that are at different distance from the root node)?
`removeDirectIndirect` | Ensure that no two nodes are connected both directly (i.e., with an edge between them) and indirectly, through intermediate nodes. If TRUE, we return the transitive reduction of the DAG.
`rootName` | The name you want to give the "Root" node.
`geneNames` | The names you want to give the the non-root nodes.
`out` | Whether the ouptut should be an adjacency matrix or a "restriction table", as used in `allFitnessEffects`.
`s` | If using as output a restriction, the default value for s. See `allFitnessEffects`.
`sh` | If using as output a restriction, the default value for sh. See `allFitnessEffects`
`typeDep` | If using as output a restriction, the default value for "typeDep". See `allFitnessEffects`

### Details

This is a simple, heuristic procedure for generating graphs of restrictions that seem compatible with published trees in the oncogenetic literature.

The basic procedure is as follows: nodes (argument `n`) are split into approximately equally sized `h` groups, and then each node from a level is connected to nodes chosen randomly from nodes of the remaing superior (i.e., closer to the Root) levels. The number of edges comes from a uniform distribution between 1 and `nparents`.

The actual depth of the graph can be smaller than `h` because nodes from a level might be connected to superior levels skipping intermediate ones.

See the vignette for further discussion about arguments.

### Value

An adjacency matrix for a directed graph or a data frame to be used as input, as "restriction table" in `allFitnessEffects`.

### Author(s)

Ramon Diaz-Uriarte. Code for transitive closure taken from the nem package, whose authors are Holger Froehlich, Florian Markowetz, Achim Tresch, Theresa Niederberger, Christian Bender, Matthias Maneck, Claudio Lottaz, Tim Beissbarth

### Examples

    (a1 <- simOGraph(10))
    library(graph) ## for simple plotting
    plot(as(a1, "graphNEL"))

    simOGraph(3, geneNames = LETTERS[1:3])

[Package OncoSimulR version 2.18.0 Index]