下載TCGA 表達數(shù)據(jù)并對照表型數(shù)據(jù)拿到表達矩陣

下載TCGA 表達數(shù)據(jù)并對照表型數(shù)據(jù)拿到表達矩陣

文章看得多的小伙伴都知道TCGA數(shù)據(jù)庫,大多研究者在文章里都利用過TCGA的數(shù)據(jù)來驗證他們的數(shù)據(jù)分析結(jié)果,所以TCGA數(shù)據(jù)的下載和分析,作為一名生信人員也必會,雖然我也下過,但是每次都忘記自己之前怎么下,都得重新研究,所以這次記下來和有需要的小伙伴一起分享~

TCGA (The cancer genome atlas, 癌癥基因組圖譜)(https://portal.gdc.cancer.gov), 由美國National Cancer Institute(NCI) 和 National Human Genome Research Institute(NHGRI) 于2006年聯(lián)合啟動的項目,目前TCGA已經(jīng)收錄了各種人類癌癥包括每個癌癥亞型在內(nèi)的臨床數(shù)據(jù),基因組,轉(zhuǎn)錄組,甲基化等數(shù)據(jù),是癌癥研究者驗證數(shù)據(jù)的重要數(shù)據(jù)來源。

官網(wǎng)會由于國內(nèi)網(wǎng)問題,需要耐心等加載,主頁如圖1所示

圖 1
  1. 主要按project 來尋找數(shù)據(jù)

  2. 主要按樣本的實驗信息和臨床信息來找尋數(shù)據(jù)

  3. 網(wǎng)頁分析功能

  4. 整合樣本臨床信息和樣本數(shù)據(jù)信息來篩選數(shù)據(jù)

  5. 按樣本的組織類型查詢數(shù)據(jù)點擊后與2的頁面一致

下載manifest 文件

示例帶大家一起下載下腎癌的表達矩陣選擇標(biāo)準(zhǔn)化后的FPKM表達矩陣,其它類似的數(shù)據(jù)下載類似,點擊‘Repository’ 進入圖2

圖 2
  1. Files 選擇 樣本得數(shù)據(jù)類型

  2. 選擇樣本的臨床特征

  3. 下載選擇好的manifast,利用此mnifast 為后續(xù)數(shù)據(jù)下載做準(zhǔn)備,此案例演示下載kidney 的表達矩陣,數(shù)據(jù)為標(biāo)準(zhǔn)化的FPKM 值,樣本包括Kidney cancer 的 KIRC 和KIRP

下載manifest 選中樣本的元數(shù)據(jù)

下載manifest 選中樣本的原數(shù)據(jù),一般包括樣本信息和實驗測序樣本編號的信息,在剛才的選擇頁面上點擊如圖3

圖 3

先把選好的樣本添加到 Cart,然后下載metadata,如圖4

圖 4

讀入json 在R中可以看到,元數(shù)據(jù)中有它的文件名,如圖5

圖 5

數(shù)據(jù)下載工具——gdc-client的下載

數(shù)據(jù)的下載要利用gdc-client,

下載地址 https://gdc.cancer.gov/access-data/gdc-data-transfer-tool

下載過程看圖6

圖 6

給大家演示的是在Windows 上的,下載后解壓,配置環(huán)境變量后就可以使用了,如圖7,8

圖 7
圖 8

現(xiàn)在指定剛才從TCGA 下載的 manifest 文件開始下載文件,下載在當(dāng)前路徑下,提前進入數(shù)據(jù)下載目錄:

gdc-client download -m gdc_manifest.2021-03-16_kidney.txt

同樣也是有時網(wǎng)不好會Connection error,需要多試幾次,等數(shù)據(jù)下載好就可以了

合并所有樣本數(shù)據(jù)

下載好的文件是長這樣的,如圖9,10,也就是一個樣本在一個文件夾,一個文件夾有一個txt文件,二列數(shù)據(jù),整理起來要是不用代碼,得發(fā)瘋,下面利用代碼R,就可以自動合并樣本得到所有樣本的表達矩陣

圖 9
圖 10

圖 10

利用代碼實現(xiàn)自動讀取每個文件夾下的下載數(shù)據(jù)

setwd('D:/bioTree/800-emt-m6a/')
# count_files = dir("kidney_fpkm/",pattern = "*.htseq.counts.gz$",recursive = T)
# 1. kidney cancer 表達數(shù)據(jù)的整理
fpkm_files = dir("kidney_KIRC_KIRP/",pattern = "*.FPKM.txt.gz$",recursive = T)
ex = function(x){
  result <- read.table(file.path("kidney_KIRC_KIRP/",x),row.names = 1,sep = "\t")
  return(result)
}
exp = lapply(fpkm_files,ex)
exp <- do.call(cbind,exp)
dim(exp)

把樣本數(shù)據(jù)對應(yīng)到元數(shù)據(jù)中的樣本名

上一步得到的 exp 是沒有樣本列名,需要讀入meta 信息,利用樣本合并的文件順序來到元數(shù)據(jù)中匹配樣本名,把樣本ID 重新作為列名

meta <- jsonlite::fromJSON("metadata.cart.2021-03-18_KIRP_FPKM.json")
colnames(meta)
ids <- meta$associated_entities;class(ids)
ids[[1]]
class(ids[[1]][,1])
ID = sapply(ids,function(x){x[,1]}) ## 文件id
file2id = data.frame(file_name = meta$file_name,
 ID = ID)
head(file2id$file_name)
head(fpkm_files)
fpkm_files2 = stringr::str_split(fpkm_files,"/",simplify = T)[,2]
fpkm_files2[1] %in% file2id$file_name
file2id = file2id[match(fpkm_files2,file2id$file_name),]
colnames(exp) = file2id$ID
exp[1:4,1:4]
dim(exp)

得到的矩陣如下

根據(jù)樣本ID 區(qū)分樣本是癌癥還是對照

Barcode 含義介紹

看樣本類型主要看Sample 類的編碼:


詳細介紹參見官網(wǎng)

https://gdc.cancer.gov/resources-tcga-users/tcga-code-tables/

接下來對表達矩陣進行樣本組的區(qū)分就可以進行下游分析了,不花錢的驗證數(shù)據(jù)就到手了~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容