Parent Directory
|
Revision Log
Removed obsolete use clauses.
#!/usr/bin/perl -w =head1 ExportAttributes Export attributes to a tab-delimited file. This method will export attribute data for a single entity type. The three parameters are the entity type, an optional entity instance ID, and an optional key name. SQL-style patterns can be specified for the key name or instance ID. For example, ExportAttributes Feature "fig|100226.1%" "virulen%" will get all virulence-related attributes for features of the C<100226.1> genome. Omitting arguments causes them to be treated like pure wildcards. For example, ExportAttributes Feature would get all attributes for all features. The attributes will be exported to the standard output in tab-delimited format. The currently-supported command-line options are as follows. =over 4 =item user Name suffix to be used for log files. If omitted, the PID is used. =item trace Numeric trace level. A higher trace level causes more messages to appear. The default trace level is 2. Tracing will be to a C<trace>I<User>C<.log> file in the FIG temporary directory, where I<User> is the value of the B<user> option above. A bare number will send trace to the standard output as well as the trace log file. To prevent this, use a minus sign. Thus, C<3> will trace into the standard output, but C<3-> will only go to the log file. Specify C<E> to use emergency tracing. =item sql If specified, turns on tracing of SQL activity. =item background Save the standard and error output to files. The files will be created in the FIG temporary directory and will be named C<err>I<User>C<.log> and C<out>I<User>C<.log>, respectively, where I<User> is the value of the B<user> option above. =item h Display this command's parameters and options. =item phone Phone number to message when the script is complete. =back =cut use strict; use Tracer; use Cwd; use File::Copy; use File::Path; use FIG; # Get the command-line options and parameters. my ($options, @parameters) = StandardSetup([qw(CustomAttributes RemoteCustomAttributes ERDB) ], { trace => ["2-", "trace level"], phone => ["", "phone number (international format) to call when load finishes"], }, "<entityName> <id> <keyName>", @ARGV); # Set a variable to contain return type information. my $rtype; # Insure we catch errors. eval { # Insure we have an entity name. if (! $parameters[0]) { Confess("No entity name specified. (NOTE: the most common entity names are \"Feature\" and \"Genome\".)"); } else { Trace("Connecting to FIG.") if T(2); my $fig = FIG->new(); # Compute the entity pattern. my $pattern = [$parameters[0]]; if ($parameters[1]) { push @{$pattern}, $parameters[1]; } # Retrieve the attributes. Trace("Calling for attributes.") if T(2); my @attrList = $fig->get_attributes($pattern, $parameters[2]); Trace(scalar(@attrList) . " attribute values returned.") if T(2); for my $row (@attrList) { print join("\t", @{$row}) . "\n"; } Trace("Export complete.") if T(2); } }; if ($@) { Trace("Script failed with error: $@") if T(0); $rtype = "error"; } else { Trace("Script complete.") if T(2); $rtype = "no error"; } if ($options->{phone}) { my $msgID = Tracer::SendSMS($options->{phone}, "ExportAttributes terminated with $rtype."); if ($msgID) { Trace("Phone message sent with ID $msgID.") if T(2); } else { Trace("Phone message not sent.") if T(2); } } 1;
MCS Webmaster | ViewVC Help |
Powered by ViewVC 1.0.3 |