使用ChIPpeakAnno進行peak注釋

歡迎關注”生信修煉手冊”!

ChIPpeakAnno是一個bioconductor上的R包,針對peak calling之后的下游分析,提供了以下多種功能

  1. 查找與peak區域最相鄰的基因, 也支持自定義查找的特征,可以是exon,miRNA等

  2. peak相鄰基因的GO富集分析

  3. 提取peak及其周圍區域的序列


在ChIPpeakAnno中,無論是peak區間信息還是基因組的注釋信息,都通過toGRanges方法轉化為R語言中的GRanges對象,以peak為例,bed格式的內容如下

通過如下代碼可以導入該信息

library(ChIPpeakAnno)
bed <- "peaks.bed"
gr <- toGRanges(bed, format="BED", header=FALSE)

除了BED格式外,該方法也支持導入GTF格式的信息,只需要修改format參數即可。導入peak信息和基因組注釋信息后就可以進行后續分析了。

1. ?進行peak之間的overlap分析

當導入了多個樣本的peak信息時,可以進行venn分析,用法如下

# 導入A樣本的peak
bedA <- "sampleA_peaks.bed"
sampleA <- toGRanges(bedA, format="BED", header=FALSE)
# 導入B樣本的peak
bedB <- "sampleB_peaks.bed"
sampleB <- toGRanges(bedB, format="BED", header=FALSE)
# 求交集
ol <- findOverlapsOfPeaks(sampleA, sampleB)
# 繪制venn圖
makeVennDiagram(ol)

結果示意如下

在進行venn分析時,會發現venn圖上的個數加起來并不是輸入的peak區間的總數,在默認

2. ?提取peak周圍的序列

用法如下

library(BSgenome.Hsapiens.UCSC.hg19)
seq <- getAllPeakSequence(sampleA, upstream=20, downstream=20, genome=Hsapiens)
write2FASTA(seq, "sampleA.peaks.fa")

3. 進行peak motif分析

提取到peak序列之后,可以進行motif分析,用法如下

# 用1號染色體的堿基分布當做背景
freqs <- oligoFrequency(Hsapiens$chr1, MarkovOrder=3)
# oligoLength規定了motif的長度
os <- oligoSummary(seq, oligoLength=6, MarkovOrder=3,
quickMotif=TRUE, freqs=freqs)
zscore <- sort(os$zscore)
# 繪制所有6個堿基組合的頻率分布圖
h <- hist(zscore, breaks=100, xlim=c(-50, 50), main="Histogram of Z-score")
# 頻率最大的堿基組合即為motif的結果
text(zscore[length(zscore)], max(h$counts)/10,
labels=names(zscore[length(zscore)]), adj=1)

結果示意如下

還可以通過motifStack這個R包繪制motif的sequence logo, 用法如下

library(motifStack)
pfms <- mapply(function(.ele, id)
new("pfm", mat=.ele, name=paste("SAMPLE motif", id)),
os$motifs, 1:length(os$motifs))
motifStack(pfms[[1]])

輸出結果示意如下

4. 進行peak注釋

首先是peak在基因組各個特征區間的分布比例,用法如下

library(TxDb.Hsapiens.UCSC.hg19.knownGene)
aCR<-assignChromosomeRegion(sampleA, nucleotideLevel=FALSE,
precedence=c("Promoters", "immediateDownstream",
"fiveUTRs", "threeUTRs",
"Exons", "Introns"),
TxDb=TxDb.Hsapiens.UCSC.hg19.knownGene)
barplot(aCR$percentage, las=3)

輸出結果如下所示

然后進行peak關聯基因的注釋,用法如下

# 準備基因組注釋信息
library(EnsDb.Hsapiens.v75)
annoData <- toGRanges(EnsDb.Hsapiens.v75, feature="gene")
# 進行
overlaps.anno <- annotatePeakInBatch(sampleA,
AnnotationData=annoData,
output="nearestLocation"
)
library(org.Hs.eg.db)
overlaps.anno <- addGeneIDs(overlaps.anno,
"org.Hs.eg.db",
IDs2Add = "entrez_id")
pie1(table(overlaps.anno$insideFeature))

輸出結果示意如下

在使用annotatePeakInBatch進行注釋時,默認查找距離peak最近的基因,也可以修改output的值,overlapping代表與peak區域存在overlap的基因,設置成這個值之后就會將與peak區間存在overlap的基因作為關聯基因了,此外還有多種取值,適用不同條件,具體可以參考函數的幫助文檔。

5. 進行peak關聯基因的富集分析

進行完基因注釋之,得到peak關聯的基因,就可以進行后續的功能富集分析,用法如下

over <- getEnrichedGO(overlaps.anno, orgAnn="org.Hs.eg.db",
maxP=.05, minGOterm=10,
multiAdjMethod="BH", condense=TRUE)

ChIPpeakAnno提供了一條完整的peak下游分析功能,包括基因注釋,富集分析,motif分析等等,是一個非常強大的工具,以上只是基本用法,更多用法和細節請參考官方文檔。

·end·

—如果喜歡,快分享給你的朋友們吧—


掃描關注微信號,更多精彩內容等著你!

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,119評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,382評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,038評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,853評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,616評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,112評論 1 323
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,192評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,355評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,869評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,727評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,928評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,467評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,165評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,570評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,813評論 1 282
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,585評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,892評論 2 372

推薦閱讀更多精彩內容