Les commandements du stagiaire en bioinformatique

La période des stages n'est pas loin et toi, jeune étudiant(e) bioinformaticien(ne) — futur(e) sta­giaire, te demandes com­ment choi­sir par­mi toutes ces annonces. Pas de panique, c'est tout à fait nor­mal de se poser toute une ribam­belle de ques­tions, nous y sommes tous pas­sés. La bonne nou­velle c'est que c'est ton jour de chance : les réponses se trouvent (nor­ma­le­ment) dans ce billet.

À la recherche du stage : Motivation, mon amie

Job search | Kate His­cock

La pre­mière des choses à cocher dans ta che­ck­list c'est la moti­va­tion. Si tu en es arri­vé à ce stade c'est que tu as for­cé­ment un goût plus ou moins pro­non­cé pour la bioin­fo. Il va main­te­nant fal­loir le faire trans­pa­raître un peu plus que d'habitude, sans pour autant tom­ber dans l'excès ! La période des stages de 6 mois est une excel­lente occa­sion pour aller voir ailleurs.

N'hésite pas à viser l'international et les labos pres­ti­gieux. C'est une période où tu vas énor­mé­ment apprendre et décou­vrir, faire ça dans des milieux connus et recon­nus est un pri­vi­lège non négli­geable. Néan­moins, ne me fais pas dire ce que je n'ai pas dit : il est tout à fait pos­sible de res­ter en France et de se retrou­ver dans une très bonne équipe ! Tout dépen­dra de tes envies, de tes contraintes, de l'opportunité et de ta soif de l'aventure.

Une fois le péri­mètre géo­gra­phique posé à plat, il reste à cher­cher des points de chute pas trop loin de celui-ci. La SFBI, en plus de sa liste mail d'emploi que nous conseillons de suivre, pro­pose un annuaire des labo­ra­toires, mais vous pou­vez aus­si cher­cher sur un moteur de recherche, décou­vrir d'autres listes mail d'emploi autour de la bioin­fo ou encore pas­ser voir si sur le canal IRC #bioin­fo-fr il n'y aurait pas quelqu'un en poste dans la région choi­sie de connec­té. Un récent petit guide du débu­tant de l'IRC est d'ailleurs à décou­vrir ici.

Il ne faut pas for­cé­ment attendre qu'une équipe ouvre un poste pour pos­tu­ler, allez‑y à l'audace. Une bonne can­di­da­ture spon­ta­née peut par­fois faire tout son effet et déblo­quer la situa­tion. Si tu en as déjà un, fais jouer ton réseau. C'est aus­si un très bon moyen d'avoir des infor­ma­tions en avant-pre­mière sur un éven­tuel stage en pré­pa­ra­tion dans tel ou tel labo.

Tu auras sûre­ment à envoyer un cer­tain nombre de CVs et de lettres de moti­va­tion, et c'est sur­tout là qu'il fau­dra être endurant(e). Ne perds pas la foi, il y a de plus en plus d'offres de stages chaque année et toutes ne trouvent pas pre­neur au final. Il y en aura donc for­cé­ment une pour toi. Ose répondre à une annonce même si tu ne coches pas toutes les cases, le recru­teur s'en doute : c'est pour un stage, on ne te demande pas d'arriver affûté(e) sur tout car c'est avant tout un appren­tis­sage. Sois hon­nête avec toi-même et avec eux : tu as des bases, des acquis, des choses en cours d'acquisition et un poten­tiel d'apprentissage très impor­tant !

Les conseils pour l'entretien se trouvent dans ce billet, l'idée prin­ci­pale reste la même : mon­trer que tu es motivé(e) et que tu ne pos­tules pas car on t'a deman­dé de pos­tu­ler ou encore parce que que tu dois trou­ver un stage pour com­plé­ter ton cur­sus…

Le Saint Graal en poche : l'arrivée

Débar­que­ment | Pho­to­sNor­man­die

