其他
昨天我们生信技能树分享了 TCGA数据库免疫相关文件下载大全,里面给出来了2018年4月Immunity杂志上发表的文章The Immune Landscape of Cancer 整理好的49G的TCGA数据库文件,其中一个是甲基化信号值矩阵,单个文件就39G。
大量粉丝留言表示:基本上在中国大陆是无法下载的,希望我们生信技能树好人做到底,帮忙下载整理好。
通常呢,这样的要求我是拒绝的,毕竟绝大部分粉丝都是白嫖,一分钱不花,从来没有看到他打赏,但是提起要求来绝不含糊。就跟疫情期间那些耀武扬威的海外党,平时不交社保医保,这个时候想回国白嫖我们纳税人撑起来的医疗资源!我们不答应!
不过,生信技能树有一个宝藏男孩,唐医生,人如其名,偏向虎山行,用他的128G内存服务器,加上特殊手段,下载完了49G的TCGA数据库文件。而且还帮你把单个文件就39G甲基化信号值矩阵按照癌症拆分了,处理过程非常精彩。
下面是唐医生投稿的教程:
读取39G甲基化信号值矩阵按照癌症拆分
处理数据步骤 安装包
rm(list = ls())
options(stringsAsFactors = F)
###安装必须的包
if(!require('tidyverse')) install.packages('tidyverse')
if(!require('data.table')) install.packages('data.table')
读取甲基化矩阵数据
#######读取甲基化数据############# 另外也可以尝试使用vroom包中vroom函数读取
methy1<-data.table::fread('~/Desktop/jhu-usc.edu_PANCAN_HumanMethylation450.betaValue_whitelisted.tsv')
methy1[1:5,1:5]
这个时候不同读取代码速度不一样,但是39G甲基化信号值矩阵仍然是服务器级别的计算机才能hold住的哦。
千万不要使用最基础的文件读取函数哦!
TCGA 官网下载全部甲基化样本sample-sheet信息
TCGA 官网摸索教程,我们这里不细说了,下载如下信息:
把从gdc 下载官网 全部甲基化的sample sheet信息读入R进行处理。
sam<-read_tsv('/home/ftp/gdc_sample_sheet.2020-03-17.tsv')%>%
mutate(barcode=substr(`Sample ID`,1,12))%>%
dplyr::select(project=`Project ID`,barcode)
head(sam)
sample sheet信息文件如下:
构建甲基化样本注释信息
samp<-data.frame(sample=colnames(methy1),barcode=substr(colnames(methy1),1,12))%>%
dplyr::filter(row_number()!=1)%>%
left_join(.,sam,by='barcode')
head(samp)
批量分割提取数据
splitdata<-function(i=1){
tcga_type<-unique(samp$project)
barcode<-dplyr::filter(samp,project==tcga_type[i])###提取单个肿瘤的barcode
methy450<-dplyr::select(methy1,V1,barcode$sample) ##按sample id 提取单个肿瘤
save(methy450,file = paste0(tcga_type[i],'_methy450.Rdata')) ###按肿瘤类型分别保存
}
lapply(1:33,splitdata) # 精彩
拿到的文件如下:
用此同样的方法,也可以分割提取的pan cancer RNA-seq数据集!
这些文件都存储在百度云啦
如果你确实有需要,而唐医生也耗费了好几个小时做了这些工作,有必要稍微设置一下门槛!链接是:https://pan.baidu.com/s/1eI95uJC8tzDSbxdCkvrDog文末友情宣传
强烈建议你推荐给身边的博士后以及年轻生物学PI,多一点数据认知,让他们的科研上一个台阶:付费内容分割线
为有效杜绝黑粉跟我扯皮,设置一个付费分割线,这样它们就没办法复制粘贴我的代码,也不可能给我留言骂街了!世界顿时清净很多!(下面就是百度云链接的提取码!付费查看,所获得的收益,完全归唐医生所有,慰藉他辛苦整理好几个小时的付出。)
"},{querySelector:"qqmusic",genId:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(t.node.getAttribute("musicid")||"").replace(/^\s/,"").replace(/\s$/,"")+"_"+t.index},calW:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return 1*t.parentWidth},calH:function(){return 88},replaceContentCssText:"",appendContentCssText:"margin:16px 0;diplay:block;",outerContainerLeft:"",outerContainerRight:""},{querySelector:"mpvoice",genId:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=decodeURIComponent(t.node.getAttribute("voice_encode_fileid")||"").replace(/^\s/,"").replace(/\s$/,"");return e+"_"+t.index},calW:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return 1*t.parentWidth},calH:function(){return 122},replaceContentCssText:"",appendContentCssText:"margin:16px 0;diplay:block;",outerContainerLeft:"",outerContainerRight:""},{querySelector:"mppoi",genId:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t.node.getAttribute("data-id")||""},calW:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return 1*t.parentWidth},calH:function(){return 219},replaceContentCssText:"",appendContentCssText:"margin:16px 0;diplay:block;",outerContainerLeft:"",outerContainerRight:""},{querySelector:"mpsearch",genId:function(){return decodeURIComponent("mpsearch")},calW:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return 1*t.parentWidth},calH:function(){return 100},replaceContentCssText:"",appendContentCssText:"margin:16px 0;diplay:block;",outerContainerLeft:"",outerContainerRight:""},{querySelector:"mpvideosnap",genId:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.node.getAttribute("data-type")||"video";return"live"===e?decodeURIComponent(t.node.getAttribute("data-noticeid")||""):decodeURIComponent(t.node.getAttribute("data-id")||"")},calW:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.node.getAttribute("data-type")||"video",n=t.node.getAttribute("data-width")||"",r=t.node.getAttribute("data-height")||"";if("live"===e||"topic"===e)return t.parentWidth;if("image"===e)return.665*t.parentWidth;var i=1,o=0,a=0,d=!1;return 1===(i=n/r)||i===3/4||(i===4/3||i===16/9?d=!0:i1&&i4/3?d=!0:("number"!=typeof i||Object.is(i,NaN))&&(i=1)),t.node.setAttribute("data-datio",i),t.node.setAttribute("data-isHorizontal",d),o=(a=!0===d?t.parentWidth:window.innerWidth0&&void 0!==arguments[0]?arguments[0]:{},e=t.node.getAttribute("data-desc")||"",n=t.node.getAttribute("data-type")||"video",r=t.node.getAttribute("data-computedHeight")||"";switch(n){case"live":return e?152:116;case"topic":return 201;case"image":return e?this.calW(t)+44+35+27:this.calW(t)+44+35;case"video":return parseFloat(r)}},getBorderRadius:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.node.getAttribute("data-type")||"video";return"video"===e?4:8},replaceContentCssText:"",appendContentCssText:"margin:16px auto;diplay:block;",outerContainerLeft:"",outerContainerRight:""},{querySelector:"mp-wxaproduct",genId:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return decodeURIComponent(t.node.getAttribute("data-wxaproduct-productid")||"")},calW:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return 1*t.parentWidth},calH:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.node.getAttribute("data-wxaproduct-cardtype")||"";return"mini"===e?124:466},replaceContentCssText:"",appendContentCssText:"margin:16px 0;diplay:block;",outerContainerLeft:"",outerContainerRight:""},{querySelector:"mpprofile",genId:function(t){return t.node.getAttribute("data-id")||""},calW:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return 1*t.parentWidth},calH:function(){return 143},replaceContentCssText:"",appendContentCssText:"margin:16px 0 16px;diplay:block;",outerContainerLeft:"",outerContainerRight:""}]};!function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("function"==typeof document.querySelectorAll)for(var e={maxWith:document.getElementById("img-content").getBoundingClientRect().width,idAttr:"data-preloadingid"},n=0,r=t.config.length;n