vloux / ProteoRE

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

ID_converter: release 05/06/2019 - missing ID reviewed (tutorial "Biomarkers") #236

Closed yvandenb closed 4 years ago

yvandenb commented 5 years ago

Pour votre info, j'ai refait le tuto "Biomarkers" dans le contexte des demos à venir...dans les résultats connus se trouve le biomarker de reference pour l'infarctus: TNNI3 | Troponin I type 3 (cardiac). Selon la release utilisée dans ID_converter, il est là ou il disparait Les identifiants pour TNNI3 sont ENSG00000129991(Ensembl) ET P19429 (Uniprot) Test ID-converter:

davidchristiany commented 5 years ago

J'ai vérifié les fichiers sources pour construire le fichier "release" utilisé par l'outil, à savoir :

Et il s'avère que l'id ENSG00000129991 n'est plus associé à P19429 mais à K7EN02 qui lui ne fait pas parti des uniprot-AC reviewed. Il n'y a pas/plus d'ID Ensembl associé à P19429.

Donc de mon point de vue il n'y a pas d'erreur.

yvandenb commented 5 years ago

je ne comprends pas ces 2 mêmes fichiers HUMAN_9606_idmapping.dat.gz 05-08-19 que tu indiques ??

Sinon, un diff entre release 05-08-2019 (May) et 06-05-2019 (June) pourrait clarifier ??

en particulier pour https://www.uniprot.org/uniprot/P19429 => Uniprot indique un referencement sur ENSG00000129991 , this is disturbing...

davidchristiany commented 5 years ago

Ce sont les deux fichiers que je télécharge sur le site d'uniprot pour construire le fichier ref (il y a aussi le fichier nextprot).

Oui il semble que la modification ai eu lieu entre la release de 05-08-2019 et celle de 06-05-2019

vloux commented 5 years ago

Il y a visiblement eu un souci avec la release de juin. Cf le diff entre les deux versions : https://www.uniprot.org/uniprot/P19429?version=193&version=192&diff=true

yvandenb commented 5 years ago

Merci d'avoir regardé, ce n'est donc pas de notre côté...et il y a un soucis pour un certain nbre d'ID UP qui apparaissent "NA" si on utilise la release "05-JUN-2019" => il faudrait la masquer ds l'outil ID_converter, afin qu'un user ne puisse l'utiliser, pourriez-vous vous en charger (à moins que l'ajout d'un "commentaire" à cette option dans le wrapper suffise) ?

davidchristiany commented 5 years ago

Je ne sais pas quel est le mieux, dans tout les cas il faut mettre un message car pour moi on ne peut pas juste supprimer la release sans rien dire alors que des utilisateurs s'en servent.

Je serais plus partant pour mettre un disclaimer dans les commentaires en effet.

davidchristiany commented 5 years ago

Petite précision, ce n'est pas uniquement sur la release de juin que les ensembl ID lié à P19429 on été retiré mais sur toutes les suivantes aussi. Actuellement, sur la current release d'uniprot on n'a toujours pas d'ID Ensembl lié à P19429. Vous êtes sûr que c'est une erreur de leur part ?

yvandenb commented 5 years ago

Si tu vas sur Uniprot: Pour la forme Reviewed entry: https://www.uniprot.org/uniprot/P19429#cross_references Il n'y pas de cross-references sur Ensembl dans la section "Genome annotation databases"

Pour la forme Unreviewed entry: https://www.uniprot.org/uniprot/K7EN02#cross_references On trouve ENSG00000129991 dans la section "Genome annotation databases"

Mais sur Ensembl: https://www.ensembl.org/Homo_sapiens/Gene/Summary?g=ENSG00000129991;r=19:55151767-55157773

la cross-ref Uniprot est P19429 !!

Ce serait a priori une asynchronie d'une base à l'autre...mais cela reste incomprehnesible pourquoi l'entrée Ensembl a disparu du fichier de mapping (et encore une fois, ce n'est pas limité à P19429)

Je serais plus partant pour mettre un disclaimer dans les commentaires en effet.

Je ne pense pas que bcp de monde utilise cette release sachant qu'on a mis à jour proteore il y a 2 semaines...je serai pour masquer la release ID-mapping 05-06-2019 mais cela reste à discuter @Valentin, @Flo: any opinion ?

vloux commented 5 years ago

A mon avis :

yvandenb commented 5 years ago

Retirer la banque en mettant un disclaimer en dessous de l'annonce de release

OK pour moi

Demander à Uniprot (Nextprot) d'où vient le souci ?

Uniprot a priori: https://www.uniprot.org/contact

vloux commented 5 years ago

Ok, je m'occupe du disclaimer demain (et de retirer la banque). Yves, tu contactes Uniprot ?

yvandenb commented 5 years ago

