Site WWW de Laurent Bloch
Slogan du site

ISSN 2271-3905
Cliquez ici si vous voulez visiter mon autre site, orienté vers des sujets moins techniques.

Pour recevoir (au plus une fois par semaine) les nouveautés de ce site, indiquez ici votre adresse électronique :

Une expérience scientifique et didactique :
Enseigner l’informatique aux biologistes
Le cours Pasteur d’Informatique en Biologie
Article mis en ligne le 16 juillet 2012
dernière modification le 1er avril 2021

par Laurent Bloch

La revue Terminal m’a demandé, pour son prochain numéro, un article sur l’expérience de l’enseignement de l’informatique à l’Institut Pasteur. Le voici (en preprint) :

Biologie moléculaire et informatique

Tout a commencé avec James D. Watson, Francis Crick, Rosalind Elsie Franklin [1] et quelques autres dans les années 1950 : ils nous ont appris que la conformation des êtres vivants se déduisait de l’information génétique codée par l’acide désoxyribonucléique (ADN) de leurs cellules. Les macromolécules (on dit aussi polymères) d’ADN sont de longues chaînes de motifs moléculaires élémentaires, les nucléotides, dont il existe quatre variétés : l’adénine (notée A), la thymine (notée T), la cytosine (notée C) et la guanine (notée G). Le paradigme de la biologie moléculaire postule que l’information génétique est formulée par un texte, le génome, écrit dans un alphabet de quatre lettres, A, T, G, C, et que la connaissance de ce texte permet de connaître les fonctions de l’organisme considéré, sans avoir à entrer dans des considérations supplémentaires d’ordre physico-chimique.

Avec l’entrée en vigueur du paradigme de la biologie moléculaire, l’informatique était appelée inéluctablement à prendre un rôle crucial dans la recherche en biologie, puisque la recherche se fondait désormais sur l’analyse d’un texte. C’est aujourd’hui une évidence. Le séquençage du génome, c’est-à-dire l’obtention de son texte au moyen d’appareils nommés séquenceurs, est accessible depuis plusieurs années pour tous les organismes, ainsi pour les 3,4 milliards de nucléotides et les quelques 25 000 gènes du génome humain, et ces données ont bouleversé de fond en comble le métier de biologiste. La connaissance du génome, complétée par la robotisation des manipulations « en phase humide », déplace le chercheur de la paillasse, des boîtes de Pétri et du Pipetman vers l’ordinateur, lui fait retirer sa blouse blanche, et lui donne accès à des méthodes scientifiques entièrement nouvelles pour étudier la génétique, la structure des protéines, le métabolisme, etc. Des investigations qui demandaient des mois de travail répétitif et entaché d’erreurs à la paillasse sont désormais résolues en quelques heures par des méthodes informatiques. La consultation des banques de données qui archivent les résultats exhaustifs du séquençage et des calculs de structure des protéines donne en quelques minutes la réponse à des questions dont la solution directe aurait constitué un thème de recherche à part entière. Ce qui signifie que l’on peut désormais se poser des questions inenvisageables auparavant. Il y a encore, bien sûr, de la biologie « en phase humide », mais la biologie moléculaire informatique a pris une place prépondérante dans les avancées de la recherche.

Il y a vingt ans nous étions à un tournant. Les gens bien informés de la recherche mondiale savaient déjà que les choses allaient dans cette direction, les mandarins résistaient pied à pied, accrochés à leurs paillasses, les institutions de pointe avaient déjà lourdement investi en informatique, telles le National Center for Biotechnology Information (NCBI) créé en 1988 à Bethesda près de Washington, ou le Wellcome Trust Sanger Institute créé en 1992 à Hinxton près de Cambridge en Angleterre. L’Institut Pasteur était en retard, et en prenait conscience. C’est en 1991 que François Rougeon, Directeur de la recherche à l’Institut Pasteur, m’a proposé de le rejoindre pour l’aider à mettre sur pied une infrastructure bioinformatique. En fait, avant de faire de la bioinformatique, il fallait déjà créer l’informatique, recruter une équipe, installer des serveurs et un réseau, ce qui occupa une bonne part de notre temps les premières années.

Apprendre l’informatique aux biologistes

Une fois construite l’infrastructure de base et installés les logiciels classiques de bioinformatique, ainsi que les banques de données biologiques, il fallait apprendre aux chercheurs à s’en servir. Ce fut dès lors une part importante de l’activité du Service informatique scientifique (SIS), que je dirigeais, et dont on peut consulter le rapport d’activité de novembre 1998 ici.

Les étudiants en biologie n’apprenaient pas (et en général n’apprennent toujours pas) l’informatique à l’Université, ce qui en 1993 a suscité chez William Saurin (chercheur dans l’unité de Maurice Hofnung), Frédéric Chauveau et moi-même (du SIS) l’idée d’organiser à leur intention un cours d’informatique destiné à leur procurer les bases de cette science. Cette idée a aussitôt été soutenue par François Rougeon et Jean-Paul Aubert, alors chef du Département des Enseignements.

