hammerlab/guacamole — pull request #196 by ryan-williams (2014-10-22 21:03:05+00:00)
Title: add GenomeSubstrings command

this is a sort of one-off guacamole command I wrote yesterday that lets you explore the numbers of occurrences of fixed-length substrings in a `fasta` file that has been converted to ADAM format.

It seemed reasonable enough to add to the repo, and I have a few ideas for improvements that I will get to eventually:
* better docs
* handle raw `.fasta` files (just delegate out to the ADAM conversion?)
* actually compute nullomers for the given length, rather than letting the user infer them from whether the count it prints is `4^N`
* count substrings on the reverse strand!
* display counts per-strand as well as in aggregate
* operate over multiple lengths, e.g. `,11` for all lengths from `[1, 11]` (maxlen 1 == "how many of each base are there?")

Eventually I was imagining assembling some kind of prefix- or suffix-trees / search indices for interactive alignment tools, but that's way further down the line obviously, just putting these ideas out for context of adding non-variant-caller commands to the codebase.

I've put sample output for lengths 4 through 11 (the first length at which there are nullomers) [here](https://www.dropbox.com/sh/x9rp253cuy597d9/AAARDyiCP2cif-XrQeaolmHsa?dl=0), if you're curious.