Outil d'Alignement de Séquences Génétiques
Outil d'Alignement de Séquences Génétiques
Faculté de Technologie
Département de Génie Biomédical
Laboratoire de Recherche de Génie Biomédical
شفاء
Remerciement
En premier lieu je tiens à remercier le Dieu le tout puissant qui m’a donné l’opportunité
d’effectuer ce cursus, et qui nous a réunie moi et mon encadreur pour ce modeste travail.
Je remercie Mr BACHAR Hassane et Mme DALI YOUCEF Lamia qui m’ont fait l’honneur
d’accepter d’évaluer mon travail, merci pour le temps consacré à la lecture de ce manuscrit
et à la participation à ce jury malgré un emploi du temps chargé.
Je remercie tous les professeurs qui m’ont apporté leurs connaissances et leurs soutiens
durant mes cinq ans d’étude à l’université Abou Bakr Belkaid de Tlemcen, et je remercie
surtout Professeur CHIKH Med El Amine le doyen de la faculté et le père de cette
promotion d’informatique biomédicale.
Mes remerciements sincères à ma famille, mes parents, frères et sœur : Soumia, Hamid,
Nafissa, Taha, Hicham et Djaber, mon époux cher BENSAID Naceur et sa famille, houda et
soumia, vous ont toujours su me faire rire et décompresser pendant les moments ou
l’inspiration s’éloigne de moi.
J’adresse mes remerciement a tous mes collègues et amis, je les dis ; c’était cinq ans
inoubliables que j’ai passé avec vous comme étudiante en génie biomédicale, et trois
années parfaites dans la spécialité d’informatique biomédicale, et je suis fière que j’ai fait
partie de cette promotion formidable.
Sans oublier de dire merci à tous ceux qui ont participé de près ou de loin à la réalisation
de ce mémoire, Mr BOUDJEMAA Boudaa, Mr BOUGASSA Aek, Dr GHLAMALLAH.
Je ne pourrais terminer ces remerciements sans penser à ceux qui comptent le plus pour
moi et qui me permettent de poursuivre mes buts. Sara, Sabrina, Bochra, , Anfal, Sadika,
Zineb, Keltoum, Zahira, Halima et Farida vous m’accompagner à chaque instant.
L’information génétique fait le sujet du jour pour la recherche. Des centaines d’organisation
autour du monde font la récolte de ces données essentiellement représentées par les séquences
biologiques (bases nucléiques de l’ADN et acides aminés des protéines). Le volume de ces
données ne cesse de croitre alors il faut faire appel aux techniques bioinformatiques. La
recherche dans ces banques est basée sur l’alignement et le calcule de score pour obtenir des
résultats biologiquement significatifs, qui peuvent être contenues dans des segments alignés
entre séquences.
Abstract :
Our work is to implement algorithms of comparison between sequences (Dot Plot, global
and local alignment algorithms), and other functionalities of sequence processing.
: الملخص
مئات المراكز حول العالم تقوم بجمع هذه المعلومات المتمثلة،المعلومات الجينية هي موضوع اليوم في األبحاث العلمية
.)أساسا ً في السالسل البيولوجية (القواعد النوويّة المكونة للحمض النووي و األحماض األمينية التي تشكل البروتينات
البحث في هذا النوع من البنوك.حجم هذه المعلومات في تزايد مستمر ما يستدعي استخدام تقنيات المعلوماتية الحيويّة
البيولوجية يعتمد أساسا على رصف السالسل وحساب مجموع النقاط من أجل التوصل لنتائج ذات مدلول بيولوجي والذي
.قد يتواجد في القطع المرصوفة بين السالسل
خوارزميات الرصف العام،في هذه المذكرة قمنا بتطوير برمجيات لمعاينة ومقارنة السالسل البيولوجية (مصفوفة النقاط
.)والمحلي
Figure-1.10- : La liste des lignes de codes qui composent une entrée de la banque de
séquences EMBL.
Figure-2.2- : Résultat de recherche pour le virus de la Rage par son identifiant ‘NC_001542’.
Figure-2.8- : Résumé graphique de toutes les séquences similaires retrouvées par l’outil de
recherche NCBI.
Figure-2.18- : Exemple d’un alignement multiple clarifié par une coloration des séquences
identiques.
Figure-2.25- : Illustration généralisée pour la création d’un simple Dot Plot basée sur la
comparaison de deux copies d’une séquence.
Figure-2.26- : Un exemple de Dot Plot pour une séquence génétique, à la droite le plot avant
filtrage et à la gauche le plot après filtrage.
Figure-2.27- : Dot Plot de deux séquences protéiques de petite taille, avant et après filtrage.
Figure-3.7- : Résultat de lecture d’un fichier FASTA, entete de chaque séquence et nombre
des séquences.
Figure-3.16- : Résultat d’alignement global pour l’exemple du 2ème chapitre calculé par notre
programme.
Figure-3.17- : Résultat d’alignement global pour l’exemple du 2ème chapitre calculé par notre
programme.
Introduction générale
La différence dans nos visages, cheveux, corps et tout le métabolisme humain et celui des
autres espèces, l’activité naturelle des différents organes et même les anomalies qui
apparaissent, peuvent être expliqués par un code spécifique qu’on appelle gène, donc pour
chaque phénotype ils existent un équivalent invisible appelé génotype.
On considère l’information génétique comme la suite des bases azotique d’un ADN ou des
acides aminés d’une protéine, dont le type et l’ordre de ces derniers peut construire une large
différence, donc ces molécules représentent le livre de la vie, permettant d’extraire les secrets
derrière les pathologies et anomalies génétiques, mais cette information et très volumineuse
(par exemple il ne suffit pas une centaine de livres pour écrire tous le génome humain), et le
nombre de séquences dans les banques de données ne cesse à croitre jusqu’à ce jour, et
l’extraction de connaissances à partir d’une masse de données assez grande nécessite un
traitement automatique ou informatisé, ce qui fait appel à la discipline de bioinformatique.
Les séquences génétiques ne peuvent pas être comparées comme n’importe quel chaines de
caractères, puisqu’une similarité ce voie dans différentes parties des séquences, une recherche
dans les banques de données relationnelles ou textuelles consiste à comparer la requête avec
tous les lignes de la table ou toutes les Strings du corpus, le résultat contient les individus
égaux avec la requête, mais une recherche dans une banque de séquences génétique - pour
donner des résultats avec un sens médical ou biologique - doit extraire comme résultat les
zones de similitudes entre la séquence requête et chaque séquences de la banque, dont la
méthode et d’aligner la requête avec chaque séquence de la base, et d’affecter un score pour
chaque alignement, le résultat sera les séquences par ordre décroissant de leurs scores
d’alignement.
Notre but dans ce mémoire est de réaliser un alignement automatique entre séquences
génétiques pour pouvoir effectuer des recherches dans les données biologiques.
2
Introduction
3
Chapitre I
L’information génétique
Préambule
1. Emergence de la bioinformatique
2. La molécule d’ADN et l’information génétique
3. Autres formats pour l’information génétique
3.1. Transcription
3.2. Traduction
4. Du génotype au Phénotype
4.1. Définitions
4.2. Mutations
4.3. Exemples
4.3.1. Troubles héréditaires de l’hémoglobine
4.3.2. Cancer
1. Séquences biologiques
1.1. Détermination des séquences
2. Banques de données biologiques
2.1. Qu’es ce qu’une Banque de données génétique
2.2. Notes historiques
2.3. Types de banques de données génétiques
2.3.1. Banques de séquences généralistes
2.3.2. Banques de séquences spécialistes
2.4. Banques de données utiles en Génétique
2.4.1. Banques de séquences nucléiques (EMBL – GenBank – DDBJ)
2.4.2. Banques de séquences protéiques (SwissProt – GenPept – UniProt)
3. Domaines d’application
Conclusion
Chapitre I : L’information génétique
Préambule
Donc basiquement on doit comprendre comme novices en biologie c’est quoi l’information
génétique (donnée biologique)? Dans ce chapitre on verra les banques de données génétiques,
leurs types, comment elles sont récoltées et ordonnées ? Quels types d’informations
accordés ? Et surtout comment exploiter cette immense quantité d’information ; ou on cherche
à démontrer le taux de connaissances qui peuvent être retirées à partir de ce genre de banques
de données.
Pour comprendre le dogme générale de l’information génétique il faut passer d’abord par
quelques notions de base biologiques qui englobent comment cette information est stockée, et
considérée comme « le livre de vie ».
1. Emergence de la bioinformatique :
5
Chapitre I : L’information génétique
Tous ses avancements jouent un rôle important dans l’émergence du nouveau secteur
scientifique connu aujourd’hui par la « Bioinformatique », mais l’utilisation du terme est
documentée pour la première fois en 1970 dans une publication de Paulien Hogeweg et Ben
Hesper (Université d’Utrecht, Pay-Bas) en référence à l’étude des processus d’information
dans les systèmes biotiques. [10]
C’est toute un monde la bioinformatique, qui se développe jour après jour et avance très
rapidement, les dernières années connaissent la découverte de plusieurs nouvelles applications
conduisant vers une révolution à la biologie, l’ADN est la molécule centrale du cercle qui
comprend tous types de travaux dans ce domaine, puisqu’il est le support de l’information
génétique, donc il faut détailler pour expliquer comment porte-t-il l’information génétique, et
comment exprimer cette information par autre moyens que l’ADN.
6
Chapitre I : L’information génétique
conditionnant la transmission d’un caractère héréditaire déterminé sont appelées gènes, cette
chronologie est représentée dans la Figure-1.1-. [1]
L’ADN est un très long filament formé de deux chaines qui se font face et sont enroulées en
double hélice, l’unité de base de chaque brin de l’ADN est le nucléotide constitué par un
groupement phosphate, un sucre, et une des quatre types de bases azotées : Adénine ‘A’,
Thymine ‘T’, Cytosine ‘C’, Guanine ‘G’, un brin peut donc être décrit comme une suite de
nucléotides, et les deux brins sont liés par des liaisons faibles (type hydrogène et connus sous
le nom des premiers inventeurs de cette structure double hélice ; liaison de Watson et Crick)
qui unissent les bases azotées suivant deux appariements (A avec T et G avec C) par rapport à
leurs catégorisation physico-chimique (A et G a la catégorie des Purines, G et T a la catégorie
des pyrimidines). [7,12]
L’information génétique est transmise des parents à leurs descendants, elle est utilisée
pour la synthèse des protéines et lors de la formation d’un embryon. Elle est portée par l’ADN
et donc constituée par l’ordre des nucléotides, ou cette suite de nucléotides le long d’un brin
ressemblent à un message écrit dans un code à quatre lettres (ACCTGAAAT…), la suite de
lettres (ordre et nombre de nucléotides) constitue une séquence spécifique à chaque être
vivant. Le gène est un segment d’ADN qui porte une séquence particulière de nucléotides
correspondant à un ou plusieurs caractères héréditaires. [5,12]
7
Chapitre I : L’information génétique
D’après les expériences faites par les biologistes, l’information transmise par un être à sa
progéniture ne repose que sur l’ADN, mais comment considérer les autres molécules comme
l’acide ribonucléique (ARN) et les Protéines comme sources de l’information génétique, ou
molécule porteuses de cette information ?
Pour répondre à cette question on doit comprendre la relation entre ces molécules et l’ADN,
qui se résume en deux phases ; la transcription de l’ADN en ARN avec une équivalence, puis
la traduction de l’ARN en chaine polypeptidique qui replient sur elle-même pour prendre une
structure 3D complexe constituant les protéines qui interagissent pour assurer le métabolisme
de la cellule. [3]
Donc pour détailler se passage entre l’ADN et les protéines via l’ARN il faut explorer les
deux phases Transcription et Traduction ;
3.1. Transcription :
Le processus est un peu différent entre la transcription chez les procaryotes et les eucaryote,
mais l’idée globale est la même, donc on va s’intéresser par les eucaryote comme exemple des
cellules animales.
La transcription des gènes de l’ADN en ARN pré-messager a lieu dans le noyau de la
cellule, comme l’ADN est constitué de deux brins complémentaires où la connaissance d’un
brin apporte la connaissance de l’autre (couples de bases azotées A-T et C-G), le même
principe avec l’ARN qui est synthétisé à partir du complément d’un brin d’ADN sauf qu’il
est constitué d’un seul brin et la base azotée T est remplacée par une autre appelée Uracile
‘U’.
[15]
La synthèse est catalysée par l’ARN polymérase, une enzyme oligomérique (i.e., un
polymère constitué d’un nombre limité de sous-unités moléculaires). L’ARN pré-messager
devient mature et appelé ARN messager (ARNm) après l’excision des introns (parties qui ne
codent pas un polypeptide) et l’épissage des exons (les brins codant), l’ARN messager quitte
le noyau au cytoplasme via les pores nucléaires portant l’information nécessaire pour la
synthèse des protéines [3, 7, 14], l’étape de transcription est représentée dans la figure-1.4-.
8
Chapitre I : L’information génétique
3.2. Traduction :
Les protéines sont des macromolécules synthétisés par les cellules à partir de l’information
contenue dans le génome et véhiculée par l’ARNm, l’unité de base des protéines sont les
acides aminés codés par les bases de l’ARNm en triplés, il existe 4ᵌ = 64 combinaisons
autorisés appelées codons et 22 types d’acides aminés (donc le code est redondant
plusieurs codons peuvent engendrer un même acide aminé) [3, 7, 16], le processus est
représenté dans la figure-1.4-.
Une fois que le brin d’ARNm a atteint le cytoplasme, il se fixe à un ribosome qui va
assembler une séquence d’acides aminés selon les instructions du code génétique démontrés
dans la table -1-.
9
Chapitre I : L’information génétique
Comme il est remarquable après l’étude de synthèse d’ARN et des protéines, l’information
initiale contenue dans l’ADN est conservée puis reportée par l’ARNm lors de la transcription
puis sert de support pour la synthèse des protéines lors de traduction, ce qui permet la
considération d’ARNm et les protéines comme autres types de définition pour l’information
génétique.
4. Du génotype au phénotype :
L’organisme est constitué des cellules qui proviennent d’une même cellule mère divisée
plusieurs fois, donc le processus est le suivant ; l’ADN support de l’information génétique
transcrit en ARNm qui sera traduit en Protéines décrivant le phénotype moléculaire puis
cellulaire est enfin le phénotype de l’organisme (Phénotype de la cellule initiale est recopié
dans toutes les cellules filles pendant la division cellulaire) [5].
4.1. Définitions :
- Génotype : ensemble des caractères génétiques d’un être vivant, qui se traduisent ou non
dans son phénotype, donc il représente la partie invisible qui contient les composantes
informative du génome. [1, 4]
10
Chapitre I : L’information génétique
4.2. Mutations :
Avant la division cellulaire (mitose) la cellule réplique son ADN de sorte qu’elle a deux
copies complètes de son information génétique [5], donc au cours de leur vie les gènes se
reproduisent à chaque fois que les chromosomes se dédoublent, la copie est presque toujours
conforme au modèle original, de sorte qu’on peut dire que le génotype reste constant de la
fécondation jusqu’à la mort, mais ce n’est pas toujours le cas, ou il se produit par fois
quelques erreurs qui donnent des copies différentes du modèle original, et c’est le phénomène
de « mutation génique ». [23]
Donc une mutation est une modification aléatoire brusque et permanente dans la séquence
de l’ADN qui se manifeste par des caractères phénotypiques nouveaux, ce qui la rendre
moteur de l’évolution des espèces mais aussi elle peut être responsable de plusieurs maladies
génétiques. [20, 21, 23]
Le mot mutation désigne les gènes ayant subi une altération interne, et les variations
structurales de chromosomes, ce qui distingue deux types de mutations :
* Mutation chromosomique ; c’est toute perte, duplication ou réarrangement de
chromosomes entiers, et l’exemple le plus connu ici c’est « la trisomie 21 ».
* Mutation ponctuelle (génétique) ; elle touche un ou plusieurs nucléotides du même gène
par une perte, duplication ou bien altération de petit segments d’ADN, ce genre de mutations
peut venir sous différentes formes :
11
Chapitre I : L’information génétique
Les trois substitutions qui existent sont montrées dans la Figure -1.5-.
- Insertion / Délétion : c’est une mutation de décalage qui veut dire l’addition ou la
suppression d’un nucléotide en cas d’une chaine non multiple de trois, ce qui change la
lecture du code génétique, et génère le plus souvent l’apparition d’un codon-stop prématuré,
Les deux mutations (insertion et délétion) sont clarifiées par la Figure-1.6-. [19, 20, 23]
Il est important de savoir que les substitutions sont moins dommageables que les insertions
et les suppressions. [7]
4.3. Exemples :
Pour comprendre l’effet des mutations on choisit les deux exemples qui suivent :
12
Chapitre I : L’information génétique
phénotype (maladie), quand la substitution d’un acide aminé modifie la stabilité ou la fonction
de la molécule d’hémoglobine.
Par exemple la substitution de l’acide aminé « Glutamine » par la « valine » dans la sixième
position d’une chaine peptidique appelée béta, provoque la molécule d’Hb à former des piles
linéaires ce qui entraine les cellules rouges à prendre une falciforme, comme il est montré
dans la Figure-1.7-. [17]
Figure -1.7- : L’anomalie cellulaire provoquée par les troubles héréditaires de l’hémoglobine.
La mutation qui entraine cette maladie est une substitution Faux-sens comme il est représenté
dans la Figure -1.5-.
4.3.2. Le cancer :
Plusieurs facteurs conduisent vers l’apparition du cancer par leur effet cancérigène en
provoquant des modifications au niveau de l’ADN à l’intérieur de certains gènes spécifiques
appelés « Oncogènes » qui sont présent dans toutes les cellules et participant à la régulation
de la croissance et division cellulaire, mais lorsqu’un accident affecte directement un
oncogène, ou bien qu’il n’est plus régulé ou il produit une protéine anormale, la cellule peut
devenir une cellule cancéreuse. [24]
Par exemple pendant la cicatrisation d’une blessure des cellules ce multiplient pour remplir
l’espace laissé par la plaie, la multiplication est contrôlée par l’oncogène, donc une mutation
sur ce dernier peut rendre l’opération de cicatrisation incontrôlable (donc un cancer de peau
comme il est présenté dans la Figure-1.8-). [24]
13
Chapitre I : L’information génétique
1. Séquences biologiques :
Puisque l’information génétique est portée par l’ADN et l’ARNm sous forme de séquence
de nucléotides (message en quatre lettres ACGT ou ACGU), ou bien par des chaines
polypeptidiques sous forme de séquence d’acides aminés (cité dans la Table-1-), il est
important de savoir comment extraire ces séquences à partir des gènes, est ici on revient à la
définition initiale de la bioinformatique qui dit que cette dernière est la combinaison de
plusieurs disciplines, et une de ces disciplines est la biochimie qui aide à l’extraction des
séquences génétiques.
Le séquençage a un impact majeur dans la résolution de nombreux problèmes en biologie et
surtout dans le domaine de santé, et scientifiquement des recherches sont faites sur l’évolution
des espèces et le fonctionnement des cellules, et pour le publique c’était important de savoir
l’effet nutritionnel et environnementale sur la propagation des maladies. [44, 45]
Le séquençage débute dans la deuxième moitié des années 1970 avec l’invention de deux
méthodes ; une par l’équipe de Walter Gilbert aux États-Unis, repose sur le marquage
radioactif de fragments coupés de façon sélective, et l’autre par l’équipe de Frederick Sanger,
et basées sur une synthèse enzymatique. [25, 29, 45]
Tous d’abord il faut différencier les banques des bases, ou le terme ‘banque de données est
utilisé pour décrire l’ensemble de données relatifs à un domaine défini des connaissances, et
organisées pour être offertes aux consultations d’utilisateurs, là que le terme ‘bases de
données’ désigne l’ensemble de données organisé en vue de son utilisation par des
programmes correspondant à des applications distinctes et de manière à faciliter l'évolution
indépendante des données et des programmes, sans oublier l’élément de base de chaque
collection qui est considéré comme facteur de discrimination entre la banque qui a le fichier
de données comme élément de base et la base qui a la donnée comme élément de base. [33,
34]
14
Chapitre I : L’information génétique
Et plus largement, une banque de données est un ensemble structuré et organisé permettant
le stockage de grandes quantités d’informations relatives à un domaine, souvent les données
sont stockées sous format texte respectant une disposition particulière, et pour les interroger il
faut développer des logiciels spécifiques qui facilitent leurs utilisations (ajout, mise à jour,
recherche et éventuellement analyse dans les systèmes les plus évolués). [27, 28]
Alors si on définit une banque de données de cette façon générale, il faut spécifier un peu
pour savoir le sens exact des banques de données génétiques.
C’est une banque de données contenant des informations biologiques et des données de
séquences largement diffusées par le réseau internet, elles sont généralement reliées entre
elles par des ‘liens’ ou des ‘cross-références’. [30]
Donc ces banques de données sont pour l’archivage, stockage, diffusion et l’exploitation
des données biologiques.
Avec le développement de la génétique et des nouvelles technologies à très haut débit, nous
faisons actuellement face à la production de données à un niveau encore jamais atteints. Il est
aujourd’hui démontré que les données produites par les technologies de séquençage à haut
débit seront plus importantes que tout ce qui n’a jamais été produit dans le passé y compris le
web lui-même ! Nous faisons donc face à de multiples challenges tant pour le stockage de ces
données que pour leur analyse. [27]
En effet, les données biologiques sont produite depuis longtemps, ou l’apparition des
premières banques de séquences était au début des années 80, et voilà quelques dates
importantes dans le développement des banques de données biologiques :
- 1977 : Séquençage d'ADN : F. Sanger / Maxam & Gilbert. et la première suite
logicielle bioinformatique (Staden).
- 1980 : Banque de séquences nucléiques EMBL.
- 1981 : La création du programme d'alignement local de séquences ‘Smith &
Waterman’, et l’extension de l'algorithme de Needleman et Wunsch au problème de
recherche de similitude locale.
- 1982 : Création de GenBank ; banque américaine généraliste de séquences nucléiques
- 1984 : Création de la banques de séquences protéiques NBRF.
- 1985 : Programme d’alignement local ‘FASTA’ (Pearson & Lipman).
15
Chapitre I : L’information génétique
16
Chapitre I : L’information génétique
Parmi ces banques il y on a trois banque nucléiques (EMBL en Europe, GenBank aux États-
Unis et DDBJ au Japon), et deux banques protéiques (PIR-NBRF et SwissProt). [22, 26, 33,
34]
Parmi les banques de séquences spécialisées qui existent, SGD (Génome des
Saccharomyces), MGI (Génome de la souris), Transfac (Facteurs de transcription), KABATP
(Séquences d’immunoglobines), PFAM (Famille de protéines) et TAXONOMY (Taxonomie).
Pour des besoins spécifiques, de nombreuses bases de données spécialisées ont été créées,
certaines sont pérennes et continuent d’être développées et mises à jour, d’autres sont laissées
à l’abandon et d’autres ont disparu. [22, 26, 33, 34]
Pour savoir plus sur l’information génétique on a besoin de citer quelques exemples qui
explique comment les données sont-elles ordonnées est stockées.
Les données stockées sont des fragments du génome (un ou plusieurs gènes ou un bout de
gêne), ce genre de banque suit un format de stockage similaire ou chaque entrée est une
(séquence + quelques informations) stockées dans des fichiers (flat files), qui se compose à
son rôle de trois parties :
Chaque ligne de l’entrée commence par un mot clé (abrégé en deux lettres pour EMBL et le
mot complet maximisé à 12 lettres pour GenBank et DDBJ), et la fin de l’entrée est déclarée
par l’insigne //, toutes les séquences sont écrites avec T soit qu’elle est une séquence d’ADN
ou d’ARN, et elles sont toujours avec la même orientation. [28, 34, 35]
a- EMBL :
European Molecular Biology Laboratory [35] financée par l'EMBO (European Moleculary
Biology Organisation), développée au sein du Laboratoire Européen de Biologie Moléculaire
situé à Heidelberg (Allemagne), elle est maintenant diffusée par l'EBI (European
Bioinformatics Institute), situé près de Cambridge (Angleterre), sa première version
17
Chapitre I : L’information génétique
disponible fut distribuée en avril 1982, c’est une collection exhaustive des séquences d’acides
nucléiques et utilise le système de gestion de bases de données (SGBD) relationnel ORACLE.
Cette banque contient 74 491 158 213 nucléotides dans 44 538 943 entrées à la date du
Vendredi 22 0ctobre 2004. Dans la Figure-1.9- l'évolution du nombre du nombre de
nucléotides depuis sa création : [33, 36]
Chaque séquence est identifiée par une mnémonique (identifiant) ID, numéro d’accès AC, et
plusieurs autres informations comme la date DT et les caractéristiques FT, et enfin la
séquence primaire SQ, l’ensemble constitue une entrée comme il est représenté dans les
Figure-1.10- et -1.11-. [33, 36]
Figure-1.10- : La liste des lignes de codes qui composent une entrée de la banque de
séquences EMBL. [38]
18
Chapitre I : L’information génétique
19
Chapitre I : L’information génétique
b- GenBank :
Elle contient les mêmes informations que celle contenues dans la banques EMBL, mais avec
une manière différente, ou chaque ligne débute avec un mot au lieu d’une abréviation, par
exemple la mnémonique dans cette banque est dite « LOCUS ». L’exemple dans la Figure-
1.12- montre le format ‘flat file’ d’une entrée dans la banque GenBank. [33, 36, 37]
c- DDBJ :
Banque de séquences nucléique de Japon (Mishima), Créée en 1986 et diffusée par le NIG
(National Institute of Genetics, Japon), elle contient 42 245 956 937 nucléotides dont 37 926
117 entrées à la date du Vendredi 22 0ctobre 2004. [22]
Cette banque est très similaire à Genbank du coté format, ce qui fait que le même exemple
représente sa format Figure-1.12-.
20
Chapitre I : L’information génétique
21
Chapitre I : L’information génétique
Les données stockées sont des protéines entières ou fragments des protéines, dans les
banques généralistes on parle des protéines de tous les espèces, et dans les banques
spécialisées c’est une famille des protéines particulières, groupe des protéines ou d’un
organisme particulier, l’entrée stockée dans ces banques est la séquence concernée + des
annotations. [34]
a- SwissProt :
Une banque de données biologique contenant des séquences protéiques, crée par Amos
Bairoch en 1986, ses informations sont saisies et vérifiés manuellement. SwissProt s’efforce
de fournir des séquences de protéine fiables, avec un haut niveau d’annotation sur celle-ci
(comme la description de la fonction d’une protéine, ces modifications post-traductionnelles,
la similarité à d’autres protéines et les maladies associées), limitant les redondances et
possédant plusieurs liens vers d’autres banques de séquences. [49, 50]
Elle est déduite à partir de la translation des séquences codantes dans la base de séquences
nucléiques EMBL, Une partie d’un enregistrement est représentée dans la Figure-1.13-.
Figure-1.13- : Début et fin d’une entrée dans la banque de séquences SwissProt. [48]
b- GenPept :
La banque de séquence GenPept est une collection annotée de toutes les séquences de
protéines disponibles avec leurs caractéristiques, compilée à partir d’une variété de sources y
compris SwissProt, et de traduction de toutes les séquences codantes annotées dans GenBank.
Elle est produite au NCBI (National Center for Biotechnology Information) en recevant des
22
Chapitre I : L’information génétique
séquences produites dans des laboratoires à travers le monde à partir de plus de 100 000
organismes distincts. [46, 47]
Le format de GenPept est à base de texte dérivé de la banque mère GenBank, sous format
multi séquences, ou chaque entrée se termine par double barre oblique (‘//’), ce genre de
fichiers ne peut pas être édité manuellement, puisque cette format est complexe et exige une
connaissance précise de chaque mise en forme des étiquettes, donc c’est mieux de le générer
par un logiciel. [46]
23
Chapitre I : L’information génétique
c- UniProt :
Une base de données ouverte de séquences protéiques, stable et accessible en ligne, son
nom dérive de la contraction de « Universal Protein Resource » (base de données universelle
des protéines).
C’est une base annotée hiérarchisée, où chaque séquence est riche en métadonnées (résultats
expérimentales caractéristiques et conclusions scientifiques), et des liens vers d’autres bases
de données.
C’est la combinaison des données de bases SwissProt, TrEMBL et Protein Informations
Resource (PIR), et régulièrement mise à jour. [51]
3. Domaines d’application :
La bio-informatique propose des méthodes et des logiciels qui aident en plusieurs domaines,
par ses puissances en traitement des données biologiques générées par les nouvelles
biotechnologies, elle est constituée de plusieurs sous-disciplines ou champs d’applications
comme la bioinformatique statistique utilisée à l’étude des populations ou la bioinformatique
des réseaux qui s’intéresse au flux génétique en analysant les interactions entre gènes,
protéines, cellule et organismes, il existe aussi la bioinformatique structurale qui s’occupe de
la reconstruction 3D des protéines ou d’acides aminés, et enfin la bioinformatique des
séquences qui traite l’information génétique contenue dans la séquence (soit d’ADN ou des
protéines). [10]
Pour plus de détails on cite quelques mystifications qui peuvent être résolus en manipulant
l’information génétiques par des outils informatiques ;
24
Chapitre I : L’information génétique
Conclusion
Le chapitre qui précède résume en grosso modo toutes les notions de base pouvant nous
introduire la recherche en domaine bioinformatique.
Pour faire une recherche dans un domaine assez vaste, il deviendra primordiale d’intégrer
une grande partie qui s’intéresse à la biologie pour savoir avant tous c’est quoi l’information
génétique dans l’organisme, et malgré qu’elle est supposée être un caractère inobservé tacite,
il faut savoir quand même son influence observable, ou chaque partie de cette information
encapsulée appelée génotype ou caryotype, définie en parallèle un phénotype, donc toutes
anomalies internes peuvent produire une modification superficielle, soit qu’elle est juste une
différence a l’apparence (comme la couleur des yeux et cheveux) ou bien un
dysfonctionnement (comme les pathologies génétiques).
Des entreprises et des laboratoires déploient des efforts considérables, ce qui aboutis a une
énorme quantité d’informations, des tira bites de séquences génétiques sont récoltées et
ordonnées en plusieurs banques biologiques, dont les séquences avec leurs annotations sont
structurées d’une manière différente pour chaque banque de référence (standard), et la
quantité géante des données était traitée pour extraire un taux de connaissances acceptable,
une de ces connaissances : les séquences responsables des pathologies génétiques, et la
recherche des nouveautés à la génie-thérapie, les protéines et leurs fonctionnement…etc. et
plusieurs autres domaines qui font aujourd’hui de la biotechnologie un grand espoir pour tous
problèmes encore posés, biologique biochimique ou même médicale.
25
Chapitre II
Etat de l’art
Préambule
5. NCBI
6. UniProt
7. EMBL-EBI
8. SMS
9. Interprétation des résultats
9.1. Avis d’expert
4. Alignement de séquences
5. Matrices de substitution
5.1. Matrices pour l’ADN
5.1.1. Matrice unitaire
5.1.2. Matrice de transition/transversion
5.1.3. Matrice de BLAST
5.2. Matrices pour les protéines
5.2.1. Matrice PAM
5.2.2. Matrice BLOSUM
5.3. Choix de la matrice
6. Méthodes d’alignement globales
6.1. Eléments d’alignement global
6.2. Limite des méthodes globales
7. Méthodes d’alignement locales
7.1. Avantage des méthodes locales
8. Algorithmes de comparaison de deux séquences génétiques
8.1. Méthode Dot Plot
8.1.1. Principe
8.1.2. Interprétation des résultats
8.2. Algorithme Needleman & Wunsch
8.2.1. Principe
8.2.2. Exemple
8.3. Algorithme Smith & Waterman
8.3.1. Principe
8.3.2. Exemple
9. Programmes de comparaison avec les banques de séquences
9.1. Algorithme FASTA
9.1.1. Principe
9.2. Algorithme BLAST
9.2.1. Principe
9.2.2. Avantages
Conclusion
Chapitre II : Etat de l’art
Préambule
A partir des connaissances acquises dans le chapitre précédent sur les données biologiques,
on peut estimer le traitement efficace à effectuer sur ce genre de données. Pour plus de
précision on prend l’exemple de type des données, qui est de format textuelle, ce qui fait
appel à l’utilisation des techniques de traitement de texte, et le méga volume des banques
biologiques qui s’augmente chaque jours, ce qui nécessite des algorithmes très puissants, sans
oublier les domaines d’application de la bioinformatique cités au préalable, qui démontrent le
but à atteindre en appliquant l’informatique sur des données biologiques, dont l’alignement
des séquences apporte un taux géant de connaissances dépendant de la banque de séquences
traitée, et le besoin d’utilisateur (ou la requête qu’il a introduit).
Une petite navigation dans le web peu offrir un large savoir sur les outils de manipulation
des banques de séquences biologiques disponibles, donc pour pouvoir extraire des
connaissance à partir de ces banques ou effectuer une recherche dans ces derniers, il faut
passer d’abord par ces outils, comprendre leurs mode d’utilisation, et rechercher
l’interprétation des résultats qu’elles donnent par rapport à l’avis d’un expert.
Le but de ce chapitre et d’accéder au nombre maximale des banques de séquences
disponibles, tester les différentes interfaces de recherche qui existent, et par la suite on va
essayer de découvrir le principe de leurs développement on détaillant les différent algorithmes
populaires au domaine de la recherche dans les séquences génétiques.
Description :
NCBI conduit des recherches dans la biologie informatique en développant des logiciels
pour analyser des données de génome afin de fournir des informations biomédicales, c’est une
des trois ressources principales de stockage et distribution de séquences (NCBI – EMBL –
DDBJ), les séquences dans ces bases de données sont identifiés par un nombre d’accès, la
recherche devient possible via une interface web représentée à la Figure -2.1-. Le NCBI
28
Chapitre II : Etat de l’art
développe des bases de données publiques telles que GenBank, RefSeq et PubMed ...etc. [54,
55]
Exemples :
Pour explorer les différentes fonctionnalités qui existent sous cette application on exécute
quelques exemples, les possibilités sont plusieurs mais on va choisir les exemples qui dépend
de nos besoins.
La Figure-2.2- représente le résultat d’une recherche simple dans NCBI au répertoire des
nucléotides, cette recherche est dans le but de retrouver l’enregistrement qui correspond au
génome du virus de la rage via son identifiant : NC_001542, et l’afficher avec toutes ces
annotations. La sortie complète se trouve dans l’URL :
[Link]
29
Chapitre II : Etat de l’art
Figure-2.2- : Résultat de recherche pour le virus de la Rage par son identifiant ‘NC_001542’.
C’est une des fonctionnalités disponibles mais il y on a plusieurs, la requête qui précède est
un identifiant, donc le résultat doit être unique, mais les autres possibilités qui existent peut
être une recherche par rapport à l’auteur, une espèce ou bien une pathologie …etc. et dans ce
cas le résultat sera une liste et le choix revient à l’utilisateur, l’exemple suivant sera dans le
but de retrouver toutes les séquences associées à la pathologie « Malaria » figure 2.3 :
L’utilisateur est libre pour choisir les résultats qui lui intéressent à partir des 33 bases de
données, on peut voire quelques résultats, la Figure -2.4- représente la liste des 2 résultats
retrouvés dans la base de données ‘Protein clusters’ (Groupes des protéines), et la Figure -
2.5- représente les 784 résultats retrouvés dans la base de donnée ‘Structure’.
30
Chapitre II : Etat de l’art
Figure -2.4- : Résultat pour la requête « Malaria » dans la base de données « Protein
clusters ».
Figure -2.5- : Une partie du résultat pour la requête « Malaria » dans la base de données
« Structure ».
31
Chapitre II : Etat de l’art
Comme il est remarquable, la requête peut être un fichier FASTA (le format le plus utilisé
avec les fichiers biologiques, et le format qu’on va utiliser dans notre application, donc ce sera
détaillé dans le Chapitre III). La séquence requête introduite était prise de la base de données
UniProt, on va faire une recherche dans les bases de données qui existent sous NCBI pour
trouver les séquences similaires, et voilà les résultats :
32
Chapitre II : Etat de l’art
Figure -2.8- : Résumé graphique de toutes les séquences similaires retrouvées par l’outil de
recherche NCBI.
Les résultats sont ordonnées par rapport à leurs similitude à la requête, l’utilisateur ou
l’expert peut choisir par rapport à son besoin, les figures -2.7- et -2.8- représentent une partie,
le résultat complet existe sur le lien :
[Link]
Remarque :
Le temps d’exécution était long (presque une minute), il peut être justifié par la lourdeur de
calcule (comparaison de séquences) et par la taille des données qui existent (l’existence de
plusieurs bases de séquences dans cet outil, taille de séquence elle-même, et celle de chaque
base).
Par rapport au contenu des bases de données, type de requête et résultats obtenus, la
recherche dans cet outil est basée sur un traitement de texte pur, mais le format de texte est
différent, donc il fait appel aux techniques nouvelles et méthodes spécifiques.
33
Chapitre II : Etat de l’art
2. Uniprot :
Description :
Le model UniProt sert à se référer à la base de données de protéines UniProt [56], il existe
sur le lien : [Link]
Exemple :
Pour tester se model on va effectuer une simple recherche avec la requête « NC_001477 »
l’identifiant qui correspond au DEN-1 génome du virus de dengue.
34
Chapitre II : Etat de l’art
On peut faire aussi une recherche via séquences de protéines en utilisant BLAST, le résultat
est le suivant :
Le temps d’exécution était 34 secondes, les résultats sont ordonnés par rapport à leurs
similitude avec la séquence requête, la même chose comme NCBI le choix revient à
l’utilisateur.
Remarque :
La remarque faite ici est la même que celle faite avec le Model NCBI, c’est un traitement de
texte dont la requête est une suite de caractères, de même pour les données de la base UniProt
qui a un contenu multi séquences. Mais la différence est dans le temps d’exécution plus court
avec le model UniProt puisqu’il utilise moins de bases de données que le model NCBI, par
exemple la recherche en utilisant le répertoire BLAST coute 34 secondes avec UniProt et
presque une minute avec NCBI.
On remarque aussi que la recherche via un identifiant ou autres critères est moins couteuse
en terme du temps que la recherche via séquences de caractères (alignement de séquence) qui
est une opération très couteuse, mais très importante aussi, puisque ce genre de recherche
permet d’étudier les nouvelle séquences découvertes inconnues, et les relations entre
séquences connues.
3. EMBL-EBI:
Description :
Le model EBI (The European Bioinformatics Institute), fait partie de l’EMBL, fournit des
données librement disponibles à partir des expériences de sciences de la vie couvrant la
gamme complète de la biologie moléculaire, afin de contribuer à l’avancement de la biologie.
[58]
35
Chapitre II : Etat de l’art
Exemples :
Une recherche simple peut être effectuée via cette interface comme tous les autres modèles,
mais le résultat dépend de la requête introduite, par exemple le génome DEN-1 n’existe pas et
le résultat de a requête « NC_001477 » est nulle, donc j’ai pris un autre exemple d’un génome
bactérien « nc_5744 », le résultat était le suivant :
36
Chapitre II : Etat de l’art
37
Chapitre II : Etat de l’art
Remarque :
Comme tous les autres modèles EMBL-EBI exécute un traitement de texte et affiche les
résultats ordonnés suivant leurs similitudes à la requête introduite, le temps d’exécution était
presque le même avec les requetés simples, mais très long (environ deux minutes) avec
l’opération d’alignement de séquences, l’algorithme qu’on a utilisé était FASTA, on peut dire
qu’il est couteux en terme du temps, mais sa peut-être aussi à cause du model lui-même s’il
contient une immense quantité de données, donc le temps d’exécution dépend de l’algorithme
utilisé et de volume de données.
SMS est une collection de programmes JavaScript au langage orienté objet écrit par Paul
Stothard (Université de Alberta, Canada), pour générer le formatage et l'analyse de courtes
séquences d'ADN et de protéines. Il est couramment utilisé par les spécialistes en biologie
moléculaire, pour tester les algorithmes, et à des fins d’enseignement. Ce model peut être
utilisé via un site web ou en mode hors-ligne, il contient plusieurs fonctionnalités citons parmi
eux la conversion des formats, l’analyse des séquences comme par exemple l’alignement, des
représentations graphiques comme la visualisation des groupes de protéines ou le plot en
couleurs pour les alignements et enfin la génération aléatoire et automatique des séquences
génétiques. [59, 60]
38
Chapitre II : Etat de l’art
Comme exemple on peut faire quelques tests et on affiche les résultats dans les figures qui
suivent :
39
Chapitre II : Etat de l’art
Figure-2.18- : Exemple d’un alignement multiple clarifié par une coloration des séquences
identiques.
Ce modèle est un outil qui traite les séquences génétiques individuellement i.e., il ne réfère a
aucune base de données, mais son principe est de traiter les séquences introduites par
40
Chapitre II : Etat de l’art
l’utilisateur soit dans le but de les analyser ou bien les aligner, et grâce à son pouvoir de
générer des séquences aléatoirement, il peut aider l’utilisateur en phase d’apprentissage à
créer des bases de séquences appelées échantillons de test.
Au point de vue informatique il est remarquable que la réalisation d’une recherche dans les
séquences génétique fait appel aux méthodes de traitement de texte, une séquence génétique
ou une chaine de caractères génétique, est équivalente à une chaine de caractères simple en
informatique, c’est une séquence de lettres en ignorant les propriétés physiques et chimiques
(ces propriétés sont inclus comme paramètres codés à l’algorithme). [54] Malgré les formats
différents de chaque base de données elles restent des documents textuelles, donc l’idée
principale est la même, balayer le corpus texte après texte et fouiller le texte (ou la base de
données) séquence après séquence, et à partir de chaque base de données l’algorithme
ordonne les séquences par rapport à leurs relation ou similitude avec la séquence requête, la
requête introduite peut être l’identifiant d’une séquence reconnue, une pathologie, un auteur
ou n’importe quel donnée de la partie descriptif de la séquence, comme elle peut être une
nouvelle séquence à connaitre ou à comparer avec d’autres séquences, donc un code
génétique.
Au point de vue pratique il est difficile de savoir tous sur le taux de connaissances apportées
par ce genre d’outils, a quoi sert la réalisation d’une recherche de similitudes entre
séquences ? Et quel avantage donne la découverte d’existence d’un gène dans un génome ou
espèce reconnu ? Au côté médicale quel sont les biens fait de ces applications et comment la
médecine utilise ces outils ?
Le besoin biologique est absolument vaste et illimité, dont le biologiste fait des recherches
puissantes afin de savoir tous sur le gène humain ou d’autres espèces, mais dans le cadre
d’informatique biomédicale on doit s’intéresser par le besoin du médecin non pas celui d’un
biologiste, et on doit développer des applications qui sert à aider le médecin dans son
diagnostic ou traitement, il faut donc cibler des problématiques au point de vus médical, et j’ai
choisi de demander l’aide d’un médecin biologiste grâce à son forte relation avec la biologie
et large connaissance sur les pathologies héréditaire (ou d’origines génétiques), la méthode
était d’exposer les outils et les exemples vus au préalable pour l’expert, et il a vraiment tout
donner comme aide et informations trop riches, à partir de mes discutions avec lui j’ai pu
connaitre quelques problématiques à résoudre, et il a proposé plusieurs idées qui peuvent être
traduite vers des projets de recherche très utiles dans notre domaine.
Après discussion avec Dr. GHLAMALLAH médecin biologiste dans laboratoire de l’EPH
de Tiaret j’ai pu récapituler quelques informations concernant l’utilité des outils de recherche
dans les séquences génétiques, donc au point de vue médicale, une recherche d’une séquence
d’ADN ou de protéine dans une base de séquences a deux types :
41
Chapitre II : Etat de l’art
Par rapport à son expérience et connaissances, le médecin a dit qu’un diagnostic des
hémoglobinopathies débute par les examens standards puis de dépistage vers les examens
spécifiques, l’idée est d’aller des tests moins couteux vers les tests les plus couteux, donc
après la vérification des signes ou symptômes cliniques il fait appel aux examens
complémentaires (FNS et le taux d’Hb), un taux d’hémoglobine élevé nécessite un test
d’électrophorèse et l’obtention d’un profils pathologique est expliquée par une pathologie
quantitatif ou bien qualitatif d’Hb, mais le problème se pose à la précision des molécules
migrées (en électrophorèse une migration des molécules d’Hb se passe par l’influence d’un
champ électrique pour savoir leurs taux de présence dans l’échantillon de test), plusieurs
molécules peut prendre la même position et l’apparition de chaque nouvelle molécule à part
les composantes principales de l’Hb (A A2 F) représente une mutation, donc l’électrophorèse
ne précise pas l’origine de la pathologie, et ici le médecin a besoin de passer au séquençage
génétique pour estimer la molécule responsable à l’anomalie, une comparaison entre la
séquence du patient et les mutations connues sera difficile ou bien impossible d’être réalisée
manuellement, ce qui fait appel à un système d’aide au diagnostic pour automatiser la tache
de recherche, et faciliter la découverte de la mutation exacte, et après comparaison avec la
séquence d’Hb saine ou normale, même la découverte d’une nouvelle mutation dans le cadre
des recherches scientifiques sera possible.
L’avis du médecin offre un large savoir sur la nécessité d’automatisation des recherches
dans les séquences génétiques au domaine médical, et aussi représente une orientation avec
les idées d’aides qu’il a proposés.
42
Chapitre II : Etat de l’art
1. Alignement de séquences :
Une séquence génétique peut être alignée avec plusieurs autres séquences dans la même
base de données, mais le degré de similitude n’est pas toujours le même avec toutes les
séquences résultantes, alors comment ordonner les résultats ? C’est suivant leurs scores, et
comment scorer un alignement ? C’est en utilisant un des algorithmes multiples qui existent,
donc dans cette partie on va détailler le principe de fonctionnement de quelques algorithmes
d’alignement de séquences utilisés à la recherche aux bases de données génétiques, pour
prendre une idée sur les méthodes de calcul utilisées par les outils testés au préalable.
Chaque algorithme de recherche a son propre façon de calculer le score entre paires, mais le
point commun entre ces algorithmes est l’utilisation d’un score pour les substitutions, dont
chaque paire de lettre a un score spécifique. Deux séquences génétiques ayant plusieurs sous
séquences similaires créent une bonne chance d’homologie de ces derniers, mais pour les
aligner on prend en considération les caractères identiques, les insertions dans une séquence
ou les suppressions dans l’autre appelées ‘indel’, et les miss-matchs, notre but est de trouver
l’optimale qui maximise les caractères identiques, et minimise les miss-matchs et les indels,
donc on a besoin d’utiliser un score reconnu pour chaque alignement possible en ajoutant des
points pour les caractères identiques (matching), et soustractant des points pour les miss-
matchs et les insertions/suppressions, et pour cela des matrices de substitution sont créés et
utilisés dans les algorithmes de recherche de séquences. [62]
43
Chapitre II : Etat de l’art
2. Matrices de substitution :
On peut citer trois types de matrices de substitutions les plus utilisés pour les séquences
d’ADN, chacune considère un principe pour scorer ; [22]
Matrice unitaire identité : son principe est d’affecter un score de 1 pour les identités et 0
pour les miss-matchs.
A C G T
A 1 0 0 0
C 0 1 0 0
G 0 0 1 0
T 0 0 0 1
A C G T
A 3 0 1 0
C 0 3 0 1
G 1 0 3 0
T 0 1 0 3
Matrice de BLAST (identité) : affecte des scores positifs à l’identité et négatifs aux miss-
matchs.
A C G T
A 5 -4 -4 -4
C -4 5 -4 -4
G -4 -4 5 -4
T -4 -4 -4 5
Sachant que le score des gaps (trous) est considéré (-1) au choix d’utilisateur, le score
final Dans l’alignement qui suit est 12 (3*4 + 0 - 1 + 1).
44
Chapitre II : Etat de l’art
Seq 1 G T T A C G C
Seq 2 G T T - G G T
Score 3 3 3 -1 0 3 1
Les matrices de substitution pour les protéines sont beaucoup plus difficiles à modéliser que
celle des nucléotides, un acide aminé peut être remplacé par un autre de différentes façons,
dont la cause peut être une ou plusieurs mutations au niveau d’ADN [ Asp (GAC,GAU)
Tyr (UGC,UGU) ] (voir Table-1- Chapitre I) , et quelques mutations n’ont pas une influence
sur la structure de la protéine, c’est vrai que la structure des protéines détermine leurs
fonction, mais des séquences assez différentes peuvent se replier en même structure, donc
assurer la même fonction, le score de quelques mutations ne doit pas être pénalisé si elle n’est
pas trop nuisible sur la fonction des protéines, ce qui fait appel aux matrices déterminées pour
spécifier le score de chaque couple d’acides aminés. [22, 61, 64]
Ces matrices, M, sont des matrices 20 x 20 (pour les 20 acides aminés protéinogéniques) qui
recensent l'ensemble des scores M(a,b) obtenus lorsqu'on substitue l'acide aminé a par
l'acide b dans un alignement. Plus le score M(a,b) est élevé, plus la similarité entre les deux
acides aminés a et b est importante. Il existe plusieurs de ces matrices, basées sur des
principes de construction différents. On peut citer les plus fréquemment utilisées : [67]
L’échantillon de données PAM était récoltée en 1978 par Margaret Dayhoff, basée sur des
distances évolutifs entre espèces, Chaque case dans la matrice représente la possibilité de voir
ces deux résidus remplacés l’un par l’autre dans un alignement, utilisé en générale aux
alignements globaux de protéines très similaires, et convient bien pour les séquences avec un
ancêtre commun. [61, 63, 64, 65, 66] Les protéines qui sont proches par des liens d’évolution
n’ont pas besoin d’avoir les mêmes acides-aminés à chaque position. Elles peuvent avoir des
acides-aminés comparables voir Figure-2.21- . [8]
45
Chapitre II : Etat de l’art
Construite par Henikoff et Henikoff en 1992 et basée sur le contenu en information des
substitutions, elle est calculée à partir des fréquences de substitutions d’acides aminés dans
des BLOCKS de séquences (régions conservées de famille de protéines ne contenant pas
d’indels) provenant de plus de 500 familles de protéines. Une valeur nulle à la matrice indique
une substitution neutre, et le score positif correspond à une substitution surreprésentée et donc
probablement favorable, et les scores négatifs correspondent aux substitutions sous-
représentées donc probablement défavorables. BLOSUM est la matrice la plus utilisée, elle
convient pour la recherche des similarités locales, et sa version la plus courante est
BLOSUM-62 (matrice par défaut de BLAST) voir Figure-2.22- . [22, 64, 65, 66, 67]
46
Chapitre II : Etat de l’art
Les matrices de scores sont impliquées dans toutes les analyses de comparaison de
séquences, donc le résultat de cette opération dépend fortement de la matrice choisie. Pour les
deux catégories (matrices d’ADN ou de protéines) aucune matrice n’est idéale, mais il était
confirmé qu’entre les matrices de protéines BLOSUM est globalement plus performante que
PAM puisqu’elle est construite à partir d’un nombre important de données, et utilise des
modèles d’évolution, le choix dépend de degrés de similarité des séquences à comparer, donc
il est recommandé d’expérimenter prudemment, et pour un bon choix il faut comprendre la
matrice de substitutions, par exemple PAM40 est utile pour retrouver des alignements courts
avec des protéines très semblable, PAM120 et PAM250 pour des alignements plus longs et de
plus faible ressemblance et PAM120 aide à calculer le degré de ressemblance inconnu à priori
entre deux séquences. [61, 69, 76]
Lacunes : (gaps) Un nombre arbitraire de caractères nuls (représenté par des tirets) peut
être placé à une séquence, et aligné avec les lettres de l'autre. Deux valeurs nulles ne
peuvent pas être alignées. Selon l'un des points de vue, l'alignement d'une lettre avec un
nul peut être comprise comme l'insertion d'une lettre dans une séquence, ou la
suppression d'une lettre de l'autre.
Score d’alignement : Le score pour un alignement est considéré comme la somme des
scores de paires de lettres alignées, et les scores des lettres alignées avec des zéros (aux
matrices de substitution les trous sont pénalisés ce qui va diminuer le score d’alignement
qui contient plusieurs trous). Chacun de ces appariement est appelé une colonne
d'alignement.
Score de substitution : Les évaluations pour les paires alignées de lettres sont appelées
scores de substitution, si les lettres alignées sont identiques ou non. Plus simplement, les
scores de substitution peuvent prendre la forme de scores de match et les scores de
mismatch.
47
Chapitre II : Etat de l’art
Un alignement global considère les lettres des deux séquences complètes requête et
référence. Cependant, il est fréquent dans les applications de recherche que la séquence cible
est plus longue que la requête, par exemple si la requête est une courte lecture, et la séquence
de référence est un gène en pleine longueur, auquel cas, l’alignement aura habituellement des
lacunes terminaux, comme l’exemple représenté à la Figure-2.24-. [70]
Un autre exemple est très significatif dans ce cas, lorsqu’il s’agit des séquences protéiques,
à l’époque la comparaison était par rapport à leurs longueur complète, mais il arrive
fréquemment que la région homologue soit limitée à une partie des séquences, le cas ou deux
protéines partagent un domaine homologue associé à une fonction commune, mais le reste de
leurs séquences sont des parties dissemblables, comme les protéines représentée à la Figure-
2.24- au-dessous. [63, 71]
Puisqu’il est basé sur la similarité, l’alignement global a les deux inconvénients majeurs,
augmentation de la lenteur des programmes avec l’accroissement du nombre de séquences
dans les banques, et une perte des ressemblances locales ayant une valeur non-négligeable
pour les biologistes. [22]
C’est l’alignement des régions limités dans lequel la similarité est forte, et l’exclusion du
reste des séquences, ces programme sont des heuristiques qui supposent que les scores de
ressemblance locales indiquent une similarité globale, et le but principale est une
maximisation du score même si on est obligé de supprimer ou négliger les lettres avec des
scores négatives (couples pénalisés par la matrice de substitutions), donc l’idée est de ne
calculer le score que sur les régions conservées. [22, 63, 70]
Smith et Waterman définissent l’alignement local comme suit : un alignement local de deux
séquences permet l’alignement des segments de tailles arbitraires des deux séquences sans
pénalisant les portions non-alignées des séquences, autrement, le score de cet alignement est
calculé de la même manière que celui d’un alignement global. [71]
48
Chapitre II : Etat de l’art
Le but de comparer deux séquences génétiques est de repérer les régions identiques ou très
proches de deux séquences, et la difficulté se pose à la discrimination entre similitudes
significatives au sens biologique, et les similitudes observées par hasard, de nombreux
programmes ont été développés qui rendant possible la comparaison entre séquences
génétiques, les plus significatifs et utilisés sont les suivants :
Appelée Dot Plot (tracé de points) ou méthode par matrice de pixels, probablement le
moyen le plus ancien de comparaison de séquences, C’est une méthode graphique très
puissante qui permet de comparer visuellement deux séquences biologiques de même type
(ADN, ARN ou Protéine), est d’identifier des régions similaires entre eux, son objectif est de
mettre en évidence des ressemblances et différences globales est locales, elle est plus efficace
pour les comparaisons globales, et peut être appliquée sur les séquences différentes ou
similaires, dont son utilisation avec les séquences identiques est le cas d’analyse de répétitions
dans la séquence visée. [61, 63, 72, 73]
4.1.1. Principe :
Dot Plot compare entre deux séquences en plaçant une séquence à l’axe des x (horizontale)
de taille ‘A’ et l’autre dans l’axe des y (verticale) de taille ‘B’ pour former une matrice (AxB)
de pixels, si les deux séquences sont de longueurs différentes la plus longue est toujours
placée horizontalement (en haut), chaque fois qu’une séquence ressemble à l’autre dans une
lettre, un point est dessiné à la position correspondante dans la matrice (i.e. une image noire et
blanche), une fois les points sont plotés, ils vont se combinés pour former une ligne, la
Figure-2.25- représente un exemple de tracé de point pour une phrase anglaise. [63, 72, 73,
74, 75]
49
Chapitre II : Etat de l’art
Figure-2.25- : Illustration généralisée pour la création d’un simple Dot Plot basée sur la
comparaison de deux copies d’une séquence. Les points en blanc représentent les similarités,
et le noir représente le fond, la petite diagonale rouge représente le mot ‘THE’ qui se répète
deux fois dans la phrase. [74]
Chaque suite de point en diagonale indique une similarité locale, Dot Plot utilise une
méthode simple et rapide sans association de score, mais puisque tous les couples similaires
sont tracés il y aura un bruit dans le fond, qui doit être éliminé par filtrage ou seuillage en
affichant un point seulement si plusieurs résidus successifs lui correspondent. [61, 63]
Figure-2.26- : Un exemple de Dot Plot pour une séquence génétique, à la droite le plot avant
filtrage et à la gauche le plot après filtrage.
Une représentation plus claire et simplifiée se voie dans la Figure-2.27-, expose le Dot Plot
de deux séquences de petite taille ;
50
Chapitre II : Etat de l’art
Figure-2.27- : Dot Plot de deux séquences protéiques de petite taille, avant et après filtrage.
Figure-2.28- : Vue graphique des caractéristiques possibles d’un Dot Plot, de a à f sont des
comparaisons internes dans la même séquence, g et h sont les résultats de comparaison de
deux séquences différentes.
a- Une diagonale principale continue indique une similarité parfaite des symboles avec le
même indice. [72, 74]
b- Les lignes parallèles à la diagonale principale indiquent les régions qui se répète à la même
direction de lecture dans les différentes parties de la séquence, ces méthodes ont permis par
ailleurs de constater que 15 à 20% des protéines possèdent de répétitions internes. [74, 75]
c- Lignes perpendiculaires à la diagonale principale indiquent les régions palindromiques,
dans ce cas la séquence est complétement palindromique, comme cette phrase en latin
« SATOR AREPO TENET OPERA ROTAS ». [74]
d- Séquences partiellement palindromiques.
e- Un rectangle noir à la diagonale principale indique la répétition du même symbole dans les
deux séquences, appelé répétition microsatellite. [74]
f- Des lignes parallèles indiquent des répétitions doublées du même symbole dans les deux
séquences, appelés patron mini-satellite, et la distance entre les diagonales indique la
distance de motif qui se répète. [74]
51
Chapitre II : Etat de l’art
g- Une diagonale discontinue indique que les deux séquences en une source commune, en
analyse de séquences d’ADN sa peut être une homologie grâce à un ancêtre commun, le
nombre de coupures augmente avec le taux des mutations. [72, 74]
h- Les suppressions partielle à la séquence 1, ou les insertions à la deuxième séquence
(indels), dans des séquences codantes la protéine peut être observée de différentes façons,
en générale ce résultat est obtenu d’après la comparaison de l’ARNm (ou ADN codant)
sans introns, avec la séquence d’ADN prématuré. [74]
A partir de la matrice initialisée, une nouvelle matrice est obtenue dont le score de chaque
cellule est calculé par une technique spécifique qui prend en considération le score initiale de
la case traitée avec indice (i,j) et celui d’une cellule voisine (haute (i,j-1), gauche (i-1,j) ou de
haut en gauche (i-1,j-1) appelée diagonale), donc pour chaque case de la table en obtient trois
valeurs et en prend la valeur maximale, chaque valeur est calculée différemment :
- La valeur 1 avec le voisinage haut : score (i,j-1) + Pénalité du gap
- La valeur 2 avec le voisinage gauche : score (i-1,j) + Pénalité du gap
- La valeur 3 avec le voisinage haut en gauche : score (i,j) + score(i-1,j-1)
Le choix entre ces valeurs est simplement de prendre la maximale, mais il est remarquable
qu’un calcule pareil nécessite un point de départ, la solution dans l’algorithme est d’ajouter
une ligne et une colonne considérées trous (gaps) comme étape initiale pour commencer le
calcule, dont la première cellule prend la valeur nulle puisqu’elle ressemble deux gaps, toute
52
Chapitre II : Etat de l’art
la ligne et la colonne premières seront calculées avec le seul voisin qui existe (pour la ligne le
voisin gauche, et pour la colonne le voisin en haut), puis le calcule deviendra de plus en plus
simple et facile.
c- Alignement :
Le chemin dessiné à l’étape précédente décide l’alignement global optimal de ces deux
séquences, on retire l’alignement on considérant à partir de quel voisin on est parti, on décide
es ce qu’on a un match, mismatch ou bien une insertion dans une des séquences comme suit :
- Si le score d’une case est pris d’une diagonale, on prend deux lettres une de chaque
séquence, puisque ce mouvement indique un avancement dans les deux séquences
A(i)-B(j).
- Si le score est extrait à partir de la cellule voisine gauche (tracé horizontal), le
mouvement indique un avancement à la séquence dans l’axe des x et que l’autre
séquence est constante, ce qui fait, il faut prendre une lettre de la séquence horizontale,
et ajouter une insertion dans l’autre séquence A(i) --.
- Inversement si le score est extrait à partir de la cellule voisine haute (tracé verticale),
l’avancement est dans la séquence verticale, donc l’insertion sera à la séquence
horizontale --B(j).
4.2.2. Exemple :
- A T C C G
- 0 -2 -2 -2 -2 -2
A -2 +5 -1 -1 -1 -1
G -2 -1 -1 -1 -1 +5
T -2 -1 +5 -1 -1 -1
C -2 -1 -1 +5 +5 -1
G -2 -1 -1 -1 -1 +5
53
Chapitre II : Etat de l’art
Le point de départ est ‘0’ voisin gauche de la première ligne et haut de la première colonne,
donc ces derniers vont prendre le score égal au score de cellule voisine + la pénalité d’un gap
(représentées en gras), mais chaque cellule du reste reçoit trois scores, et on prend le plus
grand puis on garde une trace, par exemple la première case est extraite soit de la diagonale
(0+5), de la gauche (-2-2) ou du haut (-2-2) :
- A T C C G
- 0 -2 -4 -6 -8 -10
A -2 +5
G -4
T -6
C -8
G -10
Le reste des scores sera calculé de la même manière, le score maximale se situe à la dernière
case, on le considère comme point de départ et on marche en arriéré jusqu’au début, à chaque
fois on prend le maximum des scores prises en considération au calcule initiale (par exemple
le point C-C avec score 11 vient des cellules de scores 6 et 13, on prend le plus grand score
‘13’ si le 6 n’était pas la diagonale si non on prend la valeur de la cellule diagonale même si
elle est la plus petite), le chemin retrouvé décide par la suite notre alignement :
- A T C C G
- 0 -2 -4 -6 -8 -10
A -2 +5 3 1 -1 -3
G -4 3 4 2 0 4
T -6 1 8 6 4 2
C -8 -1 6 13 11 9
G -10 -3 4 9 12 16
Alignement :
Les séquences serons reliées comme suit : A-A puisque cette cellule provient d’une
diagonale, puis 0-G puisque le score provient de la case haute, T-T extraite d’une diagonale,
puis C-0 puisque le score était calculé à partir de la cellule en gauche, et enfin A-A puis G-G
extraites des diagonaux, donc les séquences étaient alignées de la manière qui suit :
A–TCCG
AGT–CG
54
Chapitre II : Etat de l’art
recouvrent la totalité de celles si, alors on peut considérer l’alignement local comme étant un
alignement global. [33, 76, 80]
Cet algorithme est inspiré directement de l’algorithme ‘Needleman & Wunsh’, donc leurs
principes sont semblables, la seul différence est dans les deux points qui suivent :
- Pendant la création de la matrice de comparaison, les scores négatifs sont interdits, et
la case pointée avec un score < 0 sera pénalisée et réinitialisée à zéro, et considérée
comme un nouveau point de départ, donc cet algorithme concentre sur les régions
similaires et néglige les régions différentes.
- Pendant la suivre des traces, au lieu de commencer de la fin des deux séquences, on
prend le score maximale de toute la matrice ce qui cherche l’optimal, et on arrête
lorsqu’on rencontre le premier zéro.
4.3.2. Exemple :
On peut prendre le même exemple qui précède, et on effectue un alignement local sur ces
deux séquences, la première chose à modifier sont la première ligne et la première colonne
qui sont tousse négatifs, donc serons réinitialisées à zéro, puis on continue normalement sauf
que les scores négatifs serons remplacées par des nulles, et les scores positifs serons
conservées :
- C T T C A
- 0 0 0 0 0 0
C 0 +5 3 1 5 3
T 0 3 10 8 6 4
A 0 1 8 9 7 11
C 0 5 6 7 14 12
A 0 3 4 5 12 19
On remarque l’obtention d’un alignement global puisque les séquences sont à leurs totalités
similaires, ce qui prouve qu’un alignement locale peut être généralisé vers un alignement
globale, donc on prend un autre exemple qui démontre un alignement local, comme score
élémentaire on a +5 pour les matchs, -2 pour les mismatch et -3 pour les gaps, on construit la
matrice de comparaison d’une façon très normale, sauf qu’on remplace les valeurs négatifs
par des nulles, ce qui est remarquable à la matrice obtenu (l’absence des valeurs négatifs),
puis dans le suivi des traces on débute par 10 score maximal qui existe, et on arrête avec le
premier zéro, et la lecture de l’alignement local sera pareil avec celle d’un alignement globale:
- T G A C
- 0 0 0 0 0
G 0 0 5 2 0
G 0 0 5 3 0
A 0 0 2 10 7
55
Chapitre II : Etat de l’art
On définit comme la Sensibilité d’une méthode son aptitude à détecter toutes les similarités
considérées comme significatives et donc à générer le minimum de faux-négatifs. On définit
de façon analogue la Sélectivité comme l'aptitude à ne sélectionner que des similarités
considérées comme significatives et donc à générer le minimum de faux-positifs. [81, 82]
Quand il s’agit de comparer une séquence à l’ensemble de séquences répertoriées dans une
banque entière, un alignement sera calculé entre la séquence cible et chacune des séquences
d’une banque, le nombre de comparaisons à effectuées nécessite l’utilisation d’algorithmes de
recherche rapide, les algorithmes utilisant la programmation dynamique cité au préalable,
recherche pour chaque séquence de la banque le meilleur alignement avec la séquence cible,
ce qui est couteux en temps de calcule, la solution est donc des algorithmes de recherche de
régions de forte homologies, les heuristiques ou les algorithmes approximatifs de famille
FASTA et BLAST, qui accélère le processus de comparaison tout en essayant de garder
autant de sensibilité que possible. [75, 76, 78, 82]
Ces programmes ne sont pas adaptés à la comparaison de deux séquences entre elles, juste
utilisés pour traiter les banques de séquences, [76] et pour cela on va essayer de représenter le
principe de ces dernier théoriquement et le côté pratique sera limité à la comparaison entre
deux séquences évaluée par scores, puisque les banques de séquences sont très volumineuses
peuvent occupées jusqu’au 24 Gigabits, donc impossible qu’elle soit traitées par une simple
machine.
5.1. FASTA :
Le premier algorithme rapide qui recherche les séquences génétiques en comparant une
séquence requête contre une banque de séquences, développé en 1985 par Lipman et Pearson
[75, 78]. Son idée de base est qu’un bon alignement contient des sous-séquences d’identité
absolue, et repose sur la notion de ‘mot’ [75], ils existent plusieurs algorithmes de famille
FASTA, chacun correspond à une application, soit la recherche d’une séquence dans une base
de données de même natures (nucléique ou protéique), ou la recherche d’une séquence
protéique dans une base de données nucléique. [76]
5.1.1. Principe :
Cet algorithme ne considère que les régions présentant des fortes similitudes avec la
séquence recherchée, et à chacune de ces zones il applique un algorithme d’alignement
optimale [81], les étapes en détails sont les suivantes :
56
Chapitre II : Etat de l’art
chaque séquence de référence, l’idée est dérivée de la logique du « Dot Plot », ce qui
génère des diagonales de similarité (sans indels) qui représentent les régions similaires.
[75, 76, 81]
- Recherches des meilleurs segments : on recherche les dix meilleurs diagonaux ayant les
scores les plus élevées dans la matrice de points, une jointure de ces segments par les gaps
nécessite un nouveau calcule des scores en ajoutant les pénalités de ces gaps, et le reste de
la matrice sera éliminé. [76, 81]
- Alignement avec la requête : parmi les diagonaux qui existent on choisit le segment avec le
meilleur score, on aligne la séquence cible avec cette diagonale à l’aide de l’algorithme
Smith et Waterman. [81]
Développé par Altschul et Al en 1990, c’est une méthode heuristique pour les alignements
locaux, le dernier né des programmes pour la recherche dans les bases de données, basé sur la
même hypothèse que FASTA, mais cherche à avoir plus de rapidité, devenu populaire grâce à
son implémentation très efficace. [41, 75, 78] L’idée est d’aligner les séquences sans indels, et
rechercher les segments plus longs ayant un score > seuil, les entrées sont la requête, la base
de données et le score minimal, la sortie sera des séquences de la base de données avec des
scores d’alignement plus grands que seuil introduit en entrée. [76]
5.2.1. Principe :
BLAST suppose qu’un alignement significatif contient des mots de longueur fixe (3 pour
les acides aminés et 11 pour les bases nucléiques) en commun [41, 76], Les étapes en détaille
sont les suivantes :
57
Chapitre II : Etat de l’art
- Rapidité de calcule
- Plus conviviale
- Une rigueur statistique
- Plus sensible
BLAST est rapide puisqu’il n’explore pas l’espace de recherche entier entre deux
séquences, mais sa produit une perte de sensibilité. [42]
Conclusion
Ce chapitre concerne les principales méthodes qui aident à effectuer une recherche dans les
séquences génétiques, la première partie résume un peu de tous ce qui est disponibles comme
moyens d’interrogation des banques de séquences génétiques, pour une étude simplifiée de
l’existant, et pour comprendre les fonctionnalités pouvant être appliqués sur un ensemble de
séquences de gènes, plus de détails sont intégrés dans la deuxième partie pour déterminer
comment ce genre d’outils ou d’applications ont pu être réalisés. Les algorithmes qui font la
comparaison entre séquences génétiques, comme la séquence est une chaine de caractères, la
comparaison est basée essentiellement sur l’alignement de ces derniers par un principe de
traitement de texte, la comparaison entre deux séquences nécessite des algorithmes de
‘String’, et comme elles seront traitées sur un repaire bidimensionnel sa sera évident d’utiliser
un traitement matriciel par cellule, ressemblant au traitement d’images par pixel, et ici on
distingue les méthodes de programmation dynamique y compris l’alignement global
considérant les chaines à comparer entièrement, et l’alignement local qui s’intéressent à
chaque segment de la séquence, et les méthodes heuristiques plus rapides qui traitent les bases
de données.
58
Chapitre III
Application
Préambule
Conclusion
Chapitre III : Application
Préambule
Dans les chapitres qui précèdent on a introduit l’information génétique, comment elle est
stockée et ordonnée, et comment traité cette information pour extraire des connaissances au
domaine biologique et médicale. Dans ce chapitre, on doit passer vers le côté pratique, et
tester quelques fonctionnalités à partir de l’API BioJava sur un échantillon de donnée de
format FASTA. Notre objectif ici est de lire le fichier FASTA, afficher une séquence, et
ploter sur un repaire de comparaison la matrice des points et, aussi réaliser un alignement
entre deux séquences nucléiques par la méthode globale (Needleman & Wunch), et par une
méthode locale (Smith & Waterman). L’outil réalisé permet aussi de traduire une séquence
d’ADN en séquence d’ARN et Protéine.
En tirant avantage de cette trousse ou boite à outils gratuite, basée sur des
standards, les développeurs peuvent concevoir des applications complexes
plus rapidement et avec moins d’efforts, avec une plus grande assurance de
robustesse et de concevoir des applications qui résisteront à l'épreuve du
temps. Notre choix de cette plateforme est exactement puisqu’elle fournit
une architecture fiable et flexible pour notre application, malgré qu’elle ne
rajoute pas beaucoup aux fonctionnalités de l’application, elle permet de sauver une grande
perte de temps et travail. [86, 87]
60
Chapitre III : Application
1.2.1. Description :
BioJava à commencer à EBI/Sanger par Mattew Pocock et Thomas
Down en 1998, et maintenant elle a une API stable avec plus de 1100
classes et 130.000 lignes de code écrites en langage Java, c’est une
bibliothèque open source contenant 76 paquets organisés en catégories
principales, dont chacune contient des classes et des interfaces dévoués
pour des taches particulières, ces des objets java qui représentent et
manipulent les données biologiques, ce n’est pas un programme mais une bibliothèque pour
programmation, aide dans les applications d’analyse et recherche des données biologiques.
[88, 89, 90]
1.2.2. Caractéristiques :
61
Chapitre III : Application
On peut prendre GenPept comme exemple d’un format de fichier biologique, où les
extensions de ce genre de fichiers sont par défaut ‘.gp’, ‘.genpept’ et ‘.genpep’. [46]
Mais, le format le plus utilisé est celui développé par William [Link] ‘FASTA’, au
départ c’était juste pour son programme Fasta mais son utilisation à devenu adopté au-delà de
ce simple programme et rendu populaire entre autre par le programme BLAST. [52, 53]
Description :
Le format FASTA est un format de fichier texte utilisé pour stocker les séquences
biologiques, de nature nucléique ou protéique, Chaque séquence est composée de deux
parties, une ligne de description (defline ou entête) et des lignes de séquences.
Les alignements réalisés dans ce programme sont global et local pour des séquences
d’ADN, et la matrice de substitution utilisée était ‘NCU.4.4’ dont ‘.4’ est son extension, la
matrice est comme suit :
62
Chapitre III : Application
Il est connu que les matrices de substitutions utilisées pour scorer des alignements de
séquences d’ADN doivent contenir les différentes relations entre bases azotiques (ATGC)
mais cette matrice contient 15 lettres, on explique sa par les relations physico-chimiques entre
bases azotiques, dont le W et le M … etc. ont toutes des significations physico-chimique.
3. Implémentation :
63
Chapitre III : Application
La fenêtre suivante est une interface de réception, ne contient pas de fonctionnalités, juste
elle crée le passage aux fenêtres actifs (Alignement, et base de données) :
Le bouton ‘Data Base’ ouvre une interface permettant la lecture du fichier FASTA, et
l’ajout d’une nouvelle séquence dans ce dernier :
64
Chapitre III : Application
Le résultat de lecture d’un fichier de format FASTA est l’ensemble des entêtes ou
(DefLines) pour les séquences qui se trouvent dans le fichier traité, et l’ajout d’un simple
compteur permet de récupérer le nombre des séquences dans la base traitée :
Figure-3.7- : Résultat de lecture d’un fichier FASTA, entete de chaque séquence et nombre
des séquences..
65
Chapitre III : Application
L’ajout d’une nouvelle séquence nécessite de respecter le format FASTA, et une entrée qui ne
respecte pas les contraintes sera refusée :
Et les séquences qui respectent les normes de format FASTA seront ajoutées vers la fin du
fichier choisit à partir d’une fenêtre de dialogue ;
Le bouton ‘Alignment’ ouvre une interface qui permet de traiter les séquences génétique
de différentes façons, comme la traduction d’une séquence d’ADN vers une séquence
d’acides aminés après transcription en ARN, la tâche est réalisée en utilisant le code
66
Chapitre III : Application
On peut aussi afficher une séquence quelque soit sa longueur ou type sélectionné dans une
nouvelle fenêtre, le type est géré par les boutons radios :
67
Chapitre III : Application
Le ‘Dot Plot’ de deux séquence sera dessiné par des chaines de caractères dont les étoiles
signifient les correspondances entre lettres des deux séquences, et les cases de non-
correspondances restent nulles remplis par des espaces, c’était juste un exemple pour traiter
nos échantillons, mais avec les séquences volumineuses il sera préférable de travailler avec
des images dont on remplace l’étoile par le pixel noire au fond blanc ou l’inverse :
L’alignement de deux séquences est l’étape cruciale pour réaliser une recherche dans les
séquences génétiques. Le résultat obtenu de l’alignement comprend le temps d’exécution
(Time), la taille des séquences alignées après ajout des gaps (Length), Score de l’alignement,
la taille et le nom des deux séquences, requête et cible (Query-Target), et l’alignement finale
chématisé :
68
Chapitre III : Application
3.2. Exemple :
Cet exemple est fait pour vérifier à partir de notre application les résultats obtenus dans les
exemples du 2ème Chapitre avec les deux algorithmes d’alignement global et local, dont on va
aligner les mêmes séquences via ce programme, et voilà les résultats obtenus avec les deux
alignements :
69
Chapitre III : Application
Figure-3.16- : Résultat d’alignement global pour l’exemple du 2ème chapitre calculé par notre
programme.
Figure-3.17- : Résultat d’alignement global pour l’exemple du 2ème chapitre calculé par notre
programme.
On remarque l’obtention des mêmes résultats par calcule manuelle, et par calcule
automatique des deux alignements, ici on ne peut pas comparer le score et le temps
70
Chapitre III : Application
d’exécution puisque les séquences ne sont pas les même, mais ce qu’on veut savoir, quel est
l’autre critère qui influence le temps de calcule, on suppose le volume de donnée (la taille des
séquences), et on exécute pour comparer :
Quand les autres exemples testés avec des alignements de séquences de petite taille,
l’exécution ce termine dans un temps très court (moins que 1ms pour le calcul d’alignement
local), mais avec cette exemple de longues séquences qui dépassent 100 lettres, on remarque
que l’alignement local a pris 15ms, ce qui implique que la tâche sera à un niveau de
complexité plus élevé quand on traite les bases de séquences réelles absolument
volumineuses, dont chaque séquence peut contenir un nombre de lettres qui dépasse les
centaines.
Conclusion :
L’alignement global consomme plus de temps pendant l’exécution que l’alignement local,
puisqu’il prend en considération les séquences à aligner sur leurs totalités, par ailleurs,
l’alignement local cherche seulement des segments de similarité, aussi les méthodes locales
peuvent réaliser un alignement global s’il est le meilleur qui existe, donc ils sont plus
génériques et préférables, et le choix reste en dépendance avec le besoin de l’utilisateur.
L’API BioJava est riche en outils de traitement de séquences, on a pu tester les plus connus
et relier à notre sujet, le but de cette partie et d’effectuer le nombre le plus grand possible des
opérations sur les séquences génétiques à partir de cette API, et surtout de réaliser un
alignement de séquences, mais ce qu’on a pas pu réaliser était l’application des alignements
entre une séquence requête et toute une base de séquences pour extraire en résultat les
séquences alignées avec les scores les plus élevée organisées en décroissance, puisque
l’application des méthodes de programmation dynamique sur une base de séquences est
critique, la complexité de calcule dans ces algorithmes se dédouble avec le volume des
données traitées, l’application de ces derniers va être très couteuse en terme du temps, la
solution est d’utiliser des heuristiques, mais elle est compliquée suite à l’absence des
algorithmes dans la documentation disponible sur l’API BioJava.
71
Conclusion générale
Conclusion Générale
Conclusion générale
Les bases de séquences génétiques sont aujourd’hui une masse très grandes de données de
type String, riche en informations dont un traitement sur ces dernier permet d’extraire de
larges connaissances dans les deux domaines biologiques et médical, elles font le sujet du jour
et la dernière technologie en phase d’exploration.
La recherche dans les banques de séquences génétique se base sur l’opération d’alignement
de séquences, la méthode la plus classique était la méthode graphique ‘Dot Plot’ qui donne
des résultats interprétables visuellement, puis les méthodes plus précises et sensibles comme
l’alignement global et local en utilisant la programmation dynamique. On a pu prouver
théoriquement et pratiquement que la méthode locale est meilleure que la méthode globale,
mais les deux ne peuvent pas être utilisées avec les banques de séquences puisqu’elles seront
très couteuses en terme du temps grâce à la complexité de leurs calculs, ils ne sont utile
qu’avec des paires de séquences à comparer, la solution était l’utilisation des heuristiques
(FASTA et BLAST) qui rend le balayage de toute la base de séquences rapide en sacrifiant un
peu de sensibilité, et en se basant sur la notion de mots.
73
Conclusion Générale
Perspectifs :
On espère que ce travail sera étendu dans d’autres projets pour développer encore plus la
recherche en bioinformatique.
Aucun travail n’est parfait, et aucune recherche scientifique se termine un jour, et ce projet
n’est qu’un départ, nous espérons qu’il continu et s’améliore de plus, et comme perspectives
on cite:
Etude comparative entre matrice de substitutions qui existent pour pouvoir fixer des critères
facilitant le choix de la matrice par rapport au sujet ou problématique traitée.
74
Références Bibliographiques
Références bibliographiques
[3] Laurent Noé, « Recherche de similarités dans les séquences d’ADN : Modèles et
algorithmes pour la conception de graines efficaces », Université Henri Poincaré - Nancy I
- French, 2005, 157Pages
[11] (Attwood, T.K, Gisel, A, Eriksson, N-E and Bongcam-Rudloff, E), « Concepts,
Historical Milestones and the Central Place of Bioinformatics in Modern Biology: A
European Perspective », (UK, Italy, Sweden). 37Pages
[13] Hélène Touzet, « Analyse des ARN non-codants », Université de Lille - Master
recherche informatique, 62 Pages
[14] [Link]
[Link]/Page2/COURS/7RelStructFonction/2Biochimie/1SyntheseProteines/1SyntheseProt.
htm#Hautpage, Consulté le 05/03/2015
[20] Tom Strachan & Andrew [Link], « Génétique moléculaire humaine », 600pages,
Médecine-science Flammarion Evreux-paris, septembre 1998.
[24] Ariel Blocker & Lionel Salem, « L’Homme génétique », France, Mars 1994, 318Pages.
[30] (G. Coutoly & E. Klein & E. Barbieri & [Link]), « Travaux dirigés de biochimie,
biologie moléculaire et bioinformatique », France, Oct2006, 346Pages.
[34] (Elodie Cassan & Anne-Muriel & Arigon Chifolleau), « Info. Biologique et Outils
bioinformatiques », Université de Montpellier, 2014-2015.
[36] ([Link]* & [Link]** & [Link]*** & [Link]*), « Utilisation des banques de
séquence pour la recherche taxonomique en phytovirologie et application de l’analyse
factorielle des correspondances a la classification des GEMINIVIRUS », (Université
nationnale de côte d’ivoire*, de ST Louis** et dl’institue de recherche de Scottich Scrop***).
[41] Nadia El-Mabrouk, « Recherche heuristique dans les bases de données (Algorithme
BLAST) », 24 Pages, URL :
[Link] Consulté le
13/04/2015.
[42]
[Link]
orithm/, Consulté le 13/04/2015
[55] [Link]
Consulté le 05/05/2015
[62] Paul D. Reiners, « Dynamic programming and sequence alignment », IBM devlopper
works, 11 March 2008, 23 Pages.
[71] Stephen [Link], « Global and local sequence alignment », National center for
biotechnology information, 34 Pages.
[74] Jan Schulz, « Introduction to Dot Plot », Alfred-Wegener-Institute for Polar and
Marine Research - Bremerhaven - Germany, 15/05/20080.
[Link]
dot-plots&catid=52:cat_coding_algorithms_dot-plots&Itemid=76, Consulté le 23/05/2015
[80] Smith, Temple F.; and Waterman, Michael S., « Identification of Common Molecular
Subsequences », Journal of Molecular Biology, p. 195–197.
[81] [Link]
[Link]/Page2/BIOINFORMATIQUE/7ModuleBioInfoJMGE/9AlgoProgramme/1ProgAlgo
.htm, Consulté le 24/05/2015
[82] Frédérique Galisson, « Les programmes BLAST et FASTA », 18 Pages, URL :
[Link] Consulté le
24/05/2015
[83] Dr Robert Edwards, « BLAST and statistics », Computer science departement - San
Diego state university, 2012.
BLAST et FASTA optimisent la recherche dans les banques de données en permettant la détection rapide de zones de similitude significative entre une séquence de requête et les séquences présentes dans les banques de données . BLAST utilise des heuristiques pour accélérer les recherches en examinant seulement des segments de séquences, ce qui réduit considérablement le temps de calcul par rapport à une analyse exhaustive. FASTA, bien que plus lent, est apprécié pour sa précision accrue par sa méthode d’alignement, utile pour des comparaisons plus complexes ou détaillées .
Les principaux défis incluent le traitement de vastes volumes de données qui nécessitent des ressources computationnelles significatives, la nécessité de développer et affiner des algorithmes robustes pour distinguer entre similitudes biologiquement pertinentes et alignements fortuits, ainsi que la maintenance et mise à jour continues des bases de données pour refléter l'évolution rapide des connaissances génétiques . Il s'agit également d'assurer l'interface entre la complexité biologique et l'analyse purement informatique, nécessitant souvent une collaboration multidisciplinaire .
La méthode Dot Plot est un outil visuel qui représente graphiquement les similitudes entre deux séquences en plaçant un point à chaque correspondance entre les bases des séquences à comparer . Elle permet d'identifier facilement les motifs récurrents et les répétitions dans les séquences. Cependant, son utilisation devient limitée pour les séquences longues ou complexe car elle génère des graphiques interprétatifs qui peuvent devenir trop denses pour être analysés efficacement sans outils informatisés supplémentaires .
La bioinformatique permet de traiter et analyser efficacement l'immense quantité de données générées par les séquençages génomiques grâce à des pipelines automatisés de traitement de données . Elle facilite l'identification de motifs génomiques, l'annotation des gènes, et l'étude des relations entre les séquences et les phénotypes. De plus, elle dépasse les capacités humaines et manuelles en matière de vitesse et précision, augmentant ainsi de manière exponentielle le potentiel de découvertes en génomique .
La bioinformatique a révolutionné la compréhension des pathologies humaines en permettant l'analyse à grande échelle des données génomiques pour identifier les variantes génétiques associées à des maladies . Elle permet d'intégrer et de modéliser des données pour découvrir de nouvelles cibles thérapeutiques, comprendre les mécanismes sous-jacents aux maladies génétiques, et personnaliser les thérapies en fonction du profil génétique du patient . Ces avancées ont également amélioré le diagnostic précoce et la compréhension fondamentale de maladies complexes telles que le cancer .
L'alignement local compare des segments de séquences pour trouver les régions de similitude les plus significatives, ce qui est utile pour identifier des motifs communs dans des séquences largement différentes. En revanche, l'alignement global tente d'aligner deux séquences sur toute leur longueur, ce qui est optimal lorsque les séquences sont similaires sur l'ensemble de leur durée. L'alignement local est souvent utilisé pour les séquences de longueur variée ou comportant de larges divergences .
L'algorithme de Needleman-Wunsch est conçu pour effectuer des alignements globaux, cherchant à aligner chaque résidu d'une séquence avec chaque résidu de l'autre, du début à la fin . Il utilise une approche de programmation dynamique pour garantir le score d'alignement le plus élevé possible, ce qui est essentiel pour les séquences qui sont globalement similaires ou partagent une origine commune. L'implication majeure est qu'il offre une évaluation exhaustive de la similitude, bien qu'il puisse être coûteux en termes de temps de calcul pour de très longues séquences .
Les matrices de substitution, comme les matrices pour l'ADN ou les protéines, assignent des scores aux paires de bases ou d'acides aminés selon leur probabilité d'occurrence naturelle ou leur similarité physico-chimique . Elles influencent les résultats en déterminant quels alignements sont considérés comme favorables, en améliorant la précision de la prédiction des homologies, et en aidant à distinguer entre les correspondances fortuites et significatives. Par exemple, une matrice adaptée peut mettre en évidence des relations biologiques importantes .
SMS, ou Sequence Manipulation Suite, est une collection d'outils JavaScript utilisés pour analyser et formater les séquences d'ADN et de protéines . Il permet d'effectuer des alignements simples, d'afficher graphiquement des groupes de protéines, et de générer de nouvelles séquences génétiques aléatoires, facilitant ainsi l'apprentissage par la pratique. Son utilisation via le web ou hors-ligne et sa capacité à générer des séquences fictives en font un outil particulièrement prisé pour l'enseignement et l'expérimentation en bioinformatique .
Les banques de séquences spécialisées, telles que celles pour les séquences nucléiques ou protéiques, fournissent des dépôts organisés de données qui facilitent l'accès à des données spécifiques utilisées dans la recherche génétique et médicale . Elles permettent d'identifier les variantes génétiques impliquées dans des maladies, d'améliorer la compréhension de la biodiversité biologique et de guider le développement de nouveaux traitements médicaux en facilitant la comparaison et l'analyse génétique à grande échelle .