HOMER | MEME | 轉錄因子的靶基因預測 | motif富集分析


轉錄因子motif是一些很短的模序(~10bp),在大基因組里很容易出現隨機比對,而且是以position weight matrix (PWM)格式來呈現,說明它的可變性,因此研究motif有哪些binding區域是沒有意義的,因為很難找到一個方法(閾值)來判斷真正的比對和隨機的比對。

換個思路,如果做富集分析,那就穩了,給定一個指定的區域(promoter或enhancer區域),根據統計學檢驗,我們很容易知道一個motif是否顯著富集在這個區域(與背景區域相比),這就回答了一個很好的生物學問題:這個轉錄因子是否顯著地結合到這片區域

一個突出的矛盾:轉錄調控的穩定性和我們收集數據不確定性之間的矛盾。

為什么ChIP-seq和ATAC-seq能極大地助力motif研究:

  • 真正的開放區域,得到的都是active的區域
  • 過濾掉了大部分的無效或復雜區域,假陽性得到了極大的控制

如何根據這些信息來預測每個轉錄因子的binding區域以及靶基因?

  • 不考慮遠距離的調控作用,或者只考慮promoter的區域,我們就可以根據peak的注釋信息找到最近的基因。
  • 然后看這些promoter上分別有哪些富集的motif,然后與轉錄因子對應即可。
  • 最后還需要基因表達來確認這些靶基因和轉錄因子確實是表達的!(如果這是一個抑制的轉錄因子,是否基因就不表達了)

 

轉錄因子的表達具有高度的組織特異性,而且已知的TF只有1000多個,基因有30000多個,所以一個TF的靶基因可能有幾百個,具有高度的時空組織特異性。

實驗的方法就暫且不說了,非常可靠,但成本高、耗費勞力。

最簡單的預測就是基於基因表達,co-expressed就是可能的靶基因,預測軟件一大把。

問題很多,首先理解假設:

1. TF的線性變化引起target gene的線性變化,他們線性相關;

2. TF的調控是sparse的,

問題:

1. 有人說這根本就不是線性的,TF的yes or no,決定target gene的表達;

2. 不是線性相關,存在shift,先后的shift是普遍存在的;

3. co-expression是無法得出target關系的;

 

所以,現在大家都開始結合motif enrichment了,TF的靶向作用是靠motif與基因組DNA結合來執行的。

但是我們不知道結合位點,所以大部分的富集都默認選擇了10kb的flanking region,motif很短,隨機比對會帶來很多假陽性。

現在,大家有open chromatin的數據了,知道了候選的結合區域,我們就可以更有效的預測了,這就是HOMER的預測功能。

最終,open chromatin還是不准,因為DNA有三維結構,distal regulation是普遍存在的。【TAD很火,可以引入到模型中】

 

HOMER

HOMER Motif Analysis - 根據ChIP-seq和ATAC-seq的peak結果尋找可能binding的motif

Finding Enriched Motifs in Genomic Regions (findMotifsGenome.pl) - 核心的腳本

Finding Instance of Specific Motifs - 對人類和小鼠而言最有用的代碼,因為大部分motif已知,沒必要做denovo的motif預測。 

 

Motif Databases included in HOMER - HOMER最常使用的一些motif數據庫

HOMER的motif格式

jaspar - 最全的轉錄因子數據庫

下載所有human的TF對應的motif:鏈接

 

下載JASPER上的轉錄因子及其motif數據庫,這部分很重要是因為我們不僅需要motif的信息,而且需要motif對應的人類轉錄因子的信息。【需要用homer的工具進行格式轉換】

cd ~/softwares/miniconda3/share/homer-4.10-0/update
curl -O http://jaspar.genereg.net/download/CORE/JASPAR2020_CORE_vertebrates_non-redundant_pfms_jaspar.txt

perl ./motifs/parseJasparMatrix.pl JASPAR2020_CORE_vertebrates_non-redundant_pfms_jaspar.txt > jaspar.motifs

curl -O http://jaspar.genereg.net/download/CORE/JASPAR2020_CORE_vertebrates_redundant_pfms_jaspar.txt