Yves, tu contactes Uniprot ? => Yes

yvandenb commented 4 years ago

Mail de David du 1/10/2019 for follow-up j'ai oublié les fichiers refs qui sont trop gros pour être en pièce jointe ... J'ai mis les fichiers sur le drive partagé ProteoRE_ProjectTeam dans le dossiert tmp_id_converter: https://drive.google.com/open?id=16IA612N-yiOjMqjD_pbuwDP-T9-oBENd

Je suis en train de vérifier la construction des fichiers refs avec le data manager pour l'outil id_converter. Les grandes étapes de la construction du fichier ref (un gros .csv), on a:

Le problème ici est que l'ajout des ids 'neXtProt', 'BioGrid', 'STRING' et 'KEGG' se base sur les ids uniprot-AC. Etant donné que les uniprot-AC unreviewed sont effacés avant, ces ids ne sont ajoutés que pour les 20430 uniprot-AC reviewed.

Yves, est-ce que tu peux me confirmer que tes ids manquant se trouve bien là ?

La solution la plus simple est de supprimer les uniprot-AC non reviewed après l'ajout des ids 'neXtProt', 'BioGrid', 'STRING' et 'KEGG', si c'est bien ce que l'on veut.

yvandenb commented 4 years ago

Réponse Yves: Pour continuer sur cette perte d’ID : dans le cadre du tuto « biomarker of heart tissue-leakage », on a un proteine qui doit être là quoiqu’il arrive : c’est TNNI3 – P19429 ; c’est une entrée « reviewed » dans Uniprot (https://www.uniprot.org/uniprot/P19429) Avec ID-converter (option source ENSG_Id to target « UP_AC » et NP_ID »), ce que l’on observe: Avec la release homo sapiens 10/10/2018 : ENSG00000129991 TNNI3 Troponin I type 3 (cardiac) NX_P19429 P19429 Avec la release homo sapiens 08/05/2019 : ENSG00000129991 TNNI3 Troponin I type 3 (cardiac) NX_P19429 P19429 Jusqu’ici tout va bien  Mais Avec la release homo sapiens 05/06/2019: Cette entrée est perdue, alors qu’elle devrait être là !?

 David, penses-tu que le processus des construction des dictionnaires puisse expliquer la perte de cet protéine ID ?
Question supp : sur l‘ihm de ID-converter est indiqué « For Uniprot-AC and uniprot-ID, only reviewed IDs are considered here, except for release before 08-05-2019 where all uniprot-AC and uniprot-ID (at the time) are considered. », pour être sûr : seules les releases homo sapiens 10/10/2018 Et 10/05/2019, contiennent des reviewed et unreviewed tandis que la release 05/05/2019 contient des reviewed ? => David tu confirmes ? Je partage le workflow: http://www.proteore.org/u/yvdb/w/workflow-constructed-from-history-selectionoftissueleakagecandidatebiomarkers

yvandenb commented 4 years ago

From David: Je suis encore en train de vérifier mais de mon point de vue il n'y a pas d'erreur, je m'explique. Mon fichier ref et après mon dictionnaire sont tous les deux construit à partir des fichiers uniprots ("idmapping_selected.tab.gz","idmapping.dat.gz"). Il n'y a pas d'erreur ni lors de la construction du fichier ref avec le data manager ni lors de la construction du dictionnaire avec id_converter.

S'il n'y a plus de correspondance entre P19429 et ENSG00000129991, c'est parce que cette relation n'existe plus dans les nouvelles versions des fichiers uniprot ("idmapping_selected.tab.gz","idmapping.dat.gz"):

Pour la release du 08/05/19 on a toujours la relation:

cat Human_id_mapping_27-05-2019.tsv | grep P19429

P19429 TNNI3_HUMAN 7137 NP_000354.4 404573630; 34811374; 1048348663; 34811377; 1012443822; 159162719; 827342905; 151101270; 225733908; 34811371; 37428; 288965286; 136213; 34811380; 159162663; 303324718 1J1D:C; 1J1D:F; 1J1E:C; 1J1E:F; 1LXF:I; 1MXL:I; 1OZS:B; 2KGB:I; 2KRD:I; 2L1R:B; 2MZP:I; 2N7L:C; 4Y99:C; 5VLN:A; 5W88:A; 5WCL:A; 6MV3:A GO:0097512; GO:1990584; GO:0005829; GO:0030017; GO:0005861; GO:0003779; GO:0051015; GO:0019855; GO:0048306; GO:0046872; GO:0019904; GO:0019901; GO:0030172; GO:0031014; GO:0060048; GO:0006874; GO:0060047; GO:0007507; GO:0006936; GO:0030049; GO:0032780; GO:0010882; GO:0006940; GO:0001980; GO:0003009; GO:0001570; GO:0055010 A61229 115210; 191044; 611880; 613286; 613690 ENSG00000129991 ENST00000344887 ENSP00000341838 NX_P19429 112991 9606.ENSP00000341838 hsa:7137 Pour la release du 05/06/19 l'id ENSG n'est plus associé:

cat Human_id_mapping_13-06-2019.tsv | grep P19429

P19429 TNNI3_HUMAN 7137 NP_000354.4 404573630; 34811374; 1048348663; 34811377; 1012443822; 159162719; 827342905; 151101270; 225733908; 34811371; 37428; 288965286; 136213; 34811380; 159162663; 303324718 1J1D:C; 1J1D:F; 1J1E:C; 1J1E:F; 1LXF:I; 1MXL:I; 1OZS:B; 2KGB:I; 2KRD:I; 2L1R:B; 2MZP:I; 2N7L:C; 4Y99:C; 5VLN:A; 5W88:A; 5WCL:A; 6MV3:A GO:0097512; GO:1990584; GO:0005829; GO:0030017; GO:0005861; GO:0003779; GO:0051015; GO:0019855; GO:0048306; GO:0046872; GO:0019904; GO:0019901; GO:0030172; GO:0031014; GO:0060048; GO:0006874; GO:0060047; GO:0007507; GO:0006936; GO:0030049; GO:0032780; GO:0010882; GO:0006940; GO:0001980; GO:0003009; GO:0001570; GO:0055010 A61229 115210; 191044; 611880; 613286; 613690 NX_P19429 112991 9606.ENSP00000341838 hsa:7137

Je vais revérifier avec les archives de uniprot, je suis en train de les télécharger mais ce sont 2 fichiers de plus de 90Go chacuns et ça download très lentement ... En tout cas il n'y a plus de correspondance entre P19429 et ENSG00000129991 dans la current release.

"seules les releases homo sapiens 10/10/2018 Et 10/05/2019, contiennent des reviewed et unreviewed tandis que la release 05/05/2019 contient des reviewed ? " Tout à fait.

yvandenb commented 4 years ago

Effectivement les seuls mappings UP <-> Ensembl qui subsistent dans les fichiers UP (release Sept 2019) sont ENSG00000129991 K7EN02 ENSG00000129991 K7EJP0 Ces 2 AccNum UP étant des unreviewed ; en revanche que ce soit dans Ensembl ou neXtProt, le mapping « P19429 <-> ENSG00000129991 » est maintenu (accédés via leur interface)! Bref, je viens d’écrire à Uniprot, espérons qu’on y verra plus clair… Dear Uniprot team,

I lost a link between a UniProt Ac and an Ensembl_gene Id while updating 'Id_mapping' file from Uniprot ftp site. Precisely, from the "UP000005640_9606.idmapping" file downloaded from the current_release (ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Eukaryota/), we noticed that the 'P19429' is not anymore mapped to 'ENSG00000129991' whereas this link was there in the release of May 2019. Yet we had a look in Ensembl (https://www.ensembl.org/Homo_sapiens/Gene/Summary?g=ENSG00000129991;r=19:55151767-55157773) and neXtProt (https://www.nextprot.org/entry/NX_P19429/identifiers) and noticed that this link is still maintained...P19429 being a reviewed entry for quite a long time, we wonder why this link/mapping between UP <-> Ensembl was removed from your mapping file. Please could you help us ? Best regards, Yves

yvandenb commented 4 years ago

Réponse de UniProt: "Dear Yves, thank you very much for using UniProt, and for contacting our helpdesk. It seems that in reviewed human entries, one of the conditions for adding or keeping a cross-reference to Ensembl is that the Swiss-Prot and the Ensembl entries have to be linked to the same HGNC entry (Otherwise there is a risk of mixing up paralogs). Ensembl sometimes looses some HGNCs when they update, and when they do a big update, they can loose many. I am told that in general they "find" them again later, i.e. the cross-references will come back when Ensembl re-attributes the corresponding HGNC links, hopefully with the next Ensembl release (due in December I think). Does this make sense?" de façon intéressante cela pointe ce que les utilisateurs nous ont également fait remonter durant les formations: l'absence de mapping entre le gene_name HGNC et les autres ID (e.g Ensembl ou UP)...qui pour le coup, existe dans le fichier de mapping : UP000005640_9606.idmapping => P19429Gene_NameTNNI3 C'est une carence dans les specifs originelle de l'ID-converter: mea culpa, mea maxima culpa ! D'où ma question David : pourras-tu, à ton temps, quantifier l'effort nécessaire pour rajouter "le gene-name" dans les dictionnaires, le code et l'IHM, afin qu'on ait une idée claire ?

davidchristiany commented 4 years ago

J'ai modifié le data manager pour ajouter les gene_name aux futurs fichiers refs (seulement en local pour l'instant). J'ai ajouté l'option "Gene Name" dans le wrapper d'id converter. Le problème qui en découle c'est que les anciens fichiers refs n'ont pas de Gene Name et cette option n'est valable que pour les nouveaux fichiers refs.

Je vais voir si j'arrrive à m'en sortir avec des options du xml mais je ne pense pas. Il faudrait alors ajouter les Gene Name aux anciens fichier refs (un peu bricolé mais faisable) ou alors laisser seulement la dernière release avec les Gene Name.

yvandenb commented 4 years ago

=> Le problème qui en découle c'est que les anciens fichiers refs n'ont pas de Gene Name et cette option n'est valable que pour les nouveaux fichiers refs.

Il me semble que dans le code du wrapper, il est possible de rendre le menu de choix des ID targets à selectionner, contextuel; i.e. qui s'adapte en fonction de la valuer de l'option "Release"...oui ?

davidchristiany commented 4 years ago

En théorie oui c'est possible, mais je ne l'ai jamais fais. Je vais voir ça.

davidchristiany commented 4 years ago

Je ne crois pas que ça soit possible finalement. La seule façon que je vois de le faire est d'utiliser les balises \<conditional> et \<when>. Sauf que pour la balise when, il faut connaitre à l'avance le nom de la release, rendant cette option imcompatible avec les release faite par le data manager et listées dans un fichier loc. Je ne vois pas d'autres options pour le faire et les macros ne sont pas utiles dans ce cas là.

Je pourrais le faire facilement en cheetah (python dans le xml) mais cela n'est autorisé que dans les balises \<command> et \<output> donc impossible aussi.

Ce que je peux faire:

yvandenb commented 4 years ago

Merci David d'avoir regardé de plus près, à ce stade il est urgent de ne rien faire, plutôt d'en discuter de vive voix...peux-tu te joindre au telCo de mardi prochain 9h30 pour que nous puissions arbitrer ensemble?

davidchristiany commented 4 years ago

oui pas de soucis

davidchristiany commented 4 years ago

Actuellement nextprot n'est pas disponible: ftp://ftp.nextprot.org/

Ce qui m'empèche d'avancer sur id converter, je ne sais pas quand cela sera de nouveau disponible.

Après avoir regardé plus en détail les fichiers à refaire: Il n'y a pas de problème pour ajouter les gene_name mais je me suis rendu compte qu'ajouter à posteriori les uniprot-AC est difficilement réalisable, car je n'ai pas le même fichier idmapping dans les archives que celui que j'utilise lors de la construction des fichiers refs.

J'ai envoyé un mail à uniprot et à nextprot en espérant pouvoir récupérer les bons fichiers.

yvandenb commented 4 years ago

Merci David, je viens aussi d'envoyer un mail ce matin à Lydie Lane (directrice neXtProt) pour la notifier...à suivre

vloux commented 4 years ago

Nextprot -> FTP Ok David relance Uniprot pour une réponse concernant id_mapping_selected.tab

davidchristiany commented 4 years ago

Les anciens fichiers ne sont plus disponible, même sur demande auprès d'uniprot. Il faut faire un parser spécifiques pour les fichiers archives.

davidchristiany commented 4 years ago

J'ai mis les dernières versions d'id converter sur proteore-migale. Les dernières releases ont été faite par le data manager installé sur proteore-migale. J'attends votre feu vert avant de les passer en prod.

yvandenb commented 4 years ago

Issue with "reviewed" (column is created) vs "reviewed+unreviewed" (no column), in the same line, in the "target type" section, the Uniprot option is repeated twice (though written differently) see below image

combesf commented 4 years ago

It works fine for me (I tested 3 organisms, 1 list each).

But (as Yves noticed): in the menu to select/unselect the type of IDs to map to, there is different lines for the same choice:

Uniprot accession number (reviewed only)

yvandenb commented 4 years ago

Same comments...please, could you fix that whatever the species selected

davidchristiany commented 4 years ago

(column is created) vs "reviewed+unreviewed" (no column),

The column is not created when this is the same type as the input (for any input id). I corrected options in "target type", the last version is on proteore-migale

yvandenb commented 4 years ago

Tested the new ID-converter (migale-proteore) and noticed some "strange" behavior:

  1. 3 target type of ID selected : image => 2 new columns created while 3 would have been expected (in agreement with my selection) image

  2. Important: Make the user doc section (target type of ID) consistent with the interface : image

davidchristiany commented 4 years ago
  1. What was your input ? If it was Uniprot-AC, you should expect 2 new columns with your selection since you already have an uniprot-AC column. That's how it works now. Do you want to remove that check and create a new column of ID even if it is the same column in input ?

  2. I will standardize it.