Informations

Comment réduire le nombre de séquences dans un alignement de séquences multiples ?

Comment réduire le nombre de séquences dans un alignement de séquences multiples ?


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

J'ai un alignement de séquences multiples, où il y a environ 5000 séquences. Il existe aussi de nombreuses séquences où, il y a tant de régions non séquencées (par exemple, AU----CGGGCA--NNNNNNNNNN).

Donc, par essais et erreurs, j'ai trouvé une valeur seuil de 25%, j'ai donc supprimé les séquences qui contenaient plus de 25% de région non séquencée (N ici), en conservant environ 400 séquences dans l'alignement, en écrivant un simple R scénario.

Mais, j'aimerais savoir s'il existe une autre méthode standard pour le faire, car je ne pense pas qu'il soit plus efficace de supprimer des séquences en se basant sur la recherche d'un seuil pour le pourcentage de régions non séquencées, par essais et erreurs. Si il y a, pouvez-vous s'il vous plaît me dire, comment faire?

Merci d'avance.


Le package bioconducteur "ShortRead" pourrait être ce que vous recherchez.

Il possède une fonction "clean" pour supprimer les séquences aux bases ambiguës. Il peut également supprimer les doublons si vous en avez besoin.


Il serait utile de connaître votre candidature. Pour certaines applications, avoir des séquences ambiguës n'est pas nécessairement un problème tant que vous disposez d'un mécanisme pour gérer de telles positions non informatives. Les informations provenant des autres postes peuvent encore être précieuses.

Une alternative à la suppression des séquences (lignes de la matrice d'alignement) avec de nombreux N serait de supprimer les positions non informatives ou mal alignées (colonnes de la matrice d'alignement) de l'alignement. Cela dépend dans une certaine mesure de votre objectif. Des outils tels que gblocks peuvent être utilisés de cette manière.

Par exemple, si votre objectif est d'effectuer un regroupement ou une estimation phylogénétique de la région, ou d'identifier des régions hautement conservées, il serait alors utile de supprimer les colonnes mal alignées ou non informatives.

D'un autre côté, si votre objectif est lié d'une manière ou d'une autre à l'ensemble de la séquence (par exemple, des structures protéiques ou des cadres de lecture ouverts), alors la suppression de lignes/séquences peut avoir plus de sens. Mais il n'est toujours pas clair pour moi que vous ayez vraiment besoin de supprimer les positions ambiguës. Pour en discuter, vous pouvez voir cet ancien fil de discussion de researchgate ou ce fil de biostars.


Alignement de séquences multiples avec des points d'ancrage définis par l'utilisateur

Les outils logiciels automatisés pour l'alignement multiple échouent souvent à produire des résultats biologiquement significatifs. Dans de telles situations, les connaissances d'experts peuvent aider à améliorer la qualité des alignements.

Résultats

Ici, nous décrivons un semi-automatique version du programme d'alignement DIALOGUER qui peut prendre en compte des contraintes prédéfinies. Il est possible pour l'utilisateur de spécifier des parties des séquences qui sont supposées être homologues et doivent donc être alignées les unes par rapport aux autres. Notre logiciel peut utiliser ces sites comme points d'ancrage en créant un alignement multiple respectant ces contraintes. De cette façon, notre méthode d'alignement peut produire des alignements qui sont biologiquement plus significatifs que les alignements produits par des procédures entièrement automatisées. Pour démontrer le fonctionnement de notre méthode, nous appliquons notre approche aux séquences génomiques autour du Hox groupe de gènes et à un ensemble de protéines de liaison à l'ADN. En tant que sous-produit, nous obtenons des informations sur les performances du cupide algorithme que notre programme utilise pour l'alignement multiple et sur la fonction objectif sous-jacente. Ces informations seront utiles pour le développement ultérieur de DIALIGN. L'approche d'alignement décrite a été intégrée dans le système logiciel TRACKER.


Introduction

Les protéines transmembranaires ou protéines intégrales sont connues pour la variété des rôles qu'elles jouent à l'intérieur du système cellulaire, comme la communication, le métabolisme et la régulation. Environ 30 % des protéines codées par le génome des mammifères sont des protéines transmembranaires 1 . Fait intéressant, la moitié des molécules médicamenteuses produisent un effet sur les protéines transmembranaires, une autre raison pour laquelle les protéines transmembranaires sont si critiques. Les protéines transmembranaires participent également à divers processus cellulaires tels que l'adhésion cellulaire, la protection immunitaire, le métabolisme et la transduction du signal 2 . En outre, les protéines transmembranaires sont des candidats cibles potentiels pour les médicaments en raison de leurs rôles essentiels en tant que transporteurs, récepteurs et protéines structurelles ainsi que de leur effet sur les processus intracellulaires en aval 3 . La nature complexe et l'implication des protéines transmembranaires dans une grande variété de processus biologiques en font un sujet de recherche impératif. Les protéines transmembranaires sont bien connues pour leur complexité à déterminer expérimentalement leurs structures 4 . Seules 3099 structures de protéines transmembranaires sont disponibles à ce jour avec la banque de données de protéines de protéines transmembranaires version 2017.02.10 5 . Ce manque de données a inspiré de nombreux groupes de recherche à prédire les structures des protéines transmembranaires par modélisation d'homologie. Dans la modélisation d'homologie, la structure inconnue d'une séquence cible est modélisée sur une structure connue (modèle) d'une protéine apparentée à distance, afin de mieux comprendre la fonction de la protéine membranaire. De telles études reposent sur des méthodes de détection des relations entre deux protéines, en alignant par la suite leurs séquences protéiques. De plus, de larges variations peuvent être détectées au niveau de la séquence au sein d'une famille de protéines transmembranaires, augmentant ainsi la complexité et l'erreur dans l'alignement.

