因为使用的是百度李彦宏的文章数据,大家会比较倾向于处理tcga的肿瘤突变数据,虽然仅仅是输入数据的不一样,后续分析都是靠 maftools 这个包,maftools 全能无需我再吹嘘,必须花十几个小时认真掌握它!

假如大家是在 https://xenabrowser.net/datapages/ ,找到   GDC TCGA Breast Cancer (BRCA) (20 datasets) ,数据库提供了4种somatic突变的maf文件供下载,somatic mutation (SNPs and small INDELs) ,一般来说我们选择GATK团队出品的MuTect2 软件拿到的somatic突变数据文件;

  • MuTect2 Variant Aggregation and Masking (n=986) GDC Hub

这个时候呢,你会发现下载的突变数据是tsv格式,并不是maf格式,读入这样的tsv格式的肿瘤突变是信息需要一定技巧哦!

Data from different samples is combined into mutationVector; "Hugo_Symbol", "Chromosome", "Start_Position", "End_Position", "Reference_Allele", "Tumor_Seq_Allele2", "Tumor_Sample_Barcode", "HGVSp_Short" and "Consequence" data are renamed accordingly and presented; "dna_vaf" data is added and is calculated by "t_alt_count"/"t_depth".

如下所示的文件;

https://gdc-hub.s3.us-east-1.amazonaws.com/download/TCGA-BRCA.mutect2_snv.tsv.gz

如果我们仅仅是读入 TCGA-BRCA.mutect2_snv.tsv.gz,会发现它没办法导入到maftools包。

我简单的修改了一下读入方式,代码如下:

rm(list = ls())
require(maftools)##同library,加载包
options(stringsAsFactors = F)
library(data.table)
setwd("C:\\Users\\23217\\Desktop\\8")
tmp=fread('TCGA-BRCA.mutect2_snv.tsv.gz')
##fread类似于read.table,但更快捷。能自动检测 sep, colClasses 和nrows 等控件。
head(tmp)
colnames(tmp) =c( "Tumor_Sample_Barcode", "Hugo_Symbol", "Chromosome", "Start_Position", "End_Position", "Reference_Allele", "Tumor_Seq_Allele2", "HGVSp_Short" , 'effect' ,"Consequence","vaf" )
##将原矩阵的  列名  更换  为上述。
tmp$Entrez_Gene_Id =1
tmp$Center ='ucsc'
tmp$NCBI_Build ='GRCh38'
tmp$NCBI_Build ='GRCh38'
tmp$Strand ='+'
tmp$Variant_Classification = tmp$effect
##在数据结构中添加上述部分
tail(sort(table(tmp$Variant_Classification )))
##table()为 总结 表格中  各变量出现次数。
##sort为升序或降序排列变量
##tail  返回向量矩阵的最后部分tmp$Tumor_Seq_Allele1 = tmp$Reference_Allele
tmp$Variant_Type = ifelse(tmp$Reference_Allele %in% c('A','C','T','G') & tmp$Tumor_Seq_Allele2 %in% c('A','C','T','G'),'SNP','INDEL'
)
##ifelse(cond,statment1,statment2) 如果cond成立,执行statment1,否则执行statment2,可以对数据做递归循环。
##{
####%in%相当于match()函数的一个缩写。用来判断一个数组或矩阵是否包含在另一个数组或矩阵里。举个例子一目了然:
####首先复制两个变量a和b
####  a <- 1:5
####  b <- 3:7
####  a %in% b    #看a的元素是否包含在b中     输出结果如下:
####  [1] FALSE FALSE  TRUE  TRUE  TRUE
##}table(tmp$Variant_Type )
tcga.brca = read.maf(maf = tmp,vc_nonSyn=names(tail(sort(table(tmp$Variant_Classification )))))
##read.maf读取以制表符作为分隔的maf文件oncoplot(maf = tcga.brca, top = 10) # 高频突变的前10个基因
##oncoplot(maf, top)   maf为read.maf产生的maf对象,,top为取前多少个基因画图。

画图结果:

