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

View of /FigKernelScripts/svr_reactions_to_roles.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (download) (as text) (annotate)
Fri Mar 4 20:47:26 2011 UTC (8 years, 8 months ago) by parrello
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_release_3_0, mgrast_dev_03252011, 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_10262011, HEAD
New chemistry-based scripts.

use strict;

use Getopt::Long;
use SeedUtils;
use ScriptThing;
use SAPserver;

#
# This is a SAS Component
#


=head1 svr_reactions_to_roles

Takes as input a table containing reaction IDs and 
adds a column giving the roles that implement the reactions

------
Example: svr_all_reactions | svr_reactions_to_roles > table.with.reactions.and.roles

would produce a 2-column table of reaction IDs and the roles that implement each reaction.

------

=back

=head2 Command-Line Options

=over 4

=item -c Column

This is used only if the column containing reaction IDs is not the last.

=back

=head2 Output Format

The standard output is a tab-delimited file. It consists of the input
file with an extra column added (a role that is part of the set that
implements the reaction ID).  Note that this implies that there will
often be multiple output lines for a single input line.

=cut

use SeedUtils;
use SAPserver;
my $sapObject = SAPserver->new();
use Getopt::Long;

my $usage = "usage: svr_reactions_to_roles [-c column]";

my $column;
my $rc  = GetOptions('c=i' => \$column);
if (! $rc) { print STDERR $usage; exit }

while (my @lines = ScriptThing::GetBatch(\*STDIN, 10, $column)) {
    my @reactions = map { $_->[0] } @lines;
    my $reactionsH = $sapObject->reactions_to_roles( -ids => \@reactions );
    for my $line (@lines) {
        my ($rxn, $text) = @$line;
        my $roles = $reactionsH->{$rxn};
        for my $role (@$roles) {
            print "$text\t$role\n";
        }
    }
}


MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3