# rnaSPAdes manual

1. About rnaSPAdes
2. rnaSPAdes specifics
2.1. Running rnaSPAdes
2.2. RNA-specific options
2.3. rnaSPAdes output
3. Assembly evaluation
4. Citation
5. Feedback and bug reports

## 1 About rnaSPAdes

rnaSPAdes is a tool for de novo transcriptome assembly from RNA-Seq data and is suitable for all kind of organisms. rnaSPAdes is a part of SPAdes package since version 3.9. Information about SPAdes download, requirements, installation and basic options can be found in SPAdes manual. Below you may find information about differences between SPAdes and rnaSPAdes.

## 2 rnaSPAdes specifics

### 2.1 Running rnaSPAdes

To run rnaSPAdes use

        rnaspades.py [options] -o <output_dir>

or

        spades.py --rna [options] -o <output_dir>

Note that we assume that SPAdes installation directory is added to the `PATH` variable (provide full path to rnaSPAdes executable otherwise: `<rnaspades installation dir>/rnaspades.py`).

Here are several notes regarding rnaSPAdes options:

- rnaSPAdes take as an input at least one paired-end or single-end library (see note below). For hybrid assembly you can use PacBio or Oxford Nanopore reads.
- rnaSPAdes does not support `--careful` and `--cov-cutoff` options.
- rnaSPAdes is not compatible with other pipeline options such as `--meta`, `--sc` and `--plasmid`. If you wish to assemble metatranscriptomic data just run rnaSPAdes as it is.
- By default rnaSPAdes uses 2 k-mer sizes, which are automatically detected using read length (approximately one third and half of the maximal read length). We recommend not to change this parameter because smaller k-mer sizes typically result in multiple chimeric (misassembled) transcripts. In case you have any doubts about your run, do not hesitate to contact us using e-mail given below.
- Although rnaSPAdes supports IonTorrent reads, it was not sufficiently tested on such kind of data.

Assembling multiple RNA-Seq libraries

In case you have sequenced several RNA-Seq libraries using the same protocol from different tissues / conditions, and the goal as to assemble a total transcriptome, we suggest to provide all files as a single library (see main manual to check input options). Note, that sequencing using the same protocol implies that the resulting reads have the same length, insert size and strand-specificity. Transcript quantification for each sample can be done afterwards by separately mapping reads from each library to the assembled transcripts.

When assembling multiple strand-specific libraries, only the first one will be used to determine strand of each transcript. Thus, we suggest not to mix data with different strand-specificity.

In case you have any questions about running rnaSPAdes, do not hesitate to ask us at via GitHub repository tracker or send us an e-mail to: spades.support@cab.spbu.ru

### 2.2 RNA-specific options

Assembling strand-specific data

rnaSPAdes supports strand-specific RNA-Seq datasets. You can set strand-specific type using the following option:

`--ss <type>`
Use `<type> = rf` when first read in pair corresponds to reverse gene strand (antisense data, e.g. obtained via dUTP protocol) and `<type> = fr` otherwise (forward). Older deprecated syntax is `--ss-rf` and `--ss-fr`.

Note, that strand-specificity is not related and should not be confused with FR and RF orientation of paired reads. RNA-Seq paired-end reads typically have forward-reverse orientation (--> <--), which is assumed by default and no additional options are needed (see main manual for details).

If the data set is single-end use `--ss rf` option in case when reads are antisense and `--ss fr` otherwise.

Hybrid transcriptome assembly

rnaSPAdes now supports conventional `--pacbio` and `--nanopore` options (see SPAdes manual). Moreover, in addition to long reads you may also provide a separate file with reads capturing the entire transcript sequences using the following options. Full-length transcripts in such reads can be typically detected using the adapters. Note, that FL reads should be trimmed so that the adapters are excluded.

`--fl-rna <file_name>`
File with PacBio/Nanopore/contigs that capture full-length transcripts.

### 2.3 rnaSPAdes output

rnaSPAdes outputs one main FASTA file named `transcripts.fasta`. The corresponding file with paths in the `assembly_graph.fastg` is `transcripts.paths`.

In addition rnaSPAdes outputs transcripts with different level of filtration into `<output_dir>/`:

- `hard_filtered_transcripts.fasta` – includes only long and reliable transcripts with rather high expression.
- `soft_filtered_transcripts.fasta` – includes short and low-expressed transcipts, likely to contain junk sequences.

We reccomend to use main `transcripts.fasta` file in case you don't have any specific needs for you projects. Do not hesitate to contact us using e-mail given below.

Contigs/scaffolds names in rnaSPAdes output FASTA files have the following format:
`>NODE_97_length_6237_cov_11.9819_g8_i2`
Similarly to SPAdes, `97` is the number of the transcript, `6237` is its sequence length in nucleotides and `11.9819` is the k-mer coverage. Note that the k-mer coverage is always lower than the read (per-base) coverage. `g8_i2` correspond to the gene number 8 and isoform number 2 within this gene. Transcripts with the same gene number are presumably received from same or somewhat similar (e.g. paralogous) genes. Note, that the prediction is based on the presence of shared sequences in the transcripts and is very approximate.

## 3 Assembly evaluation

rnaQUAST may be used for transcriptome assembly quality assessment for model organisms when reference genome and gene database are available. rnaQUAST also includes BUSCO and GeneMarkS-T tools for de novo evaluation.

## 4 Citation

If you use rnaSPAdes in your research, please include Bushmanova et al., 2019 in your reference list.

## 5 Feedback and bug reports

Your comments, bug reports, and suggestions are very welcomed. They will help us to further improve rnaSPAdes. If you have any troubles running rnaSPAdes, please send us `params.txt` and `spades.log` from the directory `<output_dir>`.

You can leave your comments and bug reports at our GitHub repository tracker or send it via e-mail: spades.support@cab.spbu.ru.