很多文章对于TCGA中的一些癌症都是联合分析的,比如TCGA-COAD和TCGA-READ,首先是它们的疾病特点和治疗方式存在很多相似之处,同时这样做也可以增大样本量。

如果你是使用TCGAbiolinks包下载的数据,那么它们的合并超级简单,直接cbind()即可!

文章目录

  • 加载数据和R包
  • 合并数据
  • 提取信息
  • 合并miRNA
  • 合并CNV
  • 合并SNP

加载数据和R包

数据都是之前下载好的,可以参考之前的推文:

我们直接加载TCGA-COAD和TCGA-READ的数据。

#library(TCGAbiolinks)# COAD
load(file = "./TCGA-mRNA/TCGA-COAD_mRNA.Rdata")
coad <- data# READ
load(file = "./TCGA-mRNA/TCGA-READ_mRNA.Rdata")
read <- data

合并数据

现在coadread都是SummarizedExperiment对象,并且具有相同的行和行名:

coad
## Loading required package: SummarizedExperiment
## Loading required package: MatrixGenerics
## Loading required package: matrixStats
##
## Attaching package: 'MatrixGenerics'
## The following objects are masked from 'package:matrixStats':
##
##     colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
##     colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
##     colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
##     colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
##     colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
##     colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
##     colWeightedMeans, colWeightedMedians, colWeightedSds,
##     colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
##     rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
##     rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
##     rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
##     rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
##     rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
##     rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
##     rowWeightedSds, rowWeightedVars
## Loading required package: GenomicRanges
## Loading required package: stats4
## Loading required package: BiocGenerics
##
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:stats':
##
##     IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
##
##     anyDuplicated, append, as.data.frame, basename, cbind, colnames,
##     dirname, do.call, duplicated, eval, evalq, Filter, Find, get, grep,
##     grepl, intersect, is.unsorted, lapply, Map, mapply, match, mget,
##     order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank,
##     rbind, Reduce, rownames, sapply, setdiff, sort, table, tapply,
##     union, unique, unsplit, which.max, which.min
## Loading required package: S4Vectors
##
## Attaching package: 'S4Vectors'
## The following objects are masked from 'package:base':
##
##     expand.grid, I, unname
## Loading required package: IRanges
##
## Attaching package: 'IRanges'
## The following object is masked from 'package:grDevices':
##
##     windows
## Loading required package: GenomeInfoDb
## Loading required package: Biobase
## Welcome to Bioconductor
##
##     Vignettes contain introductory material; view with
##     'browseVignettes()'. To cite Bioconductor, see
##     'citation("Biobase")', and for packages 'citation("pkgname")'.
##
## Attaching package: 'Biobase'
## The following object is masked from 'package:MatrixGenerics':
##
##     rowMedians
## The following objects are masked from 'package:matrixStats':
##
##     anyMissing, rowMedians
## class: RangedSummarizedExperiment
## dim: 60660 521
## metadata(1): data_release
## assays(6): unstranded stranded_first ... fpkm_unstrand fpkm_uq_unstrand
## rownames(60660): ENSG00000000003.15 ENSG00000000005.6 ...
##   ENSG00000288674.1 ENSG00000288675.1
## rowData names(10): source type ... hgnc_id havana_gene
## colnames(521): TCGA-A6-5664-01A-21R-1839-07
##   TCGA-D5-6530-01A-11R-1723-07 ... TCGA-A6-2683-01A-01R-0821-07
##   TCGA-A6-2683-11A-01R-A32Z-07
## colData names(107): barcode patient ... paper_vascular_invasion_present
##   paper_vital_statusread
## class: RangedSummarizedExperiment
## dim: 60660 177
## metadata(1): data_release
## assays(6): unstranded stranded_first ... fpkm_unstrand fpkm_uq_unstrand
## rownames(60660): ENSG00000000003.15 ENSG00000000005.6 ...
##   ENSG00000288674.1 ENSG00000288675.1
## rowData names(10): source type ... hgnc_id havana_gene
## colnames(177): TCGA-AG-3580-01A-01R-0821-07
##   TCGA-AF-2692-11A-01R-A32Z-07 ... TCGA-AG-3894-01A-01R-1119-07
##   TCGA-AG-3574-01A-01R-0821-07
## colData names(107): barcode patient ... paper_vascular_invasion_present
##   paper_vital_status