On y est, c'est le jour J : le pre­mier jour dans ton équipe d'accueil. Pas de panique, la plu­part de tes futurs col­lègues se réjouissent de ton arri­vée. Le dyna­misme d'un nou­vel arri­vant est tou­jours posi­tif dans une équipe. Les pre­miers jours, ta mis­sion sera d'être à l'écoute, de com­prendre assez rapi­de­ment com­ment fonc­tionne l'équipe, d'avoir fait un peu de biblio sur leur(s) axe(s) de recherche et de faire com­prendre que tu es là pour en apprendre un maxi­mum.

Si tu as le choix, essaye de prendre un OS que tu maî­trises à peu près. De cette façon tu auras un envi­ron­ne­ment fami­lier et une base sur laquelle te repo­ser. Si ce n'est pas le cas, prends-le comme une occa­sion d'ajouter une com­pé­tence à ton cur­sus et essaye d'identifier le/​la gou­rou de votre équipe qui sau­ra t'aider dans des situa­tions périlleuses.

Petite cerise sur le gâteau : une arri­vée c'est bien, une arri­vée avec un gâteau pour la pause café, alors ça c'est mer­veilleux et tu mar­que­ras des points dès les pre­miers ins­tants. 🙂

La dif­fi­cul­té des pre­miers jours c'est sur­tout de se faire accep­ter sans tom­ber dans la fami­lia­ri­té, n'oublie quand même pas que tu as été choisi(e) pour une mis­sion et que tes nou­veaux col­lègues ne te connaissent pas encore comme tes actuels cama­rades de pro­mo. Là des­sus, c'est essen­tiel­le­ment du fee­ling, dif­fi­cile d'établir un mode d'emploi.

Bibliographie, la première étape qui orientera l'intégralité de ton stage

Libra­ry | Anve­sh­Pan­dra

La biblio­gra­phie est une étape à ne pas prendre à la légère mais qui est mal­heu­reu­se­ment bien trop sou­vent sous-esti­mée. Elle te gui­de­ra dans la suite de tes tra­vaux et te per­met­tra d'y voir clair tout au long de ton étude. L'état de l'art est essen­tiel, rien ne sert de réin­ven­ter la roue mais rien ne nous empêche pour autant d'assembler plu­sieurs choses exis­tantes pour en créer de nou­velles. N'hésite pas à aller frap­per aux portes de tes col­lègues pour savoir s'ils ont déjà des réser­voirs d'articles d'intérêt, ils pour­raient te faire gagner du temps et t'orienter sur ceux qui pré­sentent à leurs yeux le plus d'intérêt.

Bon, ce n'est pas le tout de trou­ver et lire ces articles, il fau­dra éga­le­ment les lis­ter à la fin de ton rap­port de stage et les citer avec cohé­rence dans ta prose. Avant d'attaquer le para­graphe sur LaTeX pour votre rap­port, sache qu'il existe Google Scho­lar qui te per­met­tra d'exporter rapi­de­ment tes réfé­rences au for­mat Bib­TeX, gain de temps assu­ré !

Le rapport : 15 jours avant la fin du stage ou dès le début ?

Qui a vrai­ment cru que ce titre était une vraie ques­tion ?! On se met au rap­port tout de suite, et ce n'est pas négo­ciable. Tu me remer­cie­ras à la fin de ton stage, je te le pro­mets.

Trêve de plai­san­te­ries : com­ment qu'on com­mence ? Là, c'est un peu comme avec emacs et vim : il y a deux équipes, les MS Word/​OpenOffice/​LibreOffice et les vrais LaTeX. Tu l'auras com­pris, je suis de la team LaTeX.

