qcustomplot绘制热力图瀑布图_maftools | 从头开始绘制发表级oncoplot(瀑布图)

5303be2f3ee2c92dbb21d5a2d87fbacf.png

本文首发于微信公众号 *“ 生信补给站 ” ,期待您的关注!!!*

原文链接:https://mp.weixin.qq.com/s/G-0PtaoO6bYuhx_D_Rlrlw

对于组学数据的分析和展示来说,maftools算是一个宝藏“R包”,可用于MAF格式的组学数据的汇总,分析和可视化展示。

随着癌症基因组学的进步, 突变注释格式 (MAF) 被广泛用于存储检测到的somatic variants。The Cancer Genome Atlas 项目对30多种不同的癌症进行了测序,每种癌症类型的样本量超过200种。maftools-R包能够有效的汇总,分析和可视化MAF格式的文件。

maftools函数主要分为可视化和分析两个模块,其主要功能及简短的描述如下所示,使用时只需读取MAF文件然后降MAF对象传递给所需要的绘图或分析功能即可。

9288b7bc5c2b9e484b4d4d4403b47384.png

本次主要使用R-maftools包绘制组学突变结果(MAF)的oncoplot或者叫“瀑布图”。

一、 载入R包,数据

1) 载入maftools包

if (!require("BiocManager"))
    install.packages("BiocManager")
BiocManager::install("maftools")

2) 载入数据

通过read.maf函数读入MAF文件,将各种数据(组学基因突变,拷贝数变异,临床数据,表达数据等)汇总并将其存储为MAF对象。

​
#TCGA-LAML MAF file (gz) 
laml.maf = system.file('extdata', 'tcga_laml.maf.gz', package = 'maftools') 
#clinical information (optional)
laml.clin = system.file('extdata', 'tcga_laml_annot.tsv', package = 'maftools') 
​
laml = read.maf(maf = laml.maf, clinicalData = laml.clin)

MAF对象中除了上面基因突变数据和对应的临床数据外,还可以加入拷贝数变异,表达数据等其他数据类型,后面需要的时候会添加。

二、 MAF对象汇总

1) 展示MAF重点变量的summary信息

#Shows sample summry.
getSampleSummary(laml)
#Shows gene summary.
getGe
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用QCustomPlot绘制瀑布图的示例代码: ``` #include <QApplication> #include "qcustomplot.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); // 创建QCustomPlot对象 QCustomPlot customPlot; // 设置瀑布图的数据 QVector<double> xData(100), yData(100), zData(100); for(int i=0; i<100; ++i) { xData[i] = i; yData[i] = i; zData[i] = qSin(qSqrt(i))*qCos(qSqrt(i)); } // 创建QCPColorMap对象 QCPColorMap *colorMap = new QCPColorMap(customPlot.xAxis, customPlot.yAxis); customPlot.addPlottable(colorMap); colorMap->data()->setSize(100, 100); colorMap->data()->setRange(QCPRange(0, 99), QCPRange(0, 99)); for(int x=0; x<100; ++x) { for(int y=0; y<100; ++y) { colorMap->data()->setCell(x, y, zData[x+y*100]); } } colorMap->setGradient(QCPColorGradient::gpHot); colorMap->rescaleDataRange(); // 创建QCPColorScale对象 QCPColorScale *colorScale = new QCPColorScale(customPlot); customPlot.plotLayout()->addElement(0, 1, colorScale); colorScale->setDataRange(colorMap->dataRange()); colorMap->setColorScale(colorScale); // 设置坐标轴标签和范围 customPlot.xAxis->setLabel("X"); customPlot.yAxis->setLabel("Y"); customPlot.xAxis->setRange(0, 99); customPlot.yAxis->setRange(0, 99); // 显示图形 customPlot.show(); return a.exec(); } ``` 这段代码中,首先创建了一个QCustomPlot对象,并设置了瀑布图的数据。然后创建了一个QCPColorMap对象,并将其作为可绘制对象添加到了QCustomPlot中。接着创建了一个QCPColorScale对象,并将其添加到了QCustomPlot的绘图布局中。最后设置了坐标轴标签和范围,并显示了图形。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值