Par Sébastien Boisvert, lauréat en 2013 du concours Étudiants-chercheurs étoiles (Fonds Santé).

Une personne est malade - probablement une infection. Le médecin prend quelques prélèvements, et les envoie au laboratoire. « Deux semaines », dit le médecin. « Les résultats seront disponibles dans deux semaines.» Grâce à des logiciels bavards, ces analyses pourraient être plus rapides. Mais qu’est-ce que sont les logiciels bavards ?

Il arrive souvent d’envoyer un message par courriel. Et la réponse n’est pas toujours immédiate. De tels délais sont nécessaires dans le travail d’équipe. Le travail d’équipe permet de résoudre des problèmes complexes comme la construction d’un bâtiment ou encore l’analyse de prélèvements. À titre d’exemple, une seule personne ne pourrait pas construire un gratte-ciel dans un temps raisonnable.

En informatique, le calcul distribué s’intéresse aux logiciels qui discutent ensemble pour résoudre des problèmes complexes. De tels logiciels sont bavards. Un logiciel, contrairement à un humain, doit être entièrement programmé pour coordonner toutes les opérations qu’il fera. Est-ce que les logiciels bavards sont faciles à écrire ? Peut-on écrire des logiciels bavards qui travaillent rapidement pour générer des résultats pour les prélèvements ?

Probablement que oui, du moins pour les infections. En effet, les bactéries (et certains virus) ont de l’ADN. Cet ADN peut être lu par des séquenceurs d’ADN - des lecteurs automatiques. Avec l’ADN de l’envahisseur en main, tout ce qui reste à faire est de l’analyser.

Un des problèmes complexes en biologie est l’assemblage de génomes (l’ADN qui contient les instructions pour faire fonctionner un être vivant). Dans le problème de l’assemblage, des petites pièces d’ADN doivent être assemblées pour obtenir de plus longues pièces d’ADN. Ce casse-tête contient beaucoup de pièces, et des logiciels bavards peuvent assembler un tel casse-tête rapidement en travaillant en équipe. Quelles sont les meilleures stratégies pour planifier un travail d’équipe qui implique des logiciels bavards ?

Une des stratégies est d’attribuer une partie des pièces du casse-tête à chaque logiciel. Par la suite, ces logiciels doivent s’envoyer des messages (comme des messages textes) pour coordonner leur travail. Assembler un génome en utilisant des logiciels bavards produira beaucoup de messages. Visuellement, il est aussi possible de regarder ce casse-tête résolu en utilisant, par exemple, une tablette. Pendant mon doctorat, j’ai créé un logiciel de visualisation de casse-têtes génomiques.

Mais à quel endroit sont utilisés les logiciels bavards ? À Calcul Québec ! Plus précisément, nous avons développé des logiciels bavards sur Colosse, un superordinateur dans la Ville de Québec, sur le campus de l'Université Laval.

Donc, en résumé, les logiciels bavards analysent plus rapidement des données d’ADN pour savoir, par exemple, quelles espèces de bactéries sont présentes dans un échantillon. J’ai publié un article dans la revue Genome Biology à propos d’un logiciel bavard appelé Ray qui permet d’assembler l’ADN.