vloux / ProteoRE

GNU General Public License v3.0
2 stars 5 forks source link

ClusterProfiler failed (proteore.org) #119

Closed yvandenb closed 6 years ago

yvandenb commented 6 years ago

Proteore.org - History: Human_sperm_Exploration (shared with David) item n°22 & 23 (see below)

An error occured while running the tool toolshed.g2.bx.psu.edu/repos/proteore/proteore_clusterprofiler/cluter_profiler/0.1.0.

Tool execution generated the following messages:

Fatal error: Exit code 1 () Loading required package: DOSE

DOSE v3.2.0 For help: https://guangchuangyu.github.io/DOSE

If you use DOSE in published research, please cite: Guangchuang Yu, Li-Gen Wang, Guang-Rong Yan, Qing-Yu He. DOSE: an R/Bioconductor package for Disease Ontology Semantic and Enrichment analysis. Bioinformatics 2015, 31(4):608-609

clusterProfiler v3.4.4 For help: https://guangchuangyu.github.io/clusterProfiler

If you use clusterProfiler in published research, please cite: Guangchuang Yu., Li-Gen Wang, Yanyan Han, Qing-Yu He. clusterProfiler: an R package for comparing biological themes among gene clusters. OMICS: A Journal of Integrative Biology. 2012, 16(5):284-287. Loading required package: AnnotationDbi Loading required package: stats4 Loading required package: BiocGenerics Loading required package: parallel

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB

The following objects are masked from 'package:stats':

IQR, mad, sd, var, xtabs

The following objects are masked from 'package:base':

Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, cbind, colMeans, colSums, colnames, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, lengths, mapply, match, mget, order, paste, pmax, pmax.int,
pmin, pmin.int, rank, rbind, rowMeans, rowSums, rownames, sapply,
setdiff, sort, table, tapply, union, unique, unsplit, which,
which.max, which.min

Loading required package: Biobase Welcome to Bioconductor

Vignettes contain introductory material; view with
'browseVignettes()'. To cite Bioconductor, see
'citation("Biobase")', and for packages 'citation("pkgname")'.

Loading required package: IRanges Loading required package: S4Vectors

Attaching package: 'S4Vectors'

The following object is masked from 'package:base':

expand.grid

'select()' returned 1:many mapping between keys and columns Error in .testForValidKeys(x, keys, keytype, fks) : None of the keys entered are valid keys for 'UNIPROT'. Please use the keys method to see a listing of valid arguments. Calls: clusterProfiler -> bitr In addition: Warning message: In bitr(input, fromType = idFrom, toType = idTo, OrgDb = orgdb) : 1.69% of input gene IDs are fail to map... Execution halted

vloux commented 6 years ago

Dans le dataset input, il y a au moins un ID qui ne parait pas correct dans la colonne 1. @davidchristiany , peux tu vérifier le comportement de clusterProfiler avec la m^me liste d'ID en entrée en dehors de Galaxy pour isoler d'où vient le problème ?

davidchristiany commented 6 years ago

Cela ne fonctionne pas non plus en local avec le script R, je vais chercher pourquoi.

davidchristiany commented 6 years ago

Il n'y a pas de problème avec le script, une mauvaise colonne pour le fichier background a été renseigné : c3 au lieu de c7.

Cela m'a quand même permis de voir le fonctionnement de cluster profiler.

yvandenb commented 6 years ago

Bonne nouvelle mais cela implique de discuter la gestion du msg d'erreur, car si le script et donc le tool fonctionnent, on devrait avoir un résultat vide et non un "Fatal error: Exit code 1 ()" ?

combesf commented 6 years ago

oui en effet @yvandenb clusterProfiler devrait donner un message d'erreur mais ne pas "crasher" comme cela. A-t-on qqe part les ID initiales (avec celle qui est dans le mauvais format) ?

davidchristiany commented 6 years ago

J'ai mis à jour cluster_profiler sur dev-migale en ajoutant une fonction check_ids qui vérifie si les ids entrés sont bien les ids attendu (soit uniprotAC, soit Entrez geneID). Si le type d'id diffère de ce qui est attendu, un message d'erreur informe l'utilisateur. Si ce sont les ids principaux qui sont mal renseignés, l'outil s'arrette avec un message d'erreur. Si ce sont les ids background qui sont mal renseignés, l'etape d'enrichissement ne se fera pas et un message d'erreur indique que les ids background ne sont pas ceux attendu (l'outil continue de tourner).