TCGA视频第三章---GDC下载及数据整理

B站视频地址:https://www.bilibili.com/video/av49363776?from=search&seid=17709076368945641839
特此致谢:生信技能树

关于数据下载,其实有好多种方法,有firhose, 有XENA,甚至还有专门的R语言包比如TCGAbiolinks等等。当然GDC-client是官方软件下法,所以,我就选择了官方下载。这个在发表文章的时候应该可信度更高,也更为可靠。

​ 当然,我也差点被这一章逼疯。。。毕竟我前前后后看了不下10次,就差一个一个字听了。甚至一度出现了:字我都认识,连起来我就不懂的情况。

1.数据下载

首先,进入TCGA的官方网站,现在全部和GDC整合在了一起了。https://portal.gdc.cancer.gov/

捕获.JPG

点击蓝色方框:Repository
mirna的数据下载:见下图第一、二部分,选择好之后点击mainifest进行mainnifest的下载
clinical的下载:参见下图第三部分,同样是下载mainifest
此外!clinical一定一定记得下载他的 json,这个将在后面发挥非常大的作用。(鬼知道当时我经历了什么,差点要疯)

file.jpg

进入gdc-client的官方网站:https://gdc.cancer.gov/access-data/gdc-data-transfer-tool选择合适的版本进行下载,解压然后提前建好一个空文档用来准备装数据的
修改环境变量:控制面板--系统---高级设置---环境变量---path--编辑--新建(找到解压好gdc-client的路径添加进去)这样就可以直接调用,避免后面报错。然后,我发现,电脑终端是不是都有点像,Linux的终端还五彩斑斓一点。Linux的界面也好好看!

C:\Users\Lenovo>G:
G:\>cd mirna
G:\mirna>gdc-client.exe download -m G:\mirna\STAD-mirna.txt
(这个TXT就是之前的mianifest,直接把mainnifest往DOS窗口一拖,他就会自动显示路径了)

然后就是漫长的下载,ヽ( ̄︿ ̄ )—C<(/;◇;)/ 我下载了一天多,中间经历了突然断网,也没记得设置断点续传(能设置这个吗,我就当能吧。我下载数据的经历告诉我,半夜三四点的网速特别好。)下载了mianifest之后,记得改名字,不然分不清哪个是哪个。

提取临床信息

rm(list=ls())
options(stringsAsFactors = F)
#######Load the packages required to read XML files.
library("XML")
library("methods")
dir='G:/mirna/clinical' ##设置临床信息所在的路径
all_fiels=list.files(path = dir,pattern='*.xml$',recursive=T)
###
cl = lapply(all_fiels
              , function(x){
                result <- xmlParse(file = file.path(dir,x)) 
                rootnode <- xmlRoot(result)  
                xmldataframe <- xmlToDataFrame(rootnode[2]) 
                return(t(xmldataframe))
              })
###关于rootnode[1]还是rootnote[2]还是有区别的,参见下图,rootnode[1]提取的不是临床信息
cl_df <- t(do.call(cbind,cl))
save(cl_df,file = 'STAD-clinical.Rdata')
clinical1.JPG

提取表达矩阵

https://www.jianshu.com/p/af9b257c8a20
首先,谢谢小洁老师的教程,看着教程然后解决了一个难题
PS:我也不敢保证我接下来代码全对,因为这里当时真的非常混乱

###我是分开提取的,现在提取表达矩阵
rm(list=ls())
options(stringsAsFactors = F)
meta <- jsonlite::fromJSON("metadata.cart.2020-02-01.json")
###看到这个json文件了吗
entity <- meta$associated_entities
meta$associated_entities[[1]]
jh = function(x){as.character(x[4])}
###一定要记得看一下自己数据的submitter-id在第几列,有时候在第三列,有时候在第四列。
jh(entity[[1]])
###"TCGA-BR-8367-01A-11R-2343-13"

mis = dir("G:/mirna/micro-rna",pattern = "*mirnas.quantification.txt$",recursive = T)
ex = function(x){
result <- read.table(file.path("G:/mirna/micro-rna",x),sep = "\t",header = T)[,1:2]
return(result)}

head(mis)
ID = sapply(entity,jh)
file2id = data.frame(file_name = meta$file_name, ID = ID)

mis2 = stringr::str_split(mis,"/",simplify = T)[,2]
mis2[1] %in% file2id$file_name
head(match(mis2,file2id$file_name))
row_tcga = file2id[match(mis2,file2id$file_name),]
rownames(mi_df) = row_tcga$ID
mi_df[1:4,1:4]

吊诡的地方来了


cl+c.JPG

因为我一直想把表达矩阵和临床信息一起合并了,方便后面分析啥的。然而,问我打开两个数据框,表达矩阵和临床信息的ID不同。。。一个长,一个短,但是二者前10个字母相同的。既然都打开了excel,那么就在excel解决嘛!我知道可以用R,但是我想偷偷懒啊。


演示文稿1.jpg

效果如下:当然是保留前面那一列,后面不用我说了吧,用merge函数就完事儿了
b.JPG
rm(list=ls())
options(stringsAsFactors = F)
midf<-read.csv(file = "G:/mirna/process/mi_df.csv")
mirnacl<-read.csv(file = "G:/mirna/process/mirna-clinical.csv")
mirnaN<-merge(midf,mirnacl,by.x="bcr_patient_barcode",by.y="bcr_patient_barcode")
write.csv(mirnaN,file = "G:/mirna/process/mirnaN.csv")

至此,GDC的下载和整理就结束了,再往下就是下游分析了。
难是有点难,不过,陆陆续续也做了十来个小时。
最后,外面肺炎疫情严重,各位还是在家好好学习吧,记得做好防护。也希望一线的同行们平安归来。

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

推荐阅读更多精彩内容