• Aucun résultat trouvé

Cette interface a été ajoutée à l’outil pour faciliter l’entrée des données dans le format attendu. Elle repose sur les items suivants :

1. Symbolic Parameters of Thomas’ Networks Inference

— entrée manuelle réduite au minimum (nom des gènes) ;

— entrée des interactions et des connaissances biologiques guidées (liste déroulantes, chan-gement d’état des boutons suivant ce qui peut être ajouté) ;

— possibilité de retenir des propositions LTL pour les réutiliser.

Elle est composée de plusieurs écrans successifs, correspondant aux différents types d’entrées que peut traiter SPuTNIk, d’une fenêtre récapitulative avant de lancer l’exécution et, enfin, d’un pop-up affichant le résultat à la fin du traitement.

La fonction d’import/export permet d’utiliser un modèle créé précédemment avec SPuTNIkou de manière indépendante ; le modèle peut alors être modifié si besoin, voire réenregistrer. Spécification du graphe d’interaction

La première étape consiste à entrer les noms des gènes G et les caractéristiques des interac-tions I du graphe d’interaction Γ = (G, I). (figureA.1).

FigureA.1 – 1ère étape : formulaire pour décrire le graphe d’interaction

Le nom des gènes doit être ajouté dans le cartouche prévu à cet effet et validé en appuyant sur la touche « Entrée » ou sur le bouton Ok . Un panneau de suppression apparaît alors, et le gène est ajouté dans les listes déroulantes des interactions.

Pour supprimer un gène qui a été ajouté, cocher la case correspondante et cliquer sur Delete . Une interaction (g, s, t, g0) dans I est composée d’un gène régulateur g ( Regulator) qui active (s = + correspond au choix Sign + ) ou inhibe (s = − correspond à Sign - ) un gène régulé g0

( Regulated), à partir d’un seuil t ( Threshold). Donner ces quatre informations grâce aux listes déroulantes (remplies automatiquement en utilisant les noms des gènes entrés précédemment) et en modifiant le seuil à la valeur voulue grâce aux boutons < (diminuer d’une unité) et <

A.1. Entrée des données 175 (augmenter d’une unité). Une fois ajoutée grâce au bouton Ok , l’interaction est ajoutée dans la liste située dans le cadre apparaissant en-dessous.

Pour supprimer une interaction, cocher la case correspondante et cliquer sur Delete .

FigureA.2 – Graphe d’interaction complété

Pour passer à l’étape suivante, au moins une interaction doit avoir été ajoutée. Une fois toutes les interactions entrées (figureA.2), cliquer sur le bouton >> Validate the GRN >> .

Ajout des formules LTL

Cette action a pour effet d’afficher la deuxième étape, i.e. l’entrée des formules LTL (ϕi)i∈N correspondant aux propriétés biologiques attendues (figureA.3).

Cette étape est facultative : si aucune formule LTL n’est donnée, SPuTNIkgénérera tous les jeux de paramètres K possibles. Cela peut être utile dans le cas où des contraintes sur les paramètres (à valeur dans Contrainte(K)) sont ajoutées ou au minimum si la CPBF (cf. section2.3.5, définition2.3.9p.40) est prise en compte.

Le panneau d’ajout des formules LTL contient plusieurs composants différents, décrits ci-dessous de haut en bas :

FigureA.3 – 2ème étape : formulaire pour entrer des formules LTL

— un sélecteur d’entier ;

— des boutons associés aux opérateurs temporels, logiques et de comparaison ;

— des boutons permettant de réutiliser des formules enregistrées (à condition qu’il y en ait au moins une) ;

— le cartouche d’affichage de la formule LTL en cours d’entrée ;

— le choix de la portée de la formule (soit sur tous les chemins, soit sur au moins un chemin) ; — un bouton d’enregistrement de la formule en cours d’entrée (pour la mettre de côté en

vue de sa réutilisation) ;

— un bouton d’effacement de la formule en cours d’écriture ; — un bouton de validation de la formule ;

— un panneau d’affichage et de suppression des formules déjà entrées (s’il y a au moins une formule entrée).

Par simplicité, les états ont la même notation que le gène associé (par exemple, l’état associé au gène ExsA est noté aussi ExsA et non xExsAcomme c’était l’usage dans ce manuscrit). Les boutons correspondant sont automatiquement ajoutés en fonction des données de l’étape précédente.

Les boutons sont associés aux opérateurs selon la correspondance suivante :

A.1. Entrée des données 177 G, F, X, U et R ;

— not , and , or , -> et <-> symbolisent, dans l’ordre, les opérateurs logiques ¬, ∧, ∨, ⇒ et ⇔ ;

— = , != , <= , >= , < , > sont associés aux opérateurs de comparaison =, ,, ≤, ≥, < et > ;

— ( et ) représentent les parenthèses ( et ).

L’entrée des formules se fait par l’utilisation des différents boutons. Dans le cas d’une formule longue ou de parties répétitives dans une ou plusieurs formules, le bouton Save offre la possibilité de retenir des bribes de formules pour les ajouter ensuite.

