14
Bioinfomatique et Perl 1 Bioinformatique Bioinformatique et Perl et Perl Les éléments de base Les éléments de base

Bioinformatique et Perl

  • Upload
    merrill

  • View
    23

  • Download
    2

Embed Size (px)

DESCRIPTION

Bioinformatique et Perl. Les éléments de base. Introduction. Objectif : être capable de traiter automatiquement de grands volumes de données et d’en extraire l’information pertinente Exemples : Recherches de motifs dans des séquences biologiques nucléiques ou protéiques - PowerPoint PPT Presentation

Citation preview

Page 1: Bioinformatique et Perl

Bioinfomatique et Perl 1

Bioinformatique Bioinformatique et Perlet Perl

Les éléments de baseLes éléments de base

Page 2: Bioinformatique et Perl

2Bioinfomatique et Perl

IntroductionIntroduction

ObjectifObjectif : être capable de traiter : être capable de traiter automatiquement de grands volumes automatiquement de grands volumes de données et d’en extraire de données et d’en extraire l’information pertinentel’information pertinente

Exemples Exemples : : Recherches de motifs dans des séquences Recherches de motifs dans des séquences

biologiques nucléiques ou protéiquesbiologiques nucléiques ou protéiques Analyser automatiquement le résultat Analyser automatiquement le résultat

d’une requête BLASTd’une requête BLAST

Page 3: Bioinformatique et Perl

3Bioinfomatique et Perl

Pourquoi Perl ?Pourquoi Perl ?

PerlPerl : Practical Extraction and Report : Practical Extraction and Report LanguageLanguage

Langage de script, syntaxe flexible, Langage de script, syntaxe flexible, rapide à maîtriserrapide à maîtriser

Particulièrement adapté à l’extraction Particulièrement adapté à l’extraction de données (expressions régulières)de données (expressions régulières)

Très présent dans la communauté Très présent dans la communauté bioinformatique (nombreux modules) bioinformatique (nombreux modules)

Page 4: Bioinformatique et Perl

4Bioinfomatique et Perl

Infos pratiquesInfos pratiques

http://www.perl.comhttp://www.perl.com et et http://http://www.perl.orgwww.perl.org : sites de références : sites de références

Livres : plusieurs chez O’ReillyLivres : plusieurs chez O’Reilly

http://dept-info.labri.fr/~dutourhttp://dept-info.labri.fr/~dutour : :accès au site du cours Perl pour le accès au site du cours Perl pour le master Bioinfomaster Bioinfo

Page 5: Bioinformatique et Perl

5Bioinfomatique et Perl

1. Un bref aperçu de Perl1. Un bref aperçu de Perl

Hello, World! (fichier hello.pl, Hello, World! (fichier hello.pl, exécutable)exécutable)

Exécution : ./hello.plExécution : ./hello.pl

#!/usr/bin/perl –w

# Premier programme

print « Hello, World!\n »;

Page 6: Bioinformatique et Perl

6Bioinfomatique et Perl

Un premier exemple Un premier exemple bioinfobioinfo

(variables, tableaux, boucles)(variables, tableaux, boucles)motif.plmotif.pl

Recherche d’un motif dans une Recherche d’un motif dans une séquenceséquence

Sortie : tableau de toutes les Sortie : tableau de toutes les positionspositions

Page 7: Bioinformatique et Perl

7Bioinfomatique et Perl

TableauxTableaux

@planetes = (@planetes = ("Mercure""Mercure", , "Venus""Venus", , "Terre""Terre", , "Mars""Mars", , "Jupiter""Jupiter", , "Saturne""Saturne", , "Uranus""Uranus", , "Neptune""Neptune", , "Pluton""Pluton"); );

print print ""troisième planète : $planetes[2]\ntroisième planète : $planetes[2]\n"";;

print print ""les planètes : @planetes\nles planètes : @planetes\n"";;

Page 8: Bioinformatique et Perl

8Bioinfomatique et Perl

ExerciceExercice

Utiliser Utiliser indexindex plutôt que plutôt que substrsubstr

$pos = index($chaine, $souschaine)$pos = index($chaine, $souschaine)

