Home

Rapport _Benjamin_Final

image

Contents

1. initial value DN hasOnlySubstaneeUnits sen boundaryCondition 8 1a constant id ON name i Ant taxonomy ity i Sei ON ON info i Li E i location DN DN i ON name 0 1 11 reac param location outside i H usesunits 5 ss i Ll H reac param e j was inserted Dr 3 K EE method e NS was inserted Ll il de SH orginal work date Ly Compartment pm Si SE name Ja H g Is referenced in spatialDimension i original work e Sr zsm was inserted by Een EE i Fe i into vas inserted by i date gt SE i GC Lal date i J uses units 1 ON ON H 5 DN DN H reference unit ON i e a dbuser i idPubMed name ON login H title category E authors SBML exp H journal i year pub H vol page first last i info FIG 3 Sous sch ma EA concernant les lieus o se passent les r actions et les conditions initiales partie centrale du sch ma EA g n ral Page 67 82 Benjamin Millau Rapport de stage 2004 2 2 1 Entit s Entit location Cette entit repr sente le lieux biologiques o se situent les r actions comme par exemple l pine dendritique d un neurone l ovocyte le noyau id int est l identifiant du lieu C est la cl primaire de l entit name varchar est le nom du lieu par ex epine dendritique unique Entit compartment Cet
2. KineticLawqaw String D void getParameter iint j int Parameter addParamValue param Set Hashitable voi d LparamValues MainWindow0 void exitQwoid performConnectionQ void performNewQ void performContinueQ void performFinalized void performSaveQ void performTaxonomySele tion0 boolean performOrganisimSelectiong boolean performallSelectiong boalean viewTaxonomySelectionDialogdist String String viewOrganism Selecti onDialog list Hashtable Organism viemtocationSelectionDialogdist Hashtable Location viewCompartm entSelectionDial og list Hashtable Com partm ent viewM oleculesSelectionD ialog list Hashtable Hashtable viewRe acti onsSelectionDialog ist Hashtable Hashtable displayg void displaySelectedMoleculeQ void displaySelectedReactionO void displayStatusQ void displayKineticLawsListo void displayReacParamsQ void displayValReferenceg void viewMainChooseDialogd int viewFileChoose Dialog String selectedMolecule Mole cule mole Stringl pid String void Mole cule mole StringfJ void addAlias alias Mole cule void addProperty d String conc float un String stat bool ean uniD String com p Com partm ent voi d getPropID iint String getActiveConcQ float getConc i int float tsetActiveConc f Float void getActiveAmountQ float getAmourt int float setActiveAmourt f Float void getActiveUnitO String getUnit int String getActiveAmount
3. Apr s avoir choisi une location vous pouvez choisir parmi les diff rents compartiments disponibles pour cette location Une nouvelle fen tre de ce type s ouvre X a Compartment selection WE Compartments list autre filopode Size 2 Info ca exemple de filopode Size 1 Info n importe quoi Select Cancel Vous devez donc choisir un compartiment dans lequel toutes les mol cules que vous choisirez plus tard seront contenues Cette fen tre est redimensionnable afin que les informations sur les compartiments soient compl tement lisibles Une fois votre choix effectu cliquez sur le bouton Select pour continuer ou sur Cancel pour tout annuler Page 53 82 Benjamin Millau Rapport de stage 2004 6 me tape choix des mol cules Ensuite une nouvelle fen tre s ouvre c est celle qui va vous permettre de s lectionner les mol cules qui seront soit Si vous avez choisi de travailler dans un organisme ou un taxon pr cis le choix que vous allez effectuer sera les mol cules se trouvant dans le compartiment choisi auparavant Si vous avez choisi de ne pas sp cifier de domaine de travail alors le choix que vous allez effectuer sera toutes les mol cules mises en jeu dans le r seau de r gulation que vous cr ez La fen tre du choix des mol cules se pr sente ainsi x XA Molecules selection Molecules list Add Selected Molecules Ep Eb Aliases G3 G2 Al
4. Semaine 8 Ajout de fonctionnalit de lecture d un fichier SBML R daction du rapport de stage R daction et impression enti re du rapport de stage et des annexes Semaine 9 Mise en place d une proc dure simple d installation sur p P D diff rent support Pr vision Impl mentation de la sauvegarde des fichiers en SBML et du fichier de suivi Pr soutenance de stage Impl mentation des fichiers de sauvegarde au format SBML et du fichier de suivi Pr soutenance de stage avec J Berro et J L Martiel Semaine 10 Finalisation et correction de divers probl mes rencontr s Pr vision Mise en place d une proc dure simple d installation et de configuration du logiciel Page 43 82 Benjamin Millau Annexe 2 La m thode setMolecules public void setMolecules Hashtable list String am throws Rapport de stage 2004 Exception int 3 Hashtable selectedMolecules list log write Molecules selected Enumeration enum3 Enumeration enum selectedMolecules elements while enum hasMoreElements Molecule mol Molecule num nextElement log write mol id mol name mol type mol info log write Molecules values ResultSet rs SU try num selectedMolecules while enum hasMoreElements lements Molecule mol Molecule j 0 num next
5. plpgsql CREATE FUNCTION plpgsql_call_handler RETURNS LANGUAGE_HANDLER AS usr lib pgsql plpgsql so bibliotheque de plpgsql gt sous linux plpgsql so LANGUAGE C CREATE LANGUAGE plpgsql gt HANDLER plpgsql_call_handler LANCOMPILER PL pgSQL Fonctions CREATE FUNCTION check_nb_reactants_reaction_kinetic_law int8 int8 RETURNS bool AS We check that the kinetic_law and the reaction has the same number of reactants DECLARE id reac ALIAS FOR 1 id_kinetic_law ALIAS FOR 2 chk bool nb_reactants_reaction int8 nb_reactants_kinetic_law int8 name reac text name kinetic law text BEGIN select into nb reactants reaction sum stoechiometry from reacts has as kinetic law where reacts id reac id reac group by reacts id reac select into nb reactants kinetic law nb reactants from kinetic law has as kinetic law where kinetic law d kinetic law if nb reactants reaction nb reactants kinetic law then chk true else chk false select into name kinetic law symbolic expr from kinetic law where id id kinetic law select into name reac symbolic expr from reaction where id id reac RAISE EXCEPTION gt This kinetic law 4 does not fit the reaction 4 number of reactants does not match n in reaction 4 n in kinetic law 4 An id_reac name_kinetic_law name_reac nb_reactants_reaction nb_reactants_kinetic_law id_reac end if return chk END LANGUAGE plpgsql CREATE FUNCTION check_nb_produ
6. appuyez sur le bouton OK pour continuer la cr ation du r seau ou vous pouvez cliquer sur Cancel pour annuler la cr ation de ce r seau Page 51 82 Benjamin Millau Rapport de stage 2004 3 me tape choix de l organisme ou du taxon Apr s avoir fait votre choix du domaine de travail vous allez pouvoir choisir le taxon ou l organisme dans lequel vous comptez travailler Dans les deux cas une fen tre de ce type va s ouvrir XA Select Taxonomy be Select Taxonomy Mammalia OK Cancel Vous pouvez donc choisir un organisme ou taxon parmi tous ceux disponible dans la base de donn es Une fois votre choix effectu cliquez sur le bouton OK afin de valider Si vous voulez tout annuler vous pouvez en cliquant sur le bouton Cancel 4 me tape choix de la location Vous devez ensuite s lectionner une location Une fen tre de ce type s ouvre XA Location selection Be Locations list filopode Select Cancel Toutes les locations disponibles dans la base de donn es par rapport l organisme ou au taxon s lectionn sont disponibles Vous pouvez donc choisir une location parmi toutes celles disponibles dans la liste Appuyez sur le bouton Select pour valider Vous pouvez tout annuler en cliquant sur le bouton Cancel Page 52 82 Benjamin Millau Rapport de stage 2004 5 me tape choix du compartiment
7. i 11 loc viewLocationSelectionDialogqloc 12 addLocation loc 13 comp getCom partm entsListByTaxonomy Q FE 14 com p viewCompartmentSelectionDial og com p 15 addCom partme nt com p i 16 mole getMoleculesList D JE 17 mole viemMoleculesSelectionDialog mole 18 setMolecules imolep 19 reac getReactionsListO FES 20 freact viewReactionsSelectionDialoggreac 21 setSelectedReactionsgreac Fin taxonomie __ 22 displavo Page 15 82 Benjamin Millau Rapport de stage 2004 S lection par organisme La s lection par organisme commence par demander la liste des organismes pr sents dans la base au noyau puis faire choisir l utilisateur un organisme par l interm diaire de la fonction viewOrganismSelectionDialog Le reste se d roule comme dans la s lection par taxon Le diagramme de s quence pour la s lection des organismes ce pr sent comme suit 1 mainWnd MainWindow net Network User 1 performNewQ l H Ll i i 2 con sisConnected i 3 Icon You must be connected to a database 4 restart 1 S res viewu ainChoo eDialogQ G res 1 setType false i 7 orgj getOrganismslistO I 8 org viewOrganismSelectionDialoggorg 9 setOrganism Q I 11 loc viewLocationselectionDialog loc 12 addLocation loc 1 14 com p viewComp rtmentSelectionDial og com pp 15 addCom partment co
8. physical_property_uses_constant has_as_physical_property dbuser O N login ON universal constant id name value info KR reference id idPubMed tile authors journal year pub vol page first last info physical_coef id method info LI LA physical_coef_value ix name unit id name category SBML_expr physical property nb coef FIG 5 Sous sch ma EA concernant les propri t s physico chimiques partie de gauche du sch ma EA g n ral 12 Page 70 82 Benjamin Millau Rapport de stage 2004 2 3 1 Entit s Entit physical_property Cette entit contient les lois physico chimiques de type diffusion convection que peuvent suivre les mol cules id int est l identifiant de la propri t physico chimique C est la cl primaire de l entit name varchar est le nom de la propri t unique law text est la loi cin tique suivie nb_coef int est le nombre de coefficients d crivant cette propri t info text toute autre information sur la propri t physico chimique optionnel Entit physical_coef Cette entit est une entit chapeau qui regroupe l ensemble des param tres des propri t s physico chimiques id int est l identifiant des param tres physico chimiques C est la cl primaire de l ent
9. tait n cessaire la librairie JBDC a donc t choisie et configur e Ensuite nous avons du installer et configurer CVS nous permettant ainsi de pouvoir mettre en commun tout le travail r alis chacun sur notre poste Le serveur CVS mis en place par Julien Berro est physiquement log e sur une autre machine de TIMC il est donc n cessaire de g rer les identit s pour la connexion Gr ce une interface de type tkCVS la configuration a pu se faire sans trop de probl mes et ainsi apr s avoir compris le fonctionnement de CVS nous avons pu commencer la r alisation du logiciel proprement parler Etape 2 connexion une base de donn es La phase permettant l utilisateur de se connecter la base de donn es Etape 3 choix des mol cules Toutes les informations allant du choix des modes la s lection des mol cules Etape 4 choix des r actions Impl mentation de toutes les m thodes permettant la s lection des r actions ainsi que celle qui permettent d obtenir toutes les informations sur ces r actions comme les lois cin tiques et leurs param tres Etape 5 prise en compte du rajout d l ment Modification de certaines m thodes afin que celles ci puissent prendre en compte les rajouts de compartiments de locations et de mol cules Page 25 82 Benjamin Millau Rapport de stage 2004 La classe Network Phase de connexion La premi re tape du logiciel tait videmment la pha
10. dans une variable du type appropri Par exemple pour un organisme s lectionn on va le garder dans une variable afin de le r utiliser plus tard Cette variable se d clare ainsi private Organism org Page 29 82 Benjamin Millau Rapport de stage 2004 Pour cela lors de la validation du choix par l utilisateur la fen tre MainWindow appelle cette m thode public void setOrganism Organism o I org 0 Cette m thode initialise tout simplement la variable org avec l organisme entr en param tre c est dire celui choisi par l utilisateur Dans le cas du taxon cela se passe exactement de la m me fa on avec une variable et une m thode diff rente bien s r Choix de la location Ensuite apr s avoir choisi un taxon ou un organisme la liste des locations contenues dans ce taxon ou cet organisme doit tre r cup r Pour cela selon le choix effectu la fen tre MainWindow appelle une des deux m thodes de la classe Network Soit elle appelle public Hashtable getLocationsList qui permet d obtenir la liste des locations partir d un organisme soit elle appelle public Hashtable getLocationsListByTaxonomy qui permet d obtenir la liste des locations partir d un taxon choisi Ces m thodes sont semblable la m thode getOrganismsList la diff rence de quelques variables et m thodes appel es mais la grande diff rence se situe au niveau de la requ te SQL qui
11. sent es pour des raisons de visibilit Le diagramme de classes est donc pr sent page suivante Page 22 82 Benjamin Millau Organism Ad String name String taxonom y String info String pa Organism O void Organism rox String void selectedCompartments Compartment Location lt Network selectedLocations id String svName int name String dbName int lt tax int Location loc String void activeLocation V NetworkQ void Read ion id String name String sym bExpr String reacs Hashtable reacsStoechiom etries Hashtable numReacs int prods Hashtable prodsStoechiometries Hashtable numProds int Hype int numLaws int selectedLaw int 4 selectedReactions Reactiontreac String void addReac name String stoe ch String void addProd name String stoe ch String voi d getNumReacsQ int getNumProdsQ int getNum LawsQ int getReac i int String getReacStoechiometry int String getProd int String getProdStoechiometryd int String hasLawsList Q boolean getLaw int KineticLaw addLaw aw KineticLaw void getLawsElem entsQ Enumeration restartQ void getSVNam ett String getDB Name Q String 4setSVName hame String void setDBName name String void connect login String password String void tisConnectedd boolean activeCompartment id int name int spatialDimension int
12. sizeint constant int info int unit int idUnit int setType taxonom y boolean voi d 4getTypeg boolean gerTaxonomiesListO Stringl setTaxonomy tax String void getOrganismsUst Q Hashtable setOrganism Q void getLocationsListO Hashtable getLocationsListByTaxonomy0 Hashtable addLocationd Location void getCom partm entsListO Hashtable 4getCom partm entsListByTaxonomy0 Hashtable addCom partment com p Com partm ent voi d getSelectedCompartmentsQ Hashtable getMoleculesListO Hashtable setMolecules list Hashtable void setAllMolecules list Hashtable void getReactionsListO Hashtable setSelectedReactionsdist Hashtable void getSelectedReactions Hashtable getParamReferences paramiD String Reference getValReferences vallD String Reference setKineticLawList reac Reaction void save TOSBM LFile file Name String void net Com partm ent Q void Com partm ent com p StringiDivoid addMolecule mol Mole cule voi d getMoleculesElem entsQ Enumeration comp Fmolecules Rapport de stage 2004 Molecule id String name String charge String Hype String info String active int aorc boolean parentID String numProperties int selectedMolecules MainWindow e selectedReactions D selectedReaction LlawsList Kineticlaw id String sym bExpr String Hlux String nbParam int numParam int active int
13. Continue ou si vous d sirez vous arr ter l ou alors vous avez choisi de ne pas sp cifier de domaine de travail vous pouvez cliquez sur Terminate pour passer dans l tape de finition du r seau 9 me tape rajout de location et compartiment dans le r seau Si vous avez choisi de continuer vous allez de nouveau vous retrouver sur la fen tre du choix des locations vous pouvez donc choisir de nouveau la m me location ou une autre voir tape 4 Ensuite vous pourrez de nouveau s lectionner un compartiment sauf ceux que vous aviez d j s lectionn s auparavant si vous avez s lectionn la m me location voir tape 5 Puis vous allez de nouveau s lectionner les mol cules qui se trouveront dans ce compartiment voir tape 6 Puis la fen tre du choix des r actions va de nouveau s ouvrir avec toutes les r actions disponibles dans la base par rapport toutes les mol cules que vous avez choisies depuis le d but de la cr ation de votre r seau Vous devez galement s lectionner de nouveau les r actions que vous aviez d ja s lectionn es auparavant Ensuite vous allez de nouveau avoir la fen tre principale avec toutes les nouvelles informations que vous avez rentr es et vous pouvez si vous le d sirez encore rajouter un nouveau compartiment ou une nouvelle location votre r seau en cliquant sur 4 Continue ou alors passer l tape de finition en cliquant sur Terminate Page 57 82 Ben
14. HF Valid ono De plus tant donn e qu il ne peut y avoir qu une seule r f rence pour un jeu de param tres associ une loi cin tique ou une valeur de mol cule il y a uniquement besoin de garder le r sultat obtenu dans une variable de type Reference et de le retourner pour que la fen tre principale puisse l afficher Gestion des exceptions Pour g rer les exceptions un moyen simple et efficace a t utilis Toutes les exception lev es dans les m thodes de la classe Network sont trait es de la m me fagon le message de l exception est r cup r et renvoyer a la classe qui appelle les m thode de la classe Network c est dire pour la plupart du temps la classe 4 MainWindow et c est cette classe qui va s occuper de faire afficher un message d erreur Pour cela nous avons proc d de cette m thode que nous permet Java public void maM thode throws Exception tryt suite d instruction de la m thode catch Exception e Throw new Exception e getMessage Page 34 82 Benjamin Millau Rapport de stage 2004 Les autres classes En plus de la classe Network la cr ation d autres classes a t n cessaire pour chaque l ment manipul dans le logiciel et dans la base de donn es telles que les mol cules r action et autres r f rences Ces classes sont des classes simples le constructeur de ces classes est toujours de m me style par exemple
15. a t d clar comme un String result a t d clar comme un tableau d l ment de type Organism et numOrganismsRows contient le nombre de r sultat dans le ResultSet qui a t trouv juste avant de la m me fa on que dans la m thode getTaxonomiesList Pour cette partie on enregistre tout d abord tout les r sultats contenus dans le ResultSet dans une variable de type String Puis les cha nes de caract res contenues dans ce tableau de String vont tre entr s dans un autre tableau d l ment de type Organism Pour cela nous prenons tout une ligne du tableau orgas et gr ce au constructeur de la classe Organism il est possible de cr er un tableau result Pour bien comprendre le fonctionnement il est n cessaire de voir le constructeur de la classe 4 Organism Il a t crit de cette fa on public Organism String row id name taxonomy info row 3 C est donc pour cela que l instruction 4 result i new Organism orgas 1 est possible Ensuite tout le tableau result de Organism est entr dans une variable de type Hashtable index sur l id de l organisme puisque id est la clef de cette table dans la base de donn es et ainsi que dans le logiciel Ensuite pour le bon fonctionnement rapide et simple du logiciel le taxon ou l organisme choisi par l utilisateur doit tre gard
16. bien configurer et installer tout le n cessaire sur les deux machines puisque certain probl me de connexion au r seau se sont pr sent s les deux premiers jours du stage Page 11 82 Benjamin Millau Rapport de stage 2004 Conception informatique Diagramme de cas d utilisation Nous avons tout d abord identifi les diff rents cas d utilisation pouvant se pr senter l utilisateur Il y a donc Connect La phase de connexion la base de donn es qui permet donc l utilisateur de s identifier New Network La phase de cr ation d un r seau biochimique L utilisateur choisit donc la liste des mol cules r actions qu il veut Add to network La phase de compl tion du diagramme rajouter des mol cules r actions au r seau Finalize La phase de finalisation du programme qui consiste juste en la modification possible des valeurs manuellement Save La phase finale du programme sauvegarde du r seau au format de fichier SBML On obtient donc le diagramme de cas d utilisation suivant New network Ade to network Page 12 82 Benjamin Millau Rapport de stage 2004 La phase de connexion Pour la phase de connexion nous avons donc d cid d utiliser une fen tre qui demanderait 3 l utilisateur les informations n cessaires C est cette fen tre qui est donc nomm e ConnectionDialog Bo te de Dialogue de Connexion La classe MainWindow Interface Homme Machine est donc charg e d appe
17. bool BEGIN select into id_kinetic_law kinetic_law id from kinetic_law where kinetic law id NEW id kinetic law if not found then raise exception INTERN NEW is empty 1 end if select into id reac reaction id from reaction where reaction id NEW id reac if not found then raise exception INTERN NEW is empty end if check nb reactants reaction kinetic law id reac id kinetic law a a check_nb_products_reaction_kinetic_law id_reac id_kinetic_law return NEW END LANGUAGE plpgsql Triggers CREATE TRIGGER check_reaction_kinetic_law We check that the kinetic_law and the reaction has the same number of reactants and products AFTER INSERT OR UPDATE ON has_as_kinetic_law FOR EACH ROW ROW could be better but slower EXECUTE PROCEDURE check_reaction_kinetic_law_compatibility We check that number in reac_param_values is less than the number of parameter in the kinetic_law CREATE FUNCTION check_kinetic_law_reac_param_value_compatibility RETURNS TRIGGER AS we check that number in reac param values is less than the number of parameter in the kinetic_law DECLARE nb_param_in_param_reac int8 nb_param_in_kinetic_law int8 BEGIN select into nb_param_in_param_reac count from reac_param_value where reac_param_value id_reac_param NEW id_reac_param select into nb_param_in_kinetic_law nb_param from kinetic_law where kinetic_law id select id kinetic law from has_as_kinetic_law where has a
18. cette fois ci va s crire ainsi ECT loc id loc name FROM organism org location loc reac param location rpl WHERE org id rpl id organism AND loc id rpl id location AND orgia 4 Org LA toe Cette requ te SQL est plus sp ciale que les autres puisqu elle fait intervenir des attributs propre au Java Ceci se fait de mani re simple puisque la requ te SQL pour Java n est qu une cha ne de caract res il est donc possible de concat ner n importe quel autre cha ne de caract res Et c est ce qui est fait ici org id tant un String cela fonctionne parfaitement La m thode 4 getLocationsListByTaxonomy fait exactement la m me chose mais partir d un taxon connu Comme pour l organisme ou le taxon il est n cessaire de garder la location choisie dans une variable Mais tant donn e que l on pourra choisir plus tard une autre location nous avons d fini un attribut de type Hashtable contenant toutes les locations s lectionn es par l utilisateur en plus d une variable contenant la location actuellement active private Hashtable selectedLocations new Hashtable private Location activeLocation Donc une m thode existe aussi pour pouvoir initialiser puis rajouter des locations Cette m thode est public void addLocation Location 1 Cette m thodes est simple elle rajoute la location dans la variable selectedLocations en l indexant sur son i
19. choisi de domaine de travail les valeurs disponibles sont toutes les valeurs possibles pour une mol cule quelle que soit la location et 1l n y a pas de quantit Amount vu qu aucun compartiment n a t s lectionn Le statut status est galement d fini par le choix de la valeur et vous pouvez galement le changer La derni re information concernant les mol cules est la r f rence de la valeur Ici sont affich es les r f rences sur la provenance de la valeur de la mol cule Vous ne pouvez pas les modifier Page 56 82 Benjamin Millau Rapport de stage 2004 A droite se trouvent les informations sur les r actions La premi re liste d roulante se trouve en haut droite de la fen tre Elle contient toutes les r actions que vous avez s lectionn es et vous pouvez en s lectionner une Son expression compl te avec sa stoechiom trie exacte s affichera juste en dessous Ensuite vous pouvez s lectionner une loi cin tique dans la r action choisie gr ce la liste d roulante Kinetic Law Une fois la loi cin tique choisie vous pourrez choisir un de ses param tres parmi tous ceux disponibles dans la base de donn es La derni re information qui concerne les r actions est l affichage de la r f rence du param tre de la loi cin tique actuellement s lectionn e Si vous avez choisi de travailler dans un domaine sp cifique organisme ou taxon vous aurez le choix de continuer en appuyant sur le bouton
20. connecter distance partir de n importe quelle machine de TIMC Pour vous connecter avec un client postgreSQL il suffit de faire partir d une machien de TIMC psql h applepie imag fr d PathwayDB lt login gt Page 60 82 Rapport de stage 2004 Benjamin Millau 2 Sch ma entit associations ram value renc par kinetic law i dbuser reac_param TTT reaction organism unit reference compartment ini_conditions universal_constants physical_cocf cocf_value physical association de la base de donn es Fro 1 Sch ma entit Page 61 82 Benjamin Millau Rapport de stage 2004 Tel que le sch ma entit asociation est construit lors du passage un sch ma relationnel les relations correspondant A chacunes des entit s sauf pour l entit dbuser auront comme cl trang re la cl de l entit dbuser correspondant l utilisateur ayant rentr les donn es de cette entit ainsi qu un champ date correspondant la date laquelle les donn es ont t rentr es Remarques dDans la description des champs des diff rentes entit s lorsqu il est sp cifi unique cela signifie qu on ne peut avoir 2 entr es diff
21. disponibles dans la base de donn es en fonction des mol cules s lectionn es auparavant et m me avec celles d autres compartiments si vous en aviez d ja choisi auparavant Dans la liste de droite se trouve la liste de toutes les r actions s lectionn es Cette fen tre a le m me fonctionnement que la fen tre du choix des mol cules Pour s lectionner une r action mettez la en sur brillance dans la liste de gauche et cliquez sur le bouton Add Pour d s lectionner une r action mettez la en sur brillance dans la liste de droite et cliquez sur Remove Une fois votre choix effectu cliquez sur OK pour continuer ou sur Cancel pour tout annuler Page 55 82 Benjamin Millau Rapport de stage 2004 8 me tape choix des param tres des mol cules et des lois cin tiques Apr s avoir effectu tous ces choix la fen tre principale du programme s affiche Cette fen tre vous permet d avoir une vue d ensemble sur le r seau que vous avez cr et vous permet de s lectionner les derniers l ments c est dire les param tres des mol cules et les lois cin tiques associ s aux r actions voulues ainsi que leur param tres Cette fen tre se pr sente ainsi X A Biochemical Networks i File SBML Molecules Reaction Node Name Reaction Name Eb Aliases G3 exemple de filopode e 5 GD Eb gt Eb v Node val Stoechiometry e Concentration A
22. es PostgreSQL psql il suffit de comparer ce que contiennent les tables de la base de donn es avec ce que le logiciel nous affiche pour v rifier si les diff rentes requ tes SQL qui permettent les consultations de la base de donn es soient exactes Ces tests nous permettent galement de tester que tous les choix fais par l utilisateur sont bien pris en compte Typiquement les compartiments qui apparaissent dans la fen tre et pouvant tre s lectionn s doivent uniquement tre ceux pr sents dans la location choisie juste pr c demment De m me les r actions qui s affichent dans la fen tre principale doivent tre uniquement celles s lectionn es pr c demment Une attention particuli re a donc t port e sur ces tests afin de toujours garder une coh rence durant le d veloppement du logiciel Lors de l impl mentation de sauvegarde du fichier au format SBML et du fichier de suivi 1l sera s rement n cessaire de r dig un bon jeu de test car plusieurs conditions seront a prendre en compte et donc il faudra tre pr cis dans les tests Un manuel d utilisateur a galement t effectu Vous pouvez le consulter en annexe Annexe 4 page 50 ce n est pas une version d finitive tant donn e que le logiciel n est pas termin il sera donc n cessaire de faire quelques modifications Page 36 82 Benjamin Millau Rapport de stage 2004 Probl mes rencontr s De multiples probl mes ont t rencontr s durant
23. mol cules qui interviennent aussi bien en tant que produit ou que r actif d une r action Ensuite afin de r cup rer les lois cin tiques des r actions un appel la m thode setKineticLawList Reaction reac est effectu Choix des lois cin tiques Enfin la derni re m thode appell e par 4 getReactionsList d ailleurs est public void setKineticLawList Reaction reac Cette m thode permet d obtenir les lois cin tiques ainsi que les param tres de la r action reac pass e en param tre Comme pour les autres m thodes les requ tes SQL sont ex cut es puis les r sultats sont plac s dans des variables de type Hashtable facilement utilisable Ainsi 3 requ tes sont classiquement ex cut es et aucun probl me ne se montre except le m me probl me d affichage que pour les unit s r gl de la m me fa on que pr c demment Quelques liaisons entre les classes sont tout de m me effectu s comme par exemple cette instruction qui rajoute les param tres obtenu gr ce la requ te SQL leur loi cin tique respective kinetics i addParamValue pars Ou encore cette instruction qui ajoute la r action ses lois cin tiques reac addLaw kinetics i Page 33 82 Benjamin Millau Rapport de stage 2004 Choix des mol cules sans domaine particulier de travail Toutes ces m thodes ne sont pas forc ment appel es Effectivement si l utilisateur au d part n a pas choisi entre
24. organisme Si l utilisateur a choisi de s lectionner ses mol cules partir d organismes la fen tre principale va faire un appel la m thode suivante public Hashtable getOrganismsList Cette m thode va r cup rer la liste de tous les organismes contenus dans la base de donn es et va les retourner dans une variable de type Hashtable qui est en faite une liste index e qui va contenir des l ment de type Organism Si on veut mettre les informations dans un fichier de type 4 Hashtable c est parce que cette fois si il y a plus d l ment sauvegarder qu une simple liste de nom de taxons La requ te correspondant s crit donc ainsi SELECT FROM organism Ainsi il y aura plusieurs l ments a enregistrer dans la Hashtable nous avons donc proc d ainsi Page 28 82 Benjamin Millau Rapport de stage 2004 Rs first Do I For int k 0 k lt numOrganismTitles k Orgas j k rs getString k 1 J While rs next Result new Organism i For i 0 i lt numOrganismRows 1 Result i new Organism orgas i Hashtable res new Hashtable For i 0 i lt result length i Res put result i id result i Return res Pour bien comprendre le code il faut savoir que numOrganismTitles est un attribut de la classe Network qui permet de savoir combien de champ la table organism contient Ensuite 4 orgas 1 j
25. par d faut false boundaryCondition bool indique si c est une condition aux limites par d faut false constant bool indique si la concentration ou la quantit de mati re reste constante au cours des simulations par d faut false 2 2 2 Associations Association molecule_in_organism Cette association sert relier une mol cule avec un organisme dans lequel elle a t r f renc e Ses attributs sont idDB varchar identifiant d une base de donn e sur Internet de type SwissProt optionnel molecular veight float poids moleculaire en kDa optionnel nb amino acids int nombre d acides amin s optionnel Association has_ini_cond Cette association une mol cule des conditions initiales dans un lieu donn Association reac_param_location Cette association indique dans quel organisme et dans quel lieu de cet organisme ont t valu s les jeux de param tres des lois cin tiques 10 Page 68 82 Benjamin Millau Rapport de stage 2004 Association physical_coef_location Cette association indique dans quel organisme et dans quel lieu de cet organisme ont t valu les coefficients des lois physico chimiques Association outside Cette association relie deux lieux et traduit l inclusion d un lieu dans un autre Un lieu peut conte nir plusieurs autres lieux mais ne peut tre contenu que dans un seul autre lieu Plus pr cis ment lorsqu un lieu est inclus dans plusieurs aut
26. pour la classe 4 Organism qui se pr sente ainsi public class Organism public String id public String name public String taxonomy public String info Alors le constructeur va tre comme ceci public Organism String row id row 0 name row 1 taxonomy row 2 info row 3 En fait ce constructeur re oit une liste de chaine de caract res contenant toutes les informations n cessaires pour un organisme Nous avons choisi de proc d ainsi afin de faciliter la r cup ration des r sultats des requ tes SQL les r sultat sont d abord entr s dans une variable de type String puis grace au constructeur que nous avons d fini il est tres facile de passer de cette variable a une autre variable du type voulu Organism dans notre exemple Certaines classes comme Molecule ont quelques attributs de type Hashtable et donc dans le constructeur ces variables de type Hashtable sont juste d clar es elles seront remplies d informations plus tard grace a plusieurs autres m thode Effectivement certaine de ces classes poss dent des m thodes de une ou deux lignes du type public void setComp Compartment c comp c Ce sont des m thodes tr s simples qui sont principalement n cessaires pour r cup rer les attributs priv s des classes ou pour pouvoir les initialis s Toutes ces m thodes sont appel es principalement par la classe Network Page 35 82 Be
27. pour la premi re fois dans la r f rence ou si elles sont uniquement cit es en r f rencant une publication originale 2 1 3 Contraintes d int grit L association has as kinetic law est une association ternaire avec une cardinalit 1 1 Ceci signifie que le triplet constitu par les identifiants de chacunes des entit s est unique Il ne donc pas y avoir 2 lignes gales dans la relation issue de cette association Par cons quent on peut mettre la contrainte suivante la cardinalit de l association param_takes_values du c t de l entit reac param doit tre gale kinetic_law nb_param Ainsi on est s r de donner le bon nombre de valeurs aux param tres de la loi cin tique Dans le m me esprit on veut que la loi cin tique que l on emploie soit compatible avec la r action A laquelle elle est associ e Elles doivent toutes les deux avoir le m me nombre de r actifs et le m me nombre de produits Ceci est v rifi par les cardinalit s du c t de l entit reaction des associations products et reacts Page 66 82 Benjamin Millau Rapport de stage 2004 2 2 Sous sch ma EA concernant les lieus o se passent les r actions et les conditions initiales molecule id name charge type DE mol info ON physical_coef i DN method info molecule in organism idDB molecular weight nb amino acids initial_conditions id 1 1 has ini cond
28. s sur le r seau dans un fichier de type SBML On va donc en premier lieu demander l utilisateur de rentrer le nom du fichier dans lequel il souhaite sauvegarder son travail Puis on sauvera tout le r seau dans ce fichier par l interm diaire de la fonction save TOSBMLFile Le diagramme de s quence de la phase de sauvegarde se pr sente comme suit i mainWndMainWindow User 1 performSaveQ 2 filenam e viewFileChoose Dialog 3 save ToSBM LFilefile nam e Page 21 82 Benjamin Millau Rapport de stage 2004 Diagramme de classes Nous avons donc apr s avoir consid r les diff rentes actions n cessaires pu tablir une hi rarchie de classes Outre les deux classes MainWindow et Network principaux l ments du programme nous avons cr e une classe pour chaque type d objet ayant tre lu dans la base de donn es pour pouvoir le stocker sans consulter plusieurs fois la base de donn es Il y a donc des classes pour e Les organismes Organism y e Les locations Location e Les compartiments Compartment e Les mol cules 4 Molecule e Les propri t s de mol cules 4 Property e Les r actions 4 Reaction e Les lois cin tiques associ es aux r actions KineticLaw e Les param tres de lois cin tiques 4 Parameter e Les r f rences de provenances des diff rentes valeurs Reference Les classes relatives aux bo tes de dialogue ne sont pas repr
29. stage 2004 La phase de cr ation La phase de cr ation est la plus longue du programme elle consiste donc en une succession de demandes l utilisateur sur ses diff rents choix Un dialogue constant entre le noyau et l interface est donc n cessaire En premier lieu le syst me v rifie que l on est bien connect une base de donn es Si ce n est pas le cas on le fait savoir l utilisateur et on n ira pas plus loin Sinon on remet z ro le r seau puis on demande l utilisateur quel mode de s lection il d sire utiliser entre les modes par taxon Taxonomie par organisme ou s lection de toutes les mol cules sans distinction de localisation On va d tailler distinctement les 3 choix diff rents possibles m me si une grande partie des tapes de ceux ci sont identiques S lection par taxon Une fois ce choix fait on informe le noyau du choix de la s lection par taxon qui doit tre sauvegard pour plus tard On demande alors la base la liste des diff rents taxons disponibles et on en offre le choix l utilisateur par l interm diaire de la fonction viewTaxonomySelectionDialog Apr s ce choix on informe le noyau du taxon choisi par l utilisateur et le syst me se renseigne sur la liste des diff rentes locations disponibles dans ce taxon On demande donc l utilisateur de choisir parmi une de ces locations par l interm diaire de la fonction viewLocationSelectionDialog On passe ensuite a
30. tre pr c dente la diff rence pr s qu il doit pouvoir tre libre d diter les param tres Il faut galement qu il puisse revenir la fen tre pr c dente afin qu il puisse revenir sur ses choix Une fois l utilisateur satisfait de ces choix il va pouvoir dans un premier temps copier tous ses param tres dans les champs pr vus cet effet dans le logiciel JDesigner puis lorsque la libraire SBML pour Java sera disponible normalement fin Avril sauvegarder un fichier au format SBML directement utilisable avec les logiciel utilisant ce standard Contrainte Le logiciel doit tre portable c est dire qu il doit pouvoir fonctionner sous Linux et sous Windows et ventuellement sous Macintosh La base de donn es PathwayDB est log e physiquement sur une machine de TIMC Il faudra donc g rer les probl mes de s curit d acc s la base Il faudra aussi que le logiciel poss de une proc dure d installation simple et rapide ainsi que tout ce qui pourrait tre n cessaire au bon fonctionnement du logiciel et ce pour tous les supports avec lesquels le logiciel sera compatible Bien videmment le logiciel devra tre au maximum d bogu l aide de jeux de test Une documentation d taill e du fonctionnement du logiciel doit galement tre faite et le code doit tre bien comment Enfin par souci d internationalisation le logiciel doit tre r alis en anglais Page 8 82 Benjamin Millau Rapport de stage
31. work was inserted by AS Li i ON des LS was inserted by d Ace date reference ion CRE nt id PubMed DN universal constant title i Arr unit J id authors LA name journal a value op name h ja category DN SS i page first last SBML expt A info z e Ad uses units gt FIG 2 Sous sch ma concernant les int ractions partie droite du sch ma EA g n ral Page 63 82 Benjamin Millau Rapport de stage 2004 Ce sch ma d crit les entit s relatifs aux int ractions 2 1 1 Entit s Entit molecule Dans l entit molecule on range toutes les esp ces chimiques qui peuvent r agir id int est l identifiant de la mol cule C est la cl primaire de l entit name varchar est le nom usuel de la molecule unique charge int est la charge que porte cette molecule ex charge 2 pour l ion Ca T optionnel type of mol set of varchar est le type de la molecule ex gene RNA optionnel info varchar contient toute autre information sur cette molecule ex prot ine partici pant la r gulation du Calcium optionnel Entit reaction Cette entit contient la description qualitative des interaction ind pendament de la cin tique id int est l identifiant de la r action C est la cl primaire de l entit name varchar est le nom usuel de la r action unique id BIND varchar est l identifiant de cette r action dans la base de donn e BIND http www b
32. 00 NOT NULL UNIQUE value float NOT NULL info TEXT id unit INT8 NOT NULL REFERENCES unit id login user varchar 100 NOT NULL REFERENCES dbuser login date timestamp NOT NULL PRIMARY KEY id Di Molecules CREATE TABLE molecule id serial NOT NULL PRIMARY KEY name varchar 100 NOT NULL UNIQUE charge int8 type of mol varchar 100 CHECK type of mol in protein generic protein receptor protein ion channel protein truncated gene RNA antisense RNA phenotype ion simple molecule unknown heterodimer other info text login_user varchar 100 NOT NULL REFERENCES dbuser login date timestamp NOT NULL 14 Page 72 82 Rapport de stage 2004 Benjamin Millau Physique CREATE TABLE physical_property id serial name varchar 100 NOT NULL UNIQUE nb_coef varchar 100 NOT NULL info text login_user varchar 100 NOT NULL REFERENCES dbuser login date timestamp NOT NULL PRIMARY KEY id CREATE TABLE physical_coef id serial method varchar 100 info TEXT id ref INT8 NOT NULL REFERENCES reference id original work BOOL NOT NULL login user varchar 100 NOT NULL REFERENCES dbuser login date timestamp NOT NULL PRIMARY KEY id CREATE TABLE physical coef value id serial name varchar 100 NOT NULL value float NOT NULL id_physical_coef INT8 NOT NULL REFERENCES physical_coef id id un
33. 1 UNIQUE id mol id reac ds CREATE TABLE has_ini_cond id_mol INT8 NOT NULL REFERENCES molecule id ON DELETE CASCADE id_ini_cond INT8 NOT NULL REFERENCES initial_conditions id ON DELETE CASCADE id_location INT8 NOT NULL REFERENCES location id ON DELETE CASCADE UNIQUE id_ini_cond Mecanique CREATE TABLE has_as_physical_property id_physical_prop INT8 NOT NULL REFERENCES physical_property id ON DELETE CASCADE id_physical_coef INT8 NOT NULL REFERENCES physical_coef id ON DELETE CASCADE id mol INT8 NOT NULL REFERENCES molecule id ON DELETE CASCADE UNIQUE id_physical_coef ds CREATE TABLE physical_property_uses_constant id_physical_prop INT8 NOT NULL REFERENCES physical_property id ON DELETE CASCADE id_constant INT8 NOT NULL REFERENCES universal_constant id ON DELETE CASCADE UNIQUE id_physical_prop id_constant Chimie CREATE TABLE has_as_kinetic_law id reac INT8 NOT NULL REFERENCES reaction id ON DELETE CASCADE id_kinetic_law INT8 NOT NULL REFERENCES kinetic_law id ON DELETE CASCADE id_reac_param INT8 UNIQUE NOT NULL REFERENCES reac_param id ON DELETE CASCADE we check that the kinetic_law and the reaction has the same number of reactants and products with the trigger check reaction kinetic law CREATE TABLE kinetic_law_uses_constant id_kinetic_law INT8 NOT NULL REFERENCES kinetic_law id ON DELETE CASCADE id_constant INT8 NOT NULL REFERENCES universal_constant id ON DELETE
34. 2 then select into name moll name from molecule where id moll RAISE EXCEPTION You are trying to insert an alias between 2 molecules who have the same name name moll end if return NEW END LANGUAGE plpgsql CREATE TRIGGER trigger alias We check that molecule id mol belongs to reaction id reac BEFORE INSERT OR UPDATE ON alias FOR EACH ROW EXECUTE PROCEDURE check_alias_unicity 21 Page 79 82 Benjamin Millau Rapport de stage 2004 Annexe 6 Fen tre de JDesigner La fen tre de JDesigner est compos de trois l ments une partie contenant les propri t s de la mol cule s lectionn e une partie contenant les propri t s de la r actions s lectionn e puis une partie montrant un sch ma du r seau cr Propri t s des mol cules Page 80 82 Benjamin Millau Rapport de stage 2004 Propri t s des r actions Page 81 82 Benjamin Millau Rapport de stage 2004 Sch ma du r seau Page 82 82
35. 2004 Etapes du d veloppement Etape 0 Installation et configuration des machines de d veloppement Dans un premier temps il faudra installer ou v rifier qu ils existent bien et configurer sur chaque machine de d veloppement un client PostgreSQL un logiciel CVS et une interface du type tkC VS un environnement de d veloppement pour le langage qu on aura choisi cales biblioth ques PostgreSQL pour le langage suscit Bien videment il faudra tester que tous ces logiciels fonctionnent bien y compris avec des machines distantes pour CVS et PostgreSQL Etape 1 Acc s une base de donn es distante La toute premi re tape sera de faire une premi re petite interface qui permette de se connecter une base de donn e sur une machine distante de g rer les acc s s curis s les identifications les droits de consultation L objectif de cette tape tant de pouvoir consulter des donn es dans la table Molecule Dans chacune des tapes il faudra penser stocker une trace de tous les choix que l on a fait dans un fichier de log par exemple Etape 2 Aide au remplissage de la fen tre des propri t s des mol cules L id e est qu la fin de cette tape on puisse rentrer dans la fen tre de propri t s de JDesigner tous les champs relatifs une mol cule de fa on tr s simple Il faudrait donc apr s avoir choisi une mol cule afficher les donn es dans une fen tre ressemblant la fen tre des prop
36. 50 Annexe 5 sp cification de la base de donn es par J Berro 59 Annexe 6 fen tre de Jdesigner 80 Page 3 82 Benjamin Millau Rapport de stage 2004 INTRODUCTION Le laboratoire TIMC Le laboratoire TIMC UMR CNRS 5525 implant sur le campus Sant du CHU de Grenoble repr sente l interface de l IMAG ouverte sur les applications biologiques et m dicales des math matiques et de l informatique Les activit s de TIMC couvrent un tr s large spectre de l ing nierie de l information en sant la m thodologie de mod lisation et de structuration informatiques de la connaissance m dicale OSIRIS la mod lisation math matique des processus cognitifs et des processus de prolif ration migration et biom canique cellulaires DynaCell TIMB RFMQ la bio informatique du g nome humain GENOME les techniques d IA et la d cision m dicale SIC le traitement et l analyse d images m dicales et microscopiques la robotique chirurgicale GMCAO l acquisition guid e par le mod le d observables biom dicaux images et signaux AFIRM la surveillance des maladies environnementales mergentes EPSP l tude quantitative de l activit respiratoire et de l activit lectro enc phalographique au cours de la veille et du sommeil PRETA L quipe TIMB Le but de la recherche TIMB est d tudier et de d
37. CASCADE UNIQUE id_kinetic_law id_constant Di Lieu Compartiment Organisme CREATE TABLE reac param location id organism INT8 NOT NULL REFERENCES organism id ON DELETE CASCADE id Location INT8 NOT NULL REFERENCES location id ON DELETE CASCADE id reac param INT8 NOT NULL REFERENCES reac param id ON DELETE CASCADE UNIQUE id reac param CREATE TABLE physical_coef_location id_physical_coef INT8 NOT NULL REFERENCES physical_coef id ON DELETE CASCADE id_location INT8 NOT NULL REFERENCES location id ON DELETE CASCADE id_organism INT8 NOT NULL REFERENCES organism id ON DELETE CASCADE UNIQUE id_physical_coef CREATE TABLE outside 17 Page 75 82 Rapport de stage 2004 Benjamin Millau location2 is just outside locationi i e locationi is included in location2 id locationi INT8 NOT NULL REFERENCES location id ON DELETE CASCADE id_location2 INT8 NOT NULL REFERENCES location id ON DELETE CASCADE UNIQUE id_locationi CREATE TABLE molecule_in_organism id_molecule INT8 NOT NULL REFERENCES molecule id ON DELETE CASCADE id_organism INT8 NOT NULL REFERENCES organism id ON DELETE CASCADE idDB varchar 100 molecular weight float nb amino acids int UNIQUE id molecule id organism 18 Page 76 82 Rapport de stage 2004 Benjamin Millau Rapport de stage 2004 3 2 Contraintes d int grit et Triggers Initialisation DROP FUNCTION plpgsql_call_handler CASCADE DROP LANGUAGE
38. DEPARTEMENT INFORMATIQUE IUT2 GRENOBLE wig Ann e Universitaire 2003 2004 MEMOIRE DE STAGE REALISATION D UN LOGICIEL D AIDE A LA CREATION D UN RESEAU BIOCHIMIQUE Laboratoire TIMC Equipe TIMB UT AF HC Stage du 13 Avril au 20 Juin 2004 Pr sent par Benjamin Millau Jury IUT Mme Rieu IUT M G rot Soci t M Martiel Soci t M Berro Benjamin Millau Rapport de stage 2004 REMERCIEMENTS Jean Louis Martiel Directeur de l quipe TIMB Julien Berro Etudiant th sard pour m avoir accueilli lors de ce stage Page 2 82 Benjamin Millau Rapport de stage 2004 SOMMAIRE Remerciements asset 2 SOMMAIRE EE E E E 3 Ee d EE 4 ee Ri sac ge das Rs 4 EEE TIME vaare 4 Lese du fe ST 5 EM eege EE N Ea E E N AE geg 6 Cahier EE 6 ONCHONMAUICS AN LI AE 6 Contraintes a EE 8 Etapes EEN 9 Mat nielstontls dd iba 11 Conception informatique de 12 Ralston vr vvs 24 Pape dr Ne 25 eks NEO iS SS NE 26 LES AUS NE 35 Mis en TOC ER 36 Etat d avancement dU PEN 36 Test effectu s et MANUEL ISA ANSE ee 36 Problemes EE 37 Modifications effectu s et prise en compte des remarques des utilisateurs ce eee 38 CONCIUSION EE 39 EE NA ENE 40 ft pelen eebe See Ee ee RE eta 41 Annexe 1 le planning de trav SA Si 43 Annexe 2 la m thode setMolecules nc eens ene eenaeeeaees 44 Annexe 3 la m thode getR actionList 46 Annexe 4 ER TER NIE
39. Element String query SELECT DISTINCT ic boundarycondition ic constant initial conditions ic location hic id ini cond C1 loc ic id AND hic id mol ic initial value un name un id FROM has ini cond hic molecule mol unit un WHER mol id AND hic id loca loc id AND un id query activeLocation id query mol id if mol hasAliases Enumeration enum2 ic id unit AND AND mo r loc id IN mol id in We r Elements while enum2 hasMoreElements query Molecule en query if mol numProperties gt 0 query AND ic id NOT IN j 0 for int i 0 i lt mol numPropert if i gt 0 query t query mol getPropID i query t rs stmt executeQuery query j 0 while rs next J if 7 0 I comp addMolecule mol continue rs first j 0 Page 44 82 mol getAliases wom r um2 nextElement id ies 1 nin r Benjamin Millau Rapport de stage 2004 do String r rs getString 3 if Character getNumericValue r charAt 0 lt 0 r m r subSeguence 1 r length mol addProperty rs getString l Float parseFloat rs getString 2 r rs getString 4 equals f amp amp rs getString 5 equals f rs getString 6 comp log write Molecule mol name Concentrat
40. List eel 10 molek view oleculesSelectionDialog molep 11 setMolecules molep 12 reac getReactionsListO Da guilt 13 reack viewRe acti onsSelectionDialog reac 14 setSelectecdReactionsqreac Fin taxonomie e 15 display Page 19 82 Benjamin Millau Rapport de stage 2004 Diagramme de s quence en cas de s lection par organisme X mainWnd MainWindow User 1 perform Continued Ll I I I 2 res getType 3 res false floct qetLocat ionsList0 D but organisme nee 4 loc viewLocationSelectionDialog loc 5 addLocation loc 6 comp getCom partm entsList 7 com p viewCompartmentSelectionDialog compp 8 addCom partment com p 9 molej getld oleculesList rome 10 moler viewvoleculesSelectionDialog fmolef 11 setMoleculest moleh 12 reack getReactionsList Ll 13 reack viewRe actionsSelectionDialog reac 14 setSelectedReactions reac Fin organisme Lo 15 displayo Page 20 82 Benjamin Millau Rapport de stage 2004 Phase de finalisation Pour cette phase il n a pas t possible de r aliser une conception propre tant donn qu il s agit surtout de recopier les mol cules et r action et permettre leur modification La pr sence de l interface graphique rend tout dialogue impossible repr senter en diagramme pour cette tape on n en pr sente donc pas Phase de sauvegarde Ici il s agit donc de sauvegarder les travaux effectu
41. Unit Q String getAm ourtUnit int String getActiveStatusQ boolean getStatus iint boolean setActive index int void hasAliasesQ boolean getAliasesElementsQ Enumeration getParentiDO String setActiveStatus bool boolear void setComp c Com partm ent void getCom p Com partm ent f props aliases Property id String conc float amount float unit String unitl ring amountUnit String status boolean Property idp String c float un String stat bool ean unlD String com p Com partm ert void Parameter selectedValReference idReacPar String name String value String unitlD String unitName String Reference id String authors String joumal String Parameter n String val String unlD String un String paramiD String void vol String year String idPubMed String ReferenceQ void Reference ref StringiD void selectedParReference Page 23 82 Benjamin Millau Rapport de stage 2004 R alisation D s le d but de la r alisation nous nous sommes rendu compte que nous ne pourrions pas coller aux tapes qui t d finies a titre indicatif par Julien Berro Nous avons donc du changer certaines tape du planning pr visionnel pour mieux coller au n cessiter du logiciel Comme il est visible sur le diagramme de classes deux classes se d marque la classe MainWindow et la clas
42. _2 cf remarques de Pentit kinetic_law value float contient la valeur du param tre sans unit ex 1 2e6 Entit reference L entit r f rence contient les informations relatives aux r f rences bibliographiques dont sont extraites toutes les donn es de la base id int est l identifiant de la r f rence C est la cl primaire de l entit idPubMed varchar est l identifiant PubMed de la r f rence http www ncbi nlm nih gov PubMed optionnel unique title text est le titre de la r f rence authors text est la liste des auteurs journal text est le nom du journal optionnel year_pub int est l ann e de publication de la r f rence optionnel vol int est le num ro du volume optionnel page first last varchar donne la premi re et la derni re page de l article optionnel info text toute autre information concernant la publication optionnel Entit unit Cette entit r f rence les unit s de mesure utilis es par les donn es chimiques et physiques id int est l identifiant de l unit C est la cl primaire de l entit name varchar est le nom usuel de l unit ex amp m s unique category varchar est un identifiant de la cat gorie laquelle appartient l unit ex vo lume temps vitesse optionnel SBML_expr est l expression de l unit partir de unit s de base d
43. action peut intervenir entre plusieurs mol cules de locations ou compartiments diff rents R seau de r gulation biochimique C est un graphe permettant de repr senter les interactions chimiques entre diff rentes mol cules dans une partie d un organisme vivant Serveur Il s agit d une machine physique accessible partir d autres machines SGBD Initiales de Syst me de Gestion de Bases de Donn es Cela permet de dialoguer avec la base de donn es Taxon Chaque organisme peut appartenir une famille d organismes nomm taxon par exemple les mammif res Page 40 82 Benjamin Millau Rapport de stage 2004 Bibliographie e Borland Jbuilder Version personnelle gratuite en t l chargement sur leur site officiel http www borland fr ainsi que la documentation associ e tr s utile e Sun JDBC Site officiel de Sun sur la biblioth que JDBC de gestion de bases de donn es http java sun com products jdbc On y trouve toutes les r f rences ainsi que la documentation et des exemples sur l utilisation de cette biblioth que e PostgreSQL Site sur le SGBD PostgreSQL http www postgresql org propose de nombreuses documentations ainsi qu une partie consacr e JDBC http jdbc postgresql org et plus pr cis ment au Driver sp cifique PostgreSQL pour JDBC e Le tout en poche SQL Livre aux ditions CampusPresse par Ronald R Plew et Ryan K Stephe
44. ans le format SBML ex lt unit kind metre scale 6 gt n lt unit kind second exponent 1 gt Entit universal_constant Cette entit r f rence les constantes universelles qui sont utilis es dans diff rentes expressions de la base de donn es id int est l identifiant de la constante universelle C est la cl primaire de l entit name varchar est le nom de la constante ex pi unique value float est la valeur de la constante ex 3 14159 info text toute autre info sur la constante universelle optionnel 2 1 2 Associations Association reacts Cette association indique quelles mol lcules interviennent comme r actifs dans une r action don n e Elle a comme attributs stoechiometry int qui indique le nombre d entit de cette mol cule qui interviennent comme r actifs dans la r action pard faut 1 Page 65 82 Benjamin Millau Rapport de stage 2004 Association products Cette association indique quelles mol lcules interviennent comme produits dans une r action don n e Elle a comme attributs stoechiometry int qui indique le nombre d entit de cette mol cule qui interviennent comme produits dans la r action pard faut 1 Association modifies Cette association indique quelles mol lcules interviennent comme modifieurs dans une r action donn e catalyseurs Elle a comme attributs mechanism_of_modif varchar qui indique le ma
45. artiment forc ment diff rent puis choisir les mol cules qu il veut avoir dans ce compartiment Pour le choix des r actions toutes les r actions possibles doivent tre s lectionnables m me si les mol cules ne se trouvent pas dans le m me compartiment il peut y Page 7 82 Benjamin Millau Rapport de stage 2004 avoir des r actions inter compartiments et donc inter locations aussi Ensuite la fen tre principale doit se r afficher contenant toutes les informations d j s lectionn es plus les nouvelles Ainsi si une mol cule a t s lectionn e deux fois dans des compartiments diff rents elle doit appara tre en double avec le nom du compartiment dans lequel elle se situe et donc des param tres diff rents En ce qui concerne les r actions toutes les r actions qui ont t s lectionn es doivent tre affich es L utilisateur doit pouvoir continuer jusqu ce qu il n y ait plus de compartiments qui n a pas d j t s lectionn Tous les choix effectu s en ce qui concerne les choix des param tres pour les mol cules et les choix de lois cin tiques pour les r actions doivent tre sauvegard s Une fois tous les choix effectu s l utilisateur peut terminer ses choix en cliquant sur le bouton appropri Ici une nouvelle fen tre ressemblant la fen tre principale doit s afficher Cette fen tre doit afficher uniquement les choix de param tres de mol cules et de r actions s lectionn s dans la fen
46. canisme d action de la mol cule sur la r action ex catalyser enzyme optionnel info text qui contient toute autre information optionnel Association has_as_kinetic_law Cette association permet de relier les r actions les lois cin tiques et les param tres de cette loi Lors d une insertion on v rifie que la loi cin tique et la r action ont bien le m me nombre de produits et de r actifs Association kinetic_law_uses_constants Cette association permet de relier des constantes universelles avec une loi cin tique Association alias Cette association permet de mettre en correspondance plusieurs mol cules qui auraient t intro duites dans la bases sous des noms diff rents mais qui repr sentent en fait une m me mol cule Lors d une insertion on v rifie qu un alias entre ces 2 mol cules n existe pas d j Autres associations Compte tenu de la cardinalit les autres associations param_takes_values uses_units is_referenced_in n apparaissent pas en tant que telles dans l expression relationnelle de la base de donn es Les cl s primaires des entit s du c t 1 N des associations se retrouveront comme cl s trang res dans les relations issues des entit s du c t 1 1 des associations De m me les attributs des associations seront introduits dans ces derni res relations L attribut original_work est un bool en qui vaut true si les valeurs des param tres sont pu bli es
47. cher mais un seul sera pris un compte pour la suite et le statut La quantit tant contenue dans la base de donn e PathwayDB et la concentration tant la quantit divis e par la taille du compartiment dans laquelle se trouve la mol cule La r f rence correspondant au param tre de la mol cule choisie doit galement tre affich e la liste de toutes les r actions s lectionn es pr c demment Une de ces r actions doit pouvoir tre misent en surbrillance afin de pouvoir faire le choix parmi ses lois cin tiques La v ritable expression de la r action doit galement tre affich montrant ainsi les st chiom tries des mol cules mises en jeu la liste des lois cin tiques disponibles pour la r action s lectionn e doit tre affich e et galement mis en surbrillance Comme pour les r actions ce doit tre les expressions symboliques qui doivent permettre de s lectionner la loi cin tique les jeux de param tres disponibles pour la loi cin tique choisie doivent galement appara tre et tre s lectionnable La r f rence correspondant au jeu de param tres choisi doit tre affich e Deux choix ensuite doivent se proposer l utilisateur il peut soit choisir de continuer soit de s arr ter Si au d part l utilisateur avait choisi de ne pas sp cifier de domaine alors il ne peut pas continuer S il choisit de continuer alors il va de nouveau pouvoir choisir une location diff rente ou non et un comp
48. choisi le langage Java qui pr sente l avantage d tre tr s portable et poss de une librairie d interface graphique de bonne qualit et simple d utilisation SWING La base de donn e sera contr l e gr ce un pilote PostgreSQL Afin de pouvoir g rer aux mieux les diff rentes version concurrentes du logiciel nous avons utilis un serveur CVS tant donn que nous sommes deux tudiants stagiaires pour r aliser ce projet Page 5 82 Benjamin Millau Rapport de stage 2004 Analyse Cahier des charges Fonctionnalit s du logiciel Le logiciel doit permettre d tre facilement compris par tous les usagers l interface doit donc tre simple d utilisation Celle ci doit reprendre l aspect et tous les champs de celles du logiciel gratuit Jdesigner voir Annexe 6 page 80 Le but du logiciel sera d aider tous les usagers construire un r seau de r gulation biochimique partir des informations contenues dans la base de donn es PathwayDB La base de donn es PathwayDB dont on peut trouver la sp cification en annexe Annexe 5 page 59 contient diff rentes notions utilis es dans le cahier des charges Tout d abord les organismes qui sont des organismes vivants tel l homme le rat etc Chaque organisme peut appartenir une famille d organismes nomm e taxon par exemple les mammif res Il existe ensuite dans chaque organisme diff rentes parties qu on nommera locations et qui d coupent donc l organisme pa
49. clart on pose comme convention que si dans symbolic_expr il y a la r action est suppos e r versible s il y a gt elle est suppos e irr versible On consid re toujours que les constantes de la loi cin tique pr sentes dans flux sont appel es K_i et num rot es dans l ordre partir de 1 jusqu nb param quelque soit l unit de la constante Si une loi cin tique n cessite une seule constante elle sera obligatoirement nomm e K 1 si elle n cessite 5 constantes elles seront not es K 1 K_2 K_3 K 4 K 5 Dans l expression du flux les concentrations des esp ces sont not es sous la forme Lettre Y ex K_1 A B Entit reac param Cette entit est une entit chapeau pour les param tres des lois cin tiques Elle contient des informations g n rales sur la mani re dont ont t obtenues les valeurs des param tres Page 64 82 Benjamin Millau Rapport de stage 2004 id int est l identifiant de l entit C est sa cl primaire method varchar est la m thode d obtention des valeurs des param tres ex fluorescen ce mathematical model optionnel info text toute autre information concernant cette entit optionnel Entit reac_param_value Cette entit contient les valeurs des param tres des lois cin tiques id int est l identifiant de l entit C est sa cl primaire name varchar est le nom du param tre ex K_1 K
50. cts_reaction_kinetic_law int8 int8 RETURNS bool AS We check that the kinetic_law and the reaction has the same number of products DECLARE chk bool nb_products_reaction int8 nb_products_kinetic_law int8 id_reac ALIAS FOR 1 id_kinetic_law ALIAS FOR 2 name reac text name Xinetic law text BEGIN select into nb products reaction sum stoechiometry from products has as kinetic law where products id reac has as kinetic law id reac and products id reac id reac where products id reac id reac group by products id reac select into nb products kinetic law nb products from kinetic law has as kinetic law where kinetic law id id kinetic law if nb products reaction nb products kinetic law then chk true else chk false select into name kinetic law symbolic expr from kinetic law where id id kinetic law select into name reac symbolic expr from reaction where id id reac RAISE EXCEPTION gt This kinetic law does not fit the reaction 4 number of products does not match n in reaction Mn in kinetic law 4 name kinetic law name reac nb products reaction nb products kinetic law end if return chk END gt LANGUAGE plpgsql 19 Page 77 82 Benjamin Millau Rapport de stage 2004 CREATE FUNCTION check_reaction_kinetic_law_compatibility RETURNS TRIGGER AS We check that the kinetic_law and the reaction has the same number of reactants and products DECLARE id_reac int8 id_kinetic_law int8 a
51. d Puis elle initialise la variable 4 activeLocation par la location I Page 30 82 Benjamin Millau Rapport de stage 2004 Choix du compartiment Apr s ce choix effectu l utilisateur aura un nouveau choix faire celui du compartiment La liste de tous les compartiments disponibles dans la location choisie pr c demment doit s afficher Pour cela la fen tre 4 MainWindow appelle de nouveau une autre m thode de la classe Network La encore il y a deux m thodes qui font la m me chose la diff rence pr s qu une construit la liste l aide du taxon s lectionn et l autre partir de l organisme s lectionn Ces m thodes sont public Hashtable getCompartmentsList Location loc public Hashtable getCompartmentsListByTaxonomies Location loc Ces m thodes sont int ressantes car a priori elles devraient tre semblables getLocationsList alors qu il tait demand pour le logiciel qu une fois un compartiment choisi celui ci ne devrait pas se r afficher pour viter les erreurs Nous avons choisi de g rer cela directement au niveau de la requ te SQL car cela nous simplifiait les choses Il a donc fallu d couper la requ te en plusieurs partie et g rer les conditions Voici la mani re de proc der String query SELECT cp id cp name cp spatialdimension cp size cp constant cp info cp id unit un name FROM compartment cp unit un WHE cp id location l
52. e ER mol 1d ME Me query query System out println query rs stmt executeQuery query if rs null return null JEG i 0 while rs next aby if i 0 return null reacs reactions rs first j 0 do for int k 0 reacs j k reactions j new Reaction i Il se k lt numReactionTitles rs getString k 1 Elements ELECT id reac FROM products O enum2 nexti new String i numReactionTitles k new Reaction reacs j Page 47 82 Element id mo r o r Benjamin Millau Rapport de stage 2004 while rs next for i 0 i lt reactions length i query SELECT DISTINCT molecule name reacts stoechiometry FROM reacts reaction molecule WHERE reacts id reac reaction id and reacts id mol molecule id and reaction id reactions i id log write Getting reactifs stoechiometry for reaction reactions i name rs stmt executeQuery query j 0 while rs next j rs first j 0 do reactions il addReac rs getString 1 rs getString 2 j while rs next if reactions i symbExpr lastIndexOf 1 reactions i type false else reactions i type true rs close query SELECT DISTINCT molecul
53. e au remplissage des fen tres des mol cules Connexion la base de donn es La r alisation du logiciel a commenc par la connexion la base de donn es l aide de JBDC g D Semaine 4 Aide au remplissage de la fen tre des propri t s des r actions Choix dans la liste des mol cules Toutes les tapes allant du choix du mode de s lection au choix des mol cules ont t r alis es Ceci prend donc en compte le choix des organismes ou taxons des locations et des compartiments Semaine 5 Aide au remplissage de la fen tre des propri t s des compartiments Choix de la liste des r actions Impl mentation de toutes les m thodes utiles pour la s lection des r actions ainsi que de l interface Affichage des r actions dans la fen tre a aussi t impl ment Semaine 6 Stockage des informations entr es dans les diff rentes fen tres de propri t s Rajout d l ment Impl mentation du bouton continue permettant donc de pouvoir rajouter une location et un compartiment dans le r seau ainsi que ses mol cules Semaine 7 Cr ation d un r seau Finalisation du r seau R daction du manuel d utilisateur et du d but du rapport Impl mentation de la fen tre permettant d diter et de v rifier les informations du r seau ainsi que de l interface pour la sauvegarde du fichier SBML R daction de l introduction et de a premiere partie de ce rapport
54. e name products stoechiometry FROM products reaction molecule WHERE products id reac reaction id AND products id mol molecule id AND reaction id reactions i id rs stmt executeQuery query JO while rs next j rs first do reactions il addProd rs getString 1 rs getString 2 while rs next for i 0 i lt reactions length i setKineticLawList reactions i Hashtable result new Hashtable for 1 0 i lt reactions length i result put reactions i id reactions i Hashtable list result selectedReactions new Hashtable enum list elements int num 0 while enum hasMoreElements Reaction reac Reaction enum nextElement Hashtable temp nextReac reac 0 num2 temp elements while enum2 hasMoreElements Reaction re Reaction enum2 nextElement Enumeration enum3 reac getLawElements while enum3 hasMoreElements re addLaw KineticLaw enum3 nextElement formatReaction re selectedReactions put new Integer num re Page 48 82 Benjamin Millau Rapport de stage 2004 num return selectedReactions catch Exception e throw new Exception e getMessage Page 49 82 Benjamin Millau Rapport de stage 2004 Annexe 4 Manuel d utilisateur non d finitif Ce logiciel vous permet de g n r
55. enter les diagrammes de chaque possibilit s Tout d abord on demande au noyau quel type de s lection a t utilis gr ce la fonction getType qui retourne une valeur bool enne VRAI si on a utilis le mode de s lection par taxon FAUX sinon Ensuite on demande au noyau la liste des locations disponibles dans le taxon ou organisme et on fait s lectionner l utilisateur une location Puis on r it re la m me op ration pour les compartiments l exception pr s que les compartiments de la location ayant d j t s lectionn s dans cette m me location ne pourront pas tre s lectionn s nouveau On passe ensuite la s lection des mol cules dans ce compartiment puis la s lection des r actions toujours avec les m mes fonctions utilis es dans la cr ation Enfin on r affiche toute la fen tre principale avec toutes les mol cules et r actions Les diagrammes de s quence sont donc faits pour les deux possibilit s de s lection Page 18 82 Benjamin Millau Rapport de stage 2004 Diagramme de s quence en cas de s lection par taxon T mainWnd MainWindow User 1 performContinued i 2 res getType 3 res truel flock getLocationsListByTaxonomvy 0 D but taxonomie i 4 loc viewLocationSelectionDialoggloc 5 addLocation loc 6 comp getCom partm entsListByTaxonom yO FR 7 com p viewCompartmentSelectionDialog comp 8 addCom partment com p 9 mole getMolecules
56. ents cp Compartment enuml nextElement num cp getMoleculesElements while enum hasMoreElements Molecule mol Molecule num nextElement Ph H gt Od query query mol id enum2 mol getAliasesElements while enum2 hasMoreElements query Molecule enum2 nextElement id itty query EXCEPT SELECT id reac FROM reacts query WHERE id mol NOT IN numl selectedCompartments elements i 0 while enuml hasMoreElements cp Compartment enuml nextElement num cp getMoleculesElements Benjamin Millau while enum hasMoreElements Molecule mol Molecule Ef gt ON 4 query t query t In enum2 mol getAliases while enum2 hasMoreElements query Molecule LE mol id MIE Me query t query WHERE numl select i 0 while enuml hasMoreElemen cp Compartment num cp getMoleculesElements while enum hasMoreElements Molecule mol Molecule OT IN ts num nextElement Elements Rapport de stage 2004 OG enum2 nextElement id ts elements enuml nextElement num nextElement DE SO query query t In enum2 mol getAliases while enum2 hasMoreElements query Molecul
57. er un fichier au format SBML d un r seau de r gulation biochimique que vous aurez au pr alable sp cifi Vous pouvez cr er des r seaux avec plusieurs locations et compartiments mettant en jeu de nombreuses mol cules et des r actions inter compartiment ou non Pour cela le logiciel se d coupe en plusieurs tapes Ce manuel va vous permettre de vous guider durant les diff rentes tapes l re tape la connexion Lors de l ex cution du logiciel vous allez voir appara tre la fen tre de connexion la base de donn es de ce type A HA Server Name applepie imag fr Database Name PathwayDB Login Name Password Connect Il y a 4 champs remplir Server Name il faut mettre ici le nom du serveur o se trouve la base de donn es Database Name il faut mettre ici le nom de la base de donn es laquelle vous voulez vous connecter Login Name il faut mettre votre nom d utilisateur de la base de donn es Password il faut rentrer votre mot de passe de connexion la base de donn es Le nom du serveur server name et le nom de la base de donn es database name se trouvent galement dans un fichier serveur ini ce qui vite d avoir r crire chaque d marrage du logiciel Pour diter ce fichier ini utiliser un logiciel de traitement de texte standard la premi re ligne correspond au nom du serveur la deuxi me correspo
58. fier un r seau de r gulation biochimique L interface devra tre tr s simple et tr s 4 user friendly un des objectifs tant de distribuer ce logiciel des biologistes n ayant pas forcement de connaissance tr s pouss e en informatique D autre part il sera n cessaire que l interface puisse fonctionner sur plusieurs plateformes c est dire sur Linux Windows voir Mac ventuellement La base de donn e est log e physiquement sur une machine de TIMC et peut tre utilis e l ext rieur de TIMC Il faudra donc g rer les probl mes de s curit et d acc s la base de donn es Une proc dure d installation et de configuration simple devra tre mis en place comme une installation automatique du logiciel ainsi que des clients PostgreSQL et de tout ce qui est n cessaire Afin de correspondre au mieux au logiciel JDesigner le logiciel que nous allons r aliser poss de une interface semblable celle de ce dernier Ainsi l utilisateur pourra faire le choix entre plusieurs mol cules puis partir de ces mol cules pourra s lectionner des r actions et autre lois cin tiques disponibles dans la base de donn es Ensuite l utilisateur n aura plus qu recopier les informations dans les champs de JDesigner pr vu cet effet Enfin le logiciel permettra de sauvegarder directement les informations s lectionn es et s il le d sire dit es dans un fichier au format SBML Pour r aliser ce logiciel nous avons
59. iases GD GT Remove Dans la liste de gauche se trouvent toutes les mol cules disponibles dans la base de donn es Entre parenth ses sont indiqu les diff rents alias que la mol cule peut avoir c est dire diff rents noms Dans la liste de droite se trouvent toutes les mol cules que vous avez s lectionn es Pour s lectionner une mol cule 11 suffit de la s lectionner dans la liste de gauche est de cliquer sur le bouton Add ajouter pour faire passer la mol cule dans la liste de droite Selected Molecules Inversement si vous voulez enlever une mol cule que vous avez choisie s lectionnez la dans la liste de droite et cliquez sur le bouton Remove Une fois que vous avez s lectionn toutes les mol cules que vous vouliez cliquez sur le bouton 4 OK pour continuer Si vous appuyez sur Cancel toute la cr ation du r seau sera annul e et perdue Page 54 82 Benjamin Millau Rapport de stage 2004 7 me tape choix des r actions Apr s avoir choisi les mol cules une fen tre vous permettant de choisir les r actions que vous d sirez voir dans votre r seau de r gulation biochimique va s ouvrir Cette fen tre est de ce type XA Reactions selection x Reactions list Add Selected Reactions GD Eb gt Eb GT G2 G3 GT GT G2 Remove GT Eb Eb GD gt GT Dans la liste de gauche se trouvent toutes les r actions
60. ide C est une m thode relativement longue vous pouvez donc la consulter en annexe Annexe 2 page 44 La partie la plus int ressante dans cette m thode est s rement la gestion du probl me d affichage des unit s Effectivement lors de l affichage des param tres certain commen ant par les lettres um ne fonctionnaient pas et affichaient 4 2 la place Nous avons donc du trouver une parade ce probl me nous avons proc d ainsi String r rs getString 3 if Character getNumericValue r charAt 0 lt 0 r um r subSequence 1 r length L unit se situe en troisi me position dans le tableau ResultSet c est pour cela que l on r cupere celui la pour le tester Apr s quelques tests nous avons remarqu que lorsque ce probl me ce produit la m thode getNumericValue char retournait 1 Il nous a suffit donc de tester le premier caract re de l unit et si celui ci est inf rieur 0 Il suffit d affecter la variable r les caract res 4 um puis d y rajouter la suite des caract res de l unit Page 32 82 Benjamin Millau Rapport de stage 2004 Choix des r actions Comme toujours la fen tre MainWindow appelle une fonction dans la classe Network Elle appelle cette fonction public Hashtable getReactionsList Cette fonction a pour but de cr er une liste de r actions en fonction des mol cules qui ont t s lectionn es pr c de
61. information au format SBML Il faudra pr voir aussi un affichage des donn es s lectionn es et la possibilit de les modifier Etape 7 Ajout de la fonctionnalit de lecture d un fichier SBML Il faudra pouvoir lire un fichier SBML d j existant et afficher les donn es qu il contient dans un format compr hensible comme un ficher texte Page 10 82 Benjamin Millau Rapport de stage 2004 Materiel et outils utilis Afin de r aliser ce logiciel nous disposons de deux ordinateurs celui m ayant t attribu poss de comme syst me d exploitation Linux Mandrake 9 0 avec comme gestionnaire de fen tre KDE 3 0 Dans un premier temps 1l tait n cessaire de configurer nos comptes sur les machines que l ont allait utiliser La base de donn es PathwayDB pour laquelle le logiciel doit tre r alis est une base de donn es relationnelle en PostgreSQL Il tait donc important que nous nous familiarisions avec cette base de donn e Il a donc fallut que nous installions un client PostgreSQL Nous avons choisi d utiliser psql tres bon client PostgreSQL que nous connaissions d j et de plus est disponible dans les package de Linux Mandrake 9 0 Ensuite apr s avoir choisi le langage dans lequel le logiciel allait tre d velopp le Java il fallait choisir un logiciel ad quat nous avons donc opt pour le logiciel de Borland Jbuilder puissant logiciel de programmation Java poss dant une excellente interface de cr ati
62. ion mol getConc j mol getUnit 3 j while rs next comp addMolecule mol catch e printStackTrace throw new Exception Exception ei e getMessage Page 45 82 Benjamin Millau Annexe 3 La m thode getReactionList Rapport de stage 2004 Page 46 82 public Hashtable getReactionsList throws Exception String reacs String query Reaction reactions ResultSet rs Hashtable ht new Hashtable int i 0 int y int o 0 Compartment cp try Enumeration enum enum2 query SELECT FROM reaction WHERE id IN SELECT id reac FROM reacts query WHERE id mol IN Enumeration enuml selectedCompartments elements i 0 while enuml hasMoreElements cp Compartment enuml nextElement num cp getMoleculesElements while enum hasMoreElements Molecule mol Molecule num nextElement ES 10 34 query query mol id enum2 mol getAliasesElements while enum2 hasMoreElements query Molecule enum2 nextElement id Itt numl selectedCompartments elements i 0 query INTERSECT SELECT id reac FROM products query WHERE id mol IN while enuml hasMoreElem
63. it method varchar est la m thode employ e pour obtenir les param tres info text toute autre information propos des param tres optionnel Entit physical_coef_values Cette entit contient les valeurs des param tres des propri t s physico chimiques id int est l identifiant du param tre C est la cl primaire de l entit name varchar est le nom du param tre value float est la valeur du param tre sans unit ex 12 3 2 3 2 Associations Association has as physical property Cette association relie une propri t physico chimique avec les lois physiques une mol cule et aux param tres qui la r git Association physical property uses constants Cette association relie une propri t physico chimique avec les consatantes universelles employ es dans cette loi Autres associations Compte tenu de la cardinalit les autres associations defines a uses units is referenced in n apparaissent pas en tant que telles dans l expression relationnelle de la base de donn es Les cl s primaires des entit s du c t 1 N des associations se retrouveront comme cl s trang res dans les relations issues des entit s du c t 1 1 des associations 2 3 3 Contraintes d int grit La cardinalit de l association coef_take_values du c t de l entit physical_coef doit tre gal la valeur du champ nb coef de l entit physical_property Ceci permet d avoir de donner le b
64. it INTS NOT NULL REFERENCES unit id PRIMARY KEY id Chimie CREATE TABLE reaction id serial name varchar 200 NOT NULL UNIQUE symbolic_expr varchar 100 NOT NULL UNIQUE id_BIND varchar 100 UNIQUE type varchar 100 CHECK type in transcriptional activation transcriptional inhibition translational activation translational inhibition catalysis inhibition state transition known transition omitted unknown transition transport heterodimer formation dissociation truncation homodimer formation degradation info text login_user varchar 100 NOT NULL REFERENCES dbuser login date timestamp NOT NULL PRIMARY KEY id CREATE TABLE kinetic_law id serial name varchar 100 NOT NULL UNIQUE symbolic_expr varchar 100 NOT NULL Flux text NOT NULL reversible BOOL default TRUE nb_param INT8 NOT NULL nb reactants int8 not null nb_products int8 not null info TEXT login_user varchar 100 NOT NULL REFERENCES dbuser login date timestamp NOT NULL PRIMARY KEY id CREATE TABLE reac_param CRI id serial method varchar 100 info TEXT id_ref INT8 NOT NULL REFERENCES reference id original_work BOOL login user varchar 100 NOT NULL REFERENCES dbuser login date timestamp NOT NULL PRIMARY KEY id EATE TABLE reac_param_value 15 Page 73 82 Rapport de stage 2004 Benja
65. jamin Millau Rapport de stage 2004 10 me tape finition du r seau Une fois tous vos choix effectu s vous allez alors voir la fen tre de finition s ouvrir Cette fen tre est de ce type XA Biochemical Networks lt 2 gt x Molecules Reaction Node Name Reaction Name Eb Aliases G3 exemple de filopode 3 GD Eb gt Eb Node Val Stoechiometry e Concentration gt Amount 1Eb 1GD gt 1Eb Kinetic Law 12 0 item GT Eb gt Eb R1T GTJT ED Status Kinetic law parameters k1 4 umol ts gt Floating CO EE pund ar Parameters reference Martiel J L 2004 null Val reference Martiel J L 2004 null Return Save Cette fen tre ressemble beaucoup a la pr c dente elle comporte d ailleurs les m mes informations Sauf qu ici vous ne pouvez plus s lectionner la valeur de la mol cule s lectionn e mais vous pouvez directement diter cette valeur Il en est de m me pour les param tres de la loi cin tique choisie dans la fen tre pr c dente Les r f rences sont galement affich es dans un aspect plus synth tique Si vous souhaitez retourner la fen tre pr c dente vous pouvez en cliquant sur le bouton Return Sinon pour sauvegarder votre r seau de r gulation biochimique cliquez sur le bouton Save et une invite classique de sauvegarde de fichier vous permettra de nommer votre fichier et de
66. le sauvegarder dans le dossier voulu Le fichier de suivi Un fichier de suivi enregistre tous vos choix effectu s lors des diff rentes tapes Ce fichier de suivi se trouve dans le r pertoire du logiciel sous le nom de network log Vous pouvez donc y retrouver tous les choix que vous avez effectu s depuis votre premi re utilisation du logiciel Pensez parfois supprimer ce fichier lorsque sa taille devient trop imposante Page 58 82 Benjamin Millau Rapport de stage 2004 Annexe 5 Sp cification de la base de donn es PathwayDB par J Berro Sp cifications de la base de donn es de r seaux de r gulation Julien Berro 2 juin 2004 Table des mati res 1 Introduction 2 dul Objecte gai a EA Gow dg A 2 12 Quy at il dans cette base e LL LL 2 13 Utilisation de lay base sa pas Ge Ri ak Wo ua WE why EE a NN 2 2 Sch ma entit associations 3 2 1 Sous sch ma EA concernant les interactions 5 BEE eh CC SEET a aie ne SEG ARGE OM ED RE RE a GAGE EE 6 2 142 ASOCIA ON a a EE 7 2 13 Contraintes d int grit s s s aoue o ooo e LL a 8 2 2 Sous sch ma EA concernant les lieus o se passent les r actions et les conditions TOS dear rares ada AN ER AAA a KAARE 9 dd EN ma Em a PEE LE A ne d OS OS Sw Me PB A AER ier 10 DDD AN oi er canin der A Da ter an aat kle er dE ea SORG GL cel chap 10 2 3 Sous sch ma EA concernant les propri t s physico chimiques 12 Geh E
67. le stage Le probl me principal rencontr pendant ce stage fut de travailler en parall le avec les travaux effectu s sur la base de donn es PathwayDB Effectivement au d but du stage la base de donn es n tait pas d finitive et donc elle a chang tout au long du stage puisque c tait justement lors de diff rentes questions et r unions avec Julien Berro que l on s est aper u qu il y avait des tables rajouter des champs changer ou supprimer M me si effectuer ces changements dans la base n tait pas de notre ressort cela nous a oblig revoir plusieurs l ments de notre logiciel comme les requ tes SQL ou des attributs de certaines classes voir en cr er d autres Afin de pouvoir plus facilement appr hender ces changements soudains plusieurs bases de donn es de test sur le mod le de PathwayDB furent cr es Ainsi lorsqu un changement devait tre effectu sur la base nous avions la possibilit de finir ce qui tait en train d tre impl ment pour apr s s occuper uniquement de rendre le logiciel compatible avec les changements effectu s pendant ce temps sur PathwayDB Ensuite une fois le logiciel de nouveau totalement fonctionnel sur PathwayDB les autres bases de donn es de test taient leur tour mises jour avec les nouveaux changements Un autre probl me majeur s est pr sent aussi un peu plus tard dans le stage Pour pouvoir impl menter la sauvegarde du r seau cr par le logiciel dans
68. ler cette fen tre et de demander ensuite la connexion au noyau Le diagramme de s quence de cette action se pr sente comme suit i mainWnd MainWindow net Network User 1 performConnection 1 7 2 svName getSVNam en 3 dbName getDBNameQ 4 new ConnectionDialog Conne t to database 1 gt cnD lg ConnectionDialog T 5 setSVNam e svNam e 1 gt 6 setDBN ame lbName 1 T g show0 4 8 svName getSVNam e0 i T 9 dbName getDBNameQ 10 userName gejUserNameQ I Yi AY NS NE FT T 11 password getPasswordQ 12 setSVName svName 13 setDBName dbName gt 14 connect use Nam e password i e 1 15 DriverManager registerDnvertnew org postgresql Driverd 16 conn DriverManagengetConnection jdbce postgresql serverName dataName login password i conn Connection 17 stmt create Statement 18 Login Successful i j On voit donc que toutes les informations concernant la connexion doivent tre r cup r es puis transmises la classe principale qui elle tablit une connexion avec la base de donn es par le biais de la classe Connection Une fois cette connexion effectu e on avertit donc l utilisateur que la connexion s est d roul e sans probl me par le message Login successful Page 13 82 Benjamin Millau Rapport de
69. lle une fonction de la classe Network pour obtenir la liste de toutes les mol cules de toute la base de donn es public Hashtable getMoleculesList Cet m thode ne va pas tre d velopp e car elle est tout a fait similaire au m thode getOrganismsList et getTaxonomiesList A ce moment la l utilisateur peut choisir plusieurs mol cules en m me temps donc des m thodes de l interface Homme Machine vont s occuper de r cup rer les choix effectu s par l utilisateur puis la classe MainWindow va appeler une autre m thode tr s complexe de la classe Network public void setMolecules Hashtable list Cette m thode a pour objectif d initialiser la liste des mol cules choisies c est a dire la variable selectedMolecules puis r cupere toutes les informations n cessaires a l affichage comme les quantit s les unit s et le statut de toutes les mol cules de la liste Cette m thode est comme pour les autres bas e autour d une requ te SQL mais celle ci est tr s complexe car il y a beaucoup d l ments a prendre en compte et ici il faut faire une requ te afin d obtenir une liste de r sultats pour plusieurs mol cules dont on ne connait pas le nombre Il a fallu donc pr voir que la m thode fonctionne aussi bien si une mol cule est choisie ou alors un nombre ind termin Pour cela il a fallut utiliser judicieusement les boucles et les conditions afin de toujours obtenir une requ te val
70. lueprint org bind optionnel unique type varchar est le type de la r action ex phosphorylation hrydolysis optionnel info varchar contient toute autre information sur cette r action optionnel Entit kinetic_law Cette entit contient les lois cin tiques que suivent les r actions Une loi cin tique n est associ e qu une r action mais une r action peut tre associ e plusieurs lois cin tiques diff rentes id int est l identifiant de la loi cin tique C est la cl primaire de l entit symbolic_expr varchar est la loi symbolique de la r action ex A B C flux varchar expression du flux de la r action ex K_1 A B K_2 C reversible bool indique si la r action est r versible par d faut true nb_param int est le nombre de constantes dans l expression de la loi cin tique pour l exemple de flux ci dessus nb_param 2 nb_reactants int est le nombre de r actifs dans la loi cin tique m me exemple nb_reactants 2 nb_products int est le nombre de produits dans la loi cin tique m me exemple nb_products 1 info text contient toute autre information propos de cette loi cin tique optionnel Remarques importantes Dans symbolic_expr les esp ces sont des lettres majuscules qui apparaissent dans l expres sion dans l ordre alphab tique on ne peut pas avoir A C B ni A C D ni B4C D gt Pour plus de
71. m p i 16 mole getMoleculesList Ll 17 mole viem olegulesSelectionDialog molep 18 setMolecules mole ph H 20 reack viewRe actfonsSelectionDialoggreac 21 setSelectedReactionsgreac DN Fin Organisme Page 16 82 Benjamin Millau Rapport de stage 2004 S lection par toutes les mol cules sans distinction de localisation Cette possibilit est plus courte que les autres tant donn qu il n y a pas passer par les tapes de s lection de taxon organisme location et compartiment On a donc juste les tapes de s lection de mol cules et r actions identiques aux cas pr c dents Le diagramme de s quence se pr sente donc comme suit mainWndMainWindow net Network User 1 perform New I 2 con sisConnected 3 Icon You must be connected to a datab s 4 restart S5 res viewiMainChooseDialogQ D but toutes mol cules I 10 reack viewReactionsSelectiomDialog Greacj I 11 setSelectedReactionsreacj Fintoutes mol cules 12 displayg Page 17 82 Benjamin Millau Rapport de stage 2004 Phase de compl tion La phase de compl tion consiste ajouter des mol cules et r actions la liste On ne peut y acc der que si on a fait au d part une s lection par organisme ou taxon Les deux possibilit s diff rentes sont tr s proches ne variant que pour deux fonctions et donc on va d crire le fonctionnement g n ral des deux et ensuite pr s
72. ment le nom cette base de donn es le nom de l utilisateur et le mot de passe d acc s a la base de donn es Ensuite une instance de la connexion conn doit tre effectu e Elle s effectue de cette facon stmt conn createStatement Cette instance est importante car elle va permettre de pouvoir effectuer toutes les requ tes SQL que le logiciel aura besoin Comme dit pr c demment le nom du serveur et le nom de la base de donn es sont crit dans un fichier serveur ini Ce fichier est lu chaque ouverture du logiciel Cela permet aux utilisateurs de ne pas avoir les r crire chaque ouverture du logiciel Page 26 82 Benjamin Millau Rapport de stage 2004 Choix du mode Apr s s tre connect la base de donn es l utilisateur a le choix entre trois modes de s lection Une fen tre de dialogue s ouvre alors pour permettre l utilisateur de faire son choix Une fois le choix effectu la classe MainWindow appelle la m thode suivante public void setType boolean taxonomy Cette m thode initialise la variable de la classe Network type true si Putilisateur a choisi de travailler partir de taxon ou false si l utilisateur a choisi de travailler partir des organismes Cela sera utile plus tard pour la classe MainWindow afin de faire diff rents tests Choix du taxon Viennent ensuite les m thodes permettant d afficher la liste des organismes ou des
73. min Millau id serial name varchar 100 NOT NULL il faudrait verifier que le nom existe bien dans la loi cinetique value float NOT NULL id reac param INT8 NOT NULL REFERENCES reac param id id_unit INT8 NOT NULL REFERENCES unit id login_user varchar 100 NOT NULL REFERENCES dbuser login date timestamp NOT NULL PRIMARY KEY id ALTER TABLE reac param value ADD CONSTRAINT unique_constraint_reac_param_value UNIQUE id reac param name we can t have 2 parameters with the same name for one reac param Compartiments Organisme CREATE TABLE location id serial name varchar 100 NOT NULL UNIQUE login user varchar 100 NOT NULL REFERENCES dbuser login date timestamp NOT NULL PRIMARY XEY id CREATE TABLE organism id serial name varchar 100 NOT NULL UNIQUE taxonomy varchar 100 NOT NULL info TEXT login_user varchar 100 NOT NULL REFERENCES dbuser login date timestamp NOT NULL PRIMARY KEY id CREATE TABLE compartment id serial name varchar 100 NOT NULL UNIQUE spatialDimension int2 NOT NULL check spatialDimension in 707 717 727 73 default 3 size FLOAT NOT NULL constant BOOL NOT NULL default TRUE info TEXT id_location INT8 NOT NULL REFERENCES location id id_organism INT8 NOT NULL REFERENCES organism id id_unit INT8 NOT NULL REFERENCES unit id id_ref INT8 NOT NULL REFERENCES reference id original_work BOOL login_user varchar 100 NOT NULL REFERENCES db
74. mment et elle permet aussi d obtenir les st chiom tries des r actions C est de loin la m thode la plus complexe et la plus longue du logiciel elle se trouve galement enti rement en annexe Annexe 3 page 46 L criture de cette m thode a pris plusieurs jours avant d arriver ce qu elle soit parfaitement op rationnelle Cette m thode est construite enti rement autour d une requ te complexe De nombreuse variables de type 4 Enumeration ont du tre utilis Tout d abord on cr la requ te afin qu elle s lectionne toutes les r actions qui ont un lien avec les mol cules choisies par la table reacts et products voir la sp cification de la base de donn es en annexe 5 page 59 Ensuite il est n cessaire d liminer les r actions qui n ont pas que des mol cules qui ont t s lectionn au pr alable C est donc pour cela que la requ te est encore compl t e de la m me mani re que la premi re fois mais avec dans la requ te la condition de n gation NOT IN a Ainsi seules les r actions ayant les mol cules s lectionn es et uniquement celles ci seront retourn es par la requ te Ensuite dans cette m me m thode il faut obtenir pour chaque mol cule de la r action sa st chiom trie Pour cela la requ te retourne le nom de la mol cule et sa st chiom trie que nous rajoutons dans le tableau contenant toutes les r actions gr ce a une m thode de la classe Reaction Il faut le faire pour les
75. mount 1Eb 1GD gt 1Eb 120 hem Kinetic Law GT Eb gt Eb k1 GD Eb gt p Status Kinetic law parameters O Floating k1 4 umol d s SC e Fixed oundary Parameters reference Authors Martiel J L Journal international TIMB journal Val reference Volume 1 Year of publication 2004 id_PubMed null Authors Martiel J L Journal international TIMB journal Volume 1 Year of publication 2004 id PubMed null Continue Terminate De multiples informations sont affich es dans cette fen tre A gauche se trouvent les informations sur les mol cules La premi re liste d roulante en haut gauche de la fen tre contient toutes les mol cules que vous avez s lectionn es Entre parenth ses s affiche le compartiment dans lequel se trouve la mol cule Vous pouvez en s lectionner une en particulier Les diff rentes valeurs possibles pour cette mol cule se trouvent dans la seconde liste d roulante et vous pouvez s lectionner une de ces valeurs pour la donner a la mol cule dans votre r seau de r gulation Pour les valeurs vous pouvez s lectionner soit la concentration soit la quantit Amount Si vous avez choisi un domaine de travail les valeurs disponibles seront uniquement celles disponibles dans la location o se trouve la mol cule et la quantit Amount est la concentration divis e par la taille du compartiment Si vous n avez pas
76. nd au nom de la base de donn es Une fois tous les champs remplis cliquez sur le bouton Connect pour vous connecter la base de donn es Si tous les champs sont correctement remplis la fen tre suivante va s ouvrir Vous pouvez cliquer sur le bouton Cancel si vous souhaiter annuler l op ration Page 50 82 Benjamin Millau Rapport de stage 2004 2 me tape le choix du domaine Apr s vous tre connect la base de donn es une fen tre vous pr venant que toutes les donn es rentr es et non sauvegard es auparavant seront effac es Lors de la premi re utilisation du logiciel apr s son ex cution choisissez yes pour continuer Ensuite la fen tre du choix du domaine de travail va s ouvrir Cette fen tre se pr sente ainsi X Select model Search by Mode a Taxonomy O Organism O All molecules OK Cancel Vous pouvez s lectionner un des trois choix qui s offre a vous Par taxon Taxonomy vous pourrez ensuite choisir le taxon sur lequel vous souhaitez travailler Par organisme Organism Tout les choix suivants seront par rapport un organisme que vous choisirez apr s Ou alors vous pouvez choisir de ne pas sp cifier de domaine de travail et donc d avoir le choix plus tard avec tous les param tres de toutes les mol cules possibles All molecules si vous effectuez ce choix passez directement l tape 6 Une fois votre choix effectu
77. ner le travail sur un projet gravitant autour d un autre projet lui m me non termin Mais au final le stage ne s est pas d roul de mani re tellement diff rente que les projets effectu s au sein de l IUT et donc le passage de la th orie la pratique professionnel s est d roul de mani re naturelle Page 39 82 Benjamin Millau Rapport de stage 2004 Glossaire Compartiment Les locations peuvent encore tre d crite g n tiquement par des compartiments qui sont de taille pr cise et donc permettent de travailler avec un nombre ou une concentration d l ments Location Diff rentes parties qu on nommera locations d coupent un organisme Par exemple dans l organisme Homme on trouvera la location 4 neurone Loi cin tique Chaque r action dispose de diff rentes lois cin tiques qui r gissent la mani re dont les mol cules interagissent entre elles lorsque la r action se produit Il y a plusieurs lois cin tiques possibles pour une r action Mol cule Chaque mol cule dispose d un nom et peut avoir plusieurs alias ou mol cules similaires mais de nom diff rent qui se rapportent la m me mol cule Chaque mol cule peut elle avoir plusieurs concentration initiale selon la location et le compartiment dont elle est issue R action Chaque r action dispose d une expression symbolique et des r actifs et produits les diff rentes mol cules qui interviennent dans la r action Une r
78. njamin Millau Rapport de stage 2004 Mise en Fonction Etat d avancement du projet A Pheure de l criture de ce rapport le logiciel n est pas encore termin Tous les l ments abord s dans ce rapport sont bien videmment d j int gr s mais certaines retouches ont d j du tre effectu es au niveau des fen tres et au niveau de certaines classes suite a de nouvelle demande de Julien Berro La sauvegarde de fichier au format SBML n est pas encore impl ment e Certaines m thodes sont d j crites mais non test es n1 int gr es au logiciel Le stage ayant commenc une semaine plus tard que la date demand e il finira galement une semaine plus tard Ainsi nous devrons avoir le temps de compl ter le logiciel afin qu il soit utilisable m me si toutes les fonctionnalit s ne sont pas int gr es A priori la sauvegarde de fichiers au format SBML devrait pouvoir tre impl ment e tout comme la sauvegarde du fichier de suivi Tests effectu s et Manuel d utilisateur Pendant toute la dur e de la r alisation du logiciel de nombreux tests ont t effectu s chaque tape du d veloppement L objectif vis tait d essayer de toujours avoir une version fonctionnelle du logiciel Pour toutes les tapes effectu es jusqu pr sent la r daction d un jeu de tests pr cis ne s est pas montr e n cessaire vu que le logiciel ne g re que des consultations de la base de donn es Avec le client de base de donn
79. ns sur le langage SQL principalement utilis pour cr er les requ tes n cessaires e Programmer en Java Livre aux ditions Eyrolles par Claude Delannoy pr sentant la programmation en Java et Swing e JDesigner Site Internet du logiciel JDesigner http www cds caltech edu hsauro JDesigner htm sur lequel on peut t l charger le logiciel JDesigner sa documentation et les sources du logiciel e SBML site Internet de la biblioth que SBML http sbml org sur lequel on peut t l charger la librairie pour C et aussi la documentation compl te sur le format SBML Page 41 82 Benjamin Millau Rapport de stage 2004 ANNEXES Page 42 82 Benjamin Millau Annexe 1 Le planning de travail Rapport de stage 2004 Planning pr visionnel Planning r alis Semaine 1 Installation et configuration des machines de d veloppement Installation et configuration des machines de d veloppement Installation et configuration d un client PostgreSQL un logiciel CVS de Jbuilder et des diff rents libraires n cessaires Semaine 2 Acc s une base de donn es distante Conception Une conception a t faite en UML au lieu de commencer directement la r alisation car au vu de la base de donn es il semblait vident que le logiciel allait poss der un certain nombre de classe Cette conception a d plac toutes les pr visions d une semaine Semaine 3 Aid
80. ntenues dans la variable rs dans une autre variable de type String Afin d initialiser la variable taxonomies de type String il est n cessaire tout d abord de compter le nombre de r sultat contenu dans la variable rs Pour cela une m thode next du paquetage ResultSet permet de passer au r sultat suivant et donc pour compter les r sultat il suffit de faire while rs next att Page 27 82 Benjamin Millau Rapport de stage 2004 La variable 1 tant de type integer Elle contient le nombre de r sultat contenu dans la variable rs Nous pouvons ensuite d clar la variable taxonomies de cette fa on taxonomies new String i Ensuite afin de pouvoir mettre toutes les informations dans la variable taxonomies il suffit de proc der de cette fa on taxonomies j rs getString 1 while rs next La m thode first du paquetage ResultSet permet de retourner directement au premier l ment du ResultSet Puis la m thode getString int 1 permet d obtenir le r sultat sous forme de String la variable i indiquant quelle colonne de la ligne courante est voulue qui va tre enregistr dans une des positions du tableau taxonomies Puis on appelle la m thode next afin de passer au r sultat suivant Enfin il ne reste plus qu a retourner le tableau taxonomies Choix de l
81. nterface Homme Machine Etant donn le projet que nous avons r alis en bin me ces deux grandes parties ont permis une r partition du travail efficace et logique C est donc ainsi que le travail fut r alis ces deux parties tant r alis en parall le un gain de temps consid rable a t obtenu gr ce cette r partition La partie du noyau applicatif m ayant t attribu ce rapport a abord uniquement cette partie expliquant ainsi le fonctionnement de la classe Network principalement et le continuel dialogue entre une base de donn es PostgreSQL avec un logiciel en Java Le logiciel a t d velopp en parall le avec la base de donn es donc chaque modification de cette derni re entra nait des modifications effectuer afin de garder le logiciel fonctionnel La librairie libSBML pour Java n cessaire pour g n rer un fichier SBML s est fait attendre tout au long du stage et elle n est l heure actuelle toujours pas disponible Pour parer ce probl me le code source d un autre logiciel en Java g n rant des fichiers SBML sera utilis pour notre logiciel Gr ce une coop ration troite avec Julien Berro le logiciel a toujours pu avancer dans l id e souhait e du projet Des tests ont galement t r alis s chaque tape et un manuel d utilisateur non d finitif a galement t r dig Cependant le logiciel est l heure actuelle pas encore termin e la sauvegarde au format SBML et de la sauvega
82. oc id AND cp id organism org id A un id cp id unit int i 0 if selectedCompartments isEmpty query AND cp id NOT IN Enumeration enum selectedCompartments elements while enum hasMoreElements if i gt 0 query t query Compartment enum nexti LEAR query Comme pour les locations il y a un attribut selectedCompartments de type Hashtable qui contient tous les compartiments s lectionn s depuis le d but de la cr ation du r seau La requ te est donc d compos e ainsi elle s lectionne dans tout les cas tout les compartiment et ensuite selon les compartiments contenus dans le Hashtable selectedCompartments elle retire tous ceux d j pr sents Apr s tout cela il ne reste plus qu faire s ex cuter la chaine de caract re query comme tant une requ te SQL Comme pour les locations une fois l utilisateur ayant fait son choix la m thode public void addCompartment Compartment c est appel e et celle ci rajoute le compartiment s lectionn l attribut selectedCompartments et initialise l attribut comp qui repr sente le compartiment courant Page 31 82 Benjamin Millau Rapport de stage 2004 Choix des mol cules Ensuite vient le choix des mol cules qui seront pr sent dans le compartiment choisi pr c demment Comme d habitude la fen tre 4 Main Window appe
83. on de fen tre et une tr s grande documentation int gr et de plus nous connaissions d ja tr s bien ce logiciel Nous avons pu trouver ce logiciel sur le site officiel de Borland Puis afin de faire correspondre le logiciel en Java est la base de donn es PathwayDB en PostgreSQL il nous fallait une librairie de gestion de base de donn e pour Java Nous avons donc eu besoin de chercher sur Internet diff rentes informations ce propos et il apparaissait que JBDC pouvait tout fait correspondre nos besoins JDBC Java DataBase Connectivity est une biblioth que Java permettant un dialogue entre un programme Java est une base de donn es sp cification et documentation sur le site http java sun com products jdbc Nous avons donc choisi d utiliser cette librairie pour r aliser notre logiciel Nous n avons pas eu de mal trouver cette librairie sur divers site Internet voir bibliographie Un temps d adaptation fut quand m me n cessaire pour l installation de logiciel et autres packages n ayant jamais utilis Linux ailleurs qu l IUT auparavant et donc n ayant pas vraiment l exp rience dans la configuration et de l installation de logiciel sous Linux Aussi certain logiciel demandait certains packages afin de fonctionner il a fallut donc chercher ces packages sur divers site Internet ou encore dans les packages fourni avec Linux Mandrake 9 0 Afin de configurer les deux machines il a bien fallut environ trois jours pour
84. on nombre de valeurs aux param tres des loi physico chimiques 13 Page 71 82 Benjamin Millau 3 Code PostgreSQL 3 1 Cr ation de la base select from pg_tables where schemaname public DROP TABLE dbuser physical coef value physical coef physical property molecule universal constant unit reference initial conditions organism compartment location reac param value reac param kinetic law reaction physical property uses constant has as physical property has ini cond reacts products modifies alias molecule in organism outside physical coef location reac param location kinetic law uses constant has as kinetic law CASCADE Utilisateurs CREATE TABLE dbuser login varchar 100 UNIQUE PRIMARY KEY login References bibliographiques CREATE TABLE reference id serial id_Pubmed varchar 100 UNIQUE title varchar 100 NOT NULL authors varchar 100 NOT NULL journal varchar 100 year pub ints vol int8 page first last varchar 100 info TEXT login user varchar 100 NOT NULL REFERENCES dbuser login date timestamp NOT NULL date de type 1999 01 08 04 05 06 PRIMARY KEY id Di Constantes Unites CREATE TABLE unit id serial name varchar 100 NOT NULL UNIQUE category varchar 100 SBML_expr TEXT NOT NULL login_user varchar 100 NOT NULL REFERENCES dbuser login date timestamp NOT NULL PRIMARY KEY id CREATE TABLE universal constant id serial name varchar 1
85. onner les mol cules qu il souhaite int grer dans le r seau partir de la liste compl te de toutes les mol cules entr es dans la base de donn e PathwayDB quelque soient les choix effectu s pr c demment Il doit pouvoir s lectionner un nombre ind termin de mol cules Les mol cules poss dant un ou des alias doivent tre pr cis es et ne doivent pas tre s lectionn es plusieurs fois Pour continuer la liste des r actions possibles entre les mol cules choisis disponible dans la base de donn es doivent s afficher L utilisateur doit pouvoir s lectionner seulement celles qui l int resse Il doit galement pouvoir s lectionner toutes les r actions s il le d sire Les r actions seront affich es partir de leurs expressions symboliques Une fois l utilisateur ayant valid tous ses choix la fen tre principale du logiciel doit tre affich e Celle ci doit contenir quasiment toutes les informations du r seau de r gulation biochimique C est cette fen tre qui doit tre similaire a celles de JDesigner et elle doit contenir les informations suivante la liste de toutes les mol cules s lectionn es avec leur alias et le compartiment dans lequel elle se situe la liste des diff rents param tres de la mol cule Une mol cule doit pouvoir tre mis en surbrillance afin de pouvoir faire le choix entre ses diff rents param tres Ces param tres sont la concentration ou la quantit les 2 doivent pouvoir tre affi
86. r exemple dans l organisme Homme on trouvera la location neurone Enfin ces locations peuvent encore tre d crites g om triquement par des compartiments qui sont de taille pr cise et vont permettre de calculer avec une quantit ou une concentration d l ments Ce sont donc les conteneurs de la base de donn es Les l ments contenus dans ceux ci sont des mol cules diff renci es dans la base de donn es par leur num ro d identification unique Chaque mol cule dispose d un nom et peut avoir plusieurs alias ou mol cules similaires mais de nom diff rent qui se rapportent la m me mol cule Chaque mol cule peut tre associ diff rentes concentration initiale selon la location et le compartiment dont elle est issue On a donc de nombreuses possibilit s selon tous les choix diff rents Enfin les r actions sont stock es dans la base de donn es Chaque r action dispose d une expression symbolique de r actifs et de produits c est dire les diff rentes mol cules qui interviennent dans la r action Une r action peut intervenir entre plusieurs mol cules de locations ou compartiments diff rents Chaque r action dispose de diff rentes lois cin tiques qui r gissent la mani re dont les mol cules interagissent entre elles lorsque la r action se produit Il y a plusieurs lois cin tiques possibles pour une r action il faudra donc en choisir une Plusieurs options doivent s offrir a l usage
87. rde du fichier de suivi n ont pas encore t impl ment cependant tant donn e la fin tardive du stage cela devrait tre r alis dans les temps Lors de ce stage videmment quelques difficult s ont t rencontr es surtout au d but du stage Premi rement n tant pas habitu la configuration et installation de logiciel dans un environnement Linux un petit temps d adaptation fut n cessaire pour le premier jour Il a fallu aussi un temps d adaptation pour l utilisation de la librairie JDBC D ailleurs quelques recherches ont du tre effectu es sur Internet afin de trouver des tutoriaux clairs est pr cis sur l utilisation de cette librairie Les connaissances acquissent l IUT ont t d une grande utilit pour plusieurs domaines durant tout le d roulement du stage Ces connaissances nous ont permis de comprendre beaucoup plus rapidement l organisation de la base de donn es PathwayDB la logique utilis e dans JDBC et les requ tes SQL ont ainsi t crite beaucoup plus rapidement et correctement Ainsi aucun probl me au niveau base de donn es n a t rencontr Les connaissances acquissent en Java et en UML ont t galement d une grande utilit ainsi que l utilisation de Jbuilder l IUT cela nous a permis de ne pas perdre de temps pour d couvrir le logiciel de d veloppement Ce stage m a permis principalement de renforcer mes connaissances en Java et en base de donn es Il m a permis galement de cer
88. rentes ayant la m me valeur pour ce champ par exemple si le champ name de l entit molecule est unique cela signifie qu on ne pourra pas avoir deux entr es dans la table mol cule ayant le m me nom optionnel cela signifie que ce champ peut tre vide par exemple si le champ charge de Pentit molecule est optionnel cela signifie qu on peut laisser ce champ vide Page 62 82 Benjamin Millau 2 1 Sous sch ma EA concernant les interactions was_inserted_by date Rapport de stage 2004 Kinetic_law nb_reactants DN DN i ie ED es Le modifies ON dd ae mechanism_of_modif ee oN info 1 1 type of mol info DN stoechiometry reaction _ kinetic_law nb_products ZEIEN 11 4 11a name symbolie expr symbolic expr D fox id BIND ON reversible type wert nb param ee ieee info nb seactants was inserted by gt e nb products Ga deier LE reen ie into lara was_inserted_b has_as_kinetic_law ON nu date ON ON ses ee dbuser vas inserted by SON Sed ae a ae JJ ENN Jogin ON date W e was inserted H pdf DN y S i Inserted Dy gt reac_param kinetic_law nb_param date r FI kinetic law uses constant Gs param_take values 11 3 i ei SH RT reac param value was inserted by KL we 114 date name cid value original
89. res lieux on consid re qu il est inclus uniquement dans le plus petit des lieux dans lequel il est inclus Remarque Deux lieux ne peuvent avoir une intersection non vides sans que l un soit inclus dans l autre Dans le sch ma de la figure 4 on doit d crire les inclusions des diff rents lieux de la fa on suivante outside A B outside B C outside D C Par exemple on n a E 2 Es Ei ES pas le droit d crire outside A C FIG 4 Exemple d utilisation de la relation outside Autres associations Compte tenu de la cardinalit les autres associations defines a uses units is_referenced_in n apparaissent pas en tant que telles dans l expression relationnelle de la base de donn es Les cl s primaires des entit s du c t 1 N des associations se retrouveront comme cl s trang res dans les relations issues des entit s du c t 1 1 des associations De m me les attributs des associations seront introduits dans ces derni res relations 11 Page 69 82 Benjamin Millau 2 3 Sous sch ma EA concernant les propri t s physico chimiques Rapport de stage 2004 Attention Cette partie de la bae de donn e est encore en d veloppement Les informations sont donn es titre indicatif molecule charge type of mol info ON physical_property id name nb_coef info ON
90. ri t s de JDesigner Etape 3 Aide au remplissage de la fen tre des propri t s des r actions C est le m me esprit que l tape pr c dente mais avec les r actions Il faudrait faire un tableau contenant les mol cules de la base et on s lectionnerait les mol cules qui nous int ressent A partir de l il faudrait proposer plusieurs r actions possibles avec ces mol cules et choisir celle qui convient Ensuite il faudrait r cup rer les lois cin tiques les param tres Etape 4 Ajout de la s lection d organisme de locations et compartiments Il faudrait pouvoir rajouter un domaine de travail et donc g rer les diff rentes concentrations ou quantit s des mol cules en fonction de la location et du compartiment s lectionn Page 9 82 Benjamin Millau Rapport de stage 2004 Etape 5 Stockage des informations entr es dans les diff rentes fen tres de propri t s L id e est de stocker les diff rentes valeurs employ es pour la construction du r seau L objectif tant de pouvoir g n rer un fichier au format SBML partir de ces donn es On utilisera pour a la biblioth que libSBML II faudrait aussi penser un affichage r capitulatif des donn es s lectionn es Etape 6 Cr ation d un r seau A la fin de cette tape on veut avoir un logiciel qui permette de cr er un r seau de r action Ceci revient en fait faire une boucle sur le logiciel obtenu l tape pr c dente et stocker toute l
91. rn NEW else select into mol name name from molecule where molecule id NEW id mol select into reac_expr symbolic_expr from reaction where reaction id NEW id_reac aa nb_mol_in_reactstnb_mol_in products RAISE EXCEPTION gt Molecule 4 does not belongs to reaction So you can not associate these initial conditions with this mole mol_name reac_expr aa end if END gt LANGUAGE plpgsql CREATE TRIGGER trigger_has_ini_cond Ne check that molecule id mol belongs to reaction id reac AFTER INSERT OR UPDATE ON has_ini_cond FOR EACH ROW EXECUTE PROCEDURE check_has_ini_cond_compatibility We check that in alias there is only one alias when 2 molecules have the same name CREATE FUNCTION check_alias_unicity RETURNS TRIGGER AS DECLARE mol int8 mol2 int8 name mol varchar 100 name mol2 varchar 100 tempi int8 temp int8 BEGIN select into moli NEW id_mol1 select into mol2 NEW id_mol2 select into tempi id_moli from alias where id moli moli and id_mol2 mo12 select into temp2 id_moli from alias where id moli mol2 and id mol2 moli if tempi IS NOT NULL OR temp2 IS NOT NULL then select into name moll name from molecule where id moli select into name mol name from molecule where id mol2 RAISE EXCEPTION gt Molecules and are yet known to represent the same molecule ie 4 4 is yet referenced in table alias n 4 4 name moli name mol2 moli mol2 tempi temp2 end if if moli mol
92. rs tout d abord afin de pouvoir fabriquer un r seau de r gulation biochimique l usager doit pouvoir choisir dans quel domaine il souhaite travailler Il peut s lectionner au d but soit par organisme par exemple le rat soit par taxon c est dire une famille d organisme comme par exemple les mammif res soit il peut avoir comme choix de construire un r seau sans sp cifier de domaine particulier pour travailler Et l utilisateur fait son choix parmi les diff rents organismes ou autres taxons propos s ou passe directement au choix des mol cules s il ne veut travailler dans aucun domaine pr cis Page 6 82 Benjamin Millau Rapport de stage 2004 Ensuite l utilisateur doit pouvoir choisir une premi re location dans laquelle il souhaite travailler La liste des locations doit uniquement afficher les locations pour l organisme ou le taxon s lectionn selon le premier choix Cette tape ne s effectuera pas si l utilisateur a choisi de ne pas sp cifier de domaine de travail particulier Puis l utilisateur s lectionne un compartiment dans lequel il souhaite travailler Lors du choix du compartiment doit appara tre le nom du compartiment la taille de ce compartiment et les diverses informations pr alablement rentr es dans la base de donn es Comme pour l tape pr c dente celle ci ne s effectuera pas si l utilisateur n a pas sp cifi de domaine de travail Apr s cela l utilisateur doit pouvoir s lecti
93. s kinetic law id reac param NEW id reac param if nb param in param reac gt nb param in kinetic law then RAISE EXCEPTION gt There are to many parameters for the kinetic law An The kinetic law needs parameter s whereas you are trying to give parameters nb param in kinetic law nb param in param reac end if return NEW END gt LANGUAGE plpgeql CREATE TRIGGER check_kinetic_law_reac_param_value Ne check that number in reac_param_values is less than the number of parameter in the kinetic_law AFTER INSERT OR UPDATE ON reac_param_value FOR EACH ROW ROW could be better but slover EXECUTE PROCEDURE check_kinetic_law_reac_param_value_compatibility We check that molecule id mol belongs to reaction id reac CREATE FUNCTION check_has_ini_cond_compatibility RETURNS TRIGGER AS If molecule id_mol belongs to reaction id reac then it exists one ligne in reacts or in products whitch contains id mol and id reac DECLARE nb_mol_in_reacts int8 nb_mol_in_products int8 mol_name varchar 100 reac_expr varchar 100 20 Page 78 82 Benjamin Millau Rapport de stage 2004 aa int8 BEGIN select into nb_mol_in_reacts sum stoechiometry from reacts where reacts id_mol NEW id_mol and reacts id_reac NEW id_reac select into nb_mol_in_products sum stoechiometry from products where products id mol NEW id mol and products id_reac NEW id_reac if nb_mol_in_reacts gt 0 or nb_mol_in_products gt 0 then retu
94. se Network En gros ces classes nous ont permis une r partitions du travail claire la classe Network tant le noyau applicatif du logiciel et la classe MainWindow tant la classe g rant l interface Homme Machine Le travail fut donc r partit en deux parties Beno t Cl ment travaillant sur la partie interface Homme Machine et Benjamin Millau travaillant sur la partie Noyau Applicatif typiquement tous ce qui se trouve dans la classe Network Pour les autres classes repr sentant tous les l ments pr sent dans la base et n cessaire pour le logiciel comme Molecule ou Reaction leur d veloppement a t effectu au fur et a mesure des besoins par Beno t ou par moi m me tout au long du d veloppement du logiciel Page 24 82 Benjamin Millau Rapport de stage 2004 Etapes de r alisation Voici les tapes du d veloppement pour le noyau applicatif Plusieurs tapes ne concernant que l interface Homme Machine ne sont pas mentionn es ici Etape 1 installation et configuration Comme dans le planning pr visionnel avant de commencer la r alisation il tait n cessaire de poss der tous les logiciels utiles pour cette r alisation Etant donn e que nous avions choisi de programmer en Java nous avons choisi Jbuilder comme logiciel de d veloppement Il a fallut donc l installer sur les deux postes et le configurer correctement Une librairie permettant un dialogue entre la base de donn es PostgreSQL et le logiciel Java
95. se de connexion la base de donn es L interface et le noyau ont t d velopp s conjointement permettant donc de pouvoir tester directement les m thodes crites Pour pouvoir utiliser la librairie JDBC il faut d abord importer la librairie de cette fa on import java sql Ensuite pour ex cuter la connexion une m thode dans la classe Network a donc du tre cr e public boolean connect String login String password Cette m thode renvoie un bool en qui permet de confirmer si la connexion a bien t tablie Seulement 2 param tres String correspondant au nom et au mot de passe sont demand s car les autres informations sont stock es dans un fichier serveur ini qui sera abord plus loin dans cette partie Cette m thode est tr s importante car c est elle qui d clare le pilote de la base de donn es et qui se connecte cette base Tout ceci ce fait gr ce JDBC La d claration du pilote se fait ainsi DriverManager registerDriver new org postgresql Driver Ainsi le pilote est initialis et pr t a tre utilis pour la connexion Ensuite la connexion est possible gr ce une m thode L utilisation se fait ainsi DriverManager getConnection jdbc postgresql serverName 4 dataName login password Pour se connecter la base de donn es il n y a besoin que d une cha ne de caract re doit contenir le nom du serveur o se situe la base de donn es physique
96. t A me A es sc ut Et A Usa SE EE Le e 13 282 ASSOCIa CEET 13 2 33 Contraintes d int grit o o o e LL LL a 13 3 Code PostgreSQL 14 del Cr ation de la baae 4 cos go ia os gas mot doma A aa get dim 14 3 2 Contraintes d int grit et Triggers 19 Page 59 82 Benjamin Millau Rapport de stage 2004 1 Introduction 1 1 Objectifs Cette base de donn es a pour objectif de stocker des informations sur les interactions entre les esp ces biochimiques recolt e dans les publications scientifiques L id e principale est de pouvoir partir de cette base de donn e reconstituer des r seaux d interactions afin de pouvoir les simuler L autre id e est de pouvoir A partir d un r seau reconstitu gr ce A cette base d crire facile ment le r seau d int raction avec le langage SBML 1 2 Qu y a t il dans cette base La base stocke de fa on coh rente les donn es propos des esp ces biochimiques des interactions entre ces mol cules des lois cin tiques qui les r git des diff rentes valeurs possible des constantes de r action des lieux o se situent ces int ractions des propri t s physico chimiques des mol cules diffusion des r f rences bibliographiques dont sont tir es les donn es sus cit es 1 3 Utilisation de la base La base est sur la machine applepie imag fr qui estau sein du r seau de TIMC Pour le moment on peut s y
97. taxon ou organisme alors une autre m thode est appel e public void setAllMolecules Hashtable list Cette m thode re oit en param tre toutes les mol cules s lectionn es par l utilisateur mais tant donn que l utilisateur n a pas choisi ni de location ni de compartiment cette m thode s occupe de trouver les valeurs possibles des mol cules et ce dans toutes les locations possible Tout d abord afin de concord avec le reste du logiciel un compartiment factice est cr Ainsi une requ te SQL est ex cut e permettant d obtenir toutes les valeurs la quantit par exemple des mol cules quelque soit la location Puis gr ce une m thode 4 addPorperty de la classe Molecule les propri t s trouv es pour la mol cule sont associ es cette mol cule Obtention des r f rences Enfin pour finir avec cette classe Network il y a deux autres m thodes qui permettent d obtenir les r f rences L une obtient la r f rence partir de la valeur de la mol cule actuellement choisie et l autre obtient la r f rence partir du jeu de param tres de la loi cin tique actuellement s lectionn e Ces deux m thodes sont tr s simples et similaires except bien s r la requ te SQL qui est diff rente Elle est de ce type SELECT DISTINCT ref id ref authors ref journal ref vol ref year pub ref id PubMed FROM reference ref initial conditions ic WHERE ref id Een AND 06720 4
98. taxons Ces m thodes sont similaires mis part bien s r la requ te qui permet le dialogue avec la base de donn es Dans un premier temps nous allons voir la requ te permettant d obtenir la liste des taxons afin de pouvoir afficher cette liste dans une fen tre Cette m thode est la suivante public String getTaxonomiesList Cette m thode repr sente typiquement les m thodes qui permettent un dialogue entre le logiciel et la base de donn es a l aide de JBDC Nous allons voir comment utiliser JBDC Tout d abord il faut d clar une variable de type ResultSet ResultSet rs Le ResultSet est en quelque sorte un tableau deux dimensions Cette variable contiendra le r sultat de la requ te SQL La requ te s effectue ainsi stmt executeQuery SELECT DISTINCT taxonomy FROM organism Cette instruction appelle une autre m thode executeQuery String qui se trouve dans le paquetage stmt C est donc pour cela que lors de la connexion il est n cessaire d instancier la connexion conn Cette m thode permet donc d ex cuter la requ te SQL SELECT DISTINCT taxonomy FROM organism requ te qui prend donc la liste des taxons a partir de la table organism Le r sultat de la m thode et donc de la requ te est stock dans la variable rs Ensuite afin que les informations soient facilement utilisables il est plus simple de mettre toutes les informations co
99. te entit recense des compartiment au sens o ils sont d finis dans le format SBML Ce sont des mod les g om triques des lieux o se font les r actions id int est l identifiant du compartiment C est la cl primaire de l entit name varchar est le nom du compartiment unique spatialDimension int est le nombre de dimensions de l espace il est compris entre 0 et 3 valeur par d faut 3 size float est le volume du compartiment sans dimension ex 12 47 constant bool indique si le compartiment a un volume constant valeur par d faut true info text toute autre information sur le compartiment optionnel Entit organism Cette entit d crit les diff rents organismes dans lesquels s effectuent les r actions id int est l identifiant de l organisme C est la cl primaire de l entit name varchar est le nom de l esp ce ex E Coli Saccharomyces Cerevisiae unique taxonomy varchar est le nom du taxon dont cette esp ce fait partie ex Mammalia info text toute autre information sur l organisme optionnel Entit initial_ conditions Cette entit stocke les conditions initiales des mol cules id int est l identifiant des conditions initiales C est la cl primaire de l entit initial_value float est la valeur initiale de la concentration sans unit ex 12 3 hasOnlySubstanceUnits boo1 77 77 777777
100. u choix du compartiment que le syst me trouve dans la base de donn es la fois gr ce la location et au taxon On propose donc l utilisateur un choix de compartiment par l interm diaire de la fonction viewCompartmentSelectionDialog Le compartiment est donc transmis au noyau et le syst me r cup re donc la liste des mol cules et demande donc l utilisateur d en choisir une ou plusieurs Une fois ce choix fait par l interm diaire de la fonction viewMoleculesSelectionDialog les mol cules sont ajout es au compartiment actif et une liste des r actions possibles avec ces mol cules est demand e la base de donn es On demande l utilisateur de choisir une ou plusieurs r actions gr ce la fonction viewReactionsSelectionDialog et on r cup re cette liste pour la sauvegarder dans le noyau et pour terminer on affiche les informations diff rentes avec la fonction display Le diagramme de s quence de la s lection par taxon se pr sente donc comme ceci Page 14 82 Benjamin Millau Rapport de stage 2004 i mainWndMainWindow User 1 performMNew 2 con isConnected 3 con You must be connected to a database 4 restart S res viewWainChooseDialogO D but taxonomie 6 setType true 7 res 0 taxk getTaxonomiesListO an ae 8 selected viewTaxonomySelectionDialoggtax 9 setTaxonomy selected 10 lock getLocationsListByTaxonomy Q
101. un fichier au format SBML la librairie SBML pour Java est n cessaire Cependant celle ci au d but du stage n existait pas encore et aurait d sortir vers la fin du mois d Avril Malheureusement celle ci n est finalement pas sortie la date annonc et donc nous avons d cid de l attendre encore un peu en esp rant une sorti imminente Vers le 15 Mai la librairie n tant toujours pas sorti nous avons donc d cid de chercher une alternative Un logiciel utilisant le format SBML en Java et en Open Source a t trouv l auteur am ricain a crit lui m me ses classes pour g n rer et lire les fichiers SBML Apr s discussion avec Julien Berro et la r ponse positive de l auteur un e mail lui demandant l autorisation d utiliser ses sources nous avons donc d cid d utiliser le code de ce logiciel pour permettre notre logiciel de pouvoir g n rer des fichiers au format SMBL Page 37 82 Benjamin Millau Rapport de stage 2004 Modifications effectu es et prise en compte des remarques des utilisateurs Ce logiciel a t r alis dans l id e d essayer de coller au maximum aux d sirs de Julien Berro et de Jean Louis Martiel dans la mesure du possible Leurs remarques ont donc t prises en compte tr s s rieusement donc de tr s nombreuses modifications ont t apport es au logiciel en cours de r alisation en fonctions de ces remarques En effet leurs volont s taient au d part assez floue Donc en vo
102. user login date timestamp NOT NULL PRIMARY KEY id Di CREATE TABLE initial conditions id serial NOT NULL PRIMARY KEY initial value float NOT NULL hasOnlySubstanceUnits BOOL NOT NULL default FALSE boundaryCondition BOOL NOT NULL default FALSE constant BOOL NOT NULL default FALSE id unit INT8 NOT NULL REFERENCES unit id id ref INT8 NOT NULL REFERENCES reference id original work BOOL login user varchar 100 NOT NULL REFERENCES dbuser login date timestamp NOT NULL Molecule Reaction CREATE TABLE alias id mol INT8 NOT NULL REFERENCES molecule id ON DELETE CASCADE id mol INT8 NOT NULL REFERENCES molecule id ON DELETE CASCADE trigger alias checks that aliases are referenced only once in table alias 16 Page 74 82 Rapport de stage 2004 Benjamin Millau CREATE TABLE modifies id mol INT8 NOT NULL REFERENCES molecule id ON DELETE CASCADE id_reac INT8 NOT NULL REFERENCES reaction id ON DELETE CASCADE mechanism_of_modif varchar 100 info TEXT UNIQUE id_mol id_reac CREATE TABLE products id mol INT8 NOT NULL REFERENCES molecule id ON DELETE CASCADE id_reac INT8 NOT NULL REFERENCES reaction id ON DELETE CASCADE stoechiometry INT8 NOT NULL default 1 UNIQUE id mol id reac DE CREATE TABLE reacts id mol INT8 NOT NULL REFERENCES molecule id ON DELETE CASCADE id reac INT8 NOT NULL REFERENCES reaction id ON DELETE CASCADE stoechiometry INT8 NOT NULL default
103. velopper des mod les math matiques en troite connexion avec des probl mes biologiques et m dicaux ou des applications Il faut donc int grer des aspects fondamentaux de biologie dont les m canismes mol culaire et cellulaire la formation de tissu la g n tique le raisonnement m dical dans le cadre d un mod le math matique L analyse du mod le est effectu e par analyse th orique et simulation num rique des quations Page 4 82 Benjamin Millau Rapport de stage 2004 Le sujet du stage Le but du stage est de d velopper une interface d aide la cr ation de r seaux de r gulation biochimique partir de donn es biochimiques stock es dans une base de donn e distante Un r seau de r gulation biochimique est un graphe permettant de repr senter les interactions chimiques entre diff rentes mol cules dans une partie d un organisme vivant Dans un premier temps le logiciel sera une aide au remplissage des diff rents champs n cessaires la cr ation d un r seau dans le logiciel JDesigner logiciel gratuit que l on peut obtenir sur le site http www cds caltech edu hsauro JDesigner htm Dans un deuxi me temps il devra permettre de g n rer directement un fichier SBML sp cifications du format sur le site http sbml org documents de description du r seau de r gulation Un fichier SBML Systems Biology Markup Language est un fichier de type fichier balise comme un fichier XML qui permet de sp ci
104. yant l volution du logiciel leurs id es devenaient de plus en plus claire et donc de multiples remarques ou changement d avis sont apparus concernant l interface comme par exemple l affichage des lois cin tiques par leur nom ou leur expression symbolique ou les diff rentes s lections possibles comme par exemple pouvoir s lectionner les r actions voulues toutes les prendre en compte partir du choix des mol cules effectu De multiples changements de ce type ont donc du intervenir durant le d veloppement du logiciel entra nant des modification plus ou moins cons quentes dans le logiciel retardant ainsi dans l avancement du projet Page 38 82 Benjamin Millau Rapport de stage 2004 Conclusion Le but de ce projet tait de cr er un logiciel permettant de cr er un r seau de r gulation biochimique g n rant des fichiers au format SBML partir d une base de donn es Au d but la base de donn es en PostgreSQL existait d j mais elle tait non d finitive Il a fallu donc cr er un logiciel en Java autour de cette base de donn es Cela est possible gr ce la librairie JDBC permettant un dialogue entre un la base de donn es est le logiciel en Java Une conception compl te en UML a t r alis e afin de poss der une vue d ensemble et avoir une id e de la fa on de proc der pour r aliser ce logiciel Gr ce cette conception deux grandes parties sont apparues clairement celle du noyau applicatif et celle de l i

Download Pdf Manuals

image

Related Search

Related Contents

Mode d`emploi de l`hébergeur adhérent à Rochefort-en  Samsung 2233RZ Benutzerhandbuch  6091/easy - bei Heraeus Kulzer Technik  Instruções de utilização  Vigo VG6011BNCL36WR Instructions / Assembly  Manual de Usuario    Kenmore 16 cu. ft. Chest Freezer - White Energy Guide  陸 上 自 衛 隊 仕 様 書  F-400D Housing  

Copyright © All rights reserved.
Failed to retrieve file