-
Introduction
à la
BioInformatique
Bernard Bellon 1995-1996
Sommaire
- Introduction 2
Schéma d'un ordinateur
Langage de programmation
Interface utilisateur
- Système d'exploitation 7
Unix
Système de fichiers
- Communications et réseaux 11
Internet
Courrier électronique
World Wide Web
- Analyse des séquences biologiques 17
Introduction
Banque de données 18
Ressemblance des séquences 21Méthodes globalesMéthodes localesMéthodes approchées
Matrice de substitution 26
Phylogénie 28
- Bibliographie 37
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
Introduction
Ces quelques pages ne sont pas un cours exhaustif sur "l'utilisation" de l'informatique sous
tous ses aspects dans la biologie, mais une sensibilisation qui introduira quelques notions
(système informatique, réseau, banques et logiciels en biologie moléculaire) avec des
illustrations particulières. Je vous ouvre les portes et vous laisse libre pour la visite.
Quelques notions sur l'ordinateur, les systèmes d'exploitation et les fonctionnalités d'un
réseau seront explicitées avant de passer à l'analyse de séquences biologiques.
Un ordinateur
On peut considérer que ce schéma représente aussi bien un micro ordinateur qu'un ordinateur: seules la
capacité des différentes mémoires et la vitesse de traitement diffèrent.
L'unité centrale est un ensemble d'organes électroniques effectuant les opérations demandées
à la machine: celles-ci sont réalisées par un jeu d'instructions particulier à chaque machine.
Elles sont des opérations élémentaires, logiques, ou caractérisant le mouvement des données
entre mémoire et les organes d'entrée ou sortie. La vitesse de traitement d'une opération
élémentaire peut varier jusqu'à un facteur cent suivant les machines.
Cette unité centrale peut être décomposée, fonctionellement et physiquement, en trois unités:
- l'unité arithmétique et logique (UAL)
- les registres (mémoires internes à l'unité centrale)
- l'unité de commande qui assure le décodage et le séquencement des instructions à
l'intérieur de l'unité centrale.
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
Chacune de ces sous-unités varie suivant les machines; l'unité centrale est construite pour
travailler sur un quantum d'information appelé le mot-machine (8, 16, 32, 64 bits); ce mot est
aussi en général le quantum d'information qui peut être échangé entre l'unité centrale et la
mémoire ou les entrées sorties: ces échanges se font par l'intermédiaire de "bus" qui relie les
différentes unités. Trois "bus" essentiels peuvent être distingués: "bus" de données,
d'adresses, de commandes; c'est ici que se trouve le goulot d'étranglement des ordinateurs.
La mémoire centrale est directement reliée à l'unité centrale, et contient le ou les programmes
ainsi que les données sur lesquelles travaillent les programmes. La taille de la mémoire peut
aller de quelques MOctet à quelques centaines de MOctet (1K=210=1024).
Les organes d'entrées sorties servent à faire communiquer la machine avec le monde
extérieur: clavier, imprimantes, modem, connexion réseau, mémoires secondaires. Ces
dernières sont des bandes magnétiques, des disques magnétiques, des disques : leur capacité
varie nettement en fonction des machines, de quelques dizaines de MOctet à quelques
milliers de MégaOctet (GigaOctet). La vitesse de transmission entre ces périphériques et
l'unité centrale peut facilement varier d'un facteur 1 à 1000 suivant la nature du matériel.
Lorsqu'un ordinateur est en fonctionnement il est toujours sous le controle d'un programme,
que ce soit des logiciels d'exploitation ou des programmes spécifiques.
Parenthèse sur les langages de programmation
Un algorithme est une méthode de résolution de problèmes dont on peut dire qu'elle s'arrête
au bout d'un temps fini et fournit une réponse; il est obtenu par combinaison d'opérations
élémentaires qui s'enchaînent dans un ordre déterminé. Cette méthode permet de savoir si le
problème est décidable ou non. Un langage est un moyen de description et de
communication, d'un algorithme en particulier. Une machine est un objet (réel ou théorique)
capable de mémoriser un algorithme, d'exécuter les opérations élémentaires qui le composent,
de les enchaîner dans l'ordre imposé par l'algorithme.
Par exemple une oeuvre musicale est un algorithme, la partition la description de celui-ci, le
langage étant la notation musicale, la machine ou l'opérateur étant les musiciens et leurs
instruments.
La connaissance d'un langage n'est pas une condition suffisante à la résolution des problèmes:
elle permet seulement la traduction d'un algorithme; la connaissance du langage permet de
savoir les règles syntaxiques et les opérateurs de ce dernier.
L'unité centrale d'un ordinateur exécute des instructions élémentaires dans un format trés
particulier; les premiers utilisateurs écrivaient leurs programmes dans ce langage; ceci était
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
très long et fastidieux. Ces langages sont dits de bas niveau. Depuis se sont développés des
langages de haut niveau qui permettent une écriture plus rapide, plus directement
compréhensible et non dépendante de la machine: pour que celle-ci exécute ces programmes
il existe deux solutions: soit un interpréteur analyse une unité fragmentaire du programme et
si la syntaxe est correcte la traduit en langage de bas niveau et la fait exécuter par la machine,
soit un programme appelé compilateur analyse tout le programme source et le traduit en
langage de bas niveau (programme objet) exécutable par la machine. Les langages interprétés
auront des vitesses d'exécution plus faibles puisqu'à chaque fois une analyse et une traduction
seront nécessaires, mais ils offriront l'interactivité avec l'utilisateur car l'interpréteur et le
programme source sont en mémoire simultanément.
Le premier langage de haut niveau développé fut le FORTRAN abréviation de FORmula
TRANslation orienté vers le calcul scientifique: c'est un langage compilé et le premier
compilateur a pris une dizaine d'année-hommes de mise au point. Il est toujours trés utilisé
car sa bibliothèque de sous-programmes prêts à l'emploi est de très loin la plus vaste. Se sont
développés ensuite simultanément différents langages: le plus connu d'entre eux et que tous
les micro ordinateurs possèdent est le BASIC, soit interprété, soit compilé. Mais des
chercheurs travaillant sur la logique et les grammaires ont alors décrié ces langages qui dès
que le programme était conséquent conduisaient à des "plats de nouilles" et ont développé des
langages structurés adaptés à une analyse descendante des problèmes qui leur semblait le seul
moyen de contrôle de la justesse et de lisibilité d'un programme; on passe d'Algol 68 à Ada
en passant par Pascal et Modula. Parallèlement des langages d'un autre type permettant la
manipulations d'expressions symboliques ont vu le jour, les plus fameux sont Lisp et Prolog,
on peut ajouter de plus que Prolog est un langage de PROgrammation LOGique.
Les langages de programmation les plus utilisés de nos jours sont le langage C, résultant
d'une adaptation des langages structurés avec le langage de bas niveau et économie
d'expression, et les langages de type "objet" par exemple C++.
L'interface utilisateur
Le coté que l'utilisateur affuble de convivial ou d'austère. Nous avons deux types de
présentation que ce soit au niveau du systèmes d'exploitation ou des logiciels.
- l'une de type télétype ou vt100, où l'utilisateur tape des commandes prédéfinies au clavier
- l'autre, de type WYSIWYG (what you see is what you go) avec des fenêtres, des icônes,
des menus et items, et dont les actions sont déclenchées à l'aide d'un pointeur (la souris)
Dans le premier cas l'utilisateur doit apprendre la syntaxe des diverses actions qui lui sont
offertes.
Dans le second cas, l'interface fait beaucoup plus appel à l'intuition de l'utilisateur et les
actions prédéfinies sont activées par l'utilisation de la souris.
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
Interface utilisateur de type télétype ou vt100
Interface utilisateur de type vt100 sur une station
- ls : commande shell qui liste les fichiers ou répertoires dans le "répertoire de travail"
- ps -ef : commande qui affiche les processus en cours
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
Interface utilisateur convivial (fenêtres, menu, icônes ..)
Interface utilisateur du Macintosh : bureau électronique
- Répertoire
- Menus avec item
- Icônes
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
Système d'exploitation
De façon très béotienne, nous pouvons partager les ordinateurs en deux catégories, micro-
ordinateur "Personal Computer" et les ordinateurs, "station" ou "mainframe" : la première
possédant un système d'exploitation mono-utilisateur et la seconde un système d'exploitation
multi-tâches et multi-utilisateurs. Remarquons toutefois que l'évolution des performances des
ordinateurs permet à la première catégorie d'évoluer vers des systèmes multi-tâches.
Les systèmes d'exploitation pour les micro-ordinateurs sont nombreux (MacOS, DOS,
Windows, OS2 ..) alors que pour les systèmes multi-tâches et multi-utilisateurs on peut noter
deux systèmes essentiels Unix et VMS.
Lorsque vous utilisez un micro-ordinateur avec un système classique, vous avez accès à
toutes les informations en ce sens que vous pouvez enlever ou ajouter des logiciels, lire ou
détruire ou créer des fichiers, modifier certains parmètres du système et vous êtes le seul à
utiliser les capacités de la machine.
Dans le cas de systèmes multi-tâches et multi-utilisateurs, l'utilisation des ressources est
soumises à plusieurs contraintes :
- identification (nom d'utilisateur, mot de passe)
- restriction d'utilisation (notion de super utilisateur, de privilèges, de groupe, d'espace de
travail).
- vous n'êtes plus seul à utiliser les ressources de la machine
En travaux pratiques, vous utiliserez des stations dont le système d'exploitation est le système
UNIX dont nous allons voir quelques caractéristiques principales.
Le système UNIX a été créé vers les années 1970 dans les laboratoires de recherche de la
firme A.T. T. Ce système a subi depuis de nombreux changements, en particulier sa réécriture
en langage C. Deux versions constituent la référence de la quasi totalité des systèmes
existants à ce jour, la version des laboratoires A.T & T. et la version de l'Université de
Berkeley dont la différence essentielle se situe au niveau de la gestion de la mémoire et au
niveau de la communication entre processus. L'une des évolutions majeures d'UNIX depuis
ses origines a été l'intégration du système X-window (fenêtres, menus, icons, souris) dans
l'environnement.
Le système d'exploitation UNIX
Les caractéristiques d'UNIX sont un système d'exploitation multi-tâches et multi-utilisateurs
et indépendant de toute architecture de machine et de tout constructeur. Sa conception est
modulaire et basée sur trois couches bien définies :
- le noyau qui comprend toutes les fonctions nécessaires d'un système d'exploitation
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
(allocation du processeur, gestion mémoire, gestion des ressources, entrées/sorties ..)
- l'interface utilisateur, appelée shell qui remplit un double rôle, celui d'interpréteur
de commandes et celui d'un langage de programmation
- l'ensemble des outils disponibles tels que les langages de programmation et leurs
bibliothèques, les outils spécifiques de développement dans un environnement particulier
(Xwindow).
Les deux facettes du système UNIX les plus apparentes à l'utilisateur sont le système de
fichiers et l'interpréteur de commandes (shell). Vous trouverez dans le polycop "Abrégé
Unix" l'essentiel des commandes et des outils dont vous aurez besoin. Citons ici quelques
points importants.
Le système de fichiers
Le système n'impose aucune structure particulière aux fichiers sauf pour certains le
concernant directement. Il ne fait aucune supposition quant à leur contenu et leur utilisation,
cela ne regarde que les programmes qui construisent ou qui exploitent les fichiers. Chaque
fichier est décrit par un enregistrement appelé i-node qui précise son type, sa taille, la date de
création et de sa dernière modification, le numéro du propriétaire et du groupe, les
permissions, les liens .... Les i-nodes sont rangés dans une table et chacun est identifié par un
numéro.
UNIX distingue trois sortes de fichiers :
- le type répertoire, ou catalogue (directory) est un fichier dont le contenu est une liste de
couples (nom, numéro d'un i-node) dont chacun est un renvoi à un fichier. Les répertoires
définissent un structure d'arbres sur l'ensemble des noms de fichiers. Tout fichier est donc
accessible par au moins un nom appartenant à un répertoire, sauf un fichier particulier de type
répertoire qui est la racine et qui n'a pas de nom.
- le type fichier spécial qui correspond aux unités matérielles d'entrée/sortie. Du point de
vue du programmeur, les procédures de lecture ou écriture sont les mêmes que celles qui
permettent l'échange d'information avec un périphérique quelconque.
- le type fichier ordinaire qui correspond à tous les autres fichiers. Pour l'utilisateur, deux
distinctions que le système ignore : les fichiers de texte qui sont éditables, imprimables,
affichables et les fichiers binaires qui ne le sont pas.
De nombreuses commandes du shell ainsi que les programmes font référence à des noms de
fichier pour trouver l'information désirée. Il est important de savoir écrire correctement un
nom de fichier et en particulier dans les deux écritures référence absolue et référence relative.
La manière de nommer les noms de fichier utilise la structure arborescente des répertoires
avec comme caractère séparateur le caractère "slash" /.
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
usr
racine
bin
biologie physique
res seq mount
actin.seq lip.seqlip.res
Exemple d'arborescence :
les noms de répertoire sont
écrits en gras
Nous allons expliciter les divers types de référence en nous appuyant sur cet exemple. Tout
nom de fichier figure dans un répertoire qui, s'il n'est pas la racine, figure à son tour dans un
autre répertoire.
- Références absolues
La référence absolue d'un nom de fichier s'écrit à l'aide du chemin qui mène au fichier
considéré en partant de la racine : le chemin absolu s'écrira (racine)/usr/biologie/seq/ et le
fichier "lip.seq" sera désigné par (racine)/usr/biologie/seq/lip.seq. Le répertoire racine n'ayant
pas de nom nous l'écrirons : /usr/biologie/seq/lip.seq. Le caractère "/" tout seul est une
référence absolue à la racine du système de fichiers.
- Références relatives
Pour alléger les références aux fichiers, un répertoire joue un rôle particulier, c'est le
répertoire de travail. Un chemin qui ne commence pas par le caractère "/" est un chemin
relatif : son premier élément est recherché dans le répertoire de travail. Supposons que le
répertoire de travail soit biologie; le chemin relatif menant au fichier lip.seq est seq, et le
fichier "lip.seq" sera désigné par seq/lip.seq
- Auto-références
Chaque répertoire contient deux noms spéciaux avec un rôle prédéfini. "." renvoie au
répertoire lui-même et ".." renvoie au répertoire ancêtre ou père. Les chemins peuvent être
exprimés à l'aide de ces deux références particulières.
Le fichier "lip.seq" peut être désigné par ./seq/lip.seq si le répertoire de travail est biologie.
Le fichier "lip.res" peut être désigné par ../res/lip.res si le répertoire de travail est seq.
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
Tout utilisateur d'un système UNIX possède un numéro d'utilisateur unique et un numéro de
groupe commun à plusieurs utilisateurs. Les permissions des fichiers (lecture, écriture,
exécution) sont définies relativement à trois domaines : le propriétaire du fichier, le groupe
comprenant les utilisateurs du même groupe que le propriétaire, et les autres. Les permissions
sont listées dans l'ordre propriétaire, groupe, autres et pour chaque domaine sont écrites la
permission de lecture (r), écriture (w) et exécution (x). Bien évidemment, le propriétaire a
seul le pouvoir de modifier les permissions. Chaque programme ou logiciel attribue des
permissions spécifiques lors de la création de fichiers.
Le shell
Le shell est l'interprète des commandes d'UNIX, c'est un programme qui dialogue avec tout
utilisateur. Dès que la procédure de connexion (login) est terminé, il prend le contrôle, lit les
commandes que vous tapez, les interprète et lance les actions adéquates. Plusieurs interprètes
sont disponibles : le Korn shell, le Bourne shell et le C shell. Sur les stations que vous
utiliserez, les trois shells sont disponibles et par défaut lorsque vous établirez une connexion,
c'est le processus C shell qui sera activé (défini par l'administrateur du système).
Toute activité sous UNIX s'exécute dans le cadre d'un processus. Tout processus (appelé
fils) est créé par un autre processus (appelé père). Par exemple lorsque vous lancerez une
commande permettant d'utiliser votre terminal comme un terminal X (fenêtre, souris,
menus..), vous lancerez un processus. Lorsque vous lancez une commande classique, vous
créez un processus fils et ne revenez au processus père qu'une fois la commande terminée.
Une commande peut être lancée en arrière plan (mode détaché) de telle façon que le
processus va se dérouler en parallèle vis à vis du processus père. Après le lancement de la
commande en arrière plan, vous revenez tout de suite au processus père sans attendre que le
processus fils soit terminé. Lancer une commande en arrière plan s'obtient en écrivant la
commande suivie d'un espace et d'un et commercial "&".
La totalité des commandes prédéfinies (et la plupart du temps des programmes) suivent les
conventions suivantes :
- le nom d'une commande est suivi par un nombre quelconque d'options de la forme
° -caractère --> option qui n'exige aucune valeur
° -caractère valeur --> option qui demande une valeur
- si aucune option ne comporte de valeurs, on doit les regrouper
- l'ordre des noms de fichier dépend de la nature de la commande
Un exemple ls [options] nom...nom
Affiche le contenu des répertoires et les informations sur les fichiers indiqués. Si aucun nom
n'est indiqué, c'est le contenu du répertoire de travail (ou courant) qui est affiché.
De nombreuses options existent, les plus utiles sont les suivantes :
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
- a affiche tous les fichiers y compris ceux commençant par un point
- l format de sortie long : dans l'ordre nous avons le type (d pour répertoire), les
permissions, le nombre de liens pour un fichier ou le nombre d'entrées pour un répertoire, le
propriétaire, le groupe, la taille en octets, la date de dernière modification et enfin le nom du
fichier.
- R affichage récursif de tous les sous-répertoires
% cd /usr/biologie
% ls -al
-rwxr-x--x 1 ber biol 820 Jul 28 14:40 mount
drwxr-x--- 7 ber biol 120 Jun 21 15:32 res
drwxr-x--- 12 ber biol 160 May 22 20:17 seq
Communications et réseaux
Au début les ordinateurs servaient essentiellement à faire des calculs. Depuis quelques
années, la dimension de communication (échanges de données, partage de ressources) est
devenue partie intégrante de l'informatique et celle-ci se développe de plus en plus.
L'échange de données entre ordinateurs est rapidement devenue une nécessité autant pour les
scientifiques que les militaires. Vers 1970, la DARPA (Defense Advanced Research Projects
Agency) travailla à développer une technologie d'interconnexion qui déboucha dans les
années 1977 à la mise en place du réseau ARPANET. Ce réseau fût ensuite divisé en deux
réseaux ARPANET pour poursuivre la recherche et MILNET pour la partie militaire.
La DARPA encouragea le monde scientique à adopter leur norme et les protocoles furent
partie intégrante du système Unix à partir de la version 4.
Vers les années 1986, un réseau mondial fut mis en place, c'est le réseau Internet. La
représentation la plus simple est une visualisation sous forme de poupées russes ou sous la
forme d'un arbre avec une racine virtuelle mondiale (Ebone).
En France, le réseau Internet a été mis en place pour les grands organismes d'Etat (Université,
Recherche ..), il porte le nom de Renater et chacune des régions a mis en place son réseau
connecté à Renater, dans la région PACA il porte le nom de R3T2
La figure de la page suivante est une représentation "virtuelle" du réseau mondial.
La communication entre les différents noeuds est réalisée par des routeurs ou des passerelles
En partant de la salle informatique où les machines sont connectées au réseau nous pouvons
considérer l'empilement des réseaux suivants :
- réseau local de la salle
- réseau luminy (par l'intermédiaire d'un routeur)
- réseau R3T2 Marseille (routeur et par l'intermédiaire d'une passerelle : France
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
TELECOM)
- dans le cas d'une communication extérieure à la région, le noeud R3T2 a été supprimé et
le raccordement se fait sur la région Parisienne qui est en liaison directe avec le noeud
français principal qui peut redistribuer sur d'autres régions ou sur le monde.
Vous trouverez souvent les noms suivants pour désigner les réseaux
- LAN (Local Area Network)
- MAN (Metropolitan Area Network)
- WAN (Wide Area Network)
Schéma virtuel du réseau Internet
backbone international
R3T2 Région PACA
NiceMarseille
Aquarel Autre région
St Charles Luminy
Salle Info IBDM
LIM
2 Mb2 Mb
10 Mb
34 Mb
34 Mb
USA
Suisse
Vous êtes ici
IMT
domaineuniv-mrs.fr
2 Mb
34 Mb
CNRS
10 Mb
La connexion est dite par paquets commutés avec remise au mieux. Ceci signifie que lorsque
deux machines échangent de l'information, une ligne physique (comme dans le cas du
téléphone) n'est pas ouverte entre les deux machines. L'information est transmise à travers les
différents noeuds jusqu'à arriver au réseau local où se trouve la machine destinataire.
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
Bien évidemment, cette interconnexion est organiséee et obéit à certaines règles. En tant
qu'utilisateur vous devez connaitre la signification de :
- une carte Ethernet (avec un numéro Ethernet unique par construction), la liaison physique
- un numéro I.P. (Internet Protocol) pour cette interface (souvent par abus de langage
attribué à la machine) unique, codé sur 4 octets, et aussi un nom symbolique (non
obligatoire). Ces numéros sont gérés par une autorité et vous devez faire une demande.
- le protocole ou couche T.C.P/I.P. sur votre machine doit connaître l'adresse I.P. du routeur
(souvent appelé Gateway) et l'adresse I.P. du serveur de noms (DNS).
L'une des fonctions principale du serveur de noms est d'établir la correspondance entre nom
symbolique domainisés et adresse I.P. (vous avez déjà vu des adresse symboliques : par
exemple la machine ylumin.univ-mrs.fr). La machine dont le nom est ylumin, se trouve dans
le domaine univ-mrs.fr ou encore dans le sous-domaine univ-mrs du domaine fr
Les fonctionnalités de l'interconnexion sur Internet
L'échange d'informations entre les machines est bâtie sur le schéma client/serveur. Le
logiciel serveur et le logiciel client dialoguent suivant un protocole bien défini, classé par
service et dont le numéro est défini par les serveur (certains protocoles classiques ont un
numéro prédéfini). Les services les plus connus sont
- Connexion par telnet sur une machine Unix distante (port 23)
- Courrier électronique (SMTP géré par les programmes sendmail). (port 25)
- Service ftp (file transfer protocole) : échange de fichiers
- Service gopher (accés à des documents sur différents serveurs)
- Service des News (système de conférences électroniques)
- Service Wais (Base de données indexée)
- Service WWW, le dernier né et le plus utilsé
Les plus utilisés sont sans aucun doute le courrier électronique et le service WWW.
Le courrier électronique
Pour pouvoir envoyer un courrier à un correspondant, il faut connaître son adresse
électronique (e-mail) et bien évidemment pour en recevoir , il faut avoir soi-même une
adresse électronique.
Une adresse se présente sous la forme @.
- La partie locale identifie une personne (nom d'utilisateur sur une machine Unix) ou une
liste de diffusion.
- La partie domaine est une suite d'entités hiérachisée séparées par des points (cela n'est pas
forcément le nom symbolique domainisé d'une machine).
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
Exemple d'un message
_____________________________________________
Date: Mon, 26 Feb 1996 18:27:53 +0100X-Sender: [email protected] (Unverified)Mime-Version: 1.0To: Bellon Bernard From: Olivier Cahagne Subject: Re: Bases de Donnees medicales
- Corps du message -
___________________________________________________
L'entête du message comporte des champs prédéfinis dont les plus importants sont :
-date, To (adresse du destinataire) , From (adresse de l'expéditeur)
Sur une machine Unix où le processus "sendmail" est actif, vous pouvez envoyer du courrier
avec le programme de base "mail" ou "mailx", et sauf contre-indication votre adresse sera
celle correspondant au nom d'utilisateur que vous avez et l'adresse sera celle de la machine.
De nombreux logiciels de courrier sont disponibles sur les micro--ordinateurs, ceux-ci sont
incapables d'envoyer directement un courrier, ils "passent" par l'intermédiaire d'une machine
capable de dialoguer avec sendmail (Unix ..). Dans ce cas, ils ne vous faudra pas oublier dans
les paramètres de réglages de définir votre e-mail. Ces logiciels sont très utilisés car ils sont
beaucoup plus conviviaux que ceux trouvés sous Unix et de plus, il est très facile d'annexer
des documents qui ne sont pas de type ASCII direct (fichier Word, Excel de Macintosh ou
PC) à votre courrier. De même en réception de documents annexés au courrier, après un
réglage permanent de paramètres, tout se passe automatiquement.
Remarque : dans des sous-réseaux, certains systèmes (MacOS, Windows) possèdent un
système fonctionnel de messagerie, mais ils n'entrent pas dans le cadre normalisé d'Internet
Le World Wide Web
C'est le dernier système d'échanges d'information du modèle client/serveur, qui a pour
origine un projet du CERN, et qui peut se définir comme un système d'information réparti
hypermédia.
Le serveur gère et héberge l'information sous forme de fichiers. Les documents fournis par
le serveur sont dans le format HTML (HyperText Markup Langage) qui contient non
seulement du texte, des images mais aussi des liens vers d'autres fichiers ou d'autres serveurs.
Cela permet d'avoir un système d'information distribué avec un partage de la mise à jour :
vous verrez par exemple pour une fiche d'une séquence de la banque Swiss-Prot (serveur en
Suisse), des liens vers Medline qui est distribué par un serveur aux Etats-Unis, des liens vers
la Banque EMBL (en Angleterre), des liens vers des journaux etc ....
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
Le client, avec son interface fenêtres, icônes, menu, zone de liens et souris est non
seulement capable d'adresser des requêtes à un serveur WWW, mais aussi à des serveurs de
type ftp, gopher, wais, news. La convivialité de l'interface et sa multi-fonctionnalité en font le
système de choix pour les échanges d'information. Soulignons de plus que les serveurs
WWW sont capables d'avoir une interaction directe avec un client par l'intermédiare des
"formes". Cela permet de mettre à la disposition de tout le monde des logiciels implantés sur
une machine sans que les utilisateurs potentiels soient des utilisateurs déclarés sur cette
machine. Vous utiliserez en T.P. ce système pour faire des recherches dans les banques de
séquences, pour soummettre votre séquences à un programme d'alignement sur les banques
etc..
Client WWW (Netscape pour Macintosh)
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
Les adresses des serveurs que vous indiquez à votre logiciel client sont de la forme :
://[port]/
- protocole : http, ftp, gopher, wais, news
- adresse machine nom symbolique ou adresse I.P.
- port : numéro du service (si aucun port n'est indiqué, c'est le numéro prédéfini qui est
utilisé par exemple pour WWW : 80)
- reference locale : désigne un fichier ou répertoire qui sont définis par rapport au type de
serveur
Attention : pour les news, l'adresse de la machine est un machine qui sert les news et la
référence locale n'existe pas. La plupart de ces serveurs ne permettent l'accès qu'à certains
domaines (si vous n'êtes pas dans un des domaines, le serveur vous indiquera que vous n'avez
pas la permission de lui "parler").
Pour les bases wais, l'adresse de la machine est un machine qui sert une base wais et la
référence locale n'existe pas,. Certains clients WWW ne peuvent communiquer directement
avec une base wais, ils doivent passer par une machine intermédiaire (appelée proxy), la
définition de celle-ci étant à mettre dans les préférences de votre logiciel client
Remarque finale : la mise en réseau de machines (que ce soit des micro-ordinateurs ou des
ordinateurs, des imprimantes etc ..) permet le partage des ressources, par exemple de fichiers
entre diférentes machines :
- NFS (Network File System) sous Unix
- Appletalk sous MacOS
- BNU sous Windows
Sur les ordinateurs de la salle Informatique, vos fichiers ne sont pas enregistrés sur le disque
dur du poste sur lequel vous travaillez, mais sur la machine principale serveur.
Sur les micro-ordinateurs, vous avez déjà surement pratiquer le partage de fichiers avec les
micro voisins ou le partage d'imprimantes.
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
BioInfo : analyse des séquences biologiques
Introduction
La conjonction du développement des ordinateurs, de leurs performances technologiques, de
la diminution de leurs prix, du développement des langages de programmation, du
développement des techniques de séquençages de fragments d'ADN a provoqué l'introduction
de l'informatique dans les laboratoires de biologie.
Le nombre de séquences publiées devenant vertigineux chaque laboratoire ne peut avoir une
remise à jour rapide des séquences publiées, on assiste alors, vers les années 1980, à la
création de quelques banques de séquences qui effectuent une remise à jour permanente. Les
banques les plus utilisées à ce jour sont GENBANK, PIR, EMBL, SWISS-PROT.
Il existe une myriade de logiciels, implantés sur différentes machines depuis le micro
ordinateur jusqu'à des ordinateurs "très puissants", écrits dans tel ou tel langage, traitant tel ou
tel problème. En France deux centres serveurs nationaux a été mis en place l'un au C.I.T.I.2 à
Paris, l'autre au pôle BioInformatique de Villejuif. Jusqu'à ces dernières années, la plupart des
biologistes, lorsqu'il avaient besoin d'accéder à des banques ou d'utilser des programmes
gourmands en ressouces utilisaient ces deux serveurs.
Le réseau Internet et la mise à disposition d'informations et de ressources informatiques par
de nombreux laboratoires a modifié cette attitude et nombreux sont les biologistes qui
utilisent ces ressources distribuées.
Après avoir énuméré les quelques grandes catégories de logiciels, nous nous intéresserons
plus particulièrement aux banques de séquences biologiques, au problème de recherche dans
les banques, de séquences "ressemblantes" à une séquence prédéfinie, et à un logiciel de
construction d'arbre phylogénétique et d'alignement. Vous avez à votre disposition des
informations complémentaires sur des serveurs de type W3 : celles-ci vous sont indiquées par
le sigle √ suivie de l'adresse.
1 - Accés et manipulations de données
- Recherche dans les banques (séquences, clones, ..)- Edition de séquences
2 - Séquences nucléiques
- Fréquences dinucléotides, codons ..- Recherche de signaux, de motifs (promoteurs, site d'épissage, ..)- Prédiction de cadre de lecture ouvert, traduction- Séquençage (assemblage, primer ..)- Carte de restriction- Prédiction de structure des ARN de transfert
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
- Recherche de répétitions- Alignements de séquences
3 - Séquences protéiques
- Analyse et calcul (PM, composition en aa, protéolyse ..- Prédiction de structure secondaire- Alignement de séquences
4 - Recherche dans les banques
- Alignements- Méthode globale (Needleman)- Méthode locale (Smith-Waterman)- Méthode approchées (Blast, Fasta)- Spécifique structure 3D
- Autre- Recherche de motifs, de consensus- Recherche de protéines ressemblantes / à une composition en aminoacides
5 - Phylogénie
- Méthodes phénétiques (Phylip, Méthode NJ ..)- Méthodes statistiques
Ne sont pas cités tous les logiciels développés autour de certaines techniques spécifiques
(Cristallographie, R.M.N., ..) et ceux pilotant des manipulations (séquenceur, HPL, PCR,
etc..)
Séquences √ http://www-biol.univ-mrs.fr/biologie/seq.htmlSouches, clônes √ http://www-biol.univ-mrs.fr/biologie/cata.htmlGénomes √ http://www-biol.univ-mrs.fr/biologie/genome.htmlLogiciels √ http://www-biol.univ-mrs.fr/biologie/logligne.htmlBibliographie √ http://www-biol.univ-mrs.fr/biologie/biblio.html
Banques de données
Vous avez à votre disposition, tout un ensemble de banques de données disponibles qui vont
de la bibliographie aux séquences, clones, cellules. Certaines sont encore indépendantes l'une
de l'autre, mais de plus en plus des systèmes de gestion permettant des interelations entre
elles sont mis en place. Leurs structures informatiques, non visibles pour l'utlisateur lambda,
peuvent être très différentes, toutefois une normalisation pour ce qui est visible de l'utilisateur
est réalisé.
Les banques de séquences traditionelles sont pour les acides nucléiques Genbank et EMBL
et pour les protéines PIR et Swiss-Prot et pour les structures cristallographiques PDB (Protein
Data Bank : 4162 Coordinate Entries / 3865 proteins / 285 nucleic acids / 12 carbohydrates).
Certains laboratoires ou consortions ont créé leurs propre sous-banques spécifiques par
rapport à des propriétés biologiques ou autres (par exemple Aids, FlyBase, Kabat (Sequences
of Proteins of Immunological Interest), NRSub (Non redondant Bacillus Subtillis),
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
EPDEukaryotic Promoter Database, ...)
Toutes ces banques sont accessibles sur Internet à l'aide de clients WWW. Il existe deux
sortes de serveurs :
- ceux dédiés à une banque particulière
- ceux intégrant un ensemble de banques et de données bibliographiques. Dans cette série,
l'un des plus complet est le système SRS (√http://www.infobiogen.fr/srs/srsc/) qui enprincipe a un serveur par pays Européen. Bien évidemment ces serveurs prennent une partie
de leurs informations sur les serveurs dédiés à une information sectorisée.
Voici l'évolution du nombre de séquences pour trois banques classiques
EMBL Release Entrées Nb nucléotides
1 06/1982 568 585433 33 12/1992 89100 111413979 37 12/1993 146576 158171400 41 12/1994 230950 226259607 45 12/1995 622566 427620278
Genbank Release Nb Nucléotides Entrées 3 Dec 82 680338 60674 Dec 92 120242234 9708480 Dec 93 163802597 15074486 Dec 94 230485928 23777592 Dec 95 425860958 620765
Swiss-Prot Release Entrées Nb amino-acides 2.0 09/86 3939 900 163 24.0 12/92 28154 9 545 427 27.0 10/93 33329 11 484 420 30.0 10/94 40292 14 147 368 32.0 11/95 49340 17 385 503
L'information contenue dans une fiche de séquence biologique est à peu près la même quelle
que soit la banque, les seules différences qui vont s'estomper rapidement sont au niveau de
liens vers d'autres serveurs (information distribuée). Par exemple dans les fiches de Swiss-
Prot, vous trouvez des liens vers d'autres banques principales accessibles sur d'autres serveurs
(Genbank, EMBL, Ecocyc, PDB, PRODOM (domaine protéique), SWISS-2D..), vers
Medline, vers certains journaux (par exemple J.B.C. (Journal of Biological Chemistry)).
Les fiches des différentes banques obéissent au même schéma :
- suite de paragraphe composé de trois éléments :
- le nom du champ ou encore définition des mots clés : doit être en début de ligne- séparateur (peut être trois blanc, deux points ..)- la valeur du champ- très souvent, il existe un marqueur de fin de séquence
Dans la fiche suivante extraite de Swiss-Prot, les valeurs de champ écrites en gras sont des
liens vers d'autres serveurs.
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
Une fiche classique de banques de séquence
ID HUNB_DROME STANDARD; PRT; 758 AA.AC P05084;DT 01-APR-1988 (REL. 07, CREATED)DT 01-APR-1988 (REL. 07, LAST SEQUENCE UPDATE)DT 01-OCT-1993 (REL. 27, LAST ANNOTATION UPDATE)DE HUNCHBACK PROTEIN.GN HB.OS DROSOPHILA MELANOGASTER (FRUIT FLY).OC EUKARYOTA; METAZOA; ARTHROPODA; INSECTA; DIPTERA.RN [1]RP SEQUENCE FROM N.A.RC STRAIN=OREGON-R;RA TAUTZ D., LEHMANN R., SCHNUERCH H., SCHUH R., SEIFERT E.,RA KIENLIN A., JONES K., JAECKLE H.;RL NATURE 327:383-389(1987).CC -!- FUNCTION: HUNCHBACK IS A GAP CLASS SEGMENTATION PROTEIN.CC -!- SUBCELLULAR LOCATION: NUCLEAR.DR EMBL; Y00274; G8055; -. [EMBL / GenBank]DR PIR; A29253; A29253.DR TRANSFAC; T00395; -.DR FLYBASE; FBGN0001180; HB.DR PROSITE; PS00028; ZINC_FINGER_C2H2.DR PRODOM [Domain structure / List of seq. sharing at least 1 domain]DR SWISS-2DPAGE; GET REGION ON 2D PAGE.KW DEVELOPMENTAL PROTEIN; GAP; ZINC-FINGER; METAL-BINDING; DNA-BINDING;KW REPEAT; NUCLEAR PROTEIN.FT DOMAIN 235 349 ZINC-FINGERS I.FT DOMAIN 700 757 ZINC-FINGERS II.FT ZN_FING 240 262 C2H2-TYPE.FT ZN_FING 269 291 C2H2-TYPE.FT ZN_FING 297 319 C2H2-TYPE.FT ZN_FING 325 349 C2H2-TYPE.FT ZN_FING 705 727 C2H2-TYPE.FT ZN_FING 733 757 C2H2-TYPE.SQ SEQUENCE 758 AA; 83112 MW; 66E54365 CRC32; MQNWETTATT NYEQHNAWYN SMFAANIKQE PGHHLDGNSV ASSPRQSPIP STNHLEQFLK QQQQQLQQQP MDTLCAMTPS PSQNDQNSLQ HYDANLQQQL LQQQQYQQHF QAAQQQHHHH HHLMGGFNPL TPPGLPNPMQ HFYGGNLRPS PQPTPTSAST IAPVAVATGS SEKLQALTPP MDVTPPKSPA KSSQSNIEPE KEHDQMSNSS EDMKYMAESE DDDTNIRMPI YNSHGKMKNY KCKTCGVVAI TKVDFWAHTR THMKPDKILQ CPKCPFVTEF KHHLEYHIRK HKNQKPFQCD KCSYTCVNKS MLNSHRKSHS SVYQYRCADC DYATKYCHSF KLHLRKYGHK PGMVLDEDGT PNPSLVIDVY GTRRGPKSKN GGPIASGGSG SGSRKSNVAA VAPQQQQSQP AQPVATSQLS AALQGFPLVQ GNSAPPAASP VLPLPASPAK SVASVEQTPS LPSPANLLPP LASLLQQNRN MAFFPYWNLN LQMLAAQQQA AVLAQLSPRM REQLQQQNQQ QSDNQEEEQD DEYERKSVDS AMDLSQGTPV KEDEQQQQPQ QPLAMNLKVE EEATPLMSSS NASRRKGRVL KLDTLLQLRS EAMTSPEQLK VPSTPMPTAS SPIAGRKPMP EEHCSGTSSA DESMETAHVP QANTSASSTA SSSGNSSNAS SNSNGNSSSN SSSNGTTSAV AAPPSGTPAA AGAIYECKYC DIFFKDAVLY TIHMGYHSCD DVFKCNMCGE KCDGPVGLFV HMARNAHS//
Interrogation des banques de données
La structure physique des banques peut aller d'un seul fichiers à une série de fichiers dont
certains sont le regroupement des séquences sur certains critères (appartenance à une espèce),
d'autres des index de mots-clés. Ce ne sont pas des bases de données et leur interrogation ne
peut être que des requêtes simples avec des combinaisons de mot-clés à l'aide des opérateurs
de connexion et, ou .
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
Certains laboratoires ont créé à patir des banques, des bases de données (relationnelle ou
objet) de telle façon à optimiser la gestion et surtout à permettre des requêtes beaucoup plus
complexes comprenant des relations, des unions et intersections d'ensemble, etc.. . Citons en
exemple :
- système ACNUC (- système ACEDB
Ressemblance de séquences
La caricature du biologiste moléculaire, la plus actuelle, montrerait un biologiste ayant
"péché" une séquence et s'exclamerait à quoi tu ressembles ou en quoi diifères-tu!
Nous ne poserons pas la question de la pertinence de tout cartographier et de tout séquencer,
sainte quête, en vue d'obtenir le secret de la vie, mais simplement nous allons feuilleter
quelques pages du bréviaire.
Deux points de vue pour répondre à la question de la similarité entre deux séquences :
1 - l'analyse du mathématicien qui considère une séquence comme un mot construit à partir
d'un alphabet et qui a des méthodes opératoires pour établir des fontions de mesure
2 - l'analyse ou aussi l'expertise du biologiste qui se référera, au delà des réponses
précédentes, à d'autres connaissances que la séquence primaire : toutes les propriétés
biologiques
Voici quelques classiques de la biologie moléculaire : aucune démonstration ne sera donnée,
vous les trouverez dans les articles originaux. Dans cette catégorie de programmes, nous
trouvons : alignement de 2 séquences, de plusieurs séquences, alignement d'une séquence
contre une banque, recherche de consensus
La première image
Une représentation matricielle de points (dot-matrix), construite ainsi :
- une croix si xi=yj (où xj est un élément de la première séquence et yj un élément de la
deuxième séquence, sinon rien. La vision d'une suite croix consécutives dans une diagonale
souligne des identités entre des parties des deux séquences
M Q N W E T T A T T N Y E Q H N A W Y N N x x x x W x x E x x T x x x x V ? T x x x x T x x N x x Y x x D ? Q x x H x
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
L'expert biologiste peut indiquer qu'une substitution de valine par alanine ne change pas les
propriétés biologiques (de même E par D).
Méthodes globales
La première analyse mathématique
Levenshtein introduit en 1965 (Levenshtein 1965) deux concepts très proches de distance
entre deux séquences A et B; l'un définit la distance comme le nombre minimum de
substitutions, de délétions ou insertions requises pour transformer A en B, l'autre comme le
nombre minimum de délétions ou insertions. Une distance définie ainsi a les propriétés d'une
distance métrique, à savoir:
° d(A,B) ≥ 0
° d(A,B)=0 si A=B
° d(A,B)= d(B,A)
° d(A,B) + d(B,C) ≥ d(A,C)
Cette distance se calcule de manière récursive (on parle de programmation dynamique) :
Soient les séquences A de n lettres et B de m lettres; d(A,B)=d(an,bm) avec
d(ao,bo)=0, si i
-
Exemple pédagogique:
A C G T G C G C p(8,6)= (7,6) p(7,6)= (6,5) 0 1 2 3 4 5 6 7 8 p(6,5)= (5,4) p(5,4)= (4,3) C 1 1 1 2 3 4 4 5 5 p(4,3)= (3,2) p(3,2)= (2,1) G 2 2 2 1 2 2 3 3 4 p(2,1)= (1,0) p(1,0)= (0,0) A 3 2 3 2 2 3 3 4 5 G 4 3 3 2 3 2 3 3 4 La distance est de 4: on peut obtenir B à C 5 4 3 3 3 3 2 3 3 partir de A par 2 délétions et T 6 5 4 4 3 4 3 3 4 2 substitutions.
L'alignement métrique proposé est:
A C G T G C G C LCS = CGGC (longest common subsequence)
| | ^ | | ^
- C G A G C T -
Le premier algorithme pour biologiste (Needleman S. and Wunsch C. 1970)
Basé aussi sur la programmation dynamique, il ne cacule pas la différence entre deux
séquences mais la similarité. Considérons deux séquences A(1,n) B(1,m)
A B C N J R O C L C R P M A J Le jeu est de finir de remplir ce tableau C J N R C 3 3 4 3 3 3 3 4 3 3 1 0 0 K 3 3 3 3 3 3 3 3 3 2 1 0 0 C 2 2 3 2 2 2 2 3 2 3 1 0 0 R 2 1 1 1 1 1 2 1 1 1 2 0 0 B 1 2 1 1 1 1 1 1 1 1 1 0 0 P 0 0 0 0 0 0 0 0 0 0 0 1 0
Le tableau est rempli ligne après ligne (en partant de la dernière) et pour chaque ligne
colonne après colonne (en partant de la dernière) en obéissant à la règle suivante :
- Le score S(i,j) est le nombre maximun de correspondance entre les deux parties de
séquences A(i,n) et B(j,m) (en prenant tous les chemins possibles à partir de (i,j)) et en
appliquant la valuation suivante :
- score pour une identité 1- score pour une substitution, une insertion ou délétion 0
La formule de récurrence est :
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
si ai= bj+1 S(i,j+1) -1 + s(ai,bj), si non S(i,j+1) + s(ai,bj)S(i,j) = max si ai+1= bj+1 S(i+1,j+1) -1 + s(ai,bj), si non S(i+1,j+1) + s(ai,bj)
si ai+1= bj S(i+1,j) -1 + s(ai,bj), si non S(i+1,j) + s(ai,bj)avec évidemment S(n+1, j) = S(i, m+1) = 0
La similarité entre les deux séquences est égale à la valeur de S(1,1) et l'alignement est un
graphe qui a pour origine S(1,1) et parcourt la matrice pour des i et j croissant en recherchant
l'élément maximal voisin.
C'est une heuristique en ce sens qu'aucune démonstration n'indique qu'il calcule le maximum
de similarité. De plus, le nombre de séquences primaires augmentant, deux problèmes se sont
rapidement posés :
- la connaissance de séquences de famille de protéines montre qu'un score de substitution
identique pour toutes les paires d'amino acides n'est pas réaliste (par exemple substituer un
acide aspartique par un acide glutamique n'entraîne pas les mêmes conséquences biologiques
que substituer un acide aspartique par une lysine, ...) : voir plus loin le paragraphe sur les
matrices de substitution.
- le score à attribuer à une série d'insertion ou de délétion est-il la somme simple des scores
de chacun des phénomèmes.
Ceci définit des formules de score s(ai,bj) pour chaque paire d'amino acides plus
sophistiquées et l'introduction de score de délétion ou insertion faisant intervenir la longueur
de segment délété ou inséré par une formulaire linéaire (a +b(longueur)).
A partir de là, l'algorithme précédent a été modifié et d'autres ont apparu (en particulier, celui
de Sellers (1974) qui est une modification de celui de Levenstein). Smith F. et Waterman
(1991) ont comparé ces différents algorithmes et indiqué l'équivalence de certains (en
particulier celui de Sellers et celui de Needleman S. et Wunsch C) et ils ont défini les
conditions que doivent respecter les scores pour que la mesure (différence ou similarité) soit
une métrique (inégalité triangulaire respectée). Ils ont montré que si les scores utilisés pour
chaque paire d'amino acide est une métrique, alors la similarité ou la différence entre deux
séquences, calculées suivant les formules de récurrence précédentes est une métrique. A
moins de modifications importantes, cet algorithme n'est pas utlisé pour l'alignement sur une
banque.
Méthodes locales
L'algorithme le plus utilisé est celui de Smith et Waterman (1981) qui identifie les sous-
séquences maximales de deux séquences par programmation dynamique. Un matrice de score
est construite à l'aide d'une formule de récurrence (en reprenant les mêmes notations):
S(i-1, j-1) + s(ai, bj)S(i,j) = max S(i-k, j) - Wk
S(i, j-k) - Wk0avec évidemment S(i, 0)= S(0, j) = 0
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
S(i,j) est le maximum de similarité entre deux segments se terminant en Ai et Bj. Une
séquence maximale est identifiée en trouvant l'élément maximal du tableau et en le
parcourant pour des indices décroissants jusqu'à la valeur nulle et en recherchant l'élément
voisin maximal. Dans l'article original, le score d'une identité est nul, celui d'un mismatch
-1/3 et Wk est égal à 1+ (1/3)k
Méthodes approchées
Lorsque l'alignement d'une séquence est réalisé contre une banque, le problème du temps de
calcul devient prédominant. Les algorithmes précédents sont trop gourmands en ressource. La
façon de voir la ressemblance a été posée d'une manière différente pour contourner cet
obstacle et des heuristiques ont été proposées.
FASTA (Lipman D. and Pearson W - Wilbur W.)
Ces deux auteurs ont fait les remarques suivantes :
- les ressemblances recherchées au "niveau biologique" concernent des fragments de
séquences
- de plus, dans ces fragments, la fréquence de substitution est beaucoup plus grande
que celle d'insertion ou délétion
Leur programme est basé sur la méthode de la diagonale, que l'on peut approcher
intuitivement par la représentation "dot-matrix". La ressemblance se définit par comparaison
de paire de fragments de chacune des séquences (fragment : partie de même longueur de
chacune des deux séquences, en dot-matrix c'est un morceau d'une diagonale). Ces deux
parties contiennent des mots communs séparés par des zones de substitution. Un fonction
score est attribué pour un fragment et la ressemblance est mesurée par le fragment de score
maximum.
L'algorithme se divise en 4 étapes :
- précodage des séquences en k-uple : mots de longeur k (4 acides nucléiques, 2 pour les
protéines). Ceci permet une efficacité beaucoup plus grande pour la deuxième étape
- recherche du fragment de plus haut score pour chaque diagonale qui est le score de la
diagonale (fragment = suite de mots séparés par de régions de substitution dont la longueur
maximale est prédéfinie (paramètre M))
- les scores des dix meilleures diagonales vont être recalculés en utilisant une matrice de
subtitution (PAM 250). C'est ce score qui est listé dans les résultats sous l'appellation
init1dans les programmes antécédents à FASTA (FASTP ..). Pour FASTA, ce score (initn)
est recalculé en essayant d'enchaîner à partir de la meilleure diagonale les fragments restants
des 9 autres diagonales en tenant compte des insertions ou délétions dues au changement de
diagonale.
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
- Les résulats sont classés par rapport au score précédent, et pour les meilleurs, un
alignement et un nouveau score (Opt) entre la séquence requête et la séquence de la banque,
sont calculés à partir de l'algorithme de Needleman et Wunsch légèrement modifié.
BLAST (Altschul S. et al. - Karlin S. and Altschul S.)
L'idée originale est de combiner à l'algorithme de recherche de paires de segments
homologues entre deux séquences une statistique qui permet de les classer.
La recherche se fait en plusieurs étapes :
- recherche de mots communs (w-mer) entre la séquence requête et les séquences de la
banque (celle-ci peut se faire à l'aide de matrice de substitution). Par défaut c'est Blosum62
qui est utilisée
- pour les mots "communs" supérieurs à un certain score (Expected), le mot est étendu si
possible à droite et à gauche et si le nouveau score obtenu est supérieur au "cut-off" S, le
segment est alors retenu (mis dans la liste des HSP : high scoring pair)
- pour une séquence de la banque pour laquelle au moins un segment satisfait à la condition
précédente, une valeur ("p-value"), basée sur une statistique de Poisson, qui évalue la
probablité que deux séquences "au hasard" aient en commun ces HSP, est calculée et les
résultats sont triés par valeur croissante.
Il est à remarquer que les valeurs de E et S sont en relation. La valeur par défaut de S est
calculée à partir de la valeur de E. Quant à la valeur par défaut de E, elle est le nombre de fois
qu'un tel segment est attendu "au hasard" dans la banque (10 pour la valeur par défaut). Il est
évidemment dépendant de la taille de la banque, de la fréquence des lettres (acides
nucléiques, ammino acides)
Le fait d'utiliser des matrices de substitution dans la première étape, pose un problème pour
des segments déclarés ressemblant entre deux séquences alors qu'au niveau biologique cela
n'a peut être pas de sens. Deux filtres sont prédéfinis
- région de faible complexité (SEG)
- région de répétitions internes (XNU)
Ces filtres vous permettent par exemple d'éliminer des ressemblances dues uniquement à des
régions acides ou basiques, etc.
Matrice de substitution
La recherche de ressemblances entre séquences, leur alignement mettent en jeu des relations
entre entre les constituants élémentaires des séquences, les nucléotides et les amino acides.
Les matrices de substitution sont écrites pour exprimer de telles relations. Quels sont les
critères les plus utilisés :
- identité : matrice unitaire
- code génétique
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
- propriétés chimiques des amino acides
- substitutions observées dans des structures 3D supperposables (matrice de Risler)
- substitutions observées dans des alignements de protéines (matrice PAM, Blosum)
Le dernier critère, qui est le plus utilisé, a un défaut originel qui vient du fait que pour
fabriquer des alignements, on utilise très souvent des programmes qui font intervenir une
matrice de substitution. Les deux catégories de matrices les plus utilisées sont PAM et
Blosum.
PAM (Dayhoff M. et al.)
Ces matrices sont construites par étude de segments proches (moins de 15 % de différences)
de séquences de protéines homologues. Les fréquences observées de substitutions (ou
probabilité conditionelle : appelées "odd") sont transformées en logarithme de probabilité,
normalisé en unité d'évolution. Le logarithme est utilisé pour que dans les programmes de
recherche de ressemblance, la somme de ces éléments donne le logarithme de la probabilité
pour la séquence entière (le modèle étant Markovien : indépendance de fréquences de
substitution).
Les éléments diagonaux de la matrice indique une évolution sans substitution.
Pour PAM1, leur somme est telle qu'elle correspond à une probabilité de 99/100 (1 mutation
pour 100 résidus : d'où le nom PAM acepted point mutation)
L'indépendance des fréquences et les éléments de la matrice étant des logarithmes de
fréquences, nous pouvons calculer PAM(N) en élevant PAM1 à la puissance N, par exemple
pour PAM120, il faut multiplier PAM1 par elle-même 120 fois.
BLOSUM (Henikoff S. and Henikoff J.)
Ces matrices sont construites par étude de séquences de protéines et les séquences sont
découpées en blocs (2000 au total) par rapport au pourcentage d'amino acides inchangés.
Une matrice "d'odds" est calculée à partir des blocs d'alignement pour chaque valeur de
similitude, et ensuite chaque élément est transformé en unité d'information en prenant le
logarithme du rapport de la valeur observée à la valeur qu'on obtiendrait au hasard. Cette
matrice est ensuite normalisée. Ces matrices sont désignées par blosum(N) (blosum pour
blocks substitution matrix) où N représente le pourcentage de similitude. Les
correspondances entre blosum et PAM, basées sur la théorie de l'information sont :
- PAM250 -> blosum45 PAM160 -> blosum62 PAM120 -> blosum80
Phylogénie
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
Une première lecture de livres ou publications sur la phylogénie laisse une impression de
discipline confuse. Une relecture accentue cette impression et l'on peut dire sans se tromper
qu'ils existent au moins autant de méthodes d'approches que de phylogénéticiens. Nous
n'aborderons qu'un cas particulier de méthode phénétique, souvent désignée sous le nom de
phylogénie moléculaire. On peut quand-même tenter une classification en mettent en exergue
leurs ressemblances et leurs différences.
La phylogénie peut se définir comme "le cours historique de la descendance des êtres
organisés" s'appuyant sur le concept de base de la descendance avec modification.
Le support formel de la représentation, admise par tous, est l'arbre phylogénétique.
- Les feuilles y représentent les "espèces" étudiées ou les taxons
- les noeuds internes, les ancêtres virtuels ayant divergé
- les arêtes, les liens de filiation. Les arêtes sont valuées.
En général, les arbres sont ternaires (noeud interne a trois arêtes) et peuvent être enracinés;
dans ce cas l'arbre est "orienté", il possède une origine qui est un noeud unaire appelé racine
ou ancêtre.
Un dendrogramme est un arbre additif enraciné, dont tous les chemins de la racine à chacune
des feuilles ont la même longueur.
DendrogrammeA B C
A
C
D
B
E
Arbre sans racine
noeud
arête
feuille arbre : graphe connexe sans cycle
X-arbre : on ajoute aux sommets réels (lestaxons) des sommets latents qui sont desancêtres virtuels (intermédiare virtuel)
arbre additif : arbre phylogénétique dont lesarêtes sont valuées
Cette représentation est le support formel de la "ressemblance" ou de la différence entre les
objets d'étude (espèces, organismes) de la phylogénie. Là est le problème crucial et là se
situent les différences entre phylogénéticiens. De l'anatomie comparée à la l'étude des
caractères biologiques moléculairse, en passant par l'ontogénie et la paléontologie, le concept
de ressemblance a été approché de manières différentes selon l'école de systématique :
- pour les cladistes, il convient d'identifier les états primitif (plésiomorphe) et dérivé
(apomorphe) des caractères homologues
- pour les systématiciens phénéticiens, adepte de la taxinomie numérique, la combinaison de
taxons ne peut être fondée que sur la base de similitude globale exprimée par des indices de
similitudes.
- pour les sytématiciens évolutionnistes, la similitude globale seule ne peut fournir la base
de la reconstruction phylogénétique en raison de "fausses similitudes" ou homoplasies
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
(convergence : apparition indépendante de caractères proches et réversion : apparition d'un
caractère ayant l'apparence de la morphologie ancestrale) et l'on doit prendre en compte
uniquement la similitude de traits homologues.
Nous allons nous intéresser uniquement à deux méthodes phénétiques que vous trouverez
dans le programme "clustalv" qui permettent d'exprimer des relations de proximité à partir
d'un indice de similarité basé sur un seul caractère : la comparaison des séquences primaires
pour une protéine appartenant à la même famille (par exemple la lipase pancréatique).
Nous supposons que nous pouvons définir et calculer une distance entre deux séquences
protéiques (distance d'édition, etc.), et donc par exemple construire le tableau suivant pour 5
séquences:
1 2 3 4 5
2 d12 0
3 d13 d23 0
4 d14 d24 d34 0
5 d15 d25 d35 d45 0
6 d16 d26 d36 d46 d56
indice d'écart : d(i,j) = d(j,i)d(i,j) ≥ 0 et d(i,i)=0
distance : d(i,j) = 0 ⇒ i = j
distance métrique : d(i,j) ≤ d(i,k) + d(k,j)
distance ultramétrique :d(i,j) ≤ max(d(i,k), d(j,k))
Nous voulons passer d'une représentation d'un graphe complet (tableau double entrée) à la
représentation par un arbre phylogénétique.
Intuitivement nous allons passer d'un espace à (n-1) dimensions (ici 4) à un espace de
dimension 2 : cela ne peut se faire que par une approximation.
Plusieurs méthodes peuvent être appliquées : probabiliste, analyse en composante principale,
classifications hiérarchiques. Les plus employées sont les dernières, basées soit sur la
meilleure approximation tableau arbre, ou encore sur l'application d'une récurrence :
Meilleure approximation
- par exemple approximation des moindres carrés entre le tableau et l'arbre additif à
construire
Récurrence
- la classification hiérachique descendante, basée sur la dichotomie : l'ensemble de
séquences est partagé en deux sous-ensembles, chacun regroupant les séquences les plus
proches entre elles. A chacun des deux sous-ensembles, on applique la même règle
précédente et cela jusqu'à épuisement.
- la classification hiérachique ascendante : une paire de séquences (ou OTU) sont
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
regroupées suivant un critère, ce regroupement définit un nouvel objet séquence (OTU) et
l'on recommence la même opération avec les (n-1) objets restants après avoir recalculé un
nouveau tableau, et ainsi de suite jusqu'à épuisement. Les méthodes vont se différencier par le
critère de regroupement et par la méthode de calcul pour passer d'un tableau de n objets à un
tableau de (n-1) objets.
Dans le programme "clustalv", vous avez deux constructions par classification hiérarchique
ascendante :
- à partir du tableau, on définit une ultramétrique (lien moyen : l'arbre construit sera un
dendrogramme) et la règle de regroupement concerne les deux OTU les plus proches (valeur
minimale dans le tableau)
- la règle de regroupement concerne les deux OTU qui produise l'arbre minimal
Lien moyen (UPGMA)
Cette méthode rentre dans le cadre des distances ultra-métriques. Pour passer d'un tableau
de n objets, à un tableau de (n-1) objets où on a regroupé les objets 1 et 2 par exemple, un
élément du nouveau tableau est calculé ainsi :
d(i,(12)) = (n1*d(i,1) + n2*d(i,2))
n1 + n2 où nk est le nombre d'éléments dans le sous-arbre (ou
OTU) k
on peut aussi définir :
- lien simple d(i,(12)) = min [ d(i,1) , d(i,2) ]
- lien complet d(i,(12)) = max [ d(i,1) , d(i,2) ]
Cette méthode qui pose que les séquences à regrouper sont les plus proches (valeur minimale
dans le tableau) sous-entend l'hypothèse de "l'horloge moléculaire" : taux de mutation
proportionnelle au temps évolutif et identique sur toutes les branches de l'arbre
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
Exemple :
a b c d ea 0b 1 0 on regroupe a et b en Ac 2,1 1,2 0d 3,3 2,3 1,2 0e 2,8 3 2,5 3,4 0-------------------------------------------------- A c d eA 0c 1,65 on regroupe c et d en Bd 2,8 1,2e 2,75 2,5 3,4-------------------------------------------------- A B eAB 2,225 on regroupe A et B en Ce 2,75 2,95-------------------------------------------------- C eCe 2,85
d'où le dendrogramme ou encore
a b c d e
A BC
0,5 0,6
1,421,11
a b c d e
Méthode NJ (Neighbor-joining : Saitou N. and Nei M. 1987)
C'est une méthode de construction d'un arbre phylogénétique sans racine à partir d'un indice
d'écart (par exemple distance ou dissimilarité entre séquences). Elle est basée sur la recherche
d'une paire d'OTU (operational taxonomic units) qui minimisent la longueur totale des
branches de l'arbre et ceci à chaque étape de regroupement.
Nous avons un indice de proximité D sur un ensemble X de n séquences, représenté par un
tableau à deux entrées. Nous voulons passer à une représentation par un X-arbre additif libre
telle que la valuation sur l'arbre L (longeur des chemins entre deux feuilles) soit une "bonne
approximation" de D. (Cela est possible sans problème si l'indice est une distance métrique)
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
Indice de proximité (D) Arbre phylogénétique additif (L)
1 2 3 4 5
2 d12
3 d13 d23
4 d14 d24 d34
5 d15 d25 d35 d45
6 d16 d26 d36 d46 d56
→1
5
42
3
6
a b c d
Si D distance métrique : OK
Figure 1
L15 = L1a + L5a etc .. et Lij pour i, j ∈{1..5} soit une bonne approximation deDij
Pour faire ceci, nous allons procéder en (n-2) cycles en répétant le processus suivant :
- regrouper les deux OTU les plus proches en créant une arête interne entre cette paire et le
reste des OTU suivant le critère de minimisation de la longueur de l'arbre obtenu
- calculer la valuation intermédiaire
- regrouper la paire dans le tableau de dissimilarité et recalculer celui-ci par le lien moyen
Critère de sélection d'une paire d'OTU les plus proches
Pour tous les couples d'OTU, la valeur de Sij, longueur de l'arbre pour une topologie où i et j
sont regroupés en une paire, est calculée à partir des valeurs de dissimilarité Dkl.
Toutes ces longueurs d'arbre sont calculées en adaptant la formule d'un arbre en étoile à un
arbre avec une arête interne.
Pour un arbre en étoile : S0 = ∑i=1
N
L iX = 1N-1 ∑i
-
Indice de dissimilarité Valeur de Sij (longueur de l'arbre pourune toplogie où i et j sont regroupés
1 2 3 4 5
2 d12
3 d13 d23
4 d14 d24 d34
5 d15 d25 d35 d45
6 d16 d26 d36 d46 d56
→
1 2 3 4 5
2 S12
3 S13 S23
4 S14 S24 S34
5 S15 S25 S35 S45
6 S16 S26 S36 S46 S56
et la paire sélectionnée pour le regoupement est celle qui minimise la valeur de Sij.
Regroupement d'une paire d'OTU et création d'une arête interne
Schématiquement nous passons de la topologie en étoile à une topologie où une arête
interne est créée (ici c'est S15 qui est supposé minimum).
Etoile Création d'une arête interne
X
1
2
34
5
6
→X Y
1
5
6
4
32
a
Figure 2 Valuation de L1a et L5a
Estimation de la longueur des arêtes LiX , LjX , LXY
LXY = 1
2(N-2) [ ∑k=1, k≠i, k≠j
N
(Dik + Djk ) - (N-2) D12 - 2N-3 ∑k
-
Remarque : seuls LiX et LjX sont calculés pour chaque cycle, sauf au dernier pour lesquel
on a une trichotomie.
Préparation du tableau de dissimilarité pour le cycle suivant
Nous passons d'un tableau avec 6 OTU à un tableau à 5 OTU où la paire i, j est regroupée
en un seul OTU (dans le cas de la figure 1 c'est 1 et 5 qui sont regroupés). Les nouveaux
indices de similarité sont recalculés à l'aide de la distance de Fitch et Margoliash :
D(i-j)k = ( Dik + Djk - Dij) / 2
Cycle suivant
En appliquant le même processus, deux OTU vont être regroupés, par exemple, si S23 est
minimal :
Etoile Création d'une nouvelle arête interne
X
1-5
2
34
6
→ X Y2
3
6
4
1-5d
Figure 3 Valuation de L2d et L3d
ou encore :
Etoile Création d'une nouvelle arête interne
X2
34
61
5
→XY
1
5
6
4
a
3
2
d
Figure 3 bis Valuation de L2d et L3d
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
On peut aussi avoir, par exemple, si c'est S(1-5)6 qui est minimal le schéma suivant:
X2
34
61
5
→ X Y
1
5 a
3
2b
6
4
Figure 4 Valuation de Lab et L6b
Deux propriétés importantes doivent être soulignées en rapport avec la minimalité de Sij :
Critère d'un arbre d'évolution minimum
Pour un arbre additif, le critère d'une paire d'éléments les plus voisins est :
Les éléments 1 et 2 sont les plus proches si les relations d'inégalité suivantes sur l'indice
d'écart sont satisfaites :
∀ i, j (i≠ 1, 2 et j≠ 1,2) : D12 + Dij < D1i + D2j et D12 + Dij < D1j + D2i
Remarquons que ce crirère n'implique pas que D12 soit l'élèment minimal des Dij .
Soit S12 la longueur de l'arbre où la paire (1-2) est regroupée par ajout d'une arête interne
(voir pages précédentes)
Théorême : La condition de minimalité de S12 est équivalente à la condition des plus proches
voisins sur l'arbre additif.
Estimation des longueurs de branches par les moindres carrés
Nous avons vu que nous voulons passer d'une représentation par un indice de proximité D
sur un ensemble X de n séquences, représenté par un tableau à deux entrées à une
représentation par un X-arbre additif libre telle que la valuation sur l'arbre L (longeur des
chemins entre deux feuilles) soit une bonne approximation de D. Le problème est d'obtenir
une matrice A "la meilleur possible" telle que AL = D. La solution de cette équation par les
moindres carrés est de minimiser l'expression :
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
-
1
2(N-2) ∑k=1, k≠i, k≠j
N
(Dik + Djk ) + 12 Dij + 1
N-2 ∑k
-
Bibliographie
Ressemblance- Altschul, Stephen F., Warren Gish, Webb Miller, Eugene W., Myers, and David J.Lipman (1990). Basic local alignment search tool. J. Mol. Biol. 215:403-10.
- Karlin, Samuel and Stephen F. Altschul (1990). Methods for assessing the statisticalsignificance of molecular sequence features by using general scoring schemes. Proc. Natl.Acad. Sci. USA 87:2264-68.
- Karlin, Samuel and Stephen F. Altschul (1993). Applications and statistics for multiplehigh-scoring segments in molecular sequences. Proc. Natl. Acad. Sci. USA 90:5873-7.
- Levenshtein V. (1965) Binary codes capable of correcting deletions, insertions, reversals.Cybernetics and Control Theory 10 (8): 707-710
- Needleman S. And Wunsch C. (1970) A general method applicable to the search forsimilarities in the amino acid sequence of two proteins. J. Mol. Biol. 48, 443-453
- Pearson W and Lipman D. (1988) Improved tools for biological sequence comparison.Proc. Natl. Acad. Sci. USA 85, 2444-2448
- Sellers P. (1974) On the theory and computation of evolutionary distances. SIAM J. Appl.Math. 26, 787-793
- Smith T. and Waterman M. (1981) Identification of common molecular subsequence. J.Mol. Biol . 147, 195-197
- Smith T. Waterman M. and W. Fitch (1981) Comparative biosequence metrics. J. Mol.Evol. 18, 38-46
- Wilbur W. and Lipman D. (1983) Rapid similarity searches of nucleic acid and protein databanks. Proc. Natl. Acad. Sci. USA 80, 726-730
- Wilbur W. and Lipman D. (1984) The context dependant comparison of biologicalsequences. SIAM J. APPL. MATH. 44, 557-567
Matrices de substitution- Dayhoff M., Barker W. and Hunt L. (1983) Establishing homologies in protein sequences.Methods in Enzymol. 91, 524-545
- Henikoff S. and Henikoff J. (1992) Amino acid substitution matrices from protein blocks.Proc. Nat. Acad. Sci. USA 89, 10915-10919
- Risler J., Delorme M., Delacroix H and Henaut A. (1988) Amino acid substitutions instructurally related proteins - A pattern approach : determination of a new and efficientscoring matrix. J. Mol. Biol. 204, 1019-1029
Phylogénie- Darlu P. et Tassy P. (1993) Reconstruction phylogénétique. Collection Biologie Théorique
: Ed Masson
- Fitch W. and Margoliash E (1967) Construction of phylogenetic trees. Science 155, 279-284
- Saitou N. and Nei M. (1987) The Neighbor-joining method : a new method forreconstructing phylogenetic trees. Mol. Biol. Evol. 4 , 406-425
___________________________________________________________________________Maîtrise de Biochimie - BioInformatique 1996
SommaireIntroductionSystèmes d'exploitationCommunications et réseauxAnalys des séquences biologiquesIntroductionBanque de donnéesRessemblance des séquencesMatrice de substitutionPhylogénie
Bibliographie