Tu lut­te­ras sûre­ment un peu au début, mais le temps que cela te fera gagner en mise en page au final et en style ne sera que du bénéf'. Et comme c'est ton jour de chance, on t'a concoc­té tout plein de billets sur la prise en main de LaTeX et ses petites spé­ci­fi­ci­tés (le pre­mier docu­ment, les flot­tants, la mise en forme du texte et des para­graphes, les maths avec LaTeXauto­ma­ti­ser le trai­te­ments des CSV, des­si­ner des molé­cules avec LaTeX).

Chaque for­ma­tion a ses requêtes concer­nant les patrons (tem­plates) de rap­port de stage, il te suf­fi­ra de lire les règles impo­sées et de les appli­quer. N'hésite pas, encore une fois, à sol­li­ci­ter tes gen­tils col­lègues pour relire tes par­ties de prose. Essaye de chan­ger de vic­time col­lègue de temps en temps, his­toire de ne pas les faire fuir trop vite. 🙂

Si tout se passe bien, nor­ma­le­ment tu arri­ve­ras à peu près confiant(e) sur l'écriture du rap­port dans le der­nier mois du stage. Ça ne sera pas le cas de tes cama­rades de pro­mo de la team "15 jours avant" et là, tu auras le droit de leur envoyer ce lien.

Et si on commençait à s'amuser ?

C'est bien beau tout ça, mais quand est-ce qu'on com­mence à jouer ? Eh bien main­te­nant que les bases sont posées et que tu as assi­mi­lé tout ça, c'est par­ti !

On ne va pas se le cacher : la bioin­fo c'est (vrai­ment) vaste (mais vrai­ment). C'est pour cette rai­son qu'aucun stage ne res­sem­ble­ra à un autre. On va donc essayer de par­tir sur les bases com­munes et ce que tu risques de ren­con­trer le plus dans la peau d'un(e) bioinformaticien(ne).

Les bonnes pratiques

Check list | Oli­ver Tacke

Dès le début, même pour le plus petit des scripts il va fal­loir adop­ter les bonnes pra­tiques. Celles-ci même qui feront qu'on aura envie de tra­vailler avec toi et de lire/​éditer ton code. Voi­ci une liste non exhaus­tive de bonnes pra­tiques à mettre dans sa boîte à outils, j'en oublie sûre­ment mais l'essentiel est d'essayer de maî­tri­ser au moins celles-là :

  1. Ton code tu ver­sion­ne­ras. Si tu es un fidèle du blog, ces deux articles sur git (ici et ) ne t'auront pas échap­pé. C'est le moment de mettre en pra­tique.
  2. Un IDE tu choi­si­ras. Je ne ferai pas de recom­man­da­tions par­ti­cu­lières sur tel ou tel IDE, garde juste en tête qu'il est quand même impé­ra­tif de coder via un IDE et des plu­gins adap­tés au(x) langage(s). À titre indi­ca­tif, j'ai opté pour Atom que je per­son­na­lise au gré de mes besoins selon mes pro­jets du moment.
  3. Dans un envi­ron­ne­ment vir­tuel tu te pla­ce­ras. C'est en effet super pra­tique de ne pas "pour­rir" son sys­tème pour un seul pro­jet. L'idée est d'encapsuler vos pro­jets dans des bulles her­mé­tiques ou semi-her­mé­tiques. Ain­si en un coup d’œil on pour­ra connaître les librai­ries exo­tiques néces­saires ou encore la ver­sion du lan­gage dési­rée pour tel ou tel pro­jet. Ça se fait énor­mé­ment en python avec pipenv ou le com­bo pyenv + vir­tua­lenv par exemples, je ne suis pas expert mais je pense que ça doit exis­ter pour les autres lan­gages. On a par exemple déjà par­lé de Packrat pour R même si ce n'est pas un lan­gage de pro­gram­ma­tion. Au pire, reporte-toi à ce petit bijou d'article sur la vir­tua­li­sa­tion ou encore celui-ci sur le déploie­ment d'un logi­ciel en bio­in­for­ma­tique.
  4. La docu­men­ta­tion au fur et à mesure tu écri­ras. C'est tou­jours une plaie d'arriver en fin de pro­jet et d'avoir toute la doc à se taper d'un coup. Mon conseil : tout comme ton rap­port, essaye de faire ça au fur et à mesure dès qu'une nou­velle fonc­tion­na­li­té est implé­men­tée. On parle ici des com­men­taires dans le code (qui pour­ront faci­le­ment être expor­tés en docu­men­ta­tion déve­lop­peur avec des outils sem­blables à Sphinx pour Python par exemple) mais aus­si de la docu­men­ta­tion uti­li­sa­teur (s'il doit y en avoir une).

