hoangvinh

hoangvinh’s Blog

Archive for the ‘Computer Science’ Category

Tin sinh học – Bioinformatique

Đăng bởi Hoàng Vinh on Tháng Năm 16, 2007

I. Introduction

La bioinformatique est une discipline récente à la croisée des chemins entre les mathématiques, l’informatique et la biologie. Il ne faut pas oublier que les données primaires sont fournies par les expérimentateurs en biologie, virologie, immunologie (le “monde en logie ” de logos vie). A partir de ces expérimentations, les bioinformaticiens vont développer des banques de données (qui vont évoluer vers des bases de données relationnelles) en appui desquelles, les bioinformaticiens vont pouvoir développer des nouvelles méthodologies (recherche d’ORF, recherche de protéines homologues, prédictions de structures, etc…). Le développement de nouvelles méthodologies ne vaut que si le progrès est partagé par tous. Les méthodes doivent être rendues utilisables aux expérimentateurs biologistes au moyen de logiciels et/ou de webiciels. Pour pouvoir réussir à être utile car utilisée, la bioinformatique, se doit d’être immergée dans ce monde “humide”.

Autrefois (dans les années 80), l’étude des protéines commençaient par la caractérisation du phénotype de la protéine (activité enzymatique, propriétés de stabilité, caractérisation physico-chimique, etc…), puis continuait par la purification de la protéine ce qui permettait l’obtention d’un séquence partielle, ce qui ouvrait la voie au clonage du gène et donc à la mutagenèse dirigée.

    Aujourd’hui, étant donnée l’ampleur des programmes de séquençage des génomes complets de nombreux organismes, l’approche s’est inversée. A partir des séquences des génomes, un des enjeux de la bioinformatique est  la prédiction des ORF, à partir desquelles les séquences de protéines seront déduites. Ensuite, l’objectif sera de faire parler ces séquences protéiques grâce aux outils bioinformatiques, comparaison de séquences, recherche d’homologues, alignement multiple, classification en famille, prédiction de structures, modélisation moléculaire afin d’inférer la fonction biologiques ainsi que les régions de la séquence les plus importantes d’un point de vue fonctionnel/structural. Si la fonction putative de la protéine présente un intérêt (économique, industriel, en santé publique ou en agroalimentaire), une étude biochimique et la détermination de la structure 3D seront envisagées.

        I.1. Contexte informatique

Tout d’abord au niveau des moyens matériels, le développement de la microinformatique (née vers 1982) a permis l’essor très progressif des méthodes d’analyse des données biologiques au moyen de l’outil informatique. Ainsi, à titre d’exemple, la capacité de stockage informatique a subi une croissance permanente, la puissance des processeurs qui a doublé tous les 18 mois pendant 20 ans (loi de Moore) ont suivi l’évolution de la croissance des banques de données biologiques qui doublent aussi tous les 18 mois. De plus, les méthodes informatiques se sont sophistiquées et de nouvelles méthodes informatiques ont pu être développées grâce à la biologie (informatique “bioinspirée” : réseau de neurones, algorithmes génétiques) et à de nouvelles architectures matérielles (calcul parallèle, distribuées, paire à paire). Aujourd’hui, les besoins en stockage et en puissance de calculs sont tels que les solutions envisagées passent par le calcul et le stockage distribué sur des grilles de ressources informatiques.

        I.2. Les Grands enjeux de la bioinformatique

Le développement de l’informatique permet le stockage et l’organisation (structuration) des données biologiques. L’identification des protéines aujourd’hui possible de manière automatique grâce aux progrès de la spectrométrie de masse soulève de nouveaux défis en informatique comme la recherche rapide dans les banques de données de signatures incomplètes et imparfaites. La prédiction de structures (ADN, ARN et protéines) constitue également un enjeu majeur. La prédiction et la localisation des sites fonctionnels avec en ligne de mire la rationalisation de la mutagenèse dirigée. La modélisation moléculaire automatique et à grande échelle permet de formuler des hypothèses de relation structure-fonction en l’absence de structures expérimentales toujours difficiles à obtenir (même si des progrès considérables ont été réalisés ces dernières années dans ce domaine). Dans ce contexte, la prévision de la limite des domaines structuraux est une activité majeure car elle ouvre la voie à la détermination expérimentale de la structure 3D par morceau au moyen de la RMN et de la cristallographie. Cette approche permet d’accéder à la structure par morceau d’objets biologiques de trop grande taille (RMN) ou trop flexibles pour former des cristaux (biocristallographie). Enfin, la rationalisation des cibles à étudier dans le cadre de la génomique structurale détermination systématique de la structure 3D des protéines d’un organisme est d’une importance capitale pour économiser les moyens humains et financiers. Dans le domaine de l’immunologie moléculaire, une des applications traditionnelle de la bioinformatique est la prévision d’épitopes ou “régions antigéniques” (susceptibles d’être reconnues par les anticorps) à partir de la séquence. La fabrication de vaccins synthétiques à partir des épitopes est ensuite envisageable. La compréhension du “dialogue moléculaire” utilisé par les macromolécules biologiques pour communiquer, échanger des informations, s’activer ou s’inhiber est un enjeu majeur de la biologie intégrée dans laquelle la bioinformatique a un rôle à jouer.

    Les compétences nécessaires couvrent des domaines très variés des mathématiques (statistiques, minimisation, optimisation stochastique, probabilités, géométrie dans l’espace, processus de Markov, etc..) de l’informatique (graphes, “branch and bound”, programmation dynamique, parallélisme, “pattern matching”, etc…) et de la biologie (biochimie, biologie moléculaire, immunologie, virologie, etc..)

II. LES SYSTèMES INFORMATIQUES

       II.1 Historique

Le microprocesseur est l’aboutissement de progrès technologiques tant dans les domaines mécanique, informatique et électronique. Quelques dates :

1690 : Pascal invente la machine à calculer entièrement mécanique (addition et soustraction)
1800 : Jacquart invente le métier à tisser avec cartes perforées.
1810 : Invention de l’orgue de barbarie (succession de cartes perforées).
1940 : Premier ordinateur à relais mécaniques (Navy)
1946 : Premier ordinateur à tubes à vide (1800) (grande dissipation : 150 kw, problème de rendement et de fiabilité)
1948 : Progrès de la physique quantique avec découverte de l’effet transistor.
1950 : Réalisation des premières mémoires à ferrites.
1958 : Développement du premier circuit intégré (4 à 5 tr/puce).
1964 : Ordinateur à transistors (à base de circuits TTL : 50 transistors dans une puce)
1970 : Premiers circuits L.S.I.- naissance du premier microprocesseur 4 bits avec 1000 transistors sur une puce.
1975 : Naissance du microprocesseur Motorola 6800 (8 bits) .
1980 : Apparition du microprocesseur 16 bits avec 50000 transistors sur la puce.
1984 : Apparition du microprocesseur 32 bits avec un million de transistor sur la puce.
1994 : Apparition du Pentium avec 3,5 millions de transistors.       II.2. Les ORdinateurs

            Les ordinateurs sont composés d’une unité centrale (UC comprenant un (des) microprocesseur (s), une (des) mémoire (s), un bus d’échange de données), d’un dispositif d’affichage ( carte graphique + écran ), d’un système Entrés/sorties (clavier + souris), de moyens de stockage (disques magnétiques, CD,), de dispositifs de communications (cartes réseau, modem) et de divers périphériques ( imprimantes , scanner, audio-vidéo, cartes d’acquisition ou de pilotage d’instruments). Un certain nombre de ces composants sont gravés (ou insérer) sur une carte principale ou carte mère.

        II.2.1. Microprocesseur [ En savoir plus ]

        Un microprocesseur est un composant électronique minuscule, fabriqué le plus souvent en silicium, qui regroupe un certain nombre de transistors élémentaires interconnectés. Le microprocesseur exécute les fonctions d’unité centrale d’ordinateur (CPU), c’est à dire d’exécuter des instructions envoyées par un programme. Un microprocesseur est constitué de portes logiques. Ces portes logiques sont composées de   transistors qui fonctionnent comme des interrupteurs. On trouve deux sortes de porte de base: les MOS et les CMOS . C’est à partir   de celles-ci que sont fabriquées les fonctions logiques comme OR, AND, NOT, XOR, NOR , NAND . Ces fonctions de base vont constituer le circuit interne du microprocesseur c’est à dire que l’on peut former toutes les autres fonctions comme, l’addition, la soustraction …  Les microprocesseurs sont organisés selon 2 type d’architecture: CISC ou RISC

Le CISC (Complex Instruction Set Computer) est un type de processeur pour lequel chaque instruction correspond à un câblage matériel. Cette technologie est basée sur un jeu de plus de 400 instructions. Ces jeux d’instructions ont beaucoup plus d’inconvénients par rapport aux performances (une instruction peut nécessiter plusieurs cycles, chaleur, coût,…) . Par conséquent, on a préféré faire appel à une nouvelle technologie :

Le RISC (Reduced Instruction Set Computer). Le RISC est constitué d’instructions simples qui permettent de gagner une rapidité d’exécution mais au détriment d’une programmation plus complexe pour le compilateur. En effet, celui-ci n’offre que 128 instructions, dites de base. Mais une instruction peut être exécutée en un seul cycle. De plus, cette technologie a permis la création de nouveaux procédés comme la multiplication des unités spécialisées. Un processeur RISC peut atteindre une vitesse d’exécution jusqu’à 70% plus rapide qu’un CISC de même fréquence. Depuis le P5 (pentium), les microprocesseurs utilisent des technologies empruntées de la famille RISC.

Un microprocesseur peut être divisé en quatre grandes parties :

Les registres : Les registres sont des petites mémoires linéaires, à accès parallèle, dont la capacité peut varier d’un à plusieurs octets.

Le décodeur   : Le décodeur sert à animer les circuits électriques nécessaires à l’exécution de l’instructions lue. En fait, il gère la mise en place des portes logiques pour le bon déroulement de l’opération demandée .

Le séquenceur :Le séquenceur a pour but de mettre en place chaque section de microprocesseur   en service à tour de rôle.

L’unité arithmétique et logique (UAL)  : L’UAL est chargée d’exécuter les opérations arithmétiques et logiques du programme.On distingue 5 cycles pour exécuter une instruction :

1. La recherche de donnée en mémoire (fetch)
2. Lecture du code d’instruction
3. Décode de l’instruction
4. Superviser l’exécution de l’instruction
5. Revenir au début

   L’exécution dynamique au sein d’un microprocesseur peut être décomposée en trois composants:

Prédiction de branchement : Ce procédé consiste à deviner l’emplacement de la prochaine instruction devant être traitée, puis à la diriger vers le bon pipeline. Cela permet d’éviter les sauts et les boucles risquant de faire perdre les gains apportés par les pipelines. Au dire d’Intel, un processeur tel que le Pentium II aurait une capacité de prédiction de l’ordre de 90%.

L’analyse de flux  : Ce procédé est chargé de réorganiser l’ordre de traitement des données afin de l’optimiser. Il devra aussi choisir entre les deux pipelines, l’entier et celui à virgule flottante. De plus, il lui est nécessaire de tenir compte du temps de traitement de chaque instruction. Ainsi, il permet d’obtenir de bien meilleures performances qu’en traitant le programme original tel quel. En fait, il se charge de réparer les dégâts provoqués par un mauvais compilateur.

L’exécution spéculative Ce dernier procédé travaille main dans la main avec la prédiction de branchement. Il permet de traiter les instructions des différentes portions de code envisageable à l’avance. Ainsi, il peut anticiper le résultat qui devra être obtenu après un saut.

        La notion de puissance est la capacité de traiter un grand nombre d’opérations par seconde sur de grands nombres et en grande quantité. Intrinsèquement la puissance se joue donc sur les trois critères suivants: La longueur des mots : données et instructions (on parle de largeur du bus des données ). Le nombre d’octets que le microprocesseur peut adresser (on parle de largeur du bus des adresses ). La vitesse d’exécution des instructions liée à la fréquence de fonctionnement de l’horloge de synchronisation exprimée en MHZ ou en GHZ.

         II.2.2. Carte graphique

La carte vidéo appelée aussi carte graphique est chargée de convertir un signal numérique binaire (1 ou 0) en signal analogique. On parle aussi de convertisseur analogique. Elle traite toutes les données concernant l’affichage et envoie le résultat au moniteur. Au début la carte vidéo se chargeait uniquement d’afficher une image formée de points colorés. De nos jours les derniers modèles apparus se chargent maintenant de calculer et d’afficher des images de synthèse (les primitives graphiques, texture, Z-buffer, antialiasing, Gouraud) d’une grande complexité.

La qualité et la rapidité de l’affichage dépendent essentiellement de la carte vidéo. Plus la carte graphique sera performante plus le processeur principal sera déchargé et pourra exécuter d’autre tâches. Cette dernière est donc très importante, en particulier dans les domaines du graphisme et de la modélisation moléculaire. Actuellement, les principaux critères de comparaisons entre les cartes sont la qualité et la rapidité d’affichage en 3D. Une carte graphique peut s’assimiler à un micro ordinateur. Comme un ordinateur la carte graphique utilise son propre circuit d’horloge pour synchroniser chacune des opérations. Elle possède aussi son propre processeur et finalement, elle utilise aussi sa propre banque de mémoire. Elle est connectée à la carte mère par l’intermédiaire d’un BUS (PCI, AGP).

        La mémoire vidéo permet à la carte graphique de stocker les images en cours. Plus la mémoire est importante et plus on peut afficher des images de résolutions importantes et plus on peut stocker d’images (textures …). Actuellement, la quantité minimale de mémoire vidéo est de 8mo (16mo pour le jeu). Il existe aussi plusieurs types de mémoires vidéos : la DRAM (la moins performante), la VRAM, la SDRAM, SGRAM, DDR-SDRAM.

Figure 1 Relation résolution – Codage – Nombre de couleurs- Mémoire

Le processeur est le coeur de la carte vidéo. C’est lui qui calcule les images …

Le RamDAC est le composant qui est chargé de convertir le signal numérique (résultat du calcul du processeur) en un signal analogique compréhensible par le moniteur (DAC : Digital Analogic Converter). Le RamDac se mesure en fréquence qui correspond au rafraîchissement de le mémoire en une seconde. Plus la fréquence est élevée plus les performances seront importantes. Actuellement, le RamDac doit être au moins à 250Mhz.

Le bus : La plupart des cartes graphiques sortent pour le bus AGP (Accelerated Graphics Port). Celui-ci autorise une bande passante en mode 2X (le standard actuel) de 528mo/s. Il permet une liaison directe entre la carte graphique, le processeur et la mémoire vive.
Certaines cartes sortent encore pour le bus PCI qui est beaucoup moins performant. Cependant, ces cartes sont une solution d’upgrade intéressante pour des PC non équipés de bus AGP.

Les drivers : Ils permettent au système d’exploitation de piloter la carte vidéo. Des drivers non optimisés peuvent nuire aux performances de la carte vidéo. Les constructeurs assurent généralement un suivi des drivers par l’intermédiaire de leur site web.

Fonctions intégrées : Certaines cartes disposent de fonctions intégrées comme la décompression MPEG-2, une sortie TV, des fonctions d’acquisitions vidéos et même de reception TV (tuner TV).

        II.2.3. La mémoire vive

            La mémoire vive ou RAM (Random Access Memory) est une mémoire temporaire où le processeur y stocke une partie des applications éxecutées. Plus cette mémoire est importante plus vous pouvez chargez d’applications en même temps et surtout plus elles s’exécuteront vite (jusqu’à un certain seuil évidemment sauf pour des logiciels spécialisés). En effet, lorsque la mémoire vive est saturée, les données sont alors stockées sur le disque dur (on parle alors de mémoire swap ou mémoire virtuelle). Or, le disque dur est beaucoup plus lent que la mémoire. Celui ci a un temps d’accès d’environ 8,5 ms (10 -3 s) alors que pour la mémoire vive, c’est de l’ordre de 10ns (10 -9 s) voire un peu plus pour les mémoires plus anciennes. D’où l’intérêt d’avoir suffisamment de mémoire pour travailler confortablement.

La mémoire vive s’efface à chaque fois qu’on redémarre l’ordinateur. D’où, l’importance de sauvegarder souvent quand on travaille sinon on risque de perdre les données en cas de plantage inopiné de la machine.

Actuellement, toutes les mémoires sont des DRAM (D pour Dynamic contrairement à S pour Static).

La SDRAM : Cette mémoire est le standard actuel. Elle se décline en 2 versions : la SDRAM 100Mhz et la SDRAM 133Mhz (la version à 66Mhz n’est plus produite). La SDRAM 100Mhz doit être utilisé sur les cartes mères Slot I et Super Socket 7 utilisant un bus 100Mhz : c’est à dire toutes les cartes mères sauf les nouvelles à base de chipset i820 qui peuvent recevoir de la 133Mhz. Elle est au format DIMM et le temps d’accès est inférieur à 10 ns.
Les dernières cartes mères au format Socket 7 (Pentium MMX, K6, 6×86MX) acceptent les SDRAM.

Il existe d’autres types de SDRAM comme l’ECC. Cette dernière est une mémoire à correction d’erreur et est utilisé sur les serveurs.

La RDRAM (RAMBUS) : Cette mémoire sera sans doute le futur standard. Seule les cartes mères à base d’i820 possédant des connecteurs RIMM peuvent recevoir cette mémoire. Elle se décline en plusieurs versions : PC600, PC712 et PC800 cadencées respectivement à 300, 356 et 400Mhz ayant une bande passante respective de 1.2, 1.4 et 1.6Go/s. Elle est au format RIMM. Elle est plus performante que la SDRAM.

La RAM FPM et EDO RAM : Cette mémoire était l’ancien standard. Son temps d’accés était de 60ns. Elle se décline en 2 formats : SIMM et DIMM. Le format SIMM impose que les barrettes mémoires soient montées par 2. Ces mémoire sont utilisées sur les cartes mères au format Socket 7.

La RAM Fast Page au format SIMM peut être utilisée pour augmenter la mémoire d’autres composants comme certaines cartes sons, certaines imprimantes lasers …

        II.2.4. Le Stockage (mémoire de masse ou disque dur)

            Le disque dur permet de stocker les applications et les données. C’est une mémoire de masse. Les besoins en espace disque ne cessent de croître du fait que les applications sont de plus en plus grandes et de la croissance des banques de données de séquences (doublement tous les 18 mois). Le choix du disque dur est d’autant plus important qu’il joue un rôle important dans les performances générales de l’ordinateur.

            Il existe 2 principaux types d’interfaces contrôleurs: E-IDE et SCSI .
Auparavant, il faut un contrôleur. Le contrôleur pilote le disque dur. C’est lui qui prend en charge les informations de lecture/écriture. Il n’est pas présent sur le disque dur.

           E-IDE : Le contrôleur E-IDE (Enhanced Integrated Device Electronic) qui est une évolution de l’ancien IDE utilisé sur les disques durs à l’époque du 486, est inclut d’origine sur les cartes mères PC. Il existe plusieurs versions de ce contrôleur : PIO (Programmed Input/Output) et le dernier en date Ultra DMA (Direct Memory Access). Le premier, dans sa version 4 (PIO 4, utilisé sur les cartes mères Pentium non MMX) permet un taux de transfert maximal théorique de 16.7mo/s alors que le second permet pour un taux de transfert maximal théorique de 33mo/s et 66mo/s dans sa dernière version, l’UDMA66. Actuellement, tous les disques durs E-IDE sont “au format” UDMA33 ou UDMA66, certains lecteurs de CDROM et DVDROM le sont aussi mais la majorité sont encore à l’ancien format PIO4. Evidemment, un disque dur IDE ou un disque dur E-IDE PIO 4 peut fonctionner avec le tout dernier contrôleur Ultra DMA, l’inverse est possible mais le disque UDMA fonctionnera juste comme un très bon disque IDE. Il est possible de raccorder jusqu’à 4 disques durs (ou encore 3DD et un CDROM …) maximum avec un contrôleur E-IDE.

            SCSI : Le contrôleur SCSI (Small Computer System Interface) est rarement intégré sur les cartes mères. Le disque dur nécessite donc une carte contrôleur SCSI. Il existe différentes versions de SCSI. Actuellement, les versions les plus utilisées pour les disques durs sont Ultra Wide SCSI, Ultra 2 Wide SCSI. Cependant, les disques dur UW ne seront plus bientôt en vente. L’UW permet un taux de transfert théorique de 40mo/s et l’UW2 80mo/s. Les disques durs UW peuvent fonctionner avec une carte SCSI UW2 à la condition que celle-ci intègre un connecteur UW (l’incompatibilité est due à l’utilisation de la technologie LVD (Low Voltage differential). Il est possible de raccorder jusqu’à 15 périphériques sur une carte contrôleur SCSI UW ou UW2.

            E-IDE ou SCSI : Les disques durs avec une interface E-IDE sont beaucoup moins onéreux que leurs homologues SCSI mêmes si ces derniers ont vu leurs prix baissés dernièrement. Les disques SCSI sont beaucoup plus rapides que les E-IDE. Ils sont aussi particulièrement adaptés dans un environnement multi-tâches comme Windows NT ou Linux. Les disques durs SCSI utilisent peu le processeur (5 à 8%) par opposition aux disques E-IDE (~ 40 à 70%). Pour des applications très gourmandes en ressources processeurs comme les applications graphiques (pour calculer le rendu de molécules 3D par exemple), les grosses bases de données biologiques, un disque SCSI s’avère indispensable. De même, dans les serveurs, qui eux en plus des disques SCSI bénéficient de système de sécurité type RAID (Redundant Array of Independant Disks). Sans entrer dans le détail avec un système Raid : les données sont partagées sur plusieurs disques (beaucoup plus rapide donc), plusieurs disques forment un seul volume donc on peut rajouter des disques à volonté, enfin suivant le niveau du RAID (0 jusqu’à 5), les données sont aussi copiées sur des disques de secours, les disques peuvent être déconnectés à chaud s’ils sont en panne sans perte de données (HotPlug) …

        Les taux de transferts théoriques : Les taux de transferts théoriques du SCSI ou même de l’E-IDE sont impressionants mais ne représentent en rien la réalité. En effet, le taux de transfert théorique de l’interface (E-IDE ou SCSI) est souvent confondu avec le taux de transfert réel du disque. Le taux de transfert théorique correspond à la largeur du bus maximum, plus elle est importante et plus la perte de vitesse est moindre lorque on connecte plusieurs périphèriques en même temps. Par exemple, prenons 4 disques durs UW ayant un taux de transfert réel de 10mo/s chacun, si on les utilise en même temps, la bande passante sera de 4×10=40mo/s, si on en connecte un 5eme, 5×10=50mo/s, le débit maximal du bus est dépassé et les disques durs doivent donc ralentir à la vitesse de 40/5=8mo/s. Cet exemple est juste une image. Dans la pratique, c’est rare qu’on atteigne le débit maximal du bus. Mais aussi, plus l’interface est performante et plus les échanges se font rapidement même s’ils n’atteignent pas les débits maximum.

        Les taux de transferts réels : Ils varient beaucoup selon les disques : E-IDE : 2 à 5mo/s, SCSI : 7mo/s à 12mo/s. Il dépend aussi de la taille des fichiers suivant s’ils y a beaucoup de petits fichiers ou peu de fichiers de tailles importantes. Enfin, il dépend aussi de la mémoire cache présente sur le disque. A noter que les disques SCSI ont une mémoire cache beaucoup plus importantes que sur les E-IDE, et parfois on peut même en rajouter.

        Le temps moyen d’accès représente le temps mis par la tête de lecture du disque pour atteindre la surface du disque où sont les données. Plus il est faible mieux c’est. Il s’exprime en milli-secondesIl est de l’ordre de 8.5 ms pour les disques E-IDE, 6.5 à 7.5ms pour les SCSI. Il conditionne la rapidité de transfert des petits fichiers.

        La vitesse de rotation exprime la vitesse de rotation du disque en tours/minutes (ou RPM : Revolutions Per Minute). Plus elle est élevée mieux c’est. Comme pour les lecteurs de CD/DVD, les données sont plus vites lues à la périphérie qu’au centre. Actuellement, les disques E-IDE tournent à 5400tr/min voire 7200tr/min pour les plus performants, pour les disques SCSI : 5400tr/min (en voie de disparition et déconseillé), 7200tr/min et 10000tr/min.

        Plus le nombre de plateaux est élevé mieux c’est car plus de données seront stockés à la périphèrie.

        Plus la mémoire cache est élevé plus le disque dur est performant. Les disques durs SCSI ont une mémoire cache plus élevés que les E-IDE. Et on peut même en rajouter sur certains disques durs SCSI.

        Le format le plus rencontré est le format 3″5. Il existe encore des disques au format 5″25 comme le Quantum BigFoot. Ces disques sont à déconseiller parce qu’ils sont en général plus lents que les 3″5. Sur les ordinateurs portables, ce sont des 2″5. La miniaturisation des disques va en s’accentuant : IBM a fabriqué un disque de 1″ (1″ = 2.54cm) de 340mo.

        La fiabilité s’exprime par le MTBF (Mean Time Before Failure) Il se mesure en heures (5000H) et doit être le plus élevé possible. Un disque dur SCSI est en général plus fiable qu’un E-IDE.

        La capacité en Go augmente régulièrement. Environ 18 à 72 Go en 1 seul disque.

        II.2.5 Le MONITEUR (EcraN)

        Le moniteur ou écran permet d’afficher ce que vous êtes en train de lire … Le moniteur reçoit ce qu’il doit afficher par la carte graphique sous forme de signaux analogiques. Le moniteur l’affiche alors grâce au canon à électrons (même principe que la télévison). Le moniteur est souvent négligé à tort dans l’achat d’un PC à cause de son prix qui peut atteindre 50% voire plus du prix de l’ordinateur. Un mauvais écran ne rendra pas service à vos yeux qui sont irremplaçables. De plus, c’est souvent un achat à long terme donc il vaut mieux bien le choisir.

        Des faisceaux d’électrons sont projetés sur une couche de materiau photosensible, les luminophores qui recouvrent l’intérieur de l’écran. L’association de luminophores rouges, verts et bleus permet d’obtenir des images en couleurs. Une grille placée juste derrière la dalle de verre a pour but de focaliser correctement les faisceaux d’électrons sur les luminophores. Cette grille diffère suivant la technologie utilisée.

        Le tube cathodique influe beaucoup sur la qualité de l’image. Le choix du tube doit se faire en fonction de ses besoins

        Dans le tube Shadow mask ou Invar , la grille utilisée est une grille parsemée de trous circulaires. Elle permet donc un affichage très précis. Cette technologie est donc adaptée à l’affichage de texte car les lettres seront affichées avec une grande précision (contour très net). De plus, cette technologie est la plus économique. Le seul point noir est la légère déformation de l’image dans les angles.

Shadow Mask

 

Figure 2 Schéma des tubes cathodiques

L’utilisation de ce tube se destine donc à un usage bureautique et est à éviter dans le graphisme moléculaire qui nécessite de nombres heures passées devant un écran.

Le tube Trinitron (crée par Sony en 1968) utilise une grille à fentes verticales. Du coup les électrons sont plus nombreux à venir “frapper” l’écran, d’où un affichage moins précis. Cependant, la luminosité et le rendu des couleurs sont supérieurs au tube Invar.

Le tube Trinitron est donc adapté au graphisme moléculaire.

D’autres technologies existent mais ce sont des dérivées des deux précédentes. Par exemple, le tube Diamondtron de Mitsubishi (dérivée du Trinitron). Ou encore la technologie Cromaclear qui utilisé une grille à fentes verticales et horizontales (trous rectangulaires), ce qui permet un affichage plus précis que la technologie Trinitron.

       II.2.6 LES IMPRIMANTES

        L’imprimante permet d’imprimer des textes, des dessins, des graphiques et autres photos. C’est un périphérique presque incontournable de nos jours. Avec la baisse des prix des imprimantes, il faut redoubler de vigilance principalement pour le prix des consommables (cartouches, papier) qui eux n’ont pas baissé. Il faut également bien cibler ses besoins.

La technologie jet d’encre repose sur le principe d’une bulle créée dans la buse chauffée qui chasse une goutte d’encre. Chaque technologie des différents constructeurs a ses spécificités.
Pour une jet d’encre noir/blanc, il y a une seule cartouche (Noire).
Pour la couleur, il existe plusieurs technologies (ou plutôt plusieurs méthodes) d’impressions qui reposent sur le nombre de cartouches. Dans tous les cas, il vaut mieux avoir une cartouche à part pour le noir (ce n’est pas le cas pour certaines imprimantes bas de gamme qui réalisent le noir par la synthèse soustractive), or vu le prix de la cartouche couleur, l’impression d’un texte en noir ou en couleur revient cher et est en plus de mauvaise qualité. Ce procédé s’appelle la trichromie). Une cartouche pour la couleur + une pour le noir, c’est la quadrichromie. Avec ce procédé, c’est encore mieux de disposer les 3 couleurs de base séparément (question d’économie : si une couleur est finie, seule la cartouche concernée est remplacée). La polychromie est réservé à des imprimantes plus élevées dans les gammes. En plus des couleurs de base, il y a des couleurs supplémentaires.

La technologie laser repose sur le principe d’un laser qui agit sur un rouleau (qui a attiré au préalablement par électrostatique l’encre (poussière d’encre en fait)) en éliminant l’encre. On distingue les lasers monochromes et les lasers couleurs. De même, parmi les imprimantes lasers, les imprimantes conçus pour fonctionner en réseau sont légions contrairement aux jets d’encres. Les lasers fournissent en général une meilleure qualité que les jets d’encre à tous les niveaux sauf sur les images photographiques (molécules par exemple). Cependant, l’écart s’amenuise entre les jets d’encre moyen-haut de gamme et les imprimantes lasers bas de gamme. Les imprimantes lasers sont beaucoup plus rapides.

La technologie dite à sublimation consiste à déposer de l’encre solide. Cette technologie donne les meilleurs résultats en particulier pour les images moléculaires sur fond noir (très bons aplats). Elle sont d’un côut d’achat et de fonctionnement élevé.

Résolution : La résolution indique le nombre de points par pouce en horizontal et vertical (ppp ou dpi : dot per inch). Plus ce nombre est élevée mieux c’est. Actuellement, la moyenne se situe aux alentours de 1200×600ppp. Cette résolution est toujours supérieure à celle de n’importe quel écran (75 à 96 dpi)

La vitesse traduit la vitesse de sortie des pages par minute (ppm). Actuellement, la moyenne est de l’ordre de 4ppm pour les jets d’encre et 8ppm pour les lasers (bas de gamme) pour aller jusqu’à 32 ppm.

Le volume d’impression est le nombre moyen de pages que peut sortir une imprimante par mois.

L’interface la plus utilisée actuellement est l’interface parallèle. Dans sa version EPP/ECP (ou bi-directionnel), elle est assez rapide. L’interface du futur, déjà inclus dans certaines imprimantes est l’interface USB. Les imprimantes à partager réseaux pourront recevoir une carte réseau.

Evolutivité : Sur de nombreuses imprimantes, il est possible de rajouter de la mémoire. Cette mémoire sert à stocker les documents à imprimer. Certaines imprimantes (surtout les imprimantes en réseau laser) peuvent même recevoir un disque dur.

Les pilotes, drivers et langages : Chaque imprimante communique avec le PC communique avec le PC grâce à un langage. Le plus courant est PostScript qui permet d’imprimer sur la plupart des OS. Certaines imprimantes sont WPS (Windows Printer System), c’est à dire qu’elles ne savent pas imprimer sous DOS. Les pilotes d’une imprimante doivent être suffisamment performants pour pourvoir gérer l’imprimante au mieux et la contrôler à partir du PC (niveau des cartouches, réglage des couleurs, …).Ne pas oublier de les mettre à jour sur les sites Web des constructeurs

I.3 LES DIFFéRENTES MACHINES

Autrefois, (de 1980 à 1990!), les machines étaient divisées en micro-ordinateurs, stations de travail, mini ordinateurs et supercalculateurs. Cette distinction était surtout liée au système d’exploitation (et donc à l’utilisation de la machine). En effet, le système d’exploitation de la machine pouvait être monotâche et mono-utilisateur (CPM, DOS par exemple) ou bien multitâche et mono-utilisateur (Windows 3, 95  ,98) ou bien multitâche et multi-utilisateur (Windows NT, Windows 2000, Unix, Linux).

Aujourd’hui, il existe 3 grandes classes de machines, les machines personnelles (dont les portables), les machines multiprocesseurs (parallèles) et les machines vectorielles en fonction des architectures, du nombre de processeurs, du système d’exploitation et de programmation.

Les machines personnelles sont en général destinées à de petits calculs, à un usage de bureautique ou à des applications légères. Dans cette série, on peut citer les PC d’entrée de gamme et les Macintosh. Ces machines sont le plus souvent équipées de Windows (version client) ou de Mac OS.

Les machines multiprocesseurs sont de 2 types selon la répartition de leur mémoire et de leur OS sur les processeurs. On distingue les machines à mémoire partagée (ou unifiée SMP) dans lesquelles une seule mémoire est accessible par tous les processeurs. On peut citer par exemple les machines de type PC (Linux) multiprocesseurs (jusqu’à 8 proc.) et les machines SUN (Solaris) ou SGI (=>512 proc.) sous Irix. Le coût unitaire de ce type de machines augmente très rapidement avec le nombre de processeurs (de manière polynomiale). Les machines à mémoire réparties (DMA) correspondent à l’agrégation (en ferme ou cluster) de machines indépendantes ayant chacune leur OS et leur mémoire. Le coût globale de la ferme est linéaire par rapport au prix unitaire de chaque machine.

    II.4. Les systèmes d’exploitation

Un système d’exploitation (OS) permet à un (ou plusieurs) utilisateur(s) d’exécuter des commandes, de gérer des fichiers à travers un système de fichier organisé en répertoires (et sous répertoires). En bref d’utiliser sa machine…

L’OS doit être :

  • Fiable et limiter les conséquences des défaillances matérielles ou des erreurs des utilisateurs. En cas de panne, éviter les pertes d’information ou leur incohérence
  • Efficace et utiliser au  mieux les ressources et possibilités matérielles (sans en consommer trop pour lui-même)
  • Convivial et offrir un langage de commande (dialogue usager/système) et des diagnostics d’erreurs (système/usager) clairs et précis
  • Paramétrable : permettre des modifications matérielles et logicielles les plus simples possibles, à l’aide d’outils spécialisés
  • Mesurable : Enregistrer la comptabilité des ressources utilisées par les usagers, mesurer les paramètres de fonctionnement et de charge

Caractéristiques DOS MAC OS (Macintosh) WIN 95/98 WIN NT 4/2000/XP UNIX (AIX, LINUX, SOLARIS, IRIX) GCOS (BULL)
Ouvert X
Mono-tâche X          
Multitâche   X X X X X
Mono-utilisateur X X X X    
Multi-utilisateur       X X
Multiprocesseurs       X X X

        II.4.1 DOS (Disk opertaTing System)

Le DOS est le système d’exploitation le plus connu, sa version la plus commercialisée est celle de Microsoft, baptisée MS-DOS (il en existe d’autres comme DR-DOS). DOS a vu le jour en 1981 lors de son utilisation sur un IBM PC. Il s’agit d’un système mono-utilisateur et monotâche sans système d’authentification d’utilisateur.

        Le DOS, comme tout système d’exploitation, contrôle les activités de l’ordinateur. Il gère des opérations telles que la circulation, l’affichage, et l’entrée de données entre les divers éléments constitutifs du système.

Le rôle du DOS est d’interpréter les commandes saisies au clavier par l’utilisateur. Ces commandes permettent d’effectuer les tâches suivantes:

  • la gestion des fichiers et des répertoires
  • la mise à jour des disques
  • la configuration du matériel
  • l’optimisation de la mémoire
  • l’exécution des programmes

Ces commandes sont tapées à l’invite, c’est-à-dire dans le cas de MS-DOS (Microsoft DOS, le plus connu) une lettre d’unité (disquette, lecteur CD, disque dur) suivi d’une barre oblique inverse (antislash), ce qui donne A:\ ou C:\ par exemple.
Pour exécuter une commande il suffit de taper la commande puis d’appuyer sur ENTREE.

Quelques commandes DOS Description
dir liste le contenu d’un répertoire
cd change de répertoire
cd .. répertoire parent
mkdir crée un nouveau répertoire
deltree supprime un répertoire
copy, xcopy copie de fichier
move déplacement de fichier
del supprime le fichier
type affiche le contenu du fichier
type |more affiche le contenu du fichier avec des pauses
help aide sur la commande demandée
print imprime le fichier demandé
attrib (-/+r, -/+a, -/+s, -/+h) change les attributs d’un fichiers (- désactive, + active, r: lecture seule, a: archive, s: système, h: fichier caché
format formatte le lecteur demandé
label donne un nom de volume à un lecteur
ver donne le numéro de version

   II.4.1.1 Système de fichiers

    Sur un ordinateur les informations sont stockées dans des fichiers. Lorsqu’on exécute un programme, DOS traite les informations situées dans le fichier et les transmet au système.
Sous DOS chaque fichier peut être aussi volumineux que possible, cependant le nom que vous lui donnez est soumis à des restrictions, on ne peut en effet lui donner un nom d’une longueur maximale de 8 caractères plus 3 pour l’extension. Le DOS est insensible à la casse (majuscule et minuscule)

De plus, les noms de fichiers ne doivent contenir que les caractères suivants:

  • lettres de A à Z
  • chiffres de 0 à 9
  • caractères spéciaux suivants: _ ^ $ ~ ! # % & – { } ( ) @ ‘

Enfin, les noms de fichiers ne doivent pas contenir:

  • de blanc (espace)
  • de virgule
  • de barre oblique inverse “\” qui est le séparateur de hiérarchie des répertoires
  • de point (hormis le point qui sépare le nom de l’extension)

et ils ne doivent pas non plus appartenir à la liste de noms réservés:

  • CLOCK$
  • CON (console)
  • AUX (sortie auxilliaire)
  • COM1 (port série 1)
  • COM2 (port série 2)
  • COM3 (port série 3)
  • COM4 (port série 4)
  • LPT1 (port parallèle 1)
  • LPT2 (port parallèle 2)
  • LPT3 (port parallèle 3)
  • NUL (vide)
  • PRN (imprimante)

    II.4.1.2. Organisation

    Le disque dur en DOS n’a pas d’organisation particulière obligatoire. En général, le système est contenu dans un répertoire C:\DOS. Un disque dur peut contenir, suivant sa taille, plusieurs milliers de fichiers. Cependant, plus leur nombre est élevé plus il est difficile de les gérer, il devient alors nécessaire de les stocker dans des répertoires. Sous MS-DOS, les noms de ces répertoires sont soumis aux mêmes restrictions de longueur que les fichiers (8 caractères pour le nom, ainsi qu’une extension de 3 caractères qui est informative quant à la nature du fichier ainsi nommé.

Exemples:

Extension Type de fichier
EXE Programme exécutable
BAT Fichier BATCH (contenant des commandes à exécuter séquentiellement)
COM Fichier exécutable compilé
BMP Image au format bitmap
XLS Fichier Excel de Microsoft
DOC Fichier Word de Microsoft
BAS Fichier source en BASIC
PAS Fichier source en Pascal
C Fichier source en C
FOR Fichier source en FORTRAN

Un répertoire est un objet informatique qui contient des fichiers et des sous répertoires. Imaginons une grande commode qui contient des tiroirs dans lesquels pourraient se trouver des fichiers et d’autres tiroirs … un répertoire peut donc contenir des fichiers ou d’autres répertoires (appelés sous-répertoires).

Si l’on reprend notre exemple de la commode, la plus grande entité contenant d’autres entités est la commode: elle ne peut pas se trouver dans un tiroir!
Dans le cas de l’informatique on appelle cette entité la racine: c’est l’entité de plus bas niveau, car elle peut contenir des fichiers ou des répertoire mais ne peut pas se trouver dans un répertoire elle-même! On la note “\” dans la plupart des systèmes d’exploitation (pour y aller sous DOS taper “cd \”. Il en existe une seule par disque (ou du moins par partition …).

Un répertoire qui en contient un autre est dit “répertoire parent”. Lorsque d’un répertoire on veut aller au répertoire parent, celui-ci est désigné par “..” sur la plupart des systèmes (on tapera donc “cd ..” sous DOS ou sous UNIX pour accéder à un répertoire parent).

Exemple C:\CLASSEUR\CHEMISE1\SOUS-CHEMISE2\FICHIER1

Si l’utilisateur veut remonter dans la racine C: alors qu’il est situé dans le sous-répertoire SOUS-CHEMISE2, taper:

C:\CLASSEUR\CHEMISE1\SOUS-CHEMISE2> cd ..\.. permet de remonter au 2 e niveau de répertoire parent l’invite suivante après passage de la commande sera alors:

C:\>

L’utilisateur est placé à la racine de son disque. La mémoire vive (RAM) utilisable par un programme DOS standard est de 640 Ko. La commande “mem/c” permet d’afficher la mémoire utilisée par le DOS et celle utilisable pour une application.

    II.4.1.3. Les avantages du DOS.

  • Simplicité de mise en oeuvre
  • Légèreté (3 disquettes dans sa dernière version)

    II.4.1.4 Les faiblesses du DOS.

  • Mauvaise gestion de la mémoire
  • Longueurs des noms de fichiers limités
  • Système dépassé

    II.4.2. Windows 95 – Windows 98-Windows ME (Microsoft)

C’est le système d’exploitation le plus vendu au monde actuellement : il équipe la majorité des PCs. Il succède au système Dos/Windows  mais assure la compatibilité.

    II.4.2.1 Caractéristiques

  • système 32bits
  • interface graphique conviviale
  • simplicité d’utilisation
  • adapté au multimédia
  • capacité de faire fonctionner des applications DOS™ et Windows™ 3.x relativement bien
  • Fonctionne sur processeurs Intel (et compatibles)
  • Mono utilisateur
  • Multi-tâches

    II.4.2.2. Le système de fichier FAT et FAT32        FAT : File allocation Table. C’est une structure de données qui permet au système de gérer l’espace disque, les zones libres, occupées et leur allocation à des fichiers ou des répertoires.

Les premières versions de Windows95 ainsi que toutes les versions de DOS utilisaient un système de fichier appelé FAT16 (voire FAT12 pour les plus anciennes). Cette table avait 2^12 (4096) ou 2^16 (65536) entrées qui représentent chacune une unité élémentaire d’espace disque. Quand le système de fichier à besoin de place disque, il s’alloue donc des clusters (ensembles de secteurs physiques du disque, généralement de 512 octets). 65536 clusters pour une partition de plus d’1 Go nous donne donc des clusters de 32 Ko. Cela signifie en particulier qu’un fichier de 100 octets utilisera un cluster entier sur votre disque dur (jusqu’à 32 Ko pour une partition de plus d’1 Go). Certains utilitaires de compression de disque peuvent (Stacker par exemple) peuvent mettre plusieurs fichiers dans un même cluster.
Il n’est pas rare d’avoir 15000 fichiers sur un disque de 2 Go, ce qui peut représenter une perte de 250 Mo (plus de 10 %). Si vous voulez savoir combien vous perdez de place, essayez chkdrv.

La table ci-dessous récapitule la taille des clusters en fonction de la taille des partitions (pour les dos >= 4.0) avec FAT16

taille de la partition en Mo <128 <256 <512 <1024 <2048
taille du cluster      en Ko 2 4 8 16 32

la FAT16 ne sait pas gérer de partition au delà de 2 Gola FAT32 permet de gérer des disques jusqu’à 2 Téra octets (1012) avec les tailles de cluster suivantes :

taille de la partition en Go <8 <16 <32 >32
taille du cluster      en Ko 4 8 16 32

La taille minimale d’une partition sous FAT32 est de 512 Mo.    II.4.3. Mac/OS

Il s’agit d’un système entièrement graphique conçu pour fonctionner sur Macintosh, convivial et intuitif à base d’icônes et de fenêtre. Tout a été fait pour masquer le système aux utilisateurs ce qui fait parfois dire aux “bricoleurs” que le système est une boite noire hermétique.

  • Pas de distinction de casse au niveau du système
  • Longueur des noms de fichiers limités à 31
  • Le “:” est le séparateur de hiérarchie des répertoires
  • Pas de commandes utilisateurs (interface complètement graphique)

    II.4.3.1. Organisation

  • Dossier système
  • Dossier extension
  • Menu Pomme
  • Menu tableau de bord
  • Dossier préférences, polices, etc…

    II.4.3.2. Les avantages de(s) MacOS.

  • Simplicité de mise en oeuvre
  • Adapté à l’infographie professionnelle
  • Stabilité et fiabilité générales de l’OS

    II.4.3.3. Les faiblesses de(s) MacOS.

  • Gestion de la mémoire parfois douteuse (gestion semi-manuelle de l’allocation de mémoire aux applications)
  • Quelques incompatibilités entre certaines versions de logiciels et de système

    II.4.4. UNIX [En savoir plus]

    II.4.4.1Caractéristiques

  • Créé par Ritchies et Thomson, dans les laboratoires BELL en 1970
  • Ecrit à 90 % en langage C.
  • Marque déposée, d’où l’existence de versions voisines : HP/UX, XENIX, AIX, SOLARIS, LINUX…
  • 2 familles : Système V et BSD (Berkeley Software Distribute)
  • Multi-tâches (Il gère une file d’attente mais n’exécute pas deux tâches en même temps !)
  • Multi-utilisateurs
  • Plusieurs interfaces graphiques sont disponibles.
  • Interfaces aisées
  • Gestion hiérarchique des fichiers (arbre inversé)
  • Sécurité sur chaque fichier
  • Indépendance des périphériques
  • Informations temporelles sur les fichiers
  • Exécution directe (interactif) ou masquée (tâche de fond)
  • Redirection d’entrée/sortie
  • Environnement modulable
  • Pas de limites dans la longueur des noms de fichier (paramètre du noyau)
  • Distinction de la casse (majuscule, minuscule)
  • Le “/” est le séparateur de hiérarchie des répertoires

    II.4.4.2. Quelques commandes [Exemples]

Commandes Unix Description
ls liste le contenu d’un répertoire
pwd Affiche la position dans l’arborescence
cd change de répertoire
cd .. Passe au répertoire parent
mkdir crée un nouveau répertoire
rmdir supprime un répertoire
cp copie de fichier
mv déplacement de fichier
rm supprime le fichier
more affiche le contenu du fichier avec des pauses
man aide sur la commande demandée
lp imprime le fichier demandé
chmod [ugo] +rwx change les attributs d’un fichiers pour user, group, other ( r: lecture seule, w: écriture, x: exécution)
find cherche un fichier
tar Gestion d’une archive

       II.4.4.3.Organisation

Figure 3 Organisation en couches d’Unix

Le SHELL est un interpréteur de commandes système (DOS, Windows, UNIX…), généralement sous forme de texte, qui lit et interprète une grande variété de commandes du système d’exploitation. Le prompt ou l’invite système délimitent l’espace de saisie des commandes pour les shells en mode texte. Le login à l’Internet se fait toujours par l’intermédiaire d’un shell (souvent masqué par un logiciel de connexion). Pour administrer son serveur, un webmaster doit généralement passer par un shell.

Le système de fichier:

Répertoires Description
/ racine du système
/dev Contient les fichiers associés aux périphériques (console, imprimante, bandes) (/dev/tty0)
/bin Commandes du système (/bin/ls)
/lib Librairies systèmes
/usr Fichiers utilisateurs (/usr/local/bin)
/unix L’OS
/etc Fichiers administration système (/etc/hosts)
/tmp Répertoire ouvert pour accueillir des fichiers temporaires
/var Fichiers de configurations (/var/spool)

Chaque fichier se présente avec des attributs: droits, propriétaire, Groupe, Taille, Date, Heure,Nom du fichier
[deleage@tux1 deleage]$ ls -al
Droits             Propriétaire   Groupe       Taille   Date    Heures    Nom du fichier
drwxr-xr-x 6 deleage bioinfo 4096 mar 27 17:39 .
drwxr-xr-x 10   root root    4096 fév 6 1996 ..
-rw——- 1 deleage bioinfo 673 mar 27 15:25 .bash_history
-rw-r–r– 1 deleage bioinfo 24  fév 7 2001 .bash_logout
-rw-r–r– 1 deleage bioinfo 230 fév 7 2001 .bash_profile
-rw-r–r– 1 deleage bioinfo 124 fév 7 2001 .bashrc
drwxr-xr-x 5 deleage bioinfo 4096 fév 7 2001 Desktop
lrwxrwxrwx 1 deleage bioinfo 6 mar 27 17:39 dichroisme -> dicro/
drwxr-xr-x 2 deleage bioinfo 4096 mar 27 17:39 dicro
-rw-r–r– 1 deleage bioinfo 688 fév 7 2001 .emacs
-rw-r–r– 1 deleage bioinfo 135453 oct 17 18:52 img_fit1.jpg
-rw-r–r– 1 deleage bioinfo 173233 oct 17 18:52 img_fit2.jpg
-rw-r-r– 1 deleage bioinfo 78460 oct 17 18:52 img_fit3.jpg
-rw-r–r– 1 deleage bioinfo 136833 oct 17 18:52 img_fit4.jpg
drwxr-xr-x 3 deleage bioinfo 4096 fév 7 2001 .kde
-rw-r–r– 1 deleage bioinfo 321 fév 7 2001 .kderc
drwxr-xr-x 6 deleage bioinfo 4096 fév 27 2001 public_html

  • d: directory
  • l lien symbolique (pointeur sur le fichier évitant ainsi la duplication du fichier)
  • r: Read only = 4
  • w Read/Write =2
  • x execute =1

Droits sur les fichiers

Propriétaire

Groupe

Others

d ou l r w x

r

w x r

w

x

Octal 4 2 1 4 2 1 4 2 1
Correspondance octal/droits
  r w x r w - r - -
  4 + 2 +1 = 7 4 + 2 = 6

   4

Ainsi la ligne du fichier surligné en bleu clair dichroisme est un lien symbolique sur le répertoire dicro

Le fichier img_fit2.jpg est autorisé en lecture et écriture au propriétaire (deleage), il est lisible mais pas modifiable par tous les utilisateurs du même groupe (bioinfo), ni par tous les autres utilisateurs. Le x indique que le répertoire dicro est ouvert à tous les utilisateurs qui peuvent s’y positionner et donc traverser le répertoire. Le fichier img_fit2.jpg a pour droit 644 en octal.

    II.4.4.4. Les avantages d’Unix

  • Très grande fiabilité du système. On peut laisser tourner un système Unix de nombreux mois sans perte de performance.
  • Multi plate-formes (Processeurs Intel, Risc, Alpha…)
  • Services et outils associés (serveur FTP, messagerie, compilateurs, outils d’administration…) livrés en standard.
  • Le système Linux offre une réelle alternative aux solutions Microsoft. Linux est gratuit, plus fiable et dispose aujourd’hui d’un grand nombre de logiciels.

    II.4.4.5. Les faiblesses d’Unix

  • Manque de standardisation qui fait que chaque constructeur propose une version sensiblement différente d’Unix. Ce qui oblige le portage des applications d’un environnement à l’autre.
  • Administration relativement complexe (par rapport à Windows NT par exemple) qui nécessite un personnel plus expérimenté.

  II.5. Le réseau INTERNET [ En savoir plus ]

    Pour bien comprendre la naissance de l’Internet, il faut se placer en 1962. Le monde est en pleine guerre froide, les russes ont envoyé le premier satellite dans l’espace (le fameux Spoutnik). Dans la crainte d’une attaque nucléaire, l’US Air Force  commande une étude sur les systèmes de communication, l’objectif est de créer un réseau totalement indestructible.

Les grandes lignes du projet sont les suivantes:

  • Délocaliser les ordinateurs des grandes administrations Américaines afin d’éviter la paralysie totale par la destruction d’un site unique.

  • Interconnecter tous les sites.

  • Acheminer les données par petits paquets pouvant emprunter chacune un chemin différent.

  • Utiliser tous les supports de communication existants (téléphone, satellite, câble, électricité…)

  • Permettre la connexion de systèmes hétérogènes.

Toutes ces exigences ont donné la base de l’Internet moderne.

La première véritable connexion a eu lieu à la fin des années 60 et a permis à 2 ordinateurs de communiquer, un à l’Université de Californie et l’autre à l’Institut de recherche de Stanford. A partir de cette date, l’interconnexion des Universités et des bases de l’armée Américaine s’est enchaînée à une vitesse folle pour créer le réseau Arpanet.

Ce n’est qu’en 1972 qu’apparaît pour la première fois le concept d’InterNetwork (connexion de réseau) qui deviendra par contraction Internet. C’est un groupe de travail qui est chargé d’étudier les possibilités d’extensions du réseau Arpanet au monde entier et de mettre en place les différents protocoles de communication permettant, par exemple, l’échange de fichier (FTP pour Files Transfer Protocol), de messages électronique (SMTP pour Simple Mail Transfer Protocol ) etc…

Le réseau INTERNET fonctionne de manière égalitaire, probabiliste, avec des performances variables, et n’est pas sécurisé.

Le réseau INTERNET s’appuie sur la norme Ethernet 802.3

    II.5.1 La NORME Ethernet

    II.5.1.1. Débit

  • 10 Mbits/s 10 Basex

  • 100 Mbits/s (Fast Ethernet) 100 Basex

  • Giga Ethernet 1000 bits/s

    II.5.1.2. 10 base 5: gros câble coaxial

  •   Longueur maximale = 500 m    100 machines au maximum

  • Topologie séquentiellel Prise « vampire »

    II.5.1.3. 10 base 2 Câble coaxial fin

  • Longueur maximale = 185 m

  • 30 machines au maximum

  • Topologie séquentiellel Connectique BNC

    II.5.1.4. 10 base T : Paires torsadées ou Twisted pairs

  • Longueur maximale = 85 m

  • Topologie étoile

  • Connectique de type RJ45 raccordement à un concentrateur HUB

    II.5.1.5. 10 base F: Fibre optique

  •  Longueur maximale (1 ou 2 km)

    II.5.1.6. 10 base Hertzien

  •  Longueur maximale = (km)

    II.5.1.7. Les dispositifs actifs et passifs de l’interconnexion

  • Les répéteurs (amplifie le signal pour augmenter la distance entre 2 machines)

  • Les concentrateurs ou hubs (connexion en étoile)

  • Les ponts (filtrage)

  • Les routeurs

  • Les pont-routeurs (ponts multi-protocoles)

  • Les commutateurs ou switch (affecte les bandes passantes de manière “intelligente”)

  • Les pare-feux (assurent le filtrage et la séparation entre réseaux pour assurer une protection)

    II.5.2. HISTORIQUE

  • 1968 : apparition des réseaux ” à commutation de paquets “
  • 1969 : naissance d’Arpanet (DoD) et connection de 4 machines
  • 1977 : 100 machines connectées à Arpanet
  • 1983 : Séparation Milnet (Militaire) et Arpanet, confié à la NSF (National Science Fondation)
    • Naissance du terme “Internet”
    • TCP/IP devient le protocole standard d’Internet
  • 1984 : 1 000 machines connectées à Internet
  • 1987 : 10 000 machines connectées à Internet
  • 1989 : 100 000 machines connectées à Internet, naissance du réseau Grenet
  • 1990 : disparition d’Arpanet
  • 1992 : 1 000 000 de machines connectées
  • 1995 : Internet passe dans le grand public
  • 1996 : 10 millions de machines connectées
  • 1997 : début du commerce électronique
  • 1999 : 50 millions de machines connectées.
  • 2001 : 100 millions de machines connectées. (1 million en France)

    II.5.3 RENATER

Il s’agit du Réseau National de Télécommunications pour la Technologie, l’Enseignement et la Recherche qui relie les grands organismes d’enseignement et de recherche en France. Pour cela, l’ interconnexion des différents réseaux régionaux a été réalisée et est sans cesse améliorée en terme de débit [ carte active ] des réseaux régionaux.

  • Groupe de réseau en Ile de France
  • NOROPALE , le réseau régional du Nord Pas de Calais
  • SYRHANO , le réseau régional de Haute Normandie
  • VIKMAN , le réseau régional de Basse Normandie
  • MEGALIS , le réseau régional de Bretagne et des pays de la Loire..
  • RRT, le réseau régional de Picardie
  • CHAMPAITRE, le réseau régional de Champagne – Ardennes
  • LOTHAIRE , le réseau régional lorrain.
  • OSIRIS , le réseau métropolitain universitaire de Strasbourg
  • RENACENTRE , le réseau régional du Centre.
  • CLONYS, le réseau régional de Bourgogne
  • EBELIN : réseau régional
  • Le réseau régional du Limousin
    CRATERE , le réseau régional d’Auvergne
  • ARAMIS , le réseau régional Rhône – Alpes
  • ESRA : le réseau régional de l’Aquitaine
  • ASTER, réseau régional université – recherche
  • R3LR , le réseau régional du Languedoc – Roussillon
  • R3T2, le réseau régional Provence – Alpes – Côte d’Azur
  • RETECOR , le réseau régional de Corse..

      II.5.3.1. Organisation en domaines

Chaque pays possède un domaine initialement en 2 lettres (fr pour la France, it pour l’Italie, de pour l’Allemagne, etc…) sauf pour les USA qui ont des noms de domaines en 3 lettres par secteur d’activités.

  • com : organisations commerciales ; ibm.com
  • edu : organisations concernant l’education ; mit.edu
  • gov : organisations gouvernementales ; nsf.gov
  • mil : organisations militaires ; army.mil
  • net : organisations réseau Internet ; worldnet.net
  • org : organisations non commerciales ; eff.org
  • int : organisations internationales ; nato.int

Chaque pays possède une autorité (Network Information Center) pour affecter les noms de domaines ( AFNIC pour la France). L’adresse est en général www.nic.[pays] . La correspondance entre adresse et nom de machines s’effectuent grâce au service de nom (DNS).

    II.5.3.2. Numéros et classes de réseaux [ En savoir plus ]

l Une machine quelconque du réseau INTERNET doit pouvoir être identifiée par :

  • Un nom (pratique pour les utilisateurs)
  • Une route
  • Une adresse IP

    II.5.3.3. Numérotation des adresses IP

Les adresses IP consiste en la notation de quatre entiers décimaux séparés par un point, chaque entier représentant un octet de l’adresse IP. Une adresse IP qui doit être un numéro unique et universel de la machine xxx.xxx.xxx.xxx ou xxx varie de 1 à 255.

01110000 . 00001010 . 00000010 . 00011110 en binaire correspond en décimal à 112.10.2.30

Une adresse = 32 bits dite “internet address” ou “IP address” constituée d’une paire (netid, hostid) où netid identifie un réseau et hostid identifie une machine sur ce réseau. Cette paire est structurée de manière à définir cinq classes d’adresse.

wpe5.gif (8931 octets)

Figure 4 Système de constitution des adresses IP

Exemples :

  • 9.xxx.xxx.xxx Réseau IBM
  • 134.214.xxx.xxx Réseau ROCAD (UCBL)
  • 193.51.160.xxx Réseau de l’IBCP
  • Adresses réseau : adresse IP dont la partie hostid ne comprend que des zéros; => la valeur zéro ne peut être attribuée à une machine réelle : 192.20.0.0 désigne le réseau de classe B 192.20.
  • Adresse machine locale : adresse IP dont le champ réseau (netid) ne contient que des zéros;
    hostid = 0 (=> tout à zéro), l’adresse est utilisée au démarrage du système afin de connaître l’adresse IP
  • Adresses de diffusion : la partie hostid ne contient que des 1
  • Adresse de diffusion limitée : netid ne contient que des 1 : l’adresse constituée concerne uniquement le réseau physique associé
  • L’adresse de diffusion dirigée : netid est une adresse réseau spécifique => la diffusion concerne toutes les machines situées sur le réseau spécifié : 192.20.255.255 désigne toutes les machines du réseau 192.20.
    En conséquence, une adresse IP dont la valeur hostid ne comprend que des 1 ne peut être attribuée à une machine réelle.
  • Adresse de boucle locale : l’adresse réseau 127.0.0.0 est réservée pour la désignation de la machine locale, c’est à dire la communication intra-machine. Une adresse réseau 127 ne doit, en conséquence, jamais être véhiculée sur un réseau et un routeur ne doit jamais router un datagramme pour le réseau 127.

    II.5.3.4. Types de réseaux

Classe Début

Numéros  

Combinaison

Machines

A 1-126 1 255 3 16581375
B 128-191 2 255 2 65025
C

192-223

3 255 255
D Multicasting
E Réservé

     II.5.3.5. Interconnexion des réseaux

  • Les passerelles (appareil, ordinateur ou dispositif spécialisé qui fait la liaison entre deux réseaux) interconnectent physiquement les réseaux A et B. La passerelle possède une adresse IP qui doit être précisée lors de la configuration TCP/IP de tout ordinateur relié à un réseau .

 

Figure 5 Interconnexion des réseaux A et B

  • Les routeurs (ordinateurs, logiciels ou dispositifs matériel chargés d’acheminer les paquets d’information dans un réseau) lisent l’adresse de destination de chaque paquet déterminent la meilleure trajectoire, et se transmettent les paquets jusqu’à leur arrivée. A la différence des passerelles (gateways), les routeurs sont “intelligents” et complètent eux-mêmes leur table de routage par apprentissage. P1 transfère sur le réseau B, les paquets circulant sur le réseau A et destinés aux réseaux B et C. P1 doit avoir connaissance de la topologie du réseau; à savoir que C est accessible depuis le réseau B. Le routage n’est pas effectué sur la base de la machine destinataire mais sur la base du réseau destinataire.

Figure 6 Interconnexion des réseaux A et B et C

Figure 7 Interconnexion entre IBCP et ENSL

    II.5.3.6. Routage

        Les tables de routage IP, pour des raisons évidentes d’encombrement, renseignent seulement les adresses réseaux et non pas les adresses machines. Typiquement, une table de routage contient des couples (R, P) où R est l’adresse IP d’un réseau destination et P est l’adresse IP de la passerelle correspondant au prochain saut dans le cheminement vers le réseau destinataire. La passerelle ne connaît pas le chemin complet pour atteindre la destination. Pour une table de routage contenant des couples (R, P) et appartenant à la machine M, P et M sont connectés sur le même réseau physique dont l’adresse de niveau réseau (partie Netid de l’adresse IP) est R.

Figure 8 Table de routage de G

    II.5.3.7. Suivi de routage avec traceroute

[deleage@bentley] /bioinfo/deleage % traceroute berkeley.edu
traceroute vers berkeley.edu (128.32.123.6), 30 tronçons au maximum, 40 paquets d’octets
1 routex.ens-lyon.fr (193.51.160.254) 341 ms 2 ms 2 ms
2 france-telecom.ens-lyon.fr (192.33.153.2) 3 ms 3 ms 3 ms
3 lyon.aramis.ft.net (193.48.66.21) 12 ms 8 ms 8 ms
4 lyon.renater.ft.net (193.48.66.233) 8 ms 9 ms 8 ms
5 stamand2.renater.ft.net (192.93.43.33) 25 ms 16 ms 26 ms
6 rbs1.renater.ft.net (195.220.180.93) 23 ms 17 ms 24 ms
7 paii.renater.ft.net (195.220.180.225) 31 ms 21 ms 19 ms
8 stockton-atm-4.opentransit.net (193.55.152.82) 154 ms 153 ms 176 ms
9 stockton-hssi-0-sprint.opentransit.net (194.206.207.50) 393 ms 392 ms 402 ms
10 sl-bb23-stk-1-2.sprintlink.net (144.232.4.29) 396 ms 392 ms 393 ms
11 sl-bb10-sj-6-0.sprintlink.net (144.232.8.193) 397 ms 396 ms 403 ms
12 sl-bb11-sj-8-0.sprintlink.net (144.232.3.26) 393 ms 404 ms 396 ms
13 sl-gw3-sj-4-0-0-155M.sprintlink.net (144.232.3.50) 461 ms 404 ms 398 ms
14 * sl-exodus-5-0-T3.sprintlink.net (144.228.44.6) 405 ms 425 ms
15 scca-02-f8-0-0.core.exodus.net (209.1.169.145) 426 ms 433 ms 427 ms
16 * 209.1.231.248 (209.1.231.248) 423 ms 407 ms
17 scca-xgty.ucnet.net (209.185.111.30) 441 ms 415 ms 422 ms
18 bgty-H9-0-0-T3.ucnet.net (192.35.216.57) 418 ms 422 ms 412 ms
19 f5-0.inr-666-eva.berkeley.edu (198.128.16.21) 422 ms 958 ms 430 ms
20 f1-0-0.inr-107-eva.Berkeley.EDU (128.32.2.1) 420 ms 413 ms 428 ms
21 f8-0.inr-100-eva.Berkeley.EDU (128.32.235.100) 417 ms 421 ms 432 ms
22 sunny.Berkeley.EDU (128.32.123.6) 436 ms 423 ms 420 ms

    II.5.3.8.Le service de noms [ En savoir plus ]

Internet est constitué de réseaux (dizaines de milliers).Les réseaux sont constitués de sous-réseaux. Les sous-réseaux sont constitués de machines, La technologie de base (TCP/IP) permet l’accès aux machines par leur adresse IP, Il est pratiquement devenu impossible aux humains de connaître les adresses (IP) des machines auxquelles ils veulent accéder.
Le système DNS (Domain Name Server ou serveur de noms) permet d’identifier une machine par un (des) nom(s) représentatif(s) de la machine et du (des) réseau(x) sur le(les)quel(s) elle se trouve ; exemple :
imp.ibcp.fr identifie la machine tigre  sur le réseau ibcp.fr
Le système est mis en œuvre par une base de données distribuée au niveau mondial. Les noms sont gérés par un organisme mondial : l’interNIC et les organismes délégués : RIPE, AFNIC, NIC Angleterre, etc.

La résolution de nom est basée sur le modèle client / serveur. Le logiciel client interroge un serveur de nom. Typiquement, l’utilisateur associe un nom de domaine à une application ; exemple :
telnet imp.ibcp.fr
l’application cliente requiert la traduction du nom de domaine auprès d’un serveur de nom (DNS) : cette opération s’appelle la résolution de nom. Le serveur de nom interroge d’autres serveurs de nom jusqu’à ce que l’association nom de domaine / adresse IP soit trouvée (résolue).

Le serveur de nom retourne l’adresse IP au logiciel client : 193.51.160.199
le logiciel client contacte le serveur (telnetd) comme si l’utilisateur avait spécifié une adresse IP : telnet 193.51.160.199.

La lecture d’un nom de domaine est de plus en plus générale en se déplaçant vers la droite alors que pour les adresses IP c’est l’inverse. En pratique, chaque machine utilise un serveur de nom primaire et un ou plusieurs serveurs de noms secondaires facultatifs. La redondance permet la défaillance éventuelle du serveur primaire et du (des) secondaire(s).

      II.5.3.9.Configuration réseau local sous Windows 98

Panneau de configuration

 

Reseau_conf0.gif (14622 octets)

Choisir réseau

 TCP/IP Passerelle DNS
Reseau_conf1.gif (8753 octets) Reseau_conf2.gif (8050 octets) Reseau_conf3.gif (7808 octets)

Reseau_conf4.gif (9442 octets)

Une autre solution qui a tendance à se généraliser est d’obtenir dynamiquement une adresse IP grâce au protocole DHCP. Il faut dans un premier temps un serveur DHCP qui distribue des adresses IP. Cette machine va servir de base pour toutes les requêtes DHCP, aussi elle doit avoir une adresse IP fixe. Dans un réseau, on peut donc n’avoir qu’une seule machine avec adresse IP fixe, le serveur DHCP. Ceci présente un intérêt pour les fournisseurs d’accès et les systèmes de connexion au réseau sans fils à l’aide de bornes.

      II.5.4 Les PRInCIPAUX services du réseau [ telnet ][ FTP ][ HTTP ][ Mél ]

    La notion de connexion à des machines distantes multi-utilisateurs pose le problème de l’identification de chaque utilisateur. Pour cela, chaque utilisateur possède un nom d’utilisateur (un login ou un nom de compte) et un mot de passe associé (seuls les 8 premiers caractères sont pris en compte). Ces 2 informations sont fournies par l’administrateur système de la machine. Une fois l’utilisateur connecté, il doit change de mot de passe de façon à ce qu’il soit le seul à le connaître. De plus, le mot de passe ne doit pas être trivial (oublier le nom, date de naissance, etc), ni un mot d’un dictionnaire quelconque, ni aucun mot à base de répétition (tututu) ou d’inversion (verlan). En revanche, le mot de passe doit mélanger des caractères alphanumériques (majuscules et minuscules sont distinguées) et des chiffres.

Alors comment faire pour choisir un bon mot de passe et s’en souvenir? Une bonne façon de choisir un bon mot de passe est d’utiliser un système de clé utilisant par exemple une phrase (titre de film ou autre) ou une devise célèbre. Exemple: “La vie est un long fleuve tranquille”. Ensuite, on peut prendre la première (ou la dernière) lettre de chaque mot. Ce qui donne Lveulft; On peut ensuite ajouter un chiffre (nombre de lettres du premier mot par exemple). Finalement, on obtient:

Lveulft2

Pour se convaincre du bien fondé de ce type de procédure, une recherche sur tout INTERNET avec ce mot ne retourne aucune occurrence.

Les différents services du réseau fonctionnent en mode client/serveur. Un serveur excute de manière permanente un programme qui “écoute” un port donné de la machine en attente d’une requête effectuer par un programme client.

    II.5.4.1 Telnet: Emulation de terminal

  • Ouvrir une session sur une machine distante (Unix en général) pour y exécuter des programmes comme en mode local.
  • Nécessite un compte (login) utilisateur sur la machine
  • Connaître le système d’exploitation de la machine distante (remote)
  • Mode texte uniquement (copier/coller possible) ou alors déport du graphisme

Connexion avec un programme client

  • NCSA telnet pour Macintosh
  • Nescape ou IE (taper telnet://nom_de_la machine ) dans la fenêtre de saisie
  • Net Term pour PC

Définition d’un terminal (VT100,VT52, ANSI,…)
Ne pas oublier de se déconnecter (Exit, quit, Logout, Ctrl^D)
Exemple de connexion sous Unix :
[deleage@bugatti] $ telnet lovelace.infobiogen.fr
login: deleage
Password:xxxxx
lovelace$ ls
bin blanchet lib make_opt nsmail SPOCKY
biodata include Mail News poubelle ws
lovelace$ exit
[deleage@bugatti] $

    II.5.4.2 Graphisme déporté

L’objectif est de pouvoir piloter un logiciel graphique à travers le réseau en faisant fonctionner le programme sur une machine distance et de le piloter sur la machine locale au moyen d’une interface graphique. Pour pouvoir fonctionner, il faut que la machine cliente soit équipée d’un serveur X qui va utiliser la machine distante comme machine cliente du serveur.

Sous Unix, les serveurs X sont installés par défaut. Sur les Macintosh et les PC sous Windows, il faut disposer d’un programme serveur X.

Figure 9 Principe du graphisme déporté

Exemple X-ThinPro ou WinAxe sous PC windows.

  • Lancer l’application X-server sur le PC sous Windows
  • Autoriser la machine locale (le PC) à recevoir du graphisme depuis la machine distante (configurer le serveur X du poste local). Par exemple sous Unix taper:

xhost machineB.domain2.edu

  • Se connecter par telnet sur la machine distante:

telnet machineB.domain2.edu

  • Exporter le “display”  de machineB.domain2.edu sur la machine A.domain1.fr

export DISPLAY= machineA.domain1.fr :0.0 en bash ou kshell (pour connaître le shell taper echo $SHELL)

setenv DISPLAY machineA.domain1.fr :0.0 en sh (Bourne shell)

  • Taper la commande graphique ( xterm ou xlogo par exemple)

    II.5.4.3 File Transfer Protocole (FTP) [ En savoir plus ]

     Le protocole FTP permet l’échange (dans les 2 sens) de fichiers entre machines au moyen d’un jeu restreint de commande indépendante du système d’exploitation. Un compte est nécessaire ou alors utilisateur anonymous (sur certains serveurs ftp).

Figure 10 Principe du protocole FTP

Commandes normalisées

  • lcd Change de répertoire sur la machine locale
  • cd Change de répertoire sur la machine distante
  • get Transfert d’1 fichier de la machine distante vers la machine locale
  • put Transfert d’1 fichier de la machine locale vers la machine distante
  • mget Transfert multi fichiers de la machine distante vers la machine locale
  • mput Transfert multi fichiers de la machine distante vers la machine locale

Transfert selon différents modes

  • ASCII (textes uniquement = fichiers lisibles dans un éditeur simple (notepad).
  • binaire (Images, sons, exécutables, …) à utiliser dans le doute.
  • automatique (marche pas toujours).

Connexion avec un programme client

  • Fetch pour Macintosh
  • WS_FTP pour PC, cute_FTP
  • Netscape ou IE (taper ftp ://nom_du_site) dans la fenêtre de saisie

Ne pas oublier de se déconnecter (Exit, quit, Logout, Ctrl^D). Dans le cas de serveurs anonymes, le login est anonymous et le mot de passe est l’adresse électronique ( email@dummy.fr ) du demandeur. Attention, certains serveurs FTP vérifient l’adresse électronique ou du moins que le domaine existe. Le dialogue avec le serveur s’effectue par l’intermédiaire de codes. Exemple de rapatriement du fichier make_opt sur le site FTP:

ftp.infobiogen.fr

[deleage@bentley] /bioinfo/deleage % ftp ftp.infobiogen.fr
Connecté à lovelace.infobiogen.fr.
220 lovelace.infobiogen.fr FTP server (wu-2.4.2) Tue Sep 18:29:29 MET DST 1998) ready.
Nom (ftp.infobiogen.fr:deleage): deleage
331 Password required for deleage.
Mot de passe:xxxxxx
230 User deleage logged in.
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
lib
.tin
make_opt
ftp> bin
200 Type set to binary.
ftp> get make_opt
200 PORT command successful.
150 Opening binary mode data connection for make_opt (25 bytes).
226 Transfer complete.
26 bytes received in 0,05788 seconds (0,4386 Kbytes/s)
local: make_opt éloigné: make_opt
ftp> quit
221 Goodbye.
[deleage@bentley] /bioinfo/deleage %

Exemple de connexion avec WS_FTP sous Windows 2000

Bannière de connexion Affichage des répertoires locaux et distants

FTP_anonyme.gif (7621 octets)

FTP_anonyme_connecte.gif (22372 octets)

Les 2 flèches permettent de choisir le sens du transfert. Les 3 modes de transferts possibles sont indiqués

    II.5.4.4. Messagerie électronique

Le courrier électronique est considéré comme étant le service le plus utilisé sur Internet. Ainsi la suite de protocoles TCP/IP offre une panoplie de protocoles permettant de gérer facilement le routage du courrier sur le réseau. Une adresse électronique peut être soit de type global à un domaine (exemple deleage@ibcp.fr ) ou bien affecté à une machine particulière (deleage@machine1.sous-domaine.domaine).

Le protocole SMTP
Le protocole SMTP (Simple Mail Transfer Protocol, ou Protocole Simple de Transfert de Courrier) est le protocole standard permettant de transférer le courrier d’un serveur à un autre en connexion point à point.

Il s’agit d’un protocole fonctionnant en mode connecté, encapsulé dans une trame TCP/IP. Le courrier est remis directement au serveur de courrier du destinataire.Le protocole SMTP fonctionne grâce à des commandes textuelles envoyées au serveur SMTP (par défaut sur le port 25). Chacune des commandes envoyées par le client (validée par un appui sur la touche entrée) est suivi d’une réponse du serveur SMTP composée d’un numéro et d’un message descriptif. Pour que le courrier soit acheminé via SMTP, il faut que la machine destinataire soit allumée en permanence et que le démon smtpd soit actif. C’est pour pallier à cet inconvénient qu’un système de bureau de poste ouvert en permanence (sous la forme de serveurs allumés en permanence) a été développé dont un exemple est le POP.

Post Office Protocole (POP)
POP a été conçu pour permettre le traitement hors-ligne du courrier électronique. Le courrier est délivré à un serveur partagé, et un micro-ordinateur personnel se connecte périodiquement (à régler sur environ 10′) au serveur à l’aide d’un programme “client” de courrier pour rapatrier tous les courriers en attente vers la machine de l’utilisateur. Par la suite, toutes les opérations relatives à ces courriers s’effectuent localement sur la machine cliente. Le mode d’accès hors ligne peut être vu comme un service de stockage et de réexpédition, destiné à faire passer le courrier, à la demande, d’un serveur intermédiaire vers une machine unique du destinataire, habituellement un PC ou un Mac. Après acheminement vers le client PC ou Mac, les messages sont généralement supprimés sur le serveur de courrier. Bien que les limitations de l’accès hors ligne ont favorisé l’usage de POP pour le mode en ligne, POP ne dispose tout simplement pas de certaines fonctions nécessaires pour des opérations de haute qualité en mode hors ligne (ou déconnecté). En effet, avec POP, le pseudo mode en ligne de certaines opérations, dans lequel les programmes clients laissent du courrier sur le serveur, dépend souvent de la disponibilité permanente d’un protocole de système de fichiers distant assurant au client de courrier l’accès ou la mise à jour à des dossiers contenant des copies des messages envoyés ou l’accès à l’information sur l’état d’un message comme le drapeau d’état.

Quelques clients de messagerie [ Netscape ] [ Eudora ] [ Pegasus ] [ Outlook ]

       II.5.4.5 WEB (World Wide Web)

Le protocole HTTP (HyperText Transfer Protocol) est le protocole le plus utilisé sur Internet depuis 1990. La version 0.9 était uniquement destinée à transférer des données sur Internet. La version 1.1 du protocole (la plus utilisée) permet désormais de transférer des messages avec des en-têtes décrivant le contenu du message en utilisant un codage de type MIME.

Le but du protocole HTTP est de permettre un transfert de fichiers (essentiellement au format Hyper Text Markup Language ou HTML) localisé grâce à une chaîne de caractères appelée Uniform Resource Locator (URL)  entre un navigateur (le client) et un serveur Web (httpd)

Le principe général est la navigation en mode hypertexte de serveurs Web en serveurs Web de manière transparente pour l’utilisateur.

Figure 11. Principe du protocole HTTP

    Le langage HTML est de type balisé (TAG ou étiquette) qui obéit en général à la syntaxe suivante <Tag></Tag> (Exemple <b> meten gras ce qui est écrite entre les balises </b>)
Une des raison du succès et de la formidable multiplicaiton des serveurs WWW est la possiblité dans les navigateurs de visualiser le texte source (avec les balises). De plus, il est possible de créer des formulaires (boîtes à cocher, listes, zone de texte,…) qui pourront lancer des applications sur le serveur Web (au moyen de la Common Gateway Interface CGI) et par extension, on parle de cgi-bin’s. En bioinformatique, de nombreux serveurs Web offrent la possibilité d’effectuer des traitements (systèmes de veille, accès aux banques, analyse de séquences, modélisation moléculaire).

La première étiquette nécessaire est l’étiquette de HTML; elle indique au serveur que les données qui suivent sont en HTML. L’étiquette de début de HTML doit être le premier article de votre page, le HTML la fin l’étiquette doit être le dernier article à votre page :

<HTML>Reste de la page doit etre ici</HTML>

Toutes les données entre ces étiquettes seront interprétées comme le HTML et seront traitées en conséquence.

L’étiquette suivante est l’étiquette principale. Cette étiquette contient toute l’information de l’entête rapportant à votre page. Cette étiquette contient l’information sur la structure de votre document. Cela inclut le jeu de caractère employé, le titre, des mots-clés etc. L’étiquette est écrite comme suit :

<HEAD> Header </HEAD>

Notez comment chaque étiquette a un associé, il y a une étiquette de début et une fin l’étiquette. Si vous n’appareillez pas les étiquettes, les résultats peuvent être imprévisibles. Les étiquettes comme des outils d’encapsulation de code.

Il y a des étiquettes d’entête diverses :

L’étiquette de titre qui apparaît dans le navigateur

<TITLE>Votre titre de document ici</TITLE>

L’étiquette suivante à être décrite est l’étiquette BODY . C’est écrit comme suit : <BODY> le corps principal de votre page va ici</BODY>
Le corps de votre page est encadré par BODY.

En clair:

<HTML> début du document

<HEAD> début de l’entête

<TITLE> titre de document ici</TITLE>

</HEAD> fin de l’entête

<BODY> début de la page web

Le corps de votre page WEB.

</BODY> fin de la page web

</HTML> fin du document

Exemple de page HTML:

<html>
<head>
<title>
Institut de Biologie et Chimie des Prot&eacute;ines< /title>
</head>
<body>
<img src=”
bille.gif ” height=24 width=24> R &eacute; cup &eacute; rer le logiciel
<a href=”http://antheprot-pbil.ibcp.fr” TARGET=”_blank”>ANTHEPROT</a>
</body>
</html>

HTML page (23055 octets)

Figure 12 Page HTML affichée dans IE

Clients (navigateurs) pour le Web [ Netscape ], [ I.Explorer ], [ Opera ]
A noter aussi la possibilité de rapatrier un site complet grâce aux aspirateurs [ MemoWeb ][ Websnake ][ Webwhacker ] offrant ensuite une consultation hors ligne.

    II.5.4.6. Les différents ports des serveurs

N o port  Mot-clé 

Description

20

FTP-DATA

File Transfer [Default Data]
21 FTP File Transfer [Control]
23 TELNET Telnet
25 SMTP Simple Mail Transfer Protocole
37 TIME Time
42 NAMESERVER Host Name Server
43 NICNAME Who Is
53 DOMAIN Domain Name Server
79 FINGER Finger
80 HTTP WWW
110 POP3 Post Office Protocol – Version 3

 II.2 Les Méthodes d’Analyse de séquences        III.2.1. composition en acides aminéS ET CALCULs Dérivés

Il s’agit du calcul du nombre et du pourcentage de chacun des  20 acides aminés. Ce calcul permet de comparer avec la teneur moyenne des acides aminés dans SWISSPROT pour savoir si la protéine étudiée possède une composition biaisée en acides aminés. Si tel est le cas, se méfier des interprétations et des méthodes d’analyse à partir de la séquence. A partir de cette composition, il est possible de calculer la masse moléculaire de la protéine Mw à partir de la masse M de chaque acide aminé i d’une protéine contenant N acides aminés:

Il est aussi possible de calculer le coefficient d’extinction molaire à 280 nm grâce à la relation suivante:

e= [NTrp x 5500] + [NTyr x 1490] + [NCys x 125]

De même, la courbe de titration théorique à partir des pKai (>0) et pKaj (< 0) des chaînes latérales des acides aminés :

pKa pKa pKa

pK

His

6.00

Lys

10.53

Arg

12.48

Nter

9.80

Ser

13.60

Thr

13.60

Tyr

10.1

Cter

2.10

Asp

3.86

Glu

4.20

Cys

8.33

Figure 16 Courbe de titration calculée d’après une séquence de protéines.

 

 

III. ANALYSE INFORMATISEE DE SEQUENCES

III.1 Les banques de données de Séquences/Sructures 

    III.1.1. Historique

            Au début de la biologie moderne, les séquences de protéines étaient déposées dans un grand livre édité par M. Dayhoff. Cet atlas des séquences a été remis à jour périodiquement jusqu’en 1978. Les premières banques informatisées de données de séquences biologiques ont été développées à Lyon par C. Gautier dans les années 1980. Depuis, plusieurs initiatives européenne [EMBL], américaine [GenBank] ou japonaise [DDBJ] ont émergé de manière concurrentes et parallèles pour collecter l’ensemble des séquences génomiques [Structure des AN]. Depuis 1998, ces trois organisations ont passé des accords d’échanges mutuels de données, ce qui a pour résultat que tout nouvelle séquence incluse dans une banque est automatiquement intégrée dans les 3 autres. Ce qui fait que les 3 banques ayant un souci d’exhaustivité ont un contenu quantitatif et qualitatif assez comparable et qui a tendance a convergé. Enfin, depuis 1986, il faut souligner l’initiative d’A. Bairoch de créer une banque de séquences de protéines [SWISSPROT] qui soit non redondante et de haute qualité car riche en annotation fonctionnelle et structurale et intégrant les informations des autres banques de données. Cette banque est utile pour établir des statistiques.

            III.1.2. Contenu-éVolution

Les banques généralistes ont comme inconvénients leur forte hétérogénéité (la rançon de l’exhaustivité), un taux d’erreur relativement important (d’autant plus que ces erreurs ont tendance à se propager du fait de l’annotation automatique par similarité de séquences) et une taille importante (quelques giga octets). Du fait de la croissance exponentielle des banques de données (doublement tous les 18 mois environ) qui rend le temps de calcul de comparaison non négligeable, des banques de données spécialisées se sont progressivement développées. Il existe une base de données [DBCAT] qui répertorie environ 500 banques de données.

Figure 13 Croissance de la banque GenBank

    III.1.2.1 Ces banques peuvent être spécialisées

Les banques spécialisées peuvent être regroupées par:

  1. organisme Bacillus Subtilis [NRSub], C. Elegans [AceDB], Drosophile [FlyBase].
  2. dédiées à la structure
    • Protein Data Bank [RCSB]
    • Structural Classification of Proteins [SCOP]
    • Fold classification based on Structure-Structure alignment of Proteins [FSSP]
  3. par thème biologique:
  • [IMGT] Banque d’IG de récepteur de cellules T et de Complexe Majeur d’Histocompatibilité (CMH)
  • [HIV] Sequence Database à Los Alamos
  • [GPCRDB] Récepteurs couplés aux protéines G
  • [HCVDB] Base de données de séquences du virus de l’hépatite C
  • [OMIM] Online Mendelian Inheritance in Man
  • [HGMD] Human Gene Mutation Database
  • [KEGG] Kyoto Encyclopedia of Genes and Genomes
  • [ENZYME] Nomenclature des enzymes
  • [EMP] Enzymes and Metabolic Pathways database

 III.1.2.2 Génomes complets

Une liste des génomes bactériens complets est maintenue sur le serveur Infobiogen. La liste des génomes complets (environ 80 en mars 2002, 57 bactéries, 13 archébactéries et 10 eucaryotes) est disponible sur le serveur Genomes On Line Database [GOLD]. Au total, ce sont près de 450 programmes de séquençage de génomes complets (270 procaryotes et 170 eucaryotes) qui sont en cours. Un des enjeux est l’annotation automatique de ces génomes complets. Un consortium [Ensembl] entre EMBL-EBI et l’Institut Sanger a pour but l’annotation des génomes de l’Homme, Souris et de la Drosophile.

      Répartition du nombre de gènes et chromosome dans quelques organismes “modèles”

Organisme

Nb. chrom 

Nombre gènes  Taille Mb
Homo sapiens 23 30-45.000 3000
Mus musculus 21 30-45.000 3000
Arabidopsis thaliana 5 ~20000 120
D. melanogaster 4 ~ 14.000 165
C. elegans 6 ~ 14.000 100
Saccharomyces cerevisiae 16 6000 13
Escherichia coli 1 4000 4,6

Chromosome

Gènes identifiés  

Chromosome

Gènes  identifiés

1 897 14 287
2 554 15 240
3 481 16 319
4 317 17 521
5 398 18 144
6 501 19 577
7 405 20 257
8 279 21 114
9 340 22 238
10 298 X 371
11 537 Y 21
12 477
13 156
Total 8729

      Répartition du nombre de gènes humains identifiés par chromosome

	  III.1.2.3 Statistiques sur SWISSPROT 40.0 [En savoir plus]

Le nombre d’espèces représentées est de 7188. Près de la moitié des entrées ne représentent que 20 espèces différentes.

    Rang 

    Nombre     Espèce
    1 7961 Human
    2 4859 Baker’s yeast (Saccharomyces cerevisiae)
    3 4816 Mouse
    4 4741 Escherichia coli
    5 3091 Rat
    6 2260 Bacillus subtilis
    7 2184 Caenorhabditis elegans
    8 1782 Fission yeast (Schizosaccharomyces pombe)
    9 1769 Haemophilus influenzae
    10 1514 Drosophila melanogaster

30 à 50% des nouvelles séquences sont homologues à des séquences déjà identifiées.

Séquences Espèces
1x 3396
2x 1086
3x 589
4x 366
5x 267
6x 251
7x 169
8x 137
9x 125
10x 61
11-20x 308
21-50x 231
51-100x 78
>100x 124

La séquence la plus courte comprend 3 aa GRWM_HUMAN (P24272) et la plus longue 6669 NEBU_HUMAN (P20929)

Ordre décroissant de fréquence dans SWISSPROT des 20 acides aminés [formule chimique].

Leu, Ala, Ser, Gly, Val, Glu, Lys, Ile, Thr, Asp, Arg, Pro, Asn, Phe, Gln, Tyr, Met, His, Cys, Trp

Nom Code % Nom Code % Nom Code % Nom Code %

Graphique

Ala

(A)

7.61

Gln

(Q)

3.93

Leu

(L)

9.53

Ser

(S)

7.08

stat_swissprot_aa.gif (8606 octets)

Arg 

(R)

5.19

Glu

(E)

6.47

Lys

(K)

5.97

Thr

(T)

5.58

Asn

(N)

4.36

Gly

(G)

6.85

Met

(M)

2.37

Trp

(W)

1.21

Asp

(D)

5.25

His

(H)

2.24

Phe

(F)

4.10

Tyr

(Y)

3.16

Cys

(C)

1.63

Ile

(I)

5.85

Pro

(P)

4.89

Val

(V)

6.61

Ce tableau de fréquence montre que certains acides aminés sont les plus abondants (Leu, Ala) servent surtout à effectuer du remplissage dans les protéines. Typiquement l’alanine est un acide aminé dont le degré de conservation est faible et qui est largement utilisé dans le cadre de mutagenèse dirigée afin d’abolir une fonction sans détruire la structure de la protéine. En revanche, certains acides aminés sont rares (His, acide aminé ayant un pKa de 6,6 voisin de la neutralité et dont les fonctions peuvent varier en fonction du pH; Cys impliquée dans les ponts disulfures; Trp souvent impliqué dans les interactions protéine-protéine). Cette notion de remplissage ou de fonction est à rapprocher de la mutabilité (matrice de substitution d’acides aminés qui sera abordée plus loin dans le cours).

    III.1.2.4. Statistiques de la banque “Protein Data Bank”

La banque PDB a été créée en 1976 au Brookhaven Laboratory afin de déposer les coordonnées atomiques des macromolécules biologiques. Jusqu’en 1985, la seule méthode expérimentale permettant de déterminer la structure tridimensionnelle des macromolécules biologiques était la biocristallographie. Ainsi, les scientifiques se sont longtemps demandé si la PDB ne présentait pas un fort biais par la présence de protéines ayant “accepté” de cristalliser. Aujourd’hui, les structures 3D sont également accessibles à la Résonance Magnétique Nucléaire, et la preuve est apportée que les structures déterminées par les 2 techniques sont en général proches.

Type de molécule
Protéines, Peptides, et Virus Complexes Protéines/Acides nucléiques Acides nucléiques Sucre Total
Tech.Exp. Diffraction aux X-rayons 13338 638 605 14 14595
RMN 2193 83 426 4 2706
Modèles 324 25 29 - 378
TOTAL 15855 746 1060 18 17679

Aallfolds_101701.jpg (22724 octets)Bnewfolds_101701.jpg (23933 octets)

Figure 14 A: Croissance de la PDB. B. Croissance des nouveaux repliements [En savoir plus]

En résumé, au niveau des ordres de grandeur, le nombre de séquences nucléiques est de 16 508 091 (EMBL 03/2002), le nombre de séquences protéiques annotées est de 106 734, le nombre de structures 3D de macromolécules voisin de 17 679.

    III.1.2.5. Formats

    La plupart des banques de données stockent leurs informations dans des fichiers dits “à plats” (en format texte). Le format d’écriture de ces fichiers varient selon les banques de données et selon les objectifs d’utilisation de la banque. Par exemple, le format Pearson/Fasta est le format le plus utilisé pour stocker une (des) séquence(s) en vue de leur analyse par des outils informatiques. Il est relativement économe en terme de capacité disque et/ou mémoire mais il est dépourvu d’annotation fonctionnelle. Au contraire, le format EMBL (qui est aussi celui de SWISSPROT) est beaucoup plus riche en information mais inadapté à l’analyse directe de séquences.

Format Pearson/Fasta

Il s’agit d’un format qui est reconnu par tous les logiciels d’analyse de séquences.

>PROTEINE1 COMMENTAIRE PROTEINE1
VLSEGEWQLVLHVWAKVEADVAGHGQDILIRLFKSHPETLEKFDRFKHLKTEAEMKA
SEDLKKHGVTVLTALGAILKKKGHHEAELKPLAQSHATKHKIPIKYLEFISEAIIHVLH
SRHPGDFGADAQGAMNKALELFRKDIAAKYKELGYQGERFT
>PROTEINE2 COMMENTAIRE PROTEINE2
GLSDGEWQQVLNVWGKVEADIAGHGQEVLIRLFTGHPETLEKFDKFKHLKTEAEMKASEDLKKHG
TVVLTALGGILKKKGHHEAELKPLAQSHATKHKIPIKYLEFISDAIIHVLHSKHPGNFGA
DAQGAMTKALELFRNDIAAKYKELGFQG

Format EMBL/SWISSPROT [En savoir plus]

    Dans une entrée SWISSPROT, chaque fichier de séquence obéit à un format propre à base d’étiquette (2 lettres) qui renseigne la nature du champ d’information qui débute à la colonne N°6. La première étiquette est ID (IDentifiant). Elle indique le champ nom de la protéine. Un nom SWISSPROT est constitué d’un préfixe souvent évocateur du rôle ou de la fonction (ici MYG pour myoglobine), d’un séparateur le “_” (caractère underscore ou blanc souligné) et du nom ou de son abréviation (ici HUMAN) de l’espèce (en anglais).  Attention, ce nom est susceptible de changer au cours des différentes versions de la banque. En effet, il se peut que la fonction ne soit pas connue avec précision à une date donnée et que celle ci soit étudiée et finalement connue dans une version suivante. Le champ AC (numéro d’ACcès) est affecté de manière définitive à une séquence et n’est pas susceptible de changer. En conséquence, une interrogation par mot clé ne doit pas se limiter au seul champ ID. Les 3 champs DT (DaTe) renseignent successivement les différentes dates concernant l’entrée (création, modification de séquence ou d’annotation). Le champ DE (DEscripteur) renseigne sur la nature de la protéine. Le champ GN (Nom de Gene), Le champ OS contient le nom (latin et anglais) de l’espèce et de l’organisme (Organism Specie). Le champ OG (ici absent) désigne l’organelle. Le champ OC correspond à la classification de l’organisme de la séquence. Le champ OX correspond à la taxonomie de l’organisme. Les différents champs RN (RP, RX, RT, RA, RL) concernent les références bibliographiques de séquences. Le champ CC est pour des commentaires (copyright ou annotations). La ligne DR fournit des liens croisés sur les autres banques de données. Le champ KW (KeyWord ou mot clé). Le champ FT (Feature Table) est pour les informations et les annotations concernant la séquence. Si les informations sont non vérifiées expérimentalement, le mot “potential” ou “conflict” est ajouté. Enfin, le dernier champ est SQ pour SéQuence. Le terminateur d’entrée est //

ID   MYG_HUMAN      STANDARD;      PRT;   153 AA.
AC   P02144;
DT   21-JUL-1986 (Rel. 01, Created)
DT   21-JUL-1986 (Rel. 01, Last sequence update)
DT   01-MAR-2002 (Rel. 41, Last annotation update)
DE   Myoglobin.
GN   MB.
OS   Homo sapiens (Human).
OC   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi;
OC   Mammalia; Eutheria; Primates; Catarrhini; Hominidae; Homo.
OX   NCBI_TaxID=9606;
RN   [1]
RP   SEQUENCE.
RX   MEDLINE=71291923; PubMed=5285572;
RA   Romero-Herrera A.E., Lehmann H.;
RT   "Primary structure of human myoglobin.";
RL   Nature New Biol. 232:149-152(1971).
RN   [2]
RP   REVISIONS TO 19-22 AND 83.
RA   Romero-Herrera A.E., Lehmann H.;
RT   "The myoglobin of primates. I. Hylobates agilis (gibbon).";
RL   Biochim. Biophys. Acta 251:482-488(1971).
RN   [3]
..../...
CC   -!- FUNCTION: SERVES AS A RESERVE SUPPLY OF OXYGEN AND FACILITATES
CC       THE MOVEMENT OF OXYGEN WITHIN MUSCLES.
CC   -!- SIMILARITY: BELONGS TO THE GLOBIN FAMILY.
CC   --------------------------------------------------------------------------
CC   This SWISS-PROT entry is copyright. It is produced through a collaboration
CC   between  the Swiss Institute of Bioinformatics  and the  EMBL outstation -
CC   the European Bioinformatics Institute.  There are no  restrictions on  its
CC   use  by  non-profit  institutions as long  as its content  is  in  no  way
CC   modified and this statement is not removed.  Usage  by  and for commercial
CC   entities requires a license agreement (See http://www.isb-sib.ch/announce/
CC   or send an email to license@isb-sib.ch).
CC   --------------------------------------------------------------------------
DR   EMBL; M14603; AAA59595.1; -.
DR   EMBL; M10090; AAA59595.1; JOINED.
DR   EMBL; M14602; AAA59595.1; JOINED.
DR   EMBL; X00371; CAA25109.1; -.
DR   EMBL; X00372; CAA25109.1; JOINED.
DR   EMBL; X00373; CAA25109.1; JOINED.
DR   EMBL; AL049747; CAB41872.1; -.
DR   EMBL; AL022334; CAA18457.1; -.
DR   PIR; A02464; MYHU.
DR   PDB; 2MM1; 15-JAN-93.
DR   HSC-2DPAGE; P02144; HUMAN.
DR   MIM; 160000; -.
DR   InterPro; IPR000971; Globin.
DR   InterPro; IPR002335; Myoglobin.
DR   Pfam; PF00042; globin; 1.
DR   PRINTS; PR00613; MYOGLOBIN.
DR   PROSITE; PS01033; GLOBIN; 1.
KW   Heme; Oxygen transport; Transport; Muscle; Polymorphism;
KW   3D-structure.
FT   INIT_MET      0      0
FT   METAL        64     64       IRON (HEME DISTAL LIGAND).
FT   METAL        93     93       IRON (HEME PROXIMAL LIGAND).
FT   VARIANT      54     54       E -> K.
FT                                /FTId=VAR_003180.
FT   VARIANT     133    133       K -> N.
FT                                /FTId=VAR_003181.
FT   VARIANT     139    139       R -> Q.
FT                                /FTId=VAR_003182.
FT   VARIANT     139    139       R -> W.
FT                                /FTId=VAR_003183.
FT   CONFLICT    128    128       Q -> E (IN REF. 4).
FT   HELIX         4     17
FT   TURN         18     19
FT   HELIX        21     35
FT   HELIX        37     41
FT   TURN         42     42
FT   TURN         45     48
FT   HELIX        52     57
FT   HELIX        59     76
FT   TURN         77     80
FT   HELIX        83     95
FT   TURN         96     96
FT   TURN        101    101
FT   HELIX       102    118
FT   HELIX       120    122
FT   HELIX       125    148
FT   TURN        149    150
SQ   SEQUENCE   153 AA;  17053 MW;  5F84A2C481B8F0D5 CRC64;
     GLSDGEWQLV LNVWGKVEAD IPGHGQEVLI RLFKGHPETL EKFDKFKHLK SEDEMKASED
     LKKHGATVLT ALGGILKKKG HHEAEIKPLA QSHATKHKIP VKYLEFISEC IIQVLQSKHP
     GDFGADAQGA MNKALELFRK DMASNYKELG FQG
//

            III.1.3. INterrogation

Il existe 3 systèmes principaux disponibles sur INTERNET utilisés pour l’interrogation des banques de données ACNUC, Entrez, et SRS.

Le premier système est [ACNUC] développé à l’Université Claude Bernard de Lyon par M. Gouy et C. Gautier. Il offre une puissance d’interrogation inégalée notamment par l’établissement de listes successives de résultats intermédiaires permettant d’affiner progressivement la recherche. Cependant, il nécessite un bon apprentissage du système de requête à base de mots clés pour pouvoir être utilisé efficacement.

Le système [Entrez] développé au National Center for Biotechnology Information [NCBI] qui est aussi le système utilisé pour interroger la base bibliographique Medline.

Le dernier système d’interrogation de Lion Biosciences est Sequence Retrievial System [SRS] implanté sur de nombreux serveurs bioinformatiques qui permet l’interrogation simultanée d’un ensemble de banques de données. Il permet également de formater en HTML les résultats à l’aide d’un langage spécifique ICARUS et s’interface facilement avec des programmes d’exploitation. A titre d’exemple, une requête SRS permet de constituer une liste de “hits” qui peut être envoyée directement au webiciel [NPS@] (Network Protein Sequence Analysis).

Choix de(s) banque(s)

Requête Affichage
srs1.gif (15353 octets) srs2.gif (33837 octets)

srs3.gif (38625 octets)

Figure 15 Exemple d’interrogation SRS sur INFOBIOGEN utilisant la banque SWISSPROT

La tendance actuelle est de faire migrer les banques de données vers des Systèmes de Gestion de Bases de Données relationnelles [SGBD] comme par exemple [SYBASE] ou [ORACLE] interrogeables grâce des langages de requêtes standard comme [MySQL] (Standard Query Language).

III.2.3. REcherche d’homologue dans les banques de données

            III.2.3.1 Homologie-identité-similarité

            Les différentes notion d’identité, de similarité et d’homologie sont parfois mal utilisées. Le taux d’identité de séquences se mesure par le nombre d’acides aminés identiques obtenu après alignement. A ce titre, elle est aussi appelée distance d’édition. Evidemment, elle dépend de l’alignement entre les séquences. Cette quantité d’identité peut être étendue à la notion de conservation des acides aminés dans la mesure ou une matrice de substitution mesurant le degré de ressemblance entre acides aminés peut être utilisée. Les protéines sont homologues si et seulement si elles dérivent du même ancêtre commun et qu’elles ont divergé depuis ce dernier. Ainsi, si 2 séquences de protéines partagent plus de 30% d’identité, il y a de très forte chances d’avoir à faire à des protéines homologues. Pour autant, cette propriété n’est pas évidente à mettre en évidence si l’évolution a été rapide et importante et que les séquences seules ne permettent plus d’inférer cette homologie (exemple d’évolution divergente : myoglobine de cachalot et “leghémoglobine” de lupin qui partagent 15% d’identité et qui ont le même repliement mais des fonction différentes). Pour pouvoir reconnaître l’homologie distante, sachant que cette propriété est transitive, il peut être fait appel à des séquences intermédiaires (Park et al.,). De même, les structures secondaires et 3D étant généralement plus conservées que les séquences (du fait de la pression structurale et fonctionnelle), les prédictions de structures secondaires pourront être mises à profit dans ce contexte (Geourjon et al., 2001). Un autre modèle d’évolution est l’évolution qui, à partir d’ancêtres différents, converge vers une fonction commune des séquences de protéines portée par des structures 3D différentes. Dans le cas des protéases à sérine seules les séquences à proximité du site actif sont conservées au point que seule la triade catalytique (S, D, H) dans l’espace est commune à ces protéines qui possèdent une évolution convergente. Compte tenu des pressions évolutives sur les séquences, la relation d’homologie peut encore être trouvée après des durées d’évolution de 109 années à partir des séquences de protéines, de 0,6 109 années pour des séquences nucléiques codante (exons) et d’environ 0,2 109 pour des acides nucléiques non codants (introns par exemple).

            III.2.3.2 Comparaison de séquences locale ou globale.

            L’utilité de la comparaison d’une séquence avec l’ensemble des séquences contenues dans les banques de données n’est plus à démontrer. En effet, il s’agit de l’outil bioinformatique le plus utilisé par les biologistes. En général, cette comparaison est la première analyse et commence toute analyse bioinformatique de séquence ou de structure. On peut distinguer 2 types d’algorithmes, les algorithmes exacts qui garantissent qu’aucune séquence homologue n’a été détectée et les algorithmes approchés qui utilisent des approximations (heuristiques) dans le but de réduire le temps de calcul. L’ algorithme exact le plus répandu est celui de Smith et Waterman, 1981 implémenté dans [SSEARCH] ou [MPSEARCH]. Il consiste à faire tous les alignements binaires entre la séquence d’intérêt et chacune des séquences de la banque. Nous décrirons cet algorithme basé sur la programmation dynamique lors de l’alignement optimal de 2 séquences. Dans bon nombre de cas, un algorithme approché est suffisant pour identifier des homologues. On peut distinguer 2 types de méthodes heuristiques selon que la comparaison s’intéresse à des régions locales ou globale.

wpeB.gif (5235 octets)

Figure 18. Schéma similarité globale A  ou locale B

        III.2.3.3 FASTA.

    Le programme FASTA a été développé par W. Pearson (Lipman et Pearson, 1988) à l’Université de Virginie aux US (Pearson et al, 1984). Il est basé sur la recherche de k-mots identiques (k=1,2 pour les protéines, k=4-6 séquences nucléiques). L’heuristique est ici à savoir que 2 séquences homologues doivent avoir des régions ayant de fortes densités en k-mots identiques. En fait 2 séquences ayant 50% d’identité et 1 acide aminé sur 2 ne seront pas détectées par FASTA avec un k-mot=2.

FASTA comprend 4 étapes principales.

  1. Etablissement la matrice de points entre la séquence d’intérêt et chaque séquence de la banque et en déduit les régions de forte densité en k-mots. (score init1)

  2. Chaînage des régions de forte densité situées sur une même diagonale avec un filtrage au moyen d’une matrice PAM. (score initn)

  3. Elimination des régions situées à une distance d de la diagonale principale.

  4. Alignement optimal pour les séquences restantes à la phase 3 et calculs statistiques associées. (score opt)

Etape 1 Etape 2 Etape 3 Etape 4

Figure 19 Schéma de principe de FASTA

Exemple de fichier résultat:

La première partie du fichier résultat est la comparaison de la distribution attendue (*) et obtenue (=) des scores ici opt. Si le graphique montre que les 2 distributions sont proches, ceci indique qu’il n’y a pas de régions de faible complexité dans la séquence. Evidemment, la ligne rouge indique que 162 séquences ayant un score opt réel >120 ont été obtenues alors que seulement 2 sont attendues par le hasard. Ces scores peuvent être normalisés par rapports au bruit de la recherche. Pour cela le Z-score peut être calculé :

Z-score= (SCOREopt-SCOREBruit)/s²

où SCOREopt est le score FASTA après alignement optimal et SCOREBruit= SCOREOPT calculé sur un jeu de séquences de même composition en AA que la séquence de départ mais dont l’ordre des acides aminés a été tiré au sort. Le score SCOREBruit est le score moyenné sur un ensemble de tirage. s est l’écart type de la distribution des scores SCOREBruit.

A partir du Z-score, il est aussi possible de calculer la valeur “Expectée” ou attendue notée E(). Il s’agit du nombre de séquences attendues ayant un score S donné.

E= K.m.N.e -lSlSlS

où K et l sont des constantes associées à la banque de taille N pour une séquence de longueur m.

En admettant une distribution de Poisson des scores, on peut calculer la probabilité (P-value) qu’un score S soit dû au hasard:

p = 1 – e-E

La deuxième partie du fichier résultat est faite des alignements binaires entre les 2 séquences de protéine (ici seuls les 2 premiers sont listés). Le : indique une identité, le . indique une conservation, le caractère espace (blanc) indique une non conservation.

FASTA searches a protein or DNA sequence data bank
version 3.4t07 Nov 21, 2001
Please cite:
W.R. Pearson & D.J. Lipman PNAS (1988) 85:2444-2448

/pbil/servers/antheprot/www/tmp//21660.sequence: 507 aa
>QUERY
vs /pbil/db/Swissprot/spall.seq library
searching /pbil/db/Swissprot/spall.seq library

opt E()
< 20 216 0:==
22 1 0:= one = represents 162 library sequences
24 3 0:=
26 9 2:*
28 45 23:*
30 189 142:*=
32 594 547:===*
34 1465 1484:=========*
36 2954 3048:==================*
38 5066 5038:===============================*
40 6876 7027:===========================================*
42 8534 8590:=====================================================*
44 9720 9475:==========================================================*=
46 9693 9651:===========================================================*
48 9359 9239:=========================================================*
50 8825 8431:====================================================*==
52 7364 7412:=============================================*
54 6173 6331:=======================================*
56 5120 5289:================================*
58 4280 4342:==========================*
60 3568 3517:=====================*=
62 2671 2820:=================*
64 2256 2243:=============*
66 1853 1772:==========*=
68 1303 1394:========*
70 987 1093:======*
72 885 854:=====*
74 596 666:====*
76 474 518:===*
78 439 403:==*
80 311 313:=*
82 244 239:=*
84 178 189:=*
86 122 147:*
88 122 113:* inset = represents 8 library sequences
90 103 88:*
92 75 68:* :========*=
94 47 53:* :======*
96 52 41:* :=====*=
98 29 31:* :===*
100 21 24:* :==*
102 16 19:* :==*
104 13 15:* :=*
106 7 11:* :=*
108 8 9:* :=*
110 9 7:* :*=
112 7 5:* :*
114 6 4:* :*
116 5 3:* :*
118 3 2:* :*
>120 362 2:*== :*=======================================
38031984 residues in 103258 sequences
statistics extrapolated from 60000 to 102739 sequences
Expectation_n fit: rho(ln(x))= 5.4952+/-0.000181; mu= 10.1622+/- 0.010
mean_var=81.8445+/-16.634, 0’s: 164 Z-trim: 386 B-trim: 0 in 0/65
Lambda= 0.1418
Kolmogorov-Smirnov statistic: 0.0062 (N=29) at 50

FASTA (3.43 Nov 2001) function [optimized, BL50 matrix (15:-5)] ktup: 2
join: 37, opt: 25, gap-pen: -12/-2, width: 16
Scan time: 2.520
The best scores are: opt bits E(103258)
sw||ATPA_TOBAC (P00823) ATP synthase alpha chain ( 507) 3142 652 1.1e-186
sw||ATPA_SPIOL (P06450) ATP synthase alpha chain ( 507) 2995 622 1.2e-177
sw||ATPA_ARATH (P56757) ATP synthase alpha chain ( 507) 2980 619 1e-176
sw||ATPA_PEA (P08215) ATP synthase alpha chain (E ( 501) 2909 605 2.4e-172
sw||ATPA_MARPO (P06283) ATP synthase alpha chain ( 507) 2814 585 1.7e-166
sw||ATPA_MAIZE (P05022) ATP synthase alpha chain ( 507) 2776 577 3.8e-164
sw||ATPA_ORYSA (P12084) ATP synthase alpha chain ( 507) 2770 576 8.9e-164
.
.
.

>>sw||ATPA_TOBAC (P00823) ATP synthase alpha chain (EC 3  (507 aa)
 initn: 3142 init1: 3142 opt: 3142  Z-score: 3474.0  bits: 652.4 E(): 1.1e-186
Smith-Waterman score: 3142;  100.000% identity (100.000% ungapped) in 507 aa overlap (1-507:1-507)

               10        20        30        40        50        60
QUERY  MVTIRADEISNIIRERIEQYNREVKIVNTGTVLQVGDGIARIHGLDEVMAGELVEFEEGT
       ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
sw||AT MVTIRADEISNIIRERIEQYNREVKIVNTGTVLQVGDGIARIHGLDEVMAGELVEFEEGT
               10        20        30        40        50        60

               70        80        90       100       110       120
QUERY  IGIALNLESNNVGVVLMGDGLLIQEGSSVKATGRIAQIPVSEAYLGRVINALAKPIDGRG
       ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
sw||AT IGIALNLESNNVGVVLMGDGLLIQEGSSVKATGRIAQIPVSEAYLGRVINALAKPIDGRG
               70        80        90       100       110       120

              130       140       150       160       170       180
QUERY  EISASEFRLIESAAPGIISRRSVYEPLQTGLIAIDSMIPIGRGQRELIIGDRQTGKTAVA
       ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
sw||AT EISASEFRLIESAAPGIISRRSVYEPLQTGLIAIDSMIPIGRGQRELIIGDRQTGKTAVA
              130       140       150       160       170       180

              190       200       210       220       230       240
QUERY  TDTILNQQGQNVICVYVAIGQKASSVAQVVTTLQERGAMEYTIVVAETADSPATLQYLAP
       ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
sw||AT TDTILNQQGQNVICVYVAIGQKASSVAQVVTTLQERGAMEYTIVVAETADSPATLQYLAP
              190       200       210       220       230       240

              250       260       270       280       290       300
QUERY  YTGAALAEYFMYRERHTLIIYDDPSKQAQAYRQMSLLLRRPPGREAYLGDVFYLHSRLLE
       ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
sw||AT YTGAALAEYFMYRERHTLIIYDDPSKQAQAYRQMSLLLRRPPGREAYLGDVFYLHSRLLE
              250       260       270       280       290       300

              310       320       330       340       350       360
QUERY  RAAKLSSSLGEGSMTALPIVETQSGDVSAYIPTNVISITDGQIFLSADLFNSGIRPAINV
       ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
sw||AT RAAKLSSSLGEGSMTALPIVETQSGDVSAYIPTNVISITDGQIFLSADLFNSGIRPAINV
              310       320       330       340       350       360

              370       380       390       400       410       420
QUERY  GISVSRVGSAAQIKAMKQVAGKLKLELAQFAELEAFAQFASDLDKATQNQLARGQRLREL
       ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
sw||AT GISVSRVGSAAQIKAMKQVAGKLKLELAQFAELEAFAQFASDLDKATQNQLARGQRLREL
              370       380       390       400       410       420

              430       440       450       460       470       480
QUERY  LKQSQSAPLTVEEQIMTIYTGTNGYLDSLEVGQVRKFLVELRTYLKTNKPQFQEIISSTK
       ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
sw||AT LKQSQSAPLTVEEQIMTIYTGTNGYLDSLEVGQVRKFLVELRTYLKTNKPQFQEIISSTK
              430       440       450       460       470       480

              490       500
QUERY  TFTEEAEALLKEAIQEQMDRFILQEQA
       :::::::::::::::::::::::::::
sw||AT TFTEEAEALLKEAIQEQMDRFILQEQA
              490       500       

>>sw||ATPA_SPIOL (P06450) ATP synthase alpha chain (EC 3  (507 aa)
 initn: 2993 init1: 2993 opt: 2995  Z-score: 3311.5  bits: 622.3 E(): 1.2e-177
Smith-Waterman score: 2995;  94.477% identity (94.477% ungapped) in 507 aa overlap (1-507:1-507)

               10        20        30        40        50        60
QUERY  MVTIRADEISNIIRERIEQYNREVKIVNTGTVLQVGDGIARIHGLDEVMAGELVEFEEGT
       :.::::::::.::::::: ::::::.::::::::::::::::::::::::::::::::::
sw||AT MATIRADEISKIIRERIEGYNREVKVVNTGTVLQVGDGIARIHGLDEVMAGELVEFEEGT
               10        20        30        40        50        60

               70        80        90       100       110       120
QUERY  IGIALNLESNNVGVVLMGDGLLIQEGSSVKATGRIAQIPVSEAYLGRVINALAKPIDGRG
       :::::::::::::::::::::.::::::::::::::::::::::::::::::::::::::
sw||AT IGIALNLESNNVGVVLMGDGLMIQEGSSVKATGRIAQIPVSEAYLGRVINALAKPIDGRG
               70        80        90       100       110       120

              130       140       150       160       170       180
QUERY  EISASEFRLIESAAPGIISRRSVYEPLQTGLIAIDSMIPIGRGQRELIIGDRQTGKTAVA
       ::.::: ::::: ::::.:::::::::::::::::.:::.::::::::::::::::::::
sw||AT EITASESRLIESPAPGIMSRRSVYEPLQTGLIAIDAMIPVGRGQRELIIGDRQTGKTAVA
              130       140       150       160       170       180

              190       200       210       220       230       240
QUERY  TDTILNQQGQNVICVYVAIGQKASSVAQVVTTLQERGAMEYTIVVAETADSPATLQYLAP
       :::::::::::::::::::::::::::::::..:::::::::::::::::::::::::::
sw||AT TDTILNQQGQNVICVYVAIGQKASSVAQVVTNFQERGAMEYTIVVAETADSPATLQYLAP
              190       200       210       220       230       240

              250       260       270       280       290       300
QUERY  YTGAALAEYFMYRERHTLIIYDDPSKQAQAYRQMSLLLRRPPGREAYLGDVFYLHSRLLE
       ::::::::::::::::::::::: ::::::::::::::::::::::: ::::::::::::
sw||AT YTGAALAEYFMYRERHTLIIYDDLSKQAQAYRQMSLLLRRPPGREAYPGDVFYLHSRLLE
              250       260       270       280       290       300

              310       320       330       340       350       360
QUERY  RAAKLSSSLGEGSMTALPIVETQSGDVSAYIPTNVISITDGQIFLSADLFNSGIRPAINV
       ::::::: :::::::::::::::.:::::::::::::::::::::::::::.::::::::
sw||AT RAAKLSSLLGEGSMTALPIVETQAGDVSAYIPTNVISITDGQIFLSADLFNAGIRPAINV
              310       320       330       340       350       360

              370       380       390       400       410       420
QUERY  GISVSRVGSAAQIKAMKQVAGKLKLELAQFAELEAFAQFASDLDKATQNQLARGQRLREL
       :::::::::::::::::.::::::::::::::::::::::::::::::::::::::::::
sw||AT GISVSRVGSAAQIKAMKKVAGKLKLELAQFAELEAFAQFASDLDKATQNQLARGQRLREL
              370       380       390       400       410       420

              430       440       450       460       470       480
QUERY  LKQSQSAPLTVEEQIMTIYTGTNGYLDSLEVGQVRKFLVELRTYLKTNKPQFQEIISSTK
       ::: ::::::::::.:::::::::::::::. ::::.:::::::.:::::.:::::::::
sw||AT LKQPQSAPLTVEEQVMTIYTGTNGYLDSLELDQVRKYLVELRTYVKTNKPEFQEIISSTK
              430       440       450       460       470       480

              490       500
QUERY  TFTEEAEALLKEAIQEQMDRFILQEQA
       ::::::::::::::::::.::.:::::
sw||AT TFTEEAEALLKEAIQEQMERFLLQEQA
              490       500       

	III.2.3.4 BLAST

Le principe de BLAST développé par Altschul et al., 1997 est schématisé dans la figure suivante:

Figure 20 Schéma de principe de BLAST


Figure 21 Schéma de principe de PSI-BLAST

Exemple de fichier résultat BLAST (seuls les 2 premiers et les 2 derniers alignements sont montrés)

BLASTP 2.2.1 [Apr-13-2001]
Reference: Altschul, Stephen F., Thomas L. Madden, Alejandro A. Schaffer,
Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997),
"Gapped BLAST and PSI-BLAST: a new generation of protein database search
programs",  Nucleic Acids Res. 25:3389-3402.
Query= QUERY
         (447 letters)
Database: /db/Swissprot/spall.seq
           105,967 sequences; 38,968,468 total letters
Searching..................................................done
                                                                   Score     E
Sequences producing significant alignments:                        (bits)  Value
sw||CRD2_ANAPL (P24058) Delta crystallin II (Argininosuccinate l...   838  0.0
sw||CRD1_ANSAN (P33110) Delta crystallin (Argininosuccinate lyas...   800  0.0
sw||CRD1_ANAPL (P24057) Delta crystallin I.                           797  0.0
sw||CRD2_CHICK (P05083) Delta crystallin II (Argininosuccinate l...   779  0.0
sw||CRD1_COLLI (Q01592) Delta crystallin (Argininosuccinate lyas...   760  0.0
sw||CRD1_CHICK (P02521) Delta crystallin I.                           733  0.0
sw||ARLY_RANCA (P51464) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   659  0.0
sw||ARLY_HUMAN (P04424) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   627  e-180
sw||ARLY_RAT (P20673) Argininosuccinate lyase (EC 4.3.2.1) (Argi...   619  e-177
sw||ARLZ_SCHPO (P50514) Probable argininosuccinate lyase (EC 4.3...   523  e-148
sw||ARLY_SCHPO (P40369) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   514  e-146
sw||ARLY_CANAL (P43061) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   485  e-137
sw||ARLY_CHLRE (P22675) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   479  e-135
sw||ARLY_YEAST (P04076) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   477  e-134
sw||ARLY_SACDO (P41906) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   470  e-132
sw||ARLY_LACLA (Q9CJ76) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   382  e-106
sw||ARLY_BACHD (Q9K821) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   377  e-104
sw||ARLY_AQUAE (O67383) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   368  e-101
sw||ARLY_CAMJE (Q46104) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   363  e-100
sw||ARLY_ZYMMO (Q9Z660) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   361  2e-99
sw||ARLY_BACSU (O34858) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   360  2e-99
sw||ARLY_SYNY3 (P73257) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   358  1e-98
sw||ARLY_ECOLI (P11447) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   350  2e-96
sw||ARLY_PSEAE (P50987) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   345  1e-94
sw||ARLY_MYCTU (P94994) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   336  4e-92
sw||ARLY_STRCL (P50988) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   335  7e-92
sw||ARLY_HAEIN (P44314) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   334  2e-91
sw||ARLY_PASMU (P57909) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   333  5e-91
sw||ARLY_BUCAI (P57159) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   330  3e-90
sw||ARLY_METJA (Q58201) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   277  3e-74
sw||ARLY_METTH (O26369) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   271  2e-72
sw||ARLY_METMP (O74026) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   263  3e-70
sw||ARLY_ARCFU (O29379) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   246  7e-65
sw||ARLY_CORGL (O88101) Argininosuccinate lyase (EC 4.3.2.1) (Ar...   241  2e-63
sw||PUR8_METJA (Q58339) Adenylosuccinate lyase (EC 4.3.2.2) (Ade...    88  3e-17
sw||PUR8_PYRAB (Q9UZ99) Adenylosuccinate lyase (EC 4.3.2.2) (Ade...    86  2e-16
sw||PUR8_ARCFU (O28041) Adenylosuccinate lyase (EC 4.3.2.2) (Ade...    83  8e-16
sw||PUR8_PYRHO (O58582) Adenylosuccinate lyase (EC 4.3.2.2) (Ade...    80  7e-15
sw||PCAB_PSEPU (P32427) 3-carboxy-cis,cis-muconate cycloisomeras...    74  7e-13
sw||PCAB_ACICA (Q59092) 3-carboxy-cis,cis-muconate cycloisomeras...    73  1e-12
sw||PUR8_METTH (O27580) Adenylosuccinate lyase (EC 4.3.2.2) (Ade...    67  8e-11
sw||PUR8_SYNY3 (P74384) Adenylosuccinate lyase (EC 4.3.2.2) (Ade...    66  1e-10
sw||PUR8_HELPY (P56468) Adenylosuccinate lyase (EC 4.3.2.2) (Ade...    65  2e-10
sw||ASPA_BACSU (P26899) Aspartate ammonia-lyase (EC 4.3.1.1) (As...    64  5e-10
sw||PUR8_DEIRA (Q9RSE6) Adenylosuccinate lyase (EC 4.3.2.2) (Ade...    63  1e-09
sw||PUR8_HELPJ (Q9ZKA2) Adenylosuccinate lyase (EC 4.3.2.2) (Ade...    60  8e-09
sw||PUR8_BACSU (P12047) Adenylosuccinate lyase (EC 4.3.2.2) (Ade...    60  8e-09
sw||PUR8_AQUAE (O66856) Adenylosuccinate lyase (EC 4.3.2.2) (Ade...    57  6e-08
sw||FUMC_SULSO (P39461) Fumarate hydratase class II (EC 4.2.1.2)...    57  6e-08
sw||PUR8_THEMA (Q9X0I0) Adenylosuccinate lyase (EC 4.3.2.2) (Ade...    56  1e-07
sw||ASPA_HELPY (P56149) Aspartate ammonia-lyase (EC 4.3.1.1) (As...    55  2e-07
sw||ASPA_HELPJ (Q9ZLI5) Aspartate ammonia-lyase (EC 4.3.1.1) (As...    55  2e-07
sw||FUMH_BACSU (P07343) Fumarate hydratase, class-II (EC 4.2.1.2...    52  2e-06
sw||ASPA_CORGL (Q59200) Aspartate ammonia-lyase (EC 4.3.1.1) (As...    52  2e-06
sw||FUMC_ECOLI (P05042) Fumarate hydratase class II (EC 4.2.1.2)...    51  3e-06
sw||FUMH_YEAST (P08417) Fumarate hydratase, mitochondrial precur...    50  8e-06
sw||FUMC_HAEIN (P71384) Fumarate hydratase class II (EC 4.2.1.2)...    50  8e-06
sw||FUMC_HELPY (O25883) Fumarate hydratase class II (EC 4.2.1.2)...    50  1e-05
sw||FUMC_HELPJ (Q9ZJQ9) Fumarate hydratase class II (EC 4.2.1.2)...    49  1e-05
sw||ASPA_PSEFL (P07346) Aspartate ammonia-lyase (EC 4.3.1.1) (As...    49  1e-05
sw||ASPA_ECOLI (P04422) Aspartate ammonia-lyase (EC 4.3.1.1) (As...    49  1e-05
sw||FUMC_BRAJA (P28894) Fumarate hydratase C (EC 4.2.1.2) (Fumar...    48  3e-05
sw||ASPA_HAEIN (P44324) Aspartate ammonia-lyase (EC 4.3.1.1) (As...    48  3e-05
sw||FMC1_PSEAE (Q51404) Fumarate hydratase C 1 (EC 4.2.1.2) (Fum...    45  3e-04
sw||ASPA_SERMA (P33109) Aspartate ammonia-lyase (EC 4.3.1.1) (As...    45  3e-04
sw||PCAB_BRAJA (O31385) 3-carboxy-cis,cis-muconate cycloisomeras...    42  0.003
sw||FUMH_RHIOR (P55250) Fumarate hydratase, mitochondrial precur...    40  0.006
sw||FUMH_RAT (P14408) Fumarate hydratase, mitochondrial precurso...    40  0.008
sw||FUMC_CAMJE (O69294) Fumarate hydratase class II (EC 4.2.1.2)...    39  0.023
sw||FUMH_HUMAN (P07954) Fumarate hydratase, mitochondrial precur...    38  0.040
sw||FUMH_PIG (P10173) Fumarate hydratase, mitochondrial (EC 4.2....    36  0.12
sw||FLDA_PSEAE (O33421) A-type flagellar hook-associated protein...    36  0.15
sw||YIT0_YEAST (P40568) Hypothetical 65.7 kDa protein in PRI1-DB...    34  0.58
sw||PUR8_BUCAI (P57351) Adenylosuccinate lyase (EC 4.3.2.2) (Ade...    33  1.3
sw||P32_MYCGE (Q49417) P32 adhesin (Cytadhesin P32).                   33  1.3
sw||G3PB_PEA (P12859) Glyceraldehyde 3-phosphate dehydrogenase B...    32  2.9
sw||XYLJ_PSEPU (P23107) 2-hydroxypent-2,4-dienoate hydratase (EC...    31  3.7
sw||RYR2_RABIT (P30957) Ryanodine receptor 2 (Cardiac muscle-typ...    31  3.7
sw||RYR2_HUMAN (Q92736) Ryanodine receptor 2 (Cardiac muscle-typ...    31  3.7
sw||MYSB_DICDI (P34092) Myosin IB heavy chain.                         31  3.7
sw||YEF3_YEAST (P32618) Hypothetical 106.1 kDa protein in GLY1-G...    31  4.9
sw||RECN_STRCO (Q9S220) DNA repair protein recN (Recombination p...    31  4.9
sw||A60D_DROME (P91927) Calcium-binding mitochondrial protein An...    31  4.9
sw||RRF_RICPR (Q9ZE08) Ribosome recycling factor (Ribosome relea...    30  6.4
sw||AROE_BUCAI (Q44607) Shikimate 5-dehydrogenase (EC 1.1.1.25).       30  6.4
sw||YCB9_YEAST (P25384) Transposon Ty2 protein B (Ty1-17 protein...    30  8.3
sw||PHYA_POPTM (O49934) Phytochrome A.                                 30  8.3
sw||G3PB_TOBAC (P09044) Glyceraldehyde 3-phosphate dehydrogenase...    30  8.3
>sw||CRD2_ANAPL (P24058) Delta crystallin II (Argininosuccinate
           lyase (EC 4
          Length = 468
 Score =  838 bits (2164), Expect = 0.0
 Identities = 444/447 (99%), Positives = 445/447 (99%)
Query: 1   TDPIMEKLNSSIAYDQRLSEVDIQGSMAYAKALEKAGILTKTELEKILSGLEKISEEWSK 60
           TDPIMEKLNSSIAYDQRLSEVDIQGSMAYAKALEKAGILTKTELEKILSGLEKISEEWSK
Sbjct: 19  TDPIMEKLNSSIAYDQRLSEVDIQGSMAYAKALEKAGILTKTELEKILSGLEKISEEWSK 78
Query: 61  GVFVVKQSDEDINTANERRLKELIGDIAGKLHTGRSRNDQVVTDLKLFMKNSLSIISTHL 120
           GVFVVKQSDEDI+TANERRLKELIGDIAGKLHTGRSRNDQVVTDLKLFMKNSLSIISTHL
Sbjct: 79  GVFVVKQSDEDIHTANERRLKELIGDIAGKLHTGRSRNDQVVTDLKLFMKNSLSIISTHL 138
Query: 121 LQLIKTLVERAAIEIDVILPGYTHLQKAQPIRWSQFLLSHAVALTRDSERLGEVKKRINV 180
           LQLIKTLVERAAIEIDVILPGYTHLQKAQPIRWSQFLLSHAVALTRDSERLGEVKKRINV
Sbjct: 139 LQLIKTLVERAAIEIDVILPGYTHLQKAQPIRWSQFLLSHAVALTRDSERLGEVKKRINV 198
Query: 181 LPLGSGALAGNPLDIDREMLRSELEFASISLNSMDAISERDFVVEFLSFATLLMIHLSKM 240
           LPLGSGALAGNPLDIDREMLRSELEFASISLNSMDAISERDFVVEFLSFATLLMIHLSKM
Sbjct: 199 LPLGSGALAGNPLDIDREMLRSELEFASISLNSMDAISERDFVVEFLSFATLLMIHLSKM 258
Query: 241 AEDLIIYSTSEFGFLTDSDAFSTGSSLMPQKKNPDSLELIRSKAGRVFGRLASILMVLKG 300
           AEDLIIYSTSEFGFLT SDAFSTGSSLMPQKKNPDSLELIRSKAGRVFGRLASILMVLKG
Sbjct: 259 AEDLIIYSTSEFGFLTLSDAFSTGSSLMPQKKNPDSLELIRSKAGRVFGRLASILMVLKG 318
Query: 301 LPSTYNKDLQEDKEAVFDVVDTLTAVLQVATGVISTLQISKENMEKALTPEMLATDLALY 360
           LPSTYNKDLQEDKEAVFDVVDTLTAVLQVATGVISTLQISKENMEKALTPEMLATDLALY
Sbjct: 319 LPSTYNKDLQEDKEAVFDVVDTLTAVLQVATGVISTLQISKENMEKALTPEMLATDLALY 378
Query: 361 LVRKGVPFRQAHTASGKAVHLAETKGITINKLSLEDLKSISPQFSSDVSQVFNFVNSVEQ 420
           LVRKGVPFRQAHTASGKAVHLAETKGITINKLSLEDLKSISPQFSSDVSQVFNFVNSVEQ
Sbjct: 379 LVRKGVPFRQAHTASGKAVHLAETKGITINKLSLEDLKSISPQFSSDVSQVFNFVNSVEQ 438
Query: 421 YTALGGTAKSSVTTQIEQLRELMKKQK 447
           YTAL GTAKSSVTTQIEQLRELMKKQK
Sbjct: 439 YTALAGTAKSSVTTQIEQLRELMKKQK 465
>sw||CRD1_ANSAN (P33110) Delta crystallin (Argininosuccinate lyase
           (EC 4.3.
          Length = 466
 Score =  800 bits (2065), Expect = 0.0
 Identities = 421/447 (94%), Positives = 438/447 (97%)
Query: 1   TDPIMEKLNSSIAYDQRLSEVDIQGSMAYAKALEKAGILTKTELEKILSGLEKISEEWSK 60
           TDPIM+ L++S++ +QRLSEVDIQ S+AYAKALEKAGILTKTELEKILSGLEKISEEWSK
Sbjct: 17  TDPIMQMLSTSMSTEQRLSEVDIQASIAYAKALEKAGILTKTELEKILSGLEKISEEWSK 76
Query: 61  GVFVVKQSDEDINTANERRLKELIGDIAGKLHTGRSRNDQVVTDLKLFMKNSLSIISTHL 120
           GVFVV QSDEDI+TANERRLKELIGDIAGKL+TGRSRN+QVVTDLKLFMKNSLS+ISTHL
Sbjct: 77  GVFVVTQSDEDIHTANERRLKELIGDIAGKLNTGRSRNEQVVTDLKLFMKNSLSVISTHL 136
Query: 121 LQLIKTLVERAAIEIDVILPGYTHLQKAQPIRWSQFLLSHAVALTRDSERLGEVKKRINV 180
           LQLIKTLVERAAIEIDVILPGYTHLQKAQPIRWSQFLLSHAVALTRDSERLGEVK+RINV
Sbjct: 137 LQLIKTLVERAAIEIDVILPGYTHLQKAQPIRWSQFLLSHAVALTRDSERLGEVKRRINV 196
Query: 181 LPLGSGALAGNPLDIDREMLRSELEFASISLNSMDAISERDFVVEFLSFATLLMIHLSKM 240
           LPLGSGALAGNPLDIDREMLRSEL+FASISLNSMDAISERDFVVEFLS ATLLMIHLSKM
Sbjct: 197 LPLGSGALAGNPLDIDREMLRSELDFASISLNSMDAISERDFVVEFLSVATLLMIHLSKM 256
Query: 241 AEDLIIYSTSEFGFLTDSDAFSTGSSLMPQKKNPDSLELIRSKAGRVFGRLASILMVLKG 300
           AEDLIIYSTSEFGFLT SDAFSTGSSLMPQKKNPDSLELIRSKAGRVFGRLASILMVLKG
Sbjct: 257 AEDLIIYSTSEFGFLTLSDAFSTGSSLMPQKKNPDSLELIRSKAGRVFGRLASILMVLKG 316
Query: 301 LPSTYNKDLQEDKEAVFDVVDTLTAVLQVATGVISTLQISKENMEKALTPEMLATDLALY 360
           LPSTYNKDLQEDKEAVFDVVDTLTAVLQVATGVISTLQISKENMEKALTPEML+TDLALY
Sbjct: 317 LPSTYNKDLQEDKEAVFDVVDTLTAVLQVATGVISTLQISKENMEKALTPEMLSTDLALY 376
Query: 361 LVRKGVPFRQAHTASGKAVHLAETKGITINKLSLEDLKSISPQFSSDVSQVFNFVNSVEQ 420
           LVRKG+PFRQAHTASGKAVHLAETKGITIN L+LEDLKSISP FSSDVSQVFNFVNSVEQ
Sbjct: 377 LVRKGMPFRQAHTASGKAVHLAETKGITINNLTLEDLKSISPLFSSDVSQVFNFVNSVEQ 436
Query: 421 YTALGGTAKSSVTTQIEQLRELMKKQK 447
           YTA+GGTAKSSVTTQIE LRELMKKQK
Sbjct: 437 YTAMGGTAKSSVTTQIEHLRELMKKQK 463
.../...
>sw||PHYA_POPTM (O49934) Phytochrome A.
          Length = 1125
 Score = 30.0 bits (66), Expect = 8.3
 Identities = 65/302 (21%), Positives = 127/302 (41%), Gaps = 55/302 (18%)
Query: 102 VTDLKLFMKNSLSIISTHLLQLIKTL-VERAAIEIDVILPGY-THLQKAQPIRWSQFLLS 159
           ++DLK+     L  +++ +++LI+T  V   A+++D ++ G+ T + +   +   + +
Sbjct: 603 LSDLKIEGMQELEAVTSEMVRLIETATVPILAVDVDGLVNGWNTKISELTGLLVDKAIGK 662
Query: 160 HAVALTRDSERLGEVKKRINVLPLGSGALAGNPLDIDREMLRSELEFASISLNSMDAISE 219
           H + L  DS    ++ KR+  L L          +I     +SE     + +N   A +
Sbjct: 663 HLLTLVEDSSV--DIVKRMLFLALQGKEEQNIQFEIKTHGSKSECGPICLVVN---ACAS 717
Query: 220 RD---------FVVEFLSFATLLMIHLSKMAED----------LI--IYSTSEFGFLTDS 258
           RD         FV + ++   ++M   +++  D          LI  I+ T EFG+ ++
Sbjct: 718 RDLHENVVGVCFVGQDITGQKMVMDKFTRIEGDYKAIVQNRNPLIPPIFGTDEFGWCSEW 777
Query: 259 DAFSTGSSLMPQKKNPDSLELIRSKAGRVFGRLASILMVLKGLPSTYNKDL--------Q 310
           +   T  +   +++  D + L     G VFG L      LK   +  N  +        Q
Sbjct: 778 NPAMTNLTGWKREEVLDKMLL-----GEVFG-LNMACCRLKNQEAFVNLGVVLNTAMTGQ 831
Query: 311 EDKEAVFDV-------VDTLTAVLQ------VATGVISTLQISKENMEKALTPEMLATDL 357
           E ++  F         V+ L  V +        TGV   LQ++ + +++AL  + L+
Sbjct: 832 ESEKVSFGFFARTGKYVECLLCVSKKLDREGAVTGVFCFLQLASQELQQALHVQRLSEQT 891
Query: 358 AL 359
           AL
Sbjct: 892 AL 893
>sw||G3PB_TOBAC (P09044) Glyceraldehyde 3-phosphate dehydrogenase B,
           chloro
          Length = 438
 Score = 30.0 bits (66), Expect = 8.3
 Identities = 27/110 (24%), Positives = 50/110 (44%), Gaps = 7/110 (6%)
Query: 306 NKDLQEDKEAVFDVVDTLTAVLQVATGVISTLQISKENME-KALTPEMLATDLALYLVRK 364
           ++DL+  + A  ++V T T   +  + V+  L+     +  +  TP +   DL + + +K
Sbjct: 248 HRDLRRARAAALNIVPTSTGAAKAVSLVLPQLKGKLNGIALRVPTPNVSVVDLVVNVAKK 307
Query: 365 GVPFRQAHTASGKAVHLAETKGITINKLSLEDLKSISPQF-SSDVSQVFN 413
           G+     + A  KA      KG+    L++ D   +S  F  SDVS   +
Sbjct: 308 GITAEDVNAAFRKAAD-GPLKGV----LAVCDEPLVSVDFRCSDVSSTID 352
  Database: /db/Swissprot/spall.seq
    Posted date:  Mar 12, 2002  7:02 PM
  Number of letters in database: 38,968,468
  Number of sequences in database:  105,967
Lambda     K      H
   0.315    0.132    0.347
Gapped
Lambda     K      H
   0.267   0.0410    0.140
Matrix: BLOSUM62
Gap Penalties: Existence: 11, Extension: 1
Number of Hits to DB: 29,349,566
Number of Sequences: 105967
Number of extensions: 1139810
Number of successful extensions: 3972
Number of sequences better than 10.0: 88
Number of HSP's better than 10.0 without gapping: 55
Number of HSP's successfully gapped in prelim test: 33
Number of HSP's that attempted gapping in prelim test: 3838
Number of HSP's gapped (non-prelim): 94
length of query: 447
length of database: 38,968,468
effective HSP length: 111
effective length of query: 336
effective length of database: 27,206,131
effective search space: 9141260016
effective search space used: 9141260016
T: 11
A: 40
X1: 16 ( 7.3 bits)
X2: 38 (14.6 bits)
X3: 64 (24.7 bits)
S1: 41 (21.6 bits)
S2: 66 (30.0 bits)

    III.2.3.5 Les différents programmes

        Programmes FASTA (Fast Alignment) http://npsa-pbil.ibcp.fr

  • FASTA : Séquence ADN/Banque ADN

  • FASTA : Séquence protéique/Banque protéique

  • TFASTA : Séquence protéique/Banque ADN (6 phases)

  • FASTX : Séquence ADN (6 phases)/Banque protéique

  • TFASTX : Séquence ADN (6 phases) /Banque ADN (6 phases)

        Programmes BLAST (Basic Local Alignment Search Tool) http://npsa-pbil.ibcp.fr

  • BLASTN : Séquence ADN/Banque ADN

  • BLASTX : Séquence ADN (6 phases)/Banque protéique

  • BLASTP : Séquence protéique/Banque protéique

  • TBLASTN : Séquence protéique/Banque ADN (6 phases)

  • TBLASTX : Séquence ADN (6 phases)/Banque ADN (6 phases)

III.2.3.6 Sensibilité-spécificité

    Dans tous ces programmes, il faut prendre en compte la sensibilité et la spécificité de la méthode qui doit assurer le meilleur compromis entre les 2 paramètres.

La sensibilité Sn est la capacité à détecter des homologues (TP) très lointains ayant des scores faibles. Plus la sensibilité est grande plus le nombre de faux négatifs (FN) diminue.

Sn = TP/(TP+FN)

La spécificité Sp est la capacité de ne pas détecter de faux homologues (FP) ayant des scores élevés.

Sp= TP/(TP+FP)

II.2.4. ALIGNEMENTS de séquences

    L‘alignement de séquences est une méthode largement utilisée pour étudier les régions conservées qui peuvent avoir un rôle structural et/ou fonctionnel important. De plus, l’alignement est à la base de toute phylogénie (reconstruction de l’histoire évolutive des espèces). Enfin les techniques d’alignement peuvent être utiles pour définir la plus grande sous-région commune entre 2 séquences, ou bien la plus grande zone chevauchante (raboutement de contigs dans le séquençage). En général, le biologiste souhaite aligner de manière exacte un nombre de séquences important (plusieurs centaines). Malheureusement, il n’existe toujours pas d’algorithme exact pour résoudre le problème de l’ alignement multiple de séquences.

    III.2.4.1 Le problème

Soient 2 séquences à comparer: mot1 de longueur n1=9; mot2 de longueur n2=8 (n1>n2)
mot1 A G V S I L N Y A Identité = 0 longueur = 9 %id=0
mot2 V S I L Y A K R

Un tel alignement ne présente ni identité ni pertinence biologique. Pourtant les 2 séquences ont une relation de parenté.

Il est trivial de trouver le meilleur alignement par glissement :

Exemple:

Alignement optimum par glissement g1=2
A G V S I L N Y A 

* * * *
V S I L Y A K R

Identités = 4 longueur = 10 %id=40

Ou encore:

Alignement optimum par glissement g2=4
A G V S I L N Y A

* *
V S I L Y A K R

Identités = 2 longueur = 11 %id=18

Cependant, l’évolution a fait qu’il est possible d’observer des insertions et des délétions (indel) dans les protéines. En conséquence, un meilleur alignement serait:

Alignement optimum avec insertion

A G V S I L N Y A
    * * * *   * *
           V S I L – Y A K R  

Identités = 6 longueur = 11 %id=55 
Score d’identité : identité=+1
Pénalité d’insertion : gap -1 =>Score 5

Trouver l’alignement optimal est un problème difficile. En effet, il y a 10 75  façons d ’aligner 2 séquences de 100 acides aminés et environ 10 600  pour 2 séquences de 1000 acides aminés. De plus, ce simple exemple montre la nécessité de quantifier la qualité d’un alignement. Le pourcentage d’identité peut être utilisé (nombre d’identité/ longueur de l’alignement). Cependant, le nombre de gap (ainsi que leur longueur) doit aussi intervenir dans le calcul de la qualité de l’alignement. La difficulté est de donner le bon poids aux insertions. Pour cela, on peut se baser sur la connaissance des protéines. Celles-ci peuvent subir au cours de l’évolution des évènements évolutifs (insertion d’une boucle de longueur variable) successifs. La notion d’évènement évolutif est fondamentale dans l’expression d’un score de pénalisation pour la création d’insertion-délétion dans les séquences. Dans l’exemple de la figure suivante, la création d’une insertion longue doit être moins pénalisante que plusieurs insertions courtes.

3 évènements évolutifs 5 évènements évolutifs

   Figure 22 Insertions et évolution

       III.2.4.2 Les systèmes de pénalité

Le premier système est la pénalité fixe (définie par l’utilisateur) par insertion. Nous venons de voir que ce système n’est pas pertinent pour les biologistes.

Un autre système (pénalité variable) utilise une fonction affine:

P = x + yL

  • Où x est la pénalité de création (ouverture d’insertion-délétion)

  • y pénalité de prolongation d’insertion-délétion

  • L Longueur de l’insertion

Enfin, d’autre systèmes ont été proposés (pénalité en fonction de la structure secondaire, insertions-délétions favorisées dans les régions hydrophiles, etc…)

        III.2.4.3 La programmation dynamique

La solution élégante apportée au problème de l’alignement optimal de 2 séquences a été proposée par Needleman et Wunsch (1970) grâce à la programmation dynamique. Le principe général de l’algorithme consiste à remplir pas à pas une table (matrice de score) en supposant pour chaque case 3 façons de l’obtenir qui correspondent aux 3 opérations substitution, insertion, délétion. La table se remplit de gauche à droite et de haut en bas comme on lit classiquement dans un livre ligne par ligne.

S(i, j)= max [S(i-1, j-1) + s (a i , b j );
S(i-1, j) + s (-,b i );
p;              S(i, j-1) + s (a i ,-)]

Tableau des scores pour 2 séquences de longueur M et L Calcul du score de la case rouge  S( i , j )
   

Séq A

    1 2 .. i .. M
Séq B 1
2
.
.
j

    

.
.
L

  Figure 23 Technique de remplissage

Cas d’une insertion

Cas d’un prolongement de gap

  Figure 24 Choix du score final de la case i,j

Le score retenu pour chaque case est celui qui maximise les identités ou qui minimise les différences. Il existe 3 phases dans l’alignement:

  1. Choix des paramètres (exemple cas de pénalité fixe identité :2, substitution=-1, insertion-délétion=-1)

  2. Remplissage de la matrice des scores et des chemins qui conduisent à ces scores

  3. Déduction de l’alignement en retour (backtracking)

MP-RCLCQRIN-CYA
| || | | | | |
-PYRCKC-R-NICIA

MP-RCLCQR-INCYA
| || | | | | |
-PYRCKC-RNI-CIA

  Figure 25 Génération de l’alignement

Si la programmation dynamique garantit de ne pas avoir de meilleur alignement (avec les paramètres utilisés), elle peut aboutir à plusieurs résultats parfaitement équivalents (Figure 25). Dans ce cas, la solution à retenir peut venir de l’alignement avec une 3 e séquence. La difficulté est que le programme ne retourne en général qu’une solution et qu’il n’indique pas obligatoirement le fait que plusieurs alignements sont équivalents. Il existe plusieurs variantes concernant cet algorithme. Celle de Smith et Waterman consiste à initialiser la première ligne et la première colonne avec des 0 et tous les chemins qui mènent à une case donnée sont évalués. Ces chemins peuvent avoir n’importe quelle longueur et comporter des gaps. Dans ce cas, l’algorithme est utile pour générer des alignements locaux optimaux et sub-optimaux.

tableaux : S1[N], S2[M], Matrice[N][M]

S1 <– séquence 1 /* N caractères */
S2 <– séquence 2 /* M caractères */
PENALITE=-1 /* PENALITE pour indel*/
Matrice[i][0] <– – (i x -GAP) /* init matrice */
Matrice[0][j] <– – (j x -GAP)
SUBS[S1[i],S2[j]]=+2 si S1[i]=S2[j]
SUBS[S1[i],S2[j]]=-1 S1[i]<>S2[j]

pour j=1 jqa M faire
{
pour i=1 jqa N faire
{
p;              |Matrice[i][j-1] + PENALITE
Matrice[i][j] <– MAX | Matrice[i-1][j-1] + SUBS[S1[i]],[S2[j]]
p;              |Matrice[i-1][j] + PENALITE
}
}
L’alignement exact demande une capacité mémoire en O(LM).

    III.2.4.4 L’alignement multiple

    L’alignement exact d’un nombre de séquence supérieur à 4 n’est pas résolu. En effet, pour 3 séquences de 1000, il faut 1000 3 soit 1 Go de mémoire. Pour 4 séquences, c’est 1000 Go qu’il faudra! Le biologiste ayant souvent plusieurs centaines de séquences à aligner, il est hors de question d’utiliser une méthode exacte. La solution consiste en général à décomposer le problème de l’alignement de n séquences en n.(n-1)/2 alignements de 2 séquences. Ensuite, les alignements sont aggrégés entre eux de manière progressive grâce à un regroupement hiérarchique ascendant. Il existe donc 2 étapes chronologiques:

Génération de tous les alignements par paires (alignements binaires).

Création d’un dendogramme (arbre de scores) plus la distance sur l’arbre est faible plus les séquences sont proches. Ainsi le premier alignement qui servira d’ancrage sera celui de la paire BD puis il sera agrégé avec celui de la paire AC, etc…

 

Alignements des alignements en suivant l’ordre des paires les plus proches.

Alignements des paires les plus proches  Agrégation des alignements

L’inconvénient de ce type d’alignement progressif est qu’il utilise un algorithme glouton qui ne revient jamais en arrière. Cet algorithme ne réévalue pas les alignements déjà effectués, il génère simplement de nouvelles insertions et délétions. Cet inconvénient (qui présente l’avantage d’un temps de calcul raisonnable) fait que ces alignements multiples fonctionnent bien si la famille de protéines est relativement homogènes, si pas d’inversion ou de répétition n’est présente dans les séquences. De nouvelles méthodes sont développées qui vérifient que les alignements des paires ne sont pas trop modifiés dans l’alignement final.

Exemple d’alignement multiple généré sur le serveur [ NPS@ ] en utilisant [ CLUSTALW 1.8] développé à l’[ EBI ]:

                     10        20        30        40        50        60
                      |         |         |         |         |         |
CCPA_BACME   ----MNVTIYDVAREASVSMATVSRVVNGNP---NVKPSTRKKVLETIERLGYRPNAVAR
CCPA_BACSU   ---MSNITIYDVAREANVSMATVSRVVNGNP---NVKPTTRKKVLEAIERLGYRPNAVAR
CCPA_STRMU   MNTDDTITIYDVAREAGVSMATVSRVVNGNK---NVKENTRKKVLEVIDRLDYRPNAVAR
DEGA_BACSU   ----MKTTIYDVAKAAGVSITTVSRVINNTG---RISDKTRQKVMNVMNEMAYTPNVHAA
FRUR_ECOLI   ------MKLDEIARLAGVSRTTASYVINGKAKQYRVSDKTVEKVMAVVREHNYHPNAVAA
RBTR_KLEAE   ---MKKITIYDLAELSGVSASAVSAILNGNWKKRRISAKLAEKVTRIAEEQGYAINRQAS
                    .: ::*. :.** ::.* ::*..    .:. .  :**     .  *  *  * 
Prim.cons.   MNTMM2ITIYDVAREAGVSMATVSRVVNGNPK222V22KTRKKVLEVIE2LGYRPNAVAR

                     70        80        90       100       110       120
                      |         |         |         |         |         |
CCPA_BACME   GLASKKTTTVGVIIPDISNIFYAELARGIEDIATMYKYNIILSNSDQNQDKELHLLNNML
CCPA_BACSU   GLASKKTTTVGVIIPDISSIFYSELARGIEDIATMYKYNIILSNSDQNMEKELHLLNTML
CCPA_STRMU   GLASKKTTTVGVVIPNIANAYFSILAKGIDDIATMYKYNIVLASSDEDDDKEVNVINTLF
DEGA_BACSU   ALTGKRTNMIALVAPDISNPFYGELAKSIEERADELGFQMLICSTDYDPKKETKYFSVLK
FRUR_ECOLI   GLRAGRTRSIGLVIPDLENTSYTRIANYLERQARQRGYQLLIACSEDQPDNEMRCIEHLL
RBTR_KLEAE   MLRSKKSHVIGMIIPKYDNRYFGSIAERFEEMARERGLLPIITCTRRRPELEIEAVKAML
              * . ::  :.:: *.  .  :  :*. ::  *       ::  :    . * . .. : 
Prim.cons.   GLASKKTTT2GV2IPDISNIFY2ELA2GIEDIATMY2YNII223SDQ2PDKELHL2NT2L

                    130       140       150       160       170       180
                      |         |         |         |         |         |
CCPA_BACME   GKQVDGIIFMS---GNVTEEHVEELKKSPVPVVLAASIESTNQIPSVTIDYEQAAFDAVQ
CCPA_BACSU   GKQVDGIVFMG---GNITDEHVAEFKRSPVPIVLAASVEEQEETPSVAIDYEQAIYDAVK
CCPA_STRMU   AKQVDGIIFMG---HHLTEKIRAEFSRARTPVVLSGTVDLEHQLPSVNIDHSKAAQDAVA
DEGA_BACSU   QKKVDGIIFATGIESHDSMSALEEIASEQIPIAMISQDKPLLPMDIVVIDDVRGGYEAAK
FRUR_ECOLI   QRQVDAIIVSTS--LPPEHPFYQRWANDPFPIVALDRALDREHFTSVVGADQDDAEMLAE
RBTR_KLEAE   SWQVDWVVATG---ATNPDKISALCQQAGVPTVNLDLPGSLS--PSVISDNYGGAKALTH
               :** ::                      * .             *           . 
Prim.cons.   2KQVDGIIFMG2IEG26T222VAEF2R2PVPIVL22SVESLEQ5PSVVID2EQAAYDAVK

                    190       200       210       220       230       240
                      |         |         |         |         |         |
CCPA_BACME   SLIDSGHKNIAFVSGTLEEPINHAKKVKGYKRALTESGLPVRDSYIVEGDYTYDSGIEAV
CCPA_BACSU   LLVDKGHTDIAFVSGPMAEPINRSKKLQGYKRALEEANLPFNEQFVAEGDYTYDSGLEAL
CCPA_STRMU   LLAKH-HDKIAFVSGPLIDDINGKVRLAGYKEGLKKKGLPFKEGLVFEAQYKYQEGYQLA
DEGA_BACSU   HLLSLGHTNIACIIG-DGSTTGEKNRIKGFRQAMEEAGVPIDESLIIQTRFSLESGKEEA
FRUR_ECOLI   ELRKFPAETVLYLGA-LPELSVSFLREQGFRTAWKDD--PREVHFLYANSYEREAAAQLF
RBTR_KLEAE   KILAN--------SARRRGELAPLTFIGGRRATITPAS----V-YAASTMRIASWGLACR
              :            .             * :                      . .    
Prim.cons.   LLL26GHTNIAFVSGPL6EPIN6KKR22GY2RAL3EAGLPF5ES32AE2DYTY2SGLE2A

                    250       260       270       280       290       300
                      |         |         |         |         |         |
CCPA_BACME   EKLLEEDEKPTAIFVGTDEMALGVIHGAQDRGLNVPNDLEIIGFDNTRLSTMVRPQLTSV
CCPA_BACSU   QHLMSLDKKPTAILSATDEMALGIIHAAQDQGLSIPEDLDIIGFDNTRLSLMVRPQLSTV
CCPA_STRMU   QRVINSG--ATAAYVAEDELAAGLLNGLFAAGRKVPEDFEIITSNDSTIALYTRPNMTSI
DEGA_BACSU   GKLLDRN-APTAIFAFNDVLACAAIQAARIRGIKVPDDLSIIGFDNTILAEMAAPPLTTV
FRUR_ECOLI   EKWLETHPMPQALFTTSFALLQGVMDVTLRRDGKLPSDLAIATFGDNELLDFLQCPVLAV
RBTR_KLEAE   RRIFWLP-----------AIRKATLRTACRSG--LAARR--R---------CCRGYLLTR
              : :               :  . :      .  :.                    : : 
Prim.cons.   2KLLELD3KPTAIFVATDELALGVIH2AQ2RGLKVPEDLEIIGFDNTRL2LMVRP2LTTV

                    310       320       330       340
                      |         |         |         |
CCPA_BACME   VQPMYDIGAVAMRLLTKYMNKETVDSSIVQLPHRIEFRQSTK----
CCPA_BACSU   VQPTYDIGAVAMRLLTKLMNKEPVEEHIVELPHRIELRKSTKS---
CCPA_STRMU   SQPIYDLGAVAMRMLTKIMNKEELEEKEIVLNHGIKKRGTTK----
DEGA_BACSU   AQPIKEMGAERHRTAGRSNRGKRKAKQKIVLPPELVVRHSTSPLNT
FRUR_ECOLI   AQRHRDVAERVLEIVLASLDEPRKPKPGLTRIKRNLYRRGVLSRS-
RBTR_KLEAE   RYPWKGLCAGCRRWV-------------------------------
                   :     .                                               
Prim.cons.   2QPIYD2GAVAMRLLTKSMNKER2E25I2VLPHRIE5R5STKS22T
Alignment data :
Alignment length : 346
Identity (*) : 20 is 5.78 %
Strongly similar (:) : 36 is 10.40 %
Weakly similar (.) : 28 is 8.09 %
Different : 262 is 75.72 %
Sequence 0001 : CCPA_BACME ( 332 residues).
Sequence 0002 : CCPA_BACSU ( 334 residues).
Sequence 0003 : CCPA_STRMU ( 333 residues).
Sequence 0004 : DEGA_BACSU ( 337 residues).
Sequence 0005 : FRUR_ECOLI ( 334 residues).
Sequence 0006 : RBTR_KLEAE ( 270 residues).

Dans cet alignement le codage de couleur selon les 7 groupes d’acides aminés de CLUSTALW est effectué. La ligne Prim.cons contient la séquence consensus (acide aminé le plus fréquent à la position). En cas d’égalité entre les fréquences 2 acides aminés le chiffre 2 est reporté dans cette ligne. Beaucoup de logiciels permettent d’éditer manuellement les alignements multiples comme par exemple [ ANTHEPROT ] pour Windows, [ MPSA ] Mac, Linux, [ SeaView ] toute plateforme, [ CINEMA ] Applet Java. [ Multalin ] est une alternative intéressante à CLUSTALW quand les séquences sont proches car il est plus rapide.

III.2.5. BANQUES DE SIGNATURES

    A partir des alignements multiples, il est possible de générer une séquence consensus dans les régions conservées afin de définir une signature de la famille de protéines. L’identification de familles (puis de domaines fonctionnels) se fait à partir de différentes banques de données. Parmi, celles-ci, on peut citer les banques basées sur 3 principes, les consensus, les alignements, les méthodes de classification.

Consensus
[PROSITE] Signatures et Matrices par programmation dynamique 1486 sites fonction
[PRINTS] 9800 motifs uniques 1600 empreintes de familles
Alignements
[BLOCKS] profils issus de PROSITE 8656 blocs
[PFAM] Base d’alignments multiple et Hidden Markov Model 3071 familles
“Clustering method” (BLAST)
    [PRODOM] 1310 domaines de séquences

La tendance actuelle est de concaténer les différentes banques afin d’offrir une base unifiée [InterPro]

wpe7A.gif (46930 octets)

Figure 26 Délimitation d’une signature

Cette séquence consensus est aussi appelée signature car elle définit l’ensemble des acides aminés conservés à l’intérieur de l’alignement. A partir d’une signature, [LM]-W-V-T-V-Y-Y-G-X-P-V-[KR]-[DE]-A, il est en principe possible de rechercher  la présence possible de cette signature dans toutes séquences y compris celles les banques de séquences pour extraire les protéines partageant une propriété en commun. Cette stratégie à été utilisée par A. Bairoch pour construire à chaque nouvelle version de SWISSPROT, le dictionnaire PROSITE de sites et de signatures fonctionnelles. Ce dictionnaire comprend environ 1500 sites et signature de famille de protéines. Ce dictionnaire peut être utilisé soit pour rechercher la fonction d’une nouvelle protéine (afin d’inférer la fonction par sa séquence) soit pour identifier quelles séquences déposées dans les banques possèdent une (ou plusieurs) signature(s).

Une signature se définit avec un ID (IDentificateur), un DE (DEscripteur), un PA “PAttern” qui éventuellement peut se propager sur plusieurs lignes.

ID HTH_LACI_FAMILY; PATTERN.
DE Bacterial regulatory proteins, LacI family signature.
PA [LIVM]-x-[DE]-[LIVM]-A-x(2)-[STAG]-[LIVMA]-x(2)-[FLIVMAN]-
PA [LIVMC].
3D 1LCC; 1LCD; 1LTP.c

Voici les grandes catégories de familles fonctionnelles représentées dans PROSITE

  • Post-translational modifications

  • Domains

  • DNA or RNA associated proteins

  • Enzymes

    • Oxidoreductases signatures

    • Transferases

    • Hydrolases

    • Lyases

    • Isomerases

    • Ligases

    • Others

  • Electron transport proteins

  • Other transport proteins

  • Structural proteins

  • Receptors

  • Cytokines and growth factors

  • Hormones and active peptides

  • Toxins signatures

  • Inhibitors signature

  • Protein secretion and chaperones

  • Others

III.2.5.1. Syntaxe

Chaque signature de PROSITE repose sur une syntaxe définie:

<M-[AGVS](2)-Y(2,8)-X-A-L-{AGVS}

  • - est le séparateur de position

  • < indique que le motif est à l’extrémité N ter

  • > indique que le motif est à l’extrémité C ter

  • [ ] indique la liste des acides aminés permis à une position

  • { } indique la liste des acides aminés interdits à une position

  • x désigne n’importe quel acide aminé

  • (n) la position est répétée n fois

  • (n,m) la position est répétée un nombre de fois compris entre n et m

III.2.5.2. Recherche de signatures avec pénalité uniforme

La recherche de signature peut se décomposer en 7 étapes successives:

  • Lecture de la signature i dans la banque

  • Analyse syntaxique du motif de longueur L

  • Génération de matrices de substitution (une par position) avec
    1 si AA autorisé
    0 si AA non autorisé

  • Découpage de la séquence en segments de longueur L
    1 – L , 2 – L+ 1, 3 – L + 2 , . . . , (n – L) – n

  • Application des matrices correspondant aux positions du motif sur chaque segment et somme S des scores obtenus sur un segment

    • Si le score S est égal à L alors le motif est trouvé (toutes les positions sont bonnes)

    • Si le score S est égal à L – k alors le motif est trouvé avec k erreurs

  • Si le score S est supérieur à L x t et t est % de similarité

  • Tri et affichage des résultats

Figure 27 Fichier résultat obtenu avec ANTHEPROT

Cette recherche est très rapide (moins de 5 secondes actuellement). Cette méthode est très efficace pour des motifs exacts, mais dès que des erreurs sont autorisées dans la recherche, les erreurs portent le plus souvent sur les positions les plus strictes, ce qui n’est pas pertinent biologiquement, puisque les positions les plus strictes on été conservées dans l’alignement de la famille.

Soit la signature suivante : [LIVA]-[LIVMY]-[VAT]-H-N-[STC]
Considérons une séquence de protéine :
AYITGFRPLVTINSLCVHNS…
Si le taux de similarité minimum entre la signature et la région correspondante est de 80%, alors la pénalité pour une position non trouvée est uniforme, et vaut 100/6 = 16,7%
Pour ce motif potentiel, seule la position 4 ne correspond pas. Le score du motif est donc égal à : 100 – 16,7 = 83,3 %
Le motif LVTINS est donc trouvé bien qu’une position stricte [H] ne soit pas conservée.

Afin de favoriser les erreurs (quand elles sont autorisées) sur les positions les plus dégénérées une méthode pondérée a été mise au point. En effet on peut penser que puisqu’elles ont varié, elles peuvent varier encore plus.

III.2.5.3. Recherche de signatures avec pénalité variable

Dans cette méthode, la fréquence de chaque position est calculée à partir de la signature [LIVA]-[LIVMY]-[VAT]-H-N-[STC]

où:    i est le type d’acide aminé autorisé à la position j
F(i) est la fréquence de l’acide aminé i en moyenne dans SWISS-PROT
N est le nombre d’acides aminés différents autorisés à la position j.Valeur de pondération pour chaque position:

Ainsi, pour chacune des 6 positions de la signature, une fréquence “théorique” est associée qui servira de pondération:

  • P1 = 0,289 

  • P2 = 0,268

  • P3 = 0,200

  • P4 = 0,022

  • P5 = 0,044

  • P6 = 0,147

Une valeur de référence spécifique de la signature est définie comme:

Cette valeur correspond à la valeur initiale du score du motif avant examen des positions Y= 2,27.10-6

Un score seuil (Scseuil ) de normalisation global des positions est défini par:

 Scseuil = 10t log(Sco)

où t est le taux de similarité désiré pour la recherche (0,80). Ce taux ne correspond pas à un taux de similarité mais peut être assimilé à un niveau de pertinence biologique. Ici Scseuil= 3,05 10-5

Lors du parcours de la séquence de longueur L, pour chaque position j qui est satisfaite le score est celui de la position précédente:

Sc(j) = Sc(j-1)

sinon le score à la position j devient:

De cette manière plus la position est stricte, plus Sc(j) va augmenter. Si  à quelque moment que ce soit de la comparaison, le score est supérieur au Scseuil alors la signature ne sera pas considérée comme trouvée.

Illustration du bien-fondé de l’algorithme:

  • Montrons tout d’abord que si une position stricte n’est pas satisfaite, l’occurrence de la signature est rejettée
    Considérons une séquence de protéine :
    AYITGFRPLVTINSLCVHNS… avec Sc0 = 2,27.10-6, t = 0,8, et Scseuil= 3,05 10-5
    Position 1 : L concorde => Sc1 = Sc0
    Position 2 : V concorde => Sc2 = Sc1
    Position 3 : T concorde => Sc3 = Sc2
    Position 4 : I ne concorde pas => Sc4 = Sc3 / P4
    Sc4= 2.27 10-6 / 0.022 = 1,03.10-4 et donc Sc4 > Scseuil => motif non correct

  • Montrons maintenant que si l’erreur porte sur une position dégénérée l’occurrence de la signature peut être acceptée
    Motif potentiel dans la protéine :
    AYITGFRPLVTINSLCVHNS…… avec Sc0 = 2,27.10-6, t = 0,8, et Scseuil= 3,05 10-5
    Position 1 : L concorde => Sc1 = Sc0
    Position 2 : C ne concorde pas => Sc2 = Sc1 / P2
    Sc2 = 2,27 .10-6 / 0,268 = 8,47.10-6 et donc Sc2 < Scseuil => on continue
    Position 3 : V concorde => Sc3 = Sc2
    Position 4 : H concorde => Sc4 = Sc3
    Position 5 : N concorde => Sc5 = Sc4
    Position 6 : S concorde => motif correct

  • Montrons maintenant que si l’erreur porte sur une position dégénérée et un position stricte le motif est rejetté
    Motif potentiel dans la protéine :
    AYITGFRPLVTINSLCVHNS…avec Sc0 = 2,27.10-6, t = 0,8, et Scseuil= 3,05 10-5
    Position 1 : A concorde => Sc1 = Sc0
    Position 2 : Y concorde => Sc2 = Sc1
    Position 3 : I ne concorde pas => Sc3 = Sc2 / P3
    Sc3= 2,27.10-6 / 0.2 = 1,13.10-5 et donc Sc3 < Scseuil => on continue
    Position 4 : T ne concorde pas => Sc4 = Sc3 / P4
    Sc4= 1,13.10-5 / 0.022 = 5,16.10-4 et donc Sc4 > Scseuil => motif non correct

Figure 28 Comparaison de la méthode sans et avec pondération variable

Site d’épissage des protéines (PS00881 de Prosite) recherché avec 80% de similarité dans SwissProt [LIVA]-[LIVMY]-[VAT]-H-N-[STC]. La recherche traditionnelle (sans pondération) trouve plus de 100 000 motifs. Elle autorise jusqu’à 2 erreurs, mais les positions les plus substituées sont les deux positions strictes : H et N.
La méthode pondérée autorise aussi jusqu’à 2 erreurs, favorise la conservation des positions les plus strictes et trouve 1549 motifs avec les 2 positions strictes toujours conservées. [Consulter le fichier résultat]

 Cette méthode a été implémentée dans le programme [PattInProt] disponible sur le serveur NPS@. La méthode est efficace mais le paramètre t (“similarity level”) n’est pas très intuitif à fixer et l’utilisateur doit essayer la recherche avec différents niveaux de valeur t.

Utilisation “intelligente” de PattInProt

Certains biologistes utilisent les programmes de manière impropre en soumettant une longue signature et en autorisant beaucoup de positions fluctuantes. Très souvent, en découpant de telles signatures en sous motifs et en recherchant les motifs les plus rares en premier, on peut gagner un facteur 10 en temps de calcul et même rendre une recherche possible grâce à quelques astuces. En voici un exemple:

En cas de recherche dans SWISSPROT de la signature suivante [EQR]-C-[LIVMFYAH]-x-C-x(5,8)-C-x(3,8)-[EDNQSTV]-C-{C}-x(5)-C-x(12,24)-C

Il faut environ 24 min sur 103184 séquences du fait du nombre de sous motifs générés par les positions fluctuantes en longueur.

En revanche, il est équivalent de découper le motif complet en 2 (ou plus) sous motifs; ainsi la recherche d’un sous motif (le plus rare sans fluctuation) [EQR]-C-[LIVMFYAH]-x-C est recherché en 0.40 min sur 103184 séquences et donne 1877 séquences.
puis la recherche du motif complet sur le sous ensemble de 1877 séquences
[EQR]-C-[LIVMFYAH]-x-C-x(5,8)-C-x(3,8)-[EDNQSTV]-C-{C}-x(5)-C-x(12,24)-C  ne prend que 1.10 min sur 1877 séquences

L’algorithme PattInProt intégré dans NPS@ permet de rechercher des motifs de manière successive autorisant la détection des protéines qui partagent des motifs en commun mais dans un ordre différent.

Figure 29 Comparaison de la méthode sans et avec pondération variable

 

 

 III.2.6. Méthodes de profils

    III.2.6.1 Les banques de profils

    Les méthodes de recherche de signature sont efficaces dans la mesure où le répertoire des acides aminés présents à chaque position d’une signature est complet. Ainsi, une nouvelle séquence peut très bien ne plus être détectée par une signature si pour quelques positions les acides aminés sont absents de la signature. Certes, l’algorithme à pondération variable permet certaines variations, mais le problème demeure présent et ce d’autant plus que le nombre de séquences augmente. Ainsi, le biologiste aimerait avoir à sa disposition une méthode lui permettant de détecter des séquences ayant des acides aminés qui n’ont encore jamais été observés à certaines positions. Une telle méthode existe dans les méthodes de profils introduits par Gribskov et al., (1987).

Un profil ou matrice de poids est une table de valeurs par position d’acides aminés et de coût d’insertion. Ces valeurs sont utilisées pour calculer un score de similarité pour n’importe quel alignement entre un profil et une séquence. Un alignement avec un score de similarité supérieur ou égal à un seuil représente une occurrence.

  • Constitution d’alignements et d’un jeu de référence

  • [BLOCKS] d’Henikoff (dérive de PROSITE)     8656 blocs

  • [PFAM] Base d’alignments multiple et HMM     3621 familles

  • [PRINTS] 9800 motifs uniques=> 1600 empreintes

  • [PRODOM] 283 772 familles de domaine de séquences

Chaque block d’Henikoff se présente sous forme d’un alignement sans gap d’une région conservée de la manière suivante :

ID ATPASE_ALPHA_BETA; BLOCK
AC BL00152B; distance from previous block=(26,29)
DE ATP synthase alpha and beta subunits proteins.
BL DGT motif; width=42; seqs=78; 99.5%=
873; strength=2546
FLII_BACSU ( 142) EKMGVGVRSIDSLLTVGKGQRIGIFAGSGVGKSTLMGMIAKQ

FLII_SALTY ( 157) HVLDTGVRAINALLTVGRGQRMGLFAGSGVGKSVLLGMMARY

ATP0_BETVU ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN
ATP0_BOVIN ( 187) EPMQTGIKAVDSLVPIGRGQRELIIGDRQTGKTSIAIDTIIN
ATP0_BRANA ( 146) EPMQTGLKAVDSLVPIGRGQRELLIGDRQTGKTTIAIDTILN
ATP0_HELAN ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN
ATP0_MAIZE ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN
ATP0_MARPO ( 145) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN
ATP0_NICPL ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN
ATP0_OENBI ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN
ATP0_ORYSA ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN
ATP0_PEA   ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN
ATP0_PHAVU ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN
ATP0_RAPSA ( 146) EPMQTGLKAVDSLVPIGRGQRELLIGDRQTGKTTIAIDTILN
ATP0_SOYBN ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN
ATP0_WHEAT ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN
ATPA_ANTSP ( 147) EPLQTGITAIDSMIPIGRGQRELIIGDRQTGKTTVALDTIIN
ATPA_CHLRE ( 145) EPLATGLVAVDAMIPVGRGQRELIIGDRQTGKTAIAVDTILN
ATPA_ECOLI ( 144) QPVQTGYKAVDSMIPIGRGQRELIIGDRQTGKTALAIDAIIN
ATPA_EUGGR ( 145) EPLQTGLIAIDAMIPIGRGQRELIIGDRQTGKTAVATDTILN
ATPA_GALSU ( 145) EPLQTGITAIDSMIPIGRGQRELIIGDRQTGKTSIALDTIIN
ATPA_HUMAN ( 187) EPMQTGIKAVDSLVPIGRGQRELIIGDRQTGKTSIAIDTIIN
ATPA_MAIZE ( 145) EPLQTGLIAIDSMIPIGRGQRELIIGDRQTGKTAVATDTILN
ATPA_MARPO ( 145) EPMQTGLIAIDSMIPIGRGQRELIIGDRQTGKTAVAIDTILN
ATPA_MOUSE ( 187) EPMQTGIKAVDSLVPIGRGQRELIIGDRQTGKTSIAIDTIIN
ATPA_ODOSI ( 145) EPLQTGITSIDAMIPIGRGQRELIIGDRQTGKTAIAVDTIIN
ATPA_ORYSA ( 145) EPLQTGLIAIDSMIPIGRGQRELIIGDRQTGKTAVATDTILN
ATPA_PEA   ( 145) EPLQTGLIAIDSMIPIGRGQRELIIGDRQTGKTAVATDTILN
ATPA_PROMO ( 144) EPLQTGIKSIDGMVPIGRGQRELIIGDRQTGKTAVALDAIIN
ATPA_RHOBL ( 144) EPMATGLKAVDAMIPIGRGQRELIIGDRQTGKTAVALDTILN
ATPA_SCHPO ( 172) EPMQTGLKAIDSMVPIGRGQRELIIGDRQTGKTAIALDTILN
ATPA_SPIOL ( 145) EPLQTGLIAIDAMIPVGRGQRELIIGDRQTGKTAVATDTILN
ATPA_SYNP6 ( 145) EPMQTGITAIDAMIPIGRGQRELIIGDRQTGKTAIAIDTILN
ATPA_THEP3 ( 144) EPLQTGIKAIDALVPIGRGQRELIIGDRQTGKTSVAIDTIIN
ATPA_TOBAC ( 145) EPLQTGLIAIDSMIPIGRGQRELIIGDRQTGKTAVATDTILN
ATPA_VIBAL ( 144) QPVQTGYKSVDSMIPIGRGQRELIIGDRQIGKTALAIDAIIN
ATPA_WHEAT ( 145) EPLQTGLIAIDSMIPIGRGQRELIIGDRQTGKTAVATDTILN
ATPA_XENLA ( 188) EPMQTGIKAVDSLVPIGRGQRELIIGDRQTGKTSIAIDTIIN
ATPA_YEAST ( 181) EPVQTGLKAVDALVPIGRGQRELIIGDRQTGKTAVALDTILN
ATP2_HEVBR ( 212) QILVTGIKVVDLLAPYQRGGKIGLFGGAGVGKTVLIMELINN
ATP2_MAIZE ( 203) QILVTGIKVVDLLAPYQRGGKIGLFGGAGVGKTVLIMELINN
ATP2_NICPL ( 210) QILVTGIKVVDLLAPYQRGGKIGLFGGAGVGKTVLIMELINN
ATP2_ORYSA ( 201) QILVTGIKVVDLVAPYQRGGKIGLFGGAGVGKTVLIMELINN
ATPB_AEGCO ( 147) SIFETGIKVVDLLAPYRRGGKIGLFGGAGVGKTVLIMELINN
ATPB_ANASP ( 137) SVFETGIKVVDLLTPYRRGGKIGLFGGAGVGKTVIMMELINN
ATPB_ANGLY ( 145) SIFETGIKVVDLLAPYRRGGKIGLFGGAGVGKTVLIMELINN
ATPB_BACFR ( 132) EVLFTGIKVIDLLEPYSKGGKIGLFGGAGVGKTVLIMELINN
ATPB_BOVIN ( 181) EILVTGIKVVDLLAPYAKGGKIGLFGGAGVGKTVLIMELINN
ATPB_CHLRE ( 147) SIFETGIKVVDLLAPYRRGGKIGLFGGAGVGKTVLIMELINN
ATPB_CUSRE ( 145) SIFETGIKVVDLLAPYRRGGKIGLFGGAGVGKTVLIMELINN
ATPB_CYTLY ( 131) EVLFTGIKVIDLIEPYAKGGKIGLFGGAGVGKTVLIQELINN
ATPB_DICDH ( 136) AIFETGIKVVDLLAPYRRGGKIGLFGGAGVGKTVLIMELINN
ATPB_ECOLI ( 125) ELLETGIKVIDLMCPFAKGGKVGLFGGAGVGKTVNMMELIRN
ATPB_EUGGR ( 136) SIFETGIKVVDLLAPYRRGGKIGLFGGAGVGKTVLIMELINN
ATPB_HORVU ( 147) SIFETGIKVVDLLAPYRRGGKIGLFGGAGVGKTVLIMELINN
ATPB_HUMAN ( 181) EILVTGIKVVDLLAPYAKGGKIGLFGGAGVGKTVLIMELINN
ATPB_IPOBA ( 145) SIFETGIKVVDLLAPYRRGGKIGLFGGAGVGKTVLIMELINN
ATPB_LACCA ( 130) EILETGIKVIDLLEPYLRGGKVGLFGGAGVGKTVLIQELIHN
ATPB_MAIZE ( 147) SIFETGIKVVDLLAPYRRGGKIGLFGGAGVGKTVLIMELINN
ATPB_MARPO ( 145) SIFETGIKVVDLLAPYRRGGKIGLFGGAGVGKTVLIMELINN
ATPB_MYCGA ( 131) EIFETGIKVIDLLIPYAKGGKIGLFGGAGVGKTVLVQELIHN
ATPB_NEUCR ( 170) EILVTGIKVVDLLAPYARGGKIGLFGGAGVGKTVFIQELINN
ATPB_NICPL ( 147) SIFETGIKVVDLLAPYRRGGKIGLFGGAGVGKTVLIMELINN
ATPB_ORYSA ( 147) SIFETGIKVVDLLAPYRRGGKIGLFGGAGVGKTVLIMELINN
ATPB_PEA   ( 147) SIFETGIKVVDLLAPYRRGGKIGLFGGAGVGKTVLIMELINN
ATPB_PECFR ( 130) QILETGIKVVDLIAPYSRGGKIGLFGGAGVGKTVLIMELIHN
ATPB_PYLLI ( 136) AIFETGIKVVDLLAPYRRGGKIGLFGGAGVGKTVLIMELINN
ATPB_RAT   ( 181) EILVTGIKVVDLLAPYAKGGKIGLFGGAGVGKTVLIMELINN
ATPB_RHOBL ( 130) QILVTGIKVIDLLAPYSKGGKIGLFGGAGVGKTVLIQELINN
ATPB_SCHPO ( 178) EILETGIKVVDLLAPYARGGKIGLFGGAGVGKTVFIQELINN
ATPB_SPIOL ( 147) SIFETGIKVVNLLAPYRRGGKIGLFGGAGVGKTVLIMELINN
ATPB_SYNP6 ( 137) KVFETGIKVIDLLAPYRQGGKIGLFGGAGVGKTVLIQELINN
ATPB_THEP3 ( 133) EILETGIKVVDLLAPYIKGGKIGLFGGAGVGKTVLIQELIHN
ATPB_TOBAC ( 147) SIFETGIEVVDLLAPYRRGGKIGLFGGAGVGKTVLIMELINN
ATPB_VIBAL ( 124) ALLETGVKVIDLICPFAKGGKIGLFGGAGVGKTVNMMELINN
ATPB_WHEAT ( 147) SIFETGIKVVDLLAPYRRGGKIGLFGGAGVGKTVLIMELINN
ATPB_YEAST ( 165) EILETGIKVVDLLAPYARGGKIGLFGGAGVGKTVFIQELINN
ATPX_BACFI ( 131) EILETGIKVVDLLAPYIIGGKIGLFGGAGVGKTVLIQELINN
//

III.2.6.2 Principe de la recherche par profils

Calcul du profil

A partir de chaque colonne de l’alignement, le pourcentage de chaque acide aminé est calculé.

Algorithme

Découpage de la séquence en j segments de longueur L
1 – L , 2 – L+ 1, 3 – L + 2 , . . . , (n – L) – n
Application du profil à chaque segment et calcul des scores obtenus sur un segment:

Tri et affichage des x meilleurs scores
Tous les segments
Tous les blocs
Normalisation du score d’un bloc par la valeur contenue dans le champ

Dans l’interclassement des blocs, la difficulté est la comparaison de scores obtenus pour des blocs ayant des nombres de séquences différents, des longueurs de blocs différents et des degré de conservations différents. Pour cela, 2 valeurs sont disponibles:

  1. La valeur contenue dans le champ sert de normalisation des scores entre des blocs différents 99.5%= 873

  2. La valeur du champ strength = 2546 est la valeur au dessus de laquelle, on est sûr à 99,5% que la protéine appartient bien à la famille.

Exemple de calcul sur le segment EPMQTGIKAVDSLVPIGRGQRELIIGDRQTGKTSIAIDTINN

Somme sur tout le segment = 2528 SCORE=2528/873*1000=2896

Exemple de fichiers résultats Protein C:\Mes documents\Antheprot 2000 Vers6\2AF1_BOVIN
Reference BLOCKS :C:\Anthepro\BLOCKS.DAT

Uppercase blue characters have already been observed at the current position in the given block

Lowercase green characters have never been observed at the current position in the given block

Elapsed searching time: 39 s
============================== Best 15 BLOCKS ==============================

BL00152E ATP synthase alpha and beta subunits proteins.
Score : 3184 Reference score 2940 from 319 to 372 in sequence : GSLTALPVIETQAGDVSAYIPTNVISITDGQIFLETELFYKGIRPAINVGLSVS
BL00152B ATP synthase alpha and beta subunits proteins.
Score : 2896 Reference score 2546 from 144 to 185 in sequence : EPMQTGIKAVDSLVPIGRGQRELIIGDRQTGKTSIAIDTIIN
BL00152A ATP synthase alpha and beta subunits proteins.
Score : 2399 Reference score 2044 from 91 to 116 in sequence : TGAIVDVPVGEELLGRVVDALGNAID
BL00152D ATP synthase alpha and beta subunits proteins.
Score : 1990 Reference score 1603 from 282 to 295 in sequence : SLLLRRPPGREAYP
BL00152C ATP synthase alpha and beta subunits proteins.
Score : 1770 Reference score 1664 from 248 to 259 in sequence : YSGCSMGEYFRD
BL00301D GTP-binding elongation factors proteins.
Score : 1316 Reference score 1507 from 84 to 105 in sequence : EgDiVKRTGAIVDVPVGeELlG
BL00190B Cytochrome c family heme-binding site proteins proteins.
Score : 1238 Reference score 1298 from 100 to 112 in sequence : GeELLGRVvdALG
BL00854B Proteasome B-type subunits proteins.
Score : 1200 Reference score 2387 from 370 to 418 in sequence : SvSrvGSAAqTRaMKqVagtmkleLaqyrevAAfAQFgsDLdAAtqqLl
BL00166B Enoyl-CoA hydratase/isomerase proteins.
Score : 1199 Reference score 2212 from 306 to 338 in sequence : lerAAkmndAFGGGsLtALpvieTqAGDvSAYi
BL00603A Thymidine kinase cellular-type proteins.
Score : 1189 Reference score 2412 from 162 to 201 in sequence : GQrELIIGdrqtGKTSiAIdtIiNqKRfNdgTdekKkLyc
BL00623B GMC oxidoreductases proteins.
Score : 1184 Reference score 2352 from 46 to 85 in sequence : nVqAEemVefssGLKgMsLnLePDNVGVvVFgndklIkEg
BL00888B Cyclic nucleotide-binding domain proteins.
Score : 1166 Reference score 2031 from 345 to 378 in sequence : ItDGQiFlEteLFYkGiRpAiNVGlSvsRVgsAa
BL00197; 2Fe-2S ferredoxins, iron-sulfur binding region proteins.
Score : 1160 Reference score 2559 from 232 to 280 in sequence : vsATaSDAApLQyLApySGCsMGEyfrdNGKhALIiYDDLskQAVAYRQ
BL00586A Ribosomal protein L16 proteins.
Score : 1147 Reference score 2589 from 448 to 483 in sequence : gvRGyLdkLEPSkITkfenaflshVISqhqallGKI
BL00107B Protein kinases ATP-binding region proteins.
Score : 1146 Reference score 1577 from 411 to 446 in sequence : DAATQQLlSrGVRLTELLKQGQYSPMAIEEQVAVIY

L’avantage de cet algorithme est que parmi les 15 premiers blocs les acides aminés (en vert et en minuscule) n’ont jamais été observés à une position quelconque de l’alignement dans le bloc correspondant.

    III.2.6.3 Améliorations des profils

    La méthode des profils est la méthode la plus sensible pour la détection de signatures floues. Elle permet la détection de motifs encore non décrits dans les banques et pour des séquences n’ayant encore jamais été observées. La difficulté inhérente à cette méthode réside dans la définition d’un score statistique qui permette la comparaison de scores obtenus avec des blocs différents. Enfin, le temps de balayage des banques n’est pas négligeable. Parmi les améliorations possibles, il faut citer l’application de groupes d’acides aminés plutôt que le simple compte de chaque acide aminé. La considération de tels groupes (AVLIM) permet d’affecter une fréquence calculée pour certains acides aminés faisant partie du même groupe (Figure 30). En position 3, Met n’est jamais observée et possède une valeur supérieure (10) à celle de Ala (-1).

                Figure 30 Amélioration des profils par regroupement

D’une manière générale, il peut être envisagé de calculer une matrice de substitution. Enfin, le regroupement des séquences en sous-blocs à l’intérieur des blocs, permet de pondérer les fréquences par le nombre de séquences de chaque sous-bloc.

FLII_BACSU ( 142) EKMGVGVRSIDSLLTVGKGQRIGIFAGSGVGKSTLMGMIAKQ 100

FLII_SALTY ( 157) HVLDTGVRAINALLTVGRGQRMGLFAGSGVGKSVLLGMMARY 98

ATP0_BETVU ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN 10
ATP0_BOVIN ( 187) EPMQTGIKAVDSLVPIGRGQRELIIGDRQTGKTSIAIDTIIN 11
ATP0_BRANA ( 146) EPMQTGLKAVDSLVPIGRGQRELLIGDRQTGKTTIAIDTILN 11
ATP0_HELAN ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN 10
ATP0_MAIZE ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN 10
ATP0_MARPO ( 145) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN 10
ATP0_NICPL ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN 10
ATP0_OENBI ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN 10
ATP0_ORYSA ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN 10
ATP0_PEA   ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN 10
ATP0_PHAVU ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN 10
ATP0_RAPSA ( 146) EPMQTGLKAVDSLVPIGRGQRELLIGDRQTGKTTIAIDTILN 11
ATP0_SOYBN ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN 10
ATP0_WHEAT ( 146) EPMQTGLKAVDSLVPIGRGQRELIIGDRQTGKTAIAIDTILN 10
ATPA_ANTSP ( 147) EPLQTGITAIDSMIPIGRGQRELIIGDRQTGKTTVALDTIIN 13

  • Comptage du nombre de sous-blocs = NBLOCKS [3]

  • Pour chaque sous-bloc IBL{1,NBLOCKS} comptage du nombre de séquences ISEQ(IBL) [1,1,15]

  • Pour chaque position de chaque séquence d’un sous-bloc IBL

  • Comptage de chaque type aa {1,20} divisé par NBLOCKS et par ISEQ(IBL)*100

  • Calcul du profil de conservation des acides aminés.

Enfin la gestion de gaps dans le block est une amélioration majeure dans la définition des blocs conservés.

Un certain nombre de problèmes biologiques ont été abordés par la stratégie de signatures et de profils. Parmi ceux-ci on peut citer:

  1. Séquence de peptide signal (Matrice de poids-Von Heijne)

  2. Segments Transmembranaires

  3. Topologie dans la Membrane

  4. Protéines mitochondriales (Analyse discriminante+patterns)

  5. Protéines nucléaires (Signatures)

  6. Protéines de Peroxisomes (Signatures)

  7. Protéines chlorplastique (Amphiphilie forte)

  8. Protéines du  RE (reticulum endoplasmique)

  9. Protéines des voies vésiculaires (YQRL signature )

  10. Protéines des Lysosomes et des Vacuoles

  11. Ancrage membranaire (Signature)

  12. Structure “Coiled-coil”

III.2.7.2 Profils d’accessibilité au solvant

   Les profils de surface accessible au solvant ont été initialement développés par des immunologistes (Boger et al., 1986) afin de pouvoir prédire les épitopes (la région reconnue par les produits de la réponse humorale c.a.d les anticorps) des protéines, même si par une approche de séquence, l’hypothèse sous jacente est que l’épitope est séquentiel (et non lié à la conformation de la protéine). Cependant une condition nécessaire (mais non suffisante) est que l’épitope doit être accessible au solvant. En conséquence, la prédiction des régions accessibles au solvant doit pouvoir permettre de rationnaliser l’approche épitopique. L’approche heuristique utilisée est qu’à partir des fichiers de coordonnées atomiques des protéines, il est possible de calculer la contribution de tous les atomes de chaque acide aminé à la surface de contact d’une sphère de rayon donné. Dès lors pour chaque résidu, la fraction d des résidus accessibles (présentant une surface de contact > à 20 A²) peut être calculée. Elle varie de 0,26 à 0,97.

Cette accessibilité d est résumée dans le tableau suivant pour les 20 acides aminés:

Ile 0,34     Val 0,36     Leu 0,40
Phe 0,42     Cys 0,26     Met 0,48
Ala 0,49     Gly 0,48     Thr 0,70
Ser 0,65     Trp 0,51     Tyr 0,76
Pro 0,75     His 0,66     Lys 0,97
Arg 0,95     Glx 0,84     Asx 0,80

L’ algorithme est multiplicatif en utilisant une fenêtre de calcul égale à 6 résidus et une pondération par rapport à une séquence au hasard 0,62-6

où S(i) est la surface accessible moyenne du résidu i

Ainsi, la valeur d’accessibilité est comprise entre 0,005 et 14,7

BIOINF_profil_acc_solvant.gif (8906 octets)

Figure 33 Profil d’accessibilité au solvant

III.2.7.3 Profils de flexibilité

Ces profils ont été largement utilisés avec les mêmes objectifs que l’accessibilité au solvant. Leur fondement est que qu’une région flexible est plus antigénique qu’une région rigide dans la mesure où une certaine adaptabilité est nécessaire pour une bonne reconnaissance antigène-anticorps. Afin de prédire les régions flexibles, Karplus et Schulz (1986) ont utilisé les mesures d’agitation atomique (facteur B de température) issues des diagrammes de diffraction aux rayons X. Les auteurs ont distingué 3 types de résidus ceux qui sont en moyenne flexibles (F), rigides (R) ou intermédiaires (I) et 3 échelles qui ont pour but de prendre en compte l’environnement séquentiel.

La méthode se décompose en 2 étapes successives:

1) Choix de l’échelle pour chaque résidu:

Chaque acide aminé de la séquence est examiné pour ses 2 voisins (i-1) et (i+1) qui déterminent le choix de l’échelle qui sera utilisée dans la 2e étape. Un acide aminé est de type R(igide) si sa valeur est <1 sur l’échelle intermédiaire sinon il est M(obile).

i-1 i i+1             i-1 i i+1         sinon
M     M               R     R
M(i)                 R(i)             I(i)

Exemple

        A – V – L – I – S – T – D – E – L
R   R   R   R   M   M   M   M   R
E(i)-   R   R   I   I   M   M   I   -

2) Moyenne des valeurs lues sur l’échelle définie en 1) pondérée de manière triangulaire sur une fenêtre de 7 résidus

Exemple de calcul de la flexibilité du résidu S au centre du segment:

wpe3A.jpg (17647 octets)

Figure 34 Profil de flexibilité

La méthode a été réévaluée par Vihinen et al., (1994)

III.2.7.4 Une application le clonage in silico (Tomasello et al., 1998)

L’objectif est de cloner le gène qui code pour une protéine de la famille des KARAP. Pour cela, il faut déterminer la séquence nucléotidique des KARAP. Il s’agit d’un famille de protéines impliquée dans le contrôle de l’activation des lymphocytes NK après intervention du CMH de classe 1.

Les expérimentateurs ont fourni un portrait robot de la protéine:

  • Protéine membranaire

  • Protéine d’environ 12 kDa

  • Un acide aminé chargé dans la région trans-membranaire (R,K,D,E)

  • Une cystéine dans la partie intra-cytoplasmique

  • Un motif ITAM Y-x(2)-[LI]-x(7,8)-Y-x(2)-[LI] dans la partie intra-cytoplasmique

L’analyse bioinformatique a permis de trouver le bon gène en restreignant progressivement les candidats:

  • Utilisation de la base de données dbEST (1 266 608)

  • Traduction de toutes les EST en 6 phases de lecture (16 277 716)

  • Sélection des protéines comportant de 70 à 120 AA (1 500 007)

  • Sélection des protéines possédant un site ITAM (4 772)

  • Protéines comportant une zone trans-membranaire (1 837)

  • Sélection des protéines possédant : (95)

  • un acide aminé chargé dans la région trans-membranaire

  • une cystéine dans la région extra-cytoplasmique

  • Analyse qualitative, peptide signal (11) candidats … dont le bon gène

  • III.3 Les Méthodes de prédiction de structures secondaires         III.3.1. LE problème

        Les méthodes de prédiction de structures secondaires ont pour objectif principal de définir la localisation des éléments d’hélice a, de brin b, les coudes et les structures apériodiques. Au niveau informatique, elles consistent au passage “réductionnel” d’un mot (la séquence ou structure primaire) écrit avec un alphabet de 20 lettres (les acides aminés) en un autre mot écrit avec un alphabet à 3 ou 4 lettres. En fait, la figure 35 montre bien que considérer une protéine comme seulement un mot est une erreur fondamentale dans la mesure où chaque lettre correspond à un acide aminé c.a.d. à une molécule chimique qui possède ses propres règles.

    BIOINFO_ss.gif (41960 octets)

    Figure 35 Le problème…

    La structure secondaire est représentée par des valeurs d’angles phi et psi particulières (-57°,-47° pour les hélices par exemple) dont les possibilités constituent les degrés de liberté que peut prendre la chaîne principale.

    Figure 36 Les degrés de liberté d’une chaîne polypeptidique

    L’intérêt de cette réduction n’est pas évident à appréhender immédiatement mais la structure des protéines étant plus conservée que la séquence, la structure secondaire permet d’établir des relations d’homologie distante. De plus, il s’agit d’une des étapes intermédiaires dans l’acquisition de la structure 3D finale. Et puis la structure secondaire permet de faire des hypothèses structurales/fonctionnelles en l’absence de données expérimentales. Vouloir prédire la structure à partir de la séquence suppose l’hypothèse vérifiée que l’information nécessaire à l’acquisition de la structure 3D biologiquement active est contenue dans la séquence. En fait, beaucoup de cas échappent à cette règle. Parmi ces cas, on peut énumérer les protéines qui sont construites après maturation d’une préséquence (insuline par exemple), celles qui ont besoin de protéines chaperons (qui stabilisent les formes intermédiaires de repliement), les intéines (qui sont des protéines autocatalytiques), etc…Cependant, la règle a été vérifiée pour la première fois par Anfinsen (1961) grâce à des expériences de “dénaturation-renaturation“.

    Figure 37 Dénaturation-renaturation

    Bien que la structure 3D finale soit thermodynamiquement stable, le mécanisme par lequel la chaîne principale se replie est inconnu. Le temps pour que la protéine “retrouve” sa conformation thermodynamiquement stable varie de quelques ms à plusieurs jours. L’hypothèse que la chaîne adopte toutes les conformations possibles pour retenir in fine la structure de plus faible énergie ne résiste pas à un calcul simple. En effet en prenant une chaîne protéique de petite taille (100 aa), et en discrétisant le nombre de conformations (utilisant les degrés de liberté de la chaîne principale voir figure) à environ 10/aa, le nombre de conformations à explorer est 10100. Même en réduisant ce nombre à 2/aa, le nombre de conformations devient 2100 soit 1030. Les chimistes spectroscopistes estiment que le temps de passage d’une conformation à une autre (rotation autour d’une liaison C-C) est d’environ 10-13 s. Ceci montre que le temps nécessaire pour que la protéine “teste” toutes les conformations est 1030x10-13 soit 1017s c’est à dire plus de 3 millards d’années!! Ceci indique que la chaîne suit un(des) chemin(s) particulier(s) pour se replier. Les structures secondaires constituant une étape dans l’acquisition de ce repliement.

    Ce paradoxe “dit de Levinthal” justifie l’intérêt de prédire (prévoir serait plus juste) la structure secondaire à partir de la séquence.

  • Différentes méthodes et approches ont été utilisées pour prédire la structure secondaire. Les méthodes statistiques (les premières), les méthodes de similarité est les méthodes neuronales.

            III.3.2. La méthode de chou et Fasman (1974-1978)

        III.3.2.1 Principe

       Dans cette méthode statistique, les auteurs ont établi des tables d’occurence des acides aminés dans les différents états structuraux. Pour cela, ils ont dû observer les structures 3D des protéines connues (29 à l’époque) et affecter à chaque acide aminé un état structural (hélice, brin, coude, apériodique ou coil), ce qui n’était pas si facile à l’époque. Il sont donc pu établir une table de comptage:

    N

    Alpha Beta Apério Coudes

    Ala

    434

    234

    71

    129

    85

    Arg+

    142

    53

    26

    63

    40

    Asn

    230

    40

    58

    132

    106

    Asp-

    273

    105

    29

    139

    118

    Cys

    94

    25

    22

    47

    33

    Gln

    162

    68

    35

    59

    47

    Glu-

    234

    134

    17

    83

    51

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    Trp

    78

    32

    21

    25

    22

    Tyr

    184

    48

    53

    83

    62

    Val

    357

    144

    119

    94

    53

    Total

    4741

    1798

    930

    2013

    1400

    Freq 0.38 0.20 0.42 0.30

    A partir de cette table de (80 paramètres au complet), Chou et Fasman ont déduit la table suivante qui indique les paramètres conformationnels Pa et Pb en calculant le rapport des fréquences par exemple pour Ala:

      III.3.2.2 Paramètres

    Pa Ala= [(234 / 434)  /  (1798 / 4741)] = 1.42

    Hélice a

    Brin b
    Glu 1.51 Ha Val 1.70 Hb
    Met 1.45 Ha Ile 1.60 Hb
    Ala 1.42 Ha Tyr 1.47 Hb
    Leu 1.21 Ha Phe 1.38 hb
    Lys+ 1.16 ha Trp 1.37 hb
    Phe 1.13 ha Leu 1.30 hb
    Gln 1.11 ha Cys 1.19 hb
    Trp 1.08 ha Thr 1.19 hb
    Ile 1.08 ha Gln 1.10 hb
    Val 1.06 ha Met 1.05 hb
    Asp- 1.01 Ia Arg+ 0.93 ib
    His+ 1.00 Ia Asn 0.89 ib
    Arg+ 0.98 ia His+ 0.87 ib
    Thr 0.83 ia Ala 0.83 ib
    Ser 0.77 ia Ser 0.75 bb
    Cys 0.70 ia Gly 0.75 bb
    Tyr 0.69 ba Lys+ 0.74 bb
    Asn 0.67 ba Pro 0.55 Bb
    Pro 0.57 Ba Asp- 0.54 Bb
    Gly 0.57 Ba Glu- 0.37 Bb

    Les 20 acides aminés sont aussi classés selon les paramètres en propension à donner des structures secondaires

    H très favorables  ;   h favorables  ;  I Indifférents majeurs  ;  i indifférents mineurs  ;  b défavorables ;  B Très défavorables

      III.3.2.3 Méthode et règles

    La méthode utilise cette dernière table pour calculer des moyennes de paramètres P( ) sur des segments de longueur variant selon la structure secondaire 6 pour l’hélice, 5 pour le brin et 4 pour le coude. La prédiction est chronologique, d’abord les hélices, puis les brins puis les coudes dans les régions ni en hélice ni en brin.

  • Prédiction des hélices avec 4 conditions et 1 règle
    a) Formation de l’hélice 4aa/6h ou H => noyau d’hélice (le premier tour)
    b) Elongation des 2 côtés sauf quand un tétrapeptides a un P(a) < 1 et est du type: b4, b3i, b3h, b2i2, b2ih, b2h2, bi3, bi2h, bih2
    c) L’hélice complète doit avoir plus de 1/2 de H, h et moins de < 1/3 de B,b
    d) Pas de Pro sauf du côté Nter (3 1ers aa) alors Pro devient I

Tout segment de 6 aa (ou plus) avec un P(a)>=1.03 et P(a)>P(b)satisfaisant les conditions est prédit comme une hélice.

  • Prédiction des brins avec 4 conditions et 1 règle
    a) Formation du brin 3aa/5h ou H noyau de brin
    b) Elongation des 2 côtés sauf qaund un tétrapeptides a P(b)< 1 et est du type: b4, b3i, b3h, b2i2, b2ih, b2h2, bi3, bi2h, bih2
    c) Le brin complet  doit avoir plus de 1/2 de H, h et moins de < 1/3 de B,b
    d) Glu et Pro rares dans les brins

Tout segment de 5 aa (ou plus) avec un P(b)>=1,05 et P(b)>P(a) satisfaisant les conditions est prédit comme un brin béta

  • Elimination des régions chevauchantes (ambigües) 4 étapes
    a) Calculer les P(a) et les P(b) sur la zone chevauchante :
    si P(a) > P(b) alors Hélice
    si P(a)< P(a) alors brin
    b) Comparer les préférences conformationelles (H, h, I, i, b, B)
    c) Faire une analyse des limites (hélices et feuillets)
    d) Autres critères subjectifs
  • Prédiction des coudes

    a) Examiner des tétrapeptides qui satisfont: P(a) <P(t)> P(b)
    b) P(t)> 1.00
    c) Fi x F(i+1) x F(i+2) x F(i+3) >= 0.55 10-4 où F est la fréquence des acides aminés à la position correspondante du coude.

  III.3.2.4 Avantages

La méthode est manuelle et a été utilisable par les biologistes qui se sont précipités pour appliquer la méthode à toute séquence disponible

  III.3.2.5 Inconvénients

La méthode est difficile à implémenter, non reproductible, dépendante de l’expertise de l’utilisateur et présente une qualité de prédiction faible (Q3 = 52->56%)

  III.3.2.6 Améliorations

Plusieurs implémentations ont été proposées de la méthode. Une amélioration a été de confronter les résultats de la prédiction de structure secondaire avec ceux obtenus par la prédiction de la classe structurale par la méthode de Nakashima (1986) d’où le nom de la méthode de double prédiction (Deléage et Roux, 1987). Ces deux prédictions servent alors à optimiser les paramètres utilisés pour la prédiction finale. L’état conformationnel des résidus est prédit avec une qualité de 61,3% sur la base de Kabsch et Sander (1983).

III.3.3. La méthode de GarNIER Osguthorpe et Robson I (1978)

    III.3.3.1 Principe

   Dans cette méthode statistique, les auteurs ont cherché à mesurer l’influence que possède une acide aminé sur la conformation de tous les autres acides aminés de la séquence en utilisant l’ensemble des protéines de structures 3D connues. Pour cela, ils ont appliqué la théorie de l’information (moyennant quelques approximations) qui consiste à mesurer des paramètres statistiques sur un échantillon de petite taille et qui peuvent s’extrapoler sur des échantillons de plus grande taille sans perte de qualité. Cette information I (k, i) est mesurée en unité nat comme:

où p(k/i) est la probabilité d’observer l’état k (exemple hélice) sachant que l’acide aminé est du type i (exemple Ala)

  III.3.3.2 Paramètres

Dans ces tables la séquence est représentée de manière non conventionnelle 1 est l’acide aminé Cter et 17 est l’acide aminé Nter de  la séquence.

Table de l’influence des acides aminés sur la conformation hélice

Table de l’influence des acides aminés sur la conformation brin

Table de l’influence des acides aminés sur la conformation coude

Table de l’influence des acides aminés sur la conformation apériodique

L’observation de ces paramètres montre que lorsque la distance d’influence augmente l’influence mesurée statistiquement diminue et tend vers 0. En conséquence, GOR ont retenu que l’information est mesurable que de i-8 à i+8 l’acide aminé est trop éloigné. De plus, l’information est directionnelle (orientée) et certains acides aminés comme Arg et Lys ont des influences très différentes selon qu’elles sont situées avant ou après le résidu influencé.

Figure 38 Distribution des I(hélices) pour quelques acides aminés particuliers

  III.3.3.3 Algorithme

info(k,i) est le score conformationnel obtenu pour l’état k par l’acide aminé i

Exemple avec DC(k)=0 quel que soit k du clacul de la structure secondaire de R9 (central au segment)

Figure 39 Explication de l’algorithme

Si Info (Hélice, R9) = – 21
si Info (Brin, R9) = – 256
si Info (Coude, R9) = -115
et si Info (Apériodique, R9) = – 85

L’état retenu pour l’Arg 9 est donc hélice. Ensuite la fenêtre de calcul est déplacée d’un aa vers la droite l’acide aminé central à prédire est Y.

Les auteurs GOR ont observés que le résultat obtenu à l’issue de la prédiction était en général amorti. Ainsi une protéine riche en structure secondaire était prédite avec un déficit en structure secondaire alors qu’une protéine pauvre en structure secondaire était prédite avec un excès de structure. En conséquence, GOR ont mis en place un système de constante de décision afin “d’exagérer les tendances” et suivre au plus près les teneurs en structures secondaires. Ces constantes de décision ont été obtenues de manière empirique. Elles maximisent la qualité de prédiction sur un échantillon de protéines de structure 3D connues. Cette notion sera d’ailleurs retrouvée dans d’autres algorithmes. Le choix des constantes de décision DC(k) dépendent alors de la teneur en structure secondaire prédite à l’issue d’un premier tour prédictif avec DC(k=H,E)=0.
Le choix des constantes se fiat de la façon suivante:
si % (hélice+feuillet) < 20 alors DC(hélice) =158, DC(Feuillet) = 50, DC(k=T,C)=0.
si % 20 < (hélice+feuillet) < 50 alors DC(hélice) = – 75, DC(Feuillet) = – 88,DC(k=T,C)=0
si % (hélice+feuillet) >50 alors DC(hélice) = -100, DC(hélice) = – 88,DC(k=T,C)=0

si %(H+E) < 20  alors DC(hélice) =158, DC(Feuillet) = 50 dans le cas de Arg9, en appliquant les constantes de décision la prédiction devient:

Si Info (Hélice, R9) = – 179
si Info (Brin, R9) = – 306
si Info (Coude, R9) = -115
et si Info (Apériodique, R9) = – 85

L’état retenu pour l’Arg 9 devient apériodique.

Une fois tous les scores calculés, il est possible de tracer le profil des scores conformationnels pour tous les acides aminés

wpeE.gif (24036 octets)

Figure 40 Profils conformationnels

Ces courbes renseignent sur la confiance à accorder dans la prédiction dans une structure donnée. Exemple l’hélice centrée sur la position 56 du curseur est relativement probable car elle présente un fort score pour H +317 alors que tous les autres scores sont négatifs (E=-54,T=-113, C=-71). Il est ainsi possible d’établir des courbes de calibrage de la qualité en fonction de l’écart entre les score.

Figure 41 Courbe de calibrage

  III.3.3.4 Avantages

La méthode est facile à implémenter, automatique, instantanée, utilisable et insensible à l’homologie.

  III.3.3.5 Inconvénients

La méthode est peu évolutive même si les paramètres ont été remesurés en 1987 (Q3 = 57%)

  III.3.3.6 Améliorations

La méthode a été étendue à l’information de paires cad la mesure de l’influence d’un résidu de type i sur la conformation du résidu de type j à une position donnée. Le problème de la sous représentation de certaines paires (dont certaines ne sont jamais observées) a été abordé en simulant des interactions de paires.

III.3.4. La méthode DE plus proches voisins (Nearest Neighbor method)

    III.3.4.1 Principe

   Dans cette méthode (Sweet, 1986, Levin et al., 1986), le principe de base est que des peptides similaires ont tendance à adopter des repliements similaires et donc des structures secondaires identiques. Evidemment, il existe des exceptions notoires à ce principe général. En effet, Kabsch et Sander ont montré que à partir de la base PDB que 2 nonapeptides identiques pouvaient être observés avec des structures secondaires différentes. In est reste pas moins vrai que ce principe reste généralement valide et a permis de développer une méthode prédictive appelée méthode homologue.

Chaque heptapeptide (1-7, 2-8, . . ., n – 7 à n) de la protéine “à prédire” est comparé avec tous les heptapeptides de chaque protéine d’une base de données de référence :
Prot 1 (1-7 , 2-8, . . . , n1 -7 à n1)
Prot 2 (1-7 , 2-8, . . . , n2 -7 à n2)
.
Prot i (1-7 , 2-8, . . . , ni -7 à ni)
.
Prot n (1-7 , 2-8, . . . , n -7 à n)

  III.3.4.2 Paramètres

La comparaison de peptides implique l’utilisation d’une matrice de substitution adaptée pour la prédiction de structure secondaires des protéines. La matrice “homologue” de Levin obtenue de manière empirique de façon à permettre d’obtenir une bonne qualité de prédiction est la suivante:

Figure 42 Matrice de structure secondaire de Levin et al. (1986)

Sur la diagonale, les valeurs sont plus fortes ce qui tend logiquement à favoriser les identités entre acides aminés. Ceci dit la matrice est relativement creuse et amortie ce qui reflète le fait que les acides aminés peuvent adopter plusieurs conformations. Ce qui est important dans cette méthode est l’effet de moyenne par accumulation des scores. Ensuite, il est nécessaire de fixer un seuil de similarité au dessus duquel les peptides seront considérés comme similaires. Ce seuil a été fixé de manière empirique à 7.

  III.3.4.3 Algorithme

pour i=1 à M                    /* parcourir la sequence a prédire*/
{
pour l=1 à nombre_prot      /* pour toutes les protéines de la base*/
{
pour j=1 à Longueur(l)  /* parcourir la séquence de la banque*/
{
score=0             /* initialisation du score*/
pour k=1 à 7        /* pour chaque peptide de longueur 7*/
{
Score = score + SUBS[Seq[i+k]][Seq[j+k,l]]/* calcul du score*/
}
Si score >= seuil alors /* peptide similaire trouvé*/
pour k=1 à  7 faire
{
confo(i+k) = confo(i+k)+score /*increment du score */
}
}
}
}
}

Si un peptide similaire a été trouvé, la conformation observée du peptide de la base de référence est affectée au peptide à prédire (pour chaque acide aminé correspondant) avec la valeur de similarité comme score.

Exemples:

Soit le peptide à prédire  ……….AVKLMST………..
Effectuons la comparaison avec un peptide ILRVMNS

A – V – K – L – M – S – T
0 + 1 + 1 + 1 + 2 + 0 + 0
I – L – R – V – M – N – S

Le score de la comparaison est égal à 5 (5 < 7) donc le peptide est ignoré et le peptide suivant de la base de données est utilisé dans la comparaison suivante.

Supposons que le peptide suivant EVKLMST soit présent dans la base de référence avec la structure secondaire observée suivante: HHHHCCE

A – V – K – L – M – S – T
1 + 2 + 2 + 2 + 2 + 2 + 2 = 13
E – V – K – L – M – S – T
H – H – H – H – C – C – E

La comparaison en utilisant la matrice de substitution donne un score de 13 (13>7). La tableau de score est donc rempli de la manière suivante:

AA     Hélice     Etendu     Coil
A    
    13
V        13
K        13
L        13
M                             13
S                             13
T                  13

Supposons que le peptide suivant SLRLLTT soit présent dans la base de référence avec la structure secondaire observée suivante:CHHHHHE

A – V – K – L – M – S – T
1 + 1 + 1 + 2 + 2 + 0 + 2 = 9 Score >7
S – L – R – L – L – T – T
C – H – H – H – H – H – E

AA     Hélice     Etendu     Coil
A    
    13                    9
V        13+9
K        13+9
L        13+9
M           9                 13
S           9                 13
T                  13+9

Les scores sont ainsi accumulés jusqu’à l’épuisement des comparaisons. La conformation retenue en final pour chaque acide aminé sera celle de plus fort score. Avec l’exemple ci-dessus, en supposant que toutes les comparaisons aient été faites, la structure secondaire prédite du peptide AVKLMST serait HHHHCCE avec comme score respectif 13, 22,22,22,13,13,22

AA  Prédiction    Score
A     H            13
V     H            22
K     H            22
L     H            22
M     C            13
S     C            13
T     E            22

A la manière de la méthode GOR, les taux de prédiction sont ajustés grâce à des paramètres multiplicatifs:

Les scores après correction deviennent:

  • H(i) => H(i) x 0.8
  • T(i) => T(i) x 1.40
  • C(i) => C(i) x 1.05
  • S(i) => S(i) x 1.30

 III.3.4.4 Avantages

La méthode est facile à implémenter, automatique, utilisable, performante et évolutive. En, effet, la qualité a tendance à augmenter au fur et à mesure que des protéines homologues sont introduites dans la base de référence (tant que plus de signal que de bruit est ajouté). C’est pour cette raison que les méthodes auto-optimisées ont été développées.

 III.3.4.5 Inconvénients

La méthode n’est pas instantanée, et sa qualité est très sensible à l’homologie d’où les précautions à prendre dans l’établissement d’une base de données de référence qui soit pertinente. (Q3 = 62%)

La [base de données de référence] de Kabsch et Sander dans laquelle toutes les paires alignées présentent moins de 50% d’identité. La [base de 126 protéines] dans laquelle toutes les paires alignées présentent moins de 25% d’identité en 1993 Rost et Sander (1993).

La méthode implique environ 109 comparaisons pour prédire une séquence de 500 acides aminés en utilisant la base de Kabsch et Sander.

III.3.4.6 Méthode SIMPA

    Cette méthode SIMPA est une version améliorée de l’algorithme de base décrit au paragraphe précédent. La matrice de similarité utilisée est BLOSUM62, la fenêtre est de 13 à 17 résidus et le seuil de similarité a été optimisé. La qualité de prédiction est de Q3=67,7% pour une séquence et de Q3=72,8% en utilisant un alignement multiple (Levin, 1997).

  III.3.5. méthode AUTO-OPTIMISEE (SOPM)

    III.3.5.1 Principe

   Dans cette méthode (Geourjon et Deléage, 1994), le principe de base est une sélection des protéines servant de base de données de référence à la méthode NNM. L’idée était double: augmenter la qualité prédictive et diminuer le temps de calculs. Pour cela, le principe est :

1) N’utiliser que des protéines homologues (ou de même classe structurale) pour constituer la base de référence

Figure 43 Principe de constitution dynamique de la base de référence

2) Optimiser la qualité de prédiction sur la base de référence au niveau de la teneur prédite par rapport à la teneur en structures secondaire observée.

3) Utiliser les paramètres optimisés pour prédire la structure de la protéine d’intérêt.

  III.3.5.2 Algorithme prédictif

Figure 44 Organigramme de la méthode SOPM

 III.3.5.3 Avantages

La méthode est automatique, utilisable, performante et évolutive.

 III.3.5.4 Inconvénients

La méthode n’est pas instantanée, sa qualité est très sensible à l’homologie avec les protéines de la base de référence (Q3 = 69% sur 234 protéines à 50% Id).

II.3.6. méthode AUTO-OPTIMISEE avec ALIGNEMENTS (SOPMA)

    III.3.6.1 Principe

   Dans cette méthode (Geourjon et Deléage, 1995), il s’agit d’utiliser les familles de protéines afin d’exploiter les effets de moyennes.

Figure 45 Méthode SOPMA

III.3.6.2 Algorithme prédictif

La méthode consiste tout d’abord à rechercher l’ensemble des protéines homologues  à la séquence de départ dans SWISS-PROT. L’algorithme utilisé dans SOPMA est FASTA mais un autre programme peut aussi être utilisé. Ensuite, les séquences des homologues sont alignées de manière multiple avec CLUSTALW, mais tout autre programme d’alignement multiple peut être utilisé. Ensuite, la structure secondaire de chaque séquence de l’alignement est prédite en utilisant la méthode SOPM. A cette étape, le résultat est un jeu de structures secondaires qui sont alignées sur la base de l’alignement des séquences. Dès lors, la structure secondaire de la séquence à prédire est déduite en comparant la moyenne des scores conformationnels par position dans l’alignement.

III.3.6.3 Avantages

La méthode est automatique, performante et évolutive.

III.3.6.4 Inconvénients

La méthode n’est pas instantanée, sa qualité est très sensible à l’homologie avec les protéines de la base de référence (Q3 = 69% sur 126 protéines à 25% Id). La méthode nécessite l’implantation sur un serveur puisque les bases de données doivent être maintenues à jour. La méthode rend la comparaison de résultats obtenus sur des protéines différentes difficiles car très dépendante de la constitution à la volée de sous-bases.

III.3.7. méthode phd rOST et sANDER

    III.3.7.1 Principe

   Cette méthode développée par Rost et Sander (1993) utilise les réseaux de neurones pour prédire la structure secondaire. Les réseaux de neurone ont été mis au point par les informaticiens initialement pour le Perceptron (machine de vision artificielle). Ils ont été aussi largement utilisés dans les système d’apprentissage de la parole. Le système est basé sur le fonctionnement de neurones formels. Un neurone formel mime le fonctionnement d’un neurone biologique. Un neurone formel j est un système qui peut recevoir des informations (W i, j) venant du système amont auquel il est connecté. Si (W i, j) = 0, le système en amont est inactif. Le neurone formel fait ensuite la somme S(j) des informations reçues.

 

Figure 46 Fonctionnement d’un neurone formel

Si cette somme est supérieure à un seuil (plusieurs fonctions de calcul de seuil peuvent être utilisées pour activer le neurone), celui-ci est activé. Il envoie alors ses informations (W j, i’) vers le système en aval. Le fonctionnement d’un seul neurone formel ne permet pas de séparer des problèmes non linéairement séparables. C’est pourquoi dans ce cas (le cas général), le système est composé de plusieurs neurones qui constituent une couche de neurones.

wpe19.gif (9937 octets)

Figure 47 Organisation en couches

De plus, une organisation en couches permet également de moduler le fonctionnement global du système et constitue alors un réseau de neurones. Dans un réseau de neurones formels, chaque neurone d’une couche est connecté à tous les neurones de la couche en amont et de la couche en aval (par différence avec un neurone biologique).

III.3.7.2 Apprentissage

Une des caractéristiques principale d’un réseau de neurones est qu’il doit calculer les W i, j à partir d’un jeu de données qui lui ont été présentées de manière conjointe avec les sorties qui correspondent (jeu de données d’apprentissage). Le réseau un fois optimisé converge vers les meilleurs (W i, j) de façon à optimiser les sorties à partir des entrées qui lui sont fournies. C’est ce qu’on appelle l’apprentissage. Une des difficultés qui se présente est de savoir si les données utilisées pour cet apprentissage sont les plus pertinentes. De même, il faut tester que le réseau est capable de généralisation cad trouver les bonnes sorties à partir de données qui ne lui ont jamais été présentées (jeu test de données). Dans le cas de la prédiction de structures secondaires, l’échantillon de 126 protéines a été coupé de différentes façons en 2 jeux: une jeu d’apprentissage et un jeu test. Une extension de ce mode de validation est le “jacknife” ou autant de jeux d’apprentissages que de jeux tests possibles sont créés et pour lesquels chaque protéine est sortie du jeu complet (“leave-one-out”).

wpe1A.gif (14853 octets)

Figure 48 Les réseaux de PHD

Le système utilisé dans PHD combine 2 réseaux de neurones successifs et les alignements multiples de séquences en entrée: une premier réseau pour passer de la séquence à la structure, un deuxième réseau “lisse” les résultats de prédiction de structures. Enfin un système décisionnel à base de vote majoritaire définit la prédiction finale .

III.3.7.3 Avantages

La méthode est automatique, optimisée, performante, rapide en production et évolutive. Ce type de méthode est parmi les plus performants actuellement disponibles.

III.3.7.4 Inconvénients

La méthode est très rapide, et sa qualité est optimale (Q3 = 72% sur 126 protéines à 25% Id). cependant, la méthode PHD ne permet pas d’inférer une compréhension des mécanismes prédictifs. Elle fonctionne comme une “boîte noire”. De même, les paramètres du réseau (nombre de neurones par couche et nombre de couches) sont fixés de manière empirique. Rien ne garantit qu’une autre architecture de réseau ne donne pas de meilleurs résultats.

  III.3.8. Autres méthodes

   III.3.8.1 Méthode DSC

    Cette méthode prend en compte différents aspects de la prédiction de structure secondaire pour les combiner en un vecteur de 10 attributs. La prédiction de structure secondaire est réalisée à partir de ces vecteurs en utilisant une discrimination linéaire dont les résultats sont filtrés par un ensemble de règles. La valeur Q3 est de 70,1% (King et Sternberg, 1996).

   III.3.8.2 Méthode PREDATOR.

  Cette méthode tente d’inclure des informations de structure en prédisant les résidus potentiellement liés par une liaison hydrogène à travers des statistiques d’occurrences des résidus dans différents types de ponts b et des paires (i,i+4) de résidus dans les hélices a. La qualité de prédiction est de 68%. En utilisant des séquences similaires, la valeur de Q3 est portée à 75% (Frishman et Argos, 1996).

    III.3.8.3 Méthode HNN.

    La méthode HNN (Hierarchical Neural Network; Guermeur, 97) utilise également deux réseaux de neurones pour la prédiction. Elle constitue une amélioration de la méthode de Qian et Sejnowski (88), elle-même dérivée du système NETtalk. L’amélioration résulte principalement de la mise en oeuvre d’architectures mieux adaptées à la tâche, faisant en particulier intervenir des connexions récurrentes, ce qui permet la prise en compte d’un contexte plus important dans la prédiction, tout en diminuant le nombre de paramètres d’un ordre de grandeur. Elle résulte également de l’introduction explicite des paramètres physico-chimiques parmi les prédicteurs utilisés par le second réseau (structure-to-structure network). La qualité de prédiction est Q3=65.4% en utilisant la seule séquence à prédire.

 

IV.1 ModéLisation moléculaire

IV.1.1 INTRODUCTION

La modélisation moléculaire est un vaste domaine qui regroupe:

  • La modélisation de construction de modèles 3D

  • La modélisation d’optimisation de structures expérimentales

  • La modélisation de simulation des mouvements atomiques

Toutes ces méthodes ont recours à des coordonnées atomiques de structures de protéines qui sont déposées dans les fichiers au format PDB. Il s’agit d’un format à base d’étiquette. Exemple d’étiquette ATOM:

REMARK FILENAME=”V_MINI_5.PDB”
ATOM      1  CA  MET     1      -0.399  20.462 -11.874  1.00  0.00
ATOM      2  HA  MET     1      -0.827  19.859 -11.089  1.00  0.00
ATOM      3  CB  MET     1       0.010  19.571 -13.053  1.00  0.00
ATOM      4  HB1 MET     1       1.081  19.428 -13.041  1.00  0.00
ATOM      5  HB2 MET     1      -0.279  20.044 -13.980  1.00  0.00
ATOM      6  CG  MET     1      -0.683  18.212 -12.934  1.00  0.00
ATOM      7  HG1 MET     1      -1.020  17.895 -13.910  1.00  0.00
ATOM      8  HG2 MET     1      -1.532  18.296 -12.271  1.00  0.00
ATOM      9  SD  MET     1       0.483  16.996 -12.273  1.00  0.00
ATOM     10  CE  MET     1      -0.650  16.201 -11.107  1.00  0.00
ATOM     11  HE1 MET     1      -0.128  15.414 -10.579  1.00  0.00
ATOM     12  HE2 MET     1      -1.484  15.778 -11.644  1.00  0.00
ATOM     13  HE3 MET     1      -1.014  16.936 -10.402  1.00  0.00
ATOM     14  C   MET     1       0.810  21.246 -11.346  1.00  0.00
ATOM     15  O   MET     1       0.910  22.444 -11.535  1.00  0.00
ATOM     16  N   MET     1      -1.425  21.397 -12.428  1.00  0.00
ATOM     17  HT1 MET     1      -1.044  21.874 -13.270  1.00  0.00
ATOM     18  HT2 MET     1      -1.671  22.108 -11.709  1.00  0.00
ATOM     19  HT3 MET     1      -2.277  20.863 -12.692  1.00  0.00
ATOM     20  N   ASP     2       1.727  20.570 -10.686  1.00  0.00
ATOM     21  HN  ASP     2       1.615  19.607 -10.554  1.00  0.00
ATOM     22  CA  ASP     2       2.943  21.252 -10.133  1.00  0.00
ATOM     23  HA  ASP     2       3.567  20.537  -9.623  1.00  0.00
ATOM     24  CB  ASP     2       3.676  21.804 -11.352  1.00  0.00
ATOM     25  HB1 ASP     2       3.322  22.800 -11.564  1.00  0.00
ATOM     26  HB2 ASP     2       3.477  21.165 -12.195  1.00  0.00 …..

Un des problèmes classique des fichiers PDB est la nomenclature des atomes. Un autre problème est la visualisation des structures 3D.

BIOINFO_3D_1.jpg (30925 octets)BIONFO_3D_2.gif (19202 octets)BIOINFO_3D_3.gif (37782 octets)

BIONFO_3D_4.gif (53494 octets)BIOINFO_3D_5.gif (107770 octets)BIONFO_3D_6.jpg (83002 octets)

Visualisations de la structure 3D de la crambine (1CRN)

Un grand nombre de programmes existent:

  • [Rasmol] Rapide, performant, simple et portable
  • [Chime] Version “Plug-in” de Rasmol commercialisé par [MDLI]
  • [vmd] Visualisation de dynamiques
  • [Viewer Lite] Simple (liens DDE), pratique (copier/coller de structures) et très bon graphisme (surfaces, etc..)
  • [SPDBV] Outil complet de modélisation moléculaire (modification de géométrie, mutations, construction…)

 IV.2 Mécanique moléculaire [En savoir plus]

IV.2.1 Le champ de force

La mécanique moléculaire (la “physique des ressorts à boudin”) a pour objectif d’approximer l’énergie d’une molécule en appliquant les lois de la mécanique avec des constantes empiriques (on parle de méthode empirique). L’ensemble des constantes de forces est appelé “champ de force”. L’énergie globale d’une molécule peut se décomposer en la somme de termes impliquant des atomes liés de manière covalente ou pas.

            Etotale= Eliée+ EnergieNon liée

EnergieNon liée=EVDW + EElectrostatique + Eliaisons H

Energie liée
Energie non liée

La liaison hydrogène est une interaction d’importance intermédiaire (8 à 20 kJ/mol) entre un hydrogène déficient en électron et un atome de forte densité électronique portant un doublet d’électrons libres. Le modèle électrostatique, vrai lorsque la distance A-B est grande, n’est pas suffisant pour décrire ces interactions particulières. A plus
courte distance, les phénomènes de répulsion et de délocalisation électronique interviennent. Plusieurs types de fonctions d’énergie potentielle ont été développés pour tenir compte de la directivité de la liaison hydrogène. Actuellement, les fonctions les plus utilisées permettant d’exprimer ces interactions dans des systèmes moléculaires importants sont souvent simplifiées:
La fonction “10-12″ E h = A/r ij 12 – B/r ij 10
La fonction “6-12″ E h = A’/r ij 12 – B’/r ij 6
Les coefficients A, B, A’, B’ sont spécifiques des liaisons hydrogène et l’interaction électrostatique est calculée par la loi de Coulomb classique.

Il est remarquable de constater que les termes liés sont toujours positifs alors que l’énergie non liée (Van der Waals). ceci a pour conséquence que plus la molécule est grosse (N atomes), le terme non lié évoluant en N² et celui lié aux liaisons en N, plus l’énergie est négative. Donc la valeur absolue de l’énergie ne préjuge pas de la qualité de la structure. Parmi les autres biais possibles, on peut citer la nature du champ de force. En effet plus les constantes Kb, Kq,Kd et Kw seront élevées, plus l’énergie résultante sera élevée. Une autre conséquence est que le nombre d’atomes pris en compte dans le calcul des interactions non liés est limité à une distance appelée “distance de troncature“. Cette distance est en générale de 8-10Å.

Exemples de profils de l’énergie de liaison et celle de Van der Waals (potentiel de Lennard-Jones) en fonction de r (pour une distance ro=1 Å) et A=4e (1000,500,100)

 Il faut souligner qu’un grand nombre de champ de forces existent en fonction des molécules traitées (protéines, lipides, acides nucléiques, ligands, métaux, etc..) et des objectifs finaux (modélisation avec eau explicite, sous contraintes, etc..). Citons par exemple AMBER, CHARMM et GROMOS. Les méthodes quantiques qui prennent en compte de manière explicite les orbitales électroniques sont plus rigoureuses mais aussi coûteuses en temps de calcul (en N4 si N est le nombre d’orbitales prises en compte). Elles sont réservées à de petites molécules et peuvent être appliquées sur une partie seulement d’une molécule (site actif par exemple.) Dans ce cas, on parle de méthodes hybrides QM/MM. A noter qu’un modèle intermédiaire existe (méthodes semi-empiriques) dans lequel uniquement les électrons de valence sont pris en compte. Soulignons enfin que la technique de DFT (Density Fonctional Theory) permet de réduire considérablement le temps de calcul pour les méthodes quantiques.

IV.2.2 Minimisation d’énergie

La fonction énergie interne, définie précédemment, est une fonction de 3N variables, où N est le nombre d’atomes du système étudié. C’est cette fonction objective F(x) qu’il faut minimiser où x représente l’ensemble des coordonnées de la molécule. Une telle fonction présente, dans le cas général, un minimum absolu ou global et un grand nombre de minima relatifs ou locaux. Il n’existe pas de méthodes analytiques ou numériques permettant de déterminer la position de x du minimum absolu: les algorithmes que nous allons citer nous conduisent dans le meilleur des cas dans un minimum relatif de faible énergie et l’on ne peut qu’espérer que ce minimum ne soit pas trop éloigné en énergie du minimum absolu. Il faut donc choisir entre les différentes méthodes (minimiseurs) qui différent par leur efficacité, leur rayon de convergence, leur convergence vers le minimum et le nombre d’opérations qu’elles demandent.

La minimisation d’énergie consiste à trouver le minimum de la fonction somme des contributions énergétiques (liées+non liées). Elle a pour objectif de trouver la valeur minimale de l’énergie potentielle (approximée par la mécanique moléculaire) de la protéine.

BIOINFO_energie_minimisation.gif (4676 octets)

Principe de la minimisation d’énergie

La minimisation de l’énergie potentielle d’une molécule consiste donc à résoudre un problème d’optimisation non-linéaire à plusieurs variables indépendantes. Il s’agit d’optimiser la fonction objective F(x) et de trouver un nouveau jeu de coordonnées x* tel que F(x*) soit inférieur à F(x). Il est cependant nécessaire d’introduire une estimation initiale x o qui, dans le cas de la minimisation de l’énergie potentielle d’une molécule, sera le jeu de coordonnées brutes. On recherche le minimum dans la direction s de la kième itération. Les diverses méthodes ne diffèrent que par le choix de la direction sk et la détermination du minimum dans une direction donnée. Il existe de nombreux algorithmes de minimisation pour les fonctions à 3N variables où N est le nombre d’atomes du système à étudier.

Principe de base: A partir d’une géométrie très approximative, on recherche le jeu de coordonnées cartésiennes qui réduit à son minimum la somme de toutes les contributions énergétiques dues aux déformations des coordonnées internes et aux interactions entre atomes non-liés. En principe, il suffit de prendre la dérivée première de l’énergie stérique par rapport à chacun des degrés de liberté de la molécule et de trouver l’endroit sur l’hypersurface énergétique où, pour chaque coordonnée ri , (dE/dri ) = 0. Les procédures pour atteindre ce but sont de deux types: les unes utilisent uniquement la pente de la surface (dérivée première), les autres, à la fois cette pente et la courbure de la surface (les dérivées première et seconde). Presque toutes les méthodes de minimisation ont au moins un point en commun: on commence en un endroit donné de l’hypersurface et on descend vers le minimum le plus proche, sans savoir si ce minimum est local ou absolu. Les méthodes utilisent des algorithmes itératifs.

Les techniques de minimisation sont de deux types principaux celles utilisant:

  1. la première dérivée (plus grande pente ou steepest descent et gradient conjugué. Ces méthodes permettent de faire diminuer très rapidement l’énergie mais ne trouvent que des extrema (minimum et maximum) et sont peu convergentes dans la mesure ou beaucoup les déplacements des atomes sont faits de manière aléatoire et que les oscillations à proximité d’un puits est possible. Actuellement, une bonne stratégie consiste à utiliser la plus grande pente pour 1-5000 itérations (steepest descent) suivie de gradients conjugués quelques centaines de cycles.

  2. la dérivée seconde (Newton-Raphson). Elles sont plus coûteuses en temps de calcul (inversion de grosses matrices) mais sont plus convergentes (même si les phénomènes d’oscillation au fond d’un puits sont toujours possibles). En résumé, l’optimisation complète selon la méthode Newton-Raphson demande de calculer la matrice complète des dérivées secondes (matrice des constantes de force). Cette matrice contient 3N X 3N éléments pour une molécule de N atomes. Les dimensions 3N correspondent aux trois degrés de mouvement pour chaque atome. L’optimisation de la géométrie requière cependant seulement 3N-6 degrés de liberté puisque les trois translations et les trois rotations ne sont pas accompagnées par des changements d’énergie. Les constantes de forces sont alors manipulées sous la forme d’une matrice de dérivées secondes. Revenons maintenant à l’inconvénient majeur de la méthode Newton-Raphson à matrice complète, à savoir le temps nécessaire à l’inversion de la matrice et la quantité d’informations qu’il faut mettre en mémoire. Son application est donc réservée aux petits systèmes (maximum quelques centaines d’atomes), et dans la phase finale de minimisation. Cette méthode nécessite en effet beaucoup d’espace mémoire (table de 2ème dérivés) et un temps de calcul proportionnel à N3. Pour de grands nombres d’atomes, la méthode Adapted Basis Set Newton-Raphson permet de contourner ce problème, tout en conservant les avantages des méthodes de second ordre en éliminant la coopérativité entre les atomes et comporte seulement 9N éléments matriciels au lieu d’une matrice complète 3Nx3N=9N2.

La minimisation est utilisée en début (par exemple la génération de molécules de départ en RMN) et en phase finale d’optimisation de structure ou bien lorsque le champ de force est modifié au cours d’une optimisation de structures. Elle permet alors de faire diminuer très rapidement l’énergie de la molécule en l’adaptant au champ de force utilisé. Elle garantit de trouver le minimum local le plus proche mais le résultat final dépend fortement du choix de la conformation initiale. Enfin, un des critères pour stopper la minimisation est que la variation d’énergie entre 2 étapes doit être supérieure à une valeur fixée par l’utilisateur (exemple DE = 0,05kJ).

La minimisation d’énergie ne permet pas d’obtenir des réarrangements structuraux importants. Elle permet au mieux de positionner des chaînes latérales en minimisant les mauvais contacts. Cependant, elle est incapable de franchir des barrières énergétiques.

Lorsqu’une énergie moléculaire est donnée, il faut toujours l’associer au nombre d’atomes, au système moléculaire étudié et au champ de force utilisé.

IV.3 DYNAMIQUE moléculaire

Les méthodes de minimisation ont la particularité de faire décroître à chaque pas la fonction F; ces méthodes ne peuvent donc pas échapper au minimum local proche de la structure de départ, et ont par conséquent, un rayon de convergence toujours restreint. La méthode de recuit simulé, développée par Kirkpatrick (1983), autorise la fonction F à augmenter momentanément afin de franchir des barrières d’énergie pour retomber dans un minimum plus profond. Le franchissement de ces barrières permet d’aller au delà des minima locaux au voisinage de la structure initiale pour explorer de façon plus extensive l’espace conformationnel accessible, afin de découvrir des minima plus profonds et plus éloignés de la structure initiale que les minima locaux.

Principe du recuit simulé

La dynamique moléculaire

 

Glossaire

Algorithme   
Bioinformatique  Discipline qui concerne l’ensemble des moyens (concepts, méthodes, implémentations, logiciels, etc…) en relation avec l’analyse informatisée des données (au sens large) biologiques.
MIME Acronyme de “Multipurpose Internet Mail Extensions”, norme utilisée pour annexer des fichiers binaires (graphiques, tableurs, texte formaté, sons, exécutables, etc.) à des messages ordinaires de courrier électronique.
Heuristique Approximation ou simplification d’algorithme plus ou moins justifiée qui permet de réduire de manière astucieuse le temps de calcul ou la complexité d’un algorithme.
Homologie Propriété partagée par des protéines qui ont un ancêtre commun. Elle peut s’inférer des séquences si le pourcentage de similarité est supérieur à 30% d’identité. Compte tenu de la connotation évolutive qu’elle comporte, elle est transitive. A ne pas utiliser dans forte ou faible homologie.
Génomique structurale Projet ayant pour but la détermination de structures protéiques 3D à grande échelle issues par exemple d’un séquençage de génome complet.
Matrice de points  Diagramme bidimensionnel appelé aussi “dot plot” servant à comparer 2 séquences.
Similarité La similarité est une quantité d’identité qui se mesure par le pourcentage d’identité ou (de conservation) après alignement de séquence. Si la similarité est forte (>30% d’identité), les protéines sont très probablement homologues.

 

 

LIENS BIOINFORMATIQUES

 

Biodatabanks
DBcat Database of databases
SWISS-PROT Anotated Protein database
ProDom Protein Domain detection
PROSITE Site and signature database
EMBL Nucleotide databank
Genbank Nucleotide databank
DDBJ DNA databank of Japan
G D B Genome database
S C O P Structural Classification of Proteins
I M G T Immunogenetics database
Enzyme database Enzymes Database
Medline Bibliographic database
TreeBase Phylogenetic database
ReBase Restriction Enzyme database
OMIM Online Mendelian Inheritance in Man
KEGG Kyoto Encyclopedia of Genes & Genomes
SP 2000 Species database
Enzymes et voies métaboliques
Infos bioinformatiques
BioInform
BioTaq
Oxford Centre for Molecular Sciences in Oxford UK
Biomolecular Engineering Research Center in Boston USA
Centres de séquençages
Genoscope
Genome Center
Genethon
Genome list
Moteurs de recherche sur le Web
Altavista USA
Altavista France
Yahoo
Nomade
Webcrawler
Hotbot
Gratissimo
Multimania
Lycos
Excite
Tucows Software search
Google

Logiciels bioinformatiques séquences
ANTHEPROT Analyze The Proteins
ANTHENUC Analyze The Nucleic acids
ANTHENUC Analyze The Nucleic acids
Dicroprot Circular dichroïsm software
MPSA Multiple Protein Sequence Analysis
ClustalX Clustal interface
Treeview Phylogenetic trees
GeneDoc Sequence analysis software
NTI Nucleic acid viewer Informax viewer
SecTrace Secondary structure plot
Logiciels bioinformatiques structures
Rasmol Molecule display also available here
MolScript Molecular display
Raster3D Molecular display
Vmd Molecular display
WebLab viewer Molecular Simulations software
Logiciels bioinformatiques modélisation
Swiss-PDB viewer Molecular modeling software
Procheck Structure quality analysis
CNSSolve Molecular Structure Determination
Autres logiciels
BioCat Biocatalog of Software
Free software Catalog at biotech-resource
Genamics Software catalog
Ghostcript Postscript viewer
Editeurs de revues scientifiques
Editions MASSON
Editions Medicales Internationales
SPRINGER
Tec& Doc – Lavoisier
Les Editions de Physiques VCH Publishers

Servers bioinformatiques
PBIL Pôle BioInformatique Lyonnais
ExPASy Expert Protein Analysis System
NBIF National Biotechnology Information Facility
NCBI National Center for Biotechnology Information
INFOBIOGEN
EBI European Bioinformatics Institute
RCSB Resource Center for Structural Biology
NPSA Network Protein Sequence @nalysis
Argonne Argonne Laboratory
EMBL European Molecular Biology Laboratory
Los Alamos Los Alamos Laboratory
Staden WWW package
Solvent accessibility prediction Protein accessibility from sequence
HCA Hydrophobic Cluster Analysis
Helical wheel projection at U.Ottawa (Canada)
WHAT Sequence analysis at UCSD
Polish bioinformatic site for sequence analysis
Protein structure prediction, sequence, and structure analysis Columbia University
Cours de bio-xxx stats et info
Biologie Moléculaire (FR)
Graphic gallery in Biology
Biochimie (FR) Bio Netbook de Pasteur
Bio Cellulaire (USA)
Cours de biochimie à Montpellier (FR)
Cristallographie (USA) UCSD
Cours général (US) de Bioinformatique Université de Bielefeld
Encyclopédie hypertexte (US) Massachussett Institute of Technology
Unix Cours de l’ENST
Protéines at Friedli’ Enterprises
Statistiques chez Statsoft
Cours de RMN à Nice Sophia-Antipolis
Cours de RMN à Lille

Remerciements

    Je souhaite remercier un certain nombre de mes collaborateurs qui m’ont conseillé dans la réalisation du cours. De même, ce cours comporte de nombreux liens sur des serveurs Web de bioinformatique qui maintiennent à jour des données et sur lesquels des informations ont été glanées. Que tous ceux qui ont contribué de près ou de loin à ce cours soient ici remerciés.

  • [NCBI] pour l’accès à Medline dans les références bibliographiques

  • A. Danzart (ENST-Paris) pour la page sur les commandes Unix

  • H. Bourzoufi (Université de Valenciennes) pour le cours Unix

  • L’école F3I de l’Université François Rabelais de TOURS (Cours microprocesseur)
  • Central Web pour le cours sur les réseaux et service de noms

 

 

 

 

 

Đăng trong Computer Science | Leave a Comment »

Le Rubik’s cube (cube hongrois)

Đăng bởi Hoàng Vinh on Tháng Năm 6, 2007

Présentation et quelques chiffres

Le Rubik’s cube (cube hongrois)

Souvent* comme ça … Parfois* comme ça …
*  “Souvent ” = 43 252 003 274 489 859 999 fois sur 43 252 003 274 489 856 000.
et “Parfois ” = 1 fois sur 43 252 003 274 489 856 000

La naissance du Rubik’s cube
Erno Rubik a eu l’idée du Rubik’s cube au début 1974.
Le cube a fait son apparition en 1977 en Hongrie et est devenu un phénomène mondial en 1980.

Nombre de combinaisons possibles
Il y a  43 252 003 274 489 856 000 combinaisons possibles du cube 3×3x3.
(Il y en a seulement 7! x 36 = 3 674 160 pour le cube 2×2x2…)

Championnats du monde
Au début des années 80, l’engouement pour le Rubik’s cube a donné lieu à des championnats du monde où il s’agissait de résoudre le cube le plus vite possible.
Le record du monde pour reconstruire le cube est de … 22,95s . Il a été réalisé par Minh Thai (un étudiant Américain de Los Angeles) en 1982 au championnat du monde à Budapest en Hongrie.
Allez, un peu d’entrainement ! Personnellement, j’en suis à environ 5 min…

Rubik’s cube et mathématiques
Le Rubik’s cube est un objet éminemment mathématiques puisque, outre les quelques calculs du nombre de combinaisons et la vision de la géométrie dans l’espace qu’il développe efficacement, le cube hongrois illustre à merveille une branche de l’algèbre qui s’appelle la théorie des groupes.

La théorie mathématique dit qu’il suffit d’une vingtaine de mouvements (entre 24 et 29) pour reconstruire le cube à partir de n’importe quelle position. L’algorithme donnant ces mouvements s’appelle algorithme de Dieu, mais n’est pas connu actuellement.
Le mathématicien Thistlethwaite (professeur à l’université du Tenessee) a donné un algorithme donnant au maximum 52 mouvements pour remettre le cube en état. Cet algorithme a été amélioré et le nombre d’étapes nécessaires a été ramené à 42, puis à 29.
Il existe des programmes informatiques qui résolvent la plupart des configurations en moins de 20 mouvements.
L’inventeur Erno Rubik  

Erno rubik est né en Hongrie, à Budapest, en 1944.
Il obtient un diplôme d’architecte de l’Université de l’Enseignement technique de Budapest en 1967.
Il obtient ensuite, en 1970, un diplôme de designer à l’Ecole supérieure des Arts décoratifs, dans la section architecture intérieure,où il est professeur d’architecture.

L’enseignement est le meilleur moyen d’apprendre, j’en suis toujours convaincu; en communiquant nos connaissances nous continuons à découvrir et à apprendre. En outre, cette activité nous oblige chaque fois à une nouvelle formulation de ce que nous désirons exprimer, nous force à de nouveaux essais, à la recherche constante de nouvelles méthodes. Les liens permanents avec la jeunesse nous aident à rester jeunes d’esprit, nous rendent capables de nous étonner constamment.

Erno Rubik, 1981

Erno Rubik inventa le Rubik’s cube au début de l’année 1974. Son premier cube était en bois, tenu par des élastiques.




Les mouvements impossibles du Rubik’s cube 3×3x3.  

Il y plusieurs choses que l’on ne peut pas faire avec un Rubik’s cube 3×3x3 :
faire à manger, tondre la pelouse, passer pour quelqu’un de normal, … etc

Mais il y également des configurations du cube que l’on ne peut pas atteindre avec des manipulations légales du cube (je veux dire sans tournevis …). Il y exactement trois choses que l’on ne peut pas faire.

Avec un Rubik’s cube 3×3x3, il est impossible de :

  1. Permuter uniquement deux CA (ou deux CS) sans rien changer d’autre.

    Les configurations    et      sont impossibles.

  2. Faire pivoter sur eux-mêmes un nombre impair de CA.

    La configuration est impossible.

  3. Faire pivoter sur lui-même un seul CS. Plus exactement, la somme des angles de rotation de tous les CS doit être un multiple de 360°.

    La configuration est impossible.

Ainsi, si on démonte un Rubik’s cube 3×3x3, et qu’on le remonte au hasard, on 1 chance sur 12 de pouvoir le remettre en position standard (avec des manouevres du cube, sans le redémonter!).

Voici l’explication :

  • On a 1 chance sur 2 qu’après avoir réarrangé le cube, tous les CA et les CS soient bien placés
    (une fois sur deux, il reste uniquement deux CA (ou deux CS) mal placés).
  • On a 1 chance sur 2 que l’orientation totale des CA soit bonne, ie qu’il y ait un nombre pair de CA pivotés
    (si on reconstruit le cube , 1 fois sur 2, il restera à la fin un CA tout seul qui est mal orienté)
  • On a 1 chance sur 3 que l’orientation totale des CS soit bonne
    (si on reconstruit le cube , 2 fois sur 3, il restera à la fin un CS tout seul qui est mal orienté, dans un sens ou dans l’autre)

La probabilité que le cube soit possible à remettre dans l’état standard en le remontant au hasard à partir des pièces est donc 1/2 * 1/2 * 1/3 = 1/12




Calcul du nombre de combinaisons.  

Nombre de positions possibles des cubes sommets .
Il y a 8 cubes sommets et on peut amener un cube sommet en n’importe quelle position sommet.
Il y a donc 8 places possibles pour le 1er cube sommet, 7 pour le 2ème cube sommet, 6 pour le 3ème et ainsi de suite…
Il y a donc 8×7x6×5x4×3x2×1 = 8! possibilités de distribuer les cubes sommets dans les positions sommets.

Or chaque cube sommet a 3 orientations possibles. Comme on a 8 sommets, il faut donc multiplier le nombre 8! par 38.

Mais il y a une contrainte sur l’orientation des cubes sommets : si on fixe l’orientation de 7 cubes sommets, alors celle du 8 ième est parfaitement déterminée (Voir la théorie des groupes, ou bien, prenez votre cube et essayez de le reconstituer avec seulement un cube sommet mal orienté … Vous serez convaincus !) .
Il faut donc en réalité multiplier le nombre 8! par seulement ( !!!) 37.

Il y a donc 8! x 37 configurations possibles des cubes sommets.

Nombre de positions possibles des cubes arêtes .
Il y a 12 cubes arêtes et on peut amener un cube arête en n’importe quelle position arête.
On a donc 12! possibilités de distribuer les cubes arêtes dans les positions arêtes.
Comme chaque cube arête a 2 orientations possibles, il faut multipler 12! par 212 .
Il y a également une contrainte sur l’orientation des cubes arêtes : l’orientation des 11 cubes arêtes détermine celle du 12 ième.
Il ne faut donc en réalité multiplier le nombre 12! que par 211.
Il y a donc 12! x 211 configurations possibles des cubes arêtes.

Les cubes centraux sont fixes donc n’interviennent pas dans le calcul.

Une dernière contrainte :
Lorsque tous les cubes sont bien positionés sauf 2, l’emplacement des ces deux derniers cubes est imposé (il n’est pas possible de permuter seulement deux cubes-arêtes ou seulement deux cubes-sommets), donc il y 2 fois moins de combinaisons possibles.

Le nombre de combinaisons possibles du cube de Rubik est donc finalement :

8! x 37 x 12! x 210 = 43 252 003 274 489 856 000

.
C’est évidemment l’ordre du groupe de permutations du cube de Rubik.

La décomposition en facteurs premiers de ce nombre est : 11 x 72 x 53 x 314 x 227

Exercice ( ! ) : le nombre de combinaisons possibles du Rubik’s Revenge (cube 4×4x4) est
8! * 37 * 24! * (24! / (6 * 4!)) = 235731790397475540746817350638390943894470656000000000 …




Méthodes de résolutions du Rubik’cube.  

Ma méthode

Il y en a d’autres dans les sites à visiter à plus tard… (les adresses sont un peu plus bas )


Un peu de théorie des groupes sur le cube de Rubik.  

L’ensemble des manoeuvres du Rubik’s cube est un ensemble muni d’une opération (la combinaison des manoeuvres) qui en fait une structure algébrique particulière que l’on appelle un groupe.
Voici le maximum de renseignements que j’ai réunis à propos du groupe de permutations du Rubik’s cube : ordre du groupe et des éléments, systèmes de générateurs, centre, groupe dérivé, d’autres sous-groupes et structure du groupe.

Cliquez ici

Accrochez-vous, c’est parti !…




Applets java sur le Rubik’s cube  

Six applets java sur le cube sont réunies sur cette page. Si vous en connaissez d’autres, écrivez-moi.

Ouvrir dans une nouvelle page




Télécharger  

Télécharger cette page Les pages à télécharger sont les mises à jours du 5 juillet 2000
Télécharger la totalité de cette page et de ses sous-pages (méthodes de résolution, théorie des groupes, applets) et toutes les applets java   (Fichier .zip, 265 Ko)
Télécharger cette page et ses sous-pages, méthodes de résolution, théorie des groupes sans les applets java   (Fichier .zip, 139 Ko)
Télécharger seulement la méthode de résolution    (Fichier .zip, 110 Ko)

Programmes sur le cube
Cube Explorer 1.5 : L’excellent et très puissant programme (en français) de Herbert Kociemba    (Fichier zip 139 Ko)

Télécharger de mon site Aller sur le site de l’auteur

Un patch pour optimiser Cube Explorer 1.5   (Fichier zip 59,6 Ko)

Cube de Rubik : un programme de résolution très bien et en français    (Fichier zip 1,22 Mo)
Hungarian Hexaedron : un programme (pas mal) de résolution et de manipulation du cube    (Fichier zip 725 Ko)
Cubic : un programme (moyen) de résolution et de manipulation du cube    (Fichier zip 35,2 Ko)

MAGIC CUBE 4D : un logiciel qui simule un Rubik’s cube 3×3x3×3. Oui ! Un Rubik’s cube en 4 dimensions !!! Ce n’est possible que virtuellement sur un ordinateur ou un cerveau (s’il tient le coup!). Vous pouvez télécharger le logiciel.

Divers
Un économiseur d’écran avec le cube    (Fichier zip autodécompactable 343 Ko)
Un économiseur d’écran plus officiel, mais immobile et beaucoup moins joli…    (Fichier zip 392 Ko)

Une icone animée    (Fichier zip autodécompactable 29,5 Ko)




Sites sur le cube de Rubik.  

Des sites commerciaux
  www.rubiks.com : Le site officiel du Rubik’s cube et des autres puzzles de Rubik .
  Meffert’s Puzzles : Le site pour acheter toute sorte de cubes (cubes 2×2x2, 3×3x3, 4×4x4, Pyraminx, Megaminx, …etc). C’est à Hong-Kong, on paye en dollars par CB, mais ça marche !
J’y ai acheté un master cube et un pyraminx que j’ai reçus en moins de 2 semaines. J’y ai fait une autre commande (Ultimate Skewb et Bandage cube) : toujours impeccable ! Vous pouvez y aller !

Théorie mathématique sur le Rubik’s cube

  • Rubik’s Cube Lecture Notes : un site en anglais avec tout plein de théorie sur le cube et les groupes
    Vous pouvez y télécharger un fichier postscript (2 Mo) qui est un livre complet (en anglais!) sur les maths du Rubik’s cube : Mathematics of the Rubik’s cube
  • Théorie des groupes : Un cours général sur les bases de la théories des groupes. En français !!!
    Le début d’un cours sur la théorie des groupes
  • Useful Mathematics : un autre site avec de la théorie sur le cube
  • Cube Lovers : Le club des adorateurs du cube et de tous les permutation puzzles (vous pouvez vous inscrire!)
  • Cube Lovers Index by Subject : Les archives de Cube Lovers
  • Domain of the cube : le site de Mark Longridge’s , un fervent Cube Lover (des articles de théorie des groupes)

    Des sites persos français

  • Rubiklub, le club du Rubik’s cube : un forum de discussion sur le Rubik’s cube
  • Rubik’s cube une méthode simple et pour tous : le meilleur des sites persos (Cyril Castella) sur le cube, avec une applet java du tonnerre et un gars très sympa
  • Le site de Bruno : beaucoup d’infos diverses sur le cube et une méthode de résolution ( par un lycéen ! )
  • Comment résoudre n’importe quel puzzle de type Rubik : un site très bien, qui fait comprendre ce que font et d’où viennent les suites de manipulations du cube.
  • logiciel en texte de résolution du rubik’s cube
  • Le Grand Poulpe : une méthode de résolution du cube sur le site lgp.free.fr qui parle de bien d’autres choses.
  • Tout sur le Rubik’s cube (sic) : un autre site perso intéressant
  • Comment venir à bout du Rubik’s Cube : une méthode avec des dessins pour expliquer les manipulations
  • Henneman : site perso (français!) avec une méthode de résolution
  • Le Rubik’s cube c’est facile : une méthode pas très intuitive
  • Cube de Rubik : un site perso avec un logiciel de reconstruction du cube

    Accrochez-vous !

  • MAGIC CUBE 4D : un logiciel qui simule un Rubik’s cube 3×3x3×3. Oui ! Un Rubik’s cube en 4 dimensions !!! Ce n’est possible que virtuellement sur un ordinateur ou un cerveau (s’il tient le coup!). Vous pouvez télécharger le logiciel.

    Et d’autres encore, en anglais toujours …

  • Puzzle simulations on the web : FABULEUX ! Un site avec des applets JAVA pour jouer avec toutes sorte de puzzles de type Rubik, pyraminx, etc …
  • RUBIK’s CUBE THE ULTIMATE SOLUTION : une solution pour n’importe quel Rubik’s cube NxNxN.
  • Do the Cube
  • Rubik’s Cube and other puzzles
  • Rubik’s Cube Java Applet : le site de Michael Schubart, avec … une applet java !

    Le musée des Rubik’s cube

  • Puzzle-Museum
  • Virtual Puzzle Museum – 3×3x3PUZZLES

    Comment reconstituer le cube le plus vite possible :

  • Rubiks Cube Solution : le site de Lars Petrus
  • Jiri’s speed cubing page
  • Đăng trong Computer Science | Leave a Comment »

    Cours de complexité

    Đăng bởi Hoàng Vinh on Tháng Năm 4, 2007

    La complexité

    ” Si les gens ne croient pas que les mathématiques sont simples, c’est uniquement parce qu’ils ne réalisent pas à quel point la vie est compliquée ” – John Von Neumann

    Larousse : (du latin complexus, de complecti : embrasser)

    Complexe : se dit de ce qui contient plusieurs parties ou plusieurs éléments combinés d’une manière qui n’est pas immédiatement claire pour l’esprit.

    I. Introduction

    I.1. Première approche : celle du groupe

    Pour le groupe ensemble, on dresse la carte mentale du mot complexité.

    La différence entre complexe et compliqué :

    Première approche : pour mieux aborder la différence entre les deux notions (si tant est qu’il en existe une), on dresse également la carte mentale du groupe sur le mot compliqué.

    Seconde approche : étude bibliographique sur les définitions des deux termes.

    I.2. Présentation de la complexité selon quelques auteurs fameux

    La complexité qui est actuellement mangée à toutes les sauces ne peut avoir de définition simple et unique, on en trouvera plusieurs selon les points de vue : c’est normal, nous comprendrons pourquoi dans la suite de cette présentation.

    Premier point de vue : celui de Jean Petitot

    On a deux classes de situation :

    - la complexité qui engendre la complexité au sein d’un même niveau de réalité : c’est par exemple l’évolution.

    - la complexité qui engendre la simplicité en changeant de niveau : c’est l’émergence.

    Le premier axe est celui du temps ; le second axe révèle qu’une individualité peut être plus que la somme de ses parties : on l’observe souvent dans les réseaux de neurone (chapitre àà : apprentissage de la marche par un robot hexapode), on verra également un exemple dans l’organisation des tas de sable ! C’est bien parce qu’il y a émergence d’un état plus simple en changeant de niveau qu’un tas de sable paraît si trivial: nous verrons que ce n’est pas forcément le cas.

    La complexité est un phénomène naturel et on peut y discerner 4 aspects typiques :

    - la singularité : les systèmes complexes sont tous uniques,

    - l’historicité : ils sont irréversibles et dépendent de leur histoire,

    - l’adaptation : ils résultent de processus adaptatifs

    - la régulation : ils possèdent des boucles de rétroaction qui les maintiennent dans une zone de “bon fonctionnement”.

    Second point de vue : celui de Murray Gell-Mann

    Murray Gell-Mann [1] distingue les systèmes adaptatifs complexes, comme les être vivants, qui peuvent apprendre et s’organiser face à une perturbation, des systèmes complexes en évolution, c’est à dire des systèmes dont la dynamique est en cours de déploiement : par exemple les galaxies.

    Il tente également de donner des définitions de la complexité : la définition calculatoire, la définition selon la longueur nécessaire de symboles pour décrire un système.

    Depuis la définition de l’ordinateur universel de Von Neumann, dont on sait qu’il peut réaliser toute fonction, les informaticiens ont pris l’habitude de mesurer la complexité sous la forme d’une complexité calculatoire, c’est à dire la complexité du programme qui réaliserait la fonction choisie. La complexité calculatoire est alors le temps le plus court possible mis par un ordinateur pour résoudre le problème. Evidemment, nous verrons que ce temps dépend de plusieurs facteurs et ne donne pas une définition complètement satisfaisante de la complexité. En particulier cette définition ne traduit pas la notion d’organisation qui sous tend souvent le mot “complexe”.

    Cette dernière vision de la complexité : liée à l’aspect compliqué de l’organisation pourrait être quantifiée par la longueur du message nécessaire à la présentation de l’organisation en question, ou à la description du système considéré. Ceci est vrai, par exemple, pour les systèmes écologiques. Par exemple, en sciences de l’écologie on a débattu pour savoir si les éco-systèmes les plus simples étaient plus stables que les écosystèmes les plus complexes : ainsi, la forêt équatoriale est elle plus résistante à des perturbations extérieures qu’une forêt alpine (a priori plus simple). Dans ce cas, la mesure de la complexité par la longueur du message nécessaire à la description du système paraît admissible car il y a un nombre bien plus grand d’espèces animales et végétales dans la forêt tropicale que dans un e forêt de haute montagne. Ceci est encore accentué si on ne se contente pas de décrire les espèces en présence mais si en plus on décrit les interactions entre ces espèces (proie prédateurs, pollinisateurs, …).

    Cette définition est celle que Gell-Mann appelle la complexité brute, il la différentie de la complexité effective qui est la description des régularités du système. Nous en discuterons dans le chapitre II.2.1.

    I.3. Les tenants de la complexité

    Le problème du changement de niveau d’intégration

    Il se pose des questions dont nous ne savons pas si une réponse existe : par exemple lorsque l’on s’intéresse au cerveau, on peut étudier en détail les fonctionnements des cellules et de ses constituants biochimiques, mais un abîme sépare ces considérations des considérations de mémoire ou des considérations psychologiques, et encore plus encore les sépare de la conscience. Changeux a écrit que la conscience, comme les souvenirs, ne sont que des états du système neuronal [6] composé de l’état des neurones individuels, mais cette considération est très matérialiste et contestée par des approches plus religieuses. Il est clair que lorsque l’on change de niveau de description, ou d’intégration, ou de grain comme dit Gell-Mann, il se produit des phénomènes de réorganisation, de simplification qui ne sont pas toujours bien compris : c’est une caractéristique de la complexité.

    Le problème de l’indétermination : quantique ou fortuite ?

    Henry Poincarré en 1908 écrivait dans son livre : “Science et méthodes” :

    “Si nous connaissions exactement les lois de la nature et la situation de l’univers à l’instant initial, nous pourrions prédire exactement la situation de ce même univers à un instant ultérieur. Mais, lors même que les lois naturelles n’auraient plus de secret pour nous, nous ne pourrions connaître la situation initiale qu’approximativement. Si cela nous permet de prévoir la situation ultérieure avec la même approximation, c’est tout ce qu’il nous faut, nous disons que le phénomène a été prévu, qu’il est régit par des lois ; mais il n’en est pas toujours ainsi, il peut arriver que de petites différences dans les conditions initiales en engendrent de très grandes dans les phénomènes finaux ; une petite erreur sur les premières produirait une erreur énorme sur les derniers. La prédiction devaient impossible et nous avons le phénomène fortuit.”

    Henri Poincarré vient ici de présenter le phénomène du “chaos déterministe” : du fait d’une très grande sensibilité aux conditions initiales, il est impossible de déterminer le futur d’un système car les conditions initiales ne sont jamais connues avec une précision suffisante.

    Le chaos déterministe nécessite la présence de plusieurs ingrédients :

    - une non-linéarité,

    - un retour de la sortie sur l’entrée.

    Lorsque ces ingrédients sont réunis, et que la non-linéarité est assez forte, on peut voir apparaître des phénomènes de chaos. On l’appelle chaos déterministe car si l’on refait l’expérience avec exactement les mêmes conditions initiales, on observe le même comportement. Néanmoins dans la nature, ou dans la réalité il est impossible de refaire une expérience identique, de même qu’il est impossible de connaître toutes les entrées d’un système et toutes les conditions initiales avec une précision infinie.

    Ce phénomène intervient dans les systèmes physiques bien décrits formellement, on en trouvera des exemples aux chapitres ààà … Le terme “chaos déterministe” est apparu la première fois à propos de la dynamique des systèmes non-linéaires. Il est à la mode et un peu galvaudé en ce moment.

    Par exemple, c’est ce phénomène qui est décrit sous une forme de suspense et en faisant intervenir des paramètres que l’on peut mal mesurer : les paramètre humains dans “Jurassic Park”. Le parc qui est très bien conçu pour protéger les visiteurs des monstres qu’il enferme vient d’un seul coup à sa perte à cause d’un petit grain de sable.

    Le chaos déterministe, c’est aussi “l’effet papillon” : effet fameux, mais pas toujours identifié du battement d’aile d’un papillon qui déclenche des catastrophes à l’autre bout du monde. C’est aussi actuellement l’effet du courant marin “el niño ” dont on suppose qu’il cause les dysfonctionnements climatiques observés actuellement.

    Certains auteurs (Todd Brun) estiment qu’il y a un lien entre le chaos au niveau macroscopique, et l’indétermination quantique ; la première étant en quelques sortes l’amplification de la seconde.

    L’irréversibilité

    Les systèmes complexes sont irréversibles et dépendent de leur passé. De ce fait ils rompent avec la tradition des systèmes physiques classiques pour lesquels les équations sont symétriques par rapport au temps (mécanique Newtonienne, …). Depuis l’antiquité, le dilemme auquel conduit le déterminisme de la physique a été montré du doigt : Ilya Prigogine cite Epicure lorsqu’il écrivait déjà qu’il préférait le libre arbitre humain plutôt que le déroulement mécanique des lois de la physique [3].

    “Quant au destin, que certains regardent comme le maître de tout, le sage en rit. En effet, mieux vaut encore accepter le mythe sur les dieux que s’asservir au destin des physiciens. Car le mythe nous laisse l’espoir de nous concilier les Dieux par les honneurs que nous leur rendons, tandis que le destin a un caractère de nécessité inexorable.”

    En effet, où se trouve le libre arbitre si tout le comportement du monde est décrit par un système d’équations différentielles et des conditions initiales ?

    Au XIX ème siècle le débat a été fort : comment expliquer la diversité du vivant avec les lois de la physique si déterministes ? Les scientifiques ont oscillé entre deux attitudes opposées.

    La première considère que la diversité vient d’un épiphénomène se rajoutant aux phénomènes physiques bien expliqués, la seconde considère que ces phénomènes sont bien réel, mais provienne d’un supplément ontologique

    Aujourd’hui, on considère les phénomènes complexes à part entière.

    Théorie des catastrophes.

    Les simulations informatiques

    Pourquoi la complexité fait-elle actuellement une OPA sur tous les domaines scientifiques, des sciences molles aux sciences dures , alors que certains de ses aspects étaient déjà soulevés par Poincarré ?

    C’est parce que la capacité de calcul des ordinateurs a augmenté considérablement et rend accessibles ces problèmes à tous les scientifiques et ingénieurs et même aux adolescents curieux.

    Grâce aux simulations informatiques, on peut désormais “expliquer de manière scientifique (matérielle et causale), modéliser mathématiquement et simuler les structures et le devenir des systèmes organisés complexes” [2].

    Il est cependant nécessaire d’avoir quelques notions de codage de l’information et de théorie de l’information pour aborder le problème de la simulation numérique sans redécouvrir tous les problèmes déjà rencontrés. Sait-on par exemple que le nombre 0.3 est rarement identique d’un type d’ordinateur à un autre, alors que 0.25 l’est toujours ? Sait-on exactement ce qu’est une suite de nombres aléatoires calculée par un ordinateur, et comment ces derniers sont calculés ? Ces éléments sont nécessaires à connaître dès lors que l’on veut aborder le problème de la complexité en simulant l’imprécision des conditions initiales par l’introduction de nombre aléatoires. Nous en parlerons au chapitre ààà.

    Mais place à notre expérimentation de la complexité …

    I.4. Une expérience “vécue”

    Premier exercice

    Les participants au cours se groupent par trois ou quatre dans des salles différentes et rédigent durant 30mn une fin à l’histoire suivante.

    II. Les définitions de la complexité

    II.1. Le simple et le complexe

    La suite suivante :

    0000 0000 0000 0000 0000 0000 0000

    est de toute évidences assez simple ; en revanche la suite suivante :

    45268 1572 5634 1579 5216 7854 2348

    paraît plus compliquée.

    Prenons un autre exemple :

    2653 5897 9323 8462 6433 8327 9502 8841 9716

    Cette dernière suite paraît tout autant compliquée et difficile à décrire que la précédente, or ce n’est pas le cas car il s’agit de la suite des décimales de P à partir de la sixième décimale.

    Prenons encore un autre exemple : considérons un ensemble d’individus pouvant discuter entre eux ; on imagine que plus ils pourront discuter entre eux, plus les échanges seront complexes, et de même, moins ils pourront discuter, moins les échanges seront complexes.

    Plusieurs schémas peuvent être envisagés, qui, si l’hypothèse précédente est bonne seront du moins complexe au plus complexe : plus on peut discuter, plus les échanges sont complexes.

    Situation 1. Les échanges sont hiérarchisés : seuls les échanges professeur — élèves sont autorisés.

    Situation 2 – Les échanges sont en partie hiérarchisés : certains peuvent discuter entre eux, mais pas à tout le monde. Il s’agit par exemple du schéma des communications de travail dans une entreprise : les cadres d’un service ne peuvent demander un service à une personne d’un autre service sans passer par la hiérarchie.

    Situation 3 – Les échanges ne sont pas hiérarchisés : tout le monde discute avec tout le monde.

    Or, il apparaît assez rapidement que la situation 3 n’est pas si complexe que cela : elle possède des symétries et un ordre qui permet de l’appréhender facilement. Ceci n’est pas le cas de la seconde situation pour laquelle il faut dresser les communications autorisées une par une.

    Il apparaît donc que l’on peut distinguer deux types de complexité :

    La complexité “aléatoire” qui signifierait :

    sans ordre, sans régularité, aléatoire,

    la complexité organisée qui comprendrait :

    organisée, structurée, riche en information.

    Voyons comment ces deux aspects de la complexité peuvent être définis et mesurés.

    II.2. La complexité aléatoire

    II.2.1. Présentation

    La complexité aléatoire est celle que Gell-Mann a appelé “complexité brute”. Si l’on voulait décrire la suite de nombres aléatoires telle que celle présentée précédemment, il faut malheureusement se contenter de citer tous les chiffres les uns après les autres, alors que pour la suite des décimales de P, on pourrait se contenter de donner la définition de P (si tant est qu’elle existe).

    On propose donc, dans un premier temps, que la mesure de cette complexité aléatoire, liée à l’imprévisible et au non ordonné, serait la longueur de la description du système.

    Considérons alors le cas suivant : une institutrice demande à des enfants de décrire un évènement grave de leur vie en 200 mots. Toto, toujours mauvais élève, raconte l’histoire suivante :

    “Je suis passé à coté du chien du voisin, et il m’a mordu. J’ai crié au secours, au secours, ….au secours, …” et ainsi de suite jusqu’à ce que les 200 mots soient écrits.

    Toto aurait pu raconter la même histoire en écrivant :

    “Je suis passé à coté du chien du voisin, et il m’a mordu. j’ai crié “au secours” quatre vingt neuf fois”.

    Il est clair que les deux histoires sont identiques, mais ont une longueur assez différente. L’information contenue dans les histoires est la même, ainsi que leur complexité. Il paraît donc intéressant pour mesurer la complexité de chercher l’information.

    II.2.2. Théorie de l’information

    L’information au sens de Shannon

    Qu’est-ce que l’information ? C’est une quantité intuitive qu’il est difficile de définir. On peut imaginer que la quantité d’information d’un message est liée à son volume et sa rareté. Par exemple on apprend une information plus importante en connaissant à l’avance les numéros gagnants du loto qu’en connaissant à l’avance le résultat du tirage d’une pièce (pile ou face). De même, on a plus d’information, pour un temps donné, en connaissant une image haute définition qu’en connaissant un signal musical.

    La quantité de l’information en donc liée au volume et la probabilité.

    On sait qu’il est possible de représenter un signal analogique sous forme d’un signal numérique sans perdre d’information grâce au théorème de Shannon. Nous allons donc d’abord nous intéresser aux signaux numériques.

    Un système de transmission de l’information comprend trois éléments :

    • la source qui émet le signal (que l’on considèrera discret),

    • un canal de transmission, c’est à dire le système qui assure le transport de l’information (ligne téléphonique, liaison hertzienne,…),

    • le récepteur qui interprète le signal reçu.

    La source

    Dans ce chapitre nous allons essayer de définir de manière intuitive une “mesure” de l’information délivrée par une source.

    On peut penser de manière intuitive que plus la source peut délivrer de symboles différents, plus elle peut délivrer une quantité d’information importante (image en noir et blanc ou en couleur).

    Source délivrant des messages équiprobables

    Considérons une source susceptible de fournir un message parmi n possibles. Du point de vue des probabilités nous considérons que tous ces messages sont équiprobables.

    On note I(n) la quantité d’information que peut fournir cette source. D’après ce que l’on a intuité, I(n) est une fonction croissante de n.

    Supposons que l’émission du message n précédent soit décomposable en deux ensembles de messages n1 et n2 indépendants (au sens probabilistique).

    En admettant que la quantité d’information est une grandeur additive, la quantité d’information contenue dans le message n est donc : I(n) = I(n1) + I(n2).

    Par exemple, la source émet un mot de 5 chiffres décimaux qui sont décomposables en deux sous-ensembles de 2 chiffres et de 3 chiffres. On a au total 105 messages possibles : n ; et deux sous-ensembles n1 de 102 messages et n2 de 103 messages.

    On voit donc que l’on a : n = n1.n2.

    Ceci nous conduit donc à écrire :

    I(n1.n2) = I(n1) + I(n2).

    La fonction croissante la plus simple satisfaisant cette équation est le fonction logarithme.

    En fonction de la base de log choisie l’unité d’expression de l’information varie :

    base 2 : l’unité est le bit,

    base naturelle (népériens) : l’unité est le nat (comme naturel),

    base décimale : le décit ou Hartley.

    Attention, on appelle en général bit un symbole d’écriture en binaire. Or, nous verrons que si la probabilité qu’a la source de délivrer un “1″ ou un “0″ sont différentes, la quantité d’information délivrée par un symbole ne vaut plus un bit. C’est pourquoi les puristes appellent ces symboles “digits” et non pas “bits”.

    La quantité d’information délivrée par une source de n messages équiprobables est donc :

    I(n) : log(n).

    Source délivrant des messages inégalement probables.

    Nous allons essayer de formuler une expression vraisemblable de la quantité de l’information incluant la considération intuitive suivante : plus la probabilité du message est faible, plus l’information contenue est grande.

    Considérons :

    - n1 résultats constituant le groupe G1,

    - n2 résultats constituant le groupe G2,

    Tels que n1 + n2 = n, le nombre d’évènements total.

    La quantité d’information apportée par un évènement parmi les n est :

    I = log(n),

    Considérons que cette information peut être apportée en deux fois :

    I = Ia + Ib, où :

    Ia est la connaissance du groupe,

    et Ib est la connaissance du numéro de l’évènement dans le groupe.

    La probabilité de tirer un évènement appartenant à G1 est :

    P1 = nombre d’évènement de G1/Nombre d’évènement total

    P1 = n1/(n1 + n2) = n1/n.

    De la même manière P2 = n2/(n1 + n2).

    On voit que P1 et P2 sont différentes.

    Lorsqu’un message du groupe 1 est émis, on peut réécrire l’équation I = Ia + Ib :

    log(n) = Ia + log(n1), c’est à dire :

    log(n/n1) = Ia.

    On obtient donc : Ia = -log(P1),

    La quantité d’information contenue dans un message de probabilité p est égale à -log(p).

    On peut retrouver le résultat précédent dans le cas équiprobable : la probabilité de tirer un message sur n équiprobables est 1/n, on a donc

    I(n) = -log(1/n) = log(n).

    Entropie d’une source

    Une source peut émettre des messages correspondant à une quantité d’information très variable. On la caractérise donc plutôt par la quantité d’information moyenne qu’elle transmet (la probabilité pi introduit le terme de normalisation):

    I = Si pi.Ii.

    ou bien :

    I = -Si pi.log(pi).

    En effectuant une analogie avec l’expression de l’entropie en thermodynamique statistique, on peut appeler cette grandeur : entropie de la source.

    L’entropie d’une source est donc la valeur moyenne de la quantité d’information qu’elle délivre. Pour une source délivrant n messages de probabilité respectives pi, son expression est : H = -Si pi.log(pi).

    On peut démontrer que l’entropie d’une source est maximale lorsque tous les messages sont équiprobables.

    Exemples :

    a. Soit une source dont les messages sont les lettres de l’alphabet, si les lettres sont toutes équiprobables, on peut calculer :

    H = -Si pi.log(pi) = -Si (1/26).log(1/26) = log(26) = 4,7004… bits/lettre

    (log à base 2)

    En réalité, les lettres ne sont pas toutes équiprobables, par exemple pour la langue française on trouve

    H = 3,98 bits/lettres.

    b. Soit une source binaire délivrant des 0 et des 1 avec une probabilité égale, son entropie est :

    H = -(0,5.log(0,5) + 0,5.log(0,5)) = log2 = 1bit/digit.

    Un peu de thermodynamique

    Le premier principe de la thermodynamique dit que l’énergie d’un système isolé reste constante. Le second principe de la thermodynamique, plus subtil, nous indique que l’entropie d’un système isolé ne peut qu’être constante, ou augmenter. On ironise sur ces principes en disant que le premier principe interdit de gagner au jeu tandis que le second principe interdit même de récupérer sa mise…

    Le second principe indique que le désordre d’un système isolé ne peut qu’augmenter, ce que l’on voit à l’œuvre tous les jours (même si localement notre monde n’est pas isolé) : on trouve toujours du beurre dans le pot de confiture après le goûter des enfants ; et si par malheur on fait tomber le tiroir qui contient les résistances en TP d’électronique, il faut un sacré apport d’énergie pour arriver à tout re-trier.

    On explique ceci tout simplement parce que l’état ordonné d’un système est, soit unique, soit assez peu probable, tandis que l’état désordonné est très probable car possible dans beaucoup plus de combinaisons.

    Reprenons notre exemple du tiroir de résistances (expérience vécue…) supposons que l’on ait 20 sortes de résistances avec 1 représentant par catégorie (dans la réalité c’est plutôt 20 ou 50) : il n’y a qu’une manière de ranger ces 20 résistances par ordre croissant dans 20 petits casiers. En revanche, il y a (20!-1) manières de ranger les résistances n’importe comment. Si tous les états “microscopiques” sont équiprobables, on a donc beaucoup plus de chances que le désordre augmente plutôt que les résistances, lors de la chute du tiroir, se retrouvent chacune dans la bonne case. L’entropie a donc augmenté.

    Que signifie l’entropie en terme d’information ?

    Nous avons vu que la quantité d’information est liée à sa rareté : I = -log(p) ; plus la probabilité est faible, plus l’information est grande.

    L’entropie, elle, est également liée à la probabilité : plus un état macroscopique est probable (les résistances mélangées) plus son entropie est forte. Ainsi en termes d’information, l’entropie est une mesure de l’ignorance : plus elle est grande, plus le désordre est grand et moins on connaît d’information précise. Plus elle est faible, plus on est dans un état rare et plus il est riche d’information.

    II.2.3. Les machines qui calculent

    Comment arriver à mesurer la complexité si ce n’est par une machine bien connue et invariante qui fera un calcul automatique et objectif ? C’est pourquoi les théoriciens de l’informatique ont été les premiers à se poser ce type de question : comment mesurer l’information ? Comment mesurer la complexité d’une tâche à réaliser, d’un algorithme, d’un programme après compilation ? Ce sont autant de questions intéressantes à parcourir pour appréhender les définitions de la complexité.

    La machine de Von Neumann

    C’est le modèle de l’ordinateur le plus utilisé actuellement : les données sont stockées dans une mémoire, une unité de calcul synchronisée par une horloge rythme l’accès de l’unité arithmétique et logique à un “ordre” stocké dans la mémoire et ensuite exécute cet ordre. Les informations “ordre” (“instruction”) ou données sont stockées indifféremment dans la même mémoire ou dans des mémoires séparées.

    John Von Neumann à coté de l’ENIAC.L’ENIAC est un des premiers ordinateurs (1940). Il était construit à partir de 18 000 tubes à vide, et avait une mémoire inférieure à 4Koctets.

    Ce qui est important dans ce modèle, outre son application généralisée, est qu’il peut exécuter tout algorithme possible : il s’agit réellement de la machine universelle qui peut tout simuler.

    Ce n’est pas le seul modèle de calculateur qui existe, nous verrons qu’il existe également des ordinateurs cellulaires ou hautement parallèles, comme la “connection machine” [8]. Mais ces derniers peuvent toujours être simulés par la machine de Von Neumann moyennant un temps plus important.

    Revenons à la complexité : serait il possible de mesurer le complexité grâce à cet ordinateur qui, en théorie, peut tout simuler ? Comment le ferait-on ? Même si le terme complexité n’était pas utilisé dans les années 50 ou avant la guerre de 40, les scientifiques et mathématiciens de très haut niveau ont réfléchi à ces problèmes : la machine de Turing apporte des éléments de réponse.

    La machine de Turing

    La machine de Turing n’est pas une machine réelle, au contraire de celle de Von Neumann, elle sert aux théoriciens de l’informatique et du calcul automatisé à raisonner.

    En adaptant la description de Turing à la technologie moderne, imaginons qu’il existe une machine bâtie selon l’architecture de Von Neumann, et qui disposerait d’un espace mémoire pour stocker les données et les instructions qui soit extensible autant que nécessaire. Cet espace n’est pas infini a priori, mais il peut être augmenté sans limites en fonction des besoins.

    En revanche, les états internes de la machine sont finis, c’est à dire le nombre d’états précédents nécessaires à conserver pour achever le calcul en cours.

    Une machine de Turing doit exécuter un algorithme de dimension finie et doit donner son résultat en un temps fini : elle permet donc de faire la différence entre ce qui est calculable (la machine s’arrête) et ce qui ne l’est pas (la machine ne termine pas).

    En raisonnant sur la machine, Turing a montré qu’il n’y avait pas de machine de Turing universelle qui pourrait décider d’un résultat mathématique, quel qu’il soit. C’est à dire qu’un algorithme ne peut pas toujours donner une solution à un problème mathématique. Ce résultat est important par rapport au problème de la calculabilité des problèmes.

    En effet, un des problèmes de la mesure de la complexité est de savoir si les systèmes physiques ou biologiques sont tous calculables ou pas ?

    Autrement posée cette question s’applique à un des systèmes les plus complexes que l’on connaisse, le cerveau, en ces termes : l’intelligence est-elle algorithmique ? On pourra se reporter à ce propos à l’ouvrage de Roger Penrose [5].

    Le test de Turing

    Imaginons que l’on arrive un jour à concevoir un système artificiel intelligent, à tel point qu’il pourrait atteindre les capacités de raisonnement d’un être humain. Le fabricant du dispositif affirme que son système pense réellement, il éprouve même des sentiments. Il est doué de conscience. Il peut même, comme dans le film “Blade Runner” avoir en plus une apparence humaine.

    Comment faire la différence entre un être humain et ce cerveau artificiel ? C’est une question posée par les partisants de l’IA forte qui prétendent que l’intelligence est algorithmique, et qu’il est donc possible de réaliser un tel système. Ces partisants pensent que l’égalité des deux systèmes peut s’évaluer au travers des entrées et des sorties : si aux mêmes entrées, on a les mêmes sorties : alors les deux systèmes sont égaux.

    Turing répond à cette question dans un article paru en 1950 : “Computing Machninery and Intelligence” dans la revue “Mind“. Il propose que le système soit comparé à un être humain : les deux êtres à comparer sont soumis en parallèle à des questions et répondent de manière impersonnelle (clavier, voix artificielle), une examinatrice évalue les réponses aux questions et délivre à l’issue de l’interrogatoire son jugement : l’un des deux est l’humain. Si l’interrogatrice se trompe ou n’arrive pas à imaginer de manière certaine l’humain, le fabricant est déclaré gagnant.

    On peut remarquer au passage que le test n’est pas égal vis à vis de l’ordinateur : il suffirait d’un question pour distinguer n’importe quel ordinateur d’un être humain par rapport à ses capacités de calcul. Par exemple : que vaut la division de 5687541134,2578544 par 27965485,5574 ? Le temps de réponse suffit à séparer l’humain de la machine !…

    Dans le film “Blade Runner”, il s’agit de détecter des robots humanoïdes qui ont décidé de détruire l’humanité afin de sortir de l’esclavage dans lequel ils sont maintenus. on voit se dérouler le test tel que l’a préconisé Alan Turing, on ne dira pas la fin…

    II.2.4. Le Contenu d’Information Algorithmique

    Le Contenu d’information algorithmique a été introduit dans les années 60 par 3 personnes :

    - Andrei N. Kolmogorov,

    - Gregory Chaitain (alors agé de 15 ans),

    - Ray Solomonoff.

    Le CIA est la longueur du programme informatique le plus court qui produit le message dont on veut mesurer la complexité.

    Pour établir la longueur de ce programme, on a de nombreuses sources d’arbitraire : le type de machine, le type de codage, … mais il ne faut pas s’arrêter à ces différences, il est plutôt intéressant de regarder le comportement des algorithmes quand la dimension du problème augmente. Les sources d’arbitraire interviennent comme des facteurs d’échelle, mais le comportement asymptotique permet de différencier les messages.

    Greg Chaitain a démontré que le CIA est incalculable.

    Lorsque l’on observe une suite de bit il est très difficile de savoir si ces derniers sont aléatoires ou non. Dans le cas où ils sont aléatoire le programme le plus court qui permet de produire cette chaîne est alors l’instruction “print” suivie de la chaîne de caractères à produire. Dans le cas contraire Chaitain a prouvé qu’on ne peut pas démontré que le programme minimum a été trouvé : le problème est incalculable.

    Gödel : étant donné un ensemble d’axiomes mathématiques, il existera toujours des propositions qui seront indécidables sur la base de ces axiomes. On ne peut démontrer ni qu’elles sont vraies, ni qu’elles sont fausses.

    Exemple de propriété qu’on n’a pas encore prouvée : la conjecture de Goldbach.

    “tout nombre pair supérieur à 2 est la somme de deux nombres premiers”. On peut le vérifier pour quelques nombres, des ordinateurs l’ont faits jusqu’à de très grandes valeurs, mais on n’a jamais prouvé que c’était vrai, ni faux.

    Le CIA est très intéressant mais il est limité : en effet il est clair que le CIA ets le plus grand pour les chaînes aléatoires.

    On peut donc dire que le CIA n’est pas vraiment une mesure de la complexité, mais une mesure de l’aléatoire. En ce sens il est limité.

    II.2.5. Simulations informatiques

    Codage des nombres non entiers

    Codage en virgule fixe

    On représente les nombres non entiers par un entiers multiplié par un facteur d’échelle;

    N = p.K où K est le facteur d’échelle, et p la partie entière.

    -> rapidité,

    -> simplicité,

    mais

    -> connaissance a priori du facteur d’échelle,

    -> impossibilité d’adopter ce codage pour des nombres d’ordre de grandeur très différents.

    Codage en virgule flottante

    Le principe

    Le facteur d’échelle est donné de manière explicite avec le chiffre de manière à pouvoir le modifier; on a :

    x = m.Be, avec :

    • m qui est la mantisse,

    • B qui est la base de représentation, de m,

    • e qui est l’exposant;

    Les réalisations

    Il n’y a pas unicité de la représentation en virgule flottante :

    • le signe peut être représenté en complément à B, à 1 ou par un bit de signe,

    • on peut choisir différentes bases B,

    Première règle pour représenter les nombres avec le maximum de précision. On choisira m tel que :

    ¾ m <1

    c’est à dire tel que la mantisse soit <1 et ne comporte pas de 0 comme premier digit après la virgule.

    Ainsi, le nombre 12,53 en décimal sera représenté 0,1253.102 et non pas par 1253,0.10-2 ou 0,0012.104 .

    Standart IEEE simple précision

    Les réels sont écrits sur 32 bits, comprenant

    • 1 bit de signe,

    • 23 bits de mantisse,

    • 8 bits d’exposant.

    La base de numération est 2, le chiffre est représenté sous la forme 1,m où m est la mantisse. Le premier 1 est implicite : comme il est présent par définition, on évite de le mémoriser.

    L’exposant est représenté en mode “décalage” ou biaisé c’est à dire qu’il représente la vraie valeur de l’exposant à laquelle est ajoutée (décalée de) la moitié du plus grand nombre qu’il peut coder. Par exemple pour un exposant sur 8 bits (qui permet de compter de 0 à 255), le code d’un exposant sera sa valeur à laquelle on a ajouté 127. Ainsi, le code binaire ne comprenant que des “0″ sera le nombre le plus négatif (-127), tandis que le code binaire de l’exposant ne comprenant que des “1″ sera le plus positif (+128).

    On remarque que l’on a une dissymétrie entre le nombre d’exposants négatifs et le nombre d’exposants positifs ; ceci est inévitable si l’on veut coder la valeur “0″ qui n’est ni positive ni négative, compte tenu que 8 bits permettent de coder 256 valeurs.

    Par exemple :

    La mantisse vaut : environ 0,758, c’est à dire 1,758 avec le “1 implicite”..

    l’exposant est biaisé ; le biais vaut : 2**(8-1) -1 = 127.

    L’exposant exprimé en décimal vaut donc : 2**7+2**3+2**1-2**7+ 1 = 11.

    On a donc : N = 1,758.2**11 = 1,758.2048 = 3600,384.

    On comprend pourquoi les calculs effectués sur des flottants sont plus longs à réaliser.

    Quelques exemples empruntés de la mémoire d’un IMAC :

    0,5 (décimal) est codé 3F000000 (hexadécimal)

    0,25 (décimal) est codé 3E800000 (hexadécimal)

    0,125 (décimal) est codé 3E000000 (hexadécimal)

    2 (décimal) est codé 400000000 (hexadécimal)

    -2 (décimal) est codé C0000000 (hexadécimal)

    Il s’agit pour l’instant de puissances de 2 qui sont assez simples à coder. Qu’en est-il de nombres plus difficiles comme 0,3 :

    Lorsqu’on l’on fait une affectation comme par exemple :

    float f=0,3;

    En mémoire l’ordinateur code 3E999999, et il affiche en décimal : 0,30000001 ! Il y a donc une erreur dans le codage.

    De très nombreuses valeurs ne sont pas codables en binaire sur une chaîne finie ; autre exemple :9,4 est codé 9,399996.

    Lorsque l’on code des valeurs monétaires : on utilise un code différent du fait de ces arrondis : 10 octets sont utilisés, et les chiffres sont codés comme des caractères, mais avec un code spécifique (1/2 octet). Dans le cas des finances, il apparaît que l’imprécision a de la valeur !

    Dépassements de capacité et de précision

    En flottant, le dépassement de capacité correspond au cas où l’on demande un calcul pour lequel l’exposant qui devrait être calculé dépasse la valeur possible (+ de 8 bits dans ce cas ci).

    Le message classiquement renvoyé par les ordinateurs est alors “overflow” ou “underflow”.

    Le dépassement de précision se produit lorsqu’il n’est pas possible de coder toute la mantisse avec l’espace disponible (ici 23 bits). En général aucun message n’est alors affiché et l’utilisateur ne sait pas qu’une erreur est en train de se produire. Ce type d’erreur peut être sensible lorsque l’on effectue un calcul avec une boucle : les erreurs peuvent alors se cumuler.

    Un code particulier est utilisé pour représenter 0.

    Petits exercices d’assimilation

    La génération de nombres aléatoires

    Dans de nombreux problèmes complexes, c’est à dire possédant les propriétés annoncées dans l’introduction, il est nécessaire de recourir aux simulations informatiques afin de savoir comment le phénomène va se comporter.

    Il s’agit donc soit d’établir un modèle numérique du phénomène, soit d’étudier le comportement d’un modèle déjà proposé. Pour cela on veut appliquer des entrées au système qui représentent autant que possible la réalité et on est amenés à alimenter le modèle avec des données bruitées, ces dernières représentant soit le bruit de la mesure, soit les fluctuations inhérentes au système (cf. imprécision sur les conditions initiales).

    De ce fait on va chercher à obtenir des séries de nombres aléatoires.

    Deux options sont possibles :

    • On mesure le bruit d’un système physique qui génère du bruit naturellement (par exemple le bruit thermique d’une résistance électrique), puis on échantillonne et on numérise. Le bruit est alors réellement aléatoire.
    • On calcule directement sur un ordinateur une série de nombres aléatoires, on a alors en fait une série “pseudo-aléatoire”.

    C’est au deuxième procédé que nous nous intéressons ici.

    Premier exemple de génération : la suite de Halton

    Pour obtenir une série de nombres aléatoires {…,i,…}, on procède ainsi :

    -1- on code le nombre i sur une base b (nombre premier), par exemple, pour b = 3, le nombre 17 se code 122,

    -2- on inverse l’ordre des digits : 122 devient 221, et on met une virgule devant, on obtient 0,221 en base 3

    -3- 0,221 est le nombre aléatoire obtenu.

    On peut remarquer que cette suite atteint des valeurs de plus en plus fines, quand le nombre de tirages augmente. il est tout de même nécessaire d’aller assez loin.

    On peut aussi trouver une génération de générateurs de nombres aléatoires qui se fondent sur des multiplications et des additions avec des nombres bien choisis de manière à créer des overflow. Dans le cas d’un dépassement de capacité, les bits les plus significatifs sont perdus, tandis que les bits les moins significatifs restent. Ce sont ces derniers bits qui donnent la suite de nombres aléatoires.

    Exemple : la fonction RAND du C délivre un nombre aléatoire selon ce principe. Il est nécessaire de démarre le processus avec un premier nombre qu e l’on appelle la graine ou la racine. L’initialisation de cette racine (seed en anglais) peut être réalisée avec la fonction SRAND. Si l’on n’utilise pas SRAND, RAND s’auto-initialise avec la valeur d’horloge du système.

    Exemples de tirages aléatoires réalisés avec la fonction RAND :

    1) à chaque tirage on réinitialise rand avec SRAND (transparents).

    2) le bon usage : à chaque tirage, on appelle RAND sans le réinitialiser.

    Ceci démontre qu’il est nécessaire, avant toute simulation, et en particulier pour un processus complexe de vérifier les bonnes qualités du générateur de nombres pseudo-aléatoires.

    II.3. La complexité organisée

    “Deux moutons ne sont pas deux fois plus complexes qu’un mouton”.

    La complexité de deux moutons est sensiblement la même que celle d’un seul mouton. La complexité organisée n’est donc pas additive.

    Le CIA ou la longueur d’une description ne correspondent pas à la définition que l’on entend spontanément dans le mot complexe. Au contraire, ce qui est complexe est la description des règles ou des régularités qui sont dues, bien souvent, à des causes identifiées. On est donc dans ce domaine loin de l’aléatoire complet.

    L’approche de la complexité organisée que prend Gell-Mann [@] est liée à la description des régularités d’un système par un système adaptatif complexe qui l’observe.

    Prenons l’exemple des corps célestes : galaxies, planètes, étoiles et autres corps. Ils paraissent extrêmement complexes. Néanmoins l’homme, système complexe adaptatif, a réussi à dégager la loi qui permet d’expliquer cette diversité des formes. La relativité générale, et la loi de la pesanteur peuvent paraître difficiles pour certains, mais il ne reste pas moins vrai qu’elles sont remarquablement simples relativement à la complexité apparente des systèmes qu’elle permettent de décrire.

    Dans la complexité organisée, on peut distinguer les systèmes tels les corps célestes, les montagnes, tas de sable, et autres qui sont longs à décrire, mais dont on a pu extraire la loi sous-jacente. Ces systèmes sont en évolution sous l’effet d’une dynamique assez lente et ne restent donc pas figés dans un état d’immobilité.

    On doit les distinguer des systèmes adaptatifs complexes qui eux sont capables d’apprendre quelque chose sous la pression de l’environnement.

    Considérons par exemple les processus suivants :

    - l’évolution biologique,

    - le fonctionnement du système immunitaire,

    -l’apprentissage et la pensée chez les animaux,

    - le comportement des investisseurs sur les marchés financiers,

    - l’utilisation de prédicteurs , …

    Le point commun entre ces processus est ce qui permet de décrire de manière générale ce qu’est un système adaptatif complexe.

    Tous ces systèmes acquièrent de l’information en relation avec leur environnement ; ils identifient les régularité” de cet environnement ; résument ces régularités sous forme d’un schéma, appelé aussi modèle, et agissent ensuite sur l’environnement à partir de ce schéma.

    On peut dire que la capacité d’apprentissage peut revêtir plusieurs formes : elle est très claire pour l’être humain qui va apprendre à parler, ou à faire un gâteau, mais elle est présente aussi chez les animaux par le biais de l’évolution biologique. En effet il est plus parlant chez les animaux que ces derniers ont des connaissances déjà acquises à leur naissance grâce à l’évolution. En ce sens, l’évolution est aussi un système adaptatif complexe.

    On peut noter aussi que le modèle élaboré par le système complexe adaptatif est un modèle compressé des informations : le système a extrait les régularités observées afin d’établir le modèle.

    C’est vrai lorsque l’homme (SCA) trouve les lois de la pesanteur, c’est aussi vrai lorsque l’évolution code le comportement des animaux dans leurs gênes.

    Comme le disait Isaac Asimov, l’étudiant en physique connaît les lois de la pesanteur, mais le chien qui ramasse au vol une balle les connaît aussi.

    Un système adaptatif complexe pourrait donc être représenté par le schéma suivant :

    La définition que donne Gell-Mann de la complexité effective d’une entité , en relation avec un SAC qui l’observe et construit un modèle : “la longueur d’une description précise des régularités de l’entité, identifiées par le modèle”.


    III. Les éléments fondateurs de la complexité

    III.1. Les régulations ou bouclages

    Les systèmes asservis : rétroactions explicites

    On considère par exemple le remplissage d’un bac. Pour obtenir le niveau désiré il est nécessaire d’effectuer un contrôle du niveau effectif et d’ajuster le débit de liquide en fonction de ce dernier. On obtient alors ce type de schéma avec une boucle de retour (cf schéma du réservoir).

    Le contrôle donne la mesure de la valeur de sortie. La commande est le signal appliqué en entrée du système pour l’amener à cette valeur désirée.

    Lorsque le système considéré est linéaire comme c’est le cas dans le bac considéré; l’ensemble bouclé est encore linéaire ; on peut donc effectuer des calculs sur la stabilité, la dynamique … Mais lorsque le système n’est pas linéaire tous les comportements possibles sont envisageables.

    Systèmes dynamiques avec des rétroactions non explicites

    Parfois les bouclages interviennent de manière indirecte, et n’apparaissent pas dans le système lui même : c’est le cas lorsque la sortie d’un système influence des variables diverses qui, à leur tour, influencent l’entrée. C’est le cas de tous les systèmes écologiques, mais aussi de nombreux systèmes sociaux ou humains : la bourse.

    L’analyse d’un système comportant des boucles est souvent rendue difficile par la mise en présence de plusieurs entrées et de nombreuses perturbations ou entrées secondaires.

    Par exemple, par rapport à l’accident de l’ERIKA et de la marée noire qui en a résulté, il est difficile de prédire dès à présent quel en sera l’impact sur la société Total : les ventes de pétrole vont sûrement diminuer, mais d’autres produits sont aussi vendus en parallèle : produits de nettoyage. Si le producteur est reconnu innocent, il peut en outre valoriser les efforts qu’il a réalisés pour dépolluer…

    III.2. L’irreversibilité

    L’irréversibilité des systèmes physiques prend sa justification dans le second principe de la thermodynamique : l’entropie ne peut que rester stable ou augmenter. Ainsi, si l’entropie augmente, le système ne pourra jamais, s’il reste isolé, revenir à son état initial.

    Considérons par exemple l’univers, il est actuellement en expansion. Si l’on adhère à l’hypothèse qu’il sera un jour dans une nouvelle contraction, il est clair que cette contraction ne sera pas l’image inversée de l’expansion qui a précédé du fait de l’irréversibilité. Les particules qui ont laissé leur trace dans les papiers photosensibles ne vont pas effacer leurs traces, les êtres vivants ne vont pas vomir ce qu’ils ont mangé au fur et à mesure qu’ils vont rajeunir. Le dernier souffle que le Christ à expulsé à l’instant de sa mort et dont on dit qu’il est à ce jour si bien mélangé à toute l’atmosphère que l’on en respire au moins une molécule à chaque respiration, ne sera pas reconstitué, molécule par molécule pour re-rentrer dans ses poumons.

    Bref, la flèche du temps ne va pas s’inverser, alors que nombre des modèles de la physique sont symétriques par rapport au temps. Ces modèles sont en général linéaires alors que les systèmes complexes ne le sont pas.

    Les systèmes complexes ne sont pas réversibles, et en particulier les systèmes biologiques. Le “démon de maxwell” n’a pas d’efficacité sur eux.

    III.3. Le changement de niveau d’intégration

    Le changement de niveau d’intégration n’est pas un changement d’échelle comme on l’entend en physique. Il ne s’agit pas de considérer ce qui se passe lorsque l’on décuple les doses observées, mais lorsque l’on observe le système sous un autre ordre de grandeur. Par exemple, l’observation des états de la matière, de l’infiniment petit vers l’infiniment grand, nous fait apercevoir de nombreuses émergences simplificatrices : pour savoir comment va évoluer une étoile il ne faut pas étudier les combinaison de chacun des quarks qui constituent chacun des noyaux de ses atomes, il suffit, en gros, de connaître se masse totale. Ainsi, selon que l’on considère une échelle atomique ou cellulaire, ou planétaire, … des lois nouvelles émergent qui permettent de ne pas tenir compte des éléments individuels du système de l’échelle immédiatement inférieure.

    III.3.1. Les tas de sable

    Liquide ou solide ?

    Le sable est considéré comme a mi-chemin entre l’état liquide et l’état solide :

    • si l’on retourne un pâté sur une table vigoureusement, le contenu se déverse en un coup, mais le tas formé reste ensuite immobile ; en revanche si on le retourne plus doucement, il s’effondre et s’écoule en vagues de surfaces successives.
    • lorsque l’on applique une contrainte de cisaillement, le sable cède à partir d’un certain seuil qui dépend de la profondeur sur laquelle est appliquée la contrainte dans le tas : le tas est donc de plus en plus solide.

    Les écoulements dans le sable : par exemple dans un sablier ne sont pas uniformes : il arrive qu’une sorte de voûte se construise et fasse obstacle à la progression des grains vers le sous-tirage. Ce phénomène fait que les ouvriers des silos à grains continuent à taper allègrement sur les parois pour détruire ces édifices naturels. Une poignée de grains bloque ainsi la sortie à une tonne de leurs semblables.

    Le poids d’un silo à grains

    Si l’on s’intéresse à mesurer le poids d’un silo à grains en mesurant le poids sur le fond : si le remplissage se fait avec un entonnoir, on remarque que le poids augmente eu début comme le veut la quantité de sable, mais lorsque la hauteur atteint environ le diamètre du silo, le poids mesurer n’augmente pas comme il le faudrait. En effet, les micro voûtes dont nous parlions précédemment reportent les forces et les pressions vers les parois du silo qui supporte ainsi une bonne partie du poids des grains.

    On a pu noter [@], que lorsque l’on remplit le silo avec un entonnoir ce phénomène se produit et que l’on a alors une pressions minimale au centre du tas de grain : là où la hauteur est maximale : en revanche, lorsque l’on rempli le silo par couches successives horizontales : ce phénomène ne se produit pas.

    La complexité du tas de sable

    Un tas de sable est formé de nombreux grains reposant les uns sur les autres ; c’est à dire en interactions. On est donc bien dans la configuration d’un de plusieurs autres en interactions. Ces interactions ne sont pas en général linéaires, dues aux frottements sur des grains de forme quelconques. On est donc bien dans la configuration d’un système complexe, et certains scientifiques étudient ces systèmes en effectuant des simulations numériques. Ils ont noté deux caractéristiques :

    de nombreuses voûtes de forment spontanément qui diminuent le poids apparent du sable en dessous d’elles mêmes,

    Ces voûtes sont en perpétuel réarrangement : il suffit qu’un grain glisse pour que la voûte se réarrange d’une autre manière.

    III.3.2. Les réseaux de neurones

    Définition générale

    Voir poly AJ.

    • Le neurone formel
    • Les architectures de réseau
    • Le principe de l’apprentissage : règle de gradient

    Robot hexapode

    Dans le but de réaliser un robot capable d’évoluer en site naturel, nous avons développé au LGI2P un robot capable d’apprentissage.

    La nécessité de l’introduction d’un apprentissage vient, selon notre analyse, de l’impossibilité de connaître avec une totale précision le milieu naturel qui entoure le robot. Si complexe que soit l’analyse de l’environnement que pourra faire le programmeur du robot, elle sera toujours mise en défaut tôt ou tard par une configuration inattendue. La position que nous avons choisie pour pallier cet inconvénient est alors de réaliser un robot qui serait capable d’apprendre seul ses comportements en fonction d’un objectif que nous lui fixons.

    Trois comportements ont été testés :

    • l’apprentissage de la marche,
    • l’évitement d’obstacle,
    • la marche en mode dégradé.

    Apprentissage par renforcement

    L’apprentissage par renforcement prend sa source dans l’observation de l’apprentissage chez les animaux. Lorsque l’animal (ou le robot) réalise une bonne action, il reçoit une récompense ; tandis que lorsqu’il se trompe il reçoit une punition.

    L’apprentissage par renforcement pour le contrôle d’un agent nécessite la configuration minimale suivante :

    • Un agent qui :
    • reçoit les entrées venant de l’environnement (position, vitesse, …), ainsi qu’un éventuel retours concernant son propre état, et le signal de renforcement.
    • propose ses actions.
    • Mesure ou une modélisation des interactions entre les actions proposées et par l’agent et l’environnement. :
    • ses entrées sont les actions proposées par l’agent,
    • ses sorties sont les actions effectivement réalisées par l’agent ; les actions proposées et les actions réalisées ne sont pas nécessairement les mêmes du fait des imperfections dans la modélisation (hypothèse de départ). Par exemple, le robot peut glisser sur un sole lisse ou planter ses pattes dans du sable, …
    • Une fonction heuristique qui prend ses informations à partir de capteurs et évalue les effets des actions en relation avec le comportement désiré (objectif).La fonction heuristique est appelée le “critique”, elle délivre le signal de renforcement qui informe l’agent de la qualité de ses actions.

    On retrouve dans ce schéma celui que Gell-Mann a proposé pour le système adaptatif complexe (cf. chapitre II.3.).

    L’algorithme de pénalité récompense appliqué à un réseau de neurones à une couche.

    Présenté en premier lieu par Barto et Anandan [&], l’algorithme “Associative Reward Penality” (Arp) prend son inspiration de deux sources : tout d’abord des algorithmes d’apprentissage d’automates où le comportement d’un automate est fonction du retour probabiliste de l’environnement, et en second lieu des algorithmes d’apprentissage supervisé où une fonction de coût est minimisée au travers d’une descente de gradient classique.

    L’application de l’algorithme Arp aux réseaux de neurones est suggérée par les auteurs ; elle se réalise facilement. Elle a également été formulée pour l’apprentissage de la marche hexapode sans contraintes quant à l’architecture choisie [&]. Partant du principe que plus le réseau de neurones est simple, mieux il est compris, nous avons utilisé dans une première étape le réseau le plus simple possible : un réseau à une couche de neurones binaires. L’expérience a montré, a posteriori, que ce choix était le bon.

    Le réseau est composé de six neurones (un par patte) arrangés en une seule couche de type perceptron. Les sorties des neurones codent le mouvement, tandis que les entrées codent la position des pattes (Fig.1).

    La sortie si = +1 correspond au mouvement “lever et avancer la patte” ; la sortie si = -1 correspond au mouvement “baisser et reculer la patte”.

    Figure 1 : Réseau de neurones à une couche

    Les neurones sont figurés par des cercles et les entrées par les carrés ; chaque neurone est connecté à toutes les entrées par un coefficient (flèche). Chaque neurone est indépendant des autres neurones, par exemple les connexions d’un neurone sont représentées en noir tandis que celles des autres neurones sont figurées en gris.

    Les itérations du réseau sont parallèles. Chaque itération comprend les opérations suivantes :

    • Pour chaque neurone, calculer la somme pondérée des entrées :

    vi : Sj=1,6 cij.Ij.

    Les paramètres cij sont les coefficients synaptiques, Ij est l’entrée représentant la position de la patte j, et vi est appelé le potentiel du neurone i.

    • Pour chaque neurone, la sortie est calculée en appliquant un seuil bruité.

    On a : si = sign(vi + bi),

    Où sign est la fonction signe et bi est le bruit. Le bruit est choisi de manière à obtenir une sortie binaire (si) dépendant du bruit de la manière suivante :

    • si = 1 avec la probabilité : P(+1) = ,
    • et si = -1 avec : P(-1) =

    ß est un paramètre qui doit être fixé préalablement à l’apprentissage.

    I.2. Apprentissage

    Au début de l’apprentissage, les coefficients sont initialisés aléatoirement de manière à ce que, en moyenne, chaque patte (chaque neurone) ait la même probabilité de réaliser un mouvement ou un autre (P=0,5).

    A chaque itération, une fonction appelée le “critique” évalue les performances du mouvement qui a été réalisé, et envoie au réseau une information de pénalité ou de récompense notée r. Cette information est prise en compte pour effectuer la modification des coefficients synaptiques de manière à accroître la probabilité de mouvements “satisfaisants”. En ce sens, on peut dire que l’apprentissage est “supervisé” par l’environnement. Lorsque l’apprentissage se réalise bien, à la fin de la procédure, le comportement est déterministe. Il est à noter que si une modification importante se produit dans l’environnement du robot, certains des mouvements précédemment récompensés deviendront pénalisés. Ainsi, l’apprentissage redeviendra actif afin de modifier les coefficients synaptiques pour s’adapter à ces modifications. Lors de l’apprentissage, afin de comparer le mouvement désiré au mouvement produit, sans être influencé par le bruit ajouté au potentiel, Barto et Anandan introduisent la moyenne des mouvements qu’aurait fait le robot dans la même situation. Cette moyenne est calculée par l’espérance mathématique des mouvements réalisés par un grand nombre de robots identiques soumis au même type de bruit et recevant la même entrée. On la calcule ainsi :

    E(si|cij, Ij) = (+1).P(+1)+(-1).P(-1) = th(ß.vi).

    La règle d’apprentissage peut alors être écrite :

    Si r = +1 (récompense), Dcij= µ+(r.si – E(si|cij, Ij))Ij.

    Si r = -1 (pénalité), Dcij= µ-(r.si – E(si|cij, Ij))Ij.

    µ+ et µ- sont deux paramètres du type “pas de gradient”, ils sont différents afin de compenser le fait qu’il existe beaucoup plus de situations pénalisantes que de situations récompensantes.

    Ainsi, il apparaît que cet algorithme d’apprentissage peut être utilisé pour réaliser l’apprentissage de plusieurs tâches, celles ci étant décrites par une fonction appelé le ” critique”. Nous allons voir par la suite comment deux comportements peuvent être appris grâce à deux “critiques” différents.

    Apprentissage de la marche

    Position du problème et simulations

    Le réseau utilisé pour réaliser l’apprentissage de la marche est celui décrit précédemment. Du fait des itérations parallèles, les mouvements sont synchrones. Nous avons choisi de coder le mouvement des pattes et non leur position afin de diminuer la dimension de l’espace des états de sortie et ainsi de diminuer le temps de convergence.

    Le critique choisi pour l’apprentissage de la marche est le suivant : “avancer sans tomber”.

    La règle d’apprentissage peut être rappelée ainsi : après un mouvement, si le robot chute ou reste immobile, le critique considère qu’il y a un échec, et le mouvement fait précédemment est pénalisé ; si le robot avance sans tomber, il y a réussite, et le mouvement est encouragé.

    Les simulations ont montré que, lorsque les paramètres (µ+, µ-, ß) sont correctement ajustés, l’apprentissage converge rapidement (en moins de 100 itérations dans 70% des cas) vers une marche stable [&]. Il est relativement aisé de déterminer si l’apprentissage a trouvé une solution puisque les marches obtenues sont périodiques à deux états.

    Marches trouvées par l’apprentissage

    La patte noire représente une jambe posée au sol (poussant vers l’arrière) et la patte blanche une patte levée (ramenée vers l’avant).

    Les deux marches sont périodiques à deux états.

    Apprentissage de la marche et de l’évitement d’obstacle

    Architecture du réseau global.

    Pour réaliser les deux fonctions de marche et d’évitement d’obstacle, au moins deux solutions sont envisageables : la première consiste en un seul réseau dédié aux deux tâches, la seconde en deux réseaux, chacun réalisant une des tâches. La seconde solution nous paraît la meilleure d’une part parce que les deux comportements peuvent être appris séparément et donc de manière plus simple, et d’autre part parce qu’il n’y a aucune raison pour que les deux comportements nécessitent des paramètres d’apprentissage identiques. Le fonctionnement choisi est donc le suivant : tant que le robot ne rencontre pas d’obstacle, il est piloté par le réseau d’apprentissage de la marche. Lorsque le robot rencontre un obstacle, le réseau “marche” est inhibé, le réseau “évitement d’obstacle” entre en action et conduit le robot à éviter l’obstacle. Lorsque l’obstacle est sorti du champ de sensibilité du robot, le réseau de marche entre à nouveau en action. Le réseau global proposé, résultant des deux sous-réseaux, est représenté ci dessous.


    Evitement d’obstacle

    Dans un premier temps, nous avons constaté que le robot évitait toujours les obstacles (de type convexe). Afin de vérifier qu’il avait effectivement acquis ce comportement, nous avons présenté plusieurs fois le même obstacle au robot ayant déjà appris à marcher, avec les mêmes conditions initiales. Le critique retenu est le suivant : ne pas tomber, ne pas rester immobile, ne pas reculer droit, ne pas rencontrer d’obstacles en reculant. On considère que l’évitement est accompli quand le robot a avancé de dix pas successifs sans rencontrer l’obstacle.

    Les nombreuses simulations effectuées montrent que les coefficients synaptiques convergent toujours. Les variations brusques des coefficients qui sont observées en cours de convergence dans certains cas correspondent à des changements importants de direction.

    Nous présentons ci-dessous deux exemples des déplacements successifs du robot obtenus après la convergence d’après un travail de deux élèves en Initiation à la Recherche [MM Canal et Lang].

    Exemples d’évolutions du robot contournant un obstacle.

    Le robot est figuré par un segment ; il démarre en bas au centre de la figure et se dirige droit vers l’obstacle situé en haut (carré noir). Chacun des segments représente l’orientation du robot après un pas ; à chaque pas, si le robot détecte un obstacle, il doit reculer en tournant. On peut noter que le bruit inhérent à l’algorithme conduit à des trajectoires qui peuvent être très différentes.

    Apprentissage d’une marche, ou continuelle marche au hasard ?

    Il est intéressant de savoir si le robot apprend un moyen d’éviter un obstacle ou s’il est constamment entrain de tirer ses mouvements au hasard. Pour cela des élèves en initiation à la recherche [MM Fleury et Ruiz] ont réalisé de nombreuses tentatives d’évitement d’obstacle en gardant tous les paramètres constants hormis le tirage aléatoire permettant d’introduire du bruit. A chaque nouvelle tentative d’évitement les coefficients précédemment appris sont conservés. Ils ont pu mettre en évidence plusieurs type de convergence.

    Un autre point intéressant a été observé lorsque le processus précédent a été répété un très grand nombre de fois : plus de 500 évitements avec une seule initialisation des coefficients au début du processus. La figure ci-dessous trace l’écart quadratique moyen (Mc) entre le jeu de coefficients à l’issue de l’évitement à l’évitement d’obstacle oa, et celui issu de l’évitement oa+1.

    on peut remarquer sur la figure qu’un genre de dispersion apparaît lorsque l’apprentissage se poursuit très longtemps. Ce type de comportement évoque le chaos déterministe : des points de bifurcation apparaissent.

    L’apparition de ce comportement chaotique n’est pas très étonnante du fait du caractère non-linéaire et bouclé du système étudié.

    Comportement chaotique

    Après plusieurs répétitions de l’apprentissage, le critère de convergence (Mc) converge puis se sépare en plusieurs états dégénérés, symptomatiques d’un attracteur étrange.

    III.3.3. Les automates cellulaires

    III.4. l’indétermination

    III.4.1. La mécanique quantique

    III.4.2. Le chaos déterministe

    En 1961, le mathématicien et météorologue Edward Lorentz simule déjà sur un ordinateur à tubes un phénomène intervenant en météo : la convection thermique.

    Il fait tourner son programme et observe les résultats : les prévisions de vitesse de vent, de température, de pluviométrie… Il est intéressant de constater que les résultats ne sont jamais les mêmes, lorsque l’on laisse le système itérer, les résultats n’atteignent jamais un fonctionnement périodique.

    Un jour, pour essayer de mettre à nouveau en évidence un résultat obtenu, il réinitialise son système avec des valeurs qu’il avait notées auparavant : vitesse du vent… et là oh surprise, il se rend compte que les résultats au bout d’un certain temps diffèrent complètement de ce qu’il avait précédemment obtenu…

    Il en conclu que le système est très fortement sensible aux conditions initiales et qu’il a introduit les valeurs avec une trop grande imprécision.

    Lorentz se penche donc sur les équations qui décrivent son phénomène : elles sont non linéaires et le phénomène est récurrent.

    Les équations de Lorentz :

    On peut remarquer que ces équations sont non-linéaires et récurrentes.

    En fonction des valeurs initiales des paramètres météo a, b, c, on peut obtenir plusieurs types de comportements dans l’espace des phases (http://www.ensicaen.ismra.fr/~rognier/lorentz/lancelo.html).

    Quelques exemples : les courbes représentent une projection sur un plan du cheminement des valeurs d’état x, y, z, du système.

    A gauche : a=2, b=1, c=0,001, on a une convergence vers un attracteur simple.

    Au centre : a=2, b=-1, c=-0.001, divergence en forme de tire-bouchon.

    A droite : a=3, b=28, c=3.3, convergence en forme de spirale logarithmique.

    La figure la plus connue :

    Le papillon de Lorentz (a=10, b=28, c=3.3).

    Cet attracteur possède des propriétés particulières : les trajectoires autours des attracteurs ne sont jamais exactement les mêmes. Ce type d’attracteur est appelé “attracteur étrange” il est caractéristique du chaos.

    Il est clair à la lueur des travaux de Lorentz que la prévision des phénomènes météos (qui font obligatoirement intervenir les phénomènes de convection) ne pourront jamais être totalement prédis ; tout ce que l’on peut faire est améliorer la prévision en augmentant la précision des valeurs initiales et en diminuant le maillage des mesures.

    Autre aspect des phénomènes chaotique : les points de bifurcation

    Lorsque le système s’éloigne de son point d’équilibre (s’il en a un), les fluctuations et perturbations ont une importance assez grande. Elles conduisent le système soit dans un type d’état, soit dans un autre (ou plusieurs autres). Ainsi au fur et à mesure que le temps s’écoule, le système dynamique non-linéaire évolue et choisi successivement plusieurs options qui sont autant de bifurcations et que l’on peut imaginer comme étant des chemins différents que prendrait un piéton.

    Image tirée de : http://www-ensimag.imag.fr/eleves/Guillaume.Molleda/tipe2.htm

    IV. Conclusion

    L’avenir appartient aux systèmes complexes, mais nous sommes pour l’instant balbutiants, il n’y a que récemment, que l’ordinateur nous a permis de les approcher de plus près.

    ” Le maintien de l’organisation dans la nature n’est pas – et ne peut pas être – réalisé par une gestion centralisée, l’ordre ne peut être maintenu que par une auto-organisation. Les systèmes auto-organisateurs permettent l’adaptation aux circonstances environnementales ; par exemple ils réagissent à des modifications de l’environnement grâce à une réponse thermodynamique qui les rend extraordinairement flexibles et robustes par rapport aux perturbations externes. Nous voulons souligner la supériorité des systèmes auto-organisateurs par rapport à la technologie humaine habituelle qui évite soigneusement la complexité et gère de manière centralisée la grande majorité des systèmes techniques. Par exemple, en chimie synthétique les différentes étapes réactionnelles sont généralement soigneusement séparées les unes des autres et les contributions liées à la diffusion des réactifs sont éliminées par brassage. Une technologie entièrement nouvelle devra être développée pour exploiter le grand potentiel d’idées et de règles des système auto-organisateurs en matière de processus technologiques. La supériorité des systèmes auto-organisés est illustrée par les systèmes biologiques où des produits complexes sont formés avec une précision, une efficacité, une vitesse sans pareille”.

    D’après un rapport à la Communauté Européenne, C.K. Briebracher, G. Nicolis et P. Schuster.

    Đăng trong Complexité, Computer Science | Leave a Comment »