Le contenu initial du cours a été largement déterminé par les trois personnes qui en avaient eu l’idée, non sans conseils extérieurs, notamment de Harald Wertz, professeur à l’Université de Paris 8, et d’Éric Gressier, maître de conférences au CNAM.

L’idée était la suivante : la biologie moléculaire informatique connaissait un essor impétueux et ses progrès théoriques s’incarnaient dans des logiciels. Contribuer à cet essor (et comment douter que l’Institut Pasteur dût le faire ?) supposait de créer des logiciels. La création de logiciels demande de savoir programmer. Le cœur de la compétence informatique est la programmation. Si l’on ne voulait pas se contenter de former des techniciens qui utiliseraient des logiciels sans être capable d’en comprendre le fonctionnement, de le critiquer et d’en réaliser (ou d’en proposer) des modifications qui correspondent à des innovations dans le domaine de la science, il fallait que notre cours soit une formation informatique sérieuse et systématique, c’est-à-dire fondée sur l’apprentissage de la programmation.

Le lancement du cours

Le cours fut lancé en janvier 1994. Les sessions qui se succédèrent jusqu’en 2001 eurent sensiblement le même programme et la même organisation. Après 2002 et le départ des fondateurs, le cours se poursuivit, sous la direction de Catherine Letondal et de Katja Schuerer, selon les mêmes principes mais avec une organisation renouvelée, comportant notamment un stage. Les candidats étaient sélectionnés sur entretien. Nous en prenions au maximum quinze (le nombre de postes de travail dans la salle de TP). Le cours durait trois mois et demi, à temps plein, de janvier à avril, soit de l’ordre de 320 heures.

La salle de cours n’était disponible que le matin : les matinées étaient donc consacrées aux cours théoriques, de 9h 30 à 12h 30, ce qui laissait la salle de TP disponible pour d’autres enseignements, et les après-midis étaient réservées aux TP, de 14h à, parfois, tard dans la nuit. En effet, la salle de TP était adjacente aux locaux du SIS, où travaillaient une bonne partie des enseignants, ce qui permettait un encadrement permanent des travaux personnels des étudiants.

Voici un exemple d’emploi du temps (session 1997) :

Matière enseignement horaire
Algorithmes et programmation cours 69h
Algorithmes et programmation T.P. (avec Scheme) 52h
Théorie des Languages 9h
Programmation par objets (avec SmallTalk) 12h
Programmation impérative (avec Fortran) 6h
Language C et introduction à la programmation système 12h
Introduction à Unix et X T.P. 17h
Histoire de l’informatique cours 6h
Perspectives de l’informatique conférences 10h
Algorithmes pour la Biologie
Algorithmes 45h
Exemples (Analyse de séquences et modélisation moléculaire, TP) 27h
Installation (gcc) 10h
Architecture des machines et urbanisme des environnements 10h
Logique 10h
Réseaux 12h
Total 307h

Contenu et orientation de l’enseignement

Ce cours s’adressait à des étudiants qui abordaient l’informatique en « seconde discipline ». À des étudiants qui abordent l’informatique comme leur vocation première il convient d’en faire acquérir la vision la plus étendue (et la plus profonde) possible, avec à l’esprit un objectif, hors d’atteinte, d’exhaustivité. Les étudiants du cours Pasteur avaient déjà consacré de longues années à acquérir des connaissances approfondies dans un autre domaine (ici la biologie, mais s’il s’était agi de l’épigraphie latine le programme n’aurait été modifié que pour le choix de quelques exemples, sachant que de toute façon avec les biologistes il faut éviter tout exemple teinté de mathématiques). Ils étaient souvent engagés dans la rédaction d’une thèse ou un travail de recherche. Ils n’avaient ni le loisir ni le but de faire table rase de leur première discipline, ils souhaitaient au contraire féconder la connaissance qu’ils en avaient par une hybridation fructueuse avec l’informatique. Le succès d’une greffe n’est pas proportionnel à la taille du greffon : il leur fallait en apprendre le moins possible, le strict nécessaire.

Comment déterminer ce « moins possible » ? C’est un peu une question de morale. On peut faire large mais superficiel, ou profond mais sur un domaine étroit. Nous avions cherché à exposer jusqu’à une profondeur raisonnable un domaine central et peu susceptible de péremption (la programmation) sous un angle assez général pour que la transposition des connaissances acquises vers d’autres modes de réalisations techniques soit possible.

Le choix d’un langage pour enseigner la programmation exige un certain soin, parce que les progrès des étudiants et la qualité de leur apprentissage en dépendent pour une part. Il n’est pas vrai que ce choix soit indifférent.

