[BioC] pathview -- ID Problem?
fabian [guest]
guest at bioconductor.org
Fri Oct 18 19:46:34 CEST 2013
Hello Mr. Weijun Luo
I started to use pathview to visualize my differential gene expressin analysis. It is really a great help. First I worked with human data and had no problem at all to make it run.
Meanwhile I apply bacterial data and do not succeed. I'm not sure why. Here is my problem
When I run the analysis with my input
head(data_bac_values)
SL1344_0001 SL1344_0002 SL1344_0003 SL1344_0004 SL1344_0005 SL1344_0006
0.1329739 0.4947647 -1.4013626 0.5086116 -4.0000000 -0.2028169
with the following command:
> pv.out <- pathview(gene.data = data_bac_values, pathway.id = "05132", species = "sey", out.suffix = "test", kegg.native = T, same.layer = F)
Error in mol.data[as.character(items[hit]), ] : subscript out of bounds
In addition: Warning messages:
1: In node.map(gene.data, node.data, node.types = gene.node.type, node.sum = node.sum) :
NAs introduced by coercion
2: In FUN(1:27[[1L]], ...) : NAs introduced by coercion
This is the error thrown out. traceback() informs like this:
> traceback()
7: cbind(mol.data[as.character(items[hit]), ])
6: apply(cbind(mol.data[as.character(items[hit]), ]), 2, node.sum,
na.rm = T)
5: FUN(1:27[[1L]], ...)
4: lapply(X = X, FUN = FUN, ...)
3: sapply(1:n.nodes, function(i) {
kns = node.data$kegg.names[[i]]
if (node.types[1] == "gene")
items = as.numeric(kns)
else items = kns
ord = order(items)
items = items[ord]
kns = kns[ord]
hit = items %in% genes
if (sum(hit) == 0) {
return(c(kns[1], spacials[i, ], rep(NA, ncol(mol.data))))
}
else if (sum(hit) == 1) {
edata = mol.data[as.character(items[hit]), ]
return(c(kns[hit], spacials[i, ], edata))
}
else {
node.sum = eval(as.name(node.sum))
edata = apply(cbind(mol.data[as.character(items[hit]),
]), 2, node.sum, na.rm = T)
return(c(kns[hit][1], spacials[i, ], edata))
}
})
2: node.map(gene.data, node.data, node.types = gene.node.type, node.sum = node.sum)
1: pathview(gene.data = data_bac_values, pathway.id = "05132", species = "sey",
out.suffix = "test", kegg.native = T, same.layer = F)
I'm aware from the mailing list that KEGG is not very consistant with their ID scheme, which causes trouble. I rechecked, the Id I use (Refseq locus tag) is also used by KEGG (e.g. http://www.genome.jp/dbget-bin/www_bget?sey:SL1344_0001 works fine); I tried it with other IDs which I specified via gene.idtype and get the error:
> pv.out <- pathview(gene.data = data_bac_values, gene.idtype = "UNIPROT", pathway.id = "05132" ,species = "sey", out.suffix = "test", kegg.native = T, same.layer = F)
Error in pathview(gene.data = data_bac_values, gene.idtype = "UNIPROT", :
No proper gene annotation package available!
This is also truefor other IDs (of course I change each time the input file accordingly).
Do you have any idea what causes the problem? any hint would be very much appreciated. Thank you very much in advance.
best
Fabian
-- output of sessionInfo():
> sessionInfo()
R version 3.0.1 (2013-05-16)
Platform: x86_64-redhat-linux-gnu (64-bit)
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=C 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] pathview_1.1.4 org.Hs.eg.db_2.9.0 RSQLite_0.11.4
[4] DBI_0.2-7 AnnotationDbi_1.22.6 Biobase_2.20.1
[7] BiocGenerics_0.6.0 KEGGgraph_1.16.0 graph_1.38.3
[10] XML_3.98-1.1
loaded via a namespace (and not attached):
[1] grid_3.0.1 IRanges_1.18.4 png_0.1-6 Rgraphviz_2.4.1
[5] stats4_3.0.1 tools_3.0.1
--
Sent via the guest posting facility at bioconductor.org.
More information about the Bioconductor
mailing list