1. What is RNA-Seq ?
RNA-Seq is a molecular biology method used to quantify RNA in a specific sample. It is based on New Generation Sequencing (NGS) methods and allows the study of gene expression.
At the beginning of DNA sequencing in the 70’s, two main methods were developed. One of them by Walter Gilbert (USA) and another one by Frederick Sanger (UK), they both obtained the chemistry Nobel prize in 1980. From the 90’s several new methods were developed to increase the performances and decrease the costs of sequencing. These methods so called NGS methods opened new perspectives for biologists. This year, for the IGEM competition we focused on one of the based NGS method, which is RNA-Seq (Figure 1).
Figure 1 : RNA-Seq Analysis. The first step is to extract mRNA from a sample. Then a specific enzyme called reverse transcriptase allows the reverse transcription into cDNA. Finally these cDNA are sequenced using NGS methods.
RNA-Seq as said previously allows to quantify RNA into a cell at a particular time. With NGS development, a huge amount of data became available to scientists. They actually needed people to compute these data and this is when bioinformaticians came up. Computers are actually thought to treat a lot of data faster than humans. Thus, a lot of tools were developed to process NGS outputs. For the competition we used some of these tools to study splicing in C. elegans organism. Lets see how we proceeded !
2. How to study splicing with RNA-Seq ?
2.1. Aligning & Mapping
In bioinformatics, sequence alignment is a way of arranging RNA sequences in relation to each other, to determine their structure or function similarities. Sequences are stored in a matrix where rows from each sequence are compared. Gaps can be added into sequences so that identical or similar characters are aligned in successive columns. The organism studied here is C.elegans. The purpose here was to align RNA-Seq reads to its reference genome by using the Hisat2 algorithm.
RNA is transcribed from DNA sequences that are composed of alternating coding exons and non-coding introns. A pre-RNA is produced that contains the transcribed exons and introns.
Out of this pre-RNA, only coding exons must be kept and the introns removed. This process of removing introns is called splicing. Different combinations of exons can be brought together to produce different variants of the protein to be, in a process called alternative splicing.
It is those spliced RNA sequences that are then sequenced. To do so, they are retro-transcribed into their complementary DNA, the cDNA. This DNA is sequenced using NGS.
Current sequencing technologies methods split the large DNA molecules to be sequenced into small chunks called reads. These reads sequences are mapped to the reference genome using algorithms like bowtie. Because reads are small, some sequences can be redundant, present at different locations in the genome, making them hard to map. To circumvent this, a technique of mapping called paired-end is used. It consists in sequencing a cDNA fragment at its extremities in both directions, 3’ to 5’ and 5’ to 3’ (reverse strand). Because these reads originate from the same fragment the distance between them is know and it is easier to map them. Indeed, if two reads can map at a same location only one will have its pair mapping further at the correct distance.
When many reads cover a common region, this region of the genome is highly expressed, because many RNA were produced out of it and reads found for them.
Reads come up as fastq files, which are formated text files, stored in the SRA archive (Sequenced Reads Archive) at the NCBI. The fastq files are produced by the sequencing technologies and consist of the combination of fasta information (the raw nucleic sequence) and the quality score of each sequenced nucleic acid base. It is possible to download them in a programmatic manner using the fastQ-dump software from the SRA toolkit. The name of the SRA archive collection is specified as well as the sequencing method (single or paired end), to produce one or two fastq files.
These fastq files are the input for the HISAT software, based on bowtie, it performs the mapping of the reads on the genome. HISAT was used with the default parameters. HISAT outputs bam files, they are a binary version of a sam file which contains the mapping informations like localisation of sequences reads sequences.
2.2. Extracting junctions
While some sequenced reads will fall within the boundaries of an exon, some of them correspond to a sequence overlapping an Exon-Exon boundary. When mapped to the genome, these reads will have the left part of their sequence on the end of the first exon and the right one further, after the intron, on the beginning of the following exon. This is how a junction can be detected. It is not that simple but algorithms like bowtie can infer whether it is a true junction or not. Alternative splicing produces different exon combinations through different junctions, thus, a junction actually represents a specific spliced form of RNA.
After the step of aligning and mapping we went through the junction extraction process. To perform this, we used two well known tools, called samtools and regtools. Samtools allowed us to index the bam file output from the alignment and mapping steps. This is necessary as regtools, which allows the extraction of junctions and generates a bed file, needs an indexed bam file for input. Finally after the junctions extraction we ended up with a bed file containing all the junctions (spliced forms) of the sample.
The more reads map to a junction, the more often the two corresponding exons are associated. This is how we score a junction, by the number of reads mapping to it. However, the score isn’t sufficient to reflect the different expression levels of variants, because it is dependant on the expression level and can’t be used as a comparison variable. This is why we had to implement a usage ratio calculation.
2.3. Calculating ratios
This step is the core of our pipeline. The method used to calculate was developed by a team at IECB (Pessac, France). It relies on the START and STOP positions of each junction, we talk about acceptor (for start) and donor (for stop).
The first thing we had to do was to regroup all the junctions sharing an acceptor or a donor. We then computed the ratio by just dividing the own score of a junction by the sum of the scores of the junction pool. Thus at the end a junction can have one acceptor ratio and one donor ratio. Finally the minimal score ratio between these two has been used because it is more robust, indeed, the lower the ratio, the higher the score at the denominator and the more represented the junctions.
The final output of this step is a CSV file containing the usage ratio for each junction. Since we wanted to compare the junctions between two tissues and that the graphical representation is based on two ratios (one by tissue) for each gene, we needed to extract only the common junctions between the two tissues. This step led to a loss of many genes but allows a selection of genes expressed only in both tissues studied.
2.4. Plotting the results
The next step of the workflow was the data visualisation. There are actually several way to visualize data and make comparisons. In our case we could compare splicing variations through C.elegans development or for a same development stage we could compare spliced isoforms between tissues. In order to spot specific splicing patterns for a given tissue we have chosen the last option. But we are not excluding the former since it could be very interesting to investigate the splicing evolution through development.
To produce the different plots, we used RStudio (GUI for R) in combination with ggplot2 and plotly packages. By using this we were able to generate beautiful plots and moreover interactive ones. The user can now easily travel inside the data and visualize what he wants. We obtained several graphs , some of which will be presented in the following part.
The first thing we plotted was f(muscle_ratio) = neuron_ratio. We then had the idea to plot f(distance_between_points) = slope_line_between_points but this type of graph can be tricky to understand. Thus we decided to keep the initial plots generated to perform our analyses which is the final step of our work.
3. Analysing the results
Since the biology team had not produced any results of RNA-Seq, we had to choose a training dataset from Mae et al, which is composed of stages and muscle specific RNA-Seq reads. A very useful asset in order to detect tissue specific splicing patterns.
If the biology team had produced a modified C.elegans worm, we would have been interested in checking if other gene splicing were impacted by the genetic construct and verify if unc-60 splicing was modified. We therefore compared muscle and neuron alternative splicing patterns in order to identify specific genes which could be responsible for the differentiation in one of the tissue studied.
In the output graphs, each dot is a junction, the y coordinate corresponds to the usage ratio of that junction in the y axis sample, while the x coordinate corresponds to its usage ratio in the x axis sample.
We can identify three different areas. The first one which is coloured in grey represent an identical splicing for a same gene into the two studied tissues (here muscle and neuron).
The area in green gathers junctions for which usage is high in neuron (y axis sample) and low in muscle (x axis sample). In the other way the red area contains all the junctions with a usage ratio lower in neurons and higher in muscles.
Our goal being to identify specific tissues patterns, we focused on the red and green areas which, as explained, represent differential tissue splicing.
3.1. Evaluation of pipeline results
First of all, to confirm the efficiency of our workflow we decided to look for housekeeping genes behaviors. Among all these genes we have chosen the actin-3. As expected we have been able to locate its junctions in the diagonal area meaning that this particular gene does not have a different alternative splicing between the neuron and muscle. Thus we confirmed the robustness of our pipeline and that allowed us to perform more analysis which are discussed in the following lines.
3.2. unc-60 splicing investigation
Since we knew a priori the behavior of unc60, it was an interesting positive control to investigate. We can see on the plot that muscular isoform B and non-muscular isoform A usages behave as expected. Indeed, in the muscle, the usage ratio for unc-60B is 0.98 versus 0.02 for unc-60A, a very dichotomic junction usage reflecting the muscle isoform specificity. In contrast, the usage ratios for both isoforms in neuron are neighbouring 0.5, which would indicate that both isoforms are used.
3.3. ric-4 splicing investigation
We had no a priori knowledge about ric-4 but it caught our attention since its behavior is very characteristic of an outlier. Actually its two isoforms are located on the opposite of the diagonal meaning an inversion of spliced forms in comparison with the genes located in the central area. We can see one form very used in the neuron whereas the other one is more used in the muscular tissue. We then investigate the role of ric-4.
It is thought to be related to vesicles trafficking including SNARE vesicles. It is tagged as involved in synapses structuration and function. However SNARE vesicles processes are also found in muscle. Therefore muscle and neuron specific isoforms of these vesicular transport related proteins could exist.
3.4. rsr-1 splicing investigation
rsr-1 was picked up because it presents a splicing pattern very similar to unc-60. Indeed, rsr-1 isoforms in muscle have poles-apart usage ratios (0.98 vs 0.02) while in neuron this dichotomic usage is quite less pronounced (0.65 vs 0.35). rsr-1 is a homolog of SR160m, a splicing co-activator. It is important for development including normal pharyngeal morphology.
In Ensembl database this gene is featuring only one splice variant. We obtained 7 and 229 read counts for muscular isoforms, and 7 and 13 for the neuron. The few read counts could be due to mapping errors, revealing alternative junctions that are not actually real. This is possible in regions of lower complexity and rsr-1 actually presents a low complexity region, long serine and arginine repeats.
Discussion and future improvements
Overall, our observations are supported by decent read counts (junction scores) and known negative and positive controls present expected patterns. However there is still room for amelioration of the pipeline.
The area gathering junctions with similar usage ratios is not yet supported by statistical analysis, it is only an arbitrary threshold selected by us. Statistical clustering of junctions is still to be found in order to more robustly separate junctions with similar patterns to those with a significant usage ratio difference. We are trying to find a method that would be similar to confidence intervals in linear regression analyses.
We could rationalise the selection of alternative junctions based on the read count. As well as finding a representation involving this read count.
We would like to underline something else which can also be used with our pipeline. Recently, a scientific team generated a reference file for spliced isoforms for the whole C.elegans genome. Combining our pipeline with this new information could allow us to spot specific splicing in a tissue specific manner. This could allow scientists to detect splicing variations in their sample in comparison with “reference” usage values. Thus we are currently working on the upgrade of our scripts to take into account this reference file.
We had the idea to apply the method used to generate the reference file for C.elegans to create tissues specific references. Using this could refine the analysis since the reference file currently generated is based on the whole body, and does not reflect the reality in a specific tissue.
In the future we could even imagine indexing the different splicing patterns in order to find which pattern is most close to a sample submitted by a researcher. Using machine learning it could be possible to predict what would be the impact of conditions on the splicing pattern, or what conditions to apply in order to obtain a desired pattern.
Finally our main goal for now is to develop a web platform to release our tool to the whole scientific community. This would be very useful to improve our pipeline by taking into account their different feedbacks.