- 前言:在基因组找到了转录因子/组蛋白结合位点之后,最终还是要落脚到功能基因上,组蛋白结合到这有什么用?调控了谁?---这就叫peak的注释,或者叫做转录因子/蛋白结合位点的注释。
两种情况:
- 结合在promoter在基因上游2k以内。
- 结合在enhancer区域,一般有点远又不会太远,1M以内的距离。
1. 软件
# chipseeker
https://bioconductor.org/packages/release/bioc/vignettes/ChIPseeker/inst/doc/ChIPseeker.html
# homer
http://homer.ucsd.edu/homer/
http://homer.ucsd.edu/homer/ngs/index.html
http://homer.ucsd.edu/homer/ngs/annotation.html
- homer界面
2. 使用
# 1.library
library(tidyverse)
library(ChIPseeker)
# 2.prepare TxDb, 存的是物种的基因信息
library(GenomicFeatures)
txdb <- makeTxDbFromGFF("genes_longest.gtf",format="gtf")
# 3.准备peak文件
peak = readPeakFile("peaks.narrowPeak")
# 4.peak注释
## 4.1 默认参数
peakAnno <- annotatePeak(
peak = peak,
TxDb = txdb
)
## 4.2 修改参数
peakAnno <- annotatePeak(
peak,
tssRegion=c(-2000,50),
TxDb = txdb,
level="gene",
flankDistance=5000,
genomicAnnotationPriority = c("Promoter",
"5UTR", "3UTR", "Exon",
"Intron", "Downstream",
"Intergenic")
)
peakAnno_df <- as_tibble(peakAnno)
# 1.饼图
plotAnnoPie(peakAnno)
# 2.peakAnno转成dataframe
peakAnno_df = as.data.frame(peakAnno)
3.结果
- 原因是默认参数为TSS region(-3000,3000)
1.基因长的话:
2.基因不长,3k的话:
3.如果基因很短:
- 参数
flankDistance怎么理解?理解为最多找方圆多远的距离。 flankDistance的值:找promoter可短,找enhancer可长,无论如何不超过1M。
genomicAnnotationPriority参数:注释的优先级。