OrthoInspector

From Wikili
Jump to: navigation, search

OrthoInspector

Initialement développé par Benjamin Linard, repris par Yannis Nevers. Je (Raymond) ne parlerai ici que de ce qui concerne Gscope et la gestion des organismes pour les projets Archaea, Bacteria, Eukaryota, Qfo, Transverse et Virus.

La manière de gérer OrthonInspector a vraiment beaucoup changé depuis 2016, Yannis avait fait ses protéomes et je les intégrais au fur et à mesure. Fin 2016 on a lancé les 10 000 000 de blast sur la grille pour les Eucaryotes. Après on a recommencé mais on ne prenant pas tout le monde ... il a fallu nommer les organismes, etc.

Comment ça marche

 voir la proc OiMiseEnPlace dans gscope_orthoinspector.tcl
  1. Yannis crée les protéomes dans /genomics/link/OrthoInspector_Proteomes/
    • ./Archaea ./Bacteria ./Eukaryota ./Qfo ./Transverse ./Virus
    • Ces répertoires correspondent à ce qui est appelé OiDomain dans Gscope (voir plus loin)
    • Yannis y dépose les protéomes de chaque organisme
    • un protéome est un fichier fasta dont le nom est du style UP000005640_9606.fasta. On y voit 9606 car c'est celui de Homo sapiens
  2. Comment gérer tous les noms des organismes ?
    • Le petit nom (que j'appelle OiCode) d'un organisme dépend de son nom bien sûr mais aussi du domaine et des noms des autres pour ne pas avoir de doublons
    • Pour ne pas avoir de noms farfelus et surtout pour ne pas avoir de noms trop longs j'ai mis en place les procédures OiCode et OIDomain ... et OiCodeForOiDomain
    • OiCode quand on l'appelle la première fois (supposons être dans Bacteria par ex) :
      1. crée le répertoire /genomics/link/OrthoInspector_Proteomes/Bacteria/NotaBene
      2. donne un petit nom (d'où le OiCode) à chaque organisme et nomme aussi le fichier qui contiendra le protéome en fasta :
        • BVerbaC sera son petit nom (B comme Bacteria, Verba comme Verrucomicrobia bacterium et s'il a d'autre homonymes, C parce que lui c'est le 3eme. Sinon on ne rajoute pas de lettre)
        • BVerbaC_Verrucomicrobia_bacterium_L21-Fru-AB_1609981 sera le nom du fichier fasta avec le TaxId à la fin après le _ (important pour la suite)
      3. range le fasta dans ./NotaBene
      4. En fait une fois que le NotaBene est rempli OiCOde sert tout le temps après pour avoir la liste de OS ou OX etc.
        • OiCode ListOfAll OX ou OiCode ListOfAll OI ou OiCode ListOfAll OS ou OiCode ListOfAll OW ou OiCode ListOfAll Info
        • OiCode EHomsa FullFilePath ou OiCode EHomsa OX etc.
    • OiDomain permet d'interroger le domaine ou de le positionner.
      • si le projet Gscope est défini comme étant OnTraiteLike BacteriaProteome (voir beton/miniconfig) OiDomain rend Bacteria (ou Virus ou Qfo, etc...)
      • OiDomain est souvent appelé, entre autres par OiCode puor savoir dans quel domain on est.
    • Si on est dans un projet quelconque on peut forcer le domain en utilisant OiCodeForDomain Bacteria :)
  1. Une fois que tout est en place dans ./NotaBene la proc OiCreateOrganismXml Domaine crée organisms.xml dans ./NotaBene. Et Yannis est content :)


Pour la création du projet Gscope Qfo ... j'ai voulu écrire le mode d'emploi et j'ai essayé ce que j'avais écrit dans la proc OiMiseEnPlace... ça a marché. Je le décris en résumé ci-dessous

Résumons : Pour Qfo ... j'ai créé le répertoire /genomics/link/OrthoInspector_Proteomes/Qfo et j'y ai mis les protéomes que Yannis avait mis dans QFO (je préfère utiliser Majuscule puis minuscules car c'est peut-être important .. je ne sais plus (j'ai d'aillleurs mis un test dans OiDomain car QFO (en majuscule) était pris en compte ... donc Yannis si tu pouvais le virer du répertoire ce serait bien)) Bref le protéomes sont bien nommés et bien créés dans ./NotaBene.

Après il faut créer le projet Gscope OIQ (pour Qfo) comme on a fait pour OIT (Tranverse) OiA (Archaea) OIB (Bacteria) ATTENTION les Eukaryota c'est bêtement OI et pas OIE (c'était le premier). Tout est noté dans la proc MiseEnplace (gscope_orthoinspector.tcl) La proc OiSplit crée et rempli oip (c'est magique) Dans oip on met les blocs de proteome mais au lieu de les grouper par paquet de 500 il vaut mieux les mettre par organisme.. c'est d'aiilleurs par défaut maintenant car proc OiSplitSize le fait :)