ngraph | R Documentation |
the ngraph
class contains a (completely general) graph
representation of a neuron's connectivity in an igraph
object. It
may additionally contain vertex label or position data. See details.
ngraph()
creates an ngraph from edge and vertex information.
as.ngraph
converts an object to an ngraph
as.ngraph.dataframe
construct ngraph from a data.frame
containing SWC format data
as.ngraph.neuron
construct ngraph from a neuron
ngraph(
el,
vertexlabels,
xyz = NULL,
diam = NULL,
directed = TRUE,
weights = FALSE,
vertex.attributes = NULL,
graph.attributes = NULL
)
as.ngraph(x, ...)
## S3 method for class 'data.frame'
as.ngraph(x, directed = TRUE, ...)
## S3 method for class 'neuron'
as.ngraph(x, directed = TRUE, method = c("swc", "seglist"), ...)
el |
A two columm matrix (start, end) defining edges. |
vertexlabels |
Integer labels for graph - the edge list is specified using these labels. |
xyz |
3D coordinates of vertices (optional, Nx3 matrix, or Nx4 matrix when 4th column is assumed to be diameter) |
diam |
Diameter of neuron at each vertex (optional) |
directed |
Whether the resultant graph should be directed (default TRUE) |
weights |
Logical value indicating whether edge weights defined by the
3D distance between points should be added to graph (default |
vertex.attributes , graph.attributes |
List of named attributes to be
added to the graph. The elements of |
x |
Object to convert (see method descriptions) |
... |
Arguments passed to methods |
method |
Whether to use the swc data (x$d) or the seglist to define neuronal connectivity to generate graph. |
Note that the as.ngraph.neuron
method always keeps the
original vertex labels (a.k.a. PointNo) as read in from the original file.
an igraph
object with additional class ngraph
, having a
vertex for each entry in vertexlabels, each vertex having a label
attribute. All vertices are included whether connected or not.
We make the following assumptions about neurons coming in
They have an integer vertex label that need not start from 1 and that may have gaps
The edge list which defines connectivity specifies edges using pairs of vertex labels, _not_ raw vertex ids.
We make no attempt to determine the root points at this stage.
The raw vertex ids in the graph will be in the order of vertexlabels and
can therefore be used to index a block of vertex coordinates. The
vertexlabels will be stored using the vertex attribute label
When the graph is directed (default) the edges will be from the root to the other tips of the neuron.
The morphology of the neuron is encoded by the combination of connectivity information (i.e. the graph) and spatial data encoded as the 3D position and diameter of each vertex. Position information is stored as vertex attributes X, Y, and Z.
igraph
, set_vertex_attr
,
subset.neuron
for example of graph-based manipulation of a
neuron.
Other neuron:
neuron()
,
plot.neuron()
,
potential_synapses()
,
prune()
,
resample()
,
rootpoints()
,
spine()
,
subset.neuron()
g=as.ngraph(Cell07PNs[[1]])
library(igraph)
# check that vertex attributes of graph match X position
all.equal(V(g)$X, Cell07PNs[[1]]$d$X)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.