L'alignement de séquences multiples de protéines transmembranaires a d'abord été abordé par Cserzo 6 suivi de Bahr 7, et au fil des ans, quelques méthodes et outils supplémentaires ont été développés pour l'alignement de séquences de protéines transmembranaires. Les méthodes d'alignement de séquences multiples (MSA), telles que Kalign 8 , MAFFT 9 , Muscle 10 et ClustalW tirent leur précision d'un critère de « cohérence » et/ou d'une optimisation itérative. Les approches basées sur la cohérence visent à générer un alignement de séquences multiples qui s'accorde le mieux avec une bibliothèque d'alignements par paires entre les séquences alignées. TM-Coffee 11, PRALINETM 12 et Promals 13 sont basés sur une modélisation d'homologie 14 qui s'est avérée très performante sur les alignements de protéines transmembranaires du benchmark BALiBASE2.0 7. La pénurie de structures de protéines transmembranaires connues dans la PDB conduit souvent à une faible identité de séquence dans les meilleures matrices, qui est souvent inférieure à 30 %. Malgré la disponibilité d'outils basés sur l'homologie pour l'alignement de séquences multiples de protéines transmembranaires, il est probable qu'un nombre important de régions transmembranaires restent non détectées ou non alignées en raison des limitations des méthodes disponibles telles que le nombre de séquences d'entrée, le délai d'exécution et la dépendance vis-à-vis des structures. D'un autre côté, TM-Aligner ne travaille pas sur des approches basées sur l'homologie structurelle, il n'a pas non plus de limitation sur le nombre de séquences et a pris un temps d'exécution très inférieur. TM-Aligner peut effectuer un alignement de séquences multiples d'un nombre illimité de protéines transmembranaires de n'importe quelle longueur.

Comme les protéines membranaires biologiques ont une transmembrane entre les régions cytoplasmiques et non cytoplasmiques, donc même à faible similitude de séquence, un alignement précis est possible en divisant la séquence en différentes régions et en les alignant séparément. Ces alignements sont ensuite cousus ensemble avec précision afin que les régions transmembranaires ne soient pas perturbées et que des résidus importants au sein de la famille de protéines soient conservés tout au long du processus d'alignement. TM-Aligner est un outil inconditionnel (en termes de longueur et de nombre de séquences) qui peut aligner les protéines transmembranaires de manière précise et réactive. TM-Aligner a été conçu comme une méthode d'alignement globale et progressive unique pour l'alignement des protéines transmembranaires. La méthode progressive ou arborescente aligne d'abord les séquences les plus similaires, puis ajoute successivement les séquences les moins similaires à l'alignement jusqu'à ce que toutes les séquences soient alignées. TM-Aligner utilise la méthode UPGMA 15 pour créer un arbre guide initial qui décrit la relation entre les séquences. Pour prédire les régions transmembranaires, TMHMM 16 a été utilisé et des alignements ont été effectués à l'aide de la programmation dynamique et de l'algorithme d'appariement de chaînes Wu-Manber 17 pour assembler différentes régions.


Méthodes

Alignement progressif

La méthode progressive est l'une des stratégies d'alignement de base utilisées pour MSA. Il est connu pour fournir des résultats raisonnablement bons et est la méthode heuristique la plus largement utilisée pour MSA 14 . Par conséquent, il est choisi comme le cœur de notre algorithme. Le flux de base de la stratégie progressive consiste à préparer un arbre guide et à utiliser une série d'alignements par paires pour aligner les séquences en fonction de l'ordre de branchement dans l'arbre guide. L'arbre de guidage est formé sur la base de la distance par paires des séquences. L'arbre guide est formé dans l'ordre de la paire distante la plus courte à la plus longue. Initialement, la paire de séquences la plus étroitement liée est alignée, puis les séquences restantes sont alignées sur l'alignement précédent jusqu'à ce que toutes les séquences soient alignées. L'alignement par paires est effectué à chaque étape et il est affiné à l'étape finale en additionnant les alignements. Dans l'étape de raffinement, les premiers écarts sont revisités pour ajuster les pénalités en fonction des séquences alignées à partir d'autres alignements par paires. Il existe de nombreux algorithmes MSA qui utilisent des formes modifiées de méthodes progressives 2 . Des détails sur la méthode d'alignement progressif ainsi que sur le pseudo-code sont donnés dans le matériel supplémentaire (données S2).

La construction de l'arbre guide et l'alignement par paires sont les principaux contributeurs au temps d'exécution et à l'utilisation de la mémoire dans la méthode d'alignement progressif. L'utilisation d'une structure de données telle qu'un arbre de suffixes qui permet un stockage efficace et une recherche rapide des sous-chaînes communes des séquences contribue à améliorer la complexité de l'étape de l'arbre de guidage. De même, les alignements par paires sont effectués en utilisant l'approche de programmation dynamique qui devient le processus le plus long lorsque les séquences impliquées dans le MSA sont assez grandes. Un algorithme de programmation dynamique borné est utilisé pour améliorer les performances des alignements par paires.

