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 haut­débit
● Microarrays, NGS, Y2H, protein arrays,...
Agir sur le vivant
●
●
●
Recherche de molécules bio­actives 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 high­throughput 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­
plate­formes.
●
Applications “stand­alone”
●
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”.