gestion de projets en bioinformatique

60
Gestion de projets en bioinformatique Pierre Poulain [email protected] 09/2011

Upload: pierrepo

Post on 05-Dec-2014

891 views

Category:

Education


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Gestion de projets en bioinformatique

Gestion de projets enbioinformatique

Pierre [email protected]

09/2011

Page 2: Gestion de projets en bioinformatique

À l’exception des illustrations et images dont les crédits sont indiquésà la fin du document et dont les droits appartiennent à leurs auteursrespectifs, le reste de ce cours est sous licence Creative CommonsPaternité (CC-BY).http://creativecommons.org/licenses/by/2.0/fr/

PP Université Paris Diderot - Paris 7 2

Page 3: Gestion de projets en bioinformatique

Menu

1 Qu’est-ce qu’un projet ?

2 Gestion de projet enbioinformatique

3 Outils pour le travailcollaboratif

4 Comparaison de codesource

5 Gestionnaires deversions

6 Documentation(automatique) de code

PP Université Paris Diderot - Paris 7 3

Page 4: Gestion de projets en bioinformatique

Définition

D’après Wikipédia : « Un projet est un engagement irréversiblede résultat incertain, non reproductible a priori à l’identique,nécessitant le concours et l’intégration d’une grande diversitéde contribution, et répondant à un besoin exprimé. »

PP Université Paris Diderot - Paris 7 4

Page 5: Gestion de projets en bioinformatique

Nature d’un projet

Organisation d’un projet par la méthode QQOQCCP.

Quoi (Quelles actions ?)Qui (Pour qui est le projet ? Qui est impliqué ?)Où (Quel domaine est concerné ? Quel est le contexte ?)Quand (Dans quel ordre fait-on les choses ?)Comment (Quels moyens ? Quelles méthodes)Combien (Combien ça coûte ?)Pourquoi (Pourquoi ce projet ? Quels sont les objectifs ?)

PP Université Paris Diderot - Paris 7 5

Page 6: Gestion de projets en bioinformatique

Diagramme de GanttModélisation de la planification de tâches nécessaires à laréalisation d’un projet (Henry L. Gantt, 1977).

GanttProject http://www.ganttproject.biz/

PP Université Paris Diderot - Paris 7 6

Page 7: Gestion de projets en bioinformatique

Menu

1 Qu’est-ce qu’un projet ?

2 Gestion de projet enbioinformatique

3 Outils pour le travailcollaboratif

4 Comparaison de codesource

5 Gestionnaires deversions

6 Documentation(automatique) de code

PP Université Paris Diderot - Paris 7 7

Page 8: Gestion de projets en bioinformatique

Gestion de projet en bioinformatique

A Quick Guide to Organizing Computational Biology ProjectsW. S. Noble, PLoS Computational Biology, 5 : e1000424, 2009

1. structuration d’un projet en bioinformatique

2. reproductibilité des résultats

3. documentation

PP Université Paris Diderot - Paris 7 8

Page 9: Gestion de projets en bioinformatique

Organisation des fichiers et répertoires

W. S. Noble, PLoS Computational Biology, 5 : e1000424, 2009

PP Université Paris Diderot - Paris 7 9

Page 10: Gestion de projets en bioinformatique

Bien gérer un projet (bioinformatique)

séparer données primaires, résultats et analyses

script global pour regénérer simulations et analyses

gestion des erreurs

gestionnaires de versions

sauvegardes !

PP Université Paris Diderot - Paris 7 10

Page 11: Gestion de projets en bioinformatique

Bien gérer un projet (bioinformatique) 2

documentation générale – cahier de laboratoire

documentation ponctuelle (README)

documentation des scripts et programmes(commentaires + docstring/doxygen)

PP Université Paris Diderot - Paris 7 11

Page 12: Gestion de projets en bioinformatique

Cahier de laboratoire

physique (papier) ou virtuel (notebook.html)

horodatage obligatoire

valeur légale

y consigner toutes les simulations et tous les résultats(programmes utilisés et paramètres)

répertoires et noms de fichiers

perso (laboratoire / entreprise)

Þ refaire simulations et analyses (sans vous)

