simOGraph: Simulate oncogenetic/CBN/XMPN DAGs.

Description Usage Arguments Details Value Author(s) Examples

View source: R/generate-random-trees.R

Description

Simulate DAGs that represent restrictions in the accumulation of mutations.

Usage

1
2
3
4
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

1
2
3
4
5
(a1 <- simOGraph(10))
library(graph) ## for simple plotting
plot(as(a1, "graphNEL"))

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

OncoSimulR documentation built on Nov. 8, 2020, 8:31 p.m.