federicogiorgi / corto

corto (Correlation Tool): an R package to generate correlation-based DPI networks
20 stars 7 forks source link

Interpretation of the corto() network when boot_threshold = 0 #10

Open StephenBarron opened 1 year ago

StephenBarron commented 1 year ago

Hi Federico

Thanks for a really useful and well-documented package. I have a question about the interpretation of the network returned by the corto() function with the default value of boot_threshold = 0. Are the following points correct?

1) When boot_threshold = 0, the edge is significant in the full "inmat" matrix, but the edge is not significant in any of the bootstraps of the "inmat" matrix.

2) As the value of boot_threshold increases from 0 to 1, the size of the returned network generally gets smaller (ie fewer regulators and targets) and cannot get bigger.

Many thanks for your help and a great package Stephen

federicogiorgi commented 1 year ago

Hi Stephen!

boot_threshold sets the fraction of bootstraps required for any edge to be included.

Case boot_threshold=0 all edges that are significant according to the correlation threshold and the DPI step are kept Case boot_threshold=0.5 all edges above correlation threshold, surviving DPI in the full matrix, AND present in at least 50% of the bootstraps Case boot_threshold=1 as before, but they must instead be kept in ALL bootstraps

You may ask why the default boot_threshold is 0, and that is because, even with this parameter low, bootstraps are never ignored: the fraction of bootstraps where the edge survives is kept as the "likelihood" field in the network. And it is weighted accordingly whenever the network is "interrogated", e.g. with the mra() function to test for TF up/down regulation.

Increasing boot_threshold allows to remove edges that are unlikely to be true according to the bootstrap analysis, and it is useful wherever the user is not going to use the likelihood parameter, but rather the topology of the network.

Best,

Federico

On Tue, 13 Jun 2023 at 14:34, StephenBarron @.***> wrote:

Hi Federico

Thanks for a really useful and well-documented package. I have a question about the interpretation of the network returned by the corto() function with the default value of boot_threshold = 0. Are the following points correct?

1.

When boot_threshold = 0, the edge is significant in the full "inmat" matrix, but the edge is not significant in any of the bootstraps of the "inmat" matrix. 2.

As the value of boot_threshold increases from 0 to 1, the size of the returned network generally gets smaller (ie fewer regulators and targets) and cannot get bigger.

Many thanks for your help and a great package Stephen

— Reply to this email directly, view it on GitHub https://github.com/federicogiorgi/corto/issues/10, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKWILCJU545WYQO63ARCU3XLBM3ZANCNFSM6AAAAAAZEZM2P4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>

StephenBarron commented 1 year ago

Thanks so much for your quick reply, I understand now. The default value of 0 makes sense, when you can analyse the likelihood values. Thanks!