mardi 8 juillet 2014

Réflexions sur l'apport de l'informatique à la bioinformatique

[caption id="attachment_2288" align="aligncenter" width="219"]cliquez sur l'image cliquez sur l'image[/caption]

J'ai récemment été au séminaire de retraite GNOME (Gonnet is Not Only Molecular Evolution) de Gaston Gonnet, un grand bonhomme de l'informatique (Google Scholar), notamment connu pour le logiciel de calcul Maple, et ces 25 dernières années pour ses contributions parfois remarquées à la bioinformatique et à l'évolution moléculaire. Le séminaire a inclus des informaticiens hard-core aussi bien que des collaborateurs biologistes, et bien sur des bioinformaticiens, certains formés par Gaston à l'interface interdisciplinaire. C'est l'occasion de réfléchir à l'interaction informatique-biologie, et notamment à l'apport de l'informatique.

Bien sur, les ordinateurs plus puissants, les languages de programmation de haut niveau, et les systèmes de gestion de données, sont utiles à la biologie, mais ce n'est pas de ça que je veux parler. La recherche en informatique, ce sont de nouveaux algorithmes, des démonstrations de complexité, voire de nouveaux languages de programmations ou manières de représenter l'information.

Prenons l'exemple de la première contribution (remarquée) de Gaston à la bioinformatique : la matrice de Gonnet (Gonnet et al 1992 Science 256: 1443-1445).

La contribution a été remarquée à la fois grâce au résultat, et à cause du ton du papier, qui contient la phrase "The parameters provide definitive answers to two fundamental questions concerning protein alignment: What does a mutation cost? and What does a gap cost?". Cette phrase n'est probablement pas due à Gaston (communication personnelle), mais elle est quelque part emblématique d'un certain type de relations entre bioinformaticiens issus de la culture de la démonstration de l'informatique et des maths (voir aussi Lior Pachter) et bioinformaticiens issus de la culture empirique de la biologie.

Bref, un peu d'histoire. Le type de matrice dont on parle ici est un genre de tableau qui donne les probabilités de changement d'un acide aminé en un autre lors de l'évolution des protéines. Les protéines sont des chaînes d'acides aminés, qui forment un "alphabet" de 20 lettres. Une protéine peut changer par mutation soit en remplaçant un acide aminé par un autre, soit par délétion ou insertion d'acides aminés. Un acide aminé peut être remplacé par un autre selon une probabilité qui dépend à la fois de propriétés chimiques et du code génétique (certains changements sont plus faciles à obtenir par hasard), et de l'impact fonctionnel sur la protéine (certains changements ont plus de chances de casser la fonction de la protéine, et sont donc éliminés par la sélection naturelle - ce qui diminue la probabilité de les observer en pratique). Dans les années 1960, celle qui a probablement fondé la bioinformatique sans ordinateurs, Margaret Dayhoff, a eu l'excellente idée de comparer beaucoup de séquences de protéines homologues (beaucoup à l'époque : quelques dizaines) (homologues : en gros la même protéine dans différentes espèces ; voir ce billet), et de compter les changements entre tous les types d'acides aminés. Ce qui lui a permis de construire la première matrice de probabilités de changements entre acides aminés, connue comme PAM (point accepted mutation). Y a une explication plus détailée sur le blog bioinfo-fr.

Etape 1 donc : intuition du biologiste, qui lui permet d'obtenir un résultat et un outil utiles.

Ensuite, des informaticiens ont démontré la manière optimale d'aligner des protéines pour savoir quels acides aminés comparer de manière mathématiquement correcte (Needleman-Wunsch). Démonstration cool, bien que limitée à l'époque par la puissance des ordinateurs : les algorithmes exacts sont lents. Mais ces démonstrations ont formé la base de beaucoup de travail suivant.

Etape 2 : des informaticiens démontrent des théorèmes et trouvent des algorithmes exacts, quoique souvent inutiles en pratique (provoc assumée).

Dans les années 1980, Gaston Gonnet avait travaillé sur des algorithmes rapides et efficaces pour chercher dans tous les mots de l'Oxford English Dictionnary. Il a alors été contacté par un biologiste assez original et brillant, Steven Benner, qui lui a proposé, et je cite, "de travailler sur des données intéressantes" (par opposition au dictionnaire apparemment). Ils ont relevé le défi de mettre à jour les vieilles matrices de Dayhoff, avec bien davantage de données, en utilisant les algorithmes de Gaston pour les dictionnaires. Ils ont ainsi calculé la matrice de Gonnet, qui inclut non seulement une mise à jour des probabilités de changement entre acides aminés, mais des estimations des probabiliés d'insertion et de délétion (les "gaps" de la citation ci-dessus) grâce également à l'emploi de la méthode Needleman-Wunsch.

Etape 3a : les informaticiens répètent le travail des biologistes - bioinformaticiens (Dayhoff), mais bien plus efficacement.

Etape 3b : la collaboration entre biologistes et informaticiens qui se s'écoutent et travaillent efficacement ensemble déchire tout.

A noter aussi qu'une partie de l'apport de Gaston était dans la manière de représenter l'information dans un ordinateur pour des recherches rapides, et qu'il a implémenté ses méthodes dans un language qu'il a développé, appellé ... DARWIN.

Voilà bien sur c'est un cas particulier, mais souvent comme ici le point de départ d'une nouvelle approche vient de l'intuition des biologistes, elle est rendue efficace par les informaticiens, et quand on travaille vraiment ensemble on fait de grandes choses.

En plus ils m'ont donné un t-shirt à la conf, avec un gnome cool, et j'ai appris que "gnomes" était un surnom des banquiers zurichois.

Mise à jour : des liens pertinents via Christophe Dessimoz :

3 commentaires:

  1. […] J’ai récemment été au séminaire de retraite GNOME (Gonnet is Not Only Molecular Evolution) de Gaston Gonnet, un grand bonhomme de l’informatique (Google Scholar), notamment connu pour le logiciel de calcul Maple, et ces 25 dernières années pour ses...  […]

    RépondreSupprimer