劉小澤寫于18.9.9
今天了解一下背景知識,為下面進行芯片數據分析打下基礎
應用領域之基因芯片
Bioconductor的起源就是基因芯片分析,因此提供了芯片數據庫如GEO、ArrayExpress結口,方便獲取數據
芯片提供商:Affymetrix、Illumina、Nimblegen、Agilent
- Affemetrix 3‘-biased Arrays芯片數據需要affy、gcrma、affyPLM包,這三個包又依賴于芯片定義(CDF)、探針(Probe)、注釋(Annotation)三個包,后三個會隨前三個安裝而自動裝好;另外還需要手動安裝ROOT包,這個包可以直接使用Affymetrix的數據文件,支持的格式有CDF、PGF、CLF、CSV
- Affymetrix Exon ST Arrays與Affymetrix Gene ST Arrays芯片需要oligo包和xps包。Ologo包又需要調用pdInfoBuilder包來創建一個pdInfoPackage包,pdInfoPackage包的作用就是合并CDF、Probe、Annotation三種數據
- Affymetrix SNP Arrays、Affymetrix Tilling Arrays、Nimblegen Arrays芯片數據處理只需要oligo包
- Ilumina Expression Microarrays芯片數據需要lumi和beadarray包,這兩個包都有各自的映射包和注釋包:lumi需要lumiHumanAll.db、lumiHumanIDMapping包;beadarray需要illuminaHumanv1BeadID.db、illuminaHumanv1.db包
芯片類型:基因表達芯片、外顯子芯片、拷貝數變異檢測芯片、SNP芯片、DNA甲基化芯片等
芯片分析內容:預處理、質量評估、差異基因表達分析、基因集富集分析、遺傳基因組學
應用領域之測序數據
R也可以處理多種類型數據:fasta、fastq、SAM、BAM、Gff、Bed、Wig等,可以進行測序結果預處理(去除低質量、序列污染等)、格式轉換、序列比對、測序質量評估、RNA-seq、差異表達分析、ChIP-seq等
- SRAdb包是SRA數據庫的接口
- ShortRead包讀入測序數據,進行質控、預處理;Rsamtools將數據比對到參考基因組/轉錄組,完成格式轉變和比對結果統計;rtracklayer包將數據導入USCS基因組瀏覽器(http://genome-asia.ucsc.edu/)進行瀏覽、操作、輸出
- IRanges、GenomicRanges、genomeIntervals包是基于DNA區域(如染色體)進行數據操作的拓展包;Biostrings包含了序列比對、模式匹配等基本序列分析函數;BSgenome針對有注釋的全基因組數據進行操作;GenomicFeatures是對基因組中序列特征(如非編碼區)進行注釋
- RNA-seq可用的包有:limma(金標準)、edgeR、DESeq、DEXSeq(外顯子水平)、baySeq
- ChIP-seq:基序發現(Motif discovery)、結合位點檢測(Peak calling),可以用CSAR、chipseq、ChIPseqR、ChIPsim、ChIPpeakAnno、DiffBind、iSeq、rGADEM、segmentSeq、BayesPeak、PICS
更多的數據處理,可以看https://www.bioconductor.org/packages/release/BiocViews.html=》softeware=〉technology
應用領域之注釋
注釋既需要注釋工具,有需要鏈接注釋數據庫的接口,大體的注釋方式有三類
第一類:基于AnnotationDbi包的擴展包
絕大部分注釋包都依賴AnnotationDbi包,一旦biocLite安裝任何一個“.db”的注釋包,AnnotationDbi包都會自動安裝。這個包可以創建、操作“.db”,并且可以創建個性化的芯片平臺。它又可以分為三類注釋包
- 物種型注釋包:org.Mm.eg.db、org.Hs.eg.db、org.Rn.eg.db等
包括整個物種相關的基因數據,命名格式:"org.Xx.yy.db", Xx是種屬的縮寫(注意首字母大寫),“yy“來源數據庫ID,這個ID用于把所有數據連在一起。如:“org.Hs.eg.db”中Hs是種屬,eg是數據庫ID - 平臺型注釋包:如Affymetrix公司的hgu133plus2.db
依賴于具體的實驗平臺,命名格式:“platformName.db”。“platform”是芯片平臺名稱,如“hgu95av2.db”就是利用了Affymetrix公司的hgu95av2基因芯片;另外每個“.db”包還需要對應的“.cdf”、“.probe”,名稱分別為:“platformName.cdf”、“platformName.probe” - 系統生物學注釋包:用于下游分析,如基因功能分析(與上游),比如KEGG.db用來獲取KEGG數據庫的數據;GO.db用來獲取GO數據庫的數據;PFAM.db用來獲取不同蛋白家族的特征和相關性
第二類:基于biomaRt包獲取注釋
它與AnnotationDbi包雖然注釋信息都是來自遠程數據庫,但是AnnotationDbi是將注釋包本地化,而biomaRt只提供了一組數據接口,加載注釋內容嚴重依賴網絡,并且無需維護,不占用本地存儲,注釋信息自動更新。但它的功能最為強大,因為可以連接各個主要的是給你想你數據庫來獲取注釋信息和數據
應用領域之高通量實驗
包括流式細胞儀(Flow Cytometry)、定量PCR、質譜(Mass soectrometry)、蛋白質組及其他基于細胞水平的高通量實驗數據
定量PCR:HTqPCR、ddCt、qpcrNorm提供如何分析循環閾值(Cycle threshold)的方法
利用Bioconductor分析芯片數據
芯片分析主要就是利用bioconductor,分析的過程也體現了它的設計理念和編程思想
基因芯片背景知識
以Affymetrix為例,一個芯片可以包括上百萬探針(通常由25個堿基組成),被整齊印刷在芯片上。
探針組:一個探針組通常由20對個或11個探針對組成,來自一個基因
-
探針對:匹配探針(Perfect match, PM)+錯配探針(Mismatch, MM)。二者僅僅是中間的那個堿基不同。并非所有芯片都有這兩個探針,比如外顯子芯片,每個探針組只有4個PM探針,沒有MM探針
探針與探針對
探針序列來源:公共核酸數據庫中的參考序列(如NCBI的GenBank或RefSeq)
-
不同的芯片中,探針組在參考序列中的分布不同,也就是檢測范圍不同。3‘表達譜芯片探針組排列在參考序列3’末端附近的一至兩個外顯子上;外顯子芯片中,每個長度大于25個堿基的外顯子都有對應的探針組;鋪瓦芯片(Tilling array)中,探針基本覆蓋了所有的外顯子和內含子
探針組與基因
探針組與基因關系:芯片數據得到的表達矩陣,實際上是以探針組為單位,而不是直接以基因為單位,每一行對應一個探針組的表達量。后期的分析都是先得到探針組的結果,然后根據注釋的ID映射才對應到基因。一般是一個基因同時對應多個探針組。通常會把同一個基因對應的探針組表達量求均值,然后找最大的那個探針組作為代表,讓它與該基因一一對應
-
芯片數據獲取:一是掃描設備對芯片進行掃描,得到熒光信號圖像文件(DAT文件);二是由系統自帶的圖像處理軟件,經過網格定位(Griding)、雜交點范圍確定(Spot identifying)、背景噪音過濾(Noise filtering),從芯片圖像中提取數據,得到CEL文件
芯片產生的數據文件
關于Affymetrix的數據處理過程:https://slideplayer.com/slide/4804237/
- CEL文件:CEL文件是Affymetrix最常用的格式,它的主要內容就是每個“cell”的灰度信息,而“cell”就是整個芯片圖像劃分后得到的小網格,每個小網格中的圖像被看作來自一個探針。【補充】當然,如果要得到芯片上每個探針組對應的表達數據,還需要探針的排布信息(哪個探針對應哪個探針組),這部分信息就存儲在CDF文件中。要想知道探針對應的序列信息,就需要用Probe文件
完成一個小任務
從CLL數據包載入芯片數據=》預處理(先進行一個背景校正)=〉獲得探針組表達矩陣
先說一下這個CLL數據集,它包含的是慢性淋巴細胞白血病(Chromic lymphocytic leukemia, CLL)的數據,采用Affymetrix的hgu95av2表達譜芯片(含有12625個探針組),共24個樣品("CLL1.CEL"-"CLL24.CEL"),每個樣品來自不同的癌癥病人。
根據健康狀態分為兩組(對照試驗):穩定組(stable)和惡化組(progressive),每組各12個(平行試驗)。
得到的e矩陣是一個12625行、24列的探針組表達矩陣
#安裝并加載
source("https://bioconductor.org/biocLite.R")
options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")
biocLite("CLL")
library(CLL)
#讀入示例數據
data("CLLbatch")
# rma方法進行背景校正【當MM值比PM值還要高時,MM就是雜信號,也就是背景噪聲,需要去除】
CLLrma <- rma(CLLbatch)
e_before <- exprs(CLLbatch)
e_after <- exprs(CLLrma)
#對比一下校正前后數據
e_before[1:5,1:5]
e_after[1:5,1:5]
歡迎關注我們的公眾號~_~
我們是兩個農轉生信的小碩,打造生信星球,想讓它成為一個不拽術語、通俗易懂的生信知識平臺。需要幫助或提出意見請后臺留言或發送郵件到Bioplanet520@outlook.com