==========
  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.

Nesoni focusses on analysing the alignment of reads to a reference 
genome. Use of the SHRiMP and Bowtie2 read aligners is automated by 
nesoni. We use SHRiMP as it is able to detect small insertions and 
deletions in addition to SNPs. Output from other aligners may be 
imported in SAM format.

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.


~ Requirements
==============

Python 2.7 or higher. Use of PyPy where possible is highly recommended 
for performance.

Python libraries
* Recommended:
  * BioPython [1]
* Optional (used by non-core nesoni tools):
  * matplotlib
  * numpy

External programs:
* Required:
  * SHRiMP or Bowtie2
  * samtools
* Required for VCF based variant calling:
  * Picard [2]
  * Freebayes
* Optional for VCF based variant calling:
  * SplitsTree4

R libraries required by R-based tools (mostly for RNA-seq):
* Required:
  * limma, edgeR from BioConductor
  * seriation
* Optional:
  * goseq from BioConductor
  * NMF


[1] BioPython is used for reading GenBank files.
    Compiled modules may need to be disabled when installing in PyPy.

[2] There does not seem to be a standard way to install .jar files. 
    Nesoni will search for .jar files in directories listed in 
    environment variables $PATH and $JARPATH.


~ Installation
==============

The easy way to install or upgrade:

    pip install -I nesoni

Then type "nesoni" and follow the command to install the R module.

See below for more ways to install nesoni.


 Advanced Installation 
-----------------------

From source, download and untar the source tarball, then:

    python setup.py install

Optional:

    R CMD INSTALL nesoni/nesoni-r


For PyPy it seems to be currently easiest to install nesoni in 
a virtualenv:

    virtualenv -p pypy my-pypy-env
    my-pypy-env/bin/pip install -I biopython 
    my-pypy-env/bin/pip install -I nesoni

You can also set up a CPython virtualenv like this:

    virtualenv my-python-env
    my-python-env/bin/pip install -I numpy 
    my-python-env/bin/pip install -I matplotlib 
    my-python-env/bin/pip install -I biopython 
    my-python-env/bin/pip install -I nesoni


 Installing older versions
---------------------------

The interface and API for nesoni may change between versions (I try to
keep this to a minimum). In order to run a script or python program
that needs an older version, I suggest setting up a virtualenv.

For example, if you want version 0.95:

    virtualenv -p pypy my-old-env
    my-old-env/bin/pip install -I biopython 
    my-old-env/bin/pip install -I nesoni==0.95

(Note: I don't have a neat way to make this work with the R components 
of nesoni.)


~ Using nesoni
==============

Type

    nesoni

for usage instructions.

nesoni can also be used without installing, from the directory in
which you unpacked it:

    python -m nesoni




