使用ROSE寻找超级增强子

一、工具介绍

ROSE(RANK ORDERING OF SUPER-ENHANCERS)是麻省理工学院Richard A. Young实验室开发的一种通过bam文件及gff文件寻找enhancer及其相关基因的工具,此工具由python编写。项目主页:http://younglab.wi.mit.edu/super_enhancer_code.html

ROSE项目主页

二、ROSE在服务器上的安装

ROSE依赖软件有:Python 2.7.3, R 2.15.3, 和 SAMtools 0.1.18,因此在安装ROSE前,首先确保服务器上安装了这三个工具。关于这三个工具的安装,可以查看这篇博文: RNA-seq分析服务器安装生信工具过程

ROSE安装方式见以下代码:

1
2
3
wget https://bitbucket.org/young_computation/rose/get/1a9bb86b5464.zip
unzip 1a9bb86b5464.zip
# 解压后文件见下图,可以直接通过python *.py调用工具

这里写图片描述

三、具体使用

ROSE的最主要用法有ROSE_main.pyROSE_geneMapper.py。其中ROSE_main.py 用于寻找增强子而ROSE_geneMapper.py 用于为增强子相关的基因进行注释。

  • ROSE_mian.py 用法
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    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的最大距离,默认值为12.5kb
    -t TSS_EXCLUSION_ZONE_SIZE,排除TSS区域大小,排除与TSS前后某距离内的区域,以排除启动子偏差(默认值:0;推荐值:2500)。如果设置该值为0,将不会查找基因。
    -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运行实例:

1
2
3
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 12500 -t 2000 2>$LOG_PATH/KYSE510_enhancer.log

其中,更多基因组可以从此处获取保存到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 用法
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    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 搜索基因距离,默认值为50,000bp
    -f format 如果使用此参数,将保持原输入文件格式输出

ROSE_geneMapper.py 运行实例:

1
2
python $SOFT_PATH/ROSE_geneMapper.py -i $WORK_PATH/ROSE/TE7/TE7_peaks_AllEnhancers.table.txt \
-g HG38 -o $WORK_PATH/ROSE/TE7 2>$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 运行的结果。