Maîtrise de Biochimie Année 2003/2004

Transcription

Maîtrise de Biochimie Année 2003/2004
M1BI/M2BI/M2ISDD Outils en Bioinformatique Université Paris Diderot
Exercices d'Introduction à Unix
(exercices créés originalement par : Patrick Fuchs, Pierre Poulain, Denis Mestivier)
1) Première connexion
1. Connectez-vous à une session Unix en indiquant votre identifiant (login) et votre mot
de passe (password).
2. Changer votre mot de passe avec la commande yppasswd (attention, n’utilisez pas un
mot de passe trivial : combinaison de lettres majuscules et minuscules, de chiffres avec au
moins un caractère spécial ; ne communiquez votre mot de passe sous aucun prétexte).
Vous garderez ce mot de passe toute l’année.
3. Ouvrir ensuite 3 fenêtres Terminal (=fenêtre qui lance un shell) ; fermer ces fenêtres de 3
manières différentes.
4. Ouvrir un shell ; afficher la date ; fermer le shell.
5. Quitter la session X-Window et se reconnecter avec le nouveau mot de passe.
2) Syntaxe générale d’Unix / Commandes de bases
1. Ouvrir un shell et afficher le calendrier du mois.
2. Afficher la page d’aide de la commande cal.
3. Afficher le calendrier de l’année.
4. Taper la commande ls, puis la commande ls –l ; quelle est la différence ?
5. Ouvrir Firefox, cliquer sur OK et vérifier qu’Internet fonctionne (voir avec votre
enseignant de TP en cas de problème de proxy).
6. Sur la page didel (http://didel.script.univ-paris-diderot.fr/) du cours (30BIC141 – Outils
en bioinformatique) se placer sur la section Documents et Liens, suivre
02_Unix_Base puis Fichiers), télécharger le fichier du génome du virus herpes
humain NC_001806.gbk et le sauver dans votre répertoire utilisateur (par exemple
/home/glycine/m1bi/etudiant1).
7. Refaire un ls –l, voyez-vous le fichier NC_001806.gbk ? Regarder le contenu de ce
fichier avec la commande cat. Quel était le contenu de la première ligne ?
8. Utiliser une commande Unix permettant de se promener dans le fichier. Descendre et
remonter dans les lignes du fichier et en profiter pour observer le format général d’un
fichier genbank.
9. Refaire un ls –l, quelle est la taille du fichier NC_001806.gbk ? Utiliser maintenant
un ls –lh, revérifier la taille du fichier. Une différence ? Vérifier à quoi correspond
l’option –h de la commande ls avec un man ls.
10. Faire un dernier ls –l, à qui appartient ce fichier ? à quel groupe ?
3) Gestion et manipulations de fichiers
a) Références absolues et relatives
1. Ouvrir un shell.
2. Localiser son emplacement dans l’arborescence.
3. Afficher le contenu du répertoire courant en fichiers et sous-répertoires.
4. Se déplacer dans /etc par référence absolue.
5. Constater que l’on est bien dans le bon répertoire.
6. Afficher son contenu en fichiers et sous-répertoires.
7. Revenir dans votre répertoire utilisateur.
8. Retourner dans /etc par référence relative.
1/7
09/2014
M1BI/M2BI/M2ISDD Outils en Bioinformatique Université Paris Diderot
b) Manipulation de fichiers et de répertoires
1. Revenir dans votre répertoire utilisateur et ouvrir gedit.
2. Ecrire un texte et l’enregistrer sous le nom de fichier toto ; quitter gedit.
3. Créer un répertoire test et en constater la création.
4. Se déplacer dans test puis constater le déplacement.
5. Copier le fichier toto dans le répertoire test et constater la copie.
6. Renommer ce fichier toto en titi et vérifier que cela a fonctionné.
7. Remonter dans le répertoire père et détruire le fichier toto.
8. Déplacer le fichier titi du répertoire test dans le répertoire courant
9. Afficher le contenu du fichier titi.
10. Détruire le fichier titi.
11. Détruire le répertoire test.
c) Manipulation de fichiers et de répertoires (2)
NB : pour ces exercices, n’hésitez pas à dessiner l’arborescence sur un brouillon comme dans
l’image ci-dessous, et compléter la au fur et à mesure que vous progressez.
1. Créer l’arborescence suivante (maison représente votre répertoire utilisateur) :
2. Comment pourriez-vous vérifier que vous avez bien créé tous les répertoires en une seule
ligne de commande ?
3. Placez-vous dans le répertoire ~/tmp.
4. Créer un nouveau répertoire test (dans ~/tmp) puis s’y déplacer ; constater le
déplacement.
5. Créer un fichier toto avec gedit et le sauver dans test.
6. En restant dans le répertoire test, copier le fichier toto en tant que toto2 dans le
répertoire père.
7. Remonter dans le répertoire père.
8. Détruire le répertoire test (avec la commande rmdir) ; existe-t-il un autre moyen ?
9. Remonter dans votre répertoire utilisateur.
10. Détruire le fichier toto2 précédemment créé.
d) Manipulation des droits des fichiers (1) : droit en lecture
NB : pour ces exercices, associez-vous avec un autre binôme et progressez ensemble. A noter,
votre répertoire n’est accessible que par vous et par root pour des raisons de confidentialité.
Pour partager des fichiers avec un autre utilisateur, utilisez le répertoire
/home/glycine/all. Pensez à identifier de manière unique vos fichiers à partager, par
exemple /home/glycine/all/liste_courses_calimero.txt.
2/7
09/2014
M1BI/M2BI/M2ISDD Outils en Bioinformatique Université Paris Diderot
1. Se placer dans le répertoire ~/unix/seance2.
2. Ouvrir gedit, et taper une liste de courses (une par ligne) ; enregistrer le fichier dans le
répertoire partagé /home/glycine/all sous le nom courses_login.txt où
login est votre nom d’utilisateur.
3. Afficher les droits associés à ce fichier ; est-ce qu’un autre binôme peut avoir accès à ce
fichier ? Qu’en est-il des utilisateurs autres que ceux de votre propre groupe (l3bi ou
m1bi ou m2bi) ?
4. Afficher la liste de course de l’autre binôme.
5. Restreindre les droits de lecture du fichier course_login.txt à vous seul (i.e. seul
votre utilisateur a le droit de lire le contenu du fichier), puis constater le changement.
6. Essayer de regarder à nouveau le contenu du fichier de l’autre binôme. Que se passe-t-il ?
Pourquoi ?
e) Manipulation des droits des fichiers (2) : droit en écriture
1. Ouvrir gedit, taper un texte et enregistrer le fichier sous le nom unwritable.txt ;
quitter gedit.
2. Copier le fichier unwritable.txt en writable.txt.
3. Lister les droits de ces deux fichiers. Quels sont vos droits en écriture ?
4. Oter les droits en écriture pour tout le monde (y-compris vous-même) du fichier
unwritable.txt. Constater la modification.
5. Tenter de modifier le contenu de ce fichier avec gedit ; que se passe-t-il ? Pourquoi ?
6. Détruire les deux fichiers unwritable.txt et writable.txt. Y a-t-il une
différence entre les deux opérations ?
f) Manipulation des droits des fichiers (3) : droit en exécution
1. Ouvrir gedit et taper le texte ci-dessous (vous pouvez éventuellement changer le
message entre guillemets par celui de votre choix ; veillez également à bien respecter les
espaces), puis l’enregistrer sous le nom salut.sh :
#!/bin/bash
echo "Hi there"
2. Ce script en langage bash va simplement afficher le message contenu entre les
guillemets (profitez-en pour regarder l’aide de la commande echo avec un man echo).
Tenter d’exécuter le script avec la commande suivante : ./salut.sh ; que se passe-til ? Comment l’exécuter ? A quoi servent les 2 caractères (./) précédant le nom du
script ?
4) Outils Unix courants
a) Les éditeurs
1. Taper un petit texte dans gedit.
2. Sélectionner ce texte et à l’aide du copier-coller dans le menu édition, créer un autre
fichier contenant 2 fois le texte sélectionné.
3. Renouveler l’opération dans emacs.
4. Renouveler l’opération dans nedit.
5. [hacker] Renouveler l’opération dans vi (si vous êtes bloqué, pour quitter presser la
touche Esc suivie de :q!.
Quel est votre éditeur favori ?
3/7
09/2014
M1BI/M2BI/M2ISDD Outils en Bioinformatique Université Paris Diderot
b) Le ftp
1. Avec la commande ftp, connectez-vous sur le site ftp de la PDB (ftp.wwpdb.org) et
récupérer
le
fichier
pdb1mse.ent.gz
dans
le
répertoire :
pub/pdb/data/structures/divided/pdb/ms/ (n’oubliez pas les souscommandes ls, pwd et get). Si cela est trop fastidieux, passez à l’exercice suivant.
2. Si vous n’avez pas réussi à récupérer le fichier avec ftp, essayez avec firefox à
l’URL suivante :
ftp://ftp.wwpdb.org/pub/pdb/data/structures/divided/pdb/ms/pdb1mse.ent.gz. Quelle
méthode vous semble la plus rapide ?
3. Bien vérifier la présence du fichier ainsi que sa taille.
4. Décompresser le fichier (commande gunzip) et constater la décompression.
5. Regarder le contenu du fichier avec votre éditeur préféré.
6. Toujours dans le même répertoire, taper la commande :
wget ftp://ftp.wwpdb.org/pub/pdb/data/structures/divided/pdb/bt/pdb1bta.ent.gz
Que fait cette commande ? Décompresser le fichier pdb1bta.ent.gz et constater la
décompression.
Quelle est votre méthode favorite pour télécharger un fichier ?
7. Regarder la structure de 1mse puis de 1bta avec rasmol.
c) Les compilateurs et langages de programmation.
1. Linux est un système d’exploitation libre ; cela signifie que vous pouvez le télécharger
gratuitement. Mieux, il contient des compilateurs (par exemple pour C et Fortran, et bien
d’autres langages) ; on rappelle un compilateur est un programme qui transforme un
fichier écrit dans un langage de programmation (par exemple C) et le transforme en un
programme exécutable par l’ordinateur. Télécharger depuis didel le petit programme C
zyva.c. Une fois récupéré, regarder son contenu avec votre éditeur préféré.
2. Le compilateur C disponible dans toutes les versions de Linux est gcc (Gnu C Compiler).
Compiler zyva.c avec la commande suivante :
gcc -o zyva.exe zyva.c
3. Regarder avec ls -l le fichier nouvellement créé, comment s’appelle-t-il ? Quels sont
ses droits ?
4. Exécuter zyva.exe en tapant : ./zyva.exe. Que fait le programme ? Tuer le
programme avec les touches Ctrl-C. Notez que les auteurs d’Unix sont farceurs, il
existe déjà un programme Unix qui fait cela : essayez donc yes Hello (Ctrl-C pour
arrêter) !
5. Sous Linux, il existe aussi des langages dits interprétés comme Python (dont vous verrez
l’apprentissage très prochainement) ou Perl. Par exemple taper la commande python.
Vous vous retrouvez dans l’interpréteur Python qui attend une commande. Taper par
exemple, 2+2. Que se passe-t-il ? Quitter l’interpréteur Python avec Ctrl-D.
NB : il existe bien d’autres outils sous Unix que vous apprendrez à manipuler au fur et à mesure.
5) Fichiers et flux
a) Redirection de l’entrée et de la sortie standard
1. Créer un fichier toto contenant la liste des fichiers du répertoire /etc.
2. Vérifier le contenu de toto.
3. Ajouter le contenu en fichiers du répertoire /usr/bin à la fin du fichier toto.
4. Taper cat ; taper une ligne de texte ; que s’est-il passé ? (taper Ctrl-D pour quitter
cat)
5. Taper la même ligne de texte dans un fichier essai.
4/7
09/2014
M1BI/M2BI/M2ISDD Outils en Bioinformatique Université Paris Diderot
6. Afficher cette ligne en utilisant cat sur le fichier essai et le symbole de redirection ‘<’.
b) Les pipes
NB : pour ces exercices, associez-vous avec un autre binôme et progressez ensemble
1. Afficher le contenu du répertoire /usr/bin avec ls /usr/bin ; compter le nombre
de programmes contenant la lettre ‘w’ avec ls /usr/bin et la commande wc réliées
par un pipe. Combien de programmes trouvez-vous ? Vérifiez avec votre voisin.
2. Ouvrir gedit et taper une liste de 5 courses (une par ligne) et enregistrer le fichier sous
le nom courses_login.txt dans le répertoire partagé /home/glycine/all.
3. Trier les courses par ordre alphabétique à l’aide de la commande sort courses.txt.
Renouveler l’opération avec la commande cat courses.txt | sort. Est-ce que le
résultat est différent par rapport à la commande précédente ? Quelle est la différence entre
les 2 lignes de commandes ? (demandez à votre enseignant si cela n’est pas clair)
4. Calculer avec cat, un pipe et une autre commande Unix le nombre de mots dans cette
liste de course.
5. Copier la liste de courses de votre voisin à la fin de votre propre fichier avec la commande
cat et l’opérateur Unix approprié.
6. Vérifier à l’aide d’un filtre (commande grep) si on trouve du beurre dans cette nouvelle
liste.
7. Unix possède une calculatrice : taper bc (pour Basic Calculator). Vous êtes maintenant
dans le programme bc qui attend une commande de votre part : taper par exemple 2+2.
Que se passe-t-il ? Quitter bc avec Ctrl-D.
8. Calculer le résultat de l’opération 36528*437 en une ligne de commande (pensez à la
commande echo et au pipe !).
c) Les filtres
1. Reprendre le fichier pdb1mse.ent.
2. Afficher seulement la ligne contenant les auteurs (cette ligne commence par le mot-clé
AUTHOR).
3. Afficher seulement les lignes des coordonnées x, y, z de tous les atomes (cette ligne
commence par le mot-clé ATOM).
4. En vous aidant de la commande précédente, afficher seulement les lignes contenant les
coordonnées des carbones alpha (ces lignes contiennent le nom d’atome CA).
5. En vous aidant des 2 commandes précédentes, créer un fichier calpha.txt contenant
les lignes correspondant aux carbones alpha.
6. A partir du fichier calpha.txt , compter le nombre d'acides aminés présents dans la
protéine.
7. A partir de calpha.txt , compter le nombre d'alanines.
8. A partir de calpha.txt , compter le nombre de résidus aromatiques (phénylalanine,
tryptophane et tyrosine) en une seule commande.
9. A partir de pdb1mse.ent et de la commande awk afficher les colonnes contenant les
coordonnées cartésiennes (x, y et z).
10. [hacker] A partir de pdb1mse.ent et de la commandes awk, calculer et afficher les
coordonnées du centre géométrique de la protéine.
d) Les filtres (2)
1. Ouvrir le fichier genbank contenant le génome du virus herpes humain
(NC_001806.gbk) avec votre éditeur de texte favori et le parcourir avec attention.
5/7
09/2014
M1BI/M2BI/M2ISDD Outils en Bioinformatique Université Paris Diderot
2. Lancer la commande : grep gene NC_001806.gbk ; que constatez-vous ? Compter
le nombre de gènes du virus avec grep et wc. Compter également le nombre de gènes
complémentaires.
3. Combien de gènes sont impliquées dans la réplication de l’ADN ?
4. [hacker] Avec l’option –n de grep, repérer à quelle ligne se trouve le mot ORIGIN dans
le fichier genbank. Ouvrir le fichier dans gedit et rechercher le mot ORIGIN ; où se
trouve la séquence d’ADN ? Avec une option de tail, afficher les lignes qui contiennent
la séquence. Renvoyer ces lignes vers un fichier seq_herpes.txt.
e) Les filtres (3)
1. Dans la rubrique Documents et liens de la plateforme didel, télécharger le fichier
genomes.tgz contenant les dix premières lignes des fichiers genbank (.gbk) de
quelques organismes ; enregistrer ce fichier dans votre répertoire utilisateur.
2. Décompressez l’archive genomes.tgz puis entrez dans le répertoire genomes.
3. Combien y a-t-il de fichiers ?
4. Combien de ces génomes sont des génomes bactériens ? Recherchez pour cela le mot-clé
Bacteria; que vous mettrez entre guillemets car le point-virgule a une signification
particulière dans le shell.
5. Afficher le nom des différents organismes (mot-clé ORGANISM).
6. Appliquer sur la sortie de la commande précédente le filtre cut -d " " -f5-10 qui
permet d’isoler uniquement les noms des organismes ; les trier par ordre alphabétique.
7. Combien y a-t-il de staphylocoques ?
8. Combien y a-t-il d’organismes avec un ADN circulaire ? Mettre ce résultat en rapport
avec le nombre d’organismes bactériens.
9. Appliquer sur une sortie de la commande grep le filtre cut -d ":" -f1 qui extrait
les noms des fichiers dans lesquels le mot recherché est trouvé ; enregistrer la liste des
fichiers genbank qui contiennent un ADN circulaire dans le fichier
circulaire.txt ; faire la même chose avec les organismes bactériens dans le fichier
bacteries.txt.
10. La commande diff affiche les différences entre deux fichiers. Les lignes qui débutent
par < indiquent les lignes présentes dans le premier fichier mais pas dans le second ; les
lignes qui débutent par > indiquent les lignes présentes dans le second fichier mais pas
dans le premier ; à partir de la commande
diff circulaire.txt bacteries.txt
déterminer quels organismes ont un ADN circulaire sans pour autant être identifiés
comme des bactéries ; vérifier à la main chaque fichier de génome concerné ; quelle est
votre conclusion ?
Notez que les programmes xxdiff et meld permettent une sortie graphique de diff :
xxdiff circulaire.txt bacteries.txt
ou
meld circulaire.txt bacteries.txt
Tester ces programmes, quel est votre favori ?
6) Archivage et compression.
Après tous ces exercices, il est temps de sauvegarder votre travail !
1. Placez-vous dans votre répertoire utilisateur.
2. Créer une archive unix.tar avec la commande : tar -cvf archive.tar *.
3. Constater la création de l’archive.
4. Vérifier le contenu de l’archive avec la commande : tar -tvf archive.tar.
6/7
09/2014
M1BI/M2BI/M2ISDD Outils en Bioinformatique Université Paris Diderot
5. Vérifier la taille de l’archive.
6. Compresser l’archive avec gzip.
7. Vérifier à nouveau la taille de l’archive.
7) Visualisation moléculaire.
Unix ne contient pas par défaut de programme pour visualiser des molécules, mais il existe
certains programmes libres qui s’installe facilement, et dont vous vous servirez beaucoup pendant
le cursus BI.
1. Ouvrir 3 shell, et visualiser avec les logiciels rasmol, pymol et vmd la structure de la
protéine contenue dans le fichier pdb1mse.ent.
2. Pour chaque programme, représenter la protéine en mode cartoon (affichage de la
structure secondaire). Le fichier pdb1mse.ent contient-il seulement une protéine ?
Dans un autre shell, déterminer la fonction de la protéine contenue dans le fichier
pdb1mse.ent.
3. Sélectionner les tyrosines et les colorer en vert.
4. Sélectionner les carbones alpha et les colorer en rouge.
5. Sélectionner deux atomes au choix et faire afficher leur distance.
Connaissez-vous un autre programme de visualisation moléculaire ? Si oui lequel ? Est-il
présent dans /usr/local/bin ? Si oui, essayez-le !
7/7
09/2014