silico.biotoul.fr
 

InfoBio TD bioperl

From silico.biotoul.fr

(Difference between revisions)
Jump to: navigation, search
m (Created page with 'L'objet du TD est de se familiariser avec le langage Perl et le module BioPerl. [http://www.perl.org/ Perl] (pour Pratictal Extraction and Reporting Language) est un langage de …')
m
Line 13: Line 13:
* les scalaires (SCALAR) utilisant la notation <tt>$</tt>. Par exemple <tt>$filename = 'sequences.fasta'</tt> contiendra typiquement le nom (ou chemin) d'un fichier.
* les scalaires (SCALAR) utilisant la notation <tt>$</tt>. Par exemple <tt>$filename = 'sequences.fasta'</tt> contiendra typiquement le nom (ou chemin) d'un fichier.
* les listes ou tableaux (ARRAY) utilisant la notation <tt>@</tt>. Par exemple <tt>@filenames = ['comE_sequences.fasta', 'comD_sequences.fasta']</tt>. Pour accéder à un élément, on utilise un indice : <tt>$filenames[3]</tt> pour le quatrième élément.
* les listes ou tableaux (ARRAY) utilisant la notation <tt>@</tt>. Par exemple <tt>@filenames = ['comE_sequences.fasta', 'comD_sequences.fasta']</tt>. Pour accéder à un élément, on utilise un indice : <tt>$filenames[3]</tt> pour le quatrième élément.
-
* les tableaux associatifs (HASH) avec la notation <tt>%</tt>. Par exemple <tt>%gene_annotations = { 'comD'=>'sensor', 'comE'=>'response regulator' }</tt> ou bien <tt>%gene_annotations = [ 'comD', 'sensor', 'comE', 'response regulator']</tt>. Pou accéder à un élément : <tt>$gene_annotation{'comD'}</tt>.
+
* les tableaux associatifs (HASH) avec la notation <tt>%</tt>. Par exemple <tt>%gene_annotations = { 'comD'=>'sensor', 'comE'=>'response regulator' }</tt> ou bien <tt>%gene_annotations = [ 'comD', 'sensor', 'comE', 'response regulator']</tt>. Pour accéder à un élément : <tt>$gene_annotation{'comD'}</tt>.
Pour plus de détails, cf. http://perldoc.perl.org/perldata.html
Pour plus de détails, cf. http://perldoc.perl.org/perldata.html
 +
 +
= Quelques fonctions essentielles =
 +
L'ensemble des fonctions disponibles : http://perldoc.perl.org/perlfunc.html#Perl-Functions-by-Category
 +
 +
 +
== Opérations sur les listes ==
 +
Les listes peuvent se manipuler comme des piles (LIFO), files (FIFO) ou autres grâce aux opérations :
 +
* <tt>$elem = pop @list;</tt> récupère (et supprime de la liste) le dernière élément
 +
* <tt>push @list, $elem;</tt> opération duale de pop : ajoute l'élément en fin de liste
 +
* <tt>$elem = shift @list;</tt> récupère (et supprime) le premier élément de la liste
 +
* <tt>unshift @list, $elem</tt> dévinez !
 +
* <tt>$nb_elem = scalar @list;</tt> interprète la liste dans un contexte scalaire ce qui correspond à récupérer le nombre d'éléments.

Revision as of 15:45, 7 February 2012

L'objet du TD est de se familiariser avec le langage Perl et le module BioPerl.

Perl (pour Pratictal Extraction and Reporting Language) est un langage de programmation/script. Il met en oeuvre le paradigme de la programmation itérative.

Contents

Types de données

  • nombre entier
  • nombre réels
  • chaîne de caractères. Comme dans un script shell, dans une chaîne délimitée par des simples quote ' , les variables ne sont pas remplacées par leur valeur contrairement aux chaînes délimitées par des double quote ".
  • descripteur de fichier
  • référence (pointeur)

Structures de données

  • les scalaires (SCALAR) utilisant la notation $. Par exemple $filename = 'sequences.fasta' contiendra typiquement le nom (ou chemin) d'un fichier.
  • les listes ou tableaux (ARRAY) utilisant la notation @. Par exemple @filenames = ['comE_sequences.fasta', 'comD_sequences.fasta']. Pour accéder à un élément, on utilise un indice : $filenames[3] pour le quatrième élément.
  • les tableaux associatifs (HASH) avec la notation %. Par exemple %gene_annotations = { 'comD'=>'sensor', 'comE'=>'response regulator' } ou bien %gene_annotations = [ 'comD', 'sensor', 'comE', 'response regulator']. Pour accéder à un élément : $gene_annotation{'comD'}.

Pour plus de détails, cf. http://perldoc.perl.org/perldata.html

Quelques fonctions essentielles

L'ensemble des fonctions disponibles : http://perldoc.perl.org/perlfunc.html#Perl-Functions-by-Category


Opérations sur les listes

Les listes peuvent se manipuler comme des piles (LIFO), files (FIFO) ou autres grâce aux opérations :

  • $elem = pop @list; récupère (et supprime de la liste) le dernière élément
  • push @list, $elem; opération duale de pop : ajoute l'élément en fin de liste
  • $elem = shift @list; récupère (et supprime) le premier élément de la liste
  • unshift @list, $elem dévinez !
  • $nb_elem = scalar @list; interprète la liste dans un contexte scalaire ce qui correspond à récupérer le nombre d'éléments.