circosPlot | R Documentation |
Displays variable correlation among different blocks
## S3 method for class 'block.splsda'
circosPlot(
object,
comp = 1:min(object$ncomp),
cutoff,
color.Y,
blocks = NULL,
color.blocks,
color.cor,
var.names = NULL,
showIntraLinks = FALSE,
line = FALSE,
size.legend = 0.8,
ncol.legend = 1,
size.variables = 0.25,
size.labels = 1,
legend = TRUE,
legend.title = "Expression",
linkWidth = 1,
...
)
## S3 method for class 'block.plsda'
circosPlot(
object,
comp = 1:min(object$ncomp),
cutoff,
color.Y,
blocks = NULL,
color.blocks,
color.cor,
var.names = NULL,
showIntraLinks = FALSE,
line = FALSE,
size.legend = 0.8,
ncol.legend = 1,
size.variables = 0.25,
size.labels = 1,
legend = TRUE,
legend.title = "Expression",
linkWidth = 1,
...
)
## S3 method for class 'block.spls'
circosPlot(object, ..., group = NULL, Y.name = "Y")
## S3 method for class 'block.pls'
circosPlot(object, ..., group = NULL, Y.name = "Y")
object |
An object of class inheriting from |
comp |
Numeric vector indicating which component to plot. Default to all |
cutoff |
Only shows links with a correlation higher than |
color.Y |
a character vector of colors to be used for the levels of the outcome |
blocks |
Character or integer vector indicating which blocks to show. Default to all |
color.blocks |
a character vector of colors to be used for the blocks |
color.cor |
a character vector of two colors. First one is for the negative correlation, second one is for the positive correlation |
var.names |
Optional parameter. A list of length the number of blocks
in |
showIntraLinks |
if TRUE, shows the correlation higher than the threshold inside each block. |
line |
if TRUE, shows the overall expression of the selected variables. see examples. |
size.legend |
size of the legend |
ncol.legend |
number of columns for the legend |
size.variables |
size of the variable labels |
size.labels |
size of the block labels |
legend |
Logical. Whether the legend should be added. Default is TRUE. |
legend.title |
String. Name of the legend. Defaults to "Expression". |
linkWidth |
Numeric. Specifies the range of sizes used for lines linking the correlated variables (see details). Must be of length 2 or 1. Default to c(1). See details. |
... |
For object of class
For object of class |
group |
The grouping factor used when |
Y.name |
Character, the name of the |
circosPlot
function depicts correlations of variables selected with
block.splsda
or block.spls
among different blocks, using a
generalisation of the method presented in González et al 2012. If
ncomp
is specified, then only the variables selected on that component
are displayed.
The linkWidth
argument specifies the width of the links drawn.
If a vector of length 2 is provided, the smaller value will correspond to
a similarity values designated by cutoff
argument, while the
larger value will be used for a link with perfect similarity (1), if any.
If saved in an object, the circos plot will output the similarity
matrix and the names of the variables displayed on the plot (see
attributes(object)
).
Michael Vacher, Amrit Singh, Florian Rohart, Kim-Anh Lê Cao, Al J Abadi
Singh A., Gautier B., Shannon C., Vacher M., Rohart F., Tebbutt S. and Lê Cao K.A. (2016). DIABLO: multi omics integration for biomarker discovery. BioRxiv available here: http://biorxiv.org/content/early/2016/08/03/067611
mixOmics article:
Rohart F, Gautier B, Singh A, Lê Cao K-A. mixOmics: an R package for 'omics feature selection and multiple data integration. PLoS Comput Biol 13(11): e1005752
González I., Lê Cao K.A., Davis M.J., Déjean S. (2012). Visualising associations between paired 'omics' data sets. BioData Mining; 5(1).
block.splsda
, references and
http://www.mixOmics.org/mixDIABLO for more details.
data(nutrimouse)
Y = nutrimouse$diet
data = list(gene = nutrimouse$gene, lipid = nutrimouse$lipid)
design = matrix(c(0,1,1,1,0,1,1,1,0), ncol = 3, nrow = 3, byrow = TRUE)
nutrimouse.sgccda <- wrapper.sgccda(X=data,
Y = Y,
design = design,
keepX = list(gene=c(10,10), lipid=c(15,15)),
ncomp = 2,
scheme = "horst")
circosPlot(nutrimouse.sgccda, cutoff = 0.7)
## links widths based on strength of their similarity
circosPlot(nutrimouse.sgccda, cutoff = 0.7, linkWidth = c(1, 10))
## custom legend
circosPlot(nutrimouse.sgccda, cutoff = 0.7, size.legend = 1.1)
## more customisation
circosPlot(nutrimouse.sgccda, cutoff = 0.7, size.legend = 1.1, color.Y = 1:5,
color.blocks = c("green","brown"), color.cor = c("magenta", "purple"))
par(mfrow=c(2,2))
circosPlot(nutrimouse.sgccda, cutoff = 0.7, size.legend = 1.1)
## also show intra-block correlations
circosPlot(nutrimouse.sgccda, cutoff = 0.7,
size.legend = 1.1, showIntraLinks = TRUE)
## show lines
circosPlot(nutrimouse.sgccda, cutoff = 0.7, line = TRUE, ncol.legend = 1,
size.legend = 1.1, showIntraLinks = TRUE)
## custom line legends
circosPlot(nutrimouse.sgccda, cutoff = 0.7, line = TRUE, ncol.legend = 2,
size.legend = 1.1, showIntraLinks = TRUE)
par(mfrow=c(1,1))
## adjust feature and block names radially
circosPlot(nutrimouse.sgccda, cutoff = 0.7, size.legend = 1.1)
circosPlot(nutrimouse.sgccda, cutoff = 0.7, size.legend = 1.1,
var.adj = 0.8, block.labels.adj = -0.5)
## --- example using breast.TCGA data
data("breast.TCGA")
data = list(mrna = breast.TCGA$data.train$mrna,
mirna = breast.TCGA$data.train$mirna,
protein = breast.TCGA$data.train$protein)
list.keepX = list(mrna = rep(20, 2), mirna = rep(10,2), protein = c(10, 2))
TCGA.block.splsda = block.splsda(X = data,
Y =breast.TCGA$data.train$subtype,
ncomp = 2, keepX = list.keepX,
design = 'full')
circosPlot(TCGA.block.splsda, cutoff = 0.7, line=TRUE)
## show only first 2 blocks
circosPlot(TCGA.block.splsda, cutoff = 0.7, line=TRUE, blocks = c(1,2))
## show only correlations including the mrna block features
circosPlot(TCGA.block.splsda, cutoff = 0.7, blocks.link = 'mrna')
data("breast.TCGA")
data = list(mrna = breast.TCGA$data.train$mrna, mirna = breast.TCGA$data.train$mirna)
list.keepX = list(mrna = rep(20, 2), mirna = rep(10,2))
list.keepY = c(rep(10, 2))
TCGA.block.spls = block.spls(X = data,
Y = breast.TCGA$data.train$protein,
ncomp = 2, keepX = list.keepX,
keepY = list.keepY, design = 'full')
circosPlot(TCGA.block.spls, group = breast.TCGA$data.train$subtype, cutoff = 0.7,
Y.name = 'protein')
## only show links including mrna
circosPlot(TCGA.block.spls, group = breast.TCGA$data.train$subtype, cutoff = 0.7,
Y.name = 'protein', blocks.link = 'mrna')
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.