目录

1、ROSE安装

2、环境变量配置

3、准备所需文件

4、ROSE软件分析超级增强子

5、输出结果文件

6、入过的坑


最近需要分析超级增强子(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

ROSE: Rank Ordering of Super-Enhancers (nih.gov)

Super Enhancer(超级增强子)分析——ROSE包(v1.3.1)的安装及使用详解相关推荐

  1. SpringBoot默认包扫描机制及@ComponentScan指定扫描路径详解

    SpringBoot默认包扫描机制及@ComponentScan指定扫描路径详解 SpringBoot默认包扫描机制 标注了@Component和@Component的衍生注解如@Controller ...

  2. JavaSE——面向对象进阶(封装、this、static、代码块、包、权限修饰符、main方法详解)

    第2节 面向对象进阶 一.封装与private 概述: 封装的意义在于保护或者防止代码(数据)被我们无意中破坏.保护成员属性,不让类以外的程序直接访问和修改. 封装原则: 隐藏对象的属性和实现细节,仅 ...

  3. linux编译安装网卡驱动详解(网卡丢包)

    安装编译网卡驱动 这两天发现一台server丢包很严重,使用cacti监控工具时能获得snmp包,时常又不能,丢包严重,导致使用ssh工具连接过慢,连接数据库访问超时,此时要先确定是中病毒还是网卡问题 ...

  4. 847方波放大电路_分析运放7大经典电路,有图有真相,详解每个电路原理!

    运放的基本分析方法:虚断,虚短.对于不熟悉的运放应用电路,就使用该基本分析方法. 运放是用途广泛的器件,接入适当的反馈网络,可用作精密的交流和直流放大器.有源滤波器.振荡器及电压比较器. 1,运放在有 ...

  5. 自动化恶意软件分析系统Cuckoo安装、配置详解

    0×00 简述 沙盒(Sanbox) 是一种将未知.不可信的软件隔离执行的安全机制.恶意软件分析沙盒一般用来将不可信软件放在隔离环境中自动地动态执行,然后提取其运行过程中的进程行为.网络行为.文件行为 ...

  6. 抓包工具 fiddler 的安装和使用详解

    一.为什么要使用抓包工具? 1.看过太多测试同学,安卓端测试出现的问题,归属就是安卓端,ios端出现的问题归属就是ios端,这样子不仅bug被拒绝率很高,也不方便别人认可你的能力,使用简单的抓包工具, ...

  7. java jpa注解哪个包好,Spring Data JPA 中常用注解详解

    一.java对象与数据库字段转化 @Entity:标识实体类是JPA实体,告诉JPA在程序运行时生成实体类对应表 @Table:设置实体类在数据库所对应的表名 @Id:标识类里所在变量为主键 @Gen ...

  8. 安装mlxtend_python机器学习包mlxtend的安装和配置详解

    今天看到了mlxtend的包,看了下example集成得非常简洁.还有一个吸引我的地方是自带了一些data直接可以用,省去了自己造数据或者找数据的处理过程,所以决定安装体验一下. 依赖环境 首先,su ...

  9. mysql 5.7自定义安装路径_Mysql5.7.18版本(二进制包安装)自定义安装路径教程详解...

    安装路径:/application/mysql-5.7.18 1.前期准备 mysql依赖 libaio yum install -y libaio 创建用户mysql,以该用户的身份执行mysql ...

  10. SPSS数据分析之列联分析与卡方检验、方差分析与LSD方法【操作详解】

    文章目录 1.列联分析与卡方检验 2.方差分析 1.列联分析与卡方检验 (1)依次打开选项卡中的<分析>,<描述统计>,<交叉表> (2)然后依次选择列联表的行与列 ...

最新文章

  1. 【Google Play】Android 应用用户协议 ( 生成用户协议 | HTML 用户协议模板 | Markdown 用户协议模板 )
  2. MongoDB最简单的入门教程之四:使用Spring Boot操作MongoDB
  3. 《连线》杂志专访李彦宏:百度all in AI 欲引领智能革命
  4. 修改mysql表前缀_使用phpMyAdmin批量修改Mysql数据表前缀的方法
  5. python68个内置函数_直接在python中检索68个内置函数?
  6. 删除链表倒数第N个节点
  7. matlab-自控原理 已知x~=Ax+Bu中的AB矩阵和X0,求单位输入下的时间响应
  8. TypeError: Cannot set property ‘styles‘ of undefined
  9. MYSQL安装遇到MySQL-server conflicts with错误(mysql5.6.17)
  10. DHTMLX JS Gantt Library 7.1.13
  11. android 仿qq发动态,Android opengl 实现动态贴纸(仿QQ的拍摄)
  12. html360全景图原理,HTML5 Canvas实现360度全景图
  13. 运行jar包出现问题:java.lang.SecurityException: JCE cannot authenticate the provider BC
  14. 【具体实现过程】百度地图POI区域的边界经纬度坐标数据采集
  15. 全球变暖,为何寒潮这么多?【北极变暖:冷空气有了出口】
  16. mysql 读取clob数据类型_谈谈有关各数据库Blob、Clob类型字段的读取、保存更新
  17. MIPCMS火车头采集之“500 Internal Server Error”
  18. 探寻职业教育中的人工智能技术
  19. C13、网页布局方式
  20. 如何将阿拉伯数字转换成RMB大写格式

热门文章

  1. Android 百度地图开发详解
  2. 通过python让打印出来的字体看起来像手写
  3. USBCNC输出板与VFD和主轴的使用
  4. adobe reader XI 打开后闪退(或过几秒后自动退出)【解决方案】
  5. 自学JavaWeb系列-JSP教程!
  6. VBA实战技巧精粹之按某列相同数据分入同一个sheet
  7. Android 手机 超级终端命令解析
  8. Ring3加载驱动源码
  9. 让天之痕窗口化运行!
  10. 刷ROM必備的clockworkmod recovery