Giter VIP home page Giter VIP logo

dyngenie3's Introduction

dynGENIE3

Semi-parametric approach for the inference of gene regulatory networks from time series of expression data.

The dynGENIE3 method is described in the following paper (available here):

dynGENIE3: dynamical GENIE3 for the inference of gene networks from time series expression data
Huynh-Thu, V. A. and Geurts, P.
Scientific Reports, 8:3384, 2018.

Three implementations of dynGENIE3 are available: Python, MATLAB and R. Each folder contains a PDF file with a step-by-step tutorial showing how to run the code.

Note: All the results presented in the paper were generated using the Python implementation.

dynGENIE3 is based on regression trees. To learn these trees, the Python implementation uses the scikit-learn library, and the MATLAB and R implementations are respectively MATLAB and R wrappers of a C code written by Pierre Geurts.

dyngenie3's People

Contributors

serdar- avatar vahuynh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dyngenie3's Issues

NAs introduced during link.list production

I have a 53306 x 14 matrix (genes x timepoints) that I am analyzing with dynGENIE3 (3638 of those genes are considered regulators). The dynGENIE3 function finishes to completion, but there is an error in getting the link.list.

> link.list <- get.link.list(res$weight.matrix, threshold=0.005)
Error in if (n > 0) c(NA_integer_, -n) else integer() :
  missing value where TRUE/FALSE needed
In addition: Warning messages:
1: In rep.fac * nx : NAs produced by integer overflow
2: In .set_row_names(as.integer(prod(d))) :
  NAs introduced by coercion to integer range

This error persists even if make the threshold more stringent and if I modify the report.max. Can you please advise?

Thanks,
Corrinne

This is what I have loaded

> sessionInfo()
R version 4.2.2 (2022-10-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Red Hat Enterprise Linux 9.0 (Plow)

Matrix products: default
BLAS/LAPACK: /opt/rit/el9/20230413/app/linux-rhel9-x86_64_v3/gcc-11.2.1/openblas-0.3.21-zniqbxhjyx3vl653otz7fkmwqvp7pzds/lib/libopenblasp-r0.3.21.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] parallel  stats     graphics  grDevices utils     datasets  methods
[8] base

other attached packages:
 [1] lubridate_1.9.2   forcats_1.0.0     stringr_1.5.0     dplyr_1.1.1
 [5] purrr_1.0.1       readr_2.1.4       tidyr_1.3.0       tibble_3.2.1
 [9] ggplot2_3.4.1     tidyverse_2.0.0   doRNG_1.8.6       rngtools_1.5.2
[13] doParallel_1.0.17 iterators_1.0.14  foreach_1.5.2     reshape2_1.4.4

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.10      compiler_4.2.2   pillar_1.9.0     plyr_1.8.8
 [5] tools_4.2.2      digest_0.6.31    timechange_0.2.0 lifecycle_1.0.3
 [9] gtable_0.3.3     pkgconfig_2.0.3  rlang_1.1.0      cli_3.6.1
[13] withr_2.5.0      hms_1.1.3        generics_0.1.3   vctrs_0.6.2
[17] grid_4.2.2       tidyselect_1.2.0 glue_1.6.2       R6_2.5.1
[21] fansi_1.0.4      tzdb_0.3.0       magrittr_2.0.3   scales_1.2.1
[25] codetools_0.2-19 colorspace_2.1-0 utf8_1.2.3       stringi_1.7.12
[29] munsell_0.5.0

A error when run the dynGENIE3_R

  1. A warning signed that variable may be used uninitialized occur when i complie C code with 'R CMD SHLIB dynGENIE3.c'. It's a root that lead to the next error in the fig2.
    1

  2. LoadLibrary failure with the dynGENIE3.so
    2

I'll appreciate your help, if you can reply me on your convenience.

NA/NaN/Inf in foreign function call (arg 4)

Hi there,

I am working on time series data (Illumina raw reads quantified using Salmon) and ran into the following error:

Error in dynGENIE3(TS.data2, time.points2) : 
  NA/NaN/Inf in foreign function call (arg 4)

I initially suspected this was related to a large number of zeros in my dataset, but this problem persists even when I remove all rows containing zeros from the analysis. If you have some input into this problem, I would greatly appreciate it!

Error using alpha = "from.data"

Hi,

I am using dynGENIE3 on a 6-sample dataset, with 5 time points each. While setting alpha = fixed_value works perfectly, using alpha = "from.data" gives

Error in { :
task 2 failed - "NA/NaN/Inf in foreign function call (arg 4)"

Any idea where this error comes from, and how to solve it?
Thanks

scheduled cores XXX did not deliver results, all values of the jobs will be affected

hi,
I'm running dynGENIE3 on a cluster with 48 cores, and the code finish successfully, but return the following warning. When I check the result, I find something was missing.
r$> length(res$alphas)
[1] 56500
r$> dim(res$weight.matrix)
[1] 2866 12948
Warning messages:
scheduled cores 1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 20, 22, 23, 24, 25, 26, 28, 29, 31, 32, 33, 34, 36, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48 did not deliver results, all values of the jobs will be affected

Advice on how to input different conditions and replicates

Hello,

I was hoping that you would have time to give some advice on how to input different conditions and replicates to dynGENIE3. I'm successfully running the R implementation on my time series RNAseq data. However, I'm not quite sure the recommended way to input the different replicates and conditions.

My data is:
6 time points
8 conditions plus control
2-3 replicates per condition.

The way I am doing it now, I am inputting each condition and replicate as a separate time series and treating control as a separate condition and running them all at once. Do you recommend this, or to separate conditions into different runs and perhaps treat the control as steady state data?

Thank you for the helpful tool!
Best,
Rebecca

Pipeline for generating a AUROC plot based off of dynGENIE3 Results?

Hi,

I was wondering if there was a way to visualize an AUROC plot (TPs vs. FPs) for a given gene regulatory network (GRN) constructed by the dynGENIE3 framework. If there isn't an easily available function, are there other ways to perform such a procedure? Any clarification would be greatly appreciated!

Best,
Rohak

3 point time series

Is there a minimum number of time points required to run this? I have 3 time points with 3, 3, and 2 replicates. I get this error
res <- dynGENIE3(TS.data, time.points)
Error in (num.samples.count + 1):(num.samples.count + num.samples.current) :
argument of length 0

Error in if (n > 0) c(NA_integer_, -n) else integer()

Hi,

I encountered an error while attempting to utilize all quantified genes in order to construct a comprehensive regulatory network, from which I aim to extract subnetworks containing the genes of interest. The transcriptome data was quantified using triploid typing genomes, encompassing 6 time points with 3 replicates each (totaling 18 samples). For file designation, replicates 1 of each time point were labeled as "time_series_1," replicates 2 as "time_series_2," and replicates 3 as "time_series_3." To address the issue of numerous genes exhibiting expression values of zero or partial samples with zero expression values, only those genes displaying expression levels exceeding 0.1 TPM across all samples were utilized for program execution.

Error in if (n > 0) c(NA_integer_, -n) else integer() :
missing value where TRUE/FALSE needed
Calls: get.link.list ... melt -> melt.matrix -> expand.grid -> .set_row_names
In addition: Warning messages:
1: In rep.fac * nx : NAs produced by integer overflow
2: In .set_row_names(as.integer(prod(d))) :
NAs introduced by coercion to integer range
Execution halted

I sincerely look forward to your assistance ๏ผ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.