Les langages de programmation en bioinformatique
Transcription
Les langages de programmation en bioinformatique
Les langages de programmation en bioinformatique D. Puthier ESIL, Inserm U928 A quoi ça sert ? ● Développement de logiciels d'analyse ● Nécessité de traiter/analyser des données toujours plus volumineuses ● Biologie des systèmes Modéliser le vivant ● OMICS (genomics, transcriptomics, proteomics, metabolomics,...). ● Techniques d'analyse hautdébit ● Microarrays, NGS, Y2H, protein arrays,... Agir sur le vivant ● ● ● Recherche de molécules bioactives ou de nouvelles cibles thérapeutiques via des analyses large échelle. A quoi ça sert ? ● Nécessité de visualiser les informations ● Visualiser des structures ● Visualiser des graphes d'interactions ● Visualiser des séquences ● Des alignements ● Des génomes ● ... A quoi ça sert ? ● Dans la vie quotidienne ... ● Traitement en lot ● ● Parcourir et transformer des fichiers (“parser”). ● Analyser ● Ex: analyse statistiques ● Programmer des robots ● Travailler moins (ou être plus productif...) ● Ex: téléchargement, traitement d'images, ... Une des qualité du programmeur est la paresse (dixit L. Wall) Quelques langages populaires en bioinformatique ● Perl: ● ● ● Développé au départ pour l'analyse de fichiers au format texte (Larry Wall). Assez proche de sed (Stream Editor), awk et shell (sh). Bénéficie d'une large bibliothèque de modules (i.e; librairies de fonctions). ● ● Moteur d'expressions régulières très puissant: ● Ex: modules Perl pour la bioinformatique (Bioperl). Ex: s/\d+//g; Quelques langages populaires en bioinformatique ● Exemple: lecture d'un fichier fasta avec perl. Quelques langages populaires en bioinformatique ● R ● “Bioconductor provides tools for the analysis and comprehension of highthroughput genomic data. Bioconductor uses the R statistical programming language, and is open source and open development. It has two releases each year, more than 380 packages, and an active user community.” ● Particulièrement utile pour l'analyse statistique des données Microarrays, NGS, Cytométrie de flux, protéomique, analyse d'image,... Bénéficie d'outils graphiques assez évolués. ● ● Quelques langages populaires en bioinformatique ● SQL ● Le langage des bases données (ex: UCSC, ensembl) ● ● Organisation non redondante des données Interrogation des données via un langage permet de mettre en relation des tables (bases de données relationnelles) Quelques langages populaires en bioinformatique ● Python ● Une bonne alternative à Perl ● Syntaxe plus lisible ● Nombreux outils pour l'analyse de séquence ● Biopython Permet via certaine librairies (e.g; wxPython) de développer des interfaces graphiques. ● Quelques langages populaires en bioinformatique ● Java ● ● ● Particulièrement adapté au développement d'application multi plateformes. ● Applications “standalone” ● Applications web (Java Web Start & Applet). Langage Orienté Objet Particulièrement destiné au développement d'application graphiques. Quelques langages populaires en bioinformatique Le XML (Extensible Markup Language) ● ● ● Langage à balise. Permet de stocker des données de type texte structurées sous la forme d'une arborescence XSLT (eXtensible Stylesheet ● Language Transformations) ● Transformation d'un document XML : XML, texte, HTML Quelques langages populaires en bioinformatique ● ● Langage C ● Un langage très proche de la machine. ● Permet de manipuler directement des adresses mémoires. Extrêmement rapide. ● A utiliser pour optimiser la vitesse de traitement. Langage C++ ● ● Variante orientée objet du C. Quelques langages populaires en bioinformatique ● Les langages du développeur web ● Php, HTML, css, JavaScript, (...) ● Modèle client/serveur ● Commençons tout de suite en nous initiant au monde UNIX/Linux et au shell “Bash”.