Ces réflexions nous ont conduit à choisir en premier langage Scheme, un dialecte moderne et sobre de Lisp, qui réunit en sa faveur des arguments positifs (en sus des arguments qui ont écarté d’autres langages) : sa syntaxe est réduite au strict minimum, sa définition tient en cinquante pages, ce qui en fait un langage facile à apprendre, facilité confirmée par l’expérience. En outre, sa versatilité en fait un véhicule commode pour introduire la plupart des concepts de l’informatique moderne.

Tous ceux qui ont pratiqué Scheme conviennent du fait que cette expérience leur a permis d’améliorer la qualité de leur programmation, y compris en d’autres langages. Il y a à cela de bonnes raisons, qui peuvent être commodément résumées par un aphorisme de John Foderaro : Lisp (dont Scheme est une variante) est un langage de programmation programmable. Le cours de programmation était encadré par un cours de logique et un cours d’algorithmique (donnés par William Saurin).

Nous étions convaincus dès l’abord que les étudiants devaient être confrontés à la pluralité des mondes informatiques, et qu’il fallait leur enseigner deux langages (pour commencer) : le second langage fut d’abord Ada (enseigné par Catherine Letondal), remplacé un peu plus tard par Java. À partir de 2002, la nouvelle équipe du cours remplaça Scheme par Python, puis Java par C.

Le programme comportait également des cours d’introduction aux réseaux (Éric Gressier), aux bases de données (Louis Jones), à la modélisation moléculaire (Thierry Rose), au système d’exploitation (Christophe Wolfhugel) et à l’histoire de l’informatique (Laurent Bloch). Christian Queinnec de l’université Pierre et Marie Curie, Manuel Serrano de l’INRIA, Érick Gallesio de l’université de Nice sont venus exposer d’autres aspects de la science informatique. La dernière session du cours a eu lieu en 2008.

Les étudiants

Nos premiers étudiants venaient souvent des marges de la biologie, parfois après avoir découvert que les manipulations à la paillasse, passionnantes les premiers mois, devenaient vite répétitives et fastidieuses. Mais très vite la crise de l’emploi en biologie renouvela notre public. En effet, les effectifs des cursus de biologie sont très excessifs en regard des possibilités d’emploi, et nous avons vu arriver des étudiants munis d’une thèse, voire d’un postdoc dans une université étrangère prestigieuse, et qui n’avaient pas de travail. À tous, notre formation a ouvert les portes d’un emploi, et souvent d’une très belle carrière.

Année nombre d’élèves dont pasteuriens dont étrangers
1994 10 6 1
1995 9 3 3
1996 7 3 2
1997 15 6 7
1998 13 4 5

La promotion 1997 est restée dans toutes les mémoires : elle était très internationale, avec une Argentine, une Mexicaine, une Vénézuélienne, une Thaïlandaise, une Allemande, un Canadien et un Vietnamien. Les latino-américaines menaient une ambiance torride, il y eut une soirée « tequila frappée » dont les souvenirs sont confus mais enthousiastes.

Voici quelques photos de promotions :

Pendant les premières années le diplôme délivré était uniquement pasteurien, mais à partir de 1998 il devint un diplôme universitaire (DU), co-habilité par les universités Pierre et Marie Curie et Denis Diderot.

Pour un enseignement scientifique de la bioinformatique

Une formation supérieure en bioinformatique doit bien sûr permettre aux étudiants d’acquérir la maîtrise des méthodes et des outils d’analyse et de modélisation à la pointe des avancées actuelles. Elle ne peut pas se limiter à ce premier objectif : le chercheur, l’ingénieur d’une industrie de pointe doivent posséder les compétences qui leur permettront de mettre en œuvre les méthodes et les outils du moment, mais il faut également qu’ils soient en mesure de se frayer un chemin dans la bioinformatique en devenir, et aussi, pour ceux qui le souhaitent, de contribuer à l’élaboration de ce devenir, de créer leurs propres méthodes et les logiciels qui les implémentent.

Pour atteindre ces deux objectifs, le cursus envisagé ne pouvait faire l’économie d’un volet consacré à un véritable enseignement initial des bases de l’informatique. Le Cours Pasteur a permis de conférer une véritable double compétence à de futurs chercheurs ou ingénieurs, ce qui leur a ouvert des horizons professionnels impossibles à imaginer autrement. Ce cours a formé plusieurs promotions de bioinformaticiens actifs dans le domaine aujourd’hui, et a permis à nombre de biologistes de se reconvertir comme chercheurs ou ingénieurs dans le domaine de l’informatique, biologique ou autre, alors qu’il est de plus en plus difficile à un jeune diplômé en biologie de trouver un emploi s’il ne possède pas de compétences informatiques suffisantes.