不是maf格式的somatic突变数据就没办法读入到maftools了么相关推荐

  1. r语言怎么把txt数据变成一个Rdata格式_甲基化芯片数据下载如何读入到R里面

    数据是一切的开始,前面我们介绍了一些背景知识,主要是理解什么是DNA甲基化,为什么要检测它,以及芯片和测序两个方向的DNA甲基化检测技术.具体介绍在:甲基化的一些基础知识,也了解了甲基化芯片的一般分析 ...

  2. maftools|TCGA肿瘤突变数据的汇总,分析和可视化

    之前介绍了使用maftools | 从头开始绘制发表级oncoplot(瀑布图) R-maftools包绘制组学突变结果(MAF)的oncoplot或者叫"瀑布图",以及一些细节的 ...

  3. 处理tcga突变数据一点思考

    TCGA突变数据 写在前面 泛癌mc3作图 学到的额外知识点 使用TCGAbiolinks下载数据 TCGA关于maf的注释 代码文件夹命名最好还是以英文命名,中文命名经常会出现错误 GTF文件有的以 ...

  4. R语言把dataframe数据转化为tibble格式、查看每个数据列的缺失值个数、使用数据列的均值对数据列的缺失值进行填充

    R语言把dataframe数据转化为tibble格式.查看每个数据列的缺失值个数.使用数据列的均值对数据列的缺失值进行填充 目录

  5. 【Android RTMP】音频数据采集编码 ( AAC 音频格式解析 | FLV 音频数据标签解析 | AAC 音频数据标签头 | 音频解码配置信息 )

    文章目录 安卓直播推流专栏博客总结 一. AAC 音频格式解析 二. FLV 音频数据标签解析 1. 分析 FLV 格式中的 AAC 音频格式数据 2. AAC 音频特殊配置 3. AAC 音频数据标 ...

  6. 【Android RTMP】x264 图像数据编码 ( NV21 格式中的 YUV 数据排列 | Y 灰度数据拷贝 | U 色彩值数据拷贝 | V 饱和度数据拷贝 | 图像编码操作 )

    文章目录 安卓直播推流专栏博客总结 一. NV21 图像数据中的 YUV 数据简介 二.向 x264 编码图片 三. 提取 NV21 数据中的灰度数据 Y 四. 提取 NV21 数据中的饱和度数据 U ...

  7. db2有MySQL那样的时间戳_MySQL 按照日期格式查询带有时间戳数据

    按照日期格式查询带有时间戳数据一般在MSQL数据库中的时间都是以时间戳的格式来存储时间的,但是对于我们来说,时间戳格式具体表示的是什么时间,我们很难一眼看出来,所以当我们要具体查询某一个时间或时间段的 ...

  8. mysql批量导入已经格式好的文本数据

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! mysq ...

  9. matlab数据显示格式,如何使用MATLAB以图形格式记录和显示数据

    图形表示形式总是有助于可视化数据,并且通过查看趋势和模式非常容易.有很多软件可以根据输入值绘制图形,但是在嵌入式系统中,MATLAB是最受欢迎的软件之一,它不仅可以以图形形式显示结果,而且可以轻松地与 ...

最新文章

  1. 【示例】Lucene查询索引库编程步骤
  2. 21. PE结构-PE各个结构的基本概念
  3. 数字资产价值巨大,GMQGroup深入布局挖掘数字财富
  4. 实现类似黑客帝国的字符流特效屏保
  5. FS7022双节锂电池8.4V保护IC电路图
  6. 超分辨率重构之SRCNN整理总结(七)
  7. solidworks电气元件3d库_丨部件库丨西门子3RV6电机保护开关
  8. 方法重写(override)遵循的原则
  9. Java面试题!mysql格式化查询结果
  10. mysql 定义取值范围_MySQL中各种字段的取值范围
  11. iOS视频添加水印两种方式(不用到第三方框架)
  12. 《被讨厌的勇气》书摘心得之一切烦恼都来自人际关系(2)
  13. 怎么把PDF分割成几个文件?分享几种分割方法
  14. 手机加密聊天软件功能文档(基于android系统)
  15. Python | 图片转文字
  16. C语言的fopen()函数
  17. excel 置信区间 计算_如何用excel计算 95%的置信区间
  18. 指针变量的定义和使用
  19. 计算机图像技术在医学上的应用,计算机图像处理技术在医学中的应用
  20. php如何跳过qq验证,QQ申诉如何跳过好友验证?免除好友验证即可申诉成功技能详解...

热门文章

  1. [NOIP模拟16]题解
  2. 隔行插入行——《超级处理器》应用
  3. 【excel】开启了循环引用怎么关闭
  4. [导入]干掉Google Base? 微软欲推Fremont服务
  5. uilable 上面加子视图图
  6. 平衡二叉树的调整(详解 LL、RR、LR、RL)
  7. Python类传参报错-TypeError:takes 2 positional arguments but 3 were given
  8. 每日一书:《性能测试从零开始loadrunner入门与提升》PDF高清版
  9. webpackjsonp 还原_EST:微生物介导下砷还原及其在铁氧化物上吸附/解吸耦合反应动力学模型...
  10. Mac网络正常但是所有浏览器无法上网问题解决