What is HOMER?
HOMER is a software for motif discovery and ChIP-Seq analysis
HOMER軟件是Linux command line based,常用來查找DNA motif 慌盯,偶爾以及一些ChIP-seq的分析(如奕翔,peak calling)懂酱。
- 其他的DNA motif 查找軟件如非常有名的在線tool: MEME脾还。
- 其他的peak calling tool:Macs2 (更常用)
感興趣HOMER其它功能可以到它主頁去查找缕棵,下載與安裝的方法也可以在主頁里找到性锭。
安裝使用如下:
## Download and install homer (Hypergeometric Optimization of Motif EnRichment)
## // http://homer.salk.edu/homer/
## // http://blog.qiubio.com:8080/archives/3024
## pre-install: Ghostscript赠潦,seqlogo,blat
cd ~/biosoft
mkdir homer && cd homer
wget http://homer.salk.edu/homer/configureHomer.pl
perl configureHomer.pl -install
perl configureHomer.pl -install hg19
perl configureHomer.pl -install hg38
如果是對MACS找到的peaks記錄文件,還需提取對應(yīng)的列給HOMER作為輸入文件:
awk '{print $4"\t"$1"\t"$2"\t"$3"\t+"}' sample_peaks.bed >sample_homer.bed
如果不熟悉 awk就只好手動改草冈。
findMotifsGenome.pl sample_homer.bed hg19 motifDir -len 8,10,12
最后得到的文件夾里面有一個詳細(xì)的網(wǎng)頁版報告她奥,所以很多人都喜歡用這個軟件,而且HOMER 這個軟件是一個大雜燴怎棱,能解決幾乎所有的高通量測序數(shù)據(jù)的分析哩俭。
這里記下的只是DNA motif的查找使用方法:
-
Gene/Promoter-based Analysis:
findMotifs.pl
performs motif and gene ontology analysis with lists of Gene Identifiers, both promoter and mRNA motifs (See Gene ID Analysis Tutorial)
.pl 說明是HOMER里的perl的腳本。findGO.pl
performs only gene ontology analysis with lists of Gene Identifiers (Called by findMotifs.pl, See Gene Ontology Analysis)
這里是個findGO功能拳恋,不過我更常用的是enrichR 或者 DAVID凡资。以上兩個腳本都是gene ID based的,只需要準(zhǔn)備個文本格式的gene list就也可以使用了谬运。
-
Next-Gen Sequencing/Genomic Position Analysis
findMotifsGenome.pl
performs motif analysis from genomic positions (See Finding Motifs from Peaks)
這個是通過基因組里peak的位置來找DNA motif隙赁,比較常用,因?yàn)楦鶕?jù)測序方法不同吩谦,有些peak是在 non-coding promoter 或者 intergenic 等地方(也就是不只在coding gene promoter 的peak)鸳谜。
example:
$ cd /Users/ye.liu/Desktop/OA_analysis_06/9_patients_downstream_analysis/2.data_cpm2_p7/DNA_motif/Homer/1.complete_enhancer_promoter_sets/data
$ findMotifsGenome.pl 1.tss_gained_DAPs_gene_189.txt.bed hg38 ./5.differential_output_size_400_1_to_3/ -bg 3.tss_lost_DAPs_gene_608.txt.bed -S 25 -len 8,10,12,13 -size 400
$ findMotifsGenome.pl 3.tss_lost_DAPs_gene_608.txt.bed hg38 ./6.differential_output_size_400_3_to_1/ -bg $ 1.tss_gained_DAPs_gene_189.txt.bed -S 25 -len 8,10,12,13 -size 400
$ findMotifsGenome.pl 2.tss_gained_DAPs_noncoding_91.txt.bed hg38 ./7.differential_output_size_400_2_to_4/ -bg 4.tss_lost_DAPs_noncoding_509.txt.bed -S 25 -len 8,10,12,13 -size 400
$ findMotifsGenome.pl 4.tss_lost_DAPs_noncoding_509.txt.bed hg38 ./8.differential_output_size_400_4_to_2/ -bg 2.tss_gained_DAPs_noncoding_91.txt.bed -S 25 -len 8,10,12,13 -size 400
這里是用的Differential ATAC-Peak (DAP)進(jìn)行的motif查詢,兩組測序樣品比較以后會得到gained DAPs和lost DAPs(樣品組/對照組)式廷。在DAP annotation的時候會有peak在coding/noncoding gene promoter (TSS)附近(上下1kb以內(nèi))就稱它是gene associated with DAP=DAG咐扭,我用的是FANTOM CAT data set (2017 Nature) 進(jìn)行的annotation,因?yàn)槔锩娌坏采w了coding gene 信息還同時有 noncoding gene 的信息滑废。Intergenic 的DAP在這里我沒有使用蝗肪。所以我有四個bed file分別是:
gained | lost | |
---|---|---|
coding | file1_189 | file3_608 |
non-coding | file2_91 | file4_509 |
然后分別查找只在 gained DAG 里的 de novo DNA motif 和只在 lost DAG 里的 de novo DNA motif。關(guān)于background蠕趁,我分別用對應(yīng)的bed file來做背景peaks薛闪。
所以,
file1 比 file3 得到了 file5: DNA motif 只在 gained coding DAP而不在 lost coding DAP里俺陋。(反之得到 file6)
file2 比 file4 得到了 file7: DNA motif 只在 gained non-coding DAP而不在 lost non-coding DAP里豁延。 (反之得到 file8)
file1-4 是指的bed file 5-8是HOMER的output昙篙。
接下來想要想要比較的只有DAP gain 與 DAP lost,不包括coding 和 noncoding诱咏。
所以需要做的事情是把file1 與 file 2結(jié)合起來變成 DAP gain
file3 與 file 4 結(jié)合起來就是 DAP lost苔可。
之前會用比較笨的方法,bed file的 .bed改名成 .txt袋狞,打開復(fù)制粘貼到excel然后合并焚辅,保存稱為.txt (用mac的要保存為windows的txt格式),再改名.bed,還會用到命令 changeNewLine.pl
不然是個假的bed文件苟鸯。
后來知道還有其他方法同蜻,linux command line:
$ cat 1.tss_gained_DAPs_gene_189.txt.bed 2.tss_gained_DAPs_noncoding_91.txt.bed > gained_DAP.bed
這么快嗎? rbind了早处?
檢查一下湾蔓,看看file1 和file2 分別有多少行(row)
$ cat 1.tss_gained_DAPs_gene_189.txt.bed |wc -l
188
$ cat 2.tss_gained_DAPs_noncoding_91.txt.bed |wc -l
90
那么合并后的文件應(yīng)該就是188+90,這么多行了
$ cat gained_DAP.bed |wc -l
278
#另一種方法
$ wc -l < gained_DAP.bed
278
再不放心就檢查一下砌梆,在terminal里查看下bed file卵蛉。
方法1: cat file
全部輸出
方法2: head -n 5 file
or tail -n 6 file
局部輸出
$ head -n 10 gained_DAP.bed
chr10 110460031 110460730 ENSG00000273143.1 RP11-525A16.4
chr20 58622490 58623170 ENSG00000268941.1 MGC4294
chr5 174750778 174752030 ENSG00000266890.1 MIR4634
chr17 18985476 18985916 ENSG00000263045.1 RP11-28B23.1
chr16 1163540 1164037 ENSG00000259910.1 RP11-616M22.2
chr12 46524079 46525144 ENSG00000257496.1 RP11-474P2.4
chr9 129740242 129741064 ENSG00000255824.1 AL590369.1
chr11 132874516 132875011 ENSG00000255371.1 OPCML-IT2
chr8 27901080 27902479 ENSG00000253615.1 RP11-597M17.2
chr8 66176914 66178013 ENSG00000253138.1 LINC00967
接下來同樣辦法得到 lost_DAP.bed
$ cat 3.tss_lost_DAPs_gene_608.txt.bed 4.tss_lost_DAPs_noncoding_509.txt.bed > lost_DAP.bed
$ wc -l < lost_DAP.bed
1017
準(zhǔn)備好了bed file后,開始進(jìn)行motif查找么库,
$ pwd
/Users/ye.liu/Desktop/OA_analysis_06/9_patients_downstream_analysis/2.data_cpm2_p7/DNA_motif/Homer/1.complete_enhancer_promoter_sets/data/test
$ findMotifsGenome.pl gained_DAP.bed hg38 ./Gained_DAP_specific_motif_size_400/ -bg lost_DAP.bed -S 25 -len 8,10,12,13 -size 400
$ findMotifsGenome.pl lost_DAP.bed hg38 ./Lost_DAP_specific_motif_size_400/ -bg gained_DAP.bed -S 25 -len 8,10,12,13 -size 400
每一個會用掉30-40min這樣傻丝。