perl ./motifs/parseJasparMatrix.pl JASPAR2020_CORE_vertebrates_redundant_pfms_jaspar.txt > jaspar.motifs

  

接下來就是全基因組的掃描了,找這些motif到底在哪binding【全基因組掃描過於費時,還是指定區域比較好】

perl ~/softwares/miniconda3/bin/scanMotifGenomeWide.pl ~/softwares/miniconda3/share/homer-4.10-0/update/motifs/vertebrates/jaspar.motifs hg38 -5p -bed -int -homer2 -p 10

 

選取promoter區域來掃描,看motif的結合區域

perl ~/softwares/miniconda3/bin/findMotifsGenome.pl encc-enhancer-atac.promt.Homer.bed hg38 promt.motif -p 10 -size 200 -find jaspar.motifs > promt.jaspar.txt

 

結果如何過濾?

For example: findMotifsGenome.pl ERalpha.peaks hg18 MotifOutputDirectory/ -find motif1.motif > outputfile.txt

The output file will contain the columns:

  • Peak/Region ID
  • Offset from the center of the region
  • Sequence of the site
  • Name of the Motif
  • Strand
  • Motif Score (log odds score of the motif matrix, higher scores are better matches)

根據Motif Score來過濾掉一些質量太低的比對。

這個結果仍然不是我想要的,我只想知道,某個motif是否在一個promoter或enhancer區域顯著富集【相對於背景區域】

PositionID      Offset  Sequence        Motif Name      Strand  MotifScore
Peak_152271     -93     AGTAAG  Ahr::Arnt/MA0006.1/Jaspar       +       1.914416
Peak_152271     -85     CCCTTC  Ahr::Arnt/MA0006.1/Jaspar       +       2.895245
Peak_152271     -82     TTCAAG  Ahr::Arnt/MA0006.1/Jaspar       +       3.213699
Peak_152271     -75     GGCAGG  Ahr::Arnt/MA0006.1/Jaspar       +       4.644445
Peak_152271     -68     AGCTCC  Ahr::Arnt/MA0006.1/Jaspar       +       1.871856
Peak_152271     -65     TCCCTG  Ahr::Arnt/MA0006.1/Jaspar       +       6.391753
Peak_152271     -64     CCCTGG  Ahr::Arnt/MA0006.1/Jaspar       +       2.895245
Peak_152271     -63     CCTGGG  Ahr::Arnt/MA0006.1/Jaspar       +       2.895245
Peak_152271     -60     GGGATG  Ahr::Arnt/MA0006.1/Jaspar       +       4.687005
Peak_152271     -59     GGATGG  Ahr::Arnt/MA0006.1/Jaspar       +       1.508951
Peak_152271     -57     ATGGTG  Ahr::Arnt/MA0006.1/Jaspar       +       12.000225
Peak_152271     -55     GGTGAG  Ahr::Arnt/MA0006.1/Jaspar       +       11.552200

  

HOMER的這個peak注釋功能也是寫得非常全面:

 

 

 

 


MEME

FIMO scans a set of sequences for individual matches to each of the motifs you provide - 看motif是否顯著的富集在單獨的序列里,需要把區域轉換為fasta文件

CentriMo identifies known or user-provided motifs that show a significant preference for particular locations in your sequences - CentriMo可以做motif是否顯著富集在一堆序列中,給出富集得分

看看這篇文章:Differential motif enrichment analysis of paired ChIP-seq experiments

FIMO

看一看sample output

FIMO Tutorial

首先提取出自己的fasta

可以用bedtools

bedtools flank -i encc-enhancer-atac.promt.bed -g chrom.sizes -b 300 > encc.enhc.atat.promt.f300.bed
bedtools sort -i tmp2.bed > tmp3.bed
bedtools merge -i tmp3.bed -c 4 -o collapse
bedtools getfasta -fo 

也可以用Homer的工具

 

 

 

 

 

 

 

 

 

 

 

 


參考:

Homer軟件的介紹-最全面而詳細的找motif教程 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM