0.简介
RNA-Bloom是加拿大迈克·史密斯基因组科学中心(Michael Smith Genome Sciences Centre)的Ka Ming Nip(邮箱:[email protected] )大佬开发的一款快速且记忆高效的从头转录序列汇编器。它专为以下测序数据类型而设计:
-
单端/配对端体 RNA-seq(链特异性/无参转录组)
-
配对端单细胞RNA序列(链特异性/无参转录组)
-
长读核糖核酸酶(组装纳米孔测序/直接rna测序/PacBio cDNA测序数据)
经过我们的测试,该软件用于无参转录组时得到的数据量大约是Trinity组装结果的3~10倍(未经过严格测试),当你需要无参转录组时,推荐使用这样一款新型针对第三代测序数据的组装工具(第二代结果也很不错)。但是介于该软件中文互联网上尚且没有翻译好的中文手册,我(Rain、dot)献丑在这里补充发布一下,如果内容有问题,请在评论中指出,或与我联系,非常感谢。
1.运行环境
Java SE Development Kit (JDK) 11 (JDK 17 is slightly faster)以及以下三款软件
①. minimap2 >=2.22、②. Racon、③. ntCard >=1.2.1(除Racon在短读序列中不需要外,其他软件为长短读序列拼接下的必需软件,建议添加到PATH)
2安装
(1)conda环境安装(推荐的方式)
conda install -c bioconda rnabloom
或
mamba install -c bioconda rnabloom
#需要conda环境中已安装mamba,该包是用于解决conda中saving environment过慢的问题
conda安装后可以直接运行为:
rnabloom ...
(2)源码安装
从github项目releases的地址下载(https://github.com/bcgsc/RNA-Bloom/releases)
tar -zxvf rnabloom_vX.X.X.tar.gz
该方法直接解压后建议通过以下命令运行:
java -jar /path/to/RNA-Bloom.jar …
2.短读序列拼接命令说明
输入文件格式必须为:FASTQ/FASTA或相应的gzip压缩格式,如:fa.gz/fq.gz
(A)组装bulk – RNA-seq
注:bulk就是我们测的是所有细胞的总RNA(mRNA)取平均值代表每个基因的表达量,而非单个细胞,以此区别于single cell RNA-seq。
-
A. 双端测序拼接
-
当读取是有正义链(即5‘—3’端时),用于反向补读
left
right
-revcomp-right
right
-
当读取是反义链(即3‘—5’端时),用于反向补读
left
right
-revcomp-left
left
-
对于双端测序的数据,请使用 -revcomp-right或-revcomp-left
,一般双端测序结果而言-revcomp-right或-revcomp-left即可满足大多数需求
Inportant!
注意您的安装方式合理使用rnabloom或java启动方式,下同。
java -jar RNA-Bloom.jar -left LEFT.fastq -right RIGHT.fastq -revcomp-right -t THREADS -outdir OUTDIR
# -left和-right后为输入文件,实测对于测序结果的read_1和read_2没有实际区别;-t后的THREADS为您的线程数OUTDIR为使出文件地址,下同。
-
B. 单端测序拼接
用于正向读取(5‘—3’)和反向读取(3‘—5’)分别通过-sef/
-ser实现
java -jar RNA-Bloom.jar -sef SE.fastq -t THREADS -outdir OUTDIR
-
双端测序和单端测序均有的情况(这课题组应该挺有钱...)
java -jar RNA-Bloom.jar -left LEFT.fastq -right RIGHT.fastq -revcomp-right -sef SE.fastq -t THREADS -outdir OUTDIR
最终输出文件包含以下:
-
针对序列的序列池化(sequence_pool)的组装方式
java -jar RNA-Bloom.jar -pool READSLIST.txt -revcomp-right -t THREADS -outdir OUTDIR
目前暂不支持长读取模式
该选项的命令为: -pool
您需要一个表格文件来描述要使用的池化数据集,需要有:所有单元/样本及读取文件路径。
-
列标题位于第一行,以
#分隔;
-
列由空格/制表符分隔;
-
每个样本可以多个行;在汇编名称时,分享相同名称(name)的行将被分组。
(Ⅰ) 双端测序结果:
总共 3 列,列名为:name/
left/
right
,支持传统的无标题的三栏格式,具体格式如下。
#name left right
cell1 /path/to/cell1/left.fastq /path/to/cell1/right.fastq
cell2 /path/to/cell2/left.fastq /path/to/cell2/right.fastq
cell3 /path/to/cell3/left.fastq /path/to/cell3/right.fastq
(Ⅱ) 成对和未配对的读数:
除上述三列信息外,还提供了4~5 列形式,列名分别为:name
left
right
sef
ser
格式如下:
#name left right sef ser
cell1 /path/to/cell1/left.fastq /path/to/cell1/right.fastq /path/to/cell1/sef.fastq /path/to/cell1/ser.fastq
cell2 /path/to/cell2/left.fastq /path/to/cell2/right.fastq /path/to/cell2/sef.fastq /path/to/cell2/ser.fastq
cell3 /path/to/cell3/left.fastq /path/to/cell3/right.fastq /path/to/cell3/sef.fastq /path/to/cell3/ser.fastq
-
C. 链特异性组装
rnablom -steanded …
#该选项表示输入的读数是特定链的。
特定链的读数通常在F2R1方向,其中表示正向的左读数,表示反向的右读数。
需批量为RNA-seq数据相应地配置读文件路径和读取方向。
-stranded -left /path/to/reads_2.fastq -right /path/to/reads_1.fastq -revcomp-right
RNA-Bloom提供了为单细胞RNA测序(scRNA-seq)数据拼接的功能:
cell1 /path/to/cell1/reads_2.fastq /path/to/cell1/reads_1.fastq
-
D. 有参转录组拼接
rnabloom -ref TRANSCRIPTS.fasta …
#该选项指定了用于短读组装的参考转录组FASTA文件。目前还不支持长读数据()。请不要加选项:
-ref
-long
3. 针对长读序列的快速拼接
强烈建议在组装前修剪adapters(接头),请参阅Porechop以了解更多信息(否则可能在一定情况下发生报错)。
-
A. 组装长读cDNA测序数据
默认的预设是针对ONT数据的[牛津纳米孔技术(ONT,Oxford Nanopore Technologies)公司的生产的测序产品],运行时请为PacBio数据添加指令:
-long
-lrpb
java -jar RNA-Bloom.jar -long LONG.fastq -t THREADS -outdir OUTDIR
#输入的读数应该是正向和反向的mix
目前不支持长读数据的选项,因此在使用该项时请勿使用指令:-pool -ref
-
B. 组装纳米孔直接RNA测序(
nanopore direct RNA sequencing)数据。
rnabloom -long LONG.fastq -stranded -t THREADS -outdir OUTDIR
#输入的读数应该只存在正向的序列
默认情况下,尿嘧啶(U)被写成T(注:因为测序流程的问题),使用-uracil选项可以在输出中指定为U而不是T。
ntCard v1.2.1支持读数中存在尿嘧啶(U)。
-
C. 长短读序列结合提高结果质量
。
cDNA 数据:
rnabloom -long LONG.fastq -sef SHORT.fastq -t THREADS -outdir OUTDIR
直接RNA测序数据:
rnabloom -stranded -long LONG.fastq -sef SHORT_FORWARD.fastq -ser SHORT_REVERSE.fastq -t THREADS -outdir OUTDIR
最终的输出文件:
常规设置
自动设置Bloom filters大小:
如果在序列中找到 ,则会自动开启该选项以计算读取中非重复k-mers的数量。请添加选项:ntcard
PATH
-ntcard
rnabloom -fpr 0.01 ...
该命令将自动设置bloom filters的大小,以适应 ~1% 的误报率 (FPR)。
或者,您可以指定非重复k-mers的确切数量:
rnabloom -fpr 0.01 -nk 28077715 ...
该命令将自动设置bloom filters的大小,以适应 28,077,715 个非重复k-mers,误报率FPR 为 ~1%。
根据经验,较低的 FPR 可能会有更好的程序集,但对于较大的bloom filters需要更多的内存。
(B)设置Bloom filters的总大小:
rnabloom -mem 10 ...
该选项将总大小设置为 10 GB,如果未指定则根据输入读取文件的大小配置总大小。配置选项为:-nk
-ntcard
-mem
(C)停在中间的某个阶段:
rnabloom -stage N …
#N为以下三个阶段,可选
如果您只想组装片段或更正长读,可以使用: -stage 2
(D)列出RNA-Bloom中所有可用的选项:
java -jar RNA-Bloom.jar -help
OR
rnabloom -help
(E)限制Java堆(Java Heap)的大小:
java -Xmx2g -jar RNA-Bloom.jar ...
#非conda安装方式可用
如果您通过conda安装,命令入下:
export JAVA_TOOL_OPTIONS=”-Xmx2g”
rnabloom …
这会使用该选项将最大 Java 堆限制为 2 GB。请注意,选项对bloom filters大小没有影响。指令为:-Xmx
java
有关其他 JVM 选项,请参阅官方文档[Configuring the JVM, Java Options, and Database Cache (oracle.com)]。
RNA-Bloom编写语言 ????
RNA-Bloom是通过Java语言编写Apache NetBeans IDE编译的使用了以下库:
-
Apache Commons CLI
-
JGraphT
-
Smile
引用RNA-Bloom????
如果您在工作中使用RNA-Bloom,请使用如下引用:
长读RNA-seq 组装:
Ka Ming Nip, Saber Hafezqorani, Kristina K. Gagalova, Readman Chiu, Chen Yang, René L. Warren, and Inanc Birol. Reference-free assembly of long-read transcriptome sequencing data with RNA-Bloom2. bioRxiv. 2022.08.07.503110. doi: 10.1101/2022.08.07.503110
短读RNA-seq 组装: