OncoSimulR (version 2.2.2)

simOGraph: Simulate oncogenetic/CBN/XMPN DAGs.

Description

Simulate DAGs that represent restrictions in the accumulation of mutations.

Usage

simOGraph(n, h = 4, conjunction = TRUE, nparents = 3, multilevelParent = TRUE, removeDirectIndirect = TRUE, rootName = "Root")

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, the direct connections are removed from the graph starting from the bottom.
rootName
The name you want to give the "Root" node.

Value

An adjacency matrix for a directed graph.

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.

Examples

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

Run the code above in your browser using DataLab