# ------------------------------------------------------- # Installation de OpenBUGS sous Ubuntu (Linux) # ------------------------------------------------------- Prealable : - OS : Linux Ubuntu 7.04 - compilateur C : gcc 1.4 1) Telecharger l'environnement BlackBox 1.6 (component pascal 2) de Oberon microsystem http://www.oberon.ch/blackbox.html 2) Telecharger OpenBUGS 3.0.3 http://mathstat.helsinki.fi/openbugs/ 3) Telecharger le fichier MyPatch.txt sur le site d'OpenBUGS pour utiliser BUGS sous Linux http://mathstat.helsinki.fi/openbugs/MyPatch.txt 4) Installer BlackBox avec son executable sous Windows (marche avec XP sp2) 5) Ouvrir BlackBox et charger (menu File) le fichier MyPatch.txt. Decoder les modules de ce fichier avec le menu Tools/Decode. 6) Decompacter OpenBUGS.zip et copier l'integralite dans a) le repertoire de BlackBox sous Windows b) dans un repertoire dedie a OpenBUGS sous Linux (ex. /commun/lib/OpenBUGS ) 7) Pour compiler sous BlackBox le code de BUGS (apres une modification du code de BUGS par ex) : a) ouvrir le fichier Developer/Make.odc b) cliquer sur le point d'exclamation noir a cote de "DevCompiler.CompileThis" c) ouvrir le fichier Developer/Linking.odc d) cliquer sur le point d'exclamation noir a cote de "DevElfLinker.LinkDll" Le fichier shared object "brugs.so" est alors cree dans le repertoire principal de BlackBox. 8) copier le fichier brugs.so dans le repertoire Linux de OpenBUGS 9) compiler le fichier "CBugs.c" du repertoire Developer avec la commande : gcc -o /commun/lib/OpenBUGS/linbugs /commun/lib/OpenBUGS/Developer/CBugs.c -ldl -m32 10) démarrage de OpenBUGS sous Linux avec la commande cd /commun/lib/OpenBUGS/ ./linbugs Le prompt suivant apparait : OpenBUGS ClassicBUGS release 3.0.3 type 'modelQuit()' to quit Bugs> # ------------------------------------------------------- # installation de WinBUGS 1.4 vesion graphique sous Ubuntu (Linux) # ------------------------------------------------------- 1) installation de wine l'emulateur des dll (paquet synaptic) 2) telecharger WinBUGS14.exe http://www.mrc-bsu.cam.ac.uk/bugs/welcome.shtml 3) executter l'installation de WinBUGS (console sous interface graphique) wine WinBUGS14.exe 4) lancer WinBUGS wine .wine/fake_windows/Program\ Files/WinBUGS14/WinBUGS14.exe # ------------------------------------------------------- # utilisation de OpenBUGS en mode console # ------------------------------------------------------- 1) creer les fichiers text du modele, des donnes et valeurs intiales 2) creer un script de commande de OpenBUGS : fichier texte model1_script.bugs ex. : modelCheck("/commun/data_bugs/model1.bugs") modelData("/commun/data_bugs/donnees.bugs") modelCompile() modelInits("/commun/data_bugs/init.bugs") modelUpdate(10000) samplesSet("r") modelUpdate(1000) summaryStats("r") samplesCoda("*","/commun/data_bugs/model1") modelQuit() note : pas de saut de ligne dans les scritps b) commande pour executtion cd /commun/lib/OpenBUGS ./linbugs < /commun/data_bugs/model1_script.bugs > /commun/data_bugs/resulat_model1.txt # ------ Commandes console et script de OpenBUGS ------- # charger le fichier du modele modelCheck(".../model.bugs") # charger le fichier de données # les donnees peuvent être chargees en plusieurs fois # avec des commandes modelData qui se suivent modelData(".../donnee.bugs") # compiler le modele modelCompile() # charger le fichier des valeurs initiales # les valeurs initiales peuvent être chargees en plusieurs fois # avec des commandes modelInits qui se suivent # Attention : cette fonction n'est pas capable de lire des nombres au format # x.xxEyyyy avec plus de 3 caracteres (signe - compris) apres le E modelInits(".../init.bugs") # generer des valeurs initiales si possible modelGenInits() # faire tourner le modele modelUpdate(10000) # sauvegarder l'etat des noeuds modelSaveState(".../model_init_10000.bugs") # memoriser les valeurs simulees (toute la chaine) # Attention pas de sauvegarde sous format coda summarySet("noeud") summarySet("noeud[1]") !! Attention cela ne fonctionne pas sous Linux # calcul des satistiques sur les noeuds memorises (toute la chaine) summaryStats("*") summaryClear("*") # memoriser les valeurs simulees (echantillon) # avec possibilite de sauvegarder sous format coda samplesSet("noeud") samplesSet("noeud[1]") cela est permis # calcul des satistiques sur les noeuds memorises (echantillon) samplesStats("*") samplesClear("*") # sauvegarde des noeuds memorises sous format coda # uniquement si samplesSet("noeud") a ete execute samplesCoda("*",".../sortie.txt") # calcul du DIC dicSet() dicStats() dicClear() # quitter linBUGS modelQuit()