【问题标题】:How can I highlight specific genes in Bioconductor Enhancedvolcano?如何突出显示 Bioconductor Enhancedvolcano 中的特定基因?
【发布时间】:2020-04-14 20:33:11
【问题描述】:

我喜欢包裹EnhancedVolcano。我的数据是 RNAseq,我用 DESeq2 对其进行分析。我想将结果绘制为火山图,在其中突出显示我选择的基因列表picked_genes。我已成功更改 pointSize 并且我正在使用 SelectLab 突出显示,但是当我想为所选基因赋予另一种颜色时,我会卡住。我在结果文件中添加了一个逻辑向量,指定要突出显示的基因。我试过了

col = ifelse... 

不起作用,所有点都是灰色的。

EnhancedVolcano(res_complete,
                lab = res_complete$gene_name,
                x = "log2FoldChange",
                y = "pvalue",
                pCutoff = 10e-3,
                FCcutoff = 1,
                xlim = c(-10, 10),
                ylim = c(0, -log10(10e-12)),
                col = (ifelse(res_complete$picked_genes == T, "forestgreen", "grey60")),
                pointSize = (ifelse(res_complete$picked_genes == T, 5, 0.5)),
                labSize = 2.5,
                selectLab = picked_genes,
                shape =  16,
                shade = res_complete$picked_genes == T,
                shadeFill = "forestgreen",
                shadeSize = 5,
                shadeLabel = res_complete$picked_genes,
                boxedLabels = TRUE,
                title = "DESeq2 results",
                subtitle = "Differential expression HC vs RA",
                caption = "FC cutoff, 1; p-value cutoff, 10e-3",
                legendPosition = "right",
                legendLabSize = 14,
                colAlpha = 0.9,
                drawConnectors = TRUE,
                hline = c(10e-8),
                widthConnectors = 0.2)

我也试过了:

colCustom =ifelse...

但我收到一条错误消息...

错误:美学长度必须为 1 或与数据 (58735) 相同:颜色

EnhancedVolcano(res_complete,
                lab = res_complete$gene_name,
                x = "log2FoldChange",
                y = "pvalue",
                pCutoff = 10e-3,
                FCcutoff = 1,
                xlim = c(-10, 10),
                ylim = c(0, -log10(10e-12)),
                colCustom = (ifelse(res_complete$picked_genes == T, "forestgreen", "grey60")),
                pointSize = (ifelse(res_complete$picked_genes == T, 5, 0.5)),
                labSize = 2.5,
                selectLab = picked_genes,
                shape =  16,
                shade = res_complete$picked_genes == T,
                shadeFill = "forestgreen",
                shadeSize = 5,
                shadeLabel = res_complete$picked_genes,
                boxedLabels = TRUE,
                title = "DESeq2 results",
                subtitle = "Differential expression HC vs RA",
                caption = "FC cutoff, 1; p-value cutoff, 10e-3",
                legendPosition = "right",
                legendLabSize = 14,
                colAlpha = 0.9,
                drawConnectors = TRUE,
                hline = c(10e-8),
                widthConnectors = 0.2)

有人能想出解决这个问题的办法吗?

【问题讨论】:

    标签: r ggplot2 bioconductor aesthetics


    【解决方案1】:

    我找到了,终于明白了。 colCustom 每个点都需要一对,一个颜色和一个名称。我创建了矩阵键值

    keyvals <- ifelse(
      res_complet$picked_genes < T, 'grey60',
               'forestgreen')
    names(keyvals)[keyvals == 'forestgreen'] <- 'picked'
    names(keyvals)[keyvals == 'grey60'] <- 'rest'
    

    ` 比我用它代替 col=

    `

    EnhancedVolcano(res_complete,
                    lab = res_complete$gene_name,
                    x = "log2FoldChange",
                    y = "pvalue",
                    pCutoff = 10e-3,
                    FCcutoff = 1,
                    xlim = c(-10, 10),
                    ylim = c(0, -log10(10e-12)),
                    pointSize = (ifelse(res_complete$picked_genes == T, 5, 0.5)),
                    labSize = 2.5,
                    shape = c(19, 19, 19, 19),
                    selectLab = picked_genes,
                    boxedLabels = TRUE,
                    title = "DESeq2 results",
                    subtitle = "Differential expression HC vs RA",
                    caption = "FC cutoff, 1; p-value cutoff, 10e-3",
                    legendPosition = "right",
                    legendLabSize = 14,
                    colCustom = keyvals,
                    colAlpha = 0.9,
                    drawConnectors = TRUE,
                    hline = c(10e-8),
                    widthConnectors = 0.2)
    

    `

    为了让所有点都可见,我在逻辑列 res_complete$picked_genes 之后对结果数据框进行了排序,并再次制作了火山。瞧

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-29
      • 2020-10-11
      • 2018-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-06
      相关资源
      最近更新 更多