vloux / ProteoRE

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

ProteoRE data_manager /resource_building.py : partie "Human_ID mapping" du code ne fonctionne plus (à redesigner) #318

Open yvandenb opened 4 months ago

yvandenb commented 4 months ago

To keep track: Avec le changement d'URL de neXtProt (ressource qui n'est plus maintenue) et du mode de requêtage de Uniprot, il faut entièrement revoir la partie ID_Mapping du code source: filehttps://github.com/vloux/ProteoRE/tree/master/tools/proteore_data_manager/resource_building.py
line 133 # 3. ID mapping Rem: la construction du dictionnaire d'ID Human est un merge qui construit un nouveau "header" avec des 2 colonnes additionnelles à créer => "UniProt-AC_reviewed" et "neXtProt" cf Line 148 #header if human : tab = [["UniProt-AC","UniProt-AC_reviewed","UniProt-ID","GeneID","RefSeq","GI","PDB","GO","PIR","MIM","UniGene","Ensembl_Gene","Ensembl_Transcript","Ensembl_Protein","neXtProt","BioGrid","STRING","KEGG",'Gene_Name']] else : tab = [["UniProt-AC","UniProt-AC_reviewed","UniProt-ID","GeneID","RefSeq","GI","PDB","GO","PIR","MIM","UniGene","Ensembl_Gene","Ensembl_Transcript","Ensembl_Protein","BioGrid","STRING","KEGG",'Gene_Name']]

La construction de l'index requiert :

  1. trois fichiers: 1.1 NeXtProt: https://download.nextprot.org/pub/current_release/ac_lists/nextprot_ac_list_all.txt permettant de "joiner" le Nextprot ID et l'Uniprot_ID et ainsi de créer la colonne "neXtProt" dans la local table ProteoRE (par ex. cf /home/proteore/galaxy/tool-data/id_mapping/Human_id_mapping16-06-2021.tsv) Rem: l'ID Nextprot est créé l'ajout d'un préfixe "NX" lorsqu'un ID Uniprot correspondant existe, e.g. NX_P62258 <=> P62258 sinon laisser un 1.2 Uniprot:
    1.2.1 https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/idmapping/by_organism/[HUMAN_9606_idmapping.dat.gz (à voir à quoi il sert ?? lire https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/idmapping/README) 1.2.2 https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/idmapping/by_organism/HUMAN_9606_idmapping_selected.tab.gz (utilisé pour construire le dictionnaire des ID Uniprot)
  2. Une query sur la liste des ID Uniprot de statut "reviewed" pour création d'une colonne dédiée "UniProt-AC_reviewed" dans le .tsv résultant cf line 162: #get uniprot-AC reviewed organism = speciesdict[species].split("")[1] query = "https://www.uniprot.org/uniprot/?query=reviewed:yes+AND+organism:"+organism+"&format=list" => soit instanciée en : https://www.uniprot.org/uniprot/?query=reviewed:yes+AND+organism:"+9606+"&format=list qui ne fonctionne pas - Rem: Uniprot propose désormais un moteur de requête SPARQL https://sparql.uniprot.org/

Enfin, qques infos sur l'issue échanges avec David qui a construit le programme "resource_building.py": https://github.com/vloux/ProteoRE/issues/236