De l'arbre des suffixes, des sous-chaînes communes peuvent être extraites rapidement pour des séquences d'ADN très similaires. Cela ne laisse que les régions sans correspondance à aligner. L'algorithme d'alignement par paire modifié fournit également une amélioration substantielle du temps d'exécution et de l'utilisation de la mémoire à mesure que la similitude entre les séquences augmente.

Arbres de suffixes pour améliorer l'alignement de séquences similaires

Les arbres de suffixes améliorent considérablement les performances de recherche sur les chaînes indexées et sont donc largement utilisés dans les problèmes impliquant la correspondance de motifs, la recherche de sous-chaînes, etc. De nombreux algorithmes d'alignement existants utilisent des arbres de suffixes pour identifier les sous-chaînes correspondantes et il existe différents algorithmes pour la construction d'arbres de suffixes 15 ,16,17,18,19,20,21 . La construction d'arbre de suffixes Ukkonen 15 est suivie dans la mise en œuvre car elle est supérieure en termes de complexité temporelle et spatiale 22 .

Chaque séquence d'entrée est partitionnée en segments de taille égale et ces segments sont utilisés pour construire l'arbre des suffixes. L'arbre de suffixes est caractérisé par une racine et chaque bord est marqué par le nucléotide dans la séquence. Pour n'importe quel nœud v, la chaîne formée en concaténant les étiquettes de bord de la racine à v est le chemin vers ce nœud, chemin(v). L'arbre de suffixes est connu pour fournir un temps de recherche optimal 16,23, ce qui signifie identifier le nœud v, qui est le plus proche de la racine pour un motif P donné, tel que P est un préfixe de chemin(v) peut être effectué en temps linéaire à la longueur de P. Toutes les feuilles du sous-arbre du nœud v représentent alors les occurrences du motif P dans la chaîne S.

