TITLE: Transcriptome assembly
AUTHORS: Rafael Rodrigues Ferrari, Thiago Mafra Batista

[DESCRIPTION]
This protocol provides detailed, step-by-step instructions for students and researchers to assemble transcriptomes from short reads generated by Illumina technology. In this tutorial, we will check the quality of the sequencing data and align the reads with a bacterial genome database to eliminate potential contamination. We will then use two approaches to assemble the transcripts: de novo assembly and alignment to the reference genome. The transcripts will be quantified and the assemblies evaluated.

[STEPS]
SECTION: SEQUENCING QUALITY CHECK
1. ****FastQC (https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)****

 

SECTION: CROSS-SPECIES CONTAMINATION FILTERING
2. ****Magic-BLAST (https://ncbi.github.io/magicblast/)****

***Prepare a .pbs file to run the analysis remotely on Sagarana***
 
**Convert output file**
 

SECTION: ASSEMBLY
3. /////STRATEGY #1: DE NOVO ASSEMBLY\\\\\

****Trinity (https://github.com/trinityrnaseq/trinityrnaseq/wiki) (on Sagarana)****

***Prepare a .pbs file to run the analysis remotely on Sagarana***
 
****Redundans (https://github.com/lpryszcz/redundans)(on Kiko)****

***Filter out isoforms***
 

/////STRATEGY #2: REFERENCE-BASED ASSEMBLY (on Kiko)\\\\\

****HISAT2 (https://github.com/DaehwanKimLab/hisat2)****

***Mapping reads against the assembled genome***
 
****Samtools****

***Convert the .SAM to .BAM***
 
****Stringtie (https://github.com/gpertea/stringtie)****

***Generate a .GTF from the .BAM***
 
****GffRead****

***Generate a transcript .FASTA from the .GTF
 
****Redundans****

***Filter out isoforms***
 

SECTION: TRANSCRIPT QUANTIFICATION
4. ****Trinity (using Kallisto)****

***Estimating transcript abundance (on headnode)***

#Use trimmed reads (.fastq.P.qtrim) if --trimmomatic was used in the assembly (the 'index' and 'quantification' functions of Kallisto are performed here)
 
***Generate a matrix of expression values (on headnode)***

#A matrix of TMM-normalized expression values (*.TMM.EXPR.matrix) will not be generated if a single .tsv file (=single sample) is input
 
***Counting expressed transcripts***

**Couting transcripts above a threshold (on headnode)**
 
**Plotting the results graphically on R (on my pC)**
 
****Trinity (using RSEM)****

***Estimating transcript abundance***

**Prepare a .pbs file to run the analysis remotely on Sagarana**
 
***Generate a matrix of expression values (on headnode)***
 
***Counting expressed transcripts***

**Couting transcripts above a threshold (on headnode)**
 
**Plotting the results graphically on R (on my PC)**
 

SECTION: ASSEMBLY QUALITY ASSESSMENT
5. ****Contig Nx statistics****

***Trinity***
 

**Estimate transcript abundance (using a built-in Kallisto)**

*Prepare the reference + run the estimation using (on headnode)*

#Use trimmed reads (.fastq.P.qtrim) if --trimmomatic was used in the assembly (the 'index' and 'quantification' functions of Kallisto are performed here)
 
**Generate a matrix of expression values (on headnode)**

#A matrix of TMM-normalized expression values (*.TMM.EXPR.matrix) will not be generated if a single .tsv file (=single sample) is input
 
**Calculate ExN50 stats (on headnode)**
 
**Plot the Ex value against the ExN50 value (on my PC)**
 

****BUSCO (https://busco.ezlab.org/)****

***Run BUSCO (using a docker)***
 

SECTION: FILTERING
6. ****Trinity****

***Kallisto's results***
 

***RSEM's results***