1. A computer implemented method for determining the sequence of a nucleic acid comprising: a) receiving, using a processor, a collection of data strings of nucleic acid sequence data from a nucleic acid sequence dataset wherein said data strings comprise a plurality of characters, b) generating, using the processor, a first Burrows Wheeler transform on a first collection of characters of nucleic acid sequence data from the nucleic acid sequence dataset, wherein the first collection of characters comprises a first character from each of said data strings, c) merging, using the processor, an untransformed second collection of characters of nucleic acid sequence data from the nucleic acid sequence data set with the first Burrows Wheeler transformed characters to form a merged collection of characters, wherein the untransformed second collection of characters comprises a second character from each of said data strings, d) incrementally building, using the processor, a second Burrows Wheeler transform from the merged first Burrows Wheeler transformed characters and the untransformed second collection of characters, and e) determining, using the processor, the sequence of the nucleic acid based on the incrementally built Burrows Wheeler transform of the nucleic acid.