mysolid
05/24/2024, 10:43 AMCIRCRNA_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.Nico Trummer
05/24/2024, 6:20 PMDIFFERENTIAL_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.mysolid
06/13/2024, 2:50 PMNico Trummer
06/13/2024, 3:51 PMCIRCTEST 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).