IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 不是maf格式的somatic突变数据就没办法读入到maftools了么 -> 正文阅读

[C++知识库]不是maf格式的somatic突变数据就没办法读入到maftools了么

? ? ? ? 因为使用的是百度李彦宏的文章数据,大家会比较倾向于处理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为取前多少个基因画图。

画图结果:

?

?

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-07 13:40:26  更:2021-10-07 13:42:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 3:53:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码