Découverte :
Bien commencer en bioinformatique

"Je n'y connais rien en informatique", "C'est trop compliqué pour moi" ou "Je ne sais pas par où commencer" sont des phrases qui nous servent souvent d'excuse pour ne pas nous lancer dans le grand bain de la bioinformatique. Biologiste de formation, j'ai moi-même à plusieurs reprises repoussé l'échéance avant de sauter, ne sachant comment m'y prendre ou voulant commencer directement par des choses trop complexes.

Cet article est donc là pour vous aider à vous lancer, trouver par où commencer et vous donner des indications sur ce que vous pourriez arriver à faire en assez peu de temps.

Je n'aurai pas la prétention de vous transformer en bioinformaticien avec cet article, mais je vais poser des bases essentielles pour commencer et vous montrer quelques exemples de ce qu'il est possible de faire en bioinformatique.

La bioinformatique est aujourd'hui un outil indispensable à la biologie et est utile à n'importe quel biologiste souhaitant élargir son horizon. Elle touche aussi, bien sûr, les informaticiens qui s'intéressent à la biologie. Cette discipline va du simple traducteur de format (voir mon article sur Blast2Gb.pl) à des gros tunnels informatiques de traitement de données (voir l'article de Nisaea sur Galaxy). Les domaines dans lesquels on la retrouve sont aussi divers que, entre autres, la génétique, l'évolution ou l'écologie. Elle peut être utilisée par un biologiste comme par un informaticien, le bioinformaticien étant un hybride, connaissant la biologie et l'informatique.


YouTube

La bioinformatique est un domaine de recherche et d'expertise laquelle peut être appliquée par des chercheurs et des ingénieurs. Par exemple, cette vidéo de France5, sur laquelle on nous voit apparaitre, présente quelques possibilités de carrière :


YouTube

Quel système d'exploitation pour le bioinformaticien ?

