aertslab / pySCENIC

pySCENIC is a lightning-fast python implementation of the SCENIC pipeline (Single-Cell rEgulatory Network Inference and Clustering) which enables biologists to infer transcription factors, gene regulatory networks and cell types from single-cell RNA-seq data.
http://scenic.aertslab.org
GNU General Public License v3.0
420 stars 179 forks source link

Why does the same transcription factor have many regulons? #535

Open M-jk22 opened 6 months ago

M-jk22 commented 6 months ago

c417a7a2f527b0657af819afe6f0b74 1711077120810 In the analysis results, I found that the same transcription factor might correspond to many target gene sets, each with its own AUC. So, can I understand that even the same TF can have many regulons, and that the TF activity in each cell is the result of processing these regulon scores?

VincentGardeux commented 6 months ago

Hi @M-jk22,

From what I understood these are not the regulons yet, but the modules that were computed on the adjacencies graph. But then you have another step that summarizes this information at the TF level, thus creating one unique regulon per module. I think you miss a step of the pipeline? It's like you've run the pruning step, but not the df2regulon step?

M-jk22 commented 6 months ago

Hi @VincentGardeux, Thank you for your reply. Yes, this is the result after running pyscenic ctx. I thought that during the analysis process, one transcription factor would correspond to a group of target genes. However, from the current analysis results, it seems that after computing with the adjacency graph, one transcription factor is associated with many modules. Then, these modules are integrated using pyscenic aucell to obtain the AUCell score for the transcription factor regulon. I'm not sure if my description is correct. What does the AUC value of each module represent then? Can we use the AUC to filter these modules to select target genes?

VincentGardeux commented 6 months ago

Hi @M-jk22, I am not running the CLI tool, but the notebook version. I did not know that the pyscenic ctx was not returning the summarized regulons but instead the modules (I am no author of this tool, just a user).

There is a preprocessing step, before running the AUCell, where the modules are integrated into regulons, by concatenating all target genes of each module associated with a certain TF, and taking the top motif (higher NES). Then, the AUCell is computed on this summarized TF. So I assume that in the CLI version, the preprocessing is generated while running the AUCell step.

M-jk22 commented 6 months ago

Hi @VincentGardeux, Thanks for your reply! I've learned a lot from chatting with you. Wishing you a happy and joyful life!