This file is a simple tabbed-delimited description of the nodes. The column names are pretty much self-explanatory. Note however that node lengths are given in k-mers. To obtain the length in nucleotides of each node you simply need to add k − 1, where k is the word-length used in velveth.

I don't understand the paragraph. Let's say k==10, each node in the graph would have a length of 10. Why do we have to add k-1 to convert it? The length in nucleotides should also be k! In my example, each node would have a length in nucleotides of 10 (==k).

The nodes in the stats.txt file refer to the final graph after merging unambiguous paths (parts of the De Bruijn graph that do not split/merge) into single nodes. This no longer a De Bruin graph. And, now the lengths of the new nodes is the number of nodes from the De Bruin graph that went into that node in the final graph. But each node in the De Bruijn graph only represents one base (the overlap between that kmer and the previous one), so to derive the sequence length, you have to add k-1. There should really be a drawing to explain this, may one day I'll make one (as I need to explain this during my course on assembly).

When using Bruijn graphs, the kmer o lenght of K must be always an odd value. That way the program can distinguish palindromic sequences (think about creating the reverse complementary of GAATTC (odd node) or GAATTCA (even node)

The Bruijn graphs then takes from the nodes the first base (therefore k-1) and look for the next node/s starting with the second base. If node is GAATTCA, it looks for all nodes starting by AATTCAX, then adding X to the assembled sequence

I am pretty sure you will undestand how the der Bruijn graphs work if you look a little bit deeply into internet

Brilliant. That explains everything.