I have several questions about the workflow::think...
# circrna
m
I have several questions about the workflow:🤔 (1) about the meaning of "CIRCTEST ": the normal RNAseq gene_count_matrix.csv , and the circRNA count_matrix.txt, (which comes from the
CIRCRNA_DISCOVERY
module), with these tables, then you can do the deseq2 analysis . Why you want to do the CIRCTEST ? the main function of it is to test the variation of circRNAs in respect to host genes. I do not understand the real meaning of this process? (2) In the DIFFERENTIAL_EXPRESSION module, I do not understand the whole process, the process
HISAT2_ALIGN + BAM_SORT_STATS_SAMTOOLS + STRINGTIE_STRINGTIE  + STRINGTIE_PREPDE
is to get the normal RNAseq gene_count_matrix.csv , why would I care about this, the main process is to get the differential genes in circRNA , why would I have to quantification the normal RNAseq ? the relation between this and circRNA differential analysis I do not understand.
n
Hey, the
DIFFERENTIAL_EXPRESSION
module is the only part of the pipeline I have not touched yet since I took over the pipeline. I cannot say much about the rationale that led to the way it is implemented now, but I can make some assumptions: 1. When analysing circRNA data it is often interesting to check correlation with genes and linear transcripts, potentially leading to the discovery of regulatory relations. In order to perform analyses like this, one needs to also consider linear RNAs. 2. The purpose of
CIRCTEST
is as you described the analysis of correlation between circRNAs and host genes. For this, the genes need to be quantified as based on all RNAs (since linear are more abundant than circRNAs). 3. A quick side note: When investigating correlations between circRNAs and linear RNAs it leads to biases when the count matrices for both molecule classes originate from separate quantification processes, which then is passed on to circRNA-gene correlation analysis. I need to put a BIG WARNING here: The way the
DIFFERENTIAL_EXPRESSION
module is implemented right now, the pipeline takes for each detected circRNA per sample the count value from the discovery tool which delivers the highest count value. This values are directly passed into
DESeq2
and analysed together with an independently quantified gene expression matrix. This is very biased and results coming out of this analysis should not be trusted. Also one needs to consider that
DESeq2
is not meant to be used on the transcript level (what circRNAs are). I only did not want to remove this part of the pipeline until I have a full replacement. But A SOLUTION IS ON THE WAY: Basically there is the new
QUANTIFICATION
module, which takes the locations of the BSJs detected in
CIRCRNA_DISCOVERY
and performs a common quantification of linear and circular transcriptome using psirc-quant (kallisto-based). The results are then aggregated to the gene level. This way we can also account for the effect of inferential uncertainty in differential expression analysis. The results of this workflow can be visualized using the shiny application I built. It also allows performing dimensionality reduction, pathway analysis and statistical tests using the Swish method. Next thing to do here is to make the existing
DIFFERENTIAL_EXPRESSION
module use the correct quantification results and appropriate tools.
m
There are some main ideas of your answer: (1) When analysing circRNA data, we have to consider the circRNA. their linear transcripts, and genes. But I do not know what kind of analysis or plot do I need to show these correlations? Even though I have the expression data of these, I do not know what to do next? (2) One little question: I look into several circRNA quantification tools, I think the 'CIRIquant' works well, and it corrects RNase R treatment biases, and importantly,it has a one-stop differential expression analysis pipeline. So, I can use it more conveniently. And the software,you mentioned before, 'psirc-quant', it can identify full-length circRNA isoforms, and quantify their expression levels. About the many quantification software, how do you choose which one is better? If you also think that 'CIRIquant' works well, then the whole workflow looks much easier...😂
n
Before reading this, you should also read the last message in this channel that I wrote some days ago. 1. You can do differential expression analysis using DESeq2 or Swish based on the pipeline outputs, both also allow you to perform correlation tests. As a correlation variable you can pick any genes expression or metadata variable. Also there is the
CIRCTEST
package which will remain part of the pipeline. But giving you clear instructions on what to do after the pipeline would be risky, as this is not an everyday task where lots of best practice guides exist and I do not want to take responsibility for guiding you in the wrong direction. 2. I think it is a good practice to use multiple discovery tools and perform a majority vote. Again I am reluctant to give you concrete instructions on which tools to use - feel free to pick whatever you think will work. The problem is, when using multiple discovery tools you have to somehow decide which expression values you are going to use. But since every tool performs quantification differently, every form of aggregation will be biased. This is why the pipeline only takes the circular transcriptome provided by the majority vote of the discovery tools and perform a new quantification based on it. Other tools than
psirc-quant
might work as well for this, but
psirc-quant
provides a convenient and circrna-focussed wrapper for kallisto for this task, which makes it quite attractive. 3. For full length isoform detection, I recently created an issue. I will work on this over the next weeks. My goal is to allow users to run the pipeline in two modes: BSJ mode (basically what is currently implemented) and Isoform mode (which will give exact sequences but will only work for paired-end data).