目录
最近需要分析超级增强子(Super enhancer),仔细研究了Richard A.Young实验室开发的ROSE包(全称:RANK ORDERING OF SUPER ENHANCERS, 原文:DOI: 10.1016/j.cell.2013.03.035, DOI: 10.1016/j.cell.2013.03.036.)。作为一个小众的专业包,在ROSE安装和使用操作过程中碰到了太多的问题,花费了一周的时间总算通关。所以决定写个详细教程,记录一下目前最新版ROSE v1.3.1的安装和使用。
1、ROSE安装
ROSE是基于python编写的包,目前的最新版适用python3,根据github上的说明,ROSE依赖:
- samtools
- R version > 3.4
- bedtools > 2
- python3
(本人的软件版本为samtools 1.15,R 4.2.1,bedtools 2.30.0,Python3.10.4,均安装在ubuntu系统环境下,非conda环境)
ROSE代码包的链接为:https://github.com/stjude/ROSE
这两个压缩包随便下载哪个格式都可以,用linux桌面系统的可以直接用浏览器下载后提取,也可以打开终端用wget下载,下载之后解压缩就可以了,不需要安装。
wget https://github.com/stjude/ROSE/archive/refs/tags/1.3.1.zip
unzip 1.3.1.zip
cd 1.3.1
#或者
wget https://github.com/stjude/ROSE/archive/refs/tags/1.3.1.tar.gz
tar -zxvf 1.3.1.tar.gz
cd 1.3.1
(因为1.3.1这个文件夹名字太迷惑了,本人将1.3.1文件夹的名字为ROSE-1.3.1再进入文件夹查看)
文件夹里应该是这样的:
2、环境变量配置
这一步很重要,否则无法调用所需的脚本。
vim ~/.bashrc
#用vim编辑器打开bashrc,按A,在最后一行写入以下内容
PATHTO=/path/to/1.3.1 #/path/to/是ROSE文件夹1.3.1所在的路径,如果修改过文件夹名称用新的名称,例如PATHTO=$HOME/software/ROSE-1.3.1
PYTHONPATH=$PATHTO/lib
export PYTHONPATH
export PATH=$PATH:$PATHTO/bin
#写完后按esc退出编辑模式,输入:wq!保存并退出vim编辑器
#做一下source
source ~/.bashrc
3、准备所需文件
(1)annotation文件夹里已经存放了常用的人和小鼠UCSC版本refseq文件:
如果不是人或者小鼠的样品,可以从https://genome.ucsc.edu/cgi-bin/hgTables下载UCSC table track format file,命名为[GENOME]_refseq.ucsc(例如hg19_refseq.ucsc),放到annotation文件夹下面。
(2)准备bam文件和gff文件
bam文件是做完mapping之后生成的文件,需要H3K4me1或者H3K27ac样品的bam文件以及对应的Input样品bam文件,做过sort排序。ROSE分析要求bam文件的染色体名称以“chr”开头,可以参考https://www.jianshu.com/p/94b9602a1036修改BAM文件的染色体名称,修改完染色体名称的bam文件重新用samtools软件生成.bai索引文件。
gff文件使用call peak生成的narrowPeak文件,用excle或者wps打开(方便查看列数),按要求调整每一列的内容:
第1列:染色体位置(chr#)
第2列:每个增强子区域的特定id
第4列:区域起始位置
第5列:区域终止位置
第7列:正负链信息(+, -, .)
第9列:每个增强子区域的特定id
上述没有要求的列,内容可以为空或者原来的内容,但是一定要有这一列,如果第2列和第9列的内容不同,ROSE将使用第2列的值。ROSE额外提供的测试数据包里的gff文件范例如下:
修改完后保存文件,并且修改文件的后缀名为gff文件。
(3)将准备好的bam文件和gff文件(总共应该有5个文件,即1个gff文件,2个bam文件,2个bam文件对应的bai索引文件)放在一个文件夹里(例如命名为data),然后将该文件夹放在ROSE文件夹里。分析完成后将生成的结果文件夹转移出来保存在合适的位置,data文件夹删除,注意不要误删ROSE文件夹里原有的文件和文件夹。
4、ROSE软件分析超级增强子
在正式分析数据前,最好先下载测试数据进行分析测试,能正确跑通并且获得完整的分析结果后再分析自己的数据,这样可以确认命令行和依赖环境都没有问题。如果可以跑通测试数据,但是在分析自己的数据时报错中断,一定是自己的数据文件没有准备好,请按要求检查准备的文件。测试数据下载:
链接:https://pan.baidu.com/s/1p52x3tVIQg3j3ju_elLWTQ
提取码:oejw
测试数据包ROSE_TEST解压缩后能看到以下几个文件夹和文件:
其中data文件夹为所需的测试文件,将整个data文件夹复制到ROSE文件夹下。example文件夹、example.sh为老版ROSE输出的结果文件夹和运行命令,log为老版ROSE运行的日志文件(大佬原有的文件,供起来)。example-v1.3.1文件夹、example-v131是在ROSE v1.3.1版本运行输出的结果文件夹和运行命令,log_ROSE_v131_test是日志文件(本人跑通的,日志行不一样或者缺少结果文件就是没跑通或没跑完),供参考。
运行命令时在ROSE文件夹下打开终端,此处详细解释一下:
python ./bin/ROSE_main.py -g HG18 \
-i ./data/HG18_MM1S_MED1.gff \
-r ./data/MM1S_MED1.hg18.bwt.sorted.bam \
-c ./data/MM1S_WCE.hg18.bwt.sorted.bam \
-o example \
-s 12500 \
-t 2500
(1)如果linux系统没有指定默认python版本,开头需要使用python3,如果指定了Python3为默认版本,只要python即可。
(2)ROSE运行需要调用的几个脚本,都在ROSE文件夹下的bin文件夹里,而数据文件在data文件夹里,所以需要指定位置 ./bin 或 ./data。
(3)-r 样品bam文件名,-c control/Input bam文件名,-o 输出结果文件夹名。
(4)可选参数:
-s STITCHING_DISTANCE,合并两个region的最大距离,默认值为12.5kb。
-t TSS_EXCLUSION_ZONE_SIZE,排除TSS区域大小,排除与TSS前后某距离内的区域,以排除启动子偏差(默认值:0;推荐值:2500)。如果设置该值为0,将不会查找基因。
5、输出结果文件
ROSE输出的结果都在一个文件夹里,文件夹名称是参数 -o 自己设置的文件夹名。v1.3.1版输出的结果文件包括2个文件夹和9个文件夹外文件。以测试结果为例,如下图:
gff文件夹里包含2个文件,mappedGFF文件夹里包含4个文件,文件夹外有9个文件,文件具体内容参考Young Lab :: ROSE - Ranking Of Super Enhancer, Download (mit.edu)。与老版ROSE相比,v1.3.1版多了4个文件夹外文件,有些文件名也与以前版本不一样。
6、入过的坑
(1)关于gff文件:虽然一些教程说可以直接使用call peak生成的.bed文件替代.gff文件,ROSE也可以自己转换出gff文件,但是前期使用narrowPeak.bed文件一直没有跑通,出现报错。也许是我们采用MACS分析获得的narrowPea.bed在某些格式上是ROSE不能识别的,所以最后还是老老实实的自己做了gff文件。
(2)关于分析时长:应该跟硬件配置以及测序文件大小有关。进程中会有各种分析状态提示,结果文件夹里的文件也会慢慢的出现,直到完全获得2个文件夹和9个文件夹外文件。然而此时并没有结束,运行状态会长时间停滞在如下状态,需要耐心等待,等到自动返回到初始输入命令行的状态才是真正的结束:
21000
22000
23000
24000
25000
26000
27000
28000
29000
30000
31000
32000
33000
34000
35000
36000
37000
38000
39000
MAKING TSS COLLECTION
PS:不要怀疑,会结束的,并且没有任何报错。
希望每一位科研打工人都能顺利获得好结果!
参考链接:
super-enhancer神器ROSE的使用 - 简书 (jianshu.com)
“Super-enhancer神器“ROSE安装及教程_JiangQ_1996的博客-CSDN博客
Young Lab :: ROSE - Ranking Of Super Enhancer, Download (mit.edu)
使用ROSE鉴定超级增强子 - 腾讯云开发者社区-腾讯云 (tencent.com)
GitHub - stjude/ROSE: ROSE: RANK ORDERING OF SUPER-ENHANCERS