Parser un xml énorme

Résolu/Fermé
sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 - 13 févr. 2008 à 12:00
sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 - 14 févr. 2008 à 16:51
Bonjour a tous et toutes,
J'aurais aimé savoir s'il était possible d'avoir une astuce pour pouvoir parser un fichier xml de 2,7 Go ? (mais c'est énorme me direz vous et j'ai envie de répondre ...)
Avant de le parser il faudrait déja que je puisse l'ouvrir pour en voir sa structure et ce n'est possible, ni avec firefox, ni avec IE, ni avec notepad 2, ni avec notepad++. Donc si vous avez un petit logiciel qui puisse m'ouvrir ce P.... de fichier xml qui me fait planter mon Win depuis ce matin, je suis preneur (vous me direz, XP n'a pas besoin de ça pour planter mais bon on va éviter de glisser vers ce terrain là)

Donc voilà, merci d'avance de vos réponses

PS. Si vous voulez savoir ce qu'est un fichier xml de 2.7 Go, il s'agit de la base de données swissprot contenant l'ensemble des protéines connues à ce jour et tous les commentaires, annotations, etc qui vont avec... Accessible ici : https://www.uniprot.org/downloads
A voir également:

14 réponses

Mahmah Messages postés 496 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 22 juin 2010 125
13 févr. 2008 à 18:41
Bonjour,

En effet pour ouvrir le gros pépère... Au pire il faut le découper et le regarder par petits morceaux pour voir sa structure.

J'ai essayer d'ouvrir divers fichiers avec Textpad, un exe de 500 Mo en mode texte ça passe mais un iso de 2 Go il n'a pas voulu. Ca ne ferait pas encore trop de fichiers si tu le découpes juste en 10.

Pour ce qui est de le parser... Si c'est pour une opération one-shot ça va être douloureux mais bon... Il fera meilleur dans la pièce quand vous arriverez le matin. ^^ Si c'est pour l'interroger, soit tu as à disposition un pc avec 4 Go de ram ou plus, soit je le ré-injecterais dans une base de données locale. (Et éventuellement accessible à tout le monde via le réseau)

M.
0
sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 118
13 févr. 2008 à 19:06
Moi je veux bien le fragmenter en 10 "petits" fichiers différents pour le parser (oui c'est ensuite pour le parser mais avec la puissance matérielle que j'ai à ma disposition ce sera pas le problème) mais euh... Comment tu fais ?
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
13 févr. 2008 à 19:35
Salut,

Si c'est pour l'interroger, soit tu as à disposition un pc avec 4 Go de ram ou plus

Je ne crois pas.
Sur mon debian avec 512 DDRAM je peut le parcourir ;-)


Ton fichier en effet fait 2.7 Go et il a 68201421 lignes
lami20j@debian:/mnt/hda5$ du -sh uniprot_sprot.xml
2,7G    uniprot_sprot.xml
lami20j@debian:/mnt/hda5$ cat uniprot_sprot.xml | wc -l
68201421
lami20j@debian:/mnt/hda5$  


La question est : Que veux tu obtenir de ce fichier?
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
13 févr. 2008 à 19:43
pour l'info voici le nombre de caractères du fichier
lami20j@debian:/mnt/hda5$ cat uniprot_sprot.xml | wc -c
2805234706
lami20j@debian:/mnt/hda5$

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 118
13 févr. 2008 à 19:47
Sniff, j'en ai plus que marre de mon XP qui avec 2 Go de ram peut pas l'ouvrir :(... C'est décidé dans la semaine qui vient je passe sous nunux !!!!
Put... 68 millions de lignes quand même... Heureusement que j'aurais le cluster sous la main :D

Sinon si tu pouvais juste, s'il te plait, me donner entre quelles balises (et l'arborescence bien évidemment) tu trouve un numéro d'accession de la forme XXXXX (en gros 5 caractères pouvant être des lettres en majuscules ou des chiffres)
Et la même chose pour les séquences protéiques (pouvant aller de quelques lettres en majuscules à plusieurs centaines de lettres, toujours en majuscule...)

Merci
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
13 févr. 2008 à 19:55
je pense que tu parles ça
  <dbReference type="Gene3D" key="21" id="G3DSA:1.20.190.20">
    <property value="14-3-3" type="entry name"/>
    <property value="1" type="match status"/>
  </dbReference>


et de ça
  <sequence version="2" modified="1996-02-01" mass="29636" length="261" checksum="DE7B707538BA1662">MASAELSREENVYMAKLAEQAERYEEMVEFMEKVAKTVDSEELTVEERNLLSVAYKNVIGARRASWRIISSIEQKEEGRGNEDRVTLIKDYRGKIE
TELTKICDGILKLLESHLVPSSTAPESKVFYLKMKGDYYRYLAEFKTGAERKDAAENTMVAYKAAQDIALAELAPTHPIRLGLALNFSVFYYEILNSPDRACSLAKQAFDEAISELDTLSEESYKDSTLIMQLLHDNLTLWTSDISEDPAEEIREAPKHDLSEGQ</sequence>


?
0
Doc Ice Messages postés 11 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 19 février 2008
13 févr. 2008 à 19:57
Oui tout a fait mais je te conseil d'abbord de mettre les spaghetti dans la casserole puis la mozzarella ...Quoi ? Pas le bon forum ? Oh...
Hé hé... ( bruit de pas précipités et claquement de porte )
0
sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 118
14 févr. 2008 à 09:14
Oui je parlais de ça, du moins pour la séquence.
Pour le numéro d'accession ça doit plus ressembler à quelque chose comme ça :
<primaryAcc>
    A0A1F3
</primaryAcc>

ou
<AccNumber type="primary"> A0A1F3

Il me semble que A0A1F3 est le numéro d'accession de la toute première protéine mais je n'en suis pas sûr, désolé

Et merci de faire tout cela pour moi

PS. Excuse moi de ne pas t'avoir répondu hier soir mais impossible de se connecter de chez moi ("couleur entre le jaune et le rouge" Powa...)
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
14 févr. 2008 à 11:51
Salut,

ecoute, parser ton fichier n'est pas un problème pour moi (je parle au niveau de la taille ;-)
en revanche j'ai besoin que tu me dises ce que je dois extraire et ça sera fait ;-)
0
sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 118
14 févr. 2008 à 12:00
En fait, le parsage n'est pas un problème pour moi non plus, étant donné que cet après midi j'aurais accès à un cluster sur puissant qui va me faire ça en moins de temps qu'il faut pour le dire, je voulais juste avoir la structure du xml pour préparer mon petit script et pas monopoliser l'engin trop longtemps pour faire un truc tout pourite
Donc si tu pouvais juste me donner l'arborescence qui amène à la balise séquence que tu as trouvée (<sequence version="2" modified="1996-02-01" mass="29636" length="261" checksum="DE7B707538BA1662">) et celle amenant à une balise contenant, par exemple, A0A1F3 qui est le numéro d'accession d'une protéine dont la séquence devrait être : MKFLVLLFNILCLFPILGADELVMSPIPTTDVQPKVTFDINSEVSSGPLYLNPVEMAGVKYLQLQRQPGVQVHKVVEGDIVIWENEEMPLYTCAIVTQNEVPYMAYVELLEDPDLIFFLKEGDQWAPIPEDQYLARLQQLRQQIHTESFFSLNLSFQHENYKYEMVSSFQHSIKMVVFTPKNGHICKMVYDKNIRIFKALYNEYVTSVIGFFRGLKLLLLNIFVIDDRGMIGNKYFQLLDDKYAPISVQGYVATIPKLKDFAEPYHPIILDISDIDYVNFYLGDATYHDPGFKIVPKTPQCITKVVDGNEVIYESSNPSVECVYKVTYYDKKNESMLRLDLNHSPPSYTSYYAKREGVWVTSTYIDLEEKIEELQDHRSTELDVMFMSDKDLNVVPLTNGNLEYFMVTPKPHRDIIIVFDGSEVLWYYEGLENHLVCTWIYVTEGAPRLVHLRVKDRIPQNTDIYMVKFGEYWVRISKTQYTQEIKKLIKKSKKKLPSIEEEDSDKHGGPPKGPEPPTGPGHSSSESKEHEDSKESKEPKEHGSPKETKEGEVTKKPGPAKEHKPSKIPVYTKRPEFPKKSKSPKRPESPKSPKRPVSPQRPVSPKSPKRPESLDIPKSPKRPESPKSPKRPVSPQRPVSPRRPESPKSPKSPKSPKSPKVPFDPKFKEKLYDSYLDKAAKTKETVTLPPVLPTDESFTHTPIGEPTAEQPDDIEPIEESVFIKETGILTEEVKTEDIHSETGEPEEPKRPDSPTKHSPKPTGTHPSMPKKRRRSDGLALSTTDLESEAGRILRDPTGKIVTMKRSKSFDDLTTVREKEHMGAEIRKIVVDDDGTEADDEDTHPSKEKHLSTVRRRRPRPKKSSKSSKPRKPDSAFVPSIIFIFLVSLIVGIL
Voilà mais merci quand même de t'être occupé de mon cas
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
14 févr. 2008 à 13:31
Le fichier je l'ai à la maison.
Je ne pourrai regarder que ce soir.
0
sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 118
14 févr. 2008 à 16:13
Pas grave, je me suis démerdé tout seul, à partir du moment où j'ai pu l'ouvrir j'ai créé un petit script en 30 secondes, et apparemment ça a marché.

Merci beaucoup de m'avoir aidé quand même :D
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
14 févr. 2008 à 16:32
c'est parfait ;-)
ça m'evitera de travailler, je suis un peu paresseux ;-)
0
sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 118
14 févr. 2008 à 16:51
Ca alors un informaticien paresseux... XD
Comme c'est bizarre...
0