Hi all,
I have a gene signature (about 300 genes) including up- and down-regulated gene sets, and would like to use package GSVA to assess my signature on samples from a matrix (18000 genes in row and 600 patient samples in columns). The row names of the matrix as well as the gene sets are both gene symbols (I can use Entrez ID if it matters?). I am following the instruction here "https://www.bioconductor.org/packages/devel/bioc/vignettes/GSVA/inst/doc/GSVA.pdf"
I've tried both "gsva" and "ssgsea", however, in both cases I get error.
In the below codes m is a matrix, and for performing "gsva", geneSet is a list consisting of two signatures (up and down gene sets) while for the "ssgsea" method, geneSet is a list containing only one signature:
es.dif <- gsva(m, geneSets, mx.diff=1, verbose=FALSE, parallel.sz=1)$es.obs
es.dif <- gsva(m, as.list(geneSet), method="ssgsea", mx.diff=1, verbose=FALSE, parallel.sz=1)
Error in if (any(sdGenes == 0)) { : missing value where TRUE/FALSE needed
I should say that even changing the class of my matrix to ExpressionSet did not work for me... I searched on Bioconductor as well but could not find my answer... Any help would be highly appreciated.
By the way, here is the output of my session information:
sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_Australia.1252 LC_CTYPE=English_Australia.1252
[3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C
[5] LC_TIME=English_Australia.1252
attached base packages:
[1] parallel stats graphics grDevices utils datasets methods
[8] base
other attached packages:
[1] GSVA_1.12.0 GSEABase_1.26.0 graph_1.42.0
[4] annotate_1.42.1 AnnotationDbi_1.26.1 GenomeInfoDb_1.0.2
[7] Biobase_2.24.0 BiocGenerics_0.10.0 BiocInstaller_1.14.3
[10] biomaRt_2.20.0
loaded via a namespace (and not attached):
[1] bitops_1.0-6 DBI_0.3.1 IRanges_1.22.10 RCurl_1.95-4.7
[5] RSQLite_1.0.0 stats4_3.1.1 tools_3.1.1 XML_3.98-1.3
[9] xtable_1.8-0
Many thanks in advance,
Sepideh.
Many thanks Robert,
In fact, it solved the problem :-) I don't get the error anymore... however, I get warnings and I am not sure whether I should be worried about them? The warnings say that I have some genes with constant values across all samples. Please look at them:
By running "gsva" method, I get:
Warning messages:
1: In .local(expr, gset.idx.list, ...) :
536genes with constant expression values throuhgout the samples.
2: In .local(expr, gset.idx.list, ...) :
Since argument method!="ssgsea", genes with constant expression values are discarded.
By performing "ssgsea", I get similar warning:
Warning message:
In .local(expr, gset.idx.list, ...) :
536genes with constant expression values throuhgout the samples.
Should I remove some of the genes before using the package?
Thanks again for your time on answering my question :-)
Cheers,
Sepideh