[Bio] / FigKernelScripts / svr_otus.pl Repository:
ViewVC logotype

View of /FigKernelScripts/svr_otus.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (download) (as text) (annotate)
Tue Oct 5 02:08:08 2010 UTC (9 years, 1 month ago) by overbeek
Branch: MAIN
CVS Tags: mgrast_dev_08112011, mgrast_dev_08022011, rast_rel_2014_0912, myrast_rel40, mgrast_dev_05262011, mgrast_dev_04082011, mgrast_version_3_2, mgrast_dev_12152011, mgrast_dev_06072011, rast_rel_2014_0729, mgrast_dev_02212011, rast_rel_2010_1206, mgrast_release_3_0, mgrast_dev_03252011, rast_rel_2011_0119, mgrast_release_3_0_4, mgrast_release_3_0_2, mgrast_release_3_0_3, mgrast_release_3_0_1, mgrast_dev_03312011, mgrast_release_3_1_2, mgrast_release_3_1_1, mgrast_release_3_1_0, mgrast_dev_04132011, mgrast_dev_04012011, myrast_33, rast_rel_2011_0928, mgrast_dev_04052011, mgrast_dev_02222011, mgrast_dev_10262011, HEAD
Changes since 1.2: +1 -1 lines
minor fixes

use strict;

use Getopt::Long;
use SeedEnv;

#
# This is a SAS Component
#


=head1 svr_otus

List the names and IDs of all the representative genomes for the organism taxonomic units in
the system.

There is no input.  The output is a file of genome names and genome IDs.

------
Example: svr_otus > complete_genomes.tbl

would produce a 2-column table.  The first column would contain the
names of all representative genomes, and the second the IDs of those genomes.
------

=head2 Command-Line Options

=over 4

=item url

The URL for the Sapling server, if it is to be different from the default.

=back

=head2 Output Format

The standard output is a file where each line contains a genome name and a genome ID.

=cut

my $usage    = "usage: svr_otus [--url=http://...] >output\n";
my $url = '';
my $opted    = GetOptions('url=s', \$url);

if (! $opted) {
    print STDERR $usage;
    exit;
} else {
    # Get the OTU mappings.
    my $sapObject  = SAPserver->new(url => $url);
    my $mappings = $sapObject->representative_genomes();
    my $sets = $mappings->[1];
    # Extract the representative genome IDs.
    my @genomes = map { $sets->{$_}->[0] } keys %$sets;
    # Get the genome names.
    my $genomeHash = $sapObject->genome_names(-ids => \@genomes);
    # Output the results.
    for my $genome (sort { $a <=> $b } keys %$genomeHash) {
        print "$genomeHash->{$genome}\t$genome\n";
    }
}

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3