NAME

Bio::Community::Tools::IdConverter - Various methods to convert member ID

SYNOPSIS

use Bio::Community::Tools::IdConverter;

# Add member description to its ID
my $converter = Bio::Community::Tools::IdConverter->new(
   -metacommunity     => $meta,
   -member_attr       => 'desc',
   -conversion_method => 'append',
);
my $meta_by_otu = $converter->get_converted_meta;

# Replace by IDs given in a file
$converter = Bio::Community::Tools::IdConverter->new(
   -metacommunity => $meta,
   -cluster_file  => 'gg_99_otu_map.txt',
);
$meta_by_otu = $converter->get_converted_meta;

DESCRIPTION

Convert the ID of members given in a metacommunity based on another member attribute, such as its description, or based on IDs provided in a file. This file can be a Greengenes OTU cluster file, a BLAST file, or a QIIME taxonomic assignment file. A new metacommunity containing members with converted IDs is returned.

Note that when given a files, this script expects high-quality results. No quality processing is done and only the first match assigned to a member is kept.

AUTHOR

Florent Angly florent.angly@gmail.com

SUPPORT AND BUGS

User feedback is an integral part of the evolution of this and other Bioperl modules. Please direct usage questions or support issues to the mailing list, bioperl-l@bioperl.org, rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.

If you have found a bug, please report it on the BioPerl bug tracking system to help us keep track the bugs and their resolution: https://redmine.open-bio.org/projects/bioperl/

COPYRIGHT

Copyright 2011-2014 by Florent Angly <florent.angly@gmail.com>

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.1 or, at your option, any later version of Perl 5 you may have available.

APPENDIX

The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _

new

Function: Create a new Bio::Community::Tool::IdConverter object
Usage   : my $converter = Bio::Community::Tool::IdConverter->new(
             -metacommunity => $meta,
             -member_attr   => 'desc',
          );
          # or
          my $converter = Bio::Community::Tool::IdConverter->new(
             -metacommunity => $meta,
             -cluster_file  => '99_otu_map.txt',
          );
          # or
          my $converter = Bio::Community::Tool::IdConverter->new(
             -metacommunity => $meta,
             -blast_file    => 'blast_res.tab',
          );
          # or
          my $converter = Bio::Community::Tool::IdConverter->new(
             -metacommunity  => $meta,
             -taxassign_file => 'rep_set_tax_assignments.txt',
          );
Args    : -metacommunity  : See metacommunity().
          And ones of:
          -member_attr    : See member_attr().
          -cluster_file   : See cluster_file().
          -blast_file     : See blast_file().
          -taxassign_file : See taxassign_file().
Returns : a Bio::Community::Tools::IdConverter object

metacommunity

Function: Get/set communities, given as metacommunity, to summarize.
Usage   : my $meta = $converter->metacommunity;
Args    : A Bio::Community::Meta object
Returns : A Bio::Community::Meta object

member_attr

Function: Get / set whether member ID should be converted using the value of
          another attribute, e.g. the member's description. Replacing member ID
          by its description is useful when importing data from formats that do
          not explicitly represent member ID, e.g. from 'generic' to 'qiime'.
Usage   : $converter->member_attr('id');
Args    : member attribute, e.g. 'desc' (see C<Bio::Community::Member>)
Returns : member attribute

cluster_file

Function: Get / set the tab-delimited file that defines the OTU clusters. The
          columns are: OTU ID, ID of the representative sequence, IDs of the
          other sequences in the OTU. For example:

              0	367523
              1	187144
              2	544886	544649
              3	310669
              4	355095	310677	347705	563209

          The OTU files distributed by Greengenes use this format (e.g.,
          99_otu_map.txt).
Usage   : $converter->cluster_file('99_otu_map.txt');
Args    : OTU cluster file name
Returns : OTU cluster file name

blast_file

Function: Get / set the tab-delimited BLAST file that defines the best
          similarity. This type of file generally has 12 columns and the first
          two should be the member ID and the ID of sequence with the best
          similarity. For example:

          OTU_4   JN647692.1.1869 99.6    250     1       0       1       250     1       250     *       *
          OTU_12  655879  94.4    250     14      0       1       250     1       250     *       *

Usage   : $converter->blast_file('blastn_res.tab');
Args    : BLAST file name
Returns : BLAST file name

taxassign_file

Function: Get / set the tab-delimited file that defines the OTU taxonomic
          assignemts. The first four columns (out of 12) should be: OTU ID,
          taxonomic string, E-value, taxonomic ID. For example:

          345     k__Bacteria; p__Actinobacteria; c__Actinobacteria; o__Actinomycetales; f__Propionibacteriaceae; g__Propionibacterium; s__acnes  5e-138  1042485 95.67   300     13      0       1       300     878     579
          346     k__Bacteria; p__Firmicutes; c__Bacilli; o__; f__; g__; s__      8e-134  1064834 99.59   245     1       0       1       245     909     665
          347     k__Bacteria; p__Proteobacteria; c__Gammaproteobacteria; o__Pseudomonadales; f__Pseudomonadaceae; g__Pseudomonas; s__    2e-103  959954  98.99   198     2       0       103     300     718     521

          The taxonomic assignment files generated by QIIME (rep_set_tax_assignments.txt)
          follow this format.
Usage   : $converter->taxassign_file('rep_set_tax_assignments.txt');
Args    : taxonomic assignment file name
Returns : taxonomic assignment file name

conversion_method

Function: Get / set how to convert IDs, i.e. either replace the existing ID
          (the default), prepend in front of it, or append after it.
Usage   : $converter->conversion_method('prepend');
Args    : conversion method, 'replace', 'prepend' or 'append'
Returns : conversion method

conversion_separator

Function: Get / set the string used to construct the ID when using the 'append'
          or 'prepend' conversion method, '_' by default
Usage   : $converter->conversion_separator(' ');
Args    : any string to use as conversion separator
Returns : the string used as conversion method

get_converted_meta

Function: Convert the communities and return the corresponding metacommunity.
Usage   : my $meta_by_otu = $converter->get_converted_meta;
Args    : None
Returns : A Bio::Community::Meta object