vloux / ProteoRE

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

ProteoRE V1.2 : tests and bugs #141

Closed yvandenb closed 5 years ago

yvandenb commented 6 years ago

Proteore.org history name: Test_Version_1.2_201810 Shared with David item n°6: Add information from neXtProt (idem avec la version sur dev-migale) atal error: Exit code 1 () Error in [.data.frame(nextprot[match(input, nextprot["NextprotID"][, : undefined columns selected Calls: protein_features -> [ -> [.data.frame Execution halted

yvandenb commented 6 years ago

ClusterProfiler => failed (utilisation d'une liste input et d'un background avec Entrez gene ID), please check image

yvandenb commented 6 years ago

Test Reactome: enhancement item n°85 peut-on ne pas faire apparaitre les sorties texte dans la boite de l'item par ex. {"summary":{"token":"MjAxODEwMDUwNDMyMDlfMzgwNw%3D%3D","projection":true,"interactors":false,"type":"OVERREPRESENTATION","sampleName":"","text":true},"expression":{"columnNames":[]},"identifiersNotFound":2693,"pathwaysFound":1996,"pathways":[{"stId":"R-H Ou alors juste laisser ce qui est informatif i.e. identifiersNotFound":2693,"pathwaysFound":1996,"pathways"

yvandenb commented 6 years ago

item n° 108 " Add information from neXtProt": je prends en input une sortie ID_converter (n°107 elle même issu de Jvenn text output), je demande à ajouter sur la col n°5 (contenant des Uniprot ID) les info nexprot, l'output est le suivant:

image Pourquoi, les dernières sont répétées à l'identique sur qque chose qui ne correspond pas ?

davidchristiany commented 6 years ago

J'ai mis à jour clusterProfiler dans beta tools sur proteore. Il n'y a plus de problème d'input avec des identifiants Entrez gene id pour le jeux de données backgound. Attention Yves dans ton exemple (item 79), tu as selectionné "uniprot" comme type d'id pour le jeux de données background au lieu de gene ids.

J'ai aussi mis à jour heatmap_viz sur dev-migale avec un exemple de fichier d'entré dans la section aide.

Je vais voir le problème de protein features.

yvandenb commented 6 years ago

Merci David :+1:

yvandenb commented 6 years ago

Ok pour ClusterProfiler (beta-tool section proteore) - Aucune des 3 catégories GO n'est cochée dans l'interface => peut-on en "cocher" par défaut (par ex. BP) - d'ailleurs

As a supplementary reminder "Protein features" toujours en failed (see item n°149)

yvandenb commented 6 years ago

=> J'ai aussi mis à jour heatmap_viz sur dev-migale avec un exemple de fichier d'entré dans la section aide. Merci David, peux-tu aussi compléter l'aide avec un exemple incluant données d'expression pour "KEGG pathway visualization (pathview)" ?

davidchristiany commented 6 years ago

J'ai mis un exemple pour kegg_pathway_visualization sur dev-migale.

davidchristiany commented 6 years ago

J'ai mis à jour protein features sur dev-migale, il ne devrait plus y avoir de problème. J'ai recodé une grande partie du code R car il était dans le même état que topgo, donc il serait bien de le tester mais de mon coté je n'ai pas noté d'erreur.

davidchristiany commented 6 years ago

J'ai mis à jour id_converter sur dev-migale, il n'y a plus le problème du résultat répété lorsqu'il ne devrait pas y avoir de résultat :

image

yvandenb commented 6 years ago

On dev-migale: enhancement: "Tissue-specific expression data from Human Protein Atlas" peut-on ne pas afficher les msgs "Warning..." dans l'item history (see above avec la ressource IHC demandée) image

combesf commented 6 years ago

Je mets ici ce post qui concerne le composant ID Converter car il me semble que c'est qqchose dont Yves avait parlé pour la V1.2. J'ai tenté, sur dev-migale, de copier coller des Uniprot accession nb depuis Excel pour convertir en Gen ID. qd je colle dans proteoRE, ça me fait des ID séparés par des espaces, et à l'arrivée ça n'est pas géré. @davidchristiany est-ce que tu peux jeter un oeil stp sur mon historique; Le résultat est dans l'objet 67. Merci

davidchristiany commented 6 years ago

J'ai modifié les input de texte pour tous les outils, les copier/coller depuis excel ne pose plus de problème.

yvandenb commented 5 years ago

ID_converter: gestion des headers input <-> output history name: NewTest_V1.2_Human_201810 item n°84 en input le header fourni est: image en output d'ID_converter le header retourné est de la forme: image de fait, les substitutions rendent les champs du "header" de moins en moins lisibles...any idea for improvement

yvandenb commented 5 years ago

ID-converter comprenant "Rattus" species est sous dev-migale mais les 3 Gotools se trouvent sur ProteoRE dans la section beta-tools => de fait je ne peux faire les tests de ces trois outils avec le dataset Rattus, car pour certains il me faut soit des Entrez gene ID soit des ENSG que je n'ai pas dans mon dataset d'origine... A discuter...

davidchristiany commented 5 years ago

Le problème du header est corrigé, je l'avais fais mais la modif a du se perdre avec un mauvais merge, désolé.

davidchristiany commented 5 years ago

Est-ce que tout est bon pour vous coté ID converter ?

yvandenb commented 5 years ago

Pour moi OK: merci de compléter la section "his tool converts human IDs using the following source files:" pour la partie Rattus n.

davidchristiany commented 5 years ago

Je viens de completer la section sources files

davidchristiany commented 5 years ago

J'ai installé les outils dev-migale dans la section beta tools de proteore.org. Vous pouvez d'ores et deja vous en servir.

PS : attention quand vous relancer un ancien job de bien selectionner l'outil de beta tools et non celui de proteore

yvandenb commented 5 years ago

test beta-tools: History : LiverInjury_biomarker shared with David tool "Add human expression data" Failed see item n°9 Fatal error: Exit code 1 () Error in gzfile(file, "wb") : cannot open the connection Calls: main -> save -> gzfile In addition: Warning message: In gzfile(file, "wb") : cannot open compressed file '/home/dchristiany/proteore_project/ProteoRE/tools/add_expression_data_HPA/args.rda', probable reason 'No such file or directory' Execution halted

davidchristiany commented 5 years ago

J'avais oublié de remettre en commentaire cette ligne ... Désolé C'est corrigé maintenant.

yvandenb commented 5 years ago

Pathway identification and coverage: beta-tools: Changer légende de saisie "Enter your identifiers (KEGG genes ID)" en "Enter your list of identifiers"
sachant que les entrez gene ID et Uniprot ID sont désormais considérés (see below) - revoir les légendes autant que nécessaire et documentation incluse à mettre en conformité afin que le terme "KEGG gene ID" soit changé image

yvandenb commented 5 years ago

ClusterProfiler: les diagram générés sont en mode "display" lorsqu'on clique sur le bouton "download" GoProfile: idem - pour les 2 penser/vérifier que le nommage des output telechargeables soient bien explicites

yvandenb commented 5 years ago

pour test beta-tools V1.2 History : "Sperm_Proteome_20181116" shared with David Présence de doublons dans les fichiers d’annotation: on passe de 6871 lignes à 6880 (see diff entre item n°2 et 3): 9 doublons…why ? Par ex :
image

image

Sur ces mêmes items: soucis de consistence de cross-ref, par ex: image Alors que TRPM3 est réferencé comme Q9HCF6 et NX_Q9HCF6 (Uniprot et nextprot respectivement) et ENSG00000083067 (version 88.38) qui est OK : l’erreur proviendrait du mapping uniprot ? check G5E9G1 in Uniprot -

yvandenb commented 5 years ago

wish for the beta-testers: est-ce possible de réorganiser le tool panel dans la section beta-tools, ça va être "a bit messy" pour nos testeurs: GoProfiles et TopGo sont sous aucune rubrique et Reactome est absent...thx

davidchristiany commented 5 years ago

Oui pas de soucis je corrige ça. En revanche il n'y a encore aucune modification pour reactome, c'est pourquoi il n'est pas dans les beta tools.

davidchristiany commented 5 years ago

J'ai corrigé les interfaces et documentation des outils kegg (dev-migale et beta tools).

En ce qui concerne le problème de téléchargement des datasets au sein de dataset collection (goProfiles, ClusterProfiler et Kegg pathway mapping), cela semble être du à la version de galaxy. En effet, cela fonctionne normalement sur dev-migale mais pas sur proteore.org ni en local.

Ca semble donc être un problème lié à l'instance, la différence entre ces instances est la version de galaxy :

Je vais voir si en mettant à jour ma version locale, je corrige le problème, auquel cas ça validera la théorie de la version de galaxy.

combesf commented 5 years ago

pour moi les téléchargements au sein de collections sont ok à partir de proteore.org/bêta tools pour goProfiles par ex.

davidchristiany commented 5 years ago

C'est étonnant parce que ce n'est pas le cas pour moi ni Yves apparemment. On parle du téléchargement d'un dataset unique au sein d'une collection et non pas du bouton de téléchargement de toute la collection sous forme de zip. On parle bien de la même chose ?

combesf commented 5 years ago

Par ex. sur proteore.org j'ai fait tourner clusterProfiler. J'ai un dataseet de fichiers texte comme résultat. Au sein de la collection j'ai 4 tsv, je peux télécharger un des 4 directement en tsv. Pour les images apparemment ça fait juste du display. (mais je peux cliquer droit et "enregistrer sous" ensuite).

davidchristiany commented 5 years ago

Oui pardon je n'ai pas précisé, c'est pour les images uniquement.

combesf commented 5 years ago

A propos du composant "kegg pathways map visualization" : pour une meilleure compréhension je propose de changer : "Select your identifiers type :" par : "Select your identifiers type for the genes to map on the pathway(s): "

yvandenb commented 5 years ago

"KEGG pathways" tools: history items naming Avec l'outil "KEGG pathways identification and coverage" l'item est nommé par ex, "KEGG pathways on data 2" Avec l'outil "KEGG pathways map visualisation (PathView), les 2 items history sont nommés "KEGG pathways map from ID Converter on data 1" (collections des maps graphiques) et "KEGG pathways visualization text output"

De fait, si tu as fait des analyses et que tu reviens à J+2 (comme moi aujroud'hui par ex.) le nommage fait que tu ne sais plus très bien qui est issu de quoi...David pourrais-tu nous faire des propositions qui soient plus parlantes en lien avec l'outil utilisé ?

yvandenb commented 5 years ago

History "Test_V1.2_Mouse" shared with David and Flo Test souris avec tool "KEGG pathways map visualisation (PathView)" => Item n°70 "KEGG pathways visualization text output"

  1. Visu: Sur les 7 output graphiques demandés (avec utilisation des fold-change), seule une map (Complement and coagulation cascades) représente l'information d'expression differentielle, pas les 6 autres alors qu'il y a des ID mappés.
  2. Cohérence: les chiffres d'ID mappés sont différents en sortie d'un outil (KEGG identificaiton) à l'autre (vs. KEGG Visu) avec la même liste d'ID en entrée - pour les 2 outils le type d'id est le même => Entrez gene ID. image Il faut pousser les investigations pour identifier/cerner le problème expliquant cette différence
davidchristiany commented 5 years ago

Je suis en train de regarder le problème des lignes supplémentaires sur "Add human expression data". Le problème vient du fait que certaines lignes (du dataset 2 de l'historique "Sperm_Proteome_20181116") possèdent plusieurs ids, par exemple la ligne 37 : "ENSG00000204574; ENSG00000206490; ENSG00000236342; ENSG00000232169; ENSG00000225989; ENSG00000231129; ENSG00000236149"

Les identifiants n'ont pas les mêmes infos associées qui sont récupérées. Elles sont récupérées identifiant par identifiant, de ce fait cela ne mappe pas lors du merge final sur les multiples ids. Comment dois-je gérer ce cas de figures ? Je vois deux options possibles :

Sachant que la plupart du temps, lorsque je teste les identifiants d'une même ligne, un seul est retrouvé dans l'atlas HPA. Par exemple, sur la liste suivante, seul le premier est retrouvé : "ENSG00000204427; ENSG00000206403; ENSG00000230475; ENSG00000236063; ENSG00000235676; ENSG00000231488; ENSG00000224552 "

Qu'en pensez vous ? Je pense qu'il est plus correcte de séparer les identifiants en en mettant un par ligne, quitte à dupliquer certaines infos.

PS j'ai édité le message je m'étais trompé dans le nom de l'outil

yvandenb commented 5 years ago

"Je pense qu'il est plus correcte de séparer les identifiants en en mettant un par ligne, quitte à dupliquer certaines infos." Je suis d'accord...cela me parait le moyen le plus transparent de gérer ces mappings "many "ENSG" -> one "UP" - par ailleurs sur ces mapping ENSEMBL <-> Uniprot, j'ai noté malgré tout des (rares) "loupés", par ex ci-dessous image j'ai téléchargé le fichier source de mapping indiqué dans la doc. HUMAN_9606_idmapping_selected.tab (Uniprot 23/10/2018) sur le ftp uniprot et trouve les mapping suivants: ENSG00000224389 -> F5GXS0 ENSG00000170099 -> P08185 ENSG00000136881 -> Q14032 ENSG00000244731 -> pas de match possible (car l'ENSG ID se trouve en 3eme position dans le fichier ENSG00000204219 -> O75764

a part la ligne 4 montré ci-dessus, , tous ces ENSG ID sont reportés en premier de la liste des possibles mapping "UP <-> ENSG" dans le fichier originel .dat; donc le mapping fait dans ProteoRE ne devrait pas être "NA" ? pourrais-tu vérifier cela en détail pour comprendre ce qui se passe ?

combesf commented 5 years ago

oui je suis du même avis pour un ID par ligne.

davidchristiany commented 5 years ago

Le même problème se pose pour "Add human protein features (neXtProt)", de plus pour cet outil, si il y a plus d'un un id uniprot par ligne, cela ne focntionne pas.

Le fait de modifier le fichier input en mettant un id par ligne resolverait aussi le problème pour cet outil.

yvandenb commented 5 years ago

Je ne vois pas le lien direct avec mon post...ma question était : puisque le mapping "ENSG ID <-> Uniprot Accnumber" existe dans le fichier .dat Uniprot referencé, pourquoi, obtient on un "NA" sous ProteoRE (cf snapshot ci-dessus) ??

davidchristiany commented 5 years ago

Oui ça n'était pas en rapport avec ton post, je vérifiais si c'était le même problème avec "Add human protein features (neXtProt)".

Concernant id_converter, c'est à peu près le même problème. Il s'agit d'ailleur des ids converti dans un seul sens dont j'avais parlé en réunion ce lundi. Dans le fichier ref construit, on a toujours un seul id par ligne pour les uniprot AC, uniprot ID, GeneiD mais pas forcément pour les autres.

Donc les ids ne match pas forcément. Je vais corriger le problème. Cela risque de me prendre un peu de temps mais le principe s'appliquera pour les trois outils.

davidchristiany commented 5 years ago

Pour "ENSG00000224389" il y a plusieurs uniprot-AC qui match : P0C0L5 et F5GXS0. Est-ce que je mets tous les résultat séparés par des ";" ?

Pour cet exemple ça donnerait "P0C0L5;F5GXS0" pour uniprot-AC et "CO4B_HUMAN;F5GXS0_HUMAN" pour uniprot-ID

davidchristiany commented 5 years ago

Pour la requête de ton exemple Yves, avec les ids ensembl "ENSG00000224389 ENSG00000170099 ENSG00000136881 ENSG00000244731 ENSG00000204219" convertit en uniprot-AC et uniprot-ID on a maintenant :

image

On valide ?

yvandenb commented 5 years ago

Question supp : Si maintenant j'utilise la colonne "Uniprot-AC" telle que ci-dessus pour par ex. soit une conversion ID soit un ajout d'annotation, comment ca va se passer ? Seul le 1er ID UP sera pris en compte ? Avant de décider, il te faut faire cet exercice d'extrapolation, pour anticiper les éventuels collatéraux...

davidchristiany commented 5 years ago

Dans ce cas de figure, je vais modifier (code en cours) le fichier input avec un id par ligne (comme pour les deux outils add_human_expression_data et add_human_protein_features) comme convenu.

yvandenb commented 5 years ago

tu le fais sous dev-migale, on est d'accord ? Il faudra tester sur un petit jeu d'ID une fois ces modifs faites...

davidchristiany commented 5 years ago

Id converter a été mis à jour sur dev-migale. En reprenant le meme exemple, on a pour "ENSG00000224389 ENSG00000170099 ENSG00000136881 ENSG00000244731 ENSG00000204219" convertit en uniprot-AC et uniprot-ID :

image

En réutilisant la colonne des uniprot-ac, on a :

image

yvandenb commented 5 years ago

Extra ! Il faut garantir/vérifier qu'avec les tools qui appliquent des calculs sur la base du nbre d'ID, on soit bien sûr que la redondance des ID soient correctement gérées (sortie unique) pour éviter les biais dans les résults...par ex. JVenn ou les comptages GO freq.

davidchristiany commented 5 years ago

J'ai mis à jour id converter. J'ai laissé la boucle for pour le moment pour transformer le fichier input en n'avoir qu'un id par ligne. Cette étape n'est pas si longue, environ 10 secondes pour 70 000 lignes.

Le problème que je n'avais pas vu avec le nouveau mode de mapping (avec grep, si l'id mapp à plusieurs endroit etc) c'est qu'il prend beaucoup de temps. J'ai ajouté une condition pour que cela tourne plus rapidement avec des ids qui sont uniques à chaque ligne du fichier de ref (uniprot-AC, uniprotID, NextProt, String).

Le mapping est bien plus "acurate" mais prend plus de temps pour la plupart des ids. Une solution pour réduire ce temps de calcul serait de créer un fichier de ref pour chaque type d'id. Il faudrait alors les créer avec le data manager qui les ferait tous d'un coup. la mise à jour sera longue mais l'utilisation de l'outil par la suite bien plus rapide. On ne chargerait que le fichier d'intérêt à chaque utilisation.

davidchristiany commented 5 years ago

j'ai mis à jour "add human expression data" et "add human protein features" sur dev-migale. Les multiples ids par lignes sont maintenant gérés en dupliquant des lignes pour n'avoir qu'un seul id par ligne.

Dois-je mettre à jour id converter et les deux outils "add" sur proteore.org ?