R: Protein Structure Network Plots in 2D and 3D.

plot.cna {bio3d} | R Documentation

## Protein Structure Network Plots in 2D and 3D.

### Description

Plot a protein dynamic network as obtained from the cna function.

### Usage

      ## S3 method for class 'cna'
    plot(x, pdb = NULL, weights=NULL, vertex.size=NULL,
                layout=NULL, col=NULL, full=FALSE, scale=TRUE, color.edge = FALSE,
                interactive=FALSE, ...)

### Arguments

`x` | A protein network graph object as obtained from the ‘cna’ function.
`pdb` | A PDB structure object obtained from ‘read.pdb’. If supplied this will be used to guide the network plot ‘layout’, see ‘layout.cna’ for details.
`weights` | A numeric vector containing the edge weights for the network.
`vertex.size` | A numeric vector of node/community sizes. If NULL the size will be taken from the input network graph object ‘x’. Typically for ‘full=TRUE’ nodes will be of an equal size and for ‘full=FALSE’ community node size will be proportional to the residue membership of each community.
`layout` | Either a function or a numeric matrix. It specifies how the vertices will be placed on the plot. See ‘layout.cna’.
`col` | A vector of colors used for node/vertex rendering. If NULL these values are taken from the input network ‘V(x$community.network)$color’.
`full` | Logical, if TRUE the full all-atom network rather than the clustered community network will be plotted.
`scale` | Logical, if TRUE weights are scaled with respect to the network.
`color.edge` | Logical, if TRUE edges are colored with respect to their weights.
`interactive` | Logical, if TRUE interactive graph will be drawn where users can manually adjust the network (positions of vertices, colors of edges, etc.). Needs Tcl/Tk support in the installed R build.
`...` | Additional graphical parameters for ‘plot.igraph’.

### Details

This function calls ‘plot.igraph’ from the igraph package to plot cna networks the way we like them.

The plot layout is user settable, we like the options of: ‘layout.cna’, ‘layout.fruchterman.reingold’, ‘layout.mds’ or ‘layout.svd’. Note that first of these uses PDB structure information to produce a more meaningful layout.

Extensive plot modifications are possible by setting additional graphical parameters (...). These options are detailed in ‘igraph.plotting’. Common parameters to alter include:

vertex.label:

  Node labels, `V(x$network)$name`. Use NA to omit.

vertex.label.color:

  Node label colors, see also `vertex.label.cex` etc.

edge.color:

  Edge colors, `E(x$network)$color`.

mark.groups:

  Community highlighting, a community list object, see also `mark.col` etc.

### Value

Produces a network plot on the active graphics device. Also returns the plot layout coordinates silently, which can be passed to the ‘identify.cna’ function.

### Note

Be sure to check the correspondence of your ‘pdb’ object with your network object ‘x’, as few internal checks are currently performed by the ‘layout.cna’ function.

### Author(s)

Barry Grant and Guido Scarabelli

### References

Grant, B.J. et al. (2006) Bioinformatics 22, 2695–2696.

### See Also

`plot.igraph`, `plot.communities`, `igraph.plotting`

### Examples

    # PDB server connection required - testing excluded

    if (!requireNamespace("igraph", quietly = TRUE)) {
       message('Need igraph installed to run this example')
    } else {

    ##-- Build a CNA object
    pdb <- read.pdb("4Q21")
    modes <- nma(pdb)
    cij <- dccm(modes)
    net <- cna(cij, cutoff.cij=0.2)

    # Plot coarse grain network based on dynamically coupled communities
    xy <- plot.cna(net)
    #plot.dccm(cij, margin.segments=net$communities$membership)

    # Chose a different PDB informed layout for plot
    plot.cna(net, pdb)

    # Play with plot layout and colors...
    plot.cna(net, layout=igraph::layout.mds(net$community.network), col=c("blue","green") )

    # Plot full residue network colored by communities - will be slow due to number of edges!!
    plot.cna(net, pdb, full=TRUE)

    # Alter plot settings
    plot.cna(net, pdb, full=TRUE, vertex.size=3, weights=1, vertex.label=NA)

    }

[Package bio3d version 2.4-0 Index]