View source: R/RCX-Cytoscape-NetworkRelations.R
updateCyNetworkRelations | R Documentation |
This functions add network relations in the form of a CyNetworkRelations
object to an other CyNetworkRelations
or an
RCX object.
updateCyNetworkRelations( x, cyNetworkRelations, replace = TRUE, stopOnDuplicates = FALSE, ... ) ## S3 method for class 'CyNetworkRelationsAspect' updateCyNetworkRelations( x, cyNetworkRelations, replace = TRUE, stopOnDuplicates = FALSE, ... ) ## S3 method for class 'RCX' updateCyNetworkRelations( x, cyNetworkRelations, replace = TRUE, stopOnDuplicates = FALSE, checkReferences = TRUE, ... )
x |
RCX or |
cyNetworkRelations |
|
replace |
logical; if existing values are updated (or ignored) |
stopOnDuplicates |
logical; whether to stop, if duplicates in the child column are found |
... |
additional parameters |
checkReferences |
logical; whether to check if references to other aspects are present in the RCX object |
Cytoscape subnetworks allow to group a set of nodes and corresponding edges together, and network relations define the relations between those
networks.
CyNetworkRelations
objects can be added to an RCX or an other CyNetworkRelations
object.
When network relations are added to a CyNetworkRelations
or a RCX object some conflicts may rise, since the aspects
might use the same child IDs.
If the aspects do not share any child IDs, the two aspects are simply combined, otherwise, the properties of the child are updated.
If that is not wanted, the updating can be prevented by setting replace to FALSE
.
Furthermore, if duplicated properties are considered as a preventable mistake, an error can be raised by setting stopOnDuplicates
to TRUE
. This forces the function to stop and raise an error, if duplicated child IDs are present.
CyNetworkRelations
or RCX object with added network relations
## For CyNetworkRelationsAspects: ## prepare some aspects: cyNetworkRelations1 = createCyNetworkRelations( child = c(1,2), parent = c(NA,1), name = c("Network A", "View A"), isView = c(FALSE, TRUE) ) cyNetworkRelations2 = createCyNetworkRelations( child = 2, name = "View B", isView = TRUE ) ## update the duplicated child cyNetworkRelations3 = updateCyNetworkRelations(cyNetworkRelations1, cyNetworkRelations2) ## keep old child values cyNetworkRelations3 = updateCyNetworkRelations(cyNetworkRelations1, cyNetworkRelations2, replace=FALSE) ## Raise an error if duplicate keys are present try(updateCyNetworkRelations(cyNetworkRelations1, cyNetworkRelations2, stopOnDuplicates=TRUE)) ## =>ERROR: ## Elements of "child" (in updateCyNetworkRelations) ## must not contain duplicates! ## For RCX ## prepare RCX object: nodes = createNodes(name = c("a","b","c","d","e","f")) edges = createEdges(source=c(1,2,0,0,0,2), target=c(2,3,1,2,5,4)) rcx = createRCX(nodes, edges) cySubNetworks = createCySubNetworks( id = c(1,2), nodes = list("all", c(1,2,3)), edges = list("all", c(0,2)) ) rcx = updateCySubNetworks(rcx, cySubNetworks) ## add a network relation rcx = updateCyNetworkRelations(rcx, cyNetworkRelations1) ## add an additional relation (View A is replaced by B) rcx = updateCyNetworkRelations(rcx, cyNetworkRelations2) ## create a relation with a not existing subnetwork... cyNetworkRelations3 = createCyNetworkRelations( child = 9 ) ## ...and try to add them try(updateCyNetworkRelations(rcx, cyNetworkRelations3)) ## =>ERROR: ## Provided IDs of "additionalNetworkRelations$child" (in addCyNetworkRelations) ## don't exist in "rcx$cySubNetworks$id" ## create a relation with a not existing parent subnetwork... cyNetworkRelations4 = createCyNetworkRelations( child = 1, parent = 9 ) ## ...and try to add them try(updateCyNetworkRelations(rcx, cyNetworkRelations4)) ## =>ERROR: ## Provided IDs of "additionalNetworkRelations$parent" (in addCyNetworkRelations) ## don't exist in "rcx$cySubNetworks$id"
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.