volcanoPlot {MatrixQCvis} | R Documentation

## Volcano plot of fold changes/differences against p-values

### Description

The function 'volcanoPlot' creates a volcano plot. On the y-axis the -log10(p-values) are displayed, while on the x-axis the fold changes/differences are displayed. The output of the function 'volcanoPlot' differs depending on the 'type' parameter. For 'type == "ttest"', the fold changes are plotted; for 'type == "proDA"', the differences are plotted.

### Usage

    volcanoPlot(df, type = c("ttest", "proDA"))

### Arguments

`df` | 'data.frame' as received from 'topTable' ('ttest') or 'test_diff' (proDA)
`type` | 'character'

### Details

Internal use in 'shinyQC'.

### Value

'plotly'

### Examples

    ## create se
    a <- matrix(1:100, nrow = 10, ncol = 10,
                dimnames = list(1:10, paste("sample", 1:10)))
    a[c(1, 5, 8), 1:5] <- NA
    set.seed(1)
    a <- a + rnorm(100)
    a_i <- imputeAssay(a, method = "MinDet")
    cD <- data.frame(sample = colnames(a),
        type = c(rep("1", 5), rep("2", 5)))
    rD <- data.frame(spectra = rownames(a))
    se <- SummarizedExperiment::SummarizedExperiment(assay = a,
                                    rowData = rD, colData = cD)
    se_i <- SummarizedExperiment::SummarizedExperiment(assay = a_i,
                                    rowData = rD, colData = cD)

    ## create model and contrast matrix
    modelMatrix_expr <- stats::formula("~ 0 + type")
    contrast_expr <- "type1-type2"
    modelMatrix <- model.matrix(modelMatrix_expr, data = colData(se))
    contrastMatrix <- limma::makeContrasts(contrasts = contrast_expr,
                                    levels = modelMatrix)

    ## ttest
    fit <- limma::lmFit(a_i, design = modelMatrix)
    fit <- limma::contrasts.fit(fit, contrastMatrix)
    fit <- limma::eBayes(fit, trend = TRUE)
    df_ttest <- limma::topTable(fit, n = Inf, adjust = "fdr", p = 0.05)
    df_ttest <- cbind(name = rownames(df_ttest), df_ttest)

    ## plot
    volcanoPlot(df_ttest, type = "ttest")

    ## proDA

    fit <- proDA::proDA(a, design = modelMatrix)
    df_proDA <- proDA::test_diff(fit = fit, contrast = contrast_expr,
            sort_by = "adj_pval")

    ## plot
    volcanoPlot(df_proDA, type = "proDA")

[Package MatrixQCvis version 1.0.0 Index]