对于这样的数据我们直接合并即可,我认为这是目前合并两个癌种最方便的方法了!

# 直接cbind
colrectal <- cbind(coad,read)colrectal
## class: RangedSummarizedExperiment
## dim: 60660 698
## metadata(2): data_release data_release
## assays(6): unstranded stranded_first ... fpkm_unstrand fpkm_uq_unstrand
## rownames(60660): ENSG00000000003.15 ENSG00000000005.6 ...
##   ENSG00000288674.1 ENSG00000288675.1
## rowData names(10): source type ... hgnc_id havana_gene
## colnames(698): TCGA-A6-5664-01A-21R-1839-07
##   TCGA-D5-6530-01A-11R-1723-07 ... TCGA-AG-3894-01A-01R-1119-07
##   TCGA-AG-3574-01A-01R-0821-07
## colData names(107): barcode patient ... paper_vascular_invasion_present
##   paper_vital_status

得到的结果也是一个SummarizedExperiment对象。并且这个对象中各种信息也是保存好的,想用什么直接提取即可,非常方便。

但是这样合并可能涉及批次效应的问题,大家在实际使用时可根据自己的情况选择要不要去除批次效应!

提取信息

比如提取样本的临床信息,非常简单,甚至不需要重新下载:

clin <- as.data.frame(colData(colrectal))clin[1:10,1:10]
##                                                   barcode      patient
## TCGA-A6-5664-01A-21R-1839-07 TCGA-A6-5664-01A-21R-1839-07 TCGA-A6-5664
## TCGA-D5-6530-01A-11R-1723-07 TCGA-D5-6530-01A-11R-1723-07 TCGA-D5-6530
## TCGA-AA-3556-01A-01R-0821-07 TCGA-AA-3556-01A-01R-0821-07 TCGA-AA-3556
## TCGA-AA-3660-11A-01R-1723-07 TCGA-AA-3660-11A-01R-1723-07 TCGA-AA-3660
## TCGA-AA-3818-01A-01R-0905-07 TCGA-AA-3818-01A-01R-0905-07 TCGA-AA-3818
## TCGA-AA-3660-01A-01R-1723-07 TCGA-AA-3660-01A-01R-1723-07 TCGA-AA-3660
## TCGA-DM-A28G-01A-11R-A16W-07 TCGA-DM-A28G-01A-11R-A16W-07 TCGA-DM-A28G
## TCGA-AA-3976-01A-01R-1022-07 TCGA-AA-3976-01A-01R-1022-07 TCGA-AA-3976
## TCGA-G4-6307-01A-11R-1723-07 TCGA-G4-6307-01A-11R-1723-07 TCGA-G4-6307
## TCGA-AA-3522-11A-01R-A32Z-07 TCGA-AA-3522-11A-01R-A32Z-07 TCGA-AA-3522
##                                        sample shortLetterCode
## TCGA-A6-5664-01A-21R-1839-07 TCGA-A6-5664-01A              TP
## TCGA-D5-6530-01A-11R-1723-07 TCGA-D5-6530-01A              TP
## TCGA-AA-3556-01A-01R-0821-07 TCGA-AA-3556-01A              TP
## TCGA-AA-3660-11A-01R-1723-07 TCGA-AA-3660-11A              NT
## TCGA-AA-3818-01A-01R-0905-07 TCGA-AA-3818-01A              TP
## TCGA-AA-3660-01A-01R-1723-07 TCGA-AA-3660-01A              TP
## TCGA-DM-A28G-01A-11R-A16W-07 TCGA-DM-A28G-01A              TP
## TCGA-AA-3976-01A-01R-1022-07 TCGA-AA-3976-01A              TP
## TCGA-G4-6307-01A-11R-1723-07 TCGA-G4-6307-01A              TP
## TCGA-AA-3522-11A-01R-A32Z-07 TCGA-AA-3522-11A              NT
##                                       definition sample_submitter_id
## TCGA-A6-5664-01A-21R-1839-07 Primary solid Tumor    TCGA-A6-5664-01A
## TCGA-D5-6530-01A-11R-1723-07 Primary solid Tumor    TCGA-D5-6530-01A
## TCGA-AA-3556-01A-01R-0821-07 Primary solid Tumor    TCGA-AA-3556-01A
## TCGA-AA-3660-11A-01R-1723-07 Solid Tissue Normal    TCGA-AA-3660-11A
## TCGA-AA-3818-01A-01R-0905-07 Primary solid Tumor    TCGA-AA-3818-01A
## TCGA-AA-3660-01A-01R-1723-07 Primary solid Tumor    TCGA-AA-3660-01A
## TCGA-DM-A28G-01A-11R-A16W-07 Primary solid Tumor    TCGA-DM-A28G-01A
## TCGA-AA-3976-01A-01R-1022-07 Primary solid Tumor    TCGA-AA-3976-01A
## TCGA-G4-6307-01A-11R-1723-07 Primary solid Tumor    TCGA-G4-6307-01A
## TCGA-AA-3522-11A-01R-A32Z-07 Solid Tissue Normal    TCGA-AA-3522-11A
##                              sample_type_id
## TCGA-A6-5664-01A-21R-1839-07             01
## TCGA-D5-6530-01A-11R-1723-07             01
## TCGA-AA-3556-01A-01R-0821-07             01
## TCGA-AA-3660-11A-01R-1723-07             11
## TCGA-AA-3818-01A-01R-0905-07             01
## TCGA-AA-3660-01A-01R-1723-07             01
## TCGA-DM-A28G-01A-11R-A16W-07             01
## TCGA-AA-3976-01A-01R-1022-07             01
## TCGA-G4-6307-01A-11R-1723-07             01
## TCGA-AA-3522-11A-01R-A32Z-07             11
##                                                         sample_id
## TCGA-A6-5664-01A-21R-1839-07 3048539a-b914-4e43-b1cc-43ea707e3b3d
## TCGA-D5-6530-01A-11R-1723-07 50560725-c72d-4bab-b602-5e50e6bececd
## TCGA-AA-3556-01A-01R-0821-07 4794413c-ed92-451c-a3ce-f411fed5ca82
## TCGA-AA-3660-11A-01R-1723-07 a0832917-75b9-45c8-9273-009c3737a43a
## TCGA-AA-3818-01A-01R-0905-07 0cf35153-2c04-4bdd-91e0-d63cb98da5bf
## TCGA-AA-3660-01A-01R-1723-07 87cf1a20-2dc5-4c06-b0c4-16103be40ef0
## TCGA-DM-A28G-01A-11R-A16W-07 f5acd8b8-32c4-4f3c-aacd-259f8e1fdfee
## TCGA-AA-3976-01A-01R-1022-07 8d529023-abca-4ddc-a265-d5bd1fd48708
## TCGA-G4-6307-01A-11R-1723-07 801b8d05-2d29-4f8c-8d8d-634b2e21b867
## TCGA-AA-3522-11A-01R-A32Z-07 218bbd07-5fa3-4946-a2c1-0ece13466441
##                                      sample_type days_to_collection
## TCGA-A6-5664-01A-21R-1839-07       Primary Tumor                 NA
## TCGA-D5-6530-01A-11R-1723-07       Primary Tumor                 NA
## TCGA-AA-3556-01A-01R-0821-07       Primary Tumor                 NA
## TCGA-AA-3660-11A-01R-1723-07 Solid Tissue Normal                 NA
## TCGA-AA-3818-01A-01R-0905-07       Primary Tumor                 NA
## TCGA-AA-3660-01A-01R-1723-07       Primary Tumor                 NA
## TCGA-DM-A28G-01A-11R-A16W-07       Primary Tumor               3419
## TCGA-AA-3976-01A-01R-1022-07       Primary Tumor                 NA
## TCGA-G4-6307-01A-11R-1723-07       Primary Tumor                 NA
## TCGA-AA-3522-11A-01R-A32Z-07 Solid Tissue Normal                 NAdim(clin)
## [1] 698 107colnames(clin)[10:30]
##  [1] "days_to_collection"        "state"
##  [3] "initial_weight"            "intermediate_dimension"
##  [5] "pathology_report_uuid"     "submitter_id"
##  [7] "shortest_dimension"        "oct_embedded"
##  [9] "longest_dimension"         "is_ffpe"
## [11] "tissue_type"               "synchronous_malignancy"
## [13] "ajcc_pathologic_stage"     "days_to_diagnosis"
## [15] "treatments"                "last_known_disease_status"
## [17] "tissue_or_organ_of_origin" "days_to_last_follow_up"
## [19] "age_at_diagnosis"          "primary_diagnosis"
## [21] "prior_malignancy"