PP Université Paris Diderot - Paris 7 12

Page 13: Gestion de projets en bioinformatique

Menu

1 Qu’est-ce qu’un projet ?

2 Gestion de projet enbioinformatique

3 Outils pour le travailcollaboratif

4 Comparaison de codesource

5 Gestionnaires deversions

6 Documentation(automatique) de code

PP Université Paris Diderot - Paris 7 13

Page 14: Gestion de projets en bioinformatique

Travail collaboratif

travailler à plusieurs sur un même projet

à des temps différents ou pas

à des endroits différents ou pas

outils pour discuter, échanger et comparer

PP Université Paris Diderot - Paris 7 14

Page 15: Gestion de projets en bioinformatique

Travail collaboratif

discuter : MSN, Gtalk, Facebook, Skype...

échanger : mail, clef USB, Dropbox...

se réunir : Doodle (http://www.doodle.com/)

PP Université Paris Diderot - Paris 7 15

Page 16: Gestion de projets en bioinformatique

EtherPad

édition collaborative simultanée en temps réel

ietherpad http://ietherpad.com/

SplinePad http://pad.spline.de/

PrimaryPad http://primarypad.com/

TypeWithMe http://typewith.me/

services similairesWriteboard http://writeboard.com/collabedit http://collabedit.com/

PP Université Paris Diderot - Paris 7 16

Page 17: Gestion de projets en bioinformatique

EtherPad

Adresse « publique » du typehttp://ietherpad.com/N3rtMQIpKPP Université Paris Diderot - Paris 7 17

Page 18: Gestion de projets en bioinformatique

Menu

1 Qu’est-ce qu’un projet ?

2 Gestion de projet enbioinformatique

3 Outils pour le travailcollaboratif

4 Comparaison de codesource

5 Gestionnaires deversions

6 Documentation(automatique) de code

PP Université Paris Diderot - Paris 7 18

Page 19: Gestion de projets en bioinformatique

xxdiffxxdiff script1.py script2.py

PP Université Paris Diderot - Paris 7 19

Page 20: Gestion de projets en bioinformatique

Meldmeld script1.py script2.py

PP Université Paris Diderot - Paris 7 20

Page 21: Gestion de projets en bioinformatique

Menu

1 Qu’est-ce qu’un projet ?

2 Gestion de projet enbioinformatique

3 Outils pour le travailcollaboratif

4 Comparaison de codesource

5 Gestionnaires deversions

6 Documentation(automatique) de code

PP Université Paris Diderot - Paris 7 21

Page 22: Gestion de projets en bioinformatique

Pourquoi ?

login@host> cd test_projet_en_bazar/

login@host> ls00README script (8e copie).py script_OLD.pyscript (12e copie).py script (autre copie).py script.pyscript_14042010.py script (copie).py script_ver1.pyscript-22032010.py script_LAST.py script_ver2.pyscript (7e copie).py script_NEW.py script_ver3_03052010.py

PP Université Paris Diderot - Paris 7 22

Page 23: Gestion de projets en bioinformatique

Oui mais !

login@host> ls -ltotal 60-rw-r--r-- 1 poulain dsimb 38 2010-07-22 10:47 00README-rw-r--r-- 1 poulain dsimb 153 2010-07-22 10:45 script (12e copie).py-rw-r--r-- 1 poulain dsimb 75 2010-04-14 09:17 script_14042010.py-rw-r--r-- 1 poulain dsimb 51 2010-03-22 15:49 script-22032010.py-rw-r--r-- 1 poulain dsimb 124 2010-07-22 10:40 script (7e copie).py-rw-r--r-- 1 poulain dsimb 135 2010-07-22 11:12 script (8e copie).py-rw-r--r-- 1 poulain dsimb 95 2010-07-22 11:31 script (autre copie).py-rw-r--r-- 1 poulain dsimb 108 2010-07-22 12:05 script (copie).py-rw-r--r-- 1 poulain dsimb 153 2010-06-27 10:35 script_LAST.py-rw-r--r-- 1 poulain dsimb 176 2010-07-22 17:30 script_NEW.py-rw-r--r-- 1 poulain dsimb 69 2010-03-29 11:56 script_OLD.py-rw-r--r-- 1 poulain dsimb 27 2010-02-02 17:03 script.py-rw-r--r-- 1 poulain dsimb 131 2010-07-22 18:05 script_ver1.py-rw-r--r-- 1 poulain dsimb 167 2010-07-22 17:50 script_ver2.py-rw-r--r-- 1 poulain dsimb 80 2010-05-03 14:30 script_ver3_03052010.py

PP Université Paris Diderot - Paris 7 23

Page 24: Gestion de projets en bioinformatique

La solution

les gestionnaires de versions

archiver les différentes modifications apportées à des donnéestextuelles.py .c .cpp .pl .java .html .xhtml .tex .txt

PP Université Paris Diderot - Paris 7 24

Page 25: Gestion de projets en bioinformatique

Gestionnaires de versionsVersion Control System (VCS)

Deux principes :- Centralized Version Control System (CVCS)- Distributed Version Control System (DVCS)

PP Université Paris Diderot - Paris 7 25

Page 26: Gestion de projets en bioinformatique

Gestionnaires de versions (2)

Centralized Version Control System (CVCS)- Concurrent Versions System (CVS)- subversion (svn)

Distributed Version Control System (DVCS)

PP Université Paris Diderot - Paris 7 26

Page 27: Gestion de projets en bioinformatique

Ranger le bazar avec Bazaarhttp://bazaar.canonical.com/

- né en 2005- supporté par Canonical (Ubuntu)- robuste- simple d’utilisation- développé en Python

- adossé à la plateforme de développementhttps://launchpad.net/

Bazaar in five minutes http://doc.bazaar.canonical.com/bzr.dev/en/mini-tutorial/index.html

PP Université Paris Diderot - Paris 7 27

Page 28: Gestion de projets en bioinformatique

Initialisation de la branche

login@host> mkdir projetlogin@host> cd projet

login@host> bzr initCreated a standalone tree (format: 2a)

login@host> ls -a./ ../ .bzr/

# définition identitélogin@host> bzr whoami "Prénom Nom <adresse.mail@provider>"

# vérificationlogin@host> bzr whoamiPrénom Nom <adresse.mail@provider>

PP Université Paris Diderot - Paris 7 28

Page 29: Gestion de projets en bioinformatique

Liste des commandeslogin@host> bzr helpBazaar 2.1.1 -- a free distributed version-control toolhttp://bazaar-vcs.org/

Basic commands:bzr init makes this directory a versioned branchbzr branch make a copy of another branch

bzr add make files or directories versionedbzr ignore ignore a file or patternbzr mv move or rename a versioned file

bzr status summarize changes in working copybzr diff show detailed diffs

bzr merge pull in changes from another branchbzr commit save some or all changesbzr send send changes via email

bzr log show history of changesbzr check validate storage

bzr help init more help on e.g. init commandbzr help commands list all commandsbzr help topics list all help topics

PP Université Paris Diderot - Paris 7 29

Page 30: Gestion de projets en bioinformatique

Ajout de fichier et statut

login@host> vi script.pyscript.py

# -*- coding: utf-8 -*-# projet Python

print "début du projet"seq = "GWALILIPAGA"print "séquence :", seq

login@host> ls -a./ ../ .bzr/ script.py

login@host> bzr statusunknown:script.py

PP Université Paris Diderot - Paris 7 30

Page 31: Gestion de projets en bioinformatique

Ajout de fichier et statut (2)

login@host> bzr add script.pyadding script.py

login@host> bzr statusadded:script.py

script.py est maintenant « versionné »

login@host> bzr commit -m "ajout de script.py"Committing to: /home/login/chemin/du/projet/added script.pyCommitted revision 1.

commit = enregistrement version et journal (log) de la branchebzr commit sans option -m lance un éditeur de texte

PP Université Paris Diderot - Paris 7 31

Page 32: Gestion de projets en bioinformatique

Suivi des modificationsscript.py (avant)

# -*- coding: utf-8 -*-# projet Python

print "début du projet"seq = "GWALILIPAGA"print "séquence :", seq

script.py (après)# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqcompteur = 0for aa in seq:

if aa == "A":compteur += 1

print compteur

login@host> bzr statusmodified:script.py

login@host> bzr commit -m "comptage des alanines"Committing to: /home/login/chemin/du/projet/modified script.pyCommitted revision 2.

PP Université Paris Diderot - Paris 7 32

Page 33: Gestion de projets en bioinformatique

Suivi des modifications (2)script.py (avant)

# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqcompteur = 0for aa in seq:

if aa == "A":compteur += 1

print compteur

script.py (après)# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqcompteur = 0for aa in seq:

if aa == "A":compteur += 1

print "Nombre alanines :", compteur

login@host> bzr statusmodified:script.py

login@host> bzr commit -m "amélioration affichage résultat"Committing to: /home/login/chemin/du/projet/modified script.pyCommitted revision 3.

PP Université Paris Diderot - Paris 7 33

Page 34: Gestion de projets en bioinformatique

Journal des modificationslogin@host> bzr log------------------------------------------------------------revno: 3committer: Prénom Nom <adresse.mail@provider>branch nick: projettimestamp: Sat 2010-09-11 18:26:32 +0200message:amélioration affichage résultat

------------------------------------------------------------revno: 2committer: Prénom Nom <adresse.mail@provider>branch nick: projettimestamp: Sat 2010-09-11 18:15:47 +0200message:comptage des alanines

------------------------------------------------------------revno: 1committer: Prénom Nom <adresse.mail@provider>branch nick: projettimestamp: Sat 2010-09-11 18:00:45 +0200message:ajout de script.py

PP Université Paris Diderot - Paris 7 34

Page 35: Gestion de projets en bioinformatique

Rappel des modifications

login@host> bzr diff -r1..2=== modified file 'script.py'--- script.py 2010-09-11 16:00:45 +0000+++ script.py 2010-09-11 16:15:47 +0000@@ -1,7 +1,12 @@# -*- coding: utf-8 -*-# projet Python

-print "début du projet"+print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seq+compteur = 0+for aa in seq:+ if aa == "A":+ compteur += 1+print compteur

bzr diff -r..2 / bzr diff -r2..

PP Université Paris Diderot - Paris 7 35

Page 36: Gestion de projets en bioinformatique

Rappel des modifications (bonus)login@host> bzr diff -r1..2 --using meld

PP Université Paris Diderot - Paris 7 36

Page 37: Gestion de projets en bioinformatique

Annulation de modifications

script.py (avant)# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqcompteur = 0for aa in seq:

if aa == "A":compteur += 1

print "Nombre alanines :", compteur

script.py (après)# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqfor aa in seq:

compteur = 0if aa == "A":

compteur += 1print "Nombre alanines :", compteur

login@host> python script.pyComptage d'alaninesséquence : GWALILIPAGANombre alanines : 1

oups !

PP Université Paris Diderot - Paris 7 37

Page 38: Gestion de projets en bioinformatique

Annulation de modifications (2)

login@host> bzr revertM script.py

login@host> cat script.py# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqcompteur = 0for aa in seq:

if aa == "A":compteur += 1

print "Nombre alanines :", compteur

ouf ! Retour à l’état du dernier commit.

PP Université Paris Diderot - Paris 7 38

Page 39: Gestion de projets en bioinformatique

Annulation de modifications (3)script.py (avant)

# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqcompteur = 0for aa in seq:

if aa == "A":compteur += 1

print "Nombre alanines :", compteur

script.py (après)# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqfor aa in seq:

compteur = 0if aa == "A":

compteur = 1print "Nombre alanines :", compteur

login@host> bzr commit -m "meilleur compteur"Committing to: /home/login/chemin/du/projet/modified script.pyCommitted revision 4.

login@host> python script.pyComptage d'alaninesséquence : GWALILIPAGANombre alanines : 1

re-oups !PP Université Paris Diderot - Paris 7 39

Page 40: Gestion de projets en bioinformatique

Annulation de modifications (4)login@host> bzr revert script.py -r3M script.py

login@host> cat script.py# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqcompteur = 0for aa in seq:

if aa == "A":compteur += 1

print "Nombre alanines :", compteur

login@host> bzr statusmodified:script.py

login@host> bzr commit -m "script.py - retour version 3"Committing to: /home/login/chemin/du/projet/modified script.pyCommitted revision 5.

re-ouf !PP Université Paris Diderot - Paris 7 40

Page 41: Gestion de projets en bioinformatique

Annulation de modifications (5)

Si commit par erreur :bzr uncommit

Pour enlever un fichier du gestionnaire de versions :- en le gardant sur le disquebzr remove --keep script.py

- en le détruisant aussi sur le disquebzr remove --force script.py

PP Université Paris Diderot - Paris 7 41

Page 42: Gestion de projets en bioinformatique

Copie de branche

login@host> cd ..

login@host> bzr branch projet/ projet2Branched 5 revision(s).

login@host> cd projet2

login@host> lsscript.py

PP Université Paris Diderot - Paris 7 42

Page 43: Gestion de projets en bioinformatique

Travail sur la nouvelle branche (projet2)

script.py (avant)# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqcompteur = 0for aa in seq:

if aa == "A":compteur += 1

print "Nombre alanines :", compteur

script.py (après)# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqcompteur = seq.count("A")print "Nombre alanines :", compteur

login@host> bzr commit -m "count() au lieu de for"Committing to: /home/login/chemin/du/projet2/modified script.pyCommitted revision 6.

PP Université Paris Diderot - Paris 7 43

Page 44: Gestion de projets en bioinformatique

Historique de la branche projet2login@host> bzr log------------------------------------------------------------revno: 6committer: Prénom Nom <adresse.mail@provider>branch nick: projet2timestamp: Mon 2010-09-13 20:51:32 +0200message:count() au lieu de for

------------------------------------------------------------revno: 5committer: Prénom Nom <adresse.mail@provider>branch nick: projettimestamp: Sun 2010-09-12 21:10:08 +0200message:script.py - retour version 3

------------------------------------------------------------revno: 4committer: Prénom Nom <adresse.mail@provider>branch nick: projettimestamp: Sun 2010-09-12 18:44:15 +0200message:meilleur compteur

------------------------------------------------------------

PP Université Paris Diderot - Paris 7 44

Page 45: Gestion de projets en bioinformatique

Fusion de brancheslogin@host> cd ../projet

login@host> bzr merge ../projet2/M script.pyAll changes applied successfully.

script.py# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqcompteur = seq.count("A")print "Nombre alanines :", compteur

login@host> bzr commit -m "ajout amélioration de projet2"Committing to: /home/login/chemin/du/projet/modified script.pyCommitted revision 6.

PP Université Paris Diderot - Paris 7 45

Page 46: Gestion de projets en bioinformatique

Gestion des conflits

script.py (projet)# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqcompteur = seq.count("A")print "Nb ala :", compteur

script.py (projet2)# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqcompteur = seq.count("A")print "alanines :", compteur

login@host> bzr merge ../projet2M script.pyText conflict in script.py1 conflicts encountered.

login@host> lsscript.py script.py.BASE script.py.OTHER script.py.THIS

PP Université Paris Diderot - Paris 7 46

Page 47: Gestion de projets en bioinformatique

Gestion des conflits (2)script.py (conflits)

# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqcompteur = seq.count("A")<<<<<<< TREEprint "Nb ala :", compteur=======print "alanines :", compteur>>>>>>> MERGE-SOURCE

script.py.BASE (ancêtre commun)# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqcompteur = seq.count("A")print "Nombre alanines :", compteur

script.py.OTHER (branche projet2)# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqcompteur = seq.count("A")print "alanines :", compteur

script.py.THIS (branche projet)# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqcompteur = seq.count("A")print "Nb ala :", compteur

PP Université Paris Diderot - Paris 7 47

Page 48: Gestion de projets en bioinformatique

Gestion des conflits (3)On garde la version de projet :login@host> cp script.py.THIS script.py

login@host> bzr resolveAll conflicts resolved.

login@host> lsscript.py

script.py# -*- coding: utf-8 -*-# projet Python

print "Comptage d'alanines"seq = "GWALILIPAGA"print "séquence :", seqcompteur = seq.count("A")print "Nb ala :", compteur

login@host> bzr commit -m "merge with projet2"Committing to: /home/login/chemin/du/projet/Committed revision 8.

PP Université Paris Diderot - Paris 7 48

Page 49: Gestion de projets en bioinformatique

Conclusion

commit-ez souvent !

explorez les (très très très nombreuses)capacités de Bazaar

PP Université Paris Diderot - Paris 7 49

Page 50: Gestion de projets en bioinformatique

Menu

1 Qu’est-ce qu’un projet ?

2 Gestion de projet enbioinformatique

3 Outils pour le travailcollaboratif

4 Comparaison de codesource

5 Gestionnaires deversions

6 Documentation(automatique) de code

PP Université Paris Diderot - Paris 7 50

Page 51: Gestion de projets en bioinformatique

Principe

Générer de la documentation

1. automatiquement

2. à partir du code source

PP Université Paris Diderot - Paris 7 51

Page 52: Gestion de projets en bioinformatique

pydoc – docstring

testmod.py# -*- coding: utf-8 -*-'''docstring pour le module testmod.pytestmod est un module de testles docstrings sont de simples chaînes de caractères'''

class TestClasse():"""docstring pour la classe TestClasse"""

def testmethode(self):"docstring pour la méthode testmethode"

def testfonction():"docstring pour la fonction testfonction"

PP Université Paris Diderot - Paris 7 52

Page 53: Gestion de projets en bioinformatique

pydoc – docstring 2

login@host> pythonPython 2.6.5 (r265:79063, Apr 16 2010, 13:57:41)[GCC 4.4.3] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import testmod>>> help(testmod)

PP Université Paris Diderot - Paris 7 53

Page 54: Gestion de projets en bioinformatique

Help on module testmod:

NAMEtestmod

FILE/chemin/du/module/testmod.py

DESCRIPTIONdocstring pour le module testmod.pytestmod est un module de testles docstrings sont de simples chaînes de caractères

CLASSESTestClasse

class TestClasse| docstring pour la classe TestClasse|| Methods defined here:|| testmethode(self)| docstring pour la méthode testmethode

FUNCTIONStestfonction()

docstring pour la fonction testfonction

PP Université Paris Diderot - Paris 7 54

Page 55: Gestion de projets en bioinformatique

Doxygen

code source → documentation (variables, fonctions, classes)

C, C++, Java, Python, PHP...

HTML, LaTeX, RTF

PP Université Paris Diderot - Paris 7 55

Page 56: Gestion de projets en bioinformatique

Doxygen 2

paramètres via Doxyfile (complexe)

DoxyWizard

login@host> doxygen...login@host> firefox html/index.html

PP Université Paris Diderot - Paris 7 56

Page 57: Gestion de projets en bioinformatique

Doxygen 3

PP Université Paris Diderot - Paris 7 57

Page 58: Gestion de projets en bioinformatique

Doxygen 4

PP Université Paris Diderot - Paris 7 58

Page 59: Gestion de projets en bioinformatique

Conclusion générale

organisez-voustemps, arborescence

documentezcahier de laboratoire, code

investissezbzr, outils

sauvegardez !

PP Université Paris Diderot - Paris 7 59

Page 60: Gestion de projets en bioinformatique

RéférencesA Quick Guide to Organizing Computational Biology ProjectsW. S. Noble, PLoS Computational Biology, 5 : e1000424, 2009http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fjournal.pcbi.1000424

Présentation bazaarhttp://www.slideshare.net/giordano/bazaar-dvcs-for-human-beings-3121638

Bazaar in five minuteshttp://doc.bazaar.canonical.com/bzr.dev/en/mini-tutorial/index.html

Quick ref cardhttp://doc.bazaar.canonical.com/latest/en/quick-reference/index.html

bzr explorerhttp://doc.bazaar.canonical.com/explorer/en/visual-tour-gnome.html

Doxygenhttp://www.stack.nl/~dimitri/doxygen/

PP Université Paris Diderot - Paris 7 60