Aperçu
L’analyse K-mer décompose les séquences biologiques en toutes les sous-chaînes possibles d’une longueur k fixe et compte leurs fréquences. Cette technique simple mais puissante capture les propriétés de composition des génomes et des transcriptomes sans nécessiter d’alignement, ce qui la rend efficace sur le plan informatique et sans référence. Les distributions de fréquence K-mer révèlent la taille du génome, l’hétérozygotie, le contenu des répétitions et les taux d’erreur de séquençage à partir des lectures brutes avant toute étape d’assemblage. Le choix de k implique un compromis : les petites valeurs de k (k < 20) fournissent des décomptes robustes mais un pouvoir discriminant limité, tandis que les grandes valeurs de k (k > 50) offrent une spécificité élevée mais une couverture plus faible.
Concepts clés
Le spectre k-mer: un histogramme des fréquences d’occurrence de k-mer, suit une distribution de type Poisson dans les données idéales. Les k-mers erronés dus à des erreurs de séquençage apparaissent sous forme de singletons (fréquence 1), tandis que les véritables k-mers génomiques forment un pic à la profondeur de couverture attendue. Les répétitions génomiques produisent des pics supplémentaires à des multiplicités plus élevées. Des outils tels que Jellyfish et KMC comptent efficacement les k-mers à l’aide de tables de hachage ou de tableaux de suffixes. Au-delà du comptage, les méthodes basées sur les k-mer incluent la distance k-mer (la fraction des k-mers partagés entre deux échantillons) pour la phylogénie, la couverture k-mer pour estimer la taille du génome et les spectres k-mer pour la correction d’erreurs en supprimant les k-mers en dessous d’un seuil de couverture.
### Candidatures
L’analyse K-mer fait partie intégrante du contrôle qualité du séquençage de nouvelle génération, détectant la contamination et estimant la couverture avant l’assemblage. Dans génétique bactérienne, les méthodes basées sur le k-mer distinguent les souches par leurs signatures de composition uniques. Le regroupement métagénomique utilise des vecteurs de fréquence k-mer pour regrouper les contigs du même organisme. Les projets Séquençage de l’ADN utilisent le comptage des k-mers pour corriger les erreurs de séquençage en remplaçant les bases erronées qui créent des k-mers basse fréquence.
Protocole pratique
Pour compter les k-mer avec Jellyfish, partez des fichiers FASTQ bruts : jellyfish count -m 21 -s 100M -t 8 -C -o kmers.jf reads.fastq. Paramètres : -m 21 définit la taille du k-mer à 21 (une spécificité et une couverture d’équilibrage par défaut commune), -s 100M définit la taille de hachage initiale (augmentation pour les grands génomes), -C compte les deux brins (k-mers canoniques), -t 8 utilise 8 threads. Pour les grands génomes (humains, ~3 Go), augmentez la taille du hachage : « -s 3G ». Générez un histogramme de fréquence k-mer : jellyfish histo -o kmers.histo kmers.jf. Tracez l’histogramme pour visualiser le spectre k-mer : le premier pic à la fréquence 1 représente les erreurs de séquençage (singletons), le pic principal à la profondeur de couverture attendue représente les k-mers génomiques authentiques, et des pics supplémentaires à des fréquences plus élevées indiquent des séquences répétitives. Estimez la taille du génome à l’aide de la formule : genome_size = total_k_mers / Peak_ Frequency. Par exemple, si le pic principal est à une couverture de 20 × et que le total des k-mers est de 60 millions, alors la taille du génome est ≈ 3 millions de pb. Utilisez GenomeScope (outil Web) pour ajuster un modèle de spectre k-mer et estimer la taille du génome, l’hétérozygotie et le contenu répété. Pour la détection de contamination, exécutez KMC pour les très grands ensembles de données : kmc -k21 -m64 -t8 -ci1 reads.fastq kmc_output workdir. Comparez le spectre k-mer aux signatures de référence connues ; Des k-mers haute fréquence inattendus qui ne correspondent pas au génome attendu peuvent indiquer une contamination bactérienne ou adaptatrice. Pour le regroupement métagénomique, calculez les vecteurs de fréquence k-mer (généralement les fréquences des tétranucléotides, k = 4) dans des fenêtres de 5 Ko le long de contigs assemblés à l’aide de « seqtk comp » ou de scripts personnalisés, puis regroupez les contigs par similarité de composition à l’aide de k-means ou d’un regroupement hiérarchique implémenté dans « MetaBAT2 ». Pour la discrimination des souches, utilisez « Mash » pour calculer les distances k-mer entre les séquences de requêtes et les bases de données de référence : « mash sketch genome.fasta ; mash dist génome.msh référence.msh > distances.txt`. La distance Mash se rapproche du taux de mutation entre les génomes.
ressource : Lab Lexicon K-mer Composition Analyzer