现在一共有698行,107列临床信息,你想要的生存时间、生存状态、样本类型、分期等信息都在里面,都不需要自己手动划分,想要什么直接取子集就好了。

比如大家最喜欢的生存信息:

clin_subset <- clin[,c("days_to_last_follow_up","vital_status")]head(clin_subset)
##                              days_to_last_follow_up vital_status
## TCGA-A6-5664-01A-21R-1839-07                    672        Alive
## TCGA-D5-6530-01A-11R-1723-07                    621        Alive
## TCGA-AA-3556-01A-01R-0821-07                    700        Alive
## TCGA-AA-3660-11A-01R-1723-07                   2375        Alive
## TCGA-AA-3818-01A-01R-0905-07                     NA         Dead
## TCGA-AA-3660-01A-01R-1723-07                   2375        Alive

合并miRNA

也是一样的操作。

rm(list = ls())load(file = "./TCGA-mirna/TCGA-COAD_miRNA.Rdata")
coad <- dataload(file = "./TCGA-mirna/TCGA-READ_miRNA.Rdata")
read <- data

可以看到两个表达矩阵的第一列(miRNA的名字),完全一样:

identical(coad$miRNA_ID,read$miRNA_ID)
## [1] TRUE

所以我们直接合并即可:

# 第一列都是
colrectal_mi <- cbind(coad,read[,-1])colrectal_mi[1:5,1:4]
##       miRNA_ID read_count_TCGA-A6-5664-01A-21H-1838-13
## 1 hsa-let-7a-1                                    6959
## 2 hsa-let-7a-2                                    6941
## 3 hsa-let-7a-3                                    7120
## 4   hsa-let-7b                                   31616
## 5   hsa-let-7c                                    4211
##   reads_per_million_miRNA_mapped_TCGA-A6-5664-01A-21H-1838-13
## 1                                                    8143.201
## 2                                                    8122.137
## 3                                                    8331.598
## 4                                                   36996.038
## 5                                                    4927.578
##   cross-mapped_TCGA-A6-5664-01A-21H-1838-13
## 1                                         N
## 2                                         N
## 3                                         N
## 4                                         N
## 5                                         N

