• Aucun résultat trouvé

1.3 Biologie moléculaire et microbiologie 25

1.3.3 Calcul de la similarité entre plusieurs séquences ADN

L’alignement peut avoir plusieurs objectifs : superposer les résidus homologues, superposer les résidus qui occupent la même position tridimensionnelle, superposer les

résidus qui ont la même fonction. Une partie des méthodes qui essaient de comprendre les relations de parenté entre des séquences utilisent le score ou le pourcentage de l’identité d’un alignement. Le pourcentage d’identité est généralement calculé comme le pourcentage de positions identiques d’un alignement entre deux séquences. De fait, l’alignement de séquences est un outil essentiel du bioinformaticien. Durant mon travail de thèse, de nombreuses séquences ont été alignées, par différents programmes d’alignement que je souhaite mentionner ici. Les deux principaux logiciels qui ont été utilisés sont BLAST (Basic Local Alignment Search Tool) (Altschul et al. 1990) et DIAMOND (Double Index AlignMent Of Next-generation sequencing Data) (Buchfink et al. 2015). Ils utilisent des heuristiques pour trouver les séquences susceptibles de s’aligner mais utilisent un algorithme d’alignement local optimal développé par Smith et Waterman en 1981 (Smith et al. 1981).

a) Algorithme de Smith et Waterman

L’algorithme de Smith et Waterman utilise la programmation dynamique pour trouver l’alignement local optimal entre deux séquences (nucléiques ou protéiques) pour un jeu de paramètres donné. La programmation dynamique est une technique qui consiste à décomposer un problème en sous-problèmes, puis à résoudre les sous-problèmes dont la résolution permet de trouver la solution au problème original. L’algorithme calcule un score pour chaque alignement et renvoie l’alignement local avec le meilleur score. L’alignement obtenu et le score dépendent fortement des paramètres (Fig. 6). L’évolution implique des événements de substitutions, de délétions et d’insertions. Ces phénomènes évolutifs sont modélisés par des paramètres lors de l’alignement. Quand deux résidus superposés sont identiques on parle de match, quand deux résidus ne sont pas identiques on parle de mismatch. Le score d’un match et d’un mistmatch peut être donné de manière générale quelque soit les résidus. Cependant, les fréquences des substitutions dans les séquences moléculaires ne sont pas équiprobables. Par exemple, il est plus probable de remplacer une base pyrimidique par une base pyrimidique que par une base purine. Dans une séquence protéique, un acide aminé a également plus de chance d’être remplacé par un acide aminé aux propriétés chimiques et d’encombrement stérique similaires. L’utilisation d’une matrice

Fig. 6. Impact des paramètres de score sur un alignement local

de substitution qui indique pour chaque mutation son score, permet de prendre en compte les différentes probabilités de substitution. Une insertion ou une délétion est représenté par un trou, appelé gap, dans l’alignement. Un événement d’insertion ou de délétion est rare mais il peut inclure plusieurs résidus. Pour cette raison, on distingue l’ouverture du gap et son élongation dans l’algorithme d’alignement. Le coût de l’ouverture d’un gap et de son élongation, le coût d’un mismatch (deux résidus différents) et le score d’un match (deux résidus identiques) sont les principaux paramètres de l’algorithme. De cet alignement, nous pouvons déduire plusieurs mesures, notamment le pourcentage d’identité et la couverture mutuelle. Nous nous servirons de ces deux mesures pour déduire si deux séquences sont homologues à partir d’un alignement. La couverture d’un alignement sur une séquence correspond à la proportion de cette séquence couverte par l’alignement. La couverture mutuelle d’un alignement entre deux séquences correspond à la plus faible valeur de couverture d’alignement entre les deux séquences. Le pourcentage d’identité correspond au nombre de positions identiques le long de l’alignement.

b) Heuristique pour la comparaison d’un grand nombre de séquences

L’algorithme de Smith et Waterman trouve le meilleur alignement local pour une paire de séquences. Si l’on souhaite comparer un jeu de données contenant X séquences à une base de données contenant Y séquences, on va devoir utiliser l’algorithme de Smith et Waterman X * Y fois. En pratique, avec l’augmentation de la taille des jeux de données, cela devient rapidement très coûteux en temps de calcul. Pour cette raison, des heuristiques ont été développées comme BLAST (Altschul et al. 1990) et DIAMOND (Buchfink et al. 2015), déjà mentionnées plus haut. Le principe de ces heuristiques est d’aligner avec l’algorithme de Smith et Waterman uniquement les parties des séquences qui ont une grande probabilité de s’aligner avec un bon score.

c) BLAST

