Nesoni
Nesoni is a high-throughput sequencing data analysis toolset, which the VBC has developed to cope with the flood of Illumina, 454, and SOLiD data now being produced.
Our work is largely with bacterial genomes, and the design tradeoffs in nesoni reflect this.
Alignment to reference
Nesoni focusses on analysing the alignment of reads to a reference genome. We use the SHRiMP read aligner, as it is able to detect small insertions and deletions in addition to SNPs.
Nesoni can call a consensus of read alignments, taking care to indicate ambiguity. This can then be used in various ways: to determine the protein level changes resulting from SNPs and indels, to find differences between multiple strains, or to produce n-way comparison data suitable for phylogenetic analysis in SplitsTree4.
Alternatively, the raw counts of bases at each position in the reference seen in two different sequenced strains can compared using Fisher's Exact Test.
k-mer and De Bruijn graph tools
Nesoni also includes some highly experimental tools for working with sets of k-mers and De Bruijn graphs. You can:
- Produce a 2D layout of a De Bruijn graph, and interact with it: zoom in to examine details, overlay read-pair data, overlay sequences on top of it (for example, to examine the behaviour of a de-novo assembler such as Velvet).
- Clip a set of reads to remove low-frequency or high-frequency k-mers, or k-mers where there is a more frequent k-mer differing by one SNP.
Documentation
![]() |
This poster, presented at BA2009, gives an overview of Nesoni's capabilities. Nesoni provides specific usage information when run with no parameters. |
Download
26 October 2011:
Note: Version 0.57 fixes a bug in samconsensus that caused excessive discarding of reads (or pairs) with multiple alignments, even if there was a clear best alignment. If you've used a previous version, upgrading will result in more bases called, especially around repeat regions. Sorry.
Nesoni is free software, released under the GPL (version 2).
Requirements
This is sufficient to run the core reference alignement and consensus calling tools, "samshrimp" and "samconsensus". Other components use variously:
- Cython (developed with 0.12.1)
- Numpy (developed with 1.2.1)
- BioPython is required by nesoni consequences, but not the other tools
- processing, if you are using Python 2.5
- matplotlib is required by the kmer tools, but not other tools.
Certain modules will work with PyPy, and thereby run faster, most importantly the core reference alignment tools samshrimp and samconsensus. To install BioPython under PyPy, you may need to disable compilation of its C extrension modules.

