xiaoyeye / CNNC

covolutional neural network based coexpression analysis
MIT License
72 stars 23 forks source link

How to test for causal interactions #6

Closed rossinerbe closed 4 years ago

rossinerbe commented 4 years ago

Hi, I am very interested in the application of CNNC to predict the direction of causal edges between genes as reported in your PNAS paper. From the readme it is not clear to me how the input needs to be changed to get causal output from the network. My understanding is that the trained models provided are for finding undirected interactions and separate networks would have to be trained to find directed interactions, but I am not sure how to do this. Thanks!

xiaoyeye commented 4 years ago

Hi, Your approach works indeed. You can train two separate models, so that one focuses on interaction tasks, and the other on direction task. However, in the paper, we used merged way for Fig. 3 and Fig 4. If we have a A->B directed regulation, then the data was generated as (A,B) 1 (B,A) 2 (x, y) 0 where 1 means gene1 regulates gene2, 2 means gene1 is regulated by gene2, and 0 means there is no regulation. Of course you can divide the triple into two doulet data (A,B) 1 + (x, y) 0 for interaction ,and (A,B) 1+ (B,A) 2 for causality.