Si tu tombes bien, tu pour­rais arri­ver dans une équipe qui uti­lise une forge logi­cielle, Red­mine par exemple pour n'en citer qu'un. C'est un atout et un signe de bonne maî­trise des pro­jets. En effet, vous pour­rez faire coha­bi­ter de nom­breux outils d'aide à la ges­tion et au déve­lop­pe­ment dans votre forge : Dia­gramme de GANTT, wiki, sys­tème de tickets et j'en passe.

Le code ne fait pas tout

Eh oui, ça serait trop facile sinon, tu ne trouves pas ? Il fau­dra avant tout com­prendre ce qu'on attend de toi, la pro­blé­ma­tique glo­bale et ce vers quoi cela pour­rait décou­ler. Ce n'est jamais évident de se pro­je­ter, mais il faut quand même faire l'exercice car c'est aus­si ce qu'on vou­dra de toi.

Durant ton stage tu pour­ras éga­le­ment être ame­né à uti­li­ser un clus­ter de cal­cul.

Cet article ne détaille­ra pas les prin­cipes d'utilisation d'un clus­ter en bioin­fo. Pour décou­vrir cela il fau­dra aller jeter un œil sur ce très bon billet et celui-ci si tu veux d'ores et déjà aller un peu plus loin.

Par contre, tu uti­li­se­ras ton clus­ter pour exé­cu­ter des jobs. Ces jobs se conten­te­ront de faire tour­ner tes scripts mai­son ou bien des logi­ciels exo­tiques.

Pour en arri­ver à cette étape il fau­dra alors être pas­sé par la biblio­gra­phie et l'étude de l'art concer­nant les logi­ciels exis­tants des­ti­nés aux tâches pré­cises que tu auras à effec­tuer. Si tu as sui­vi les conseils de cet article, c'est nor­ma­le­ment ok à cette étape. Mais pour­quoi ne se conten­ter que du strict mini­mum ? Ce qui fera de toi un bon chas­seur sta­giaire (et qui sera for­te­ment appré­cié par tes col­lègues lors de tes pré­sen­ta­tions de résul­tats) c'est de bien faire com­prendre que tu n'as pas pris tel ou tel logi­ciel au hasard, ou bien parce qu'il avait un nom sym­pa. En effet, il fau­dra t'être frot­té à ce que l'on appelle com­mu­né­ment en fran­çais un "banc d'essai", mais qui avouons-le est plus sym­pa à dire en anglais : un bench­mark.

L'étape du bench­mar­king consiste à mettre en concur­rence plu­sieurs logi­ciels ayant le même but final, dans des condi­tions iden­tiques et de mesu­rer les écarts entres ces der­niers lors de leurs exé­cu­tions pour sor­tir du lot celui ou ceux qui se débrouille(nt) le mieux (selon tes cri­tères, qui varie­ront d'un bench­mark à l'autre). Ces cri­tères pour­ront vrai­ment chan­ger du tout au tout : on pour­ra par­ler de dif­fé­rence de temps d'exécution, de types de fichiers en entrée/​sortie, de qua­li­té des résul­tats obte­nus ou encore même de dif­fé­rence d'un même logi­ciel mais sur dif­fé­rents OS. Bref, à toi d'adapter cela en fonc­tion de ce qu'il y a d'intéressant à en res­sor­tir. Enfin, si tu as de la chance, tu pour­ras tom­ber direc­te­ment sur le bench­mark de l'outil dans sa publi­ca­tion scien­ti­fique par exemple, à prendre tout de même avec des pin­cettes car bizar­re­ment l'effet du "mon outil est meilleur que les autres" revient assez sou­vent 😉 Il fau­dra aus­si être atten­tif aux variables uti­li­sées dans ce bench­mark, cela ne trai­te­ra pas for­cé­ment les points que tu cherches à mettre en avant.

L'envie d'avoir envie

"Qu'on me donne l'envie, l'envie d'avoir envie !" | Wiki­me­dia

Avec tous ces petits tuyaux tu auras déjà pas mal de bases pour bien t'en sor­tir. Mais il reste tout de même le plus impor­tant : l'envie, la curio­si­té, la soif d'apprendre. Tu es en période de stage, on ne va pas se men­tir : c'est sou­vent rému­né­ré une misère (sur­tout en France mal­heu­reu­se­ment) mais cela reste quand même une aven­ture unique à vivre. Il faut en pro­fi­ter ! Après ça, l'évolution de ta car­rière et de ta vie per­so pour­ront faire que, plus ça ira, moins tu auras de temps pour essayer des nou­velles choses, apprendre sur des nou­velles thé­ma­tiques, obser­ver le tra­vail de tes col­lègues… Tu l'auras donc com­pris j'espère : PROFITE de cette période !

Enfin arri­ve­ra le temps où ton stage se ter­mi­ne­ra. N'attends pas le der­nier moment pour savoir ce que tu feras après. C'est une étape qui se pré­pare en amont. Ne te mets pas non plus des œillères du type "j'ai fait un stage dans l'analyse de don­nées, je ferai donc ça toute ma vie" (ça marche aus­si avec le déve­lop­pe­ment, la phy­lo­gé­nie, les bio­sta­tis­tiques, etc). Écoute-toi et va là où tu penses t'amuser, c'est là le plus impor­tant. Et com­prends une chose : à ce jour il y a plus d'offres d'emplois (en France et à l'étranger) que de per­sonnes sus­cep­tibles de cor­res­pondre aux cri­tères deman­dés.

C'est à toi de jouer main­te­nant, tu n'as plus d'excuses pour ne pas t'épanouir dans le mer­veilleux monde de la bioin­fo !

 

Je tiens à remer­cier mes relec­teurs sans qui cet article aurait été beau­coup plus lourd à lire : Nisaea, lroy et Lins`.



Pour continuer la lecture :


Commentaires

2 réponses à “Les commandements du stagiaire en bioinformatique”

  1. Hey,

    Salut Yoann (et déso­lé de voir les perfs de l'équipe de Bor­deaux en ce moment)
    Bon article, d'accord sur toute la ligne.
    J'ai envie de rebon­dir sur l'envie d'avoir envie, qui est pri­mor­diale à la réus­site du pro­jet pro­fes­sion­nel. En tant qu'encadrant c'est dom­mage de voir tant d'étudiants qui ne sont pas inté­res­sés par ce qu'ils font, ça n'amène jamais rien de bon.
    Et c'est pour cela je pense qu'il est aus­si impor­tant de bien choi­sir à la fois son sujet et l'équipe d'accueil. Les plus auto­nomes peuvent viser des équipes de taille impor­tante mais j'ai ten­dance à décon­seiller les grosses struc­tures pour les étu­diants (y com­pris pour les thèses) car cela va (sou­vent) de paire avec un manque d'encadrement. Et c'est un point à dis­cu­ter quand l'étudiant et l'équipe dis­cutent au préa­lable du sujet, il ne faut pas hési­ter de mettre sur la table les temps d'écoute pro­po­sés.

  2. Mer­ci pour l'article, pour moi plus qu'un an avant le stage. Je crois que je repas­se­rai faire un tour ici un peu avant 🙂

Laisser un commentaire