BLAST est un algorithme d’alignement local qui utilise des heuristiques pour aligner uniquement les régions des séquences qui ont une grande probabilité de s’aligner avec un score suffisant. Cela lui permet d’aligner de nombreuses séquences en limitant le nombre d’alignements à effectuer. BLAST aligne des séquences requêtes contre des séquences cibles. Une étape de pré-traitement est nécessaire pour formater les séquences cibles en base de données. BLAST découpe les séquences cibles en k-mers, c’est-à-dire en sous séquences de k lettres, k=3 pour les séquences d’acides aminés et k=11 pour les séquences de nucléotides. Pour chaque mot ainsi créé, BLAST stocke en mémoire quelles séquences possèdent ce mot et à quelle position. La base de données créée par BLAST peut donc être vue comme une table d’association qui associe à tous les mots la ou les séquences où ces mots sont présents et leurs positions. Une fois la base de données construite, BLAST peut aligner des séquences requêtes contre la base de données. Les séquences requêtes sont également découpées en k-mers. Pour chaque k-mer, BLAST va produire des k-mers dits voisins, c’est-à-dire des k-mers dont l’alignement avec le k-mer d’origine est au dessus d’un seuil, afin d’être plus sensible (Fig 5. a). Ensuite, BLAST va chercher pour chacun de ces k-mers, les k-mers identiques dans la table d’association de la base de données (Fig 7. a). BLAST se sert des k-mers communs identifiés comme graines d’alignement. La prochaine étape consiste

Fig. 7. BLAST, principe de fonctionnement

a) Découpage de la séquence requête en k-mers voisins et interrogation de la base de données. b) Alignement à partir des k-mers identifiés. c) Une séquence peut avoir plusieurs

HSP.

à étendre ces graines d’alignement en mesurant l’augmentation ou la diminution du score d’alignement (Fig 7. b). La procédure s’arrête quand le score d’alignement décroit trop fortement. L’alignement est alors renvoyé. Ces alignements optimaux locaux sont appelés HSP (High Scoring Pair). BLAST retourne tous les HSP non inclus dans un autre HSP. L’alignement de deux séquences par BLAST peut donc donner plusieurs HSP (Fig 7. c).

a) Système de score et considérations statistiques

Le score brut d’un alignement S nous renseigne sur la qualité d’un alignement pour une matrice de substitution et des paramètres d’alignement donnés. On ne peut donc pas s’en servir pour comparer des alignements obtenus avec des paramètres différents. Le Score S ne prend pas en compte la taille du jeu de données: plus le jeu de données est grand, plus il y a de chance de trouver un alignement. Il est intéressant de pouvoir comparer la qualité et la pertinence d’alignements obtenus avec des paramètres de scores différents et sur des jeux de données différents.

Le Bit Score et la E-value ont été développés à cette fin. Le Bit Score S´ est calculé à partir du score S et deux paramètres: κ, λ . Le paramètre λ permet de normaliser par rapport aux paramètres d’alignements, et κ permet de normaliser par rapport à la taille

des jeux de données. Le Bit Score est calculé comme S0= λ S−ln(κ )ln 2 . Le Bit Score permet donc de comparer des alignements entre analyses. Cependant, le Bit Score ne nous informe pas directement sur la significativité de l’alignement, c’est-à-dire la probabilité d’obtenir un score x sachant les conditions de l’alignement et la taille du jeu de données. La E-value E répond exactement à cette question. On peut la calculer à partir du Bit Score S´ ou du Score S avec E = mn2−S’, ce qui est équivalent à E = κmne−λ S, avec n et m représentant la taille de la séquence cible et requête respectivement. On remarquera que E augmente proportionnellement avec la taille des séquences: plus les séquences sont longues, plus trouver un score donné est probable. De plus, elle diminue exponentiellement avec le Score: plus le Score est fort, moins il est probable qu’il soit dû au hasard.

a) Conclusion

BLAST a été un outil essentiel au développement de la comparaison de séquences in silico. Mais l’amélioration des techniques de séquençage et la baisse dramatique de leurs coûts ont eu pour conséquence une augmentation spectaculaire de la taille des bases de données. BLAST n’est pas assez puissant en terme de vitesse pour permettre d’exploiter convenablement ces ressources. De plus, en 1990, quand BLAST a été rendu public, l’architecture des ordinateurs était différente: la mémoire était un facteur limitant et, à l’exception des supercalculateurs les ordinateurs ne possédaient qu’un processeur (Fig. 8). Aujourd’hui la majorité des ordinateurs possèdent plusieurs processeurs et disposent de grandes quantités de mémoire physique et vive. Pour ces raisons de nouveaux programmes utilisant plusieurs processeurs de façon efficace ont fait leur apparition, notamment DIAMOND et MMSEQ2 (Fig. 5) (Buchfink et al. 2015; Steinegger et al. 2017).

Fig. 8. Réduction du temps de calcul en fonction du nombre de processeurs

Documents relatifs