
De Bruijn graph
A De Bruijn graph is a mathematical tool used in computer science and bioinformatics to analyze sequences, such as DNA or text. It represents overlaps between smaller pieces (called "k-mers") of the sequence. Each node in the graph stands for a k-mer, and edges connect nodes that share a common sequence of length k-1. This structure helps quickly identify how pieces fit together, reconstruct longer sequences from smaller parts, or detect patterns. De Bruijn graphs are especially useful for efficient genome assembly and data compression, by capturing relationships between sequence fragments in a compact way.