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? 
k, will add

On Mon, Dec 8, 2014 at 3:22 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."""
>
> My preference is strong towards having this in the mapping file.
> … <#14a2bff8a8a95d2d_>
> 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
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/biocore/qiime/pull/1760/files#r21491455>.
>