但是miRNA的表达矩阵现在还有点问题,它包含3种信息:count/rpm/cross-mapped,而我们只需要count,所以还是要处理一下。

dim(colrectal_mi)
## [1] 1881 1891# 只要count
colrec_mi <- colrectal_mi[,c(1,seq(2,1891,by=3))]
dim(colrec_mi)
## [1] 1881  631# 改下列名
colnames(colrec_mi)[-1] <- substr(colnames(colrec_mi)[-1],12,39)colrec_mi[1:5,1:5]
##       miRNA_ID TCGA-A6-5664-01A-21H-1838-13 TCGA-A6-2683-01A-01T-0822-13
## 1 hsa-let-7a-1                         6959                        50288
## 2 hsa-let-7a-2                         6941                        50537
## 3 hsa-let-7a-3                         7120                        51098
## 4   hsa-let-7b                        31616                       143822
## 5   hsa-let-7c                         4211                         3943
##   TCGA-D5-6530-01A-11H-1722-13 TCGA-DM-A28G-01A-11H-A16S-13
## 1                        35778                        11788
## 2                        35334                        11588
## 3                        35980                        11885
## 4                        68674                        12086
## 5                          605                         1171

简单!

合并CNV

rm(list = ls())
load("G:/tcga/TCGA-CNV/TCGA-COAD_CNV.Rdata")
coad <- dataload("G:/tcga/TCGA-CNV/TCGA-READ_CNV.Rdata")
read <- datacolrec_cnv <- rbind(coad,read)head(colrec_cnv)
##                            GDC_Aliquot Chromosome    Start       End Num_Probes
## 1 741d4882-3a2c-4862-8402-636e6aebfdc6          1  3301765 247650984     129758
## 2 741d4882-3a2c-4862-8402-636e6aebfdc6          2   480597 241537572     132218
## 3 741d4882-3a2c-4862-8402-636e6aebfdc6          3  2170634  25586863      14093
## 4 741d4882-3a2c-4862-8402-636e6aebfdc6          3 25587626  25587698          3
## 5 741d4882-3a2c-4862-8402-636e6aebfdc6          3 25588064 197812401      93106
## 6 741d4882-3a2c-4862-8402-636e6aebfdc6          4  1059384 124538250      69561
##   Segment_Mean                       Sample
## 1      -0.0019 TCGA-AA-3556-10A-01D-0819-01
## 2      -0.0007 TCGA-AA-3556-10A-01D-0819-01
## 3      -0.0009 TCGA-AA-3556-10A-01D-0819-01
## 4      -1.9166 TCGA-AA-3556-10A-01D-0819-01
## 5       0.0023 TCGA-AA-3556-10A-01D-0819-01
## 6       0.0025 TCGA-AA-3556-10A-01D-0819-01

这个文件稍加整理就可以拿去给gistic用了。

合并SNP

rm(list = ls())load("G:/tcga/TCGA-SNP/TCGA-READ_SNP.Rdata")
read <- dataload("G:/tcga/TCGA-SNP/TCGA-COAD_SNP.Rdata")
coad <- datacolrec_snp <- rbind(coad,read)

这样以后再分析就可以用合并后的数据了!

新版TCGA不同癌种数据合并相关推荐

  1. 这些数据合并的神操作,你掌握几个?

    导读:在数据分析过程中,有时候需要将不同的数据文件进行合并处理.本文主要介绍三种数据合并方法. Pandas提供了多功能.高性能的内存连接操作,本质上类似于SQL等关系数据库,比如,merge.joi ...

  2. 这或许是全网最全 Python dataframe 数据合并方法汇总

    有位朋友面试阿里的数据岗位,面试官问关于Python的5种数据合并的函数,结果他蒙蔽了'... 那么,究竟是哪五个呢?今天,我们就来带大家了解一下,喜欢记得收藏.关注.点赞. 注意:完整代码.资料.技 ...

  3. 数据库数据 | TCGA数据库33种癌症的 miRNA Isoform Expression数据

    该数据是我自己下载整理过的数据. 下载日期:2021年8月25日 下载方式:TCGAbiolinks包 数据类型:RData 变量名称:mir_Count:mir_RPM path <- dir ...

  4. 新版TCGA数据库学习:批量下载新版TCGA数据

    众所周知,TCGA数据库改版了!!改的比之前更好用了! 对于常规转录组数据,主要是以下几点改变: 下载一次即可获得counts.TPM.FPKM三种类型的表达矩阵,再也不用单独下载了 自带gene s ...

  5. linux下载TCGA数据,TCGA数据库讲解与数据下载

    原标题:TCGA数据库讲解与数据下载 前几期,生信草堂和大家分享了一篇TCGA数据下载的文章,有小白表示TCGA还是好深奥,找不到下载地址的,看不懂数据格式.今天小编就从头开始,娓娓道来,再给大家介绍 ...

  6. 机器学习中的7种数据偏见

    作者 | Hengtee Lim 翻译 | Katie,责编 | 晋兆雨 出品 | AI科技大本营 头图 | 付费下载于视觉中国 机器学习中的数据偏差是一种错误,其中数据集的某些元素比其他元素具有更大 ...

  7. python用merge匹配和左连接_左手用R右手Python系列——数据合并与追加

    感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习,问答.求职一站式搞定! 本文作者:天善智能社区专家杜雨 今天这篇跟大家介绍R语言 ...

  8. Excel应该这么玩——5、三种数据:Excel也是系统

        Excel最常用的功能就是记录数据,把数据按照行列记录下来.这部分数据是源数据,是业务活动中最原始的流水账,作为后续操作的依据.为了从源数据中得出一定的结论,需要对源数据进行分析得出报表数据. ...

  9. PANDAS 数据合并与重塑(concat篇) 原创 2016年09月13日 19:26:30 47784 pandas作者Wes McKinney 在【PYTHON FOR DATA ANALYS

    PANDAS 数据合并与重塑(concat篇) 原创 2016年09月13日 19:26:30 标签: 47784 编辑 删除 pandas作者Wes McKinney 在[PYTHON FOR DA ...

最新文章

  1. 位运算+取某一位+java_Java位运算小节
  2. 动手写一个简单版的谷歌TPU
  3. 我要阻止做java开发的男朋友去创业型公司工作吗?
  4. AFN中请求序列化的设置
  5. linux中的软RAID实现,逻辑卷和btrfs文件系统
  6. mysql存储数据到cephfs_采用cephfs实现Elasticsearch数据持久化
  7. Yii 2.0 GII 访问404错误
  8. 学习3D图形引擎中使用的基本数学
  9. C#.NET 权限管理系统组件 - 大数据读写分离实现的例子
  10. java周边技术文摘
  11. C++ 11使用thread类多线程编程
  12. 【图文并茂】通过实例理解word2vec之Skip-gram
  13. vue+django实现下载文件
  14. 摩托罗拉linux软件下载,摩托罗拉手机软件驱动下载
  15. dhcp authoritative参数作用
  16. 1005. F.Snowy Roads最小生成树Kruskal算法
  17. 数据结构(2)时间复杂度——渐进时间复杂度、渐进上界、渐进下界
  18. 微软应用商城下载ShareX老出错
  19. 在进行原理图编译的时候提示警告:Net has no driving source
  20. 爬取豆瓣电影排行榜,并制作柱状图与3d柱状图

热门文章

  1. 马云创造阿里巴巴帝国秘诀
  2. 第三方微信登录 | 静默授权与网页授权的实现
  3. altera fpga 型号说明_Altera FPGA管脚说明
  4. signature=79628ed6ceb6a7f7dd3c2bec70171b45,Hvad kortene kan fortælle om kultur- og naturlandskabet
  5. win2012 r2 iis php,Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建wordpress博客教程
  6. 蓝桥杯 ALGO-1004 无聊的逗 01背包+回溯 python
  7. 还有人在质疑数据挖掘是泡沫吗?千万不要叶公好龙
  8. 设计模式——策略模式(多种促销优惠方案优化)
  9. 批处理之ren命令-可批量修改文件名
  10. 使用Tornado+Redis维护ADSL拨号服务器代理池