- Le blog participatif de bioinformatique francophone depuis 2012 -

Conda le meilleur ami du bioinformaticien

Conda, le meilleur ami du bioinformaticien

"Fais-moi confiannncc­ceeeeee" Ana­con­da | Apol­lo

Conda est un package mana­ger écrit en python, comme pypi. Mais contrai­re­ment à celui-ci, il per­met d'installer des pro­grammes écrits dans d'autres lan­gages. Notam­ment vos outils bio­in­for­ma­tiques pré­fé­rés par l’intermédiaire du dépôt bio­con­da. C'est-à-dire que tous vos outils, que ce soit sam­tools, bwa, bow­tie, trim­mo­ma­tic, fast­qc et j'en passe, sont dis­po­nibles et mis à jour par l’intermédiaire de conda.
Par ailleurs, conda per­met l'utilisation d’environnement vir­tuel à l'instar de vir­tua­lenv (que les uti­li­sa­teurs de python connaissent bien), vous évi­tant tous pro­blèmes de dépen­dances. C'est donc un outil 2 en 1, que nous vous pro­po­sons d'explorer dans cet article.

Installation de miniconda

Ne cher­chez pas à ins­tal­ler conda sur votre sys­tème en tant que root pour le dis­tri­buer à tous vos uti­li­sa­teurs. Conda s'installe et s'utilise en simple uti­li­sa­teur. C'est un avan­tage qui évite de dépendre du sysad­min. La méthode la plus simple pour débu­ter est d'installer Mini­con­da en télé­char­geant le script d'installation dis­po­nible pour GNU/​Linux, Win­dows et Mac. Sur Ubun­tu 64 bits :

Sui­vez les ins­truc­tions et assu­rez-vous de bien avoir votre PATH modi­fié afin de pou­voir exé­cu­ter conda depuis votre shell.

Ajouter les dépôts bioconda

Pour ajou­ter les chan­nels (dépôts) de bio­con­da :

Utilisation

Installer une application

L'installation d'une appli­ca­tion se fait de manière très simple.

Pour dés­ins­tal­ler une appli­ca­tion :

Enfin, si vous vou­lez cher­cher un package dis­po­nible :

Les environnements

Gestion de vos environnements

Les envi­ron­ne­ments sont une façon simple d'isoler votre pro­jet avec toutes ses dépen­dances. Vous pou­vez créer autant d’environnements que vous le dési­rez, conte­nant cha­cun leurs appli­ca­tions et leurs libraires. Pour créer un envi­ron­ne­ment :

vous pou­vez alors acti­ver l’environnement et ins­tal­ler des packages :

Pour désac­ti­ver votre envi­ron­ne­ment :

Pour lis­ter les envi­ron­ne­ments dis­po­nibles :

Enfin pour sup­pri­mer un envi­ron­ne­ment :

Partager vos environnements

L'avantage des envi­ron­ne­ments, c'est de pou­voir les par­ta­ger avec un autre uti­li­sa­teur, sans que celui-ci se casse la tête à ins­tal­ler vos dépen­dances. Acti­ver votre envi­ron­ne­ment et uti­li­ser la com­mande export :

Pour créer un nou­vel envi­ron­ne­ment à par­tir de my_environnement.yml :

Créer votre package

Le sys­tème de créa­tion de package dans conda est rela­ti­ve­ment simple par rap­port aux autres. On ne le fait pas en cla­quant des doigts mais ça reste plus facile de voir un paquet ajou­té au dépôt bio­con­da que dans les dépôts d'une dis­tri­bu­tion GNU/​Linux. Pour créer un paquet vous devez ins­tal­ler le paquet conda-build et créer un dos­sier avec la struc­ture sui­vante :

  • meta.yaml contient toutes les infor­ma­tions sur votre paquet, son nom, où sont les sources (dépôt git, svn, archive tar), ses dépen­dances (de construc­tion et d'installation)
  • build​.sh toutes les ins­truc­tions pour com­pi­ler et ins­tal­ler votre package

Le dos­sier peut aus­si conte­nir un fichier bld.bat pour la com­pi­la­tion et l'installation sur le sys­tème d'exploitation Win­dows.

Pour tes­ter la construc­tion et l'installation de votre package, exé­cu­tez la com­mande sui­vante :

Il ne vous reste plus qu'à inté­grer votre paquet à bio­con­da. Pour cela vous devez for­ker le dépôt bio­con­da-recipes puis dépla­cer votre package dans l'arborescence et enfin créer un pull request.
Pour des infor­ma­tions plus détaillées sur la créa­tion de package pour conda je vous invite a lire la docu­men­ta­tion de conda.

Conclusion

Conda semble être une bonne alter­na­tive aux contai­ners (Docker, LXD) ou encore à vir­tua­lenv afin de rendre vos pipe­lines por­tables. La pré­sence du dépôt bio­con­da, spé­cia­li­sé pour la bio­in­for­ma­tique en fait tout le charme. À ce jour il y a plus de 1500 appli­ca­tions et la page github compte 194 contri­bu­teurs. Pour ma part, j'ai retrou­vé tous mes outils favo­ris. Alors essayez-le et n’hésitez pas à lâcher un com­men­taire sur vos retours.

Gros remer­cient et plein de bisous pour nos relec­teur : Ludo­vic, Auré­lien, Lins`



Pour continuer la lecture :


Commentaires

Une réponse à “Conda le meilleur ami du bioinformaticien”

  1. Avatar de lucas

    Petit détail pour les chi­po­teurs : pypi (bien­tôt ware­house https://​pypi​.org/) n'est pas un package mana­ger, mais un package index. pip et easy_​install sont des package mana­gers.

Laisser un commentaire