乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      不同的GSE數(shù)據(jù)集有不同的臨床信息,不同的分組技巧

       健明 2021-07-14

      最近,我發(fā)現(xiàn)學(xué)徒在學(xué)習(xí)GEO數(shù)據(jù)挖掘的過程中,遇到了第一個(gè)也是至關(guān)重要的一個(gè)難題就是對下載后的數(shù)據(jù)集進(jìn)行合適的分組,因?yàn)橹挥袑颖具M(jìn)行合適的分組,才有可能得到我們想要的信息。但是不同的GSE數(shù)據(jù)集有不同的臨床信息,那么我們應(yīng)該挑選合適的臨床信息來進(jìn)行分組呢?

      這里面涉及到兩個(gè)問題,首先是能否看懂?dāng)?shù)據(jù)集配套的文章,從而達(dá)到正確的生物學(xué)意義的分組,其次能否通過R代碼實(shí)現(xiàn)這個(gè)分組。同樣的我也是安排學(xué)徒完成了部分任務(wù)并且總結(jié)出來了!

      下面看學(xué)徒的表演(PS: 圖片較多的推文,排版真的是嚇?biāo)廊耍。?/p>

      Jimmy大神怎么說過,只有多做、多錯(cuò),才能真正的掌握。所以下面通過幾個(gè)實(shí)戰(zhàn)來說明。

      1. 首先是通過對一篇文獻(xiàn)Identification of potential core genes in triple negative breast cancer using bioinformatics analysis所用到的三個(gè)TNBC(Triple-Negative Breast Cancer)三陰性乳腺癌的三個(gè)數(shù)據(jù)集:GSE38959、GSE45827以及GSE62194進(jìn)行分組,首先對GSE38959進(jìn)行分析。

      library(GEOquery)
      # 這個(gè)包需要注意兩個(gè)配置,一般來說自動(dòng)化的配置是足夠的。
      #Setting options('download.file.method.GEOquery'='auto')
      #Setting options('GEOquery.inmemory.gpl'=FALSE)
      gset <- getGEO('GSE38959', destdir=".",
                    AnnotGPL = F,     ## 注釋文件
                    getGPL = F)       ## 平臺文件

      class(gset)  #查看數(shù)據(jù)類型
      length(gset)  #
      class(gset[[1]])
      # 因?yàn)檫@個(gè)GEO數(shù)據(jù)集只有一個(gè)GPL平臺,所以下載到的是一個(gè)含有一個(gè)元素的list
      a=gset[[1]] #
      dat=exprs(a) #a現(xiàn)在是一個(gè)對象,取a這個(gè)對象通過看說明書知道要用exprs這個(gè)函數(shù)
      dim(dat)#看一下dat這個(gè)矩陣的維度
      dat[1:4,1:4#查看dat這個(gè)矩陣的1至4行和1至4列,逗號前為行,逗號后為列
      pd=pData(a) #通過查看說明書知道取對象a里的臨床信息用pData

      pd就是這個(gè)數(shù)據(jù)集的臨床信息,查看后如下

      會(huì)發(fā)現(xiàn)有些信息是冗余的,有些是有效信息可以用來分組,但是表型記錄太多,看起來會(huì)混淆,所以需要去除那些冗余信息,就是在所有樣本里面表型記錄都一致的列。如何去冗余,見原文對表型數(shù)據(jù)框進(jìn)行去冗余。

      閱讀文章后發(fā)現(xiàn)原文把樣本分為2組:腫瘤與正常,而且總共只有43個(gè)樣本,而臨床信息有47個(gè)樣本,說明有效信息列含有3個(gè)或3個(gè)以上元素,可以再縮小范圍。(注意!如果樣本數(shù)剛好去冗余就行!)


      pd1=pd[,apply(pd, 2function(x){
      length(unique(x))>2})]  #縮小范圍
      dim(pd1)
      #[1] 47  9

      發(fā)現(xiàn)范圍已經(jīng)縮小很多。對數(shù)據(jù)框再用apply循環(huán)去查找文章作者是用哪一列來分組的

      apply(pd1,2,table)

      通過循環(huán),就可以清楚的知道該用哪一列來進(jìn)行分組啦

      然后是搜索關(guān)鍵字進(jìn)行分組

      TNBC=rownames(pd1[grepl('triple negative breast cancer cells',as.character(pd$`cell type:ch1`)),]) #腫瘤組
      NOR=rownames(pd1[grepl('mammary gland ductal cells',as.character(pd$`cell type:ch1`)),]) #正常組

      dat=dat[,c(TNBC,NOR)] #對表達(dá)矩陣取子集
      group_list=c(rep('TNBC',length(TNBC)) ,
               rep('NOR',length(NOR))) #分組信息
      table(group_list)
      #group_list
      #NOR TNBC 
      #13   30 

      第二個(gè)數(shù)據(jù)集GSE45827同樣的方法,重復(fù)的地方不贅述,從有差異的地方開始。


      文中為了2組,用了52個(gè)樣本。


      然后是搜索關(guān)鍵字進(jìn)行分組

      TNBC=rownames(pd[grepl('Human Basal Tumor Sample',as.character(pd$source_name_ch1)),]) #腫瘤組
      NOR=rownames(pd[grepl('Human Normal',as.character(pd$source_name_ch1)),]) #正常組

      dat=dat[,c(TNBC,NOR)]  
      group_list=c(rep('TNBC',length(TNBC)),
               rep('NOR',length(NOR)))  #分組信息

      table(group_list)
      #group_list
      #NOR TNBC 
      # 11   41

      第三個(gè)數(shù)據(jù)集同理


      2.選取OTSCC(Oral Tongue Squamous Cell Carcinoma)口腔舌鱗癌Integrative analysis of gene expression profiles reveals distinct molecular characteristics in oral tongue squamous cell carcinoma的GSE13601, GSE31056 and GSE78060三個(gè)數(shù)據(jù)集

      這里主要說一下GSE31056這一個(gè)數(shù)據(jù)集,需要一定的背景知識與細(xì)心才能正常分組,原文里


      如果用我們之前的方法找是找不到的,因?yàn)榧?xì)心點(diǎn)你會(huì)發(fā)現(xiàn)GSE給的位置不止tongue,還有mouth等,而文章只需要tongue。所以我們需要對數(shù)據(jù)集取子集。

      pd1=pd[,apply(pd, 2function(x){
      length(unique(x))>1})]
      pd1=pd1[grepl('tongue',as.character(pd$characteristics_ch1.2)),]
      apply(pd1,2,table)


      根據(jù)生物學(xué)相關(guān)知識,margin其實(shí)就屬于normal,所以就找出了分組。

      所以可以看到生物學(xué)知識多么重要:沒有生物學(xué)背景的數(shù)據(jù)分析很危險(xiǎn)

      TU=rownames(pd1[grepl('tumor',as.character(pd1$`site:ch1`)),]) #腫瘤
      NOR=rownames(pd1[grepl('margin',as.character(pd1$`site:ch1`)),])#正常
      dat=dat[,c(TU,NOR)]#取子集
      group_list=c(rep('TU',length(TU)), #分組信息
               rep('NOR',length(NOR)))
               table(group_list)
                #group_list
                #NOR  TU 
                # 39  12 

      3.分析關(guān)于ccRCC (clear cell renal cell carcinoma)腎透明細(xì)胞癌的一個(gè)GSE子集GSE53757

      下載數(shù)據(jù)、提取表達(dá)矩陣與臨床信息方法與前面一直,這里就不贅述,也是從有差異的地方開始。這里文章作者只需要第三期的正常與腫瘤組的樣本

      table(pd$`tissue:ch1`)
      table(pd$`tumor stage:ch1`)
      table(pd$source_name_ch1)


      通過table函數(shù),我們看到總共144個(gè)樣本,其中有72個(gè)正常與72個(gè)腫瘤樣本;第三期腫瘤和正常樣本總各有14個(gè),下面我們就需要提取我們需要的數(shù)據(jù)

      patient_t = pd[pd$`tissue:ch1`=='clear cell renal cell carcinoma' & 
       pd$`tumor stage:ch1`=='stage 3', ] #通過向量取交集的方式來取
      patient_n=pd[pd$source_name_ch1=='normal match to Stage 3 ccRCC',]

      colnames(dat)=as.character(pd[,1]) #表達(dá)矩陣的列名就是臨床信息的第一列
      dat=dat[,c(patient_t[,1],patient_n[,1])]#取子集
      group_list=rep(c('ccRCC','normal'),each=14#分組信息
      table(group_list)
      #group_list
      #ccRCC normal 
      #14     14 

      總結(jié)一下,我們可以根據(jù)自己的需求選取合適的代碼去進(jìn)行有效的分組,在不同的情況下選取最合適當(dāng)下的方法,方便自己去做后續(xù)的數(shù)據(jù)分析。

        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多