L’analyse de l’entrée se fait au fur et à mesure par le programme, grâce à la construction d’un arbre représentant les formules internes. Dès qu’une formule interne est jugée complète (opérateur et argument(s) présents, parenthèses fermées), la partie correspondante de l’arbre est dite résolue et l’élément englobant est analysé de façon récursive pour déterminer s’il peut ou non être résolu avec les informations disponibles.

Pour faciliter l’analyse, il n’est pas permis à l’utilisateur de modifier la formule à la main ni de revenir en arrière ; pour pouvoir enregistrer ou valider une formule, toutes les parenthèses doivent par ailleurs être présentes. En fonction de ce qui a été entré précédemment, les boutons sont ou non sélectionnables par l’utilisateur. Ce cadre permet de guider la saisie de l’utilisateur afin qu’il ne puisse entrer que des formules pouvant être associées à un automate de Büchi (cela ne garantit pas par contre qu’elles correspondent au sens voulu ni même qu’elles aient un sens).

La grammaire mise en place est la suivante :

hFormulei ::= hUnairei "("hFormulei")"

| "("hFormulei")" hBinairei "("hFormulei")" | "("hEtati hComparateuri hValeuri")" | "("hFormulei")"

hUnairei ::= "G" | "F" | "X" | "not"

hBinairei ::= "U" | "R" | "and" | "or" | "−> " | " < − > "

hEtati ::= String

hComparateuri ::= "= " | "! = " | " <= " | " >= " | " < " | " > " hValeuri ::= int

Comme on l’a vu, plusieurs formules LTL peuvent être ajoutées au modèle. S’il contient plusieurs formules, notées ϕA, dont « le comportement doit être vrai sur tous les chemins », SPuTNIkeffectuera la conjonction de ces formules (ϕ = VϕA) au début du traitement pour pouvoir la traiter comme une formule unique ϕ (soit un seul automate de Büchi B¬ϕ, et donc un seul PGRN).

FigureA.4 – Connaissances biologiques complétées

notées ϕE, seront traitées séparément (soit un automate de Büchi Bϕpar formule ϕ dans ϕE, et donc |ϕE|PGRN à construire).

Le bouton << Modify the GRN << permet de retourner à l’étape précédente pour modi-fier le graphe d’interaction. Les formules LTL validées ne sont conservées que si aucun gène associé n’est supprimé. Ainsi, si on considère un graphe d’interaction initial Γ = (G, I) et une formule LTL ϕ, si l’utilisateur revient à l’étape précédente et modifie les composantes de Γ de manière à obtenir un nouveau graphe d’interaction Γ0

= (G0

, I0

), la formule ϕ est conservée seulement si pour tout état xg dans V AR(ϕ) tel que x appartient à X, g appartient à G0.

Quand toutes les formules LTL souhaitées ont été entrées et validées (figureA.4), cliquer sur >> Validate the LTL >> .

A.1. Entrée des données 179 Réduction du domaine des paramètres

La troisième étape s’affiche alors (figureA.5).

Cette étape est facultative, elle permet d’indiquer des contraintes sur les paramètres en utilisant les opérateurs de comparaison habituels.

FigureA.5 – 3ème étape : ajout de connaissance sur les paramètres

Une liste déroulante préremplie contenant les noms des paramètres dans K, permet de sélectionner le ou les paramètres que l’on veut contraindre (figureA.6). Les opérateurs sont sélectionnables après avoir choisi un opérateur (un paramètre ou un entier). Le deuxième opérateur peut être lui aussi un paramètre ou un entier.

Comme précédemment, deux boutons permettent de revenir à l’étape précédente

( << Modify the LTL << ) ou de passer à l’étape suivante ( >> Validate the knowledge >> ).

Récapitulatif et lancement du traitement

L’interface obtenue après validation de l’étape 3 est présentée dans la figureA.7.

FigureA.7 – Etape finale : Récapitulatif du modèle et sélection du dossier de destination

Dans le haut du panneau, un récapitulatif des données entrées (graphe d’interaction et formules LTL) est présenté, pour une dernière vérification avant le lancement du traitement. Les formules LTL sont triées de manière à pouvoir différencier facilement le comportement associé (« vrai sur tous les chemins » ou « vrai sur au moins un chemins »).

Si une modification du modèle est voulu, cliquer sur le bouton << Modify the knowledge << pour revenir aux étapes précédentes.

Le deuxième cartouche indique le dossier de destination dans lequel les résultats de SPuTNIk

seront écrits. Pour choisir un autre dossier, cliquer sur le bouton Select .

Enfin, cliquer sur le bouton >> Start! >> pour lancer le traitement de SPuTNIk.

Traitement et résultats

L’IHM va alors se fermer pendant le traitement (cela permet de libérer des ressources, qui seraient inutilement consommées par un message du type« En cours de traitement... »). Les étapes

du traitement peuvent être suivies via la console, celle-ci va afficher plus ou moins d’informations suivant le paramétrage de l’outil.

A.1. Entrée des données 181 Quand le traitement sera terminé, une nouvelle fenêtre s’ouvrira (figureA.8), indiquant le nombre de solutions trouvées et le temps dépensé, et invitant à consulter le fichier de résultat. Fermer cette fenêtre terminera le programme.

FigureA.8 – Affichage des résultats

Documents relatifs