Dysbiosis index

Addition of the microbial dysbiosis index described in [Gevers et al 2014](http://www.ncbi.nlm.nih.gov/pubmed/24629344). This method has been generalized to support other indices in the future as well.

@ElDeveloper, can you review please since you implemented the original approach? 
My preference is strong towards having this in the mapping file.

On (Dec-08-14|13:01), Daniel McDonald wrote:
> > +from biom import load_table
> > +
> > +from qiime.index import compute_index
> > +from qiime.util import parse_command_line_parameters, make_option
> > +
> > +
> > +script_info = {}
> > +script_info[
> > +    'brief_description'] = "Compute a taxonomy-based index"
> > +script_info[
> > +    'script_description'] = """Compute a taxonomy-based index to score each sample in a table. This method is based on the microbial dysbiosis index constructed in Gevers et al. 2014 (http://www.ncbi.nlm.nih.gov/pubmed/24629344)."""
> > +script_info[
> > +    'script_usage'] = [("Example:", "Compute the MD-index", """%prog -i $PWD/table.biom.gz -m md -o table.md.txt"""),
> > +                       ("Example:", "Compute an arbitrary index", """%prog -i $PWD/table.biom.gz --increased p__Firmicutes,p__Fusobacteria --decreased p__Bacteroidetes -o table.custom.txt""")]
> > +script_info[
> > +    'output_description'] = """Two columns, the first being the sample ID and the second being the index value for the sample."""
> 
> I don't really have any strong feelings
> 
> On Mon, Dec 8, 2014 at 1:58 PM, Yoshiki Vázquez Baeza <
> notifications@github.com> wrote:
> 
> > In scripts/compute_index.py:
> >
> > > +from biom import load_table
> > > +
> > > +from qiime.index import compute_index
> > > +from qiime.util import parse_command_line_parameters, make_option
> > > +
> > > +
> > > +script_info = {}
> > > +script_info[
> > > +    'brief_description'] = "Compute a taxonomy-based index"
> > > +script_info[
> > > +    'script_description'] = """Compute a taxonomy-based index to score each sample in a table. This method is based on the microbial dysbiosis index constructed in Gevers et al. 2014 (http://www.ncbi.nlm.nih.gov/pubmed/24629344)."""
> > > +script_info[
> > > +    'script_usage'] = [("Example:", "Compute the MD-index", """%prog -i $PWD/table.biom.gz -m md -o table.md.txt"""),
> > > +                       ("Example:", "Compute an arbitrary index", """%prog -i $PWD/table.biom.gz --increased p__Firmicutes,p__Fusobacteria --decreased p__Bacteroidetes -o table.custom.txt""")]
> > > +script_info[
> > > +    'output_description'] = """Two columns, the first being the sample ID and the second being the index value for the sample."""
> >
> > I just thought it would be convenient because the data would be readily
> > available for Emperor or Pandas. This way you could easily do some
> > fine-grained statistical analysis using the data in your mapping file and
> > this index. If others can comment on this that would be great!
> > … <#14a2bb2762c55419_>
> > On (Dec-08-14|12:55), Daniel McDonald wrote: > > +from biom import
> > load_table > > + > > +from qiime.index import compute_index > > +from
> > qiime.util import parse_command_line_parameters, make_option > > + > > + >
> > > +script_info = {} > > +script_info[ > > + 'brief_description'] = "Compute
> > a taxonomy-based index" > > +script_info[ > > + 'script_description'] =
> > """Compute a taxonomy-based index to score each sample in a table. This
> > method is based on the microbial dysbiosis index constructed in Gevers et
> > al. 2014 (http://www.ncbi.nlm.nih.gov/pubmed/24629344).""" > >
> > +script_info[ > > + 'script_usage'] = [("Example:", "Compute the MD-index",
> > """%prog -i $PWD/table.biom.gz -m md -o table.md.txt"""), > > +
> > ("Example:", "Compute an arbitrary index", """%prog -i $PWD/table.biom.gz
> > --increased p__Firmicutes,p__Fusobacteria --decreased p__Bacteroidetes -o
> > table.custom.txt""")] > > +script_info[ > > + 'output_description'] =
> > """Two columns, the first being the sample ID and the second being the
> > index value for the sample.""" > > Depends what the user wants to do with
> > it. This output can be used with > merge_mapping_files.py so if a user
> > wants to merge it then it should be > pretty straight forward > > On Mon,
> > Dec 8, 2014 at 1:39 PM, Yoshiki Vázquez Baeza < > notifications@github.com>
> > wrote: > In scripts/compute_index.py: > > > +from biom import load_table >
> > > + > > +from qiime.index import compute_index > > +from qiime.util import
> > parse_command_line_parameters, make_option > > + > > + > > +script_info =
> > {} > > +script_info[ > > + 'brief_description'] = "Compute a taxonomy-based
> > index" > > +script_info[ > > + 'script_description'] = """Compute a
> > taxonomy-based index to score each sample in a table. This method is based
> > on the microbial dysbiosis index constructed in Gevers et al. 2014 (
> > http://www.ncbi.nlm.nih.gov/pubmed/24629344).""" > > +script_info[ > > +
> > 'script_usage'] = [("Example:", "Compute the MD-index", """%prog -i
> > $PWD/table.biom.gz -m md -o table.md.txt"""), > > + ("Example:", "Compute
> > an arbitrary index", """%prog -i $PWD/table.biom.gz --increased
> > p__Firmicutes,p__Fusobacteria --decreased p__Bacteroidetes -o
> > table.custom.txt""")] > > +script_info[ > > + 'output_description'] =
> > """Two columns, the first being the sample ID and the second being the
> > index value for the sample.""" > > Should the output be added to the
> > mapping file instead? > > — > Reply to this email directly or view it on
> > GitHub > <https://github.com/biocore/qiime/pull/1760/files#r21483314>. >
> > --- Reply to this email directly or view it on GitHub:
> > https://github.com/biocore/qiime/pull/1760/files#r21484587
> >
> > —
> > Reply to this email directly or view it on GitHub
> > <https://github.com/biocore/qiime/pull/1760/files#r21484852>.
> >
> 
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/biocore/qiime/pull/1760/files#r21485141