retourne la position du 1er caractère de retourne la position du 1er caractère de $souschaine$souschaine dans dans $chaine$chaine,,

retourne -1 si pas trouvé.retourne -1 si pas trouvé.

Possibilité de rajouter un 3ème Possibilité de rajouter un 3ème paramètre indiquant l'indice dans paramètre indiquant l'indice dans $chaine$chaine à partir duquel on cherche à partir duquel on cherche $souschaine$souschaine. .

Page 9: Bioinformatique et Perl

9Bioinfomatique et Perl

2. Autres notions 2. Autres notions incontournablesincontournables

Tables de hachageTables de hachage

Expressions régulièresExpressions régulières

FichiersFichiers

Page 10: Bioinformatique et Perl

10Bioinfomatique et Perl

Tables de hachageTables de hachage

%trois_vers_un = (%trois_vers_un = ( Ala =>A, Cys=>C, Asp=>D, Glu=>E,Ala =>A, Cys=>C, Asp=>D, Glu=>E,

Phe=>F, Gly=>G, His=>H, Ile=>I,Phe=>F, Gly=>G, His=>H, Ile=>I,Lys=>K, Leu=>L, Met=>M, Asn=>N,Lys=>K, Leu=>L, Met=>M, Asn=>N,Pro=>P, Gln=>Q, Arg=>R, Ser=>S,Pro=>P, Gln=>Q, Arg=>R, Ser=>S,Thr=>T, Val=>V, Trp=>W,Tyr=>YThr=>T, Val=>V, Trp=>W,Tyr=>Y

););print print ""Le code pour l’Arginine (Arg) est Le code pour l’Arginine (Arg) est

$trois_vers_un{Arg}\n";$trois_vers_un{Arg}\n";

Page 11: Bioinformatique et Perl

11Bioinfomatique et Perl

Recherches de motifsRecherches de motifs

C’est une des fonctionnalités les plus C’est une des fonctionnalités les plus importantes de Perlimportantes de Perl

En particulier, à l’aide d’expressions En particulier, à l’aide d’expressions régulièresrégulières

$sequence = $sequence = ""CCATTGCatC*TACAC...CCATTGCatC*TACAC..."";;

if ($sequence =~ /[^ATGC]/i ) { print if ($sequence =~ /[^ATGC]/i ) { print ""trouvé : $1\ntrouvé : $1\n"; "; }}

if ($sequence =~ /CA.C/i ) { print if ($sequence =~ /CA.C/i ) { print ""trouvé\ntrouvé\n"; "; }}

Page 12: Bioinformatique et Perl

12Bioinfomatique et Perl

Parcours d’un fichierParcours d’un fichier

Exemple de parcours ligne par ligne d’un Exemple de parcours ligne par ligne d’un fichier passé en paramètre du script Perl :fichier passé en paramètre du script Perl :

Par défaut, Par défaut, $_$_ contient la ligne à chaque contient la ligne à chaque lecture.lecture.

On peut nommer la variable explicitement :On peut nommer la variable explicitement : while ( $ligne = <> ) … while ( $ligne = <> ) …

while ( <> ) { # traitement print $_ ; }

Page 13: Bioinformatique et Perl

13Bioinfomatique et Perl

3. Traiter une sortie de 3. Traiter une sortie de BLASTBLAST blast.plblast.pl

C’est un exemple très classique en C’est un exemple très classique en bioinfobioinfo

Recherches et occurrences de motifs Recherches et occurrences de motifs dans les séquences Query et Sbjctdans les séquences Query et Sbjct

Attention : le programme ne fait peut-Attention : le programme ne fait peut-être pas exactement ce qu’on espère…être pas exactement ce qu’on espère…(cf résultats attendus : (cf résultats attendus : blast_res.txtblast_res.txt) )

Page 14: Bioinformatique et Perl

14Bioinfomatique et Perl

ExercicesExercices

Jouez le jeu, ne regardez pas les Jouez le jeu, ne regardez pas les solutions avant…solutions avant…

Rendre correct le programme Rendre correct le programme précédentprécédent

Explorer plusieurs solutionsExplorer plusieurs solutions