Windows, Mac OS ou Linux : le choix du système d'exploitation sur lequel travailler relève en premier lieu du goût de l'utilisateur, mais pourra vite se retrouver orienté par les serveurs sur lesquels il va travailler. Car aujourd'hui, l'avènement des techniques de séquençage à haut débit apporte une quantité de données rarement traitable sur un ordinateur de bureau. La plupart des serveurs de calcul étant sous Linux, je vous orienterai plutôt vers Mac OS ou une distribution de la famille Linux. Il est possible de travailler sur Windows, mais ça sera plus contraignant. Et les systèmes Linux sont habituellement gratuits (même sans acheter d'ordinateur avec), le plus facile à utiliser et user-friendly est Ubuntu, alors lancez-vous !

Mais alors : que fait un bioinformaticien ?

Eh bien, il utilise ou crée des logiciels pour traiter des données, les mettre en forme, les représenter, les ranger, les maintenir, etc. Il crée des logiciels ? Oui, et des liens entre logiciels, des outils simples ou complexes, des traducteurs, des bases de données sont dans le bouquet.

Mais il existe aussi des bioinformaticiens plus orientés biologie, qui ne codent pas ou peu et qui utilisent des logiciels déjà prêts, font quelques scripts pour automatiser et peuvent être plus axés sur l'analyse des données. Il existe même une espèce de bioinformaticiens qui ne codent plus du tout, et eux disent que ce qu'ils font est la vraie bioinformatique, que seuls les informaticiens codent.

Chaque bioinformaticien a donc sa propre définition, il suffit de venir sur notre canal IRC demander la différence entre un bon et un mauvais chasseur... euh... bioinformaticien pour s'en convaincre !

En tout cas, les bioinformaticiens sont des gens qui comprennent la biologie et utilisent l'informatique principalement pour faciliter le travail des biologistes, en automatisant des tâches lourdes et rébarbatives. Ainsi, le billet de tadaima sur l'API Perl montre un exemple d'une telle aide : ici, les outils bioinformatiques sont utilisés pour récupérer une grande quantité d'informations à partir d'une grosse base de données sans faire du copier-coller pendant 2 jours.

Un contre-exemple est le billet de Guillaume Collet sur les calculs de conservation : il nous explique une façon différente d'aborder la bioinformatique. Guillaume est un expert à mi-chemin entre l'applicatif et l'algorithmique. Il apporte à la biologie une formalisation plus théorique tout en permettant d'expliquer l'observation historique qui mène à la divergence de séquences par l'utilisation des scores de conservation.

Puisque j'ai mentionné la programmation, parlons maintenant un peu langages de programmation. Je vous invite à lire l'article de Gophys sur les différents langages de programmation pour plus de détails. Mon focus est de vous donner des exemples concrets à titre d'illustration.

Perl et Python

Pour bien commencer -- et de façon simple -- commençons par parler des deux vedettes de la bioinformatique, frères ennemis, que sont les langages Perl et Python. Ils sont spécialement utilisés pour leur puissance de traitement de texte. En effet, la plupart des informations biologiques sont sous forme de texte, et ces deux langages, en plus d'être relativement facile à appréhender, ont été faits pour traiter du texte, rapidement et efficacement.

Voici un exemple de code écrit en Perl :

Voici le même code en Python :

Vous remarquerez que ces deux langages sont extrêmement proches de premier abord. Ils présentent cependant de grosses différences, le premier étant plus laxiste, le deuxième plus précis. Je vous invite à lire le livre Learning Perl aux éditions O'Reilly ou bien la documentation en ligne de Perl pour commencer en Perl. Côté Python, le très bon Dive into python, en français pour mes lecteurs préférés, est idéal pour commencer en Python. Vous trouverez aussi de bons didacticiels en français sur le Site du Zéro, comme par exemple comment programmer avec Python avec même des vidéos à la clé !

Pour la biologie, des modules appelés BioPerl et BioPython ont été développés et permettent par exemple de télécharger plusieurs séquences au format fasta sur GeneBank sans avoir à les faire une par une à la main, de récupérer des informations et de les trier. Un exemple de BioPython, par exemple ? En voilà : pour annoter une liste d'ID de gènes sur la base Entrez du NCBI.

L'interpréteur de commande

Pour lancer un programme, aussi bien sous Windows que sous Mac OS ou Linux, il faut passer par un interpréteur de commandes, respectivement cmd.exe et shell. Ce sont les interfaces permettant à l'utilisateur de s'adresser directement à l'ordinateur. Chaque interface a ses spécificités : il faut lui parler dans une langue qu'elle comprend et sait interpréter. Dans le cas du shell sous Linux, par exemple, la langue la plus fréquemment utilisée est le bash.

Avec ces détails, nous pouvons lancer un programme écrit Perl par exemple :

De nombreuses fonctions sont disponibles sous bash, moins sous cmd.exe, mais il est possible d'utiliser bash sous Windows avec un logiciel comme putty ou cygwin.
Depuis Windows 7, PowerShell vient en complément de cmd.exe. C'est un shell s'approchant des possibilités de bash.

L'interpréteur de commande, en plus de lancer des programmes, permet de définir les chemins, les droits d'accès, l'environnement, etc. de votre ordinateur.
On peut encore faire des boucles et les commandes awk et sed permettent des faire des manipulations avancées sur des textes, à la manière de Perl ou Python, en étant cependant moins souples et puissants. On peut par exemple remplacer un caractère "_" par un "-" dans la chaine de caractères $chaine qui a pour valeur "bioinfo_fr" avec la commande suivante :

(La forme "s/x/y/" est d'ailleurs reprise en Perl par exemple.)

Vous trouverez des détails sur les différences entre Perl, Python ou encore awk et sed sur cette page (en anglais).

C'est tout ?

Eh bien non, le monde de la bioinformatique est tellement vaste que j'aurais bien du mal à vous en présenter les limites. Ainsi, je me contenterai d'élargir un peu la vision présentée jusqu'ici.

Par exemple, dans le cadre de la bioinformatique entrent les statistiques et la modélisation, qu'il est possible d'appréhender avec des logiciels comme R ou Matlab. Ces deux logiciels sont proches dans leurs fonctionnalités et utilisent un langage de programmation qui leur est propre. R a l'avantage d'être gratuit. Ils vous permettront aussi de faire de beaux graphiques. Un exemple très simple en R, permettant de faire une représentation 3D, est le suivant :

Je vous laisse le bonheur de découvrir ce que fait ce petit code !

La plupart des graphs que vous voyez dans les grands journaux sont faits sous R. À la différence des tableurs, comme Excel ou Numbers qui permettent de faire des graphs automatiquement, dans R vous contrôlez absolument tout. Vous pouvez automatiser la création de graphes tout comme vous automatiseriez un traitement de données. La bible de R est le R book.

Aller plus loin

Enfin, un petit article en anglais pour saisir quelques ficelles du métier : Hello - I used to think I was good with a computer. Dans cette discussion, Jon_Keats expose ses débuts en bioinformatique et donne les démarches et solutions entreprises pour arriver à ses fins. Par exemple, il donnera le conseil suivant : "Mon patron aurait dû me faire lire le tutoriel "Unix and Perl for Biologists" des années auparavant". Il vous donnera aussi les premières bases de l'installation d'un programme sous Linux ou encore comment utiliser le gestionnaire de version git pour éviter l'accumulation inutile de mon-fichier1.txt, mon-fichier2.txt, etc.

Un outil utile pour apprendre différents langages est disponible ici. Il vous permettra d'apprendre comment passer d'un langage à un autre.

La conclusion serait que pour devenir bioinformaticien, il faut avoir de bonnes bases en biologie ou en informatique et s'intéresser fortement à l'autre discipline, celle que l'on connaît le moins, afin de pouvoir discuter et se comprendre.

Voilà déjà de quoi vous occuper quelques temps et vous permettre d'accéder au monde magique de l'automatisation. Si vous avez la moindre question, n'hésitez pas à venir nous la poser des questions sur le canal IRC ("le chan" pour les intimes), nous nous ferons un plaisir d'y répondre ! Ah, vous ne savez pas ce qu'est un chan ? Allez voir  !

A bientôt sur le chan !

Merci à Malicia, Guillaume, Yoann et Nicolas pour leurs relectures et commentaires pré-publication.
Crédit image : Isabelle Stévant (Art Libre)

  • À propos de
  • Passionné d'informatique et de biologie, après des études à Orléans, un stage de M2 au CSBC de l'Université de Cambridge (UK), une thèse à l'IRBI de Tours sur l'évolution des virus et un Post-doc à Toronto sur les cancers humains, je suis aujourd'hui de retour à Orléans à l'INRA, où j'essaie de lier phénotype des arbres et expression de leurs gènes. Je suis très intéressé par les approches d'apprentissage machine. Mes autres passions sont le basket-ball, le krav maga, la musique ou encore les jeux vidéos.

13 commentaires sur “Bien commencer en bioinformatique

  1. J\'aime beaucoup.
    Je pense que tu as bien réussi à montrer ce qu\'est notre monde professionnel, et ce n\'était pas du tout une tache aisée. Bravo !
    Biensur comme tu le soulignes, tout n\'est pas expliqué dans ton article, mais là la tache est rude. On y arrivera, un jour 😉

    • J\'espère que ça sera utile aux personnes qui s\'intéressent à notre monde professionnel, et qui n\'osent pas se lancer. Merci à tous ceux qui m\'ont aidé à la rédaction de cet article, qui n\'a pas été simple à rédiger.
      Et merci de ton commentaire, Yoann !

  2. Bonjour Aurélien et merci pour ce bel article. Comme tu le dis, le sujet est vaste et chacun a sa définition, son vécu et un quotidien parfois très différent. Quand tu dis décris la bioinformatique comme \'un outil indispensable à la biologie\', ça me fait sauter en l\'air .. ;-p Bon d\'accord c\'est aussi vrai, mais (heureusement) pas seulement. Pour moi c\'est un domaine de recherche à part entière. Alors je préfère ce que tu dis ensuite \'un domaine de recherche et d’expertise\' qui est plus vaste et inclue sans doute le recours des biologistes à l\'expertise des bioinformaticiens pour répondre à leurs questions. Pour certains, les bioinformaticiens sont des biologistes, juste un domaine particulier. J\'aime bien cette idée. Bref, la bioinformatique c\'est vaste et c\'est un domaine extrêmement passionnant ! 🙂

  3. Bonjour, j\'ai lu tout ce que vous avez ecris mais j\'aimerais savoir car c est beaucoup plus pour des gens qui ont fait la biologie bon pour ce que j ai compris, mais es ce que ca va aussi pour quelqu\'un qui a fait l informatique car sans vous mentir je ne connais rien a la biologie mais je voudrais vraiment me lancer dans ce domaine, vraiment besoin de conseil.
    merci...

    • Bonjour Blondel King,

      il est vrai qu\'il y a une majorité de bioinformaticiens qui ont un background de biologiste, mais on trouve aussi l\'inverse!
      Parmis nous, il me semble qu\'il y en a, comme Nico M. (http://bioinfo-fr.net/author/glock21) par exemple.
      J\'imagine qu\'il ne doit pas être aisé d\'apprendre la biologie sans avoir passer des heures dans un amphi mais je pense que bien entouré et avec les bons bouquins c\'est tout à fait possible.

      D\'ailleurs, comme bouquin, j\'ai l\'habitude de conseiller celui-ci: http://www.amazon.fr/Biologie-mol%C3%A9culaire-cellule-Bruce-Alberts/dp/225700096X (oui, il est cher, mais tout est dedans).

      N\'hésite pas à nous poser tes questions!

      • Bonsoir ZaZo0o,
        Merci de me repondre aussi vite, pour tout dire je suis aux USA et je me prepare pour la rentree de l annee prochaine et je cherche toutes les informations necessaire qui me pourrait m\'aider a me familiariser a ce milieu avant de me lancer, bien que je sais que ca ne sera pas aussi facile, je voudrai aussi savoir si ca sera mieux de commencer depuis la premiere annee en bioinformatique et finir ou alors finir toute la formation en (informatique) avant de commencer la bioinformatique...

        • Alors, tout dépend de où tu en es. Si tu es arrivé au niveau équivalent à la licence en Europe, alors tu peux commencer un Master de Bioinformatique. Le Master de Rennes en tout cas est ouvert aussi bien aux informaticiens qu\'aux biologistes. Au cours du master, les informaticiens vont suivre des cours de biologie pendant que les biologistes suivent une formation d\'informatique, en plus du tronc commun.
          Je ne sais pas s\'il en est de même dans d\'autres master, il faut se renseigner.
          Après, un Master ça n\'est que 2 ans, si tu penses que tu peux te permettre de prendre deux ans d\'études supplémentaires, vas-y, ça sera de toute façon bénéfique.

          • Je me permet de rajouter ça pour info : le Master de Bordeaux n\'accepte pas d\'informaticiens, uniquement des biologistes prêts à vendre leur âme 🙂
            Bon courage à toi Blondel King. Va faire un tour sur notre rubrique \"Formations\" tu y verras déjà quelques exemples.

        • Pour info, vu que tout le monde le fait, le Master BIBS d\'Orsay (voir description sur ce blog, la flemme de chercher là) accepte les informaticiens (j\'en étais un en licence) et est vraiment très bien comme formation, complète et avec des mises a niveau en biologie.

  4. Bonjour Blondel King,

    Je rebondis sur vos échanges pour informer que le master en Bioinformatique de Rouen ( http://masterbioinfo.formations.univ-rouen.fr/ ) est depuis cette année ouvert aux informaticiens et mathématiciens en plus des biologistes. Sur le même principe que le master de Rennes, les cours sont adaptés en fonction de la Licence obtenue. Si tu as/obtiens une licence en informatique, tu auras des cours plus orienté bio.
    La plaquette du master est disponible à l\'adresse ci-dessus.
    Cette formation a l\'avantage d\'être en alternance \"mais\" de ce fait, se fait en 3 ans au lieu de 2 pour les masters traditionnels.
    Bon courage dans tes recherches.

  5. Bonjour,
    Merci d abord de vos reponses, il y a une chose dont j aimerais vraiment savoir,
    est-il possible de commencer cette filiere des la premiere annee ou alors on doit
    d\'abord avoir une license ou un master avant, parce que dans mon cas je n\'ai pas encore fini ma licence, je viens juste de demarrer.
    Encore merci...

    • Bonjour Blondel King,
      A ma connaissance, il y a des formations types DUT qui permettent de commencer rapidement la bioinformatique (il y a d\'ailleurs un article concernant l\'IUT d\'Aurillac sur ce site). Sinon, il existe également des licences professonnelles qui permettent d\'accéder ou monde du travail mais aussi de pouvoir continuer sur un master en bioinfo.
      Si tu veux commencer en première année, il serait envisageable de te réorienter vers un DUT. Il en existe plusieurs.
      J\'espère avoir répondue à tes attentes.

  6. Bonjour Leeloo,
    Merci de ta reponse, en effet c est la reponse dont j\'esperais. Maintenant, je crois que j opterai pour une license professionnelle comme tu l as dis qu\'elle permet d acceder a un monde de travail et apres je verai comment faire pour le master plutard.
    Encore un grand merci a vous tous pour ces informations...

Laisser un commentaire