4 # part of the Deobfuscator package
5 # by Laura Kavanaugh and Dave Messina
7 # cared for by Dave Messina <dave-pause@davemessina.net>
9 # POD documentation - main docs before the code
13 deob_detail.cgi - displays a web page of detailed information about a BioPerl method
17 This document describes deob_detail.cgi version 0.0.3
22 This program is designed to be called by deob_interface.cgi. See
23 L</"DESCRIPTION"> for details.
25 To install deob_detail.cgi and the rest of the Deobfuscator package, see the
31 Deob_detail.cgi is called by deob_interface.cgi when a user clicks on a
32 method name. This program extracts the documentation about that method from
33 the Deobfuscator Berkeley DBs and returns it in some simple HTML formatting.
41 =head1 CONFIGURATION AND ENVIRONMENT
43 This program expects to have the 'methods.db' and 'packages.db' files in the
44 same directory as itself. These two files are automatically generated when
45 L<deob_index.pl> is run. If your installation requires that they be in a
46 different location, change the $BerkeleyDB_packages and $BerkeleyDB_methods
47 variables below to be fully qualified paths to the db files.
52 L<version>, L<CGI>, L<Deobfuscator>
55 =head1 INCOMPATIBILITIES
60 =head1 BUGS AND LIMITATIONS
62 No bugs have been reported.
69 User feedback is an integral part of the evolution of this and other
70 Bioperl modules. Send your comments and suggestions preferably to one
71 of the Bioperl mailing lists. Your participation is much appreciated.
73 bioperl-l@bioperl.org - General discussion
74 http://www.bioperl.org/wiki/Mailing_lists - About the mailing lists
78 Report bugs to the Bioperl bug tracking system to help us keep track
79 the bugs and their resolution. Bug reports can be submitted via the
82 http://bugzilla.bioperl.org/
87 L<Deobfuscator>, L<deob_interface.cgi>, L<deob_index.pl>
99 =item Dave Messina C<< <dave-pause@davemessina.net> >>
106 =head1 ACKNOWLEDGMENTS
108 This software was developed originally at the Cold Spring Harbor Laboratory's
109 Advanced Bioinformatics Course between Oct 12-25, 2005. Many thanks to David
110 Curiel, who provided much-needed guidance and assistance on this project.
113 =head1 LICENSE AND COPYRIGHT
115 Copyright (C) 2005-6 Laura Kavanaugh and Dave Messina. All Rights Reserved.
117 This module is free software; you may redistribute it and/or modify it under the same terms as Perl itself. See L<perlartistic>.
122 This software is provided "as is" without warranty of any kind.
127 # Let the code begin...
129 ## HARDCODED VALUES ##
130 # Change these to fit your installation.
132 my $BerkeleyDB_packages = './packages.db';
133 my $BerkeleyDB_methods = './methods.db';
135 ## You shouldn't need to change anything below here ##
137 use version
; $VERSION = qv
('0.0.2');
144 my $packages_ref = Deobfuscator
::open_db
($BerkeleyDB_packages);
145 my $methods_ref = Deobfuscator
::open_db
($BerkeleyDB_methods);
147 # 'method' is the name of the method passed in from deob_interface.cgi
148 my $class_method = param
('method');
150 # Get all of the documentation fields out of the db
152 = Deobfuscator
::get_method_docs
( $methods_ref, $class_method, "title" );
153 if ( $title eq "0" ) { $title = "not documented"; }
156 = Deobfuscator
::get_method_docs
( $methods_ref, $class_method, "usage" );
157 if ( $usage eq "0" ) { $usage = "not documented"; }
159 my $function = Deobfuscator
::get_method_docs
( $methods_ref, $class_method,
161 if ( $function eq "0" ) { $function = "not documented"; }
164 = Deobfuscator
::get_method_docs
( $methods_ref, $class_method, "returns" );
165 if ( $returns eq "0" ) { $returns = "not documented"; }
168 = Deobfuscator
::get_method_docs
( $methods_ref, $class_method, "args" );
169 if ( $args eq "0" ) { $args = "not documented"; }
171 ### Make the output page
175 print start_html
($class_method);
179 = qq{style
="border-collapse:collapse;border:solid black 1px;font-family:verdana;font-size:10px;background-color:lightgrey"};
181 = qq{style
="border-collapse:collapse;border:solid black 1px;font-family:verdana;font-size:10px"};
183 = qq{style
="border-collapse:collapse;border:solid black 1px;font-family:verdana;font-size:14px"};
186 print '<div style="border:solid black 1px; width:100%; height:200; overflow:auto">';
187 print '<table width="100%" $style3>';
188 print "<tr><td colspan=4><center>$class_method</center></td></tr>";
190 my @sections = ('Usage', 'Function', 'Returns', 'Args');
193 foreach my $section ($usage, $function, $returns, $args) {
195 my $section_html = Deobfuscator
::htmlify
($section);
196 print "<tr><td $style1>$sections[$sec_ndx++]</td><td $style2>$section_html</td></tr>\n";
200 print "</table></div>";
206 Deobfuscator
::close_db
($BerkeleyDB_packages);
207 Deobfuscator
::close_db
($BerkeleyDB_methods);