Projet

Exercice 1

Ecrire un script lln qui prend en argument un nombre entier n et qui retourne la liste des n fichiers les plus récents.

Exemple:

lambda@ged:~/exo2$ ls -l
total 13
-rwxr-xr-x  1 lambda users 164 2011-01-20 15:06 comparerm
drwxr-xr-x  3 lambda users 120 2011-01-20 14:54 dir1
drwxr-xr-x  3 lambda users  72 2011-01-20 15:07 dir2
-rw-r--r--  1 lambda users   9 2011-01-19 11:32 f1
-rw-r--r--  1 lambda users   9 2011-01-19 11:32 f2
drwxrwxrwt 13 lambda users 592 2011-01-21 11:25 tmp
lambda@ged:~/exo2$ lln  2
drwxr-xr-x  3 lambda users  72 2011-01-20 15:07 dir2
drwxrwxrwt 13 lambda users 592 2011-01-21 11:25 tmp

Exercice 2

Ecrire un script doall qui applique à un ensemble de fichiers une même commande shell.

Le premier argument de doall est la commande à appliquer, le reste des arguments correspond aux fichiers auxquels il faut appliquer la commande.

Exemple:

lambda@ged:~/exo2$ ls -l 
total 13
-rwxr-xr-x  1 lambda users 164 2011-01-20 15:06 comparerm
drwxr-xr-x  3 lambda users 120 2011-01-20 14:54 dir1
drwxr-xr-x  3 lambda users  72 2011-01-20 15:07 dir2
-rw-r--r--  1 lambda users   9 2011-01-19 11:32 f1
-rw-r--r--  1 lambda users   9 2011-01-19 11:32 f2
drwxrwxrwt 13 lambda users 592 2011-01-21 11:25 tmp
lambda@ged:~/exo2$ doall echo *
comparerm
dir1
dir2
f1
f2
tmp
lambda@ged:~/exo2$ doall "ls -l" f1 f2
-rw-r--r-- 1 lambda users 9 2011-01-19 11:32 f1
-rw-r--r-- 1 lambda users 9 2011-01-19 11:32 f2

Exercice 3

Ecrire un script nrj qui affiche les énergies successives d'une minimisation dans AMBER.

Exemple:

lambda@ged:~$ nrj < /home/gmonard/Science/Urate.Oxydase/monomere/min.out
      1      -2.3380E+04     1.0683E+02     3.8032E+03     HB3      1850
      2      -2.3485E+04     1.0249E+02     3.5978E+03     HB3      1850
      3      -2.3605E+04     9.7572E+01     3.3691E+03     HB3      1850
      4      -2.3742E+04     9.2048E+01     3.1177E+03     HB3      1850
      5      -2.3896E+04     8.5920E+01     2.8455E+03     HB3      1850
      6      -2.4067E+04     7.9216E+01     2.5556E+03     HB3      1850
      7      -2.4255E+04     7.2000E+01     2.2528E+03     HB3      1850
      8      -2.4459E+04     6.4378E+01     1.9431E+03     HB3      1850
      9      -2.4676E+04     5.6500E+01     1.6414E+03     HB3      1819
     10      -2.4902E+04     4.8563E+01     1.3899E+03     HB3      1819
     ...          ....         ....           ....         ...      ....
    196      -2.9228E+04     3.8504E-01     2.5150E+01     HG1      2664
    197      -2.9229E+04     2.5794E-01     1.3790E+01     HG1      2664
    198      -2.9229E+04     1.9385E-01     7.1494E+00     HG1      2664
    199      -2.9230E+04     1.4918E-01     4.8203E+00     HG1      2664
    200      -2.9230E+04     2.4397E-01     7.7191E+00     HG1      2364
    201      -2.9230E+04     1.9464E-01     5.7288E+00     HG1      2364
    202      -2.9230E+04     1.4398E-01     4.2311E+00     HG1      2871
    203      -2.9230E+04     1.0425E-01     4.2286E+00     HG1      2871
    204      -2.9230E+04     9.0754E-02     4.2506E+00     HG1      2871
    204      -2.9230E+04     9.0754E-02     4.2506E+00     HG1      2871

Exercice 4

Ecrire un script bond.sh qui calcule la distance entre deux atomes d'un fichier au format PDB.

Le premier argument de bond.sh sera le nom du fichier PDB. Le second argument sera la spécification d'un atome sous la forme d'une chaine de caractères NUMERO:CHAINE:ATOMENUMERO correspond à un numéro de résidu, CHAINE correspond à la chaine protéique (A, B, C, etc.) et ATOME correspond au nom de l'atome dans le résidu. Le troisième argument sera la spécification d'un second atome.

Exemple:

lambda@ged:~$ ./bond.sh 1dbf.pdb 95:C:CA 107:C:CA  
ATOM   2887  CA  VAL C  95      16.779  28.083  32.690  1.00  8.73           C  
ATOM   2987  CA  VAL C 107       6.525  17.633  30.769  1.00 11.18           C  
  14.766