Title: Initiation l'informatique pour les biologistes et futurs bioinformaticiens
1Initiation à l'informatique pour les biologistes
(et futurs bio-informaticiens)
- PLAN
- Introduction générale (1 séance de 3 heures )
- Introduction au système dexploitation Linux (2)
- Le shell et les shellscripts (2)
- Configuration et utilisation de lenvironnement
de travail (2 ) - La manipulation textuelle avec les commandes
(e)grep, sed et awk (2) - Généralités sur les langages de programmation
(2) - Introduction au langage Perl (2)
2Pourquoi l'Informatique dans la Biologie ?
- Le biologiste a-t-il vraiment besoin de
l'informatique ? - Si c'est le cas, pouquoi faire ?
- L'informaticien peut-t-il aider le biologiste ?
- Si c'est le cas, comment l'aider ?
- Peut-on imaginer une biologie sans informatique
!? - L'informatique fait-elle avancer vraiment la
biologie ? - etc.
3Quelques applications sur l'imagerie médicale
41. Introduction générale
- Bio-informatique combinaison de linformatique
et de la biologie. - La bio-informatique est la discipline de
l'analyse de l'information biologique, en
majorité sous la forme de fichiers de séquences
génétiques et de structures moléculaires. - Elle est constituée par un ensemble des concepts
et des techniques nécessaires à l'interprétation
de l'information génétique (séquences) et
structurale (repliement 3-D). - La bio-informatique n'est pas pour autant
dérivée de la " science " informatique elle
n'est qu'utilisatrice des ordinateurs et de leurs
langages dont la finalité est la compréhension
des mécanismes du vivant.
5Introduction générale
- - Quelles compétences pour un bio-informaticien ?
- Beaucoup sont utiles, mais il nest pas possible
de les apprendre toutes. Les compétences de
base - Un bon background en biologie moléculaire,
- Posséder une expérience avec les outils
informatiques " classiques " de biologie
moléculaire, - Savoir travailler en ligne de commande avec un
système dexploitation (Unix, Linux, Mac OSX), - Posséder une expérience dans un ou plusieurs
langages de programmation.
6Introduction générale
- Le but de ce cours
- Une initiation à lutilisation dun système
dexploitation de type Unix et à lutilisation de
la ligne de commande, - Une initiation aux concepts de la programmation
avec lécriture de scripts bash, awk et Perl. - S'initier aux langages de programmation de haut
niveau comme le C, C, et Java.
7Initiation à l'informatique pour les biologistes
(et futurs bio-informaticiens)
- PLAN
- Introduction générale (1 séance de 3 heures )
- Introduction au système dexploitation Linux (2)
- Le shell et les shellscripts (2)
- Configuration et utilisation de lenvironnement
de travail (2 ) - La manipulation textuelle avec les commandes
(e)grep, sed et awk (2) - Généralités sur les langages de programmation
(2) - Introduction au langage Perl (2)
82. Introduction au système d'exploitation Linux
- Système d'exploitation (abrégé OS pour
" Operating System ") interface utilisateur
(abstraction du matériel). - Exemples MSDOS, MacOS, OS/2, BeOS, QNX,
MS-Windows9x, MS-WindowsNT, UNIX, Linux. - Linux est un avatar de Unix. Ce dernier est né
dans les laboratoires de Bell (ATT) dans les
années 70. Unix/Linux sont des OS dits
" multi-utilisateurs " et " multi-tâches " - Multi-utilisateurs plusieurs personnes peuvent
partager les ressources de la même machine en sy
connectant (localement ou bien via le réseau).
Chaque utilisateur possède un compte protégé par
un couple login/password - Multi-tâches plusieurs programmes ou logiciels
peuvent sexécuter concurremment et simultanément.
9Introduction au système d'exploitation Linux
- Avantages et Inconvénients
- 1. Les plus de Linux
- C'est un système fiable, robuste, puissant et
efficace. - Il utilise très peu de ressources et peut
fonctionner sur des ordinateurs bas de gamme très
peu puissants. - Il est distribué librement avec son code source
(listing), basé sur le principe du logiciel libre
de la licence GPL (GNU General Public License).
Il est gratuit (ou à faible coût). - Il est développé par de nombreux programmeurs
(souvent bénévolement) impliquant une évolution
rapide et un résultat de qualité ainsi qu'une
correction des buggs. - Très stable et les plantages complets sont
rarissimes.
10Introduction au système d'exploitation Linux
- Avantages et Inconvénients
- 2. Les moins de Linux !
- Installation parfois difficile (ordinateurs
modernes). - Installation des programmes souvent problématique
(à cause de la particularité des différentes
distributions Linux). - Applications grand public moins nombreuses et
moins sophistiquées (par rapport à celles de
Windows par exemple). - Mais le retard diminue avec de nouvelles
interfaces graphiques incluant de nouvelles
applications suite bureatique, base de données,
programmes graphiques, ... - Le grand avantage reste sa diversité (pas de
contamination par les virus comme le cas de I
love you sous Windows).
11Introduction au système d'exploitation Linux
- Fonctionnement
- Sous Linux, un utilisateur interagit avec la
machine soit en ligne de commande (Shell), soit
au moyen dapplications graphiques. - Linterface graphique de Linux repose sur une
implémentation libre du système X-Window appelée
XFree86. - En envoyant des ordres (commandes) au système
dexploitation, lutilisateur peut utiliser la
puissance de calcul de la machine ainsi que les
périphériques de lordinateur (lecteurs CD,
imprimantes, réseau, etc.). - Le système dexploitation se charge de traduire
les ordres de lutilisateur en un langage
"machine".
12Introduction au système d'exploitation Linux
- Architecture
- Un système dexploitation comme Unix/Linux est
composé de fichiers (même les périphériques sont
représentés par des fichiers). - Un fichier est une zone particulière nommée (le
nom du fichier) dans la surface de stockage dun
ordinateur. Cette zone a un début et une fin et
peut-être de deux natures différentes - Un programme (un fichier exécutable) il
permettra de réaliser une action utilisant la
puissance de calcul ou les périphériques de la
machine, - Un fichier de données (un fichier non
exécutable) qui sera consulté/exploité par un
programme. Les fichiers de données peuvent se
diviser en fichiers binaires ou textuels.). - Un OS de type Unix/Linux a une structure
organisée selon une arborescence composée de
répertoires (ensembles de fichiers regroupant
dautres fichiers).
13Introduction au système d'exploitation Linux
- Comment exploiter une machine via le système
dexploitation - Cliquer sur des icônes (approche Windows 9x et
Me, anciens MacOS), - Ecrire les commandes directement sur une ligne
de commande (approche DOS, Windows NT/2000, et
surtout Unix, Linux, MacOSX), - Ecrire des programmes dans un langage de
programmation (valable pour tous les OS). - Cliquer sur une icône revient à utiliser
graphiquement une commande avec un
comportement par défaut.
14Introduction au système d'exploitation Linux
- Comment utiliser Linux chez vous !
- La meilleure solution utiliser un vrai système
UNIX tel que LINUX sous forme de distributions.
Une distribution comprend à la fois le système
d'exploitation Linux et de très nombreux
programmes associés sous forme de paquets
(packages). - Les distributions LINUX sont très nombreuses
(http//distrowatch.com/). Les distributions
telles que Mandriva, Fedora, SUSE, Debian,
Slackware, Knoppix vont vous permettre
dinstaller facilement Linux en dual-boot avec
votre Windows. - Solutions alternatives avec les distributions
live (Knoppix par exemple http//www.knoppix.com
/), vous pouvez utiliser un système LINUX sans
aucune installation sur votre ordinateur,
simplement en bootant sur le CD. Distributions
live orientées bioinformatiques (BioKnoppix gt
http//bioknoppix.hpcf.upr.edu/, Vigyaan gt
http//www.vigyaancd.org/, etc.).
15Initiation à l'informatique pour les biologistes
(et futurs bio-informaticiens)
- PLAN
- Introduction générale (1 séance de 3 heures )
- Introduction au système dexploitation Linux (2)
- Le shell et les shellscripts (2)
- Configuration et utilisation de lenvironnement
de travail (2 ) - La manipulation textuelle avec les commandes
(e)grep, sed et awk (2) - Généralités sur les langages de programmation
(2) - Introduction au langage Perl (2)
163. Le Shell et les Scripts Shell(TP1, 2 et 3)
- Qu'est-ce qu'un Shell ?
- Le shell est un programme fournit avec lOS
jouant deux rôles interpréteur de commandes et
langage de programmation. - Il permet à lutilisateur de dialoguer avec
la machine hébergeant lOS. - Il existe plusieurs types de shell sous Linux
sh, ksh, csh, tcsh, zsh, bash. - Le shell que nous utiliserons sera le bash (pour
Bourne Advanced SHell). - Initialement, les systèmes UNIX étaient dépourvus
dinterface graphique et un utilisateur
travaillait directement dans le shell. - Actuellement, dans le cas dune utilisation de
lOS via une interface graphique (KDE, Gnome pour
Linux, Aqua pour MacOSX).
17Le Shell et les Scripts Shell(TP1, 2 et 3)
- Commandes
- Lorsqu'une connexion est établie, un prompt
saffiche à gauche de lécran. Le shell attend
les commandes de lutilisateur. Cette commande
sera un ordre que le shell va interpréter et
exécuter si la commande est reconnue (sinon le
shell retourne un message derreur). - Il existe deux grands types de commande
- celles appelant des fonctionnalités internes au
shell, - celles appelant des programmes externes au
shell. - Dans votre shell, comparez leffet des commandes
" which ls " et " which more ". Quelle est la
nature de la commande which ?
18Le Shell et les Scripts Shell(TP1, 2 et 3)
- Commandes
- man ltnom_de_la_commandegt (voir TP 1)
- commande options ltargumentsgt
- commande ce que lon veut faire au système (à
la machine) - options (facultatives) comment on le fait
- arguments (éventuels) sur quoi on le fait
(fichiers,). - La commande est saisie au clavier et est validée
par un " return " (Enter) pour être exécutée. - Pour test echo hello, date, ls, ls l, ls a
l, ls al
19Le Shell et les Scripts Shell(TP1, 2 et 3)
- Fichiers et arborescences de fichiers (voir TP 1)
- Le système de fichiers des OS de type Unix/Linux
est un arbre (organisation hiérarchique) dont les
nuds sont des répertoires et les feuilles des
fichiers. - La racine de cet arbre (le niveau le plus haut)
est représentée par le caractère / . - Quand un utilisateur se connecte au système, il
est automatiquement placé dans son répertoire
daccueil. - Un chemin commence par un des caractères
suivants - / décrit un chemin absolu en commençant par
la racine du système - décrit un chemin relatif en commençant par
le répertoire daccueil de lutilisateur - . décrit un chemin relatif en commençant par le
répertoire courant
20Le Shell et les Scripts Shell(TP1, 2 et 3)
- Structure de l'arborescence Linux (voir TP 1)
- / racine
- /bin contient des exécutables essentiels
au système (ls, rm, cp) - /boot contient les fichiers de démarrage
de Linux - /dev contient les points dentrée des
périphériques - /etc contient les commandes et
les fichiers nécessaires à ladministration du
système (passwd, group,..) - home contient les répertoires personnels des
utilisateurs - /lib contient des librairies partagées
essentielles au système lors du démarrage - /mnt contient les points de montage des
partitions temporaires (disques externes,
disquettes,) - /root répertoire de ladministrateur root
21Le Shell et les Scripts Shell(TP1, 2 et 3)
- Fichiers et leurs droits (voir TP 2)
- Notions abordées
- Commandes chmod, cat, more, less, grep, cut,
find, tail - Les redirections et le pipe
- Dans tout système Unix, les répertoires et les
fichiers ont des droits daccès. Vous pouvez les
mettre en évidence avec loption l de la
commande ls . - Il existe trois catégories dutilisateurs pour un
fichier - u le propriétaire du fichier (user)
- g le groupe
- o les autres (others)
22Le Shell et les Scripts Shell(TP1, 2 et 3)
- Fichiers et leurs droits (voir TP 2)
- ainsi que quatre types de droits
- r lecture (read)
- w écriture (write)
- x exécution
- - aucun droit
- En utilisant la commande ls l , on obtient le
détail des fichiers - d rwx --- --- 3 fabricej fabricej
4096 avr 29 1100 Documents - d rwx rwx r-- 2 fabricej users 4096
avr 29 0023 Nautilus - d rwx rwx r-x 2 fabricej admin 4096
avr 29 1412 archives - d rwx --- --- 5 fabricej fabricej
4096 avr 29 0038 evolution - d rwx rwx r-x 6 fabricej fabricej
4096 avr 29 1234 office52 - - rw- rw- r-- 1 fabricej team1
563125 avr 29 1412 DEA
23Le Shell et les Scripts Shell(TP1, 2 et 3)
- Fichiers et leurs droits (voir TP 2)
- à savoir (par colonne)
- type de fichier (d directory, - fichier
ordinaire, l lien) - droits de l'utilisateur
- droits du groupe
- droits des autres
- nombre de liens physiques
- propriétaire du fichier
- groupe du fichier
- taille du fichier (en octets ou bytes)
- date de la dernière modification du fichier
- nom de fichier
24Le Shell et les Scripts Shell(TP1, 2 et 3)
- Fichiers et leurs droits (voir TP 2)
- La commande chmod permet de changer les
droits dun fichier dont vous êtes le
propriétaire. Etudiez sa documentation (voir TP
2). - Comment donner le droit dexécution à un fichier
pour vous, le groupe ou bien tout le monde ? - Quelle différence faites-vous entre ls et ls a ?
Quel est la caractéristique et le rôle des
nouveaux fichiers qui sont apparus ? - Quelques commandes utiles
- touch ltfichiergt crée un fichier vide
- mkdir ltrépertoiregt crée un répertoire vide (make
directory) - rmdir ltrépertoiregt supprime un répertoire vide
(remove directory) - rm ltfichiergt supprime le fichier (fichier
normal ou répertoire) - rm r ltrépertoiregt supprime un répertoire et de
manière récursive tous les
sous-répertoires et fichiers quil contient
25Le Shell et les Scripts Shell(TP1, 2 et 3)
- Commandes utiles (voir TP 1 et 2)
- more ltfichiergt visualisation dun fichier
- cp ltfichier1gt ltfichier2gt copie le contenu de
fichier1 dans fichier2, en détruisant
fichier2 sil existait - mv ltfichier1gt ltfichier2gt renomme ou déplace le
fichier1 en fichier2 - grep ltchaînegt ltfichiergt recherche une chaîne de
caractère dans un fichier donné - echo ltchaînegt retourne les arguments donnés (ou
afficher chaîne ). - Afin de connaître dautres commandes, étudiez les
répertoires " /bin " et " /usr/bin ". Noubliez
pas la commande " man " pour obtenir la
description de ces commandes.
26Le Shell et les Scripts Shell(TP1, 2 et 3)
- Utilisation avancée du Shell (voir TP 4, 5 et 6)
- Maintenant que vous êtes un peu plus familier
avec l'environnement Unix, nous allons en
apprendre davantage sur la manipulation des
fichiers. - La véritable puissance du shell s'exprime en
combinant entre eux les résultats de différentes
commandes (scripts). - Pour illustrer cette approche, nous allons
extraire des informations d'un fichier pdb
(décrivant la structure 3D d'une molécule
biologique) et les mettre en forme pour obtenir
un fichier texte. - Cet exemple va vous permettre d'enchaîner
l'utilisation d'un certain nombre de commandes
Unix utilisées couramment.
27Le Shell et les Scripts Shell(TP1, 2 et 3)
- Utilisation avancée du Shell (voir TP 4, 5 et 6)
- Etape n1 visualisation d'un fichier pdb
- Dans un premier temps, vous pouvez visualiser le
fichier pdb sur lequel vous allez travailler - more ltnom fichiergt , nedit ltnom fichiergt ou même
gedit ltnom fichiergt, etc. - (La commande " more " permet un affichage
" paginé " d'un fichier (déplacement dans un
texte page par page). Par comparaison, vous
pouvez utiliser la commande cat ltnom de fichiergt) - Vous constatez qu'un fichier pdb est un fichier
bien structuré dont chaque ligne commence par un
mot clé (ATOM, REMARK ,) et que le fichier
commence par HEADER et se termine par END. - Pour les fichiers pdb - 1.
http//www.rcsb.org/pdb/ 2.
http//www.rcsb.org/pdb/
28Le Shell et les Scripts Shell(TP1, 2 et 3)
- Utilisation avancée du Shell
- Objectif Notre but sera d'obtenir un fichier
(hiv.res) regroupant le titre et les auteurs de
l'article scientifique correspondant au fichier
hiv.pdb (informations rassemblées sous le mot-clé
" JRNL "). -
hiv.pdb ------gt hiv.res - Etape n2 placer des données textuelles dans un
nouveau fichier - Vous avez vu que vous pouvez afficher des
informations à l'écran (par exemple avec la
commande " ls l "). - L'écran est appelé la sortie standard c'est la
sortie par défaut pour les résultats de certaines
commandes (mais pas de toutes). - Dans notre cas, nous aimerions placer ces
informations dans un fichier. Il faut
" rediriger " la sortie standard vers ce fichier
(voir TP 2 sur les redirections).
29Le Shell et les Scripts Shell(TP1, 2 et 3)
- Utilisation avancée du Shell (voir TP 2
redirections) - Pour cela on utilise le symbole de redirection
gt redirection de la sortie standard (stdout). - Comparez dans votre répertoire d'accueil " ls
l " et " ls -l gt toto.res ". Dans le deuxième
cas, où sont passées les informations et comment
les visualiser (cat, more, less, etc.)? - Supposons maintenant que vous vouliez rajouter
dans votre fichier toto.res la date du jour
(commande " date " sans arguments ni options).
Comment feriez-vous ? Si vous rencontrez des
problèmes, il existe le symbole gtgt qui permet
d'enregistrer des informations dans votre fichier
sans écraser les données déjà présentes. Quelle
est alors la solution ? - Maintenant que vous savez placer des informations
apparaissant à l'écran dans un fichier, voyons
comment sélectionner les informations à y placer.
30Le Shell et les Scripts Shell(TP1, 2 et 3)
- Utilisation avancée du Shell
- Etape n3 extraction d'informations d'un
fichier texte - Comme vous le savez déjà, il est possible de
visualiser l'ensemble d'un fichier par une
commande telle que " more " ou " cat " par
exemple. Dans notre cas, nous aimerions pouvoir
ne sélectionner que certaines informations du
fichier. - La commande " grep " permet d'afficher une ligne
contenant un motif particulier. Affichez les
lignes contenant le mot " JRNL " (correspondant
aux lignes portant les informations de l'article
scientifique), sachant que grep s'utilise de la
façon suivante - - grep ltchaîne de caractères recherchéegt ltnom
de fichiergt - - exemple grep " bonjour " test.txt (voir TP
2). - Remarque Une option intéressante de grep est de
donner les lettres ou chiffres qui nous
intéressent. Ainsi, grep a-d tmp afficherait
les lignes du fichier tmp qui contiennent les
lettres a jusqu'à d. grep 0-9 tmp affiche les
lignes contenant des chiffres.
31Le Shell et les Scripts Shell(TP1, 2 et 3)
- Utilisation avancée du Shell
- Autre solution Une autre façon de procéder est
d'utiliser un " tube " ou " pipe " (représenté
par le symbole (faire " AltGr6 " sur votre
clavier PC). - Lécriture " commande 1 commande2 " permet
d'enchaîner les commandes le résultat de la
commande 1 est passé directement à la commande 2
et le résultat que vous observez à l'écran est
celui de la commande 2. - On peut ainsi appliquer un " filtre " avec la
commande " grep " sur laffichage de la commande
" more ". - Maintenant, nous pouvons combiner tout ce que
nous savons en plaçant le résultat de cette
combinaison de commandes dans notre fichier
hiv.res.
32Le Shell et les Scripts Shell(TP1, 2 et 3)
- Utilisation avancée du Shell
- Etape n4 sélectionner une partie de
linformation désirée dans une ligne - En utilisant la commande précédente, vous avez vu
que lon obtient lensemble des lignes du fichier
hiv.pdb portant le mot " JRNL ". - Nous aimerions ne pouvoir sélectionner que
linformation " pertinente " de ces lignes et non
les en-têtes. - Pour cela, nous pouvons filtrer la sortie de la
commande " grep " grâce cette fois à la commande
" cut ". - Sachant que les informations pertinentes suivant
le mot clé " JRNL " commencent systématiquement
au 20ième caractère, en utilisant la
documentation de la commande " cut " et ce que
vous avez appris jusque là, affichez à lécran ou
dans un fichier uniquement linformation
pertinente de vos lignes (voir exmple du pipe
dans le TP 2).
33Le Shell et les Scripts Shell(TP1, 2 et 3)
- Utilisation avancée du Shell
- Etape n5 créer du texte " de novo "
- Nous allons essayer de donner une certaine mise
en forme à notre fichier. Par exemple, donner un
titre à notre document. - La commande echo affiche à l'écran ce que nous
lui donnons en argument. Essayez echo " Bonjour
le Monde! ". - Comme vous savez comment placer ce qui est
affiché à l'écran dans un fichier, comment feriez
vous pour écrire " ARTICLE DU FICHIER "
dans le fichier hiv.res (echo .... gt ....)?
34Le Shell et les Scripts Shell(TP1, 2 et 3)
- Utilisation avancée du Shell
- Etape n6 créer un fichier affichant les
auteurs de l'article scientifique du fichier pdb - A la suite du titre mis en forme, nous voulons
placer dans notre fichier les auteurs de
l'article (avec une mise en forme également). - Repérez le mot clé portant cette information et
placez la dans votre fichier hiv.res a la suite
du titre.
35Le Shell et les Scripts Shell(TP1, 2 et 3)
- Le Shellscript (voir Tps 4, 5 et 6)
- Etape n7 introduction à la notion de shell
script - Pour obtenir un résultat correct, il va falloir
améliorer et donc enrichir et compliquer notre
liste de commandes. - Cela va rapidement devenir fatiguant d'écrire la
suite de toutes les commandes pour générer notre
fichier texte en intégralité. - Pour éviter cela, il faut rassembler ces
commandes dans un fichier en un shell script. - L'ensemble des commandes sera executé
séquentiellement par le shell à la suite de
l'appel du fichier de script.
36Le Shell et les Scripts Shell(TP1, 2 et 3)
- Le ShellScript
- Créez un fichier vide nommé hiv_script (commande
" touch "). - Placez l'ensemble des commandes que vous avez
tapées précédemment (l'une en dessous de
l'autre) dans ce fichier avec l'éditeur vi ou un
éditeur graphique comme gedit/nedit. - La première ligne du script sera " !/bin/bash "
(c'est une convention pour ainsi dire). - NB étant donné que vous avez tapé l'ensemble
des commandes dans le shell et que ce dernier
possède un historique permettant de rappeler les
commandes avec la touche fléchée vers le haut,
comment placer vos commandes au sein du fichier
sans les réécrire ? (indice pensez à la
commande " echo ") - Une fois le fichier enregistré, effacez votre
fichier " hiv.res " de la manipulation précédente
et lancer votre script par la commande
" ./hiv_script " (il faudra avoir placé le droit
d'exécution pour l'utilisateur chmod 777
hiv_script).
37Le Shell et les Scripts Shell(TP1, 2 et 3)
- Le Shellscript (voir TP 5 variables
d'environnement) - Etape n8 Introduction à la notion de
variables - Pour améliorer notre script, il faudrait pouvoir
l'appliquer sur n'importe quel fichier pdb et
placer les informations dans un fichier dont le
nom serait différent suivant l'utilisateur (et
non fixé pour tout le monde). - Il faudrait pouvoir donc taper " ./hiv_script
ltfichier_sourcegt ltfichier_destinationgt " et le
script s'adapterait aux arguments qu'on lui donne
en ligne de commande. - Ceci est possible grâce aux variables. Des
variables (contenant des chaînes de caractères ou
des chiffres) peuvent être créées au besoin dans
le shell.
38Le Shell et les Scripts Shell(TP1, 2 et 3)
- Essayez
- var " Bonjour le Monde! "
- echo var
- Dans la première ligne, on crée une variable
" var " initialisée à la valeur " Bonjour le
Monde! ". - Dans la seconde ligne, on affiche le contenu de
cette variable. La convention veut que l'on
obtienne le contenu d'une variable en précédant
son nom du symbole . - Unix possède des variables prédéfinies. Par
exemple, si vous tapez " ./hiv_script
ltfichier_destinationgt ltfichier_sourcegt ", la
valeur de ltfichier_destinationgt sera obtenue par
1 et celle de fichier_source par 2.
39Le Shell et les Scripts Shell(TP1, 2 et 3)
- Créez un fichier test_script (avec la commande
touch) et écrivez dedans - !/bin/bash
- echo " Mon fichier source est 2 et
mon fichier destination est 1 " - Enregistrez ce fichier, faites un chmod ux
./test_script et lancez le en écrivant
" ./test_script hiv.res hiv.pdb ". - Modifiez maintenant votre script hiv_script pour
qu'il puisse extraire ses informations de
n'importe quel fichier pdb pour les enregistrer
dans n'importe quel fichier précisé par
l'utilisateur.
40Le Shell et les Scripts Shell(TP1, 2 et 3)
- Etape n9 Obtenir le script final
- Maintenant que vous avez tous les éléments en
main, constituez votre script final qui
devra générer un fichier texte du style - ARTICLE DU FICHIER
- Liste des auteurs
- E.ENNIFAR,M.YUSUPOV,P.WALTER,R.MARQUET,C.EHRESMANN
, - B.EHRESMANN,P.DUMAS
- Titre
- THE CRYSTAL STRUCTURE OF THE DIMERIZATION
- INITIATION SITE OF GENOMIC HIV-1 RNA REVEALS AN
- EXTENDED DUPLEX WITH TWO ADENINE BULGES
41Le Shell et les Scripts Shell(TP1, 2 et 3)
- Etape n9 Unix moins puissant que Windows ?
- Jusquà présent, le travail fournit nest pas à
la hauteur du résultat (autant prendre son Word
et réaliser un copier-coller). - Nous allons modifier le script afin de pouvoir
extraire les informations bibliographiques de
nombreux fichiers pdb stockés dans un répertoire
de l'arborescence Linux. - Le shell interprète certains caractères de
manière particulière. Ces caractères sont appelés
" jokers " - remplace nimporte quel caractère ou
chaîne de caractères, - ? remplace un caractère unique.
42Le Shell et les Scripts Shell(TP1, 2 et 3)
- Comparez " more hiv.pdb " avec " more .pdb ",
avec " more hi.pdb " et avec " more ???.pdb "
dans votre répertoire daccueil. - Mais notre script, dans son état actuel, ne va
tenir compte que des deux premiers arguments de
la ligne de commande (1 et 2). - Nous devons lui indiquer les instructions
suivantes tant que tu trouves un argument de
type xxx.pdb sur la ligne de commande, fait le
traitement pour ce fichier. - Pour cela nous devons utiliser un élément très
utilisé en programmation une structure de
contrôle. - Il en existe plusieurs et celle nous intéressant
sera un " while ". Nous la couplerons à un
mot-clé du shell qui est " shift ". - Cette commande déplace d'un cran vers le bas
toutes les variables de paramètres (3 devient 2
et 2 devient 1). - Améliorez votre script et appliquez-le à un
répertoire possédant plusieurs fichiers pdb.
Visualisez le fichier hiv.res obtenu.
43Le Shell et les Scripts Shell(TP1, 2 et 3)
- Exemple du Script final
- Version pour traiter un seul fichier pdb
- !/bin/bash
- design de la fonction de récuperation
- recup()
- more fichier_source grep "MOT1" grep
"MOT2" cut -c 20- gtgt fichier_dest -
- fichier_dest1
- if -e fichier_dest
- then rm f fichier_dest
- fi
44Le Shell et les Scripts Shell(TP1, 2 et 3)
- on traite le fichier pdb
- fichier_source2
- echo -e "\n ARTICLE DU FICHIER
fichier_source\n" gt fichier_dest - recuperation des auteurs
- echo -e "Liste des auteurs \n" gtgt fichier_dest
- MOT1"JRNL"
- MOT2"AUTH"
- recup
- recuperation du titre
- echo -e "\nTitre \n" gtgt fichier_dest
- MOT2"TITL"
- recup
- exit 0
45Le Shell et les Scripts Shell(TP1, 2 et 3)
- Exemple du Script final
- Version pour traiter un nombre illimité de
fichiers pdb - !/bin/bash
- design de la fonction de récuperation
- recup()
- more fichier_source grep "MOT1" grep
"MOT2" cut -c 20- gtgt fichier_dest -
- fichier_dest1
- MOT1"JRNL"
- if -e fichier_dest
- then rm f fichier_dest
- fi
46Le Shell et les Scripts Shell(TP1, 2 et 3)
- on traite le ou les fichiers pdb
- while "2" ! ""
- do
- fichier_source2
- echo -e "\n ARTICLE DU FICHIER
fichier_source\n" gtgt fichier_dest - recuperation des auteurs
- echo -e "Liste des auteurs \n" gtgt fichier_dest
- MOT2"AUTH"
- recup
- recuperation du titre
- echo -e "\nTitre \n" gtgt fichier_dest
- MOT2"TITL"
- recup shift done exit 0
47Initiation à l'informatique pour les biologistes
(et futurs bio-informaticiens)
- PLAN
- Introduction générale (1 séance de 3 heures )
- Introduction au système dexploitation Linux (2)
- Le shell et les shellscripts (2)
- Configuration et utilisation de lenvironnement
de travail (2 ) - La manipulation textuelle avec les commandes
(e)grep, sed et awk (2) - Généralités sur les langages de programmation
(2) - Introduction au langage Perl (2)
484. Configuration et utilisation de
l'environnement de travail
- L'éditeur VI (voit TP1)
- Le programme VI (prononcer "vee-eye") est un
éditeur de texte en ligne de commande vous
permettant de modifier très facilement vos
fichiers en absence de toute interface graphique.
- En conséquence, toutes les fonctionnalités quil
propose sont réalisées par raccourcis clavier. - Sur le système UNIX le plus simple possible vous
pouvez toujours vous attendre à pouvoir utiliser
VI ou un de ces clones (VIM par exemple pour " VI
Improved "). - Pour lancer VI, tapez sur la ligne de commande
- Vi ou vi nom_de_fichier
494. Configuration et utilisation de
l'environnement de travail
- L'éditeur VI (voit TP1)
- VI possède deux modes le mode de commande et le
mode dédition. - On peut distinguer un troisième mode (ex mode)
qui est équivalent au mode de commande mais dont
toutes les commandes tapées commencent par le
caractère " " (commandes ex). - Au démarrage, VI se trouve dans le mode de
commande. On passe en mode dinsertion en tapant
les touches suivantes - touche i insertion à la position du curseur
- a insertion après la position du curseur
- o insertion en commençant une nouvelle ligne
en dessous de la ligne où se trouve le curseur.
504. Configuration et utilisation de
l'environnement de travail
- L'éditeur VI (voit TP1)
- Voici une liste de touches et de commandes ex les
plus courantes à utiliser - Se déplacer dans le fichier
- h,j gauche, bas
- k,l haut, droit
- w,W déplacement mot par mot vers lavant
- b,B déplacement mot par mot vers larrière
- e,E fin du mot
- ),( commencement phrase suivante, précédente
514. Configuration et utilisation de
l'environnement de travail
- , commencement paragraphe suivant, précédent
- , commencement section suivante, précédente
- 0, première, dernière position de la ligne
courante - H première ligne de lécran
- M ligne médiane de lécran
- L dernière ligne de lécran
- n déplacement à la ligne n
- 0 déplacement à la première ligne du fichier
- déplacement à la dernière ligne du fichier
524. Configuration et utilisation de
l'environnement de travail
- L'éditeur VI (voit TP1)
- Modifier un fichier
- i,a insère du texte avant/après le curseur
- I,A insère du texte avant le commencement ou
après la fin de la ligne - o,O ouvre une nouvelle ligne en dessous, au
dessus du curseur - r modifie un caratcère
- cw modifie un mot
- cc modifie la ligne courante
534. Configuration et utilisation de
l'environnement de travail
- R écrit par dessus les caractères
- s efface le caractère et insère un nouveau
texte - S efface la ligne courante et la remplace par
un nouveau texte - x efface le caractère sous le curseur
- X efface le caractère avant le curseur
- dw efface un mot
- dd efface la ligne courante
- 3dd efface les trois lignes à partir de la
ligne courante - yw copie un mot
544. Configuration et utilisation de
l'environnement de travail
- Rechercher dans le fichier
- /pattern rechercher un pattern vers lavant
- ?pattern rechercher un pattern vers larrière
- n,N répéter la recherche dans la même
direction, dans la direction opposée - Manipulation de fichiers
- w enregistrer le fichier
- w nom_de_fichier enregistre le fichier sous un
nouveau nom - w ! forcer à enregistrer
- x enregistree le fichier et quitter, q !
forcer à quitter, q quitter
554. Configuration et utilisation de
l'environnement de travail
- Fichiers de démarrage du Shell
- Linux possède plusieurs types de shell possédant
chacun leurs avantages. - Le shell qui est associé à votre compte est
précisé dans le fichier /etc/passwd. Ce shell est
lancé directement après vous être identifié au
système. - Un shell utilise une collection de fichiers de
démarrage pour aider à la création d'un
environnement de travail. Pour le bash, ces
fichiers sont - /etc/profile cest le premier fichier lu par le
shell. Il définit des variables denvironnement
globales pour tous les utilisateurs (tel que le
PATH) - /.bash_profile équivalent privé du fichier
/etc/profile
564. Configuration et utilisation de
l'environnement de travail
- /etc/bashrc et son équivalent privé .bashrc
- /.bash_history contient une liste des
commandes utilisées récemment - /.bash_logout il est lu par le shell quand un
utilisateur se déconnecte du système. - Les variables denvironnement (voir TP 5)
- La commande printenv localisée dans le répertoire
/usr/bin permet dafficher la liste des variables
denvironnement définies ou bien de consulter la
valeur dune en particulier. - Essayez
- printenv SHELL
- printenv
574. Configuration et utilisation de
l'environnement de travail
- Voici une liste de quelques variables
denvironnement courantes - EDITOR léditeur par défaut
- HOME le répertoire daccueil de lutilisateur
courant - LOGNAME le nom de lutilisateur courant
- MAIL le répertoire à consulter pour larrivée
demails - OSTYPE le système dexploitation utilisé
- PATH le chemin de recherche des commandes
- SHELL nom du shell en cours dutilisation
- USER nom de lutilisateur courant
584. Configuration et utilisation de
l'environnement de travail
- En plus des variables définies par défaut dans le
système, il est possible de définir des variables
propres à lutilisateur. - La commande à utiliser varie suivant le shell. En
bash, elle prend la forme suivante - export VARIABLE_NAME'value'
- La suppression dune variable denvironnement se
fait avec la commande unset - unset VARIABLE_NAME
594. Configuration et utilisation de
l'environnement de travail
- Une des variables denvironnement la plus
importante est le PATH qui stocke la liste des
répertoires dans lequel le système recherche une
commande que vous venez de taper dans votre
shell. - Si une commande que vous souhaitez utiliser est
localisée dans un répertoire " non enregistré "
dans le PATH, il vous faut taper le chemin absolu
ou relatif en préfixe de cette commande pour que
le système puisse la trouver. - Affichez la valeur actuelle de la variable
denvironnement PATH. - Créez un répertoire bin dans votre répertoire
daccueil et rajoutez le dans votre PATH. Créez
dans ce répertoire un shell script qui se
contente dafficher une phrase sur la sortie
standard et essayez dexécuter cette nouvelle
commande de nimporte où simplement en tapant son
nom sur la ligne de commande.
604. Configuration et utilisation de
l'environnement de travail
- Les variables denvironnement créées directement
sur la ligne de commande restent temporaires.
Pour faire en sorte quelles deviennent
permanentes, il faut stocker la commande de
création (ou de modification) de la variable dans
un des fichiers de démarrage du shell, tel que le
fichier .profile. - Chaque utilisateur peut configurer son shell en
rajoutant des options dans les fichiers .profile
et .bashrc. - Enregistrez dans le fichier .profile votre PATH
incluant le répertoire bin de votre répertoire
daccueil. Rajoutez-y une nouvelle définition de
votre prompt - PS1"\ u_at_\ h \ W\ \ "
- Export PS1
- Redémarrez un nouveau shell et observez les
résultats de votre configuration.
614. Configuration et utilisation de
l'environnement de travail
- Dans votre fichier .bashrc, rajoutez lalias
suivant - alias xcal cal xmessage -file -
- Redémarrez un nouveau shell et observez les
résultats de votre configuration (lancez par
exemple la nouvelle commande xcal).
624. Configuration et utilisation de
l'environnement de travail
- Installer un nouveau logiciel dans votre
environnement - Lorsque vous voulez récupérer et installer un
nouveau logiciel, la première étape à distinguer
est de savoir si vous pouvez bénéficier
directement de lexécutable pour votre OS ou
bien si vous devez recompiler cette application
spécifiquement pour votre plateforme à partir des
codes sources de lapplication. Souvent on a - Sous forme de paquetage RPM. Il s'agit d'un
fichier portant l'extension .rpm permettant une
installation automatique, pour les distributions
Linux telles que RedHat ou Mandrake. - Sous forme d'archive. Il s'agit de fichiers
compressés comportant l'extension .tar.gz, .gz ou
.tar.bz2 - La première option est bien plus facile que la
deuxième. Dans tous les cas, la première étape
sera la récupération (le plus souvent maintenant
par Internet) des fichiers (sources ou binaires)
sous la forme dune archive.
634. Configuration et utilisation de
l'environnement de travail
- Cette archive peut prendre plusieurs formes
suivant loutil qui a servi à larchivage. - Voici la liste des archives les plus courantes
avec la commande adaptée pour le désarchivage - Suffix Commande de désarchivage
- .tar tar -xvf
- .tar.gz tar xzvf
- .zip unzip
- .bz2 bunzip2 d
- .tar.bz2 tar -jxvf
644. Configuration et utilisation de
l'environnement de travail
- Installation à partir dun paquetage RPM
- RPM (Red Hat Package Manager) est un outil de
gestion de packages (ensemble de fichiers
constituant une application) pour Linux. Il
permet d'installer des applications, ainsi que de
les supprimer facilement. - Grâce à une commande simple, les fichiers
s'installent directement dans les "bons"
répertoires. - Pour installer le package "clutalw.rpm" il
suffira de taper - rpm -ivh clustalw.rpm
- Pour supprimer un package il suffit de taper
- rpm -e clustalw ou encore rpm -Uvh
clustalw.rpm pour le mettre à jour.
654. Configuration et utilisation de
l'environnement de travail
- Installation à partir des fichiers binaires
" bruts " - Si vous disposez directement du bon exécutable,
le processus dinstallation se résumera à placer
les fichiers dans un répertoire adapté, à
configurer votre PATH pour pouvoir exécuter votre
programme de nimporte quel répertoire et à
éventuellement régler les paramètres de démarrage
propres à chaque logiciel. - Installation à partir des fichiers de codes
sources (Archive) - Si vous ne pouvez récupérer que les codes sources
de votre application, ou bien si le binaire nest
pas exécutable avec votre système, il vous faudra
recompiler lapplication. - Le processus de recompilation dépend du langage
de programmation choisi pour limplémentation du
logiciel (C, Java, Perl, Python,).
664. Configuration et utilisation de
l'environnement de travail
- Installation à partir des fichiers de codes
sources (Archive) - Par exemple, dans le cas dun programme codé en
C, vous trouverez un fichier nommé MakeFile
contenant toutes les directives pour recompiler
votre logiciel. Le plus souvent la série de
commandes suivante devrait suffire - ./configure
- make
- make install
- Si des erreurs saffichent, il est alors
nécessaire de gérer des problèmes de dépendances
de librairies qui dépasse le cadre de ce cours
dintroduction. Il est aussi vivement conseillé
de lire les fichiers INSTALL et/ou README fournis
généralement avec les sources pour connaître
exactement les commandes nécessaires à la
compilation du programme.
674. Configuration et utilisation de
l'environnement de travail
- Un cas pratique installation du programme
CLUSTALW - Le programme CLUSTALW est un aligneur de
séquences pour les séquences nucléiques et
protéiques. - Etape 1 télécharger CLUSTALW
- En utilisant la commande ftp, connectez-vous au
site ftp.ebi.ac.uk. Comme login utilisez
anonymous et ne rentrez aucun password. Récupérer
le fichier tar.gz pour clustalw dans le
répertoire /pub/software/unix/clustalw avec la
commande get. Quittez linterface ftp avec la
commande quit (on peut aussi utiliser
l'interface graphique gftp de ftp). - Etape 2 installer CLUSTALW
- Extraire les fichiers de larchive tar.gz. Vous
disposez ainsi des fichiers sources de
lapplicatif.
684. Configuration et utilisation de
l'environnement de travail
- Regardez le contenu dun de ces fichiers en
tapant, dans le répertoire qui a été créé - more clustalw.c
- Dans le répertoire qui a été créé tapez la
commande make. Un fichier exécutable clustalw
doit avoir été créé après cette étape. Tester le
bon fonctionnement du nouveau programme en tapant
./clustalw - Etape 3 créer un fichier dinput pour CLUSTALW
- CLUSTALW accepte des séquences au format FASTA.
Nous allons utiliser la commande cat pour créer
un petit fichier FASTA - cat gtsequences ltltSTOP
- gt gtseq1
694. Configuration et utilisation de
l'environnement de travail
- gt ATCGGATACGTACACGTACCAGTTTTGGG
- gt gtseq2
- gt ATTGAGAGCCCACAGATATTTTTTAGAGAGGACATAGGACAAGT
- gt gtseq3
- gt TTTGGCCCGGTTCCCCCCCCCAAAAATTGGTGAGATATG
- gt STOP
- Etape 4 aligner avec CLUSTALW vos séquences en
visualisant le résultat - Pour aligner les séquences, il faut donner en
argument à la commande du programme le nom du
fichier contenant les séquences. Que faut-il
taper dans le shell ? Comment visualiser le
résultat ?
704. Configuration et utilisation de
l'environnement de travail
- Etape 5 comment feriez-vous pour que votre
nouveau programme soit exécutable de nimporte
quel répertoire ?
Merci de ne pas venir la semaine prochaine car,
et oui, je vais me marier le samedi 4 novembre
2006
71Initiation à l'informatique pour les biologistes
(et futurs bio-informaticiens)
- PLAN
- Introduction générale (1 séance de 3 heures )
- Introduction au système dexploitation Linux (2)
- Le shell et les shellscripts (2)
- Configuration et utilisation de lenvironnement
de travail (2 ) - La manipulation textuelle avec les commandes
(e)grep, sed et awk (2) - Généralités sur les langages de programmation
(2) - Introduction au langage Perl (2)
725. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- La commande egrep
- La commande egrep est équivalente à la commande
grep que nous avons déjà vue, mais qui létend
( e pour extended) à lutilisation des
expressions régulières (elle est équivalente à
grep E). - egrep affiche sur la sortie standard les lignes
qui contiennent une chaîne de caractères
spécifiée en argument. - Une expression régulière est une série de
caractères formant un motif (un pattern ) pour
lequel la commande egrep cherchera des chaînes de
caractères cibles dans ce qui lui est donné
en input. - Une expression régulière est formée de caractères
standards (ou méta-caractères).
735. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- La commande egrep
- Motif de recherche Cibles
- (DNARNA) mots DNA ou RNA
- (DR)NA mots DNA ou RNA
- tmrRNA mots tRNA , mRNA ou rRNA
- .omics tous les mots se terminant en omics
(Genomics, Proteomics,) - b.g tous les mots de type big, bug, bag,
- eEnzyme mots Enzyme ou enzyme
commencant une phrase - eEnzyme mots Enzyme ou enzyme
terminant une phrase
745. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- La commande egrep
- Voici maintenant le détail dun certain nombre de
méta-caractères (caractères spéciaux) et leur
signification - . nimporte quel caractère
- nimporte quel caractère listé entre les
crochets (tous les caractères) - nimporte quel caractère non listé entre
les crochets - a-z nimporte quel caractère entre le a
minuscule et le z minuscule - Expressions régulières est constituée
progressivement de plusieurs briques de base
expressions régulières atomiques (era).
755. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- La commande egrep
- Récupérez le fichier didentifiant PR0064 sur le
site Web de la NDB ou 1KOG sur le site de la PDB.
- Affichez toutes les lignes qui contiennent les
amino-acides THR ou TYR (egrep T.R gt problème
on affiche également les lignes qui commence par
TER). - Affichez les lignes qui décrivent les 9 premiers
atomes (egrep 'ATOM 1-9'). - ? la liste ou le caractère précédent 0 ou une
fois - la liste ou le caractère précédent 0 ou
plusieurs fois - la liste ou le caractère précédent 1 ou
plusieurs fois
765. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- La commande egrep
- ? la liste ou le caractère précédent 0 ou une
fois - la liste ou le caractère précédent 0 ou
plusieurs fois - la liste ou le caractère précédent 1 ou
plusieurs fois - n la liste ou le caractère précédent exactement
n fois - n, la liste ou le caractère précédent au moins
n fois - min,max la liste ou le caractère précédent au
moins min fois et au plus max fois
775. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- La commande egrep
- A partir du fichier PDB que vous avez récupéré
- affichez toutes les lignes qui contiennent les
amino-acides THR ou TYR sans les lignes
commençant par TER egrep 'ATOM.T.R' - affichez tous les atomes des résidus méthionines
pour les chaînes E et H egrep 'ATOM.MET EH' - affichez tous les atomes des chaînes protéiques
C, D, K et L egrep ATOM.17CDKL
785. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- La commande egrep
- Passez maintenant à lapprentissage de la
commande sed ci-dessous pour générer facilement
un fichier au format FASTA contenant de
nombreuses séquences nucléotidiques. Ce fichier
va servir pour la suite de la manipulation des
expressions régulières (il sappellera sequences
dans la suite). - ( ) permet de grouper un pattern dans le but de
le répéter par exemple. - Trouvez le n pour chaque expression régulière qui
vous donne le nombre de résultats minimum entre
(AT)n, ATn et ATn. Quelle différence
faites-vous entre ces trois expressions
régulières ?
795. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- La commande egrep
- En utilisant le méta-caractère on peut
implémenter le OU logique (pattern1 pattern2) - Trouvez des séquences qui possèdent le site
EcorRI (GAATTC) ou HindIII (AAGCTT) ? - Comment feriez-vous pour savoir si des séquences
possèdent les deux sites en même temps ?
806. Généralités sur les langages de programmation
- La commande egrep
- Les parenthèses permettent également de mémoriser
un pattern qui a été trouvé dans une mémoire
interne et de le rappeler via le méta-caractère
\n. Quel type de séquences sont recherchées dans
ce cas - egrep (ACGT)(ACGT)(ACGT)(ACGT)\4
\4\4\4\3\2\1 ./sequences - Comment feriez-vous pour trouver un motif ADN
reconnu par une protéine et se décrivant de la
façon suivante - - 2 motifs 2R2Y2R directement répétés séparés par
une série de 10 à 20 T - - 2 motifs 2R2Y2R inversement répétés séparés par
une série de 10 à 20 T
815. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- La commande egrep
- Quelle différence faites-vous entre
- egrep AT10 et egrep (AT)\19
- egrep .10 et egrep (.)\19
- Nous avons vu que lon pouvait définir des
classes de caractères avec les méta-caractères
. Certaines classes sont directement disponibles
avec les expressions régulières - - alnum tous les caractères de 0 à 9
ou de A à Z ou de a à z - - digit tous les caractères de 0 à 9
825. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- La commande egrep
- - upper tous les caractères de A à Z
- - lower tous les caractères de a à z
- - blank tous les espaces et les tabulations
- - space tous les caractères despacement
- - punct tous les caractères de ponctuation
tel que . , ? !
835. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- Exercices à effectuer sur le fichier 1KOG
- nafficher que les lignes des 99 premiers
atomes egrep 'ATOM space 5 space
?1-9?0-9' - nafficher que les lignes des atomes de 10 à 99
egrep 'ATOM space 51-90-9' - afficher tous les atomes des résidus de 100 à
110, 200 à 210 et 300 à 310 egrep
'ATOM.191-3(00-910)' - afficher tous les atomes doxygène ou dazote
des résidus proline, thréonine, tyrosine et
histidine après le résidu n500 egrep
'ATOM.9ON.3(THRTYRPROHIS).35-9'
845. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- La commande sed
- Sed (pour Stream Editor) est un éditeur de flux
non interactif. Sed lit un fichier et modifie le
contenu suivant des règles définies au lancement
de la commande. - Le contenu modifié est affiché à lécran. Pour le
sauvegarder, il faut rediriger explicitement la
sortie standard de la commande vers un fichier.
Sed est utilisé notamment pour substituer du
texte. - La façon la plus simple dutiliser sed est sed
-n -e commandes_sed fichier_source - sed commande de substitution fichier (sed -n
-f fichier_commandes fichier_source) - la commande de substitution étant de la
forme s/pattern/remplacement/
855. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- La commande sed
- La commande de substitution peut-être plus
développée encore adresses/pattern/remplacemen
t/flags - Ladresse indique les lignes sur lesquelles
sappliqueront les substitutions. Les flags
modifient le comportement de la substitution. - Exemple sed 's / ancien_motif / nouveau_motif
/ g ' fichier_source - la fonction s substitution d'une chaîne de
caractère par une autre. - Les linges contenant la chaîne ancien_motif
seront affichés après substitution d'ancien_motif
par nouveau_motif, cela est dû au modifieur g qui
signifie global.
865. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- La commande sed
- Les adresses peuvent être de la forme
- a doit être un entier décrivant un numéro de
ligne - la dernière ligne
- /re/ toutes les lignes contenant un match à
lexpression régulière décrite - a,b de la ligne numéro a à la ligne numéro b. a
et b peuvent également être des expressions
régulières ou - x ! la négation dune adresse décrite avec une
des formes précédente
875. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- Les flags peuvent être de la forme
- g substitution globale sur la ligne (normalement
seule la première occurrence pour chaque ligne
est modifiée) - n substitution réalisée que sur la nième
occurrence pour chaque ligne - Entraînons-nous avec le petit fichier fasta
généré avec la commande cat précédemment - modifiez les noms de séquences de gtsequencex en
gtseqx sed s/sequence/seq/ - rajoutez le site EcoRI GAATTC à la fin des
séquences dADN sed '/gt/!s//GAATTC/'
885. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- La commande sed
- Sur le site de la banque de données Rfam,
récupérer les alignements Seed de la famille des
tRNA au format FASTA avec gaps. Créer un fichier
qui contient le même contenu sans les gaps sed
'/gt/!s/\.//g' ./tRNAs gt ./sequences - Que se passe-til si on réalise plutôt sed
's/.//g' ?? Voyez vous lutilité du caractère
\ ? Vous rappele-til quelque chose ? - Avec loption e on peut réaliser plusieurs
substitutions en une seule commande. Avec cette
option, enlevez les gaps et substituez les U par
des T sed e '/gt/!s/\.//g' e '/gt/!s/U/T/g'
./tRNAs gt ./sequences
895. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- La commande sed
- Sed permet également deffacer des lignes
entières (d), de rajouter du texte avant (i) ou
après (a) une ligne, de changer une ligne entière
(c) ou d'afficher à l'écran les lignes comprises
entre n et m (p). Les commandes a,i et c sont à
lignes multiples et requiert donc un \ . Ces
options fonctionnent uniquement avec des
adresses - - sed /gt/d ./sequences
- - sed /gt/c\gta sequence ./sequences
- - sed -n ' n,mp ' fichier_source
- - sed -n ' /motif_debut/ , / motif_fin /p '
fichier_source
905. La manipulation textuelle avec les commandes
(e)grep, sed et awk
- La commande awk
- AWK (Aho, Weinberger et Kernighan) est un outil
dédition du texte, comme les précédents, mais
qui comprend un vrai langage de programmation
permettant de réaliser des choses beaucoup plus
puissantes. - Ce qui ne peux pas être réalisé avec sed, peut
lêtre avec awk. Les choses que vous ne pouvez
pas réaliser avec awk seront réalisables avec des
langages de programmation plus évolués tels que
Perl qui sera vu dans un chapitre ultérieur. - Comme les langages de programmation plus évolués,
awk permet de réaliser des tests et des boucles,
de créer et manipuler des variables, de réaliser
des manipulations textuelles et numériques, etc.
Awk traite un fichier ligne par ligne et
découpe chaque ligne en champs séparés par un
caractère de séparation q