一、工具介紹
ROSE(RANK ORDERING OF SUPER-ENHANCERS)是麻省理工學院Richard A. Young實驗室開發的一種通過bam檔案及gff檔案尋找enhancer及其相關基因的工具,此工具由python編寫。項目首頁:http://younglab.wi.mit.edu/super_enhancer_code.html

二、ROSE在伺服器上的安裝
ROSE依賴軟體有:Python 2.7.3, R 2.15.3, 和 SAMtools 0.1.18,是以在安裝ROSE前,首先確定伺服器上安裝了這三個工具。關于這三個工具的安裝,可以檢視這篇博文: RNA-seq分析伺服器安裝生信工具過程。
ROSE安裝方式見以下代碼:
wget https://bitbucket.org/young_computation/rose/get/a9bb86b5464.zip
unzip a9bb86b5464.zip
# 解壓後檔案見下圖,可以直接通過python *.py調用工具
三、具體使用
ROSE的最主要用法有
ROSE_main.py
和
ROSE_geneMapper.py
。其中
ROSE_main.py
用于尋找增強子而
ROSE_geneMapper.py
用于為增強子相關的基因進行注釋。
- ROSE_mian.py 用法
python ROSE_main.py -g GENOME_BUILD -i INPUT_CONSTITUENT_GFF \
-r RANKING_BAM -o OUTPUT_DIRECTORY \
[optional: -s STITCHING_DISTANCE -t TSS_EXCLUSION_ZONE_SIZE -c CONTROL_BAM]
# 參數解釋
-g refseq參考基因組
-i 輸入gff檔案,一般為使用MACS鑒定得到的Med1富集區域(gff具體格式下文介紹)
-r 排序後的bam檔案,同時需為bam添加index
-o 輸出檔案目錄
#可選參數
-s STITCHING_DISTANCE,合并兩個region的最大距離,預設值為kb
-t TSS_EXCLUSION_ZONE_SIZE,排除TSS區域大小,排除與TSS前後某距離内的區域,以排除啟動子偏差(預設值:;推薦值:)。如果設定該值為,将不會查找基因。
-c CONTROL_BAM,control樣本的bam檔案
輸入檔案格式要求:
bam檔案格式要求:需要排序和建構index(samtools可以操作),bam檔案的染色體id需要以chr開頭。
gff檔案格式要求:gff檔案必須有以下列
1.染色體位置(chr#)
2.每個增強子區域的特定id
4.區域起始位置
5.區域終止位置
7.正負鍊資訊(+, -, .)
gff格式參考:https://genome.ucsc.edu/FAQ/FAQformat.html#format3
ROSE也有轉換bam為gff的工具,在運作
ROSE_mian.py
時,會調用
ROSE_bamToGFF.py
。
ROSE_main.py
運作執行個體:
python $SOFT_PATH/ROSE_main.py -g HG38 -i $WORK_PATH/gtf/KYSE510_peaks.bed \
-r $WORK_PATH/samtools_sort/sort_treat1.bam -c $WORK_PATH/samtools_sort/sort_control1.bam \
-o $WORK_PATH/ROSE/KYSE510 -s -t >$LOG_PATH/KYSE510_enhancer.log
其中,更多基因組可以從https://github.com/linlabbcm/rose2/tree/master/rose2/annotation擷取儲存到ROSE的annotation檔案夾,但是需要注意修改相應ROSE_mian.py的相應代碼。
輸出檔案如下:
1.
**OUTPUT_DIRECTORY/gff/*.gtf
該檔案為輸入gtf檔案的副本;
2.
**OUTPUT_DIRECTORY/gff/*STITCHED*.gtf
該檔案為通過在STITCHING_DISTANCE将INPUT_CONSTITUENT_GFF拼接在一起建立的gff檔案;檔案列數如下:
chrom, name, [blank], start, end, [blank], [blank], strand, [blank], [blank], name
其中
name
字段的命名方式為:拼接起來的區域數+最左端區域ID。
3.
**OUTPUT_DIRECTORY/mappedGFF/*_MAPPED.gff
每個bam檔案通過bamToGFF的輸出檔案,包含以下列:
(成分ID,測試區域,平均讀取密度(機關為每百萬位元每百萬映射的機關讀數密度))
4.
**OUTPUT_DIRECTORY/mappedGFF/* _STITCHED * _MAPPED.gff
每個bam檔案通過bamToGFF的輸出檔案,該檔案中對增強子區域進行了拼接,包含以下列:
(拼接增強子ID,測試區域,平均讀取密度(機關為百萬映射每機關拼接增強子數))
5.
**OUTPUT_DIRECTORY/STITCHED_ENHANCER_REGION_MAP.txt
bamToGFF計算後得到的拼接增強子密度檔案,包含以下列:
(拼接增強子ID,染色體,拼接增強子起始位置,拼接增強子末端位置,拼接數,BAM信号等級,BAM信号)
6..
**OUTPUT_DIRECTORY/*_AllEnhancers.table.txt
增強子清單,包含每個增強子的排名和是否為超級增強子,包含以下列:
(增強子ID,染色體,拼接增強子起始位點,拼接增強子末端,拼接數,拼接成分大小,BAM的信号,BAM的等級,是否為超增強子:是(1)否(0))
7.
**OUTPUT_DIRECTORY/* _SuperEnhancers.table.txt
超級增強子的排名,為
*_AllEnhancers.table.txt
檔案的子集。包含以下列:
(拼接增強劑ID,染色體,拼接增強子起始位點,拼接增強子末端,拼接數,縫合在一起的成分的大小,RANKING_BAM的信号,RANKING_BAM的等級,超增強子的二進制(1)與典型(0))
8.
**OUTPUT_DIRECTORY/*_Enhancers_withSuper.bed
可以加載到UCSC浏覽器中可視化的增強子bed檔案
9.
**OUTPUT_DIRECTORY/*_Plot_points.png
所有增強子散點圖,如下圖:
- ROSE_geneMapper.py 用法
Usage: ROSE_geneMapper.py [options] -g [GENOME] -i [INPUT_ENHANCER_FILE]
# 參數解釋
-i INPUT 輸入ROSE_mian.py生成的enhancer table檔案
-g GENOME 輸入genome資訊(MM9,MM8,HG18,HG19等)
-o OUT 輸出路徑
# 可選參數
-l GENELIST 要過濾的基因清單
-w WINDOW 搜尋基因距離,預設值為,bp
-f format 如果使用此參數,将保持原輸入檔案格式輸出
ROSE_geneMapper.py
運作執行個體:
python $SOFT_PATH/ROSE_geneMapper.py -i $WORK_PATH/ROSE/TE7/TE7_peaks_AllEnhancers.table.txt \
-g HG38 -o $WORK_PATH/ROSE/TE7 >$LOG_PATH/TE7_enhancer_anno.log
輸出檔案如下:
1.
**OUTPUT_DIRECTORY/*ENHANCER_TO_GENE.txt
enhancer重疊基因、附近基因以及最近的基因清單
2.
**OUTPUT_DIRECTORY/*GENE_TO_ENHANCER.txt
以每個基因為列名的和其相關的增強子位置資訊清單
得到這兩個表格即可對基因進行篩選然後進行GO及KEGG分析等。
下圖是運作兩工具的結果截圖:
其中被紅框标注的部分是
ROSE_geneMapper.py
運作的結果。