S'il y a m séquences d'ADN d'une longueur moyenne de m, la complexité temporelle pour construire un arbre de suffixes pour une séquence est O(m) (Lignes 2 à 3 de l'algorithme 1). Après avoir construit l'arbre des suffixes, recherchez l'arbre des suffixes pour chaque segment de chaque paire de séquences afin d'identifier les sous-chaînes communes et les segments correspondants. Recherche du m séquences dans l'arbre des suffixes coûts O(nm) (Lignes 5 à 7 de l'algorithme 1). Pour les segments non appariés, enregistrez le pourcentage d'identité et la différence de longueur, le cas échéant. Étant donné que les séquences sont partitionnées en segments de taille égale, seul le dernier segment de chaque séquence aura une longueur différente. Seuls les segments non appariés sont pris en compte pour les alignements par paires et les caractéristiques, c'est-à-dire le pourcentage d'identité et la différence de longueur, sont utilisées pour extraire l'apprentissage de la base de connaissances. L'arbre de guidage pour effectuer des alignements par paires est formé sur la base de la mesure de similarité extraite pour chaque paire de séquences.

Algorithme N-W modifié pour l'alignement par paires

Nos recherches précédentes avaient prouvé que, pour les alignements par paires, un alignement optimal peut être obtenu en ne remplissant qu'un nombre limité de diagonales de la matrice 13 . Le nombre de diagonales à remplir pour obtenir un alignement optimal n'est pas fixe dans tous les cas. Par conséquent, il est nécessaire de trouver le nombre minimum de diagonales à remplir comme pré-requis. Ceci est fait en utilisant l'approche dot plot. Avec quelques modifications de l'algorithme dotlet 24, le nombre de diagonales à remplir peut être obtenu. Les résultats des tests ont prouvé que la similitude entre les séquences et le nombre de diagonales à remplir sont inversement proportionnels. Selon nos recherches précédentes 13 , les séquences avec un % d'identité (plus de 50 %) et une différence de longueur (moins de 25 %) auraient obtenu une amélioration de 50 % de l'utilisation de la mémoire et du temps d'exécution dans les alignements par paires.

Dans notre approche, l'alignement par paires est effectué uniquement pour les segments non appariés. Au fur et à mesure que la similitude entre les séquences augmente, le nombre de segments à aligner diminue. L'algorithme d'alignement modifié réduit encore la complexité à mesure que la similarité augmente. La paire de segments la plus éloignée des séquences d'entrée est choisie pour identifier le nombre de diagonales à remplir. Cela améliore le temps d'exécution et garantit en même temps que tous les alignements par paires fournissent un alignement optimal car ce serait le plus grand nombre de diagonales pour l'ensemble d'entrée donné. Même si cette étape n'implique qu'un seul alignement par paires, cela pourrait devenir coûteux pour de très grandes séquences. Par conséquent, une base de connaissances est construite avec des données d'apprentissage et une couche d'apprentissage avec l'algorithme du plus proche voisin est utilisée pour extraire les connaissances de la base de connaissances. Avec plus d'apprentissages, la base de connaissances devient plus précise et se traduirait par un apprentissage plus rapide.

Dans l'alignement par paires basé sur la programmation dynamique traditionnelle, la complexité est O(m 2 )pour les segments de séquence ayant une longueur m. Dans notre approche d'alignement modifié, la complexité se réduit à O(m * k) + O(2m * ), où k est la différence de longueur et d est le nombre de diagonales remplies. En cas de séquences très similaires, k → 0 et (dll m) , donc la complexité devient O(m) par rapport à O(m 2) dans le cas de l'approche de programmation dynamique traditionnelle où l'on remplit toute la matrice. Le pire des cas de complexité serait O(m 2 ) comme 2m * devient égal à m 2, lorsque la similitude entre les séquences diminue.

Couche d'apprentissage supervisé

La programmation dynamique limitée pour l'alignement par paires est la clé de notre approche pour obtenir de meilleures performances. D'après les résultats de l'expérience 13, on sait que le nombre de diagonales à remplir dépend du niveau de similitude et de la différence de longueur. Une connaissance préalable du nombre de diagonales à remplir est un pré-requis pour l'étape d'alignement par paires. À l'aide d'un ensemble de données d'apprentissage, une base de connaissances est construite avec le mappage de la similarité de séquence avec le nombre de diagonales. Des mesures de similarité de séquence (pourcentage d'identification et différence de longueur) pour les segments les plus éloignés sont utilisées pour extraire les connaissances de la base de connaissances. L'algorithme du plus proche voisin est utilisé pour identifier la meilleure entrée correspondante à partir de la base de connaissances 25,26. Un nombre moindre de dimensions (pourcentage d'identité et différence de longueur) pour la reconnaissance des formes était le moteur de la sélection du voisin le plus proche comme algorithme d'apprentissage. Plus de détails sur l'algorithme du voisin le plus proche sont donnés dans le matériel supplémentaire (données S3).

(Création/apprentissage de la base de connaissances).

La couche d'apprentissage utilise le pourcentage d'identité et la différence de longueur comme caractéristiques pour classer les séquences d'entrée. Pour chaque paire de séquences, ces caractéristiques sont extraites et la combinaison de la valeur la plus élevée pour la différence de longueur et de la valeur la plus faible pour l'identité est choisie pour un ensemble de données d'entrée. Ensuite, il est mis en correspondance avec la base de connaissances pour identifier l'ensemble le plus proche. L'algorithme vérifie initialement la correspondance exacte et, en cas d'absence de correspondance exacte, vérifie la correspondance la plus proche (dans une plage de ±(2–3)%). Le nombre de diagonales sera récupéré pour cette correspondance la plus proche et sera utilisé pour l'alignement par paires dans le MSA progressif. Chaque fois qu'un nouvel ensemble de caractéristiques est rencontré, pour lequel une correspondance la plus proche n'existe pas dans la base de connaissances, l'algorithme dotlet est exécuté pour identifier le nombre de diagonales. Cet apprentissage est ensuite entré dans la base de connaissances pour les alignements futurs. Plus d'entrées dans la base de connaissances amélioreraient les performances et la précision de l'alignement. La figure 1 montre le déroulement de l'algorithme avec des exemples de données.

Exemple de flux de l'algorithme SPARK-MSNA.

Implémentation parallèle avec Spark

Le calcul parallèle est implémenté à l'aide du modèle MapReduce à deux étapes de l'algorithme. La construction de l'arbre des suffixes et l'alignement par paires de la méthode progressive. MapReduce peut être implémenté en utilisant Hadoop ou Spark. En raison de l'amélioration supplémentaire du temps fournie par spark avec son calcul en mémoire, spark est choisi comme framework MapReduce 27 . Plus de détails sur le modèle de programmation MapReduce sont donnés dans Supplementary Material (Data S4).

Bien que l'utilisation de l'arbre de suffixes avec l'algorithme d'Ukkonen entraîne une complexité temporelle linéaire, cela pourrait être plus coûteux lorsque les séquences impliquées sont de taille assez importante. Les performances sont encore améliorées grâce à la construction parallèle utilisant le modèle de programmation MapReduce 28 . L'arbre des suffixes est partitionné verticalement et chaque partition est construite indépendamment. Les préfixes générés à partir du partitionnement vertical forment la clé et ses positions de départ forment la valeur. Cette paire clé-valeur est traitée à l'aide de la tâche de mappage et les sous-arbres sont construits en parallèle par les nœuds de calcul. La construction d'arbres de suffixes à partir du sous-arbre est combinée avec les tâches de carte afin de réduire les frais généraux de lecture aléatoire et de réduction. L'algorithme 4A montre le flux pour la fonction de carte de construction d'arbre de suffixes.

L'étape d'alignement par paire vérifie les segments appariés et les segments non appariés seuls sont ensuite pris pour l'alignement par paire. L'alignement par paire de segments est ensuite exécuté en parallèle à l'aide du modèle MapReduce. Le nom de la séquence avec l'index de segment est la clé et le segment de séquence est la valeur pour cette phase de mappage. Chaque nœud de calcul effectue ensuite l'alignement par paires en utilisant l'algorithme par paires modifié. Le résultat est ensuite transmis sous la forme d'une paire clé-valeur où clé est le nom de la séquence avec l'index de segment et la valeur est la séquence alignée. Les segments de séquence alignés pour une paire de séquences sont combinés avec la tâche de carte pour éviter la surcharge de la tâche de réduction. L'algorithme 4B montre le flux de la fonction map pour un alignement par paires.

(Fonction de carte pour la construction d'arbres de suffixes).

(Fonction de carte pour l'alignement par paires).

L'exécution parallèle n'améliore pas la complexité de l'algorithme mais elle contribue à améliorer le temps d'exécution. Lorsque nous avons un nombre de nœuds de calcul égal ou supérieur au nombre de partitions à traiter, le temps d'exécution est équivalent à celui du traitement d'une seule partition plus une surcharge supplémentaire pour la phase de réduction pour construire le résultat final. Si le nombre de nœuds de calcul est inférieur, des groupes de partitions sont formés et traitent les groupes de partitions en parallèle, pour des performances améliorées par rapport à l'exécution séquentielle. Le framework Spark réduit la surcharge du réseau en utilisant le concept de localité de données de MapReduce, mais la fusion des résultats intermédiaires dispersés pour former le résultat final sera toujours là. Mais dans le cas d'ensembles de données volumineux, cette surcharge supplémentaire est beaucoup plus faible par rapport à l'exécution séquentielle ou à l'informatique distribuée traditionnelle (OpenMP/MPI). La figure 2 montre l'organigramme de l'algorithme.

Organigramme de l'algorithme SPARK-MSNA.


Introduction

L'alignement de séquences multiples (MSA) d'un ensemble de séquences homologues est une étape essentielle de la phylogénétique moléculaire, la science qui consiste à déduire des relations évolutives à partir de données de séquences moléculaires. Des erreurs dans l'analyse phylogénétique peuvent être causées par une inférence erronée d'homologie de site ou de saturation de plusieurs substitutions [1], qui se présentent souvent comme des sites très divergents dans les MSA. Pour supprimer les erreurs et les sites phylogénétiquement non informatifs, plusieurs méthodes « rognent » ou filtrent les sites très divergents en utilisant des calculs de dissemblance site/région à partir des MSA [1–4]. Un sous-produit bénéfique du rognage des MSA, en particulier pour les études qui analysent des centaines de MSA de milliers de taxons [5], est que le rognage des MSA réduit le temps de calcul et la mémoire requis pour l'inférence phylogénomique. De nos jours, le rognage MSA fait partie intégrante de l'inférence phylogénétique moléculaire [6].

Malgré la popularité écrasante des stratégies de rognage MSA, une étude récente a révélé que le rognage diminue souvent, plutôt qu'il n'augmente, la précision de l'inférence phylogénétique [7]. Cette diminution suggère que les stratégies actuelles peuvent supprimer les sites informatifs phylogénétiquement (par exemple, les sites informatifs de parcimonie et variables) qui ont déjà été démontrés comme contribuant à la précision phylogénétique [8]. De plus, il a été montré que l'inexactitude phylogénétique est positivement associée au nombre de sites supprimés [7], révélant un compromis vitesse-précision dans lequel les MSA rognés diminuent le temps de calcul de l'inférence phylogénétique mais au prix d'une précision réduite. Plus généralement, ces résultats soulignent le besoin de stratégies alternatives de rognage du MSA.

Pour répondre à ce besoin, nous avons développé ClipKIT, un algorithme de rognage MSA basé sur un nouveau cadre conceptuel. Plutôt que de viser à identifier et à supprimer des sites potentiellement non informatifs sur le plan phylogénétique dans les MSA, ClipKIT se concentre plutôt sur l'identification et la conservation des sites informatifs sur la parcimonie, qui (avec d'autres types de sites et caractéristiques des MSA, tels que les sites variables et la longueur d'alignement) ont déjà été montrés être informatif phylogénétiquement [8]. ClipKIT met en œuvre un total de 5 stratégies de rognage différentes. Certaines stratégies de rognage ClipKIT permettent aux utilisateurs de conserver également des sites constants, qui informent les fréquences de base dans les modèles de substitution [9], et/ou les alignements de rognage en fonction de la fraction de taxons représentée par les lacunes par site (ou gappyness de site). Nous avons testé la précision et la prise en charge des inférences phylogénétiques à l'aide de ClipKIT et d'autres logiciels de coupe d'alignement en utilisant près de 140 000 alignements à partir d'ensembles de données empiriques de séquences de levures mammifères et en herbe [8] et des ensembles de données simulés de métazoaires, de plantes, de champignons filamenteux et d'un plus grand échantillon de levures en herbe. séquences [10–13]. Nous avons constaté que les alignements découpés par ClipKIT conduisaient à des inférences phylogénétiques précises et bien étayées qui surpassaient systématiquement les autres logiciels de découpage d'alignement. De plus, nous notons que les alignements découpés par ClipKIT peuvent économiser du temps de calcul lors de l'inférence phylogénétique. Pris ensemble, nos résultats démontrent que le rognage d'alignement basé sur l'identification et la conservation de sites informatifs sur la parcimonie est une stratégie de rognage d'alignement robuste.


Paramètres

  • -o, --outfile <string> spécifie le nom du fichier de sortie (STDOUT par défaut)
  • -num_threads <integer> spécifie le nombre de threads utilisés, et sinon détecte automatiquement
  • -clustalw utiliser le format de sortie CLUSTALW au lieu du format FASTA
  • -c, --consistency REPS use 0 outfile" ou "msaprobs infile -o outfile"

Sortez les alignements multiples au format FASTA dans le fichier "outfile"

Utilisez 4 threads pour accélérer l'exécution de l'alignement multiple

Utilisation de BioPerl

MSAProbs a été soutenu par BioPerl. Comment utiliser ce programme dans BioPerl ? Cliquez ici pour plus de détails.


Comment calculer l'alignement de plusieurs séquences pour les chaînes de texte

J'écris un programme qui doit calculer un alignement de séquences multiples d'un ensemble de chaînes. Je pensais le faire en Python, mais je pourrais utiliser un logiciel externe ou un autre langage si c'est plus pratique. Les données ne sont pas particulièrement volumineuses, je n'ai pas d'exigences de performances élevées et je peux tolérer des approximations (c'est-à-dire que j'ai juste besoin de trouver un alignement suffisamment bon). Le seul problème est que les chaînes sont des chaînes régulières (c'est-à-dire des chaînes UTF-8 potentiellement avec des nouvelles lignes qui devraient être traitées comme un caractère régulier), ce ne sont pas des séquences d'ADN ou des séquences de protéines.

Je peux trouver des tonnes d'outils et d'informations pour les cas habituels de la bioinformatique avec des formats de fichiers complexes et une multitude de fonctionnalités dont je n'ai pas besoin, mais il est étonnamment difficile de trouver des logiciels, des bibliothèques ou des exemples de code pour le cas simple des chaînes. Je pourrais probablement réimplémenter l'un des nombreux algorithmes pour ce problème ou encoder ma chaîne en tant qu'ADN, mais il doit y avoir un meilleur moyen. Connaissez-vous des solutions ?


Page d'aide de Multalin

Ce logiciel vous permettra d'aligner simultanément plusieurs séquences biologiques.

Qu'est-ce qu'un alignement de séquences multiples ? C'est l'arrangement de plusieurs séquences de protéines ou d'acides nucléiques avec des lacunes postulées de sorte que des résidus similaires soient juxtaposés. Un score positif est attaché aux identités, aux substitutions conservatrices ou non conservatrices (l'amplitude du score mesurant la similarité) et une pénalité aux écarts un programme idéal maximiserait le score total, en tenant compte de tous les alignements possibles et en tenant compte de tout écart de longueur à position.

Malheureusement, les exigences de calcul, à la fois en temps et en mémoire, augmentent comme la puissance n, où n est le numéro de séquence, de sorte que cet alignement idéal ne peut être trouvé que pour deux séquences ou trois séquences courtes. Dans le cas général, pour être réalisables les programmes doivent restreindre les conditions de l'optimisation. Néanmoins, il est indéniablement utile de disposer d'un système automatique d'alignement de séquences multiples pour fournir un point de départ à une analyse plus humaine.

Multalin crée un alignement de séquences multiples à partir d'un groupe de séquences apparentées à l'aide d'alignements progressifs par paires. La méthode utilisée est décrite dans "Multiple sequence alignement with hierarchical clustering", F.Corpet, 1988, Nucl. Acides Rés. 16 10881-10890.

Attention : Aucune connaissance informatique n'est requise pour utiliser MultAlin, seulement des connaissances de base sur www !

Sur la page d'accueil de MultAlin, vous verrez un grand rectangle. C'est là que vous allez coller (comme pour couper et coller) vos séquences (essayez un échantillon de séquences la première fois). Au lieu de coller vos séquences, vous pouvez donner le nom de votre fichier de séquences, ou le sélectionner avec le bouton Parcourir.

L'étape suivante consiste à définir les paramètres. Ceux-ci ne sont que de difficulté www de base mais vous pourrez trouver de l'aide en cliquant sur le point d'interrogation associé. Utilisez simplement les menus contextuels ou saisissez du texte ou des chiffres si nécessaire. Lorsque vous êtes prêt, cliquez sur le bouton « soumettre les données » (vous pouvez utiliser les boutons en haut ou en bas de la page .

Maintenant, vous devrez attendre que notre serveur calcule (cela peut prendre jusqu'à quelques heures pour des séquences très volumineuses).

Le résultat sera renvoyé à votre navigateur Internet sous la forme d'une image GIF (par défaut), d'un texte brut ou d'une page html colorée. Vous pourrez changer les couleurs, la taille de la police, la taille des lignes, etc. et même les niveaux de consensus (voir Options de présentation pour plus de détails).

La procédure est la même que pour la configuration MultAlin, il suffit d'utiliser les menus contextuels et de saisir du texte ou des chiffres si nécessaire. Lorsque vous êtes prêt, cliquez sur le bouton "Appliquer les modifications". La nouvelle image apparaîtra peu de temps après. (seule l'image est modifiée, aucun réalignement n'est effectué)

Sur votre page de résultats, vous pouvez ajouter une séquence à l'alignement. Cette séquence sera alignée avec vos séquences déjà alignées et vous obtiendrez une nouvelle page de résultats, avec la nouvelle séquence placée à côté de sa séquence la plus similaire. Pour cette étape, MultAlin effectue un alignement optimal de la nouvelle séquence et du bloc des séquences déjà alignées : le résultat peut être différent si vous demandez directement un alignement de toutes les séquences de la première forme.

Collez votre nouvelle séquence dans la zone rectangulaire au format Fasta/Multalin (c'est-à-dire une ligne avec un début '>' pour le nom de la séquence, et d'autres lignes avec la séquence elle-même). Cliquez sur le bouton "Appliquer les modifications" lorsque vous êtes prêt.

Le format MultAlin est similaire à Fasta. Les séquences peuvent être interrompues par des espaces ou des chiffres non pris en compte (voir exemples aux formats MultAlin et Fasta pur)

Le nom de la séquence est le premier mot après le mot-clé LOCUS. La séquence commence sur la ligne suivant le mot-clé ORIGINE. L'information de séquence suivante commence par le mot-clé LOCUS. Voir l'échantillon.

Le nom de la séquence est le premier mot après le mot-clé ID. La séquence commence sur la ligne suivant le mot-clé SQ. L'information de séquence suivante commence sur la ligne suivante // Voir l'exemple.

L'alignement de séquence sera affiché comme :

Une image colorée

une image GIF est chargée comme n'importe quelle image. Cliquez sur le bouton image si vous n'avez pas sélectionné l'option "charger automatiquement les images". L'image GIF que vous verrez est configurable. Vous pouvez modifier les couleurs du texte du commentaire, la taille de la police, la couleur d'arrière-plan, les couleurs de consensus haut et bas et la couleur neutre.

Un texte clair

c'est le moyen le plus rapide si vous avez des problèmes de chargement d'images ou de grandes pages html.

Un texte html coloré

Dans tous les cas, vous pouvez ajuster les niveaux de consensus.

Fichiers disponibles

Juste en dessous, vous pourrez voir le fichier de séquence d'entrée, le fichier de cluster, l'alignement au format texte brut fasta ou msf, l'alignement au format msf avec des indications de couleur sous forme de texte codé, de texte html ou d'image gif.

N'importe lequel de ces fichiers peut être enregistré sur votre disque local, simplement en utilisant votre navigateur WWW. Les textes bruts peuvent être visualisés, édités ou imprimés avec n'importe quel éditeur de texte, la page Html et l'image GIF, avec votre navigateur ou un traitement de texte qui permet ces formats.

Pour traduire les indications de couleur du texte codé en vraies couleurs, vous pouvez utiliser Microsoft Word et la macro MultAlin (FTP multalin.dot et enregistrer sur le disque même si vous voyez des caractères impairs sur votre navigateur) comme suit :

Autres paramètres

Tableau de comparaison des symboles Blosum62

S. Henikoff et J.G. Henikoff, Matrices de substitution d'acides aminés à partir de blocs de protéines, 1992, P.N.A.S. États-Unis 89, 10915-10919. Cette table est le Blosum62 d'origine avec une valeur de 4 ajoutée à chaque entrée pour qu'elle soit non négative.

Tableau comparatif des symboles Dayhoff

M.O. Dayfoff, R.M. Schwartz et B.C. Orcutt, Atlas de la structure des protéines et des séquences, Ed M.O. Dayhoff, National Biomedical Research Foundation (Washington D.C. 1979). Cette table est le PAM250 de Dayhoff avec une valeur de 8 ajoutée à chaque entrée pour qu'elle soit non négative.

Tableau comparatif des symboles génétiques

Chaque valeur est le nombre maximum de bases communes dans le codon d'acide aminé correspondant.

Tableau de comparaison des symboles Risler

J.L. Risler, M.O Delorme, H. Delacroix, A.Henaut, Journal of Molecular Biology, 204, 1019, 1988.

Tableau de comparaison des symboles d'ADN

Ce tableau note une correspondance pour tout chevauchement entre les symboles d'ambiguïté des acides nucléiques de l'IUB (Union internationale des biochimies), à l'exception de X/N, comme suit :
A ou C = MA ou G = RA ou T = WC ou G = SC ou T = YG ou T =KA ou C ou G = VA ou C ou T = HA ou G ou T =DC ou G ou T = BA ou C ou G ou T = X ou N
These codes are compatible with the codes used by the EMBL, GenBank and PIR data libraries and by the GCG package.

Alternate DNA symbol comparison table

8 for a match
6 for a match with two base ambiguity symbol
4 for a match with a three base ambiguity symbol
3 for a match with a four base ambiguity symbol

where the ambiguity symbols are :

A or C = M A or G = R A or T = W C or G = S C or T = Y G or T =K A or C or G = V A or C or T = H A or G or T =D C or G or T = B A or C or G or T = X or N
These codes are compatible with the codes used by the EMBL, GenBank and PIR data libraries and by the GCG package.

Identity symbol comparison table

This table scores 1 for a match and 0 for a mismatch between any two letters.

Personal table

This penalty is subtracted to the alignment score of 2 clusters each time a new gap is inserted in one cluster. This penalty is length dependent: it is the sum of "penalty at gap opening" and of "penalty at gap extension" times the gap length both values must be non negative their maximum value is 255.
The similarity score is equal to the sum of the values of the matches (each match scored with the scoring table) less the gap penalties. The gap penalty is charged for every internal gap. By default, no penalty is charged for terminal gaps.

An optimal alignment is one with the maximum possible score. It is sensitive to the symbol comparison values and to the gap penalties.

Text options

For a coloured image

For a coloured html text

Consensus options

Other presentation options

Output style

Normal In all sequences, all positions are in upper-case. Case All the positions in each sequence that are identical with the consensus are in upper-case, the other positions are in lower-case. Difference The first sequence is normal in the other sequences, the residue identical to the first sequence residue at the same position is represented by a point(.), the others are in upper-case.

Maximum line length

An alignment can be very large if sequences are long. If you prefer to see the alignment by blocks, you can choose to reduce the line length. By default, it is set to 1000 residues. For a printable page, 60 or 100 can be better (it depends on the font size).

Graduation step

Florence Corpet MultAlin's author. (Comments and suggestions very welcome)

If you use MultAlin frequently you may be interested in downloading the program. For this you must have prior authorisation from the author. Please e-mail.


Raisonnement

Within the last few years, a variety of second- (or next-) generation sequencing technologies have been developed to enable analyses of small to medium-sized genomes within weeks or even days. The methods are now overcoming the disadvantages of short read length (currently the longest reads are obtained with the Titanium system produced by Roche/454 Life Sciences (Brandford, CT, USA) with Q20 at 400 bp) and a lower quality of individual reads with a dramatic increase in the total amount of data generated.

The initial resequencing of Caenorhabditis elegans et Arabidopsis thaliana (Arabidopsis) strains with Illumina reads [1, 2] was recently complemented by genome sequences of several human individuals, generated with data derived from technologies from Illumina (San Diego, CA, USA), Applied Biosystems (Foster City, CA, USA), and Helicos (Cambridge, MA, USA) [3–10]. Even partial de novo assemblies of targeted regions within large genomes have been attempted [2]. However, short-read analysis of complex genomes is greatly aided by using a sequence backbone against which the short reads are aligned to find their genomic origin.

Different approaches for fast mapping of short reads have been suggested, including methods for indexing substrings of either the short reads or the reference sequence with the use of k-mers or spaced seeds (academic tools such as Bowtie, BWA, CloudBurst, MAQ, MOM, MosaikAligner, mrFAST, mrsFAST, Pash, PASS, PatMaN, RazorS, RMAP, SeqMap, SHRiMP, SliderII, SOAP, SOAP2, ssaha2 [2, 11–28], and commercial tools such as ZOOM [29]). It has been reported that the current high demand for rapid alignments, to accommodate the flood of data generated by efforts such as the 1000 Genomes Project, can be met with new indexing strategies [16]. However, this is normally at the cost of not allowing complex alignments, including gaps.

For natural inbred strains of Arabidopsis, the high level of individual differences constitutes a substantial challenge. It has been estimated that several percent of the reference genome are either missing or very divergent in other strains of this species, which features homozygous genomes that are 25 times smaller than a haploid human genome [30, 31]. This results in regions inaccessible to simple short-read alignments, in particular for alignment algorithms that do not accommodate many mismatches and gaps. New approaches supporting accurate alignments even in highly divergent regions are therefore sorely needed.

We note that the information derived from resequenced individual genomes is in itself useful for subsequent resequencing efforts, especially when the latter are at lower sequence coverage than the earlier efforts. Incorporating known polymorphisms increases the genome space against which the sample reads are aligned, which should greatly improve the mapping results. For example, an alignment suggesting a string of deleted bases in the focal genome becomes much more reliable if this deletion is known to exist in the population. The incorporation of such missing or inserted bases in the target/reference sequence not only would decrease the complexity of the alignments, but also would reduce sequencing costs, as more reads can be placed on the genome.

Apart from these practical reasons, aligning against only a single reference biases the analysis toward a comparison within the sequence space highly conserved with the reference. Taking into account all known genome variants would reduce this bias. Aligning reads against multiple genomes separately increases computation time and storage space and introduces new problems of merging and interpreting redundant results.

Here we present a new short-read alignment algorithm, GenomeMapper, which performs simultaneous alignments of short reads against multiple genomes. GenomeMapper assures high alignment quality, while competing in runtime with other short-read alignment tools. This is achieved by representing multiple genomes with a novel hash-based graph data structure against which the reads are aligned. To our knowledge, this constitutes the first approach for aligning a sequence against a graph of sequences rather than aligning two linear sequences. We also propose the first standards to tackle the problems arising from multiple references. GenomeMapper is currently the tool of choice for the Arabidopsis 1001 Genomes Project [32, 33], and the default alignment option of the short-read analysis pipeline SHORE [2]. GenomeMapper has been used to analyze sequence reads derived from bacterial, plant, invertebrate, and mammalian genomes. To demonstrate the impact of adopting multiple genomes as the short-read alignment target, we describe the construction of a multiple genome sequence graph based on published polymorphisms of Arabidopsis [2]. We present the alignment and consensus sequence analysis of the Est-1 strain by using this graph and compare the results with the conventional approach of aligning the same set of reads against a single reference. We discuss the implications of our work for the analysis of more-complex reference sequences.


Multiple biological sequence alignment in heterogeneous multicore clusters with user-selectable task allocation policies

Multiple Sequence Alignment (MSA) is an important problem in Bioinformatics that aims to align more than two sequences in order to emphasize similarity regions. This problem is known to be NP-Hard, so heuristic methods are used to solve it. DIALIGN-TX is an iterative heuristic method for MSA that generates alignments by concatenating ungapped regions with high similarity. Usually, the first phase of MSA algorithms is parallelized by distributing several independent tasks among the nodes. Even though heterogeneous multicore clusters are becoming very common nowadays, very few task allocation policies were proposed for this type of architecture. This paper proposes an MPI/OpenMP master/slave parallel strategy to run DIALIGN-TX in heterogeneous multicore clusters, with several allocation policies. We show that an appropriate choice of the master node has great impact on the overall system performance. Also, the results obtained in a heterogeneous multicore cluster composed of 4 nodes (30 cores), with real sequence sets show that the execution time can be drastically reduced when the appropriate allocation policy is used.

Ceci est un aperçu du contenu de l'abonnement, accessible via votre institution.