Phenotype identifiers from cross object. May be numeric, logical
or character.
max.parents
Maximum number of parents per node. This reduces the complexity of
graphs and shortens run time. Probably best to consider values of 3-5.
parents
List containing all possible parents up to max.parents in
size. May be a subset
codes.only
Return only codes of parents if TRUE.
n.groups
Number of groups for parallel computation. Determined from
group.size if missing.
group.size
Size of groups for parallel computation. See details.
object
Object of class parent.qtlnet.
...
Additional arguments ignored.
Details
The most expensive part of calculations is running
scanone on each phenotype with parent phenotypes as
covariates. One strategy is to pre-compute the BIC contributions using a
cluster and save them for later use. The parents.qtlnet routine
creates a list of all possible parent sets (up to max.parents in
size). The size.qtlnet determines the number of
scanone calculations possible for a network with
nodes pheno.col and maximum parent size max.parents. The
group.qtlnet groups the parent sets into roughly equal size
groups for parallel computations. See bic.qtlnet for
further details.
Value
The size.qtlnet returns the number of possible
scanone computations needed for BIC scores.
The group.qtlnet produces and index into the parents list
created by parents.qtlnet. See details.
The parents.qtlnet creates a list object with names being the
code.
The summary method for such an object is a data
frame with row.names being the code, a binary code as decimal
for the parents of a phenotype node, excluding the phenotype. Value is
between 0 (no parents) and 2 ^ (length(pheno.col) - 1). The
columns are
parents
Comma-separated string of parents to potential child node.
n.child
Number of possible child nodes to this parent set.
Author(s)
Brian S. Yandell and Elias Chaibub Neto
References
Chaibub Neto E, Keller MP, Attie AD, Yandell BS (2010)
Causal Graphical Models in Systems Genetics: a unified
framework for joint inference of causal network and
genetic architecture for correlated phenotypes.
Ann Appl Statist 4: 320-339.
http://dx.doi.org/10.1214/09-AOAS288
See Also
bic.qtlnet
Examples
## Restrict to at most 3 parents per node.
pheno.col <- 1:6
max.parents <- 3
size.qtlnet(pheno.col, max.parents)
parents <- parents.qtlnet(pheno.col, max.parents)
summary(parents)
## Allow an arbitrary number (up to 12) of parents per node.
pheno.col <- 1:13
max.parents <- 12
size.qtlnet(pheno.col, max.parents)
## Make ~53 groups of ~1000, for a total of 53248 scanone runs.
parents <- parents.qtlnet(pheno.col, max.parents)
n.child <- summary(parents)$n.child
table(n.child)
groups <- group.qtlnet(parents = parents, group.size = 1000)
apply(groups, 1,
function(group, parents) sapply(parents[seq(group[1], group[2])], length),
parents)