Last chance! 50% off unlimited learning
Sale ends in
igraph
-package.make_network(physeq, type="samples", distance="jaccard", max.dist = 0.4,
keep.isolates=FALSE, ...)
NULL
.
A phyloseq-class
object,
or otu_table-class
object,
on which g
is based. phyloseq-class
recommended."samples"
.
Whether the network should be samples or taxa/OTUs.
Supported arguments are "samples"
, "taxa"
,
where "taxa"
indicates using the OTUs/taxaindices,
whether they actually represent species or some other taxonomic rank. NOTE: not all distance methods are supported if "taxa"
selected for type. For example, the UniFrac distance and DPCoA
cannot be calculated for taxa-wise distances, because they use
a taxa-wise tree as part of their calculation between samples, and
there is no transpose-equivalent for this tree.
"jaccard"
.
Any supported argument to the method
parameter of the
distance
function is supported here.
Some distance methods, like "unifrac"
, may take
a non-trivial amount of time to calculate, in which case
you probably want to calculate the distance matrix separately,
save, and then provide it as the argument to distance
instead.
See below for alternatives). Alternatively, if you have already calculated the sample-wise distance
object, the resulting dist
-class object
can be provided as distance
instead (see examples).
A third alternative is to provide a function that takes a sample-by-taxa matrix (typical vegan orientation) and returns a sample-wise distance matrix.
0.4
.
The maximum ecological distance (as defined by distance
)
allowed between two samples to still consider them ``connected''
by an edge in the graphical model.FALSE
. Logical.
Whether to keep isolates (un-connected samples, not microbial isolates)
in the graphical model that is returned. Default results in isolates
being removed from the object.distance
.igraph
-class object.plot_network
# # Example plots with Enterotype Dataset
data(enterotype)
ig <- make_network(enterotype, max.dist=0.3)
plot_network(ig, enterotype, color="SeqTech", shape="Enterotype", line_weight=0.3, label=NULL)
#
ig1 <- make_network(enterotype, max.dist=0.2)
plot_network(ig1, enterotype, color="SeqTech", shape="Enterotype", line_weight=0.3, label=NULL)
#
# # Three methods of choosing/providing distance/distance-method
# Provide method name available to distance() function
ig <- make_network(enterotype, max.dist=0.3, distance="jaccard")
# Provide distance object, already computed
jaccdist <- distance(enterotype, "jaccard")
ih <- make_network(enterotype, max.dist=0.3, distance=jaccdist)
# Provide "custom" function.
ii <- make_network(enterotype, max.dist=0.3, distance=function(x){vegan::vegdist(x, "jaccard")})
# The have equal results:
all.equal(ig, ih)
all.equal(ig, ii)
#
# Try out making a trivial "network" of the 3-sample esophagus data,
# with weighted-UniFrac as distance
data(esophagus)
ij <- make_network(esophagus, "samples", "unifrac", weighted=TRUE)
Run the code above in your browser using DataLab