K-mer
Le terme k-mer fait gĂ©nĂ©ralement rĂ©fĂ©rence Ă toutes les sous-chaĂźnes de longueur k qui sont contenues dans une chaĂźne de caractĂšre. En gĂ©nomique computationnelle, les k-mers font rĂ©fĂ©rence Ă toutes les sous-sĂ©quences (de longueur k) Ă partir d'une lecture obtenues par sĂ©quençage de l'ADN. La quantitĂ© de k-mers possible Ă©tant donnĂ© une chaĂźne de caractĂšres de longueur L est tandis que le nombre de k-mers Ă©tant donnĂ© n possibilitĂ©s (4 dans le cas de l'ADN par exemple ACTG) est . Les k-mers sont gĂ©nĂ©ralement utilisĂ©s lors de l'assemblage de sĂ©quences[1], mais peuvent Ă©galement ĂȘtre utilisĂ©s dans l'alignement de la sĂ©quence. Dans le contexte du gĂ©nome humain, les k-mers de diffĂ©rentes longueurs ont Ă©tĂ© utilisĂ©s pour expliquer la variabilitĂ© dans les taux de mutation[2] - [3].
L'assemblage de séquences
Aperçu
Dans l'assemblage de sĂ©quence, les k-mers sont gĂ©nĂ©ralement utilisĂ©s lors de la construction de graphiques de De Bruijn. Afin de crĂ©er un Graphe de De Bruijn, les chaĂźnes stockĂ©es dans chaque arĂȘte, de longueur , doivent se chevaucher l'une l'autre sur une longueur afin de crĂ©er un vertex. Les sĂ©quences gĂ©nĂ©rĂ©es Ă partir de mĂ©thode de sĂ©quençage de prochaine gĂ©nĂ©ration ont gĂ©nĂ©ralement diffĂ©rentes longueurs durant une mĂȘme session de lecture. Par exemple, les sĂ©quences lues par la technologie de sĂ©quençage Illumina produit des sĂ©quences pouvant ĂȘtre capturĂ©es par un k-mer de 100. Cependant, le problĂšme avec le sĂ©quençage est qu'une petite fraction de k-mers de 100, des 100-mers, prĂ©sents dans le gĂ©nome sont en fait rĂ©ellement gĂ©nĂ©rĂ©s. Cela est dĂ» Ă des erreurs de lecture, mais de façon plus importante encore, par de simples trous de couverture qui se produisent au cours du sĂ©quençage. Le problĂšme est que ces petites fractions de k-mers "corrompues", violent l'hypothĂšse principale des graphiques de Bruijn, que tous les k-mer issus des sĂ©quences lues doivent se chevaucher aux k-mers dans le gĂ©nome par une superposition de longueur (qui ne peut pas se produire lorsque tous les k-mers ne sont pas prĂ©sents). La solution Ă ce problĂšme est de rĂ©duire la taille de ces k-mers en petits k-mers, tels que les petits k-mers reprĂ©sentent tous les k-mers de plus petite taille prĂ©sents dans le gĂ©nome. En outre, le fractionnement des k-mers en plus petites tailles aide Ă©galement Ă soulager le problĂšme des diffĂ©rentes longueurs de lecture initiale.
Un exemple de la solution de diviser la sĂ©quence lue en petits k-mers est montrĂ© dans la figure 1. Dans cet exemple, les sĂ©quences de 5 nuclĂ©otides ne tiennent pas compte de tous les k-mers de longueur 7 du gĂ©nome, et dans ce cas, un graphe de de Bruijn ne peut pas ĂȘtre crĂ©Ă©. Mais quand ils sont divisĂ©s en k-mers de longueur 4, les sous-sĂ©quences rĂ©sultantes sont assez nombreuses et variĂ©es pour reconstituer le gĂ©nome Ă l'aide d'un graphe de de Bruijn.
Le choix de la taille des k-mers
Le choix de la taille des k-mers a beaucoup d'effets diffĂ©rents sur l'assemblage des sĂ©quences. Ces effets varient grandement entre les plus petites tailles de k-mers et les tailles de k-mers plus grandes. Par consĂ©quent, la comprĂ©hension des diffĂ©rentes tailles de k-mers doit ĂȘtre connue afin de choisir une taille appropriĂ©e, qui Ă©quilibre les effets. Les effets des tailles sont dĂ©crits ci-dessous.
Une faible taille de k-mers
- Une diminution de la taille des k-mers va diminuer la diversité de séquences stockées dans le graphique dû à la diminution des possibilités de combinaison, et en tant que telle, aide à diminuer la quantité d'espace nécessaire pour stocker une séquence d'ADN.
- Avoir une plus petite taille permettra d'augmenter les chances que tous les k-mers se chevauchent, et en tant que telles, les sous-séquences dans le but de construire le graphe de de Bruijn[4].
- Cependant, en ayant une taille de k-mers plus petite, on risque d'avoir de nombreux chevauchements dans le graphe pour un seul k-mer. Par consĂ©quent, la reconstruction du gĂ©nome sera plus difficile car il y aura un nombre plus Ă©levĂ© de chemins ambigus dĂ» Ă la plus grande quantitĂ© de k-mers qui devront ĂȘtre parcourus.
- L'information est perdue lorsque les k-mers deviennent plus petits.
- E. g. Les possibilités de combinaison pour AGTCGTAGATGCTG sont inférieures à celles pour ACGT, et en tant que tel, le premier est porteur d'un plus grand nombre d'informations (reportez-vous à l'entropie (la théorie de l'information) pour plus d'informations).
- De plus petits k-mers posent le problĂšme de ne pas ĂȘtre en mesure de rĂ©soudre certains points dans l'ADN, comme dans les microsatellites oĂč plusieurs rĂ©pĂ©titions peuvent se produire. C'est Ă cause du fait que les petits k-mers auront tendance Ă revenir entiĂšrement sur eux dans ces rĂ©gions de rĂ©pĂ©tition et il est donc difficile de dĂ©terminer le nombre de rĂ©pĂ©titions qui ont effectivement eut lieu.
- E. g. Pour la sous-suite ATGTGTGTGTGTGTACG, le nombre de rĂ©pĂ©titions de la TG seront perdues si un k-mer de taille de moins de 16 est choisi. C'est parce que la plupart des k-mers vont revenir dans la rĂ©gion rĂ©pĂ©tĂ©e et que le nombre de rĂ©pĂ©titions du mĂȘme k-mer sera perdu au lieu de mentionner la quantitĂ© de rĂ©pĂ©titions.
Une grande taille de k-mers
- Avoir de plus grande taille de k-mers augmentera la quantitĂ© d'arĂȘtes dans le graphe, ce qui, Ă son tour, va augmenter la quantitĂ© de mĂ©moire nĂ©cessaire pour stocker la sĂ©quence d'ADN.
- En augmentant la taille de la k-mer, le nombre de sommets diminuera également. Cela va aider à la construction du génome puisqu'il y aura moins de chemins à parcourir dans le graphique.
- Une plus grande taille de k-mer court également un risque plus élevé de ne pas aller vers l'extérieur des sommets de chaque k-mer. C'est pour cette raison qu'une plus grande taille de k-mers augmente le risque qu'ils ne se chevauchent pas avec un autre k-mer sur une longueur de . Par conséquent, cela peut conduire à une non-continuité dans la séquence lue, et en tant que tel, peut conduire à une plus grande quantité de petits contigs.
- Une plus grande taille de k-mer aide à atténuer le problÚme des petites régions de répétition. Cela est dû au fait que le k-mer contiendra un équilibre entre la région de répétition et la séquences d'ADN (étant donné qu'ils sont d'une assez grande taille) qui peuvent aider à résoudre le nombre de répétitions dans ce domaine particulier.
Les applications des k-mers dans l'analyse bio-informatique
La frĂ©quence d'un ensemble de k-mers, dans le gĂ©nome d'une espĂšce, dans une rĂ©gion gĂ©nomique, ou dans une classe de sĂ©quences, peut ĂȘtre utilisĂ©e en tant que "signature" de sous-sĂ©quence. La comparaison de ces frĂ©quences est mathĂ©matiquement plus facile que l'alignement de la sĂ©quence, et est une mĂ©thode importante dans l'alignement sans l'analyse de la sĂ©quence. Elle peut Ă©galement ĂȘtre utilisĂ©e comme une premiĂšre Ă©tape d'analyse avant un alignement.
- la sĂ©paration de diffĂ©rentes espĂšces dans un mĂ©lange de matĂ©riel gĂ©nĂ©tique (mĂ©tagĂ©nomique, microbiome)[5] - [6];des phases/cadres d'information peut ĂȘtre ajoutĂ©e[7]
- Barcoding moléculaire (DNA barcoding) des espÚces[8] - [9]
- assemblage de novo[10]
- classification haplogroupe mitochondriale humaine [11]
- détecter le mauvais assemblage de génome[12]
- la détection de novo de séquence répétée comme élément transposable[13]
- caractĂ©riser une protĂ©ine de liaison Ă motif de sĂ©quence[14]. En plus de k-mer, incisĂ©s k-mers (Ă©galement nommĂ© Ă©cartement q-grammes[15] ou espacĂ©es graines[16]) peut Ă©galement ĂȘtre utilisĂ© [17]
- l'identification de mutations ou d'un polymorphisme à l'aide de séquençage de prochaine génération des données[18]
- la caractérisation de l'ßlot CpG par les régions flanquantes [19] - [20]
- détecter des transferts horizontaux [21]
- détecter la contamination bactérienne dans un génome eucaryote assemblé [22] - [23]
- détecter la recombinaison site [24]
- en utilisant la fréquence des k-mers par rapport à la profondeur k-mer à l'estimation de la taille du génome [25] - [26]
- estimation de la proportion d'ARN séquencé [27]
Pseudocode
DĂ©terminer la taille de lecture des k-mers peut ĂȘtre fait simplement en bouclant sur la taille de la longueur de la chaĂźne, en augmentant progressivement la position dans la chaĂźne et en prenant chaque sous-chaĂźne de longueur k. Le pseudo-code qui rĂ©alise cette opĂ©ration est comme suit :
fonction K-mer(Chaine_caractere, k) /* k = longueur de chaque k-mer */
n = longueur(Chaine_caractere)
/* Boucle sur la longueur de Chaine_caractere jusque la longueur Chaine_caractere - taille des k-mer */
Pour i = 1 jusque n-k+1 inclus fait :
/* Sort chaque K-mer de longueur k, de la position i Ă la position i+k dans Chaine_caractere */
sortie Chaine_caractere[position i -> position i+k]
Fin de Boucle
Fin de fonction
En python3, il sera possible d'implémenter le code comme suit :
def kmer(sequence, k) : # sequence correspond a la sequence ADN, k correspond a la longueur des k-mer
n = len(sequence)
kmers = []
for i in range(0,n-k) :
kmers.append(sequence[i:i+k])
return kmers
Exemples
Voici quelques exemples montrant les possibles k-mers (en spécifiant une valeur de k) à partir de séquences d'ADN:
Lecture: AGATCGAGTG 3-mers: AGA GAT ATC TCG CGA GAG AGT GTG
5-mers: AGATC GATCG ATCGA TCGAG CGAGT
Lecture: GTAGAGCTGT 5-mers: GTAGA TAGAG AGAGC GAGCT AGCTG GCTGT
Références
- P. Compeau, P. Pevzner et G. Teslar, « How to apply de Bruijn graphs to genome assembly », Nature Biotechnology, vol. 29, no 11,â , p. 987â991 (PMID 22068540, PMCID 5531759, DOI 10.1038/nbt.2023)
- Kaitlin E Samocha, Elise B Robinson, Stephan J Sanders et Christine Stevens, « A framework for the interpretation of de novo mutation in human disease », Nature Genetics, vol. 46, no 9,â , p. 944â950 (ISSN 1061-4036, PMID 25086666, PMCID 4222185, DOI 10.1038/ng.3050)
- Varun Aggarwala et Benjamin F Voight, « An expanded sequence context model broadly explains variability in polymorphism levels across the human genome », Nature Genetics, vol. 48, no 4,â , p. 349â355 (ISSN 1061-4036, PMID 26878723, PMCID 4811712, DOI 10.1038/ng.3511)
- Zerbino, Daniel R. et Birney, Ewan, « Velvet: algorithms for de novo short read assembly using de Bruijn graphs », Genome Research, vol. 18, no 5,â , p. 821â829 (PMID 18349386, PMCID 2336801, DOI 10.1101/gr.074492.107)
- "Rachid Ounit, Steve Wanamaker, Timothy J Close and Stefano Lonardi", « CLARK: fast and accurate classification of metagenomic and genomic sequences using discriminative k-mers », BMC Genomics, vol. 16,â , p. 236 (PMID 25879410, PMCID 4428112, DOI 10.1186/s12864-015-1419-2)
- Dubinkina, Ischenko, Ulyantsev, Tyakht, Alexeev, « Assessment of k-mer spectrum applicability for metagenomic dissimilarity analysis », BMC Bioinformatics, vol. 17,â , p. 38 (PMID 26774270, PMCID 4715287, DOI 10.1186/s12859-015-0875-7)
- Zhu, Zheng, « Self-organizing approach for meta-genomes », Computational Biology and Chemistry, vol. 53,â , p. 118â124 (PMID 25213854, DOI 10.1016/j.compbiolchem.2014.08.016)
- Chor, Horn, Goldman, Levy, Massingham, « Genomic DNA k-mer spectra: models and modalities », Genome Biology, vol. 10, no 10,â , R108 (PMID 19814784, PMCID 2784323, DOI 10.1186/gb-2009-10-10-r108)
- Meher, Sahu, Rao, « Identification of species based on DNA barcode using k-mer feature vector and Random forest classifier », Gene, vol. 592, no 2,â , p. 316â324 (PMID 27393648, DOI 10.1016/j.gene.2016.07.010)
- Li et al, « De novo assembly of human genomes with massively parallel short read sequencing », Genome Research, vol. 20, no 2,â , p. 265â272 (PMID 20019144, PMCID 2813482, DOI 10.1101/gr.097261.109)
- Navarro-Gomez et al, « Phy-Mer: a novel alignment-free and reference-independent mitochondrial haplogroup classifier », Bioinformatics, vol. 31, no 8,â , p. 1310â1312 (PMID 25505086, PMCID 4393525, DOI 10.1093/bioinformatics/btu825)
- Phillippy, Schatz, Pop, « Genome assembly forensics: finding the elusive mis-assembly », Bioinformatics, vol. 9, no 3,â , R55 (PMID 18341692, PMCID 2397507, DOI 10.1186/gb-2008-9-3-r55)
- Price, Jones, Pevzner, « De novo identification of repeat families in large genomes », Bioinformatics, vol. 21(supp 1),â , i351â8 (PMID 15961478, DOI 10.1093/bioinformatics/bti1018)
- Newburger, Bulyk, « UniPROBE: an online database of protein binding microarray data on proteinâDNA interactions », Nucleic Acids Research, vol. 37(supp 1), no Database issue,â , D77â82 (PMID 18842628, PMCID 2686578, DOI 10.1093/nar/gkn660)
- Better filtering with gapped q-grams, vol. 56, coll. « Lecture Notes in Computer Science » (no 1â2), , 51â70 p. (ISBN 978-3-540-43862-5, DOI 10.1007/3-540-45452-7_19, lire en ligne)
- Keich et al, « On spaced seeds for similarity search », Discrete Applied Mathematics, vol. 138, no 3,â , p. 253â263 (DOI 10.1016/S0166-218X(03)00382-2)
- Ghandi et al, « Enhanced regulatory sequence prediction using gapped k-mer features », PLoS Computational Biology, vol. 10, no 7,â , e1003711 (PMID 25033408, PMCID 4102394, DOI 10.1371/journal.pcbi.1003711, Bibcode 2014PLSCB..10E3711G)
- Nordstrom et al, « Mutation identification by direct comparison of whole-genome sequencing data from mutant and wild-type individuals using k-mers », Nature Biotechnology, vol. 31, no 4,â , p. 325â330 (PMID 23475072, DOI 10.1038/nbt.2515)
- Chae et al, « Comparative analysis using K-mer and K-flank patterns provides evidence for CpG island sequence evolution in mammalian genomes », Nucleic Acids Research, vol. 41, no 9,â , p. 4783â4791 (PMID 23519616, PMCID 3643570, DOI 10.1093/nar/gkt144)
- Mohamed Hashim, Abdullah, « Rare k-mer DNA: Identification of sequence motifs and prediction of CpG island and promoter », Journal of Theoretical Biology, vol. 387,â , p. 88â100 (PMID 26427337, DOI 10.1016/j.jtbi.2015.09.014)
- Jaron, Moravec, Martinkova, « SigHunt: horizontal gene transfer finder optimized for eukaryotic genomes », Bioinformatics, vol. 30, no 8,â , p. 1081â1086 (PMID 24371153, DOI 10.1093/bioinformatics/btt727)
- Delmont, Eren, « Identifying contamination with advanced visualization and analysis practices: metagenomic approaches for eukaryotic genome assemblies », PeerJ, vol. 4,â , e1839 (DOI 10.7717/Fpeerj.1839)
- Bemm et al, « Genome of a tardigrade: Horizontal gene transfer or bacterial contamination? », Proceedings of the National Academy of Sciences, vol. 113, no 22,â , E3054âE3056 (PMID 27173902, PMCID 4896698, DOI 10.1073/pnas.1525116113)
- Wang, Xu, Liu, « Recombination spot identification Based on gapped k-mers », Scientific Reports, vol. 6,â , p. 23934 (PMID 27030570, PMCID 4814916, DOI 10.1038/srep23934, Bibcode 2016NatSR...623934W)
- Hozza, Vinar, Brejova « How big is that genome? estimating genomesize and coverage from k-mer abundance spectra » () (DOI 10.1007/978-3-319-23826-5_20)
âSPIRE 2015 - Lamichhaney et al, « Structural genomic changes underlie alternative reproductive strategies in the ruff (Philomachus pugnax) », Nature Genetics, vol. 48, no 1,â , p. 84â88 (PMID 26569123, DOI 10.1038/ng.3430)
- Patro, Mount, Kingsford, « Sailfish enables alignment-free isoform quantification from RNA-seq reads using lightweight algorithms », Nature Biotechnology, vol. 32, no 5,â , p. 462â464 (PMID 24752080, PMCID 4077321, DOI 10.1038/nbt.2862, arXiv 1308.3700)