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

View of /FigKernelScripts/svr_function_of.pl

Parent Directory Parent Directory | Revision Log Revision Log

Revision 1.4 - (download) (as text) (annotate)
Fri Dec 11 21:54:44 2009 UTC (10 years, 5 months ago) by disz
Branch: MAIN
CVS Tags: rast_rel_2010_0526, rast_rel_2010_0118
Changes since 1.3: +4 -0 lines
SAS component

use strict;
use Data::Dumper;
use Carp;

# This is a SAS Component

=head1 svr_function_of

Get functions of protein-encoding genes

Example: svr_all_features 3702.1 peg | svr_function_of

would produce a 2-column table.  The first column would contain
PEG IDs for genes occurring in genome 3702.1, and the second
would contain the functions of those genes.

The standard input should be a tab-separated table (i.e., each line 
is a tab-separated set of fields).  Normally, the last field in each
line would contain the PEG for which functions are being requested.
If some other column contains the PEGs, use

    -c N

where N is the column (from 1) that contains the PEG in each case.

This is a pipe command. The input is taken from the standard input, and the
output is to the standard output.

=head2 Command-Line Options

=item -c Column

This is used only if the column containing PEGs is not the last.

=head2 Output Format

The standard output is a tab-delimited file. It consists of the input
file with an extra column added (the function associated with the PEG).


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

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

my $column;
while ($ARGV[0] && ($ARGV[0] =~ /^-/))
    $_ = shift @ARGV;
    if    ($_ =~ s/^-c//) { $column       = ($_ || shift @ARGV) }
    else                  { die "Bad Flag: $_" }

my @lines = map { chomp; [split(/\t/,$_)] } <STDIN>;
if (! $column)  { $column = @{$lines[0]} }
my @fids = map { $_->[$column-1] } @lines;

my $functions = $sapObject->ids_to_functions(-ids => \@fids);
foreach $_ (@lines)
    print join("\t",@$_,$functions->{$_->[$column-1]}),"\n";

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3