User Tools

Site Tools


wiki:epims4_1m1:developer:epbackformatspecificity

Spécificités de développement des formats de données

Pour certain format de données des technologies et des techniques de développement spécifiques ont été utilisées. Leur description est donné ici.

Applied QTRAP

FIXME

Applied Maldi 4800 ToF-ToF

Comme spécificité à la base il y a :

  • un fichier de description des analyses (sous format XML).
  • des fichiers d'acquisition représentant les données de l'analyses (format T2D).
  • un fichier d'analyse regroupant les fichiers précédents et portant le nom de l'analyse (format ZIP).

Listing des analyses

- Fait a partir du fichier XML de description du spotset. La technologie utilisé est SAX (l'implémentation étant Xerces). Ce listing est lancé par le CacheManager qui appelle la fabrique spécifique au 4800 : Maldi4800Factory. Cette fabrique délègue le listing au Maldi4800XMLParser car, la technologie SAX étant utilisé pour parser le fichier XML, la classe qui l'utilise doit étendre DefaultHandler pour attraper les évènements SAX. Le parser a la structure suivante :

  • Une méthode d'initialisation et de démarrage du parsing : extractAnalysis(File file, Maldi4800Format format). Méthode appelé par la fabrique.
  • Les méthodes de capture des évènements SAX qui ont pour but de compléter la liste d'analyse (=analysisList) : startElement(…) et endElement(…) qui sont appelé respectivement quand le parsing rencontre une balise ouvrante et une balise fermante. Les traitements effectués vont varier suivant le nom de la balise rencontrée (=qName) et, pour les balises ouvrantes, vont dépendre/prendre en compte les attributs de cette balise (=attributes).
  • Des méthodes de traitements annexes :
    • extract4000SEDataFile : création de File correspondant aux acquisitions d'une analyse.
    • getDateFromAttribute : création d'une Date à partir du format utilisé dans les xml créé par le logiciel 4000 Series Explorer.



- Le listing des analyses suit le workflow suivant :

  • Récupération du nom du spotset
  • Pour les JobRun 1) , stockage dans des maps (clé = id du JobRun) :
    • du jobRunNumber
    • de la date d'acquisition (= date de début du JobRun).
    • de la durée de l'acquisition (différence entre le début du JobRun et la fin).
  • Création/MàJ des Analyses :
    1. Quand, dans le parcours SAX du xml on rencontre un Spot : stockage du label du spot et du nom de l'échantillon dans une variable temporaire. Si pas de nom, stockage d'une chaine de caractère vide. Ce stockage n'est fait que SI le spot n'est pas un spot d'alignement ou de calibrage.
    2. Quand on rencontre un JobRunItem 2) on rajoute à une liste la map contenant les attributs suivant (clé = nom de l'attribut) :
      • id
      • jobRunID
      • precursorMass
      • dataFilePath
    3. Quand le parcours SAX arrive sur une balise de fin de Spot on peut considérer que toutes les acquisitions sur ce spot sont connues. On va donc pouvoir créer ou compléter les Analyses correspondantes à chaque. On va donc parcourir la liste des attributs (cf point 2) de tout les JobRunItem de ce Spot. Pour chaque on va :
      • Chercher si l'analyse correspondante n'existe pas déjà (recherche faite à partir du nom de l'analyse [Spotset.name]-[jobRunNumber]-[sampleName])
        • si non : création d'une nouvelle analyse avec les informations suivantes :
          • nom de l'analyse
          • nom de l'échantillon associé
          • date de l'analyse (= date du JobRunItem)
          • durée de l'analyse (= durée du JobRunItem)
          • données de l'acquisition
        • si oui : rien de fait, on garde juste l'analyse en question en mémoire pour l'étape suivante
      • Ajouter à l'analyse (nouvellement créée ou pas) le fichier d'acquisition correspondant (T2D). Pour l'instant le fichier T2D sont trouvé grâce à leur nom dans un dossier spécifique (voir ci-dessous). A terme ils seront extrait automatiquement de la base de données.



Nota : L'ensemble des noms des balises et attributs nécessaires au parsing du fichier XML sont stockées dans des attributs static finaux sous la forme : nomBalise_[nomAttribut]_typeElementConcerne_[valeur].([] : présent ou pas suivant l'élément concerné) (typeElementConcerne : TAG (balise), LABEL (nom attribut), VAL (valeur spécifique d'un attribut)

Exemples :

  • SPOTSET_TAG : nom de la balise représentant un spotset
  • SPOTSET_NAME_LABEL : non de l'attribut name de la balise spotset
  • SPOT_ISALIGN_VAL_YES : valeur YES pour l'attribut isAlign de la balise spot



Les dossiers

Contrairement aux autres format le dossier src récupéré par le Maldi4800Format à partir du fichier de configuration instruments.xml ne correspond pas directement aux analyses. C'est la racine où va se trouver les dossier contenant la description des spotset et celui contenant les t2d (cf format de données des spectrométres). Le nom de ces dossiers sont dans les variables DATA_FILES_DIR et DESC_FILES_DIR.

1)
ensemble d'acquisitions, suivant les même méthodes, sur plusieurs spots
2)
Acquisition faisant partie d'un JobRun (cf au-dessus) et relative à 1 spot
wiki/epims4_1m1/developer/epbackformatspecificity.txt · Last modified: 2008/10/02 10:21 (external edit)