ICGC数据下载和整理

ICGC数据下载和整理

1.数据下载

https://dcc.icgc.org/

https://dcc.icgc.org/releases/current/Projects

找到自己要的项目下载即可。以RECA-EU为例。

exp_seq.RECA-EU.tsv.gz
specimen.RECA-EU.tsv.gz

2. 整理表达矩阵

rm(list=ls())
library(tidyverse)
dat = data.table::fread("exp_seq.RECA-EU.tsv.gz",data.table = F)
dat[1:4,1:4]

##   icgc_donor_id project_code icgc_specimen_id icgc_sample_id
## 1       DO47068      RECA-EU         SP103448       SA507253
## 2       DO47068      RECA-EU         SP103448       SA507253
## 3       DO47068      RECA-EU         SP103448       SA507253
## 4       DO47068      RECA-EU         SP103448       SA507253

colnames(dat) 

##  [1] "icgc_donor_id"            "project_code"            
##  [3] "icgc_specimen_id"         "icgc_sample_id"          
##  [5] "submitted_sample_id"      "analysis_id"             
##  [7] "gene_model"               "gene_id"                 
##  [9] "normalized_read_count"    "raw_read_count"          
## [11] "fold_change"              "assembly_version"        
## [13] "platform"                 "total_read_count"        
## [15] "experimental_protocol"    "alignment_algorithm"     
## [17] "normalization_algorithm"  "other_analysis_algorithm"
## [19] "sequencing_strategy"      "raw_data_repository"     
## [21] "raw_data_accession"       "reference_sample_type"

我们需要count,基因id,还有样本ID和病人ID列。病人和样本ID合并为一列

dat = dat[,c(
  'icgc_specimen_id', 
  'icgc_donor_id',
  'gene_id', 
  'raw_read_count' 
)]
dat = unite(dat, "sample_id", icgc_specimen_id, icgc_donor_id)
head(dat)

##          sample_id         gene_id raw_read_count
## 1 SP103448_DO47068 ENSG00000000003           1986
## 2 SP103448_DO47068 ENSG00000000005              1
## 3 SP103448_DO47068 ENSG00000000419           1418
## 4 SP103448_DO47068 ENSG00000000457            252
## 5 SP103448_DO47068 ENSG00000000460            225
## 6 SP103448_DO47068 ENSG00000000938            382

长变宽,变成常见的表达矩阵的样子

exp = dat%>% pivot_wider(names_from = sample_id, values_from = raw_read_count) %>%
  column_to_rownames("gene_id") %>%
  as.matrix()
exp[1:3,1:3]

##                 SP103448_DO47068 SP103459_DO47072 SP103420_DO47056
## ENSG00000000003             1986              732              423
## ENSG00000000005                1                1               19
## ENSG00000000419             1418              295              216

3.分组信息

pd = data.table::fread('specimen.RECA-EU.tsv.gz',data.table = F)
colnames(pd)

##  [1] "icgc_specimen_id"                    "project_code"                       
##  [3] "study_specimen_involved_in"          "submitted_specimen_id"              
##  [5] "icgc_donor_id"                       "submitted_donor_id"                 
##  [7] "specimen_type"                       "specimen_type_other"                
##  [9] "specimen_interval"                   "specimen_donor_treatment_type"      
## [11] "specimen_donor_treatment_type_other" "specimen_processing"                
## [13] "specimen_processing_other"           "specimen_storage"                   
## [15] "specimen_storage_other"              "tumour_confirmed"                   
## [17] "specimen_biobank"                    "specimen_biobank_id"                
## [19] "specimen_available"                  "tumour_histological_type"           
## [21] "tumour_grading_system"               "tumour_grade"                       
## [23] "tumour_grade_supplemental"           "tumour_stage_system"                
## [25] "tumour_stage"                        "tumour_stage_supplemental"          
## [27] "digital_image_of_stained_section"    "percentage_cellularity"             
## [29] "level_of_cellularity"

pd = pd[,c(
  'icgc_specimen_id', 
  'icgc_donor_id', 
  'specimen_type' 
)]
pd = unite(pd, "sample_id", icgc_specimen_id, icgc_donor_id)
head(pd)

##          sample_id                 specimen_type
## 1 SP103444_DO47068 Primary tumour - solid tissue
## 2 SP103452_DO47068        Normal - blood derived
## 3 SP103448_DO47068 Primary tumour - solid tissue
## 4 SP103436_DO47064 Primary tumour - solid tissue
## 5 SP103440_DO47064        Normal - blood derived
## 6 SP103463_DO47072        Normal - blood derived

pd = pd[match(colnames(exp),pd$sample_id),]
identical(colnames(exp),pd$sample_id)

## [1] TRUE

table(pd$specimen_type) 

## 
## Normal - tissue adjacent to primary       Primary tumour - solid tissue 
##                                  45                                  91

Group = ifelse(str_detect(pd$specimen_type,"tumour"),
                       'tumor','normal')
table(Group)

## Group
## normal  tumor 
##     45     91

4.行名转换

有的数据下载下来就已经是symbol,不需要转换,也有的像这个一样是ENSEMBLID,简单转换一下。

library(tinyarray)
exp = trans_exp_new(exp)
save(exp,pd,Group,file = "RECA_exp_pd_Group.Rdata")
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,012评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,628评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,653评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,485评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,574评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,590评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,596评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,340评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,794评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,102评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,276评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,940评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,583评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,201评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,441评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,173评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,136评论 2 352

推荐阅读更多精彩内容