Git Product home page Git Product logo

cemitool's People

Contributors

diolima avatar gusrodf avatar hpages avatar jwokaty avatar lecardozo avatar link-ny avatar matheuscburger avatar melissalever avatar nturaga avatar pedrostrusso avatar thiagodch avatar vobencha 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  avatar  avatar  avatar  avatar  avatar  avatar

cemitool's Issues

error with dataframe

Hi everyone,

I get a warning when I try to run my dataframe:

       In pracma::gammainc(bh/x, ah) : Arguments 'x' and/or 'a' are too large.

What does it mean exactly? Is there any limitation in numbers of genes or condition used?

Thanks

Overlapped NES in GSEA

In the cemitool report, GSEA figure has overlapping module NES. Maybe make the figure proportional to the number of modules or rescale the NES size.

Information missing in report

Place the information of statistical test used in the ORA and Gene Set Enrichment Analysis.
For example: ORA - Hypergeometric Test with Benjamini & Hochberg background correction.

PPI fails with 1 gene modules

PPI does not run when there is only 1 gene in the Not Correlated genes module.

In fortify.network(intergraph::asNetwork(model), ...) :
duplicated edges detected

Problem in the function:
plot_interactions(cem)

Filter changing expr_data?

I'm opening this issue just because I wasn't sure if this is exactly what we wanted to do. It seems that when we apply the vst function, we're changing the expression data in the cem object (expr_data(cem)), but that's not the case when we don't apply the transformation. The user might want to keep the original data in the expression slot; the transformed data should go into the selected_genes slot, from my understanding.

expr_data(cem) <- expr

Question about module perservation

Hello CEMiTool team,

I appreciate your help with my previous questions and everything works perfectly! However, I was wondering if there was a "module preservation" equivalent function in CEMiTool.
I currently have a data set with 3 different "conditions"(condition-1, condition-2, condition-3). They each have a different number of replicates within them(condition-1=15 reps, condition-2=17 reps, condition-3= 18 reps). I am able to define the modules in the full data set (reference modules) but I was wondering if it was possible to perform a module preservation between my "reference" to the
respective conditions to see how well the modules are preserved between each condition. Essentially I would like to see the statistics and 3 different networks showing the different connectivity between the conditions based on the reference modules.

An example of this is from
https://www.frontiersin.org/articles/10.3389/fnsys.2017.00075/full

image

Thank you

annotation column shave to be formatted as character

I was getting a weird error when running cemitool with an annotation file. The problem was that the columns of the data frame were formatted as integer or factor. The analysis only worked once they were formatted as character.

It could be that it only applies for the SampleName column as that is also the colnames of the count matrix

Function examples

Precisamos colocar exemplos na documentação das seguintes funções:

  • cemitool.R
    • expr_data
    • sample_annotation
    • filter_expr
    • nmodules
    • mod_colors
    • save_files
  • report.R
    • generate_report
  • visualization.R
    • get_hubs
  • enrichment.R
    • read_gmt
  • interactions.R
    • include_interactions
  • integrate.R
    • cemoverlap

Results table

Some results parameters are not shown in the report:

  • Number of genes in greyModule?
  • Number of actual modules were generated (counting the split modules)
  • R2 value given the beta value (ourR2)
  • Connectivity of network given the beta (ourK)

counts and logcounts as input produces different results

When using RNA-Seq data, in which form should the data be?

I ran the pipeline once using the normalized counts generated by DESeq2 and another time with the log transformed version.

I got completely different results. What is happening here? And why is it happening?

Exporting a gene network

Hello!

I understand cemitool can use an external PPI network to visualize gene interactions but I was wondering if I am able to visualize the network by itself, without using an external gene interaction file? In WGCNA you can calculate the topological overlap matrix and visualize the gene intramodular connectivity by exporting to cytoscape. So I was curious if cemitool has this feature too.

Thank you

module_to_gmt fails when I have no Not.Correlated genes

Hi

I had an issue with a dataset where all genes could be assigned to a correlated network i.e there were no genes that were labelled as Not.Correlated.

Please could we get a quick fix to handle these situtations.

CEMiTool rocks!

Cheers

Steve

My quik fix was as follows:-

module_to_gmt <- function(cem, directory="./Tables"){
    if(nrow(cem@module) == 0){
        stop("No modules in CEMiTool object! Did you run find_modules()?")
    }else{
        gene_modules <- cem@module
        n_genes <- as.numeric(table(gene_modules[, "modules"]))
        n_genes <- n_genes[1:(length(n_genes)-1)]
        module_names <- as.character(unique(gene_modules[, "modules"]))
        
## FIX 1. check if Not.Correlated genes exist
        if( any(module_names %in% "Not.Correlated") == FALSE ){
            cat("All Genes are in a network - there is no [Not.Correlated] set of genes.")
            module_names <- module_names
        } else {
            module_names <- module_names[-which(module_names == "Not.Correlated")]
        }
        #module_names <- module_names[-which(module_names =="Not.Correlated")]
        module_names <- module_names[order(nchar(module_names), module_names)]
       
 ## FIX 2. corrected n_rows from n_genes to module_names
        gmt_df  <- as.data.frame(matrix("", ncol = max(n_genes), nrow = length(module_names)), stringsAsFactors = FALSE)

        rownames(gmt_df) <- module_names

        for (i in 1:length(module_names)){
            mod <- module_names[i]
            selected <- gene_modules[gene_modules$modules == mod, "genes"]
            gmt_df[mod, 1:(length(selected))] <- selected
        }

        gmt_df <- as.data.frame(cbind(module_names, gmt_df))
        write.table(gmt_df, file.path(directory, "modules_genes.gmt"), sep="\t", col.names = FALSE)
    }
}

Optional WGCNA figures

The Dendogram, and the beta graphs are not saved as files. Please include as an option in the package.

NAs in gene expression matrix

Hi
I have NAs in my gene expression matrix and it seems to be breaking cemitool with the following error:

> cem <- cemitool(expressionIsolateGeneMat)
Error in matrixStats::rowVars(expr) : Argument 'x' cannot be logical.

It "works" when I replace all the NAs with 0s, but that's not really what I want to include there.

> expressionIsolateGeneMat2 = expressionIsolateGeneMat;
> expressionIsolateGeneMat2[is.na(expressionIsolateGeneMat)]=0;
> cem <- cemitool(expressionIsolateGeneMat2)
... works ...

Any advice on what I should be including in the NAs? Ideally, any entries that are NA would just be ignored in the analysis.
Thanks!

Error dev.off() when performing cemitool

Hi,

I'm new to using R for data analysis and just managed to perform DESeq2 on my RNA-sequencing data. I would like to use cemitool, but I keep on getting the same error:

Error in dev.off() : cannot shut down device 1 (the null device)

Previously everything worked fine, and performing cemitool on the data that is included in the package works (expr0) fine as well.
The code that I've used is the following:

`> library(CEMiTool)

Expr <- read.csv("normalized counts_all wt vs ko.csv", header=T, row.names=1, sep=",")

head(Expr)
GC058565 GC058566 GC058567 GC058568 GC058569 GC058570 GC058559
0610009B22Rik 426.868903 463.465790 438.783079 480.97240 484.206797 479.74765 502.46918
0610010F05Rik 1372.004429 1391.445935 1404.105854 1330.78866 1425.819276 1447.92055 1476.42677
0610010K14Rik 4.154442 7.339956 8.775662 18.68809 9.827075 22.31384 14.52223
0610012G03Rik 21.810820 35.651215 53.629043 69.83444 51.815487 71.90016 64.86596
0610030E20Rik 550.463548 533.719654 555.791901 521.29933 493.140502 534.29260 517.95956
0610040J01Rik 103.861047 89.128037 109.208233 106.22703 109.884568 79.33811 110.36895
GC058560 GC058561 GC058563 GC058564
0610009B22Rik 457.350993 475.009836 471.70454 529.78143
0610010F05Rik 1466.595819 1266.062074 1292.32910 1499.11171
0610010K14Rik 9.454284 6.623643 15.90015 12.50749
0610012G03Rik 38.998922 70.967605 53.00051 31.26872
0610030E20Rik 472.714204 551.654850 514.10495 538.71535
0610040J01Rik 94.542841 118.279342 95.40092 107.20703

ann <- read.csv("Coldata_Cemitool.csv", header=T, sep = ";")
head(ann)
SampleName Class
1 GC058565 wt
2 GC058566 wt
3 GC058567 wt
4 GC058568 wt
5 GC058569 wt
6 GC058570 wt

cem3 <- cemitool(Expr, apply_vst = T)
Error in dev.off() : cannot shut down device 1 (the null device)`

Expr: contains 11 samples with 15679 variables. This data is normalized data that I've obtained using DESeq2
ann: is my annotation file, containing SampleName column stating the different samples + Class with the genotype of my animals.

I have already tried to update RStudio, restart it for a couple of times and tried to work in R instead of RStudio. But I keep on having the same issue. Underneath you can find the sessionInfo().

Could you please help me with this issue, as I have no clue what to do or what I'm doing wrong.

Many thanks in advance,
Carmen

`> sessionInfo()
R version 3.5.3 (2019-03-11)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 17134)

Matrix products: default

locale:
[1] LC_COLLATE=Dutch_Belgium.1252 LC_CTYPE=Dutch_Belgium.1252 LC_MONETARY=Dutch_Belgium.1252
[4] LC_NUMERIC=C LC_TIME=Dutch_Belgium.1252

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

other attached packages:
[1] CEMiTool_1.6.11

loaded via a namespace (and not attached):
[1] backports_1.1.4 Hmisc_4.2-0 fastmatch_1.1-0
[4] plyr_1.8.4 igraph_1.2.4.1 lazyeval_0.2.2
[7] splines_3.5.3 BiocParallel_1.16.6 GenomeInfoDb_1.18.2
[10] ggplot2_3.2.0 urltools_1.7.3 robust_0.4-18.1
[13] digest_0.6.20 foreach_1.4.7 htmltools_0.3.6
[16] GOSemSim_2.8.0 viridis_0.5.1 GO.db_3.7.0
[19] ggpmisc_0.3.1 gdata_2.18.0 magrittr_1.5
[22] checkmate_1.9.4 memoise_1.1.0 fit.models_0.5-14
[25] cluster_2.0.7-1 doParallel_1.0.15 limma_3.38.3
[28] sna_2.4 fastcluster_1.1.25 annotate_1.60.1
[31] matrixStats_0.54.0 GeneOverlap_1.18.0 enrichplot_1.2.0
[34] prettyunits_1.0.2 colorspace_1.4-1 blob_1.2.0
[37] rrcov_1.4-7 ggrepel_0.8.1 xfun_0.8
[40] dplyr_0.8.3 crayon_1.3.4 RCurl_1.95-4.12
[43] jsonlite_1.6 graph_1.60.0 ffbase_0.12.7
[46] genefilter_1.64.0 zeallot_0.1.0 impute_1.56.0
[49] survival_2.43-3 iterators_1.0.12 glue_1.3.1
[52] polyclip_1.10-0 gtable_0.3.0 zlibbioc_1.28.0
[55] XVector_0.22.0 UpSetR_1.4.0 DelayedArray_0.8.0
[58] gRbase_1.8-3.4 BiocGenerics_0.28.0 DEoptimR_1.0-8
[61] scales_1.0.0 DOSE_3.8.2 mvtnorm_1.0-11
[64] DBI_1.0.0 ggthemes_4.2.0 Rcpp_1.0.2
[67] viridisLite_0.3.0 xtable_1.8-4 progress_1.2.2
[70] htmlTable_1.13.1 gridGraphics_0.4-1 foreign_0.8-71
[73] bit_1.1-14 europepmc_0.3 preprocessCore_1.44.0
[76] Formula_1.2-3 stats4_3.5.3 DT_0.8
[79] htmlwidgets_1.3 httr_1.4.1 fgsea_1.8.0
[82] gplots_3.0.1.1 RColorBrewer_1.1-2 acepack_1.4.1
[85] ff_2.2-14 pkgconfig_2.0.2 XML_3.98-1.20
[88] farver_1.1.0 nnet_7.3-12 locfit_1.5-9.1
[91] dynamicTreeCut_1.63-1 polynom_1.4-0 labeling_0.3
[94] ggplotify_0.0.4 tidyselect_0.2.5 rlang_0.4.0
[97] reshape2_1.4.3 AnnotationDbi_1.44.0 munsell_0.5.0
[100] tools_3.5.3 RSQLite_2.1.2 statnet.common_4.3.0
[103] ggridges_0.5.1 evaluate_0.14 stringr_1.4.0
[106] ggdendro_0.1-20 yaml_2.2.0 knitr_1.24
[109] bit64_0.9-7 robustbase_0.93-5 caTools_1.17.1.2
[112] purrr_0.3.2 ggraph_1.0.2 RBGL_1.58.2
[115] pracma_2.2.5 xml2_1.2.1 DO.db_2.9
[118] compiler_3.5.3 rstudioapi_0.10 tibble_2.1.3
[121] tweenr_1.0.1 geneplotter_1.60.0 pcaPP_1.9-73
[124] stringi_1.4.3 lattice_0.20-38 Matrix_1.2-15
[127] vctrs_0.2.0 pillar_1.4.2 BiocManager_1.30.4
[130] triebeard_0.3.0 data.table_1.12.2 cowplot_1.0.0
[133] bitops_1.0-6 GenomicRanges_1.34.0 qvalue_2.14.1
[136] R6_2.4.0 latticeExtra_0.6-28 network_1.15
[139] KernSmooth_2.23-15 gridExtra_2.3 IRanges_2.16.0
[142] codetools_0.2-16 MASS_7.3-51.1 gtools_3.8.1
[145] assertthat_0.2.1 SummarizedExperiment_1.12.0 DESeq2_1.22.2
[148] S4Vectors_0.20.1 GenomeInfoDbData_1.2.0 intergraph_2.0-2
[151] parallel_3.5.3 hms_0.5.0 clusterProfiler_3.10.1
[154] grid_3.5.3 rpart_4.1-13 coda_0.19-3
[157] tidyr_0.8.3 rmarkdown_1.14 rvcheck_0.1.3
[160] ggforce_0.2.2 Biobase_2.42.0 WGCNA_1.68
[163] base64enc_0.1-3 `

Bioconductor Submission

Alright guys ( @matheuscburger and @pedrostrusso ), the time to submit CEMiTool to Bioconductor has come.

These are the requirements that need to be satisfied in order to submit the package:

  • ⚠️ : Pass R CMD build, R CMD check, and R CMD BiocCheck (see the R CMD check cheatsheet and the BiocCheck package) on all supported platforms (Windows, Macintosh, Linux) with no errors or warnings, using an appropiate version of R. To work out which version that is, see useDevel.

  • ⚠️ The result of R CMD build must be less than 4MB
    Our build is >50MB, because of the report files. We need to discuss this. 👀
    Our build is >8MB, because of external data. Thanks for correcting me, @matheuscburger !

  • ⚠️ R CMD check must complete within 5 minutes.
    There are some warnings and some errors in the check step. We need to take a look at it as well. 👀

  • ⚠️ Contain a DESCRIPTION file with valid contact information, an informative title and description, correct license specification, appropriate biocViews terms, valid version number.

  • ⚠️ Set Version: 0.99.0 in the DESCRIPTION. Subsequent versions created during the review process will be numbered 0.99.1, 0.99.2, etc. When released, your package’s version number will be automatically incremented to 1.0.0.

  • ✅ Contain a NAMESPACE that imports all symbols used in the package, and exports just those symbols the package author identifies as appropriate. Use of a NAMESPACE implies that appropriate packages are mentioned in the Imports: field of the DESCRIPTION file.

  • ✅ Contain a vignette that illustrates the major uses of the package. The vignette must be evaluated during package installation; a static vignette is not acceptable.

  • ✅ Contain comprehensive help pages. This includes accurate description of function parameter and return values, and meaningful examples.

  • ⚠️ Make use of appropriate existing packages (e.g., biomaRt, AnnotationDbi, Biostrings) and classes (e.g., ExpressionSet, AnnotatedDataFrame, RangedData, Rle, DNAStringSet) to avoid duplication of functionality available in other Bioconductor packages.

  • ✅ Contain no extraneous files (e.g., ‘.DS_Store’, ‘.project’, ‘.svn’, etc.), files with invalid names (e.g., differing only in case), or code that cannot be distributed under the license specified by the author.

  • ✅ Packages should have a descriptive name that is not already in use. See if it is by running biocLite("myPackageName"). You cannot have a package name that is case-insensitively equal to an existing package name in CRAN or Bioconductor.

Can we visualise the position and degree of key genes optionally

It's a really impressive working, and I tried to use this pakages to mine more intersesting information in my data recently. And I got the standard outputs files successfully. But in the last step, interaction visulization, I want to show my interested genes' position in network and furthermore, I want to only show the gene network whose highest degree level is same to my interested gene.
And for achieving the second thinking, I might work out by filtering the input interactions files, calculating the degree of each genes and filtering the highest genes and lowest genes. did you think can I use that way to achieve that ?
But that will be much better that we could select the key genes to display the position and degree of them.
Thanks

CEMiTool error in GSEA analysis: Error in `[.data.frame`(z_expr, , class_samples, drop = FALSE)

Hi ,
Cemitool runs fine with 6 modules selected.
nmodules(cem_g)
[1] 6
My class column has 2 classes CLL/Normal. Get error when running GSEA-
cem_g <- mod_gsea(cem_g,verbose = TRUE)
Running GSEA
Calculating modules enrichment analysis for class CLL
Error in [.data.frame(z_expr, , class_samples, drop = FALSE) :
undefined columns selected

I also tried with - cem_g <- mod_gsea(cem_g,gsea_scale= FALSE, verbose = TRUE)
but get the same error

Can you please help with this error?

Number of selected genes

When using 'cemitool' function with 'filter=TRUE' and different 'filter_pval' values, I obtain always the same number of genes in the file 'Tables/module.tsv' (the same obtained when using the default 'filter_pval=0.1') even getting different numbers of 'Selected data: XXXX genes selected' in the 'cem' object returned.

My code is:

library("CEMiTool")
df <- read.csv('all.htseq-count.tsv.rpkms.tsv', header=TRUE, row.names=1, sep='\t')
cem <- cemitool(df, apply_vst=TRUE, filter=TRUE, set_beta=16, verbose=TRUE, filter_pval=0.2)
cem
CEMiTool Object

  • Number of modules: 13
  • Modules (data.frame: 2122x2):
    genes modules
    1 Mapoly0011s0071.v3.1 M3
    2 Mapoly0068s0071.v3.1 M3
    3 Mapoly0023s0166.v3.1 M2
  • Expression file: data.frame with 19287 genes and 44 samples
  • Selected data: 3521 genes selected
  • Gene Set Enrichment Analysis: null
  • Over Representation Analysis: null
  • Profile plot: ok
  • Enrichment plot: null
  • ORA barplot: null
  • Beta x R2 plot: null
  • Mean connectivity plot: null

write_files(cem, force=TRUE)

Am I missing something?

Thanks in advance, and congratulations for the tool,

Javier.

Stack Overflow with large exprs

Hello,

I am trying to run CEMiTool with a reasonably large singel cell dataset. It is an exprs with about 17200 genes and 4700 cells.

When running the CEMiTool function, I get the following error:

Error: node stack overflow
Error during wrapup: node stack overflow

Is this expected (i.e. is there an upper limit for datasets when using CEMiTool?) Or it should work if I use a more powerful machine?

Thanks!

Stat_overlap_modules filtering results too much

Function stat_overlap_modules in https://github.com/csbl-usp/CEMiTool/blob/master/R/integrate.R is removing more rows than expected.

See line 765.
I recomend changing the following one-liner:
df_output <- subset(df_output, Jaccard > jac_thresh & Fisherp < p_thresh & fdr < fdr_thresh)
To the following three lines:
df_output <- subset(df_output, Jaccard >= jac_thresh)
df_output <- subset(df_output, Fisherp <= p_thresh)
df_output <- subset(df_output, fdr <= fdr_thresh)

Grey Module

I think that the grey Modules (M0) is one of the modules,because when you set n_genes = 4000, all 4000 genes are in one modules. Before, the grey module was not shown.

expr0 {CEMiTool}

Hi there,
I have a data.frame with 274 obs and 5 var
After ""cem <- new_cem(expr0)""
the file has 4000 obs and 45 var
How can I see what's happening? Because ""head(expr0)" don't shows my IDs, it shows other names that I don't know what they mean.

Please, if someone could help me.

Choosing the best diss_thresh

Why is 0.8 the best diss_thresh? The 0.8 gave only 3-4 A/B modules.
The higher the value, the less modules are created and more genes per module are present.

Length out

When I am trying to create a 'cem' object, this error appears: "error in seq.default(h[1], h[2], length.out = n) : 'to' must be a finite number". What it means, please?

module enrichment for numeric annotation

Hi,

I have a problem about annotation step for my data.
When I have made categorical annotation for my sample, I didn't come across any problem, but I want use continuous variable instead of categorical variable to calculate module-trait association just like in WGCNA. Is this available for CEMiTool ?
I split my data two categories and generated module enrichment between them, therefore I want make that for my numerical categories.

Categorical annotation ;

SampleName Class
AD Parent
BD Parent
CM Children
IM Children

Above annotation worked to make module enrichment analysis between Parents and Children, but I want generate annotation like below and calculate module-trait association. How can I make this analysis with using CEMiTool ?

Numeric (continuous) annotation ;

SampleName CARS
AD 40
BD 38
CM 24
IM 22

Can you help with this?

Thanks your good R package and interest.
Best regards.

Add gene search to Report

Add a functionality to the report to allow users to search for a particular gene and see in which module it is (if in any).

Possible error when a class has only one sample

Including sample annotation ...
Running Gene Set Enrichment Analysis ...
Running GSEA
Calculating modules enrichment analysis for class a1
Error in apply(z_expr[, class_samples], 1, mean) :
dim(X) must have a positive length

read_gmt failed

Hi,

I installed the package from the Bioconductor and tried the example script.

However, the following script failed.
gmt_fname <- system.file("extdata", "pathways.gmt", package="CEMiTool")
gmt_in <- read_gmt(gmt_fname)

The error message said:
Error in data.frame(..., check.names = FALSE) :
arguments imply differing number of rows: 1, 0
In addition: Warning message:
In strsplit(x, split = "\t") : input string 1 is invalid in this locale

Can you kindly deal with this bug?

Best,
Masato

Interaction plot: change color of nodes not present in the module

Talking with Helder and @thiagodch we came to the conclusion that it would be interesting to color differently the genes that are in the network but are not part of the module generated by CEMiTool.
I will not have time to make these modifications.

I think these are the necessary steps to get the job done:

  1. Add an attribute to the vertices with the information of genes in module (cem@interactions)
  2. Include this column as color here

CEMiTool version from repository breaks legacy code based on map loop

Version from master returns error when function is called inside nested loop. Code was working with Bioconductor version.
I believe that error is caused by opening a graphical device.
Error message:
<simpleError in (function (display = "", width, height, pointsize, gamma, bg, canvas, fonts, family, xpos, ypos, title, type, antialias) { if (display != "XImage") { check <- Sys.getenv("R_CHECK_SCREEN_DEVICE", "") msg <- "screen devices should not be used in examples etc" if (identical(check, "stop")) stop(msg, domain = NA) else if (identical(check, "warn")) warning(msg, immediate. = TRUE, noBreaks. = TRUE, domain = NA) } if (display == "" && .Platform$GUI == "AQUA" && is.na(Sys.getenv("DISPLAY", NA))) Sys.setenv(DISPLAY = ":0") new <- list() if (!missing(display)) new$display <- display if (!missing(width)) new$width <- width if (!missing(height)) new$height <- height if (!missing(gamma)) new$gamma <- gamma if (!missing(pointsize)) new$pointsize <- pointsize if (!missing(bg)) new$bg <- bg if (!missing(canvas)) new$canvas <- canvas if (!missing(xpos)) new$xpos <- xpos if (!missing(ypos)) new$ypos <- ypos if (!missing(title)) new$title <- title if (!checkIntFormat(new$title)) stop("invalid 'title'") if (!missing(type)) { new$type <- match.arg(type, c("Xlib", "cairo", "nbcairo", "dbcairo")) if (!capabilities("cairo") && type != "Xlib") warning("cairo-based types are not supported on this build - using "Xlib"") } if (!missing(family)) new$family <- family if (!missing(fonts)) new$fonts <- fonts if (!missing(antialias) && type != "Xlib") new$antialias <- match.arg(antialias, aa.cairo) d <- check.options(new, name.opt = ".X11.Options", envir = .X11env) if (d$type == "Xlib" && !missing(family)) { fns <- X11Fonts() if (!family %in% names(fns)) stop("unknown family for X11(type = "XLib")") d$fonts[1] <- fns[[family]] } type <- if (capabilities("cairo")) switch(d$type, cairo = 1L, nbcairo = 2L, dbcairo = 3L, 0L) else 0L if (display == "XImage") type <- 0L antialias <- match(d$antialias, aa.cairo) if (grepl("darwin", R.version$os)) check_for_XQuartz() .External2(C_X11, d$display, d$width, d$height, d$pointsize, d$gamma, d$colortype, d$maxcubesize, d$bg, d$canvas, d$fonts, NA_integer_, d$xpos, d$ypos, d$title, type, antialias, d$family) invisible()})(): a forked child should not open a graphics device>

Replacing previous import "X" by "Y" when loading 'CEMiTool'

In the ggnetwork_fix branch I attempted to recreate the ggnetwork output for the interaction graphs using ggplot2 and ggrepel and it worked. However, now we have a few more warning messages about functions sharing the same names. Does anyone have any suggestions about how to address these problems?

Warning: replacing previous import ‘pracma::cutpoints’ by ‘sna::cutpoints’ when loading ‘CEMiTool’
Warning: replacing previous import ‘WGCNA::cor’ by ‘stats::cor’ when loading ‘CEMiTool’
Warning: replacing previous import ‘sna::degree’ by ‘igraph::degree’ when loading ‘CEMiTool’

PPI Networks

Hi,

If I use default CEMiTool interaction file, then my result will be different than using of more comprehensive PPI files.
There are some databases like HitPredict which provide more comprehensive PPI files. Which should I use them ?
What do you recommend me ? CEMiTool interaction file (almost 188.000 interactions) is enough or not for publication ?

Thanks,
Regards,

Absent ORA graph

Ran cemitool in the csbl server and the report did not show the ORA plot. I even set the options(bitmapType="cairo") as suggested by Lucas.

No diagnostics

Hello,
I already know that standard beta value won't work with my data, so I intend to require diagnostic_report(cem) to manually set it. However, I'm facing a problem with the graphs making:

counts <- read.table("DatExpr.txt", header = TRUE)
>row.names(counts) <- counts$genes
>counts <- counts[-c(1)]
>sample_annot <- read.table("cemitool-phenotypes.tsv", header = TRUE, sep = "\t")
>gene_sets <- read_gmt("blast2go_gene_sets.gmt")
> cem <- cemitool(counts, sample_annot, gene_sets, apply_vst = TRUE, filter = TRUE, force_beta = TRUE, sample_name_column = 'SampleName', class_column = 'Class', plot = TRUE, plot_diagnostics = TRUE, verbose = TRUE)
Including sample annotation ...
Plotting diagnostic plots ...
...Plotting mean and variance scatterplot ...
...Plotting expression histogram ...
...Plotting qq plot ...
...Plotting sample tree ...
Error in dev.off() : cannot shut down device 1 (the null device)
>diagnostic_report(cem)

Above, a few lines from my input data:
>head(counts) #20223x15

Ac0h Ac12h Ac24h At12h At24h Bc0h Bc12h Bc24h Bt12h Bt24h Cc0h Cc12h Cc24h Ct12h Ct24h
gene20201 3 2 0 1 1 2 4 1 2 0 1 3 1 0 0
gene20203 41 14 3 8 15 14 8 3 9 4 11 10 8 9 3
gene20205 25 3 5 14 21 7 5 4 6 11 2 5 7 6 6
gene20206 1 0 0 0 0 0 0 0 0 0 0 0 0 0
gene20209 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
gene20210 11 9 2 1 12 0 4 2 4 2 2 2 3 3 2

>head(sample_annot)#2x15

SampleName Class
Ac0h Control 0h
Bc0h Control 0h
Cc0h Control 0h
Ac12h Control 12h
Bc12h Control 12h
Cc12h Control 12h

>head(gene_sets) #136660x2

term gene
GO:0005344 gene2972
GO:0015749 gene19777
GO:0015749 gene9398
GO:0051188 gene3204
GO:0051188 gene12046
GO:0051188 gene3706

I suppose there's something wrong with some of my data (although I've checked them several times), cem object is not right therefore when I call diagnostic_report(cem) graphs can't be made thus there's no "device" to shut down, resulting in a html file with messages "Please create [...] plot" instead of graphs; but how can I be sure about it?

Best,

Carol

Can I use WGCNA to perform analysis based on the results of CEMiTool

Hello,

CEMiTool is a wonderful tool! I always used WGCNA before.

I want to do the following things based on CEMiTool's results:

  • relating modules to external information, such as the way in WGCNA
  • exporting a network to a external visualization software such as Cytoscape, like this

I don't know how to do these in CEMiTool, and I think a simple way to do is using functions in WGCNA. Can I do that? According to the paper of CEMiTool, the only difference between CEMiTool and WGCNA is beta selection: "Once a β value is chosen, subsequent steps for creating modules follow standard WGCNA procedure.".

Or how to extract information needed from the results of CEMiTool if not using WGCNA? Thank you in advance!

Bests,
Yiwei Niu

CEMiTool Error: Must request at least one colour from a hue palette.

Hi ,
I am trying to run CEMiTool with a sample annotation file but get the following error-

cem <- cemitool(edata2.df, targets.ct, verbose = TRUE)
Including sample annotation ...
Plotting diagnostic plots ...
...Plotting mean and variance scatterplot ...
...Plotting expression histogram ...
...Plotting qq plot ...
...Plotting sample tree ...
Error: Must request at least one colour from a hue palette.

Since the program is running I guess input files are correct. Please help can't really identify the issue.

targets.ct relevant columns look like this:
SampleName Class
ABP73-2 dis.Untr
ABP73-3 dis.cll
ABP73-4 dis.ge
ABP73-5 dis.wt
ABP73-6 dis.gsk
ABP73-17 Normal.Untr
ABP73-18 Normal.cll
ABP73-19 Normal.ge
ABP73-20 Normal.wt
ABP73-21 Normal.gsk

and the expression file (edata2.df) like this-
ABP73-2 ABP73-3 ABP73-4 ABP73-5
RFC2 5.162862 4.871644 5.620174 5.257355
HSPA6 6.130446 6.914137 6.893282 5.951551

GSEA module association

Hello,

I am a new user and absolutely love the package. However, I noticed whenever I plot a GSEA module association graph it misses one module whenever I try to associate more than 10 modules. I have also noticed this in one of the figures of the CEMITool paper in figure 8a.
CEMITool

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.