RNA-Bloom中文文档

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. 双端测序拼接

  1. 当读取是有正义链(即5‘—3’端时),用于反向补读leftright-revcomp-rightright

  2. 当读取是反义链(即3‘—5’端时),用于反向补读leftright-revcomp-leftleft

  3. 对于双端测序的数据,请使用 -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 组装:

资源下载: