plot.fluct | R Documentation |
Produces a plot of atomic fluctuations obtained from ensemble normal mode analysis or molecular dynamics simulations.
## S3 method for class 'fluct'
plot(x,
col = NULL, label = rownames(x), signif = FALSE,
p.cutoff = 0.005, q.cutoff = 0.04,
s.cutoff = 5, n.cutoff = 2, mean = FALSE, polygon = FALSE,
spread = FALSE, offset = 1,
ncore = NULL, ...)
x |
a numeric vector or matrix containing atomic fluctuation data obtained
from e.g. |
col |
a character vector of plotting colors. Used also to group fluctuation profiles. NA values in col will omit the corresponding fluctuation profile in the plot. |
label |
a character vector of plotting labels with length matching
|
signif |
logical, if TRUE significance of fluctuation difference is calculated and annotated for each atomic position. |
p.cutoff |
Cutoff of p-value to define significance. |
q.cutoff |
Cutoff of the mean fluctuation difference to define significance. |
s.cutoff |
Cutoff of sample size in each group to calculate the significance. |
n.cutoff |
Cutoff of consecutive residue positions with significant fluctuation difference. If the actual number is less than the cutoff, correponding postions will not be annotated. |
mean |
logical, if TRUE plot mean fluctuations of each group. Significance is still calculated with the original data. |
polygon |
logical, if TRUE a nicer plot with area under the line for the first
row of |
ncore |
number of CPU cores used to do the calculation. By default
( |
spread |
logical, if TRUE the fluctuation profiles are spread - i.e. not on top of each other. |
offset |
numerical offset value in use when ‘spread=TRUE’. |
... |
extra plotting arguments passed to |
The significance calculation is performed when signif=TRUE
and there are at least
two groups with sample size larger than or equal to s.cutoff
. A "two-sided"
student's t-test is performed for each atomic position (each
column of x
). If x
contains gaps, indicated by NA
s,
only non-gapped positions are considered. The position is considered significant if both
p-value <= p.cutoff
and the mean value difference of the two groups, q, satisfies
q >= q.cutoff
. If more than two groups are available, every pair of groups are
subjected to the t-test calculation and the minimal p-value along with the q-value
for the corresponding pair are used for the significance evaluation.
If significance is calculated, return a vector indicating significant positions.
Xin-Qiu Yao, Lars Skjaerven, Barry Grant
Grant, B.J. et al. (2006) Bioinformatics 22, 2695–2696.
plot.bio3d
, rmsf
, nma.pdbs
,
t.test
, polygon
.
## Not run:
## load transducin example data
attach(transducin)
## subset of pdbs to analyze
inds = c(1:5, 16:20)
pdbs <- trim(pdbs, row.inds=inds)
gaps.res = gap.inspect(pdbs$ali)
## reference RESNO and SSE for axis annotations
resno <- pdbs$resno[1, gaps.res$f.inds]
sse <- pdbs$sse[1, gaps.res$f.inds]
## eNMA calculation and obtain modes of motion including atomic fluctuations
modes <- nma(pdbs, ncore=NULL)
x = modes$fluctuation
## simple line plot with SSE annotation
plot.fluct(x, sse=sse, resno=resno)
## group data by specifying colors of each fluctuation line; same color indicates
## same group. Also do significance calculation and annotation
col = c(rep('red', 5), rep('blue', 5))
plot.fluct(x, col=col, signif=TRUE, sse=sse, resno=resno)
## spread lines
plot.fluct(x, col=col, signif=TRUE, sse=sse, resno=resno, typ='l', spread=TRUE)
## show only line of mean values for each group.
## Nicer plot with area shaded for the first group.
plot.fluct(x, col=col, signif=TRUE, sse=sse, resno=resno, mean=TRUE,
polygon=TRUE, label=c('GTP', 'GDI'))
detach(transducin)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.