[Bio] / FigWebServices / SimPieces.cgi Repository:
ViewVC logotype

View of /FigWebServices/SimPieces.cgi

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (download) (annotate)
Tue Apr 29 08:18:58 2008 UTC (11 years, 6 months ago) by parrello
Branch: MAIN
CVS Tags: mgrast_dev_08112011, rast_rel_2009_05_18, mgrast_dev_08022011, rast_rel_2014_0912, rast_rel_2008_06_18, myrast_rel40, rast_rel_2008_06_16, mgrast_dev_05262011, rast_rel_2008_12_18, mgrast_dev_04082011, rast_rel_2008_07_21, rast_rel_2010_0928, rast_2008_0924, mgrast_version_3_2, mgrast_dev_12152011, mgrast_dev_06072011, rast_rel_2008_09_30, rast_rel_2009_0925, rast_rel_2010_0526, rast_rel_2014_0729, mgrast_dev_02212011, rast_rel_2010_1206, mgrast_release_3_0, mgrast_dev_03252011, rast_rel_2010_0118, mgrast_rel_2008_0924, mgrast_rel_2008_1110_v2, rast_rel_2009_02_05, rast_rel_2011_0119, mgrast_rel_2008_0625, 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, rast_rel_2008_10_09, mgrast_dev_04012011, rast_release_2008_09_29, mgrast_rel_2008_0806, mgrast_rel_2008_0923, mgrast_rel_2008_0919, rast_rel_2009_07_09, rast_rel_2010_0827, mgrast_rel_2008_1110, myrast_33, rast_rel_2011_0928, rast_rel_2008_09_29, mgrast_rel_2008_0917, rast_rel_2008_10_29, mgrast_dev_04052011, mgrast_dev_02222011, rast_rel_2009_03_26, mgrast_dev_10262011, rast_rel_2008_11_24, rast_rel_2008_08_07, HEAD
Changes since 1.4: +2 -2 lines
Fixed. Deprecated ScriptSetup methods are no longer exported by Tracer.

#!/usr/bin/perl -w
#
# Copyright (c) 2003-2006 University of Chicago and Fellowship
# for Interpretations of Genomes. All Rights Reserved.
#
# This file is part of the SEED Toolkit.
#
# The SEED Toolkit is free software. You can redistribute
# it and/or modify it under the terms of the SEED Toolkit
# Public License.
#
# You should have received a copy of the SEED Toolkit Public License
# along with this program; if not write to the University of Chicago
# at info@ci.uchicago.edu or the Fellowship for Interpretation of
# Genomes at veronika@thefig.info or download a copy from
# http://www.theseed.org/LICENSE.TXT.
#


BEGIN {
    # Print the HTML header.
    print "CONTENT-TYPE: text/html\n\n";
}

=head1 Similarity Block Piece Display

This script processes input from the C<SimBlockForm.cgi> script's web page and
produces a list of similarity block pieces that are within a specified distance
if the specified feature.

For debugging purposes, you can specify the B<Trace> parameter to
set the tracing level. So, for example,

    http://myseedurl/CGI/SimPieces.cgi?Trace=3

runs the standard processing script at a trace level of 3. Normally, only the
script itself and B<Tracer> tracing is active; however, you can activate other tracing modules
by appending them to the trace level. Thus,

    http://myseedurl/CGI/SimPieces.cgi?Trace=3%20SimBlocks%20ERDBObject

activates tracing for the similarity block module (C<SimBlocks.pm>) and the data
base object (C<ERDBObject.pm>).

=cut

use strict;
use CGI;
use Tracer;
use PageBuilder;
use SimBlocks;

# Set up this script.
my ($query, $varHash) = Tracer::ScriptSetup();
# Do this next part safely.
eval {
    # Get the incoming feature ID and the distance.
    my $featureID = $query->param("Feature");
    my $distance = $query->param("Distance");
    $varHash->{distance} = $distance;
    $varHash->{source} = $featureID;
    # Get the similarity block and FIG objects.
    my $fig = FIG->new();
    my $simdb = SimBlocks->new();
    # Get the list of pieces.
    my @pieces = $simdb->GetFeatureBlockPieces($fig, [$featureID], $distance);
    # Now we build the rows into a single string using the SimBlockPiecesFragment
    # template.
    my $template = Tracer::GetFile("Html/SimBlockPiecesFragment.html");
    my $rows = "";
    for my $piece (@pieces) {
        # Get the data for the specified block.
        my $blockObject = $simdb->GetBlock($piece->Contig);
        my ($blockName) = $blockObject->Value('GroupBlock(description)');
        $rows .= PageBuilder::Build($template,
                                    { blockID => $piece->Contig,
                                      blockName => $blockName,
                                      start => $piece->Left,
                                      end => $piece->Right,
                                      len => $piece->Length },
                                    "Html");
    }
    # Put all this data into the variable hash.
    $varHash->{rows} = $rows;
};
# Check for an error from the EVAL.
if ($@) {
    Trace("Script error: $@") if T(0);
}
Tracer::ScriptFinish("Html/SimBlockPieces.html", $varHash);


1;

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3