View source: R/map_information_on_reaction_network.R
add_edge_attributes_from_data.frame | R Documentation |
igraph
object from data.frame
The function adds edge weights to a igraph
object g
. The
weights are stored in the attributes
object. The function will return
a igraph
object with updated edge weights.
The attributes
object is a data.frame
.
The data.frame
contains the columns vertex
, a
character
vector of length 2, specifying the out- and ingoing
vertices for the edge and the edge weights in the remaining columns. The
weights will be stored in the respective slots with same names as the
colnames
of attributes
of the returned igraph
object.#'
add_edge_attributes_from_data.frame(
g,
attributes,
column_from = "from",
column_to = "to"
)
g |
|
attributes |
|
column_from |
|
column_to |
|
vertex
has to be adjusted to the attributes
object.
The character
of length 2 will specify the columns
containing the out- and ingoing vertices of the graph.
igraph object
Thomas Naake, thomasnaake@googlemail.com
FA <- c("FA(12:0)", "FA(14:0)", "FA(16:0)")
## create data.frame with reactions and reaction order
reactions <- rbind(
c(1, "RHEA:15421", "M_ATP + M_CoA + M_FA = M_PPi + M_AMP + M_AcylCoA", FALSE),
c(2, "RHEA:15325", "M_Glycerol-3-P + M_AcylCoA = M_CoA + M_LPA", FALSE),
c(3, "RHEA:19709", "M_AcylCoA + M_LPA = M_CoA + M_PA", FALSE),
c(4, "RHEA:27429", "M_H2O + M_PA = M_Pi + M_1,2-DG", FALSE)
)
reactions <- data.frame(order = reactions[, 1], reaction_RHEA = reactions[, 2],
reaction_formula = reactions[, 3], directed = reactions[, 4])
reactions$order <- as.numeric(reactions$order)
reactions$directed <- as.logical(reactions$directed)
## create the list with reactions
reaction_l <- create_reactions(substrates = list(FA = FA), reactions = reactions)
## create the adjacency matrix
reaction_adj <- create_reaction_adjacency_matrix(reaction_l)
## create graph
g <- igraph::graph_from_adjacency_matrix(reaction_adj, mode = "directed", weighted = TRUE)
## attributes: data.frame
attributes <- data.frame(
rbind(
c("CoA(12:0)", "PA(12:0/0:0)", 0.5),
c("CoA(12:0)", "PA(14:0/12:0)", 0.8)
))
names(attributes) <- c("from", "to", "weight")
attributes$weight <- as.numeric(attributes$weight)
## apply the function
LipidNetworkPredictR:::add_edge_attributes_from_data.frame(g, attributes, column_from = "from",
column_to = "to")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.