前言
我的博士课题是研究超级增强子,相关文章发表在Nature子刊(IF>10)上,超级增强子项目并有幸获得国自然青年C基金的资助。我来总结一下我从事超级增强子研究的相关经验,希望对相关研究的老师与同学有所帮助与收获。
【ROSE包的安装】
ROSE(RANK ORDERING OF SUPER-ENHANCERS)是麻省理工学院Richard A. Young实验室开发的一种通过bam文件及gff文件寻找超级增强子 super enhancer及其相关基因的工具,此工具由python编写源代码的网址(https://github.com/stjude/ROSE)
ROSE是基于python编写的包,目前的最新版适用python3,ROSE依赖下面工具,因此在安装ROSE前,首先确保服务器上安装了下面工具与环境:
wget https://github.com/stjude/ROSE/archive/refs/tags/1.3.2.zip
unzip 1.3.2.zip
cd 1.3.2
#或者
wget https://codeload.github.com/stjude/ROSE/tar.gz/refs/tags/1.3.2
tar -zxvf 1.3.2.tar.gz
ROSEPATH=/path/to/ROSE
export PYTHONPATH="$PYTHONPATH:$ROSEPATH/lib"
export PATH="$PATH:$ROSEPATH/bin"
source ~/.bashrc
#source一下ROSE_main.py -g [GENOME] -i [INPUT_REGION_GFF] -r [RANKBY_BAM_FILE] -o [OUTPUT_FOLDER] [OPTIONAL_FLAGS][OPTIONAL_FLAGS: -s STITCHING_DISTANCE -t TSS_EXCLUSION_ZONE_SIZE -c CONTROL_BAM]
参数解释
-g hg38、hg19、mm9或mm10,用于构建UCSC参考基因组
-i 输入gff文件,一般为使用MACS,homer 鉴定得到的富集peak区域
-r 排序后的bam文件,同时需为bam添加index
-o 输出文件目录
#可选参数
-s STITCHING_DISTANCE,合并两个region的最大距离,默认值为12.5kb
-t TSS_EXCLUSION_ZONE_SIZE,排除TSS区域大小,排除与TSS前后某距离内的区域,以排除启动子偏差(默认值:0;推荐值:2500-5000)。如果设置该值为0,将不会查找基因。
-c CONTROL_BAM,control样本的bam文件2.1 输入文件要求 所有输入文件必须位于同一个目录中。
2.2 基因注释文件 (-g [GENOME])
必须为UCSC表轨道格式(UCSC Table Browser)
文件名:[GENOME]_refseq.ucsc(例如:hg19_refseq.ucsc)
放置在输入目录内的annotation/文件夹中
2.3 BAM文件 (-r [RANKBY_BAM_FILE])
染色体ID必须以chr开头
文件必须经过坐标排序并使用SAMtools建立索引
2.4 Peak文件(-i [INPUT_REGION_GFF])。格式:GFF。要求如下 第1列:染色体(chr#) 第2列:每个构成增强子区域的唯一ID 第3列:类型 第4列:起始位置 第5列:终止位置 第6列:得分 第7列:链(+、- 或 .) 第8列:相位 第9列:每个构成增强子区域的唯一ID
注意:第3、6、8列不被ROSE使用;它们可以设置为".."值。如果第2列和第9列的值不同,将使用第2列的值。
#运行代码
python ./bin/ROSE_main.py -g hg38
-i ./data/H3K27ac_rep1_peaks.gff
-r ./data/H3K27ac_rep1.bam
-c ./data/ChIP-input.bam
-o ./data/SE
-s 12500 -t 2500ROSE输出的结果都在一个文件夹里,文件夹名称是参数 -o 自己设置的文件夹名。v1.3.2版输出的结果文件包括2个文件夹和9个文件夹外文件。以测试结果为例,如下图
#输出文件如下:
文件路径 | 说明 |
|---|---|
文件1.【结果文件夹/gff/*.gtf】 | 该文件为输入peak gtf文件的副本。不重要 |
文件2.【结果文件夹/gff/*_12.5KB_STITCHED_TSS_DISTAL.gtf】 | 通过在经过12.5 kb距离阈值拼接而成的、且远离TSS的增强子区域(通常是超级增强子的候选区域)。文件列数:chrom, name, [blank], start, end, [blank], [blank], strand, [blank], [blank], name。其中 name 字段的命名方式为:拼接起来的区域数+最左端区域ID。不重要 |
文件3.【结果文件夹/mappedGFF/*_MAPPED.gff】 | 用文件1,对每一个Bam文件中进行BamtoGFFs输出文件,求得原始Peak区域的相对reads,包含以下列:成分ID,测试区域,平均读取密度(单位为每百万位元每百万映射的单位读数密度)。不重要 |
文件4.【结果文件夹/mappedGFF/*_STITCHED_MAPPED.gff】 | 用文件2 即12.5KB_STITCHED_TSS_DISTAL.gtf,对每个bam文件通过bamToGFF的输出文件,该文件中对增强子区域进行了拼接,包含以下列:拼接增强子ID,测试区域,平均读取密度(单位为百万映射每单位拼接增强子数)。不重要 |
文件5.【结果文件夹/*12.5KB_STITCHED_TSS_DISTAL_REGION_MAP.txt】 | bamToGFF计算后得到的拼接增强子密度文件,包含以下列:拼接增强子ID,染色体,拼接增强子起始位置,拼接增强子末端位置,拼接数,BAM信号等级,BAM信号。不重要 |
文件6.【结果文件夹/*_AllStitched.table.txt】 | 所有增强子列表,包含每个增强子的排名和是否为超级增强子,包含以下列:REGION_ID(增强子ID),CHROM(染色体),START(拼接增强子起始位点),STOP(拼接增强子末端),NUM_LOCI(拼接数),CONSTITUENT_SIZE(拼接成分大小),*_map.last.bam(BAM的信号),stitchedPeakRank(增强子排序),isSuper(是否为超增强子:是(1)否(0))。最重要 |
文件7.【结果文件夹/*_Stitched_withSuper.bed】 | 可以加载到IGV基因浏览器中的所有增强子bed文件。重要 |
文件8.【结果文件夹/*_Plot_points.png】 | 所有增强子散点图。重要 |
文件9.【结果文件夹/*__AllStitched_GENE_TO_REGION.txt】 | 以每个基因为列名的和其相关的增强子位置信息列表。重要 |
文件10.【结果文件夹/*__AllStitched_REGION_TO_GENE.txt】 | 所有增强子重叠基因、附近基因以及最近的基因列表。重要 |
文件11.【结果文件夹/*_SuperStitched.table】 | 超级增强子列表。格式与文件6相同。重要 |
文件12.【结果文件夹/*__SuperStitched_GENE_TO_REGION】 | 以每个基因为列名的和其相关超级增强子位置信息列表。重要 |
文件13.【结果文件夹/*__SuperStitched_REGION_TO_GENE】 | 所有超级增强子重叠基因、附近基因以及最近的基因列表。重要 |
1.结果文件全貌

2.最关键文件:文件6.【结果文件夹/*_AllStitched.table.txt】

3. 超级增强子鉴定图:如下所示共鉴定出940个超级增强子

在进行ROSE_main.py后,会自动进行genemapper.py程序,给出增强子基因注释文件。但是我们也需要进行多个样本之间的增强子与超级增强子合并交集分析之后,得到特定类型的增强子,用genemapper.py 进行enhancer togene的工作。
Usage: ROSE_geneMapper.py [options] -g [GENOME] -i [INPUT_ENHANCER_FILE]
# 参数解释
-i INPUT 输入ROSE_mian.py生成的enhancer table文件
-g GENOME 输入genome信息(MM9,MM10,HG19,HG38等)
-custom:指定自定义基因组注释文件(.ucsc格式)
-o OUT 输出路径
# 可选参数
-l GENELIST 要过滤的基因列表
-r 或 --refseq:如果使用这个标志,则输出会使用RefSeq ID而不是通用名称。
ROSE_geneMapper.py 运行实例:
python $SOFT_PATH/ROSE_geneMapper.py
-i ./data/H3K27ac_rep1Enhancers.table.txt \
-g HG38
-o ./data/SE/SE/geneMapper 输出文件如下:1.**OUTPUT_DIRECTORY/*ENHANCER_TO_GENE.txt :enhancer重叠基因、附近基因以及最近的基因列表。
2.**OUTPUT_DIRECTORY/*GENE_TO_ENHANCER.txt: 以每个基因为列名的和其相关的增强子位置信息列表。