annotate bin/SDFilesToHTML.pl @ 0:4816e4a8ae95 draft default tip

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 09:23:18 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1 #!/usr/bin/perl -w
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
3 # $RCSfile: SDFilesToHTML.pl,v $
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
4 # $Date: 2015/02/28 20:46:20 $
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
5 # $Revision: 1.50 $
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
6 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
7 # Author: Manish Sud <msud@san.rr.com>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
8 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
9 # Copyright (C) 2015 Manish Sud. All rights reserved.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
10 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
11 # This file is part of MayaChemTools.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
12 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
13 # MayaChemTools is free software; you can redistribute it and/or modify it under
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
14 # the terms of the GNU Lesser General Public License as published by the Free
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
15 # Software Foundation; either version 3 of the License, or (at your option) any
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
16 # later version.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
17 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
18 # MayaChemTools is distributed in the hope that it will be useful, but without
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
19 # any warranty; without even the implied warranty of merchantability of fitness
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
20 # for a particular purpose. See the GNU Lesser General Public License for more
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
21 # details.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
22 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
23 # You should have received a copy of the GNU Lesser General Public License
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
24 # along with MayaChemTools; if not, see <http://www.gnu.org/licenses/> or
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
25 # write to the Free Software Foundation Inc., 59 Temple Place, Suite 330,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
26 # Boston, MA, 02111-1307, USA.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
27 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
28
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
29 use strict;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
30 use FindBin; use lib "$FindBin::Bin/../lib";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
31 use Getopt::Long;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
32 use File::Basename;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
33 use File::Spec;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
34 use Text::ParseWords;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
35 use Benchmark;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
36 use Cwd;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
37 use FileUtil;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
38 use SDFileUtil;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
39 use TextUtil;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
40 use HTMLUtil;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
41
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
42 my($ScriptName, %Options, $StartTime, $EndTime, $TotalTime);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
43
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
44 # Autoflush STDOUT
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
45 $| = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
46
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
47 # Starting message...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
48 $ScriptName = basename($0);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
49 print "\n$ScriptName: Starting...\n\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
50 $StartTime = new Benchmark;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
51
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
52 # Get the options and setup script...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
53 SetupScriptUsage();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
54 if ($Options{help} || @ARGV < 1) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
55 die GetUsageFromPod("$FindBin::Bin/$ScriptName");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
56 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
57
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
58 my(@SDFilesList);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
59 @SDFilesList = ExpandFileNames(\@ARGV, "sdf sd");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
60
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
61 #Make sure appropriate mode specific option values are specified...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
62 print "Processing options...\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
63 my(%OptionsInfo);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
64 ProcessOptions();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
65
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
66 # Collect information about SD files...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
67 print "Checking input SD file(s)...\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
68 my(%SDFilesInfo);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
69 RetrieveSDFilesInfo();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
70 SetupMultipleTablesAndMiscInfo();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
71
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
72 # Generate output files...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
73 my($FileIndex);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
74 if (@SDFilesList > 1) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
75 print "\nProcessing SD files...\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
76 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
77 for $FileIndex (0 .. $#SDFilesList) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
78 if ($SDFilesInfo{FileOkay}[$FileIndex]) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
79 print "\nProcessing file $SDFilesList[$FileIndex]...\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
80 GenerateHTMLTable($FileIndex);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
81 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
82 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
83 print "\n$ScriptName:Done...\n\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
84
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
85 $EndTime = new Benchmark;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
86 $TotalTime = timediff ($EndTime, $StartTime);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
87 print "Total time: ", timestr($TotalTime), "\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
88
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
89 ###############################################################################
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
90
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
91 # Generate HTML table(s)...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
92 sub GenerateHTMLTable {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
93 my($Index) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
94
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
95 if ($SDFilesInfo{MultipleHTMLTables}[$Index]) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
96 GenerateMultipleHTMLTables($Index);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
97 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
98 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
99 GenerateOneHTMLTable($Index);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
100 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
101 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
102
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
103 # Generate one HTML table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
104 sub GenerateOneHTMLTable {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
105 my($Index) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
106 my($SDFile, $TopHTMLDir, $HTMLFile, $StartCmpdNum, $EndCmpdNum, $CSSFile, $CSSRef, $CSSFilePath, $TableNum);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
107
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
108 $HTMLFile = $SDFilesInfo{HTMLRoot}[$Index] . ".html";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
109 $SDFile = $SDFilesList[$Index];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
110
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
111 # Setup data directories...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
112 ($TopHTMLDir) = SetupDataDirs($Index);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
113
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
114 # Setup stylesheet file...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
115 $CSSRef = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
116 if ($Options{stylesheet} =~ /^new$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
117 $CSSFile = $SDFilesInfo{HTMLRoot}[$Index] . ".css"; $CSSRef = ".\/" . "$CSSFile";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
118 $CSSFilePath = "$TopHTMLDir" . "\/" . $CSSFile;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
119 GenerateStyleSheetFile($CSSFilePath);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
120 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
121 elsif ($Options{stylesheet} =~ /^old$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
122 $CSSRef = $Options{stylesheetname};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
123 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
124
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
125 # Set HTML file location...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
126 $HTMLFile = "$TopHTMLDir" . "\/" . $HTMLFile;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
127
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
128 print "Generating HTML file $HTMLFile...\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
129 open HTMLFILE, ">$HTMLFile" or die "Error: Can't open $HTMLFile: $! \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
130 open SDFILE, "$SDFile" or die "Error: Can't open $SDFile: $! \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
131
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
132 # Write out HTML page header...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
133 print HTMLFILE SetupHTMLPageHeader($SDFilesInfo{HTMLTitle}[$Index], $CSSRef, $OptionsInfo{TopHTMLDirStrViewerJSFileRef});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
134
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
135 if ($OptionsInfo{StrViewerJSFileRef}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
136 print HTMLFILE SetupStrViewerJSInitCmd($OptionsInfo{StrViewerType}, $OptionsInfo{TopHTMLDirStrViewerCodeBase});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
137 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
138
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
139 # Setup page title...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
140 if ($OptionsInfo{TitleDisplay}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
141 print HTMLFILE SetupHTMLPageTitle($SDFilesInfo{HTMLTitle}[$Index]);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
142 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
143 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
144 print HTMLFILE SetupHTMLEmptyLines(1);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
145 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
146
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
147 # Start the table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
148 print HTMLFILE SetupHTMLAlignmentBegin("center");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
149 print HTMLFILE SetupHTMLTableHeader($OptionsInfo{TableBorder}, $OptionsInfo{TableCellPadding}, $OptionsInfo{TableCellSpacing});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
150
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
151 # Generate table rows...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
152 $StartCmpdNum = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
153 $EndCmpdNum = $SDFilesInfo{CmpdCount}[$Index];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
154 $TableNum = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
155 GenerateTableRows($Index, $TableNum, $StartCmpdNum, $EndCmpdNum, \*SDFILE, \*HTMLFILE);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
156
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
157 # Finish up the table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
158 print HTMLFILE SetupHTMLTableEnd();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
159 print HTMLFILE SetupHTMLAlignmentEnd("center");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
160
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
161 # Write out HTML page end...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
162 print HTMLFILE SetupHTMLPageEnd($OptionsInfo{FooterMsg});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
163
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
164 close HTMLFILE;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
165 close SDFILE;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
166 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
167
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
168 # Generate multiple tables...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
169 sub GenerateMultipleHTMLTables {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
170 my($Index) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
171 my($TopHTMLDir, $SubHTMLDir, $SDFile, $HTMLFile, $TableNum, $TableCount, $TableIndex, $TableStartCmpdNum, $TableEndCmpdNum, $PrintMsg, $CSSFile, $CSSRef, $CSSFilePath, $NewStyleSheet, $StrViewerCodeBase, $StrViewerJSFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
172
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
173 # Open SD file...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
174 $SDFile = $SDFilesList[$Index];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
175 open SDFILE, "$SDFile" or die "Error: Can't open $SDFile: $! \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
176
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
177 # Set up data directories to hold various html files...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
178 ($TopHTMLDir, $SubHTMLDir) = SetupDataDirs($Index);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
179
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
180 # Create stylesheet file...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
181 $CSSRef = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
182 $NewStyleSheet = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
183 if ($Options{stylesheet} =~ /^new$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
184 $NewStyleSheet = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
185 $CSSFile = $SDFilesInfo{HTMLRoot}[$Index] . ".css";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
186 $CSSFilePath = "$TopHTMLDir" . "\/" . $CSSFile;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
187 GenerateStyleSheetFile($CSSFilePath);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
188 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
189 elsif ($Options{stylesheet} =~ /^old$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
190 $CSSRef = $Options{stylesheetname};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
191 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
192
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
193 $PrintMsg = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
194 # Generate HTML files for all the tables...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
195 $TableCount = $SDFilesInfo{TableCount}[$Index];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
196 for $TableNum (1 .. $TableCount) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
197 $TableIndex = $TableNum - 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
198 $HTMLFile = ${$SDFilesInfo{TableHTMLFiles}[$Index]}[$TableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
199 $TableStartCmpdNum = ${$SDFilesInfo{TableStartCmpdNum}[$Index]}[$TableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
200 $TableEndCmpdNum = ${$SDFilesInfo{TableEndCmpdNum}[$Index]}[$TableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
201
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
202 # Setup file name...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
203 if ($TableNum == 1) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
204 $HTMLFile = "$TopHTMLDir" . "\/" . $HTMLFile;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
205 print "Generating HTML file $HTMLFile...\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
206 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
207 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
208 $HTMLFile = "$SubHTMLDir" . "\/" . $HTMLFile;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
209 if ($PrintMsg) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
210 $PrintMsg = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
211 if ($TableCount == 2) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
212 print "Generating HTML file $HTMLFile...\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
213 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
214 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
215 print "Generating ", ($TableCount - 1), " other HTML files: $SubHTMLDir\/$SDFilesInfo{HTMLRoot}[$Index]\*.html...\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
216 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
217 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
218 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
219 # Setup stylesheet reference...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
220 if ($NewStyleSheet) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
221 $CSSRef = ($TableNum == 1) ? ".\/" : "..\/";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
222 $CSSRef .= $CSSFile;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
223 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
224
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
225 open HTMLFILE, ">$HTMLFile" or die "Error: Can't open $HTMLFile: $! \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
226 # Write out HTML page header...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
227 $StrViewerJSFileRef = ($TableNum == 1) ? $OptionsInfo{TopHTMLDirStrViewerJSFileRef} : $OptionsInfo{SubHTMLDirStrViewerJSFileRef};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
228 print HTMLFILE SetupHTMLPageHeader($SDFilesInfo{HTMLTitle}[$Index], $CSSRef, $StrViewerJSFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
229
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
230 if ($OptionsInfo{StrViewerJSFileRef}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
231 $StrViewerCodeBase = ($TableNum == 1) ? $OptionsInfo{TopHTMLDirStrViewerCodeBase} : $OptionsInfo{SubHTMLDirStrViewerCodeBase};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
232 print HTMLFILE SetupStrViewerJSInitCmd($OptionsInfo{StrViewerType}, $StrViewerCodeBase);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
233 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
234
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
235 # Set up the navigation links for this table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
236 if ($OptionsInfo{NavLinksAtTop}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
237 WriteNavigationLinks($Index, $TableNum, \*HTMLFILE);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
238 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
239 # Setup page title...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
240 if ($OptionsInfo{TitleDisplay}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
241 print HTMLFILE SetupHTMLPageTitle($SDFilesInfo{HTMLTitle}[$Index]);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
242 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
243 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
244 print HTMLFILE SetupHTMLEmptyLines(1);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
245 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
246
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
247 # Start the table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
248 print HTMLFILE SetupHTMLAlignmentBegin("center");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
249 print HTMLFILE SetupHTMLTableHeader($OptionsInfo{TableBorder}, $OptionsInfo{TableCellPadding}, $OptionsInfo{TableCellSpacing});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
250
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
251 # Generate table content...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
252 GenerateTableRows($Index, $TableNum, $TableStartCmpdNum, $TableEndCmpdNum, \*SDFILE, \*HTMLFILE);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
253
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
254 # Finish up the table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
255 print HTMLFILE SetupHTMLTableEnd();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
256 print HTMLFILE SetupHTMLAlignmentEnd("center");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
257
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
258 # Set up the navigation links for this table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
259 if ($OptionsInfo{NavLinksAtBottom}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
260 print HTMLFILE SetupHTMLEmptyLines(1);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
261 WriteNavigationLinks($Index, $TableNum, \*HTMLFILE);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
262 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
263
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
264 # Write out HTML page end...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
265 print HTMLFILE SetupHTMLPageEnd($OptionsInfo{FooterMsg});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
266 close HTMLFILE;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
267 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
268 close SDFILE;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
269
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
270 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
271
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
272 # Generate table content...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
273 sub GenerateTableRows {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
274 my($Index, $TableNum, $StartCmpdNum, $EndCmpdNum, $SDFileRef, $HTMLFileRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
275
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
276 if ($OptionsInfo{StructuresOnlyMode}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
277 WriteRowStructures($Index, $TableNum, $StartCmpdNum, $EndCmpdNum, $SDFileRef, $HTMLFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
278 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
279 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
280 WriteColLabels($Index, $SDFileRef, $HTMLFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
281 WriteRowValues($Index, $TableNum, $StartCmpdNum, $EndCmpdNum, $SDFileRef, $HTMLFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
282 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
283 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
284
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
285 # Create stylesheet file...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
286 sub GenerateStyleSheetFile {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
287 my($CSSFile) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
288 print "Generating stylesheet file $CSSFile...\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
289 open CSSFILE, ">$CSSFile" or die "Error: Can't open $CSSFile: $! \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
290 print CSSFILE SetupHTMLStyleSheetTags();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
291 close CSSFILE;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
292 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
293
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
294 # Write out table header using column labels...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
295 sub WriteColLabels {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
296 my($Index, $SDFileRef, $HTMLFileRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
297
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
298 my(@ColLabels, $Label);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
299 print $HTMLFileRef $SDFilesInfo{TableRowHeaderTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
300
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
301 # Write out structure label...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
302 $Label = "Structure";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
303 print $HTMLFileRef SetupHTMLTableRowHeaderValue($Label);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
304
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
305 # Write out field values..
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
306 @ColLabels = @{$SDFilesInfo{SpecifiedDataFieldLabels}[$Index]};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
307 for $Label (@ColLabels) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
308 print $HTMLFileRef SetupHTMLTableRowHeaderValue($Label);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
309 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
310 print $HTMLFileRef $SDFilesInfo{RowEndTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
311 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
312
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
313 # Write out the rows value...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
314 sub WriteRowValues {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
315 my($Index, $TableNum, $StartCmpdNum, $EndCmpdNum, $SDFileRef, $HTMLFileRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
316 my($BackgroundColor, $FontColor, $RowNum, $CmpdNum, $CmpdString, @CmpdLines, $Label, %DataFieldValues, $Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
317
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
318 $RowNum = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
319 for $CmpdNum ($StartCmpdNum .. $EndCmpdNum) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
320 $RowNum++;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
321 $CmpdString = ReadCmpdString($SDFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
322 if ($OptionsInfo{ShadeRowsStatus}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
323 print $HTMLFileRef ($RowNum % 2) ? $SDFilesInfo{BgFilledOddRowHeaderTags} : $SDFilesInfo{BgFilledEvenRowHeaderTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
324 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
325 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
326 print $HTMLFileRef $SDFilesInfo{RowHeaderTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
327 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
328 @CmpdLines = split "\n", $CmpdString;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
329 %DataFieldValues = GetCmpdDataHeaderLabelsAndValues(\@CmpdLines);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
330
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
331 # Setup structure column...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
332 SetupStructureColumn($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
333 # Write out field values..
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
334 for $Label (@{$SDFilesInfo{SpecifiedDataFieldLabels}[$Index]}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
335 $Value = (IsNotEmpty($DataFieldValues{$Label})) ? $DataFieldValues{$Label} : "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
336 $BackgroundColor = ""; $FontColor = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
337 if ($OptionsInfo{HighlightStatus}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
338 if (exists($OptionsInfo{SpecifiedHighlightDataFieldLabelsMap}{$Label})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
339 ($BackgroundColor, $FontColor) = GetValueHighlightColors($Label, $Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
340 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
341 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
342 print $HTMLFileRef SetupHTMLTableRowDataValue($Value, $BackgroundColor, $FontColor);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
343 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
344 print $HTMLFileRef $SDFilesInfo{RowEndTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
345 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
346 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
347
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
348 # Write only structures...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
349 sub WriteRowStructures {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
350 my($Index, $TableNum, $StartCmpdNum, $EndCmpdNum, $SDFileRef, $HTMLFileRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
351 my($CmpdNum, $CmpdString, $StartRowFlag, $ColNum, $RowNum, $RowBgColor, $RowStartTags, $ColumnHeaderTags, $ColumnEndTags, $CmpdDataFieldValue, $CmpdHTMLFileRef, $Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
352
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
353 $StartRowFlag = 1; $ColNum = 0; $RowNum = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
354 $ColumnHeaderTags = SetupHTMLTableColumnHeader();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
355 $ColumnEndTags = SetupHTMLTableColumnEnd();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
356
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
357 if ($OptionsInfo{StructuresOnlyMode} && !$OptionsInfo{TableBorder} && ($OptionsInfo{OddRowsShadeColor} =~ /^(#ffffff|white)$/i)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
358 print $HTMLFileRef SetupHTMLTableRowHeader($OptionsInfo{RowHAlignment}, $OptionsInfo{TableHeaderRowColor}, $OptionsInfo{RowVAlignment});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
359 $Value = SetupHTMLTableRowDataValue("");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
360 print $HTMLFileRef InsertHTMLTags($Value, "colspan", "$OptionsInfo{StrTableCols}");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
361 print $HTMLFileRef $SDFilesInfo{RowEndTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
362 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
363
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
364 for $CmpdNum ($StartCmpdNum .. $EndCmpdNum) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
365 $CmpdString = ReadCmpdString($SDFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
366 if ($StartRowFlag) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
367 $StartRowFlag = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
368 $RowNum++;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
369 if ($OptionsInfo{ShadeRowsStatus}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
370 print $HTMLFileRef ($RowNum % 2) ? $SDFilesInfo{BgFilledOddRowHeaderTags} : $SDFilesInfo{BgFilledEvenRowHeaderTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
371 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
372 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
373 print $HTMLFileRef $SDFilesInfo{RowHeaderTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
374 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
375 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
376 $ColNum++;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
377
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
378 $CmpdDataFieldValue = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
379 if ($OptionsInfo{CmpdDataField}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
380 my($CmpdDataField, @CmpdLines, %DataFieldValues);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
381 $CmpdDataField = $OptionsInfo{CmpdDataField};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
382 @CmpdLines = split "\n", $CmpdString;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
383 %DataFieldValues = GetCmpdDataHeaderLabelsAndValues(\@CmpdLines);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
384 if (exists($DataFieldValues{$CmpdDataField}) && length($DataFieldValues{$CmpdDataField})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
385 $CmpdDataFieldValue = $DataFieldValues{$CmpdDataField};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
386 if ($OptionsInfo{CmpdDataFieldLabel} =~ /^yes$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
387 $CmpdDataFieldValue = "${CmpdDataField}: ${CmpdDataFieldValue}";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
388 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
389 # Make sure it's not to looong...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
390 if (length($CmpdDataFieldValue) > 30) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
391 $CmpdDataFieldValue = substr($CmpdDataFieldValue, 0, 30) . "...";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
392 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
393 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
394 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
395 if ($CmpdDataFieldValue) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
396 $RowBgColor = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
397 if ($OptionsInfo{ShadeRowsStatus}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
398 $RowBgColor = ($RowNum % 2) ? $OptionsInfo{OddRowsShadeColor} : $OptionsInfo{EvenRowsShadeColor};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
399 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
400 $RowStartTags = SetupHTMLTableRowHeader($OptionsInfo{CmpdDataFieldAlignment}, $RowBgColor, "middle");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
401 # Start a new table in current column...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
402 print $HTMLFileRef $ColumnHeaderTags;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
403 print $HTMLFileRef SetupHTMLAlignmentBegin("center");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
404 print $HTMLFileRef SetupHTMLTableHeader(0, 0, 0);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
405
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
406 if ($OptionsInfo{CmpdDataFieldPosition} =~ /^top$/i ) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
407 # Add an empty row...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
408 print $HTMLFileRef $RowStartTags;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
409 print $HTMLFileRef SetupHTMLTableRowDataValue("");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
410 print $HTMLFileRef $SDFilesInfo{RowEndTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
411
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
412 # Display the label value...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
413 print $HTMLFileRef $RowStartTags;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
414 $CmpdHTMLFileRef = SetupCompoundSummaryFileAndLink($Index, $TableNum, $CmpdString, $CmpdNum);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
415 $Value = SetupHTMLHRef("$CmpdDataFieldValue", $CmpdHTMLFileRef, "Compound Summary");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
416 print $HTMLFileRef SetupHTMLTableRowDataValue($Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
417 print $HTMLFileRef $SDFilesInfo{RowEndTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
418 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
419 # Display the structure...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
420 print $HTMLFileRef SetupHTMLTableRowHeader("center", $RowBgColor, "middle");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
421 SetupStructureDisplay($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
422 print $HTMLFileRef $SDFilesInfo{RowEndTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
423
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
424 if ($OptionsInfo{CmpdDataFieldPosition} =~ /^bottom$/i ) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
425 # Display the label value...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
426 print $HTMLFileRef $RowStartTags;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
427 $CmpdHTMLFileRef = SetupCompoundSummaryFileAndLink($Index, $TableNum, $CmpdString, $CmpdNum);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
428 $Value = SetupHTMLHRef("$CmpdDataFieldValue", $CmpdHTMLFileRef, "Compound Summary");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
429 print $HTMLFileRef SetupHTMLTableRowDataValue($Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
430 print $HTMLFileRef $SDFilesInfo{RowEndTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
431
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
432 # Add an empty row...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
433 print $HTMLFileRef $RowStartTags;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
434 print $HTMLFileRef SetupHTMLTableRowDataValue("");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
435 print $HTMLFileRef $SDFilesInfo{RowEndTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
436 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
437
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
438 print $HTMLFileRef SetupHTMLTableEnd();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
439 print $HTMLFileRef SetupHTMLAlignmentEnd("center");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
440 print $HTMLFileRef $ColumnEndTags;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
441 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
442 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
443 SetupStructureDisplay($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
444 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
445
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
446 if ($ColNum == $OptionsInfo{StrTableCols}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
447 # Finish up the current row and get ready for starting a new row...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
448 print $HTMLFileRef $SDFilesInfo{RowEndTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
449 $ColNum = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
450 $StartRowFlag = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
451 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
452 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
453 if (!$StartRowFlag) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
454 # Finish up an existing row...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
455 my($ColIndex, $Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
456 $Value = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
457 for $ColIndex ($ColNum .. ($OptionsInfo{StrTableCols} - 1) ) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
458 print $HTMLFileRef SetupHTMLTableRowDataValue($Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
459 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
460 print $HTMLFileRef $SDFilesInfo{RowEndTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
461 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
462 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
463
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
464 # Setup structure column...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
465 sub SetupStructureColumn {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
466 my($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
467
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
468 if ($OptionsInfo{DisplayStructure}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
469 SetupStructureDisplay($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
470 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
471 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
472 SetupStructureLink($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
473 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
474 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
475
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
476 # Setup structure display for compound summary page...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
477 sub SetupStructureDisplayForCmpdSummaryPage {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
478 my($Index, $CmpdString, $CmpdNum, $HTMLFileRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
479 my($TableNum, $RowNum);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
480
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
481 # Use table num 0 to force usage of "../mol" prefix for all MOL file references. Row num
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
482 # doesn't matter...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
483 $TableNum = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
484 $RowNum = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
485
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
486 $OptionsInfo{SettingUpCmpdSummaryPage} = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
487
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
488 # Setup size and bgcolor parameters for linking structures...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
489 $OptionsInfo{StrViewerParams}{width} = $OptionsInfo{StrLinkWidth};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
490 $OptionsInfo{StrViewerParams}{height} = $OptionsInfo{StrLinkHeight};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
491 $OptionsInfo{StrViewerParams}{bgcolor} = $OptionsInfo{StrLinkBgColorSpecified};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
492
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
493 SetupStructureDisplay($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
494
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
495 # Reset size and bgcolor parameters back to displaying structures in tables...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
496 $OptionsInfo{StrViewerParams}{width} = $OptionsInfo{StrWidth};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
497 $OptionsInfo{StrViewerParams}{height} = $OptionsInfo{StrHeight};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
498 $OptionsInfo{StrViewerParams}{bgcolor} = $OptionsInfo{StrBgColorSpecified} ? $OptionsInfo{StrBgColorSpecified} : "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
499
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
500 $OptionsInfo{SettingUpCmpdSummaryPage} = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
501 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
502
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
503
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
504 # Setup structure column display...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
505 sub SetupStructureDisplay {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
506 my($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
507 my($Nothing);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
508
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
509 STRVIEWERTYPE: {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
510 if ($OptionsInfo{StrViewerType} =~ /^JME$/i) { SetupJMEDisplay($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef); last STRVIEWERTYPE; }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
511 if ($OptionsInfo{StrViewerType} =~ /^Jmol$/i) { SetupJmolDisplay($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef); last STRVIEWERTYPE; }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
512 if ($OptionsInfo{StrViewerType} =~ /^Chime$/i) { SetupChimeDisplay($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef); last STRVIEWERTYPE; }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
513 if ($OptionsInfo{StrViewerType} =~ /^(Chem3DActiveX|ChemDrawActiveX|ChemDrawPlugIn)$/i) { SetupCambridgeSoftDisplay($OptionsInfo{StrViewerType}, $Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef); last STRVIEWERTYPE; }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
514 if ($OptionsInfo{StrViewerType} =~ /^MarvinView$/i) { SetupMarvinDisplay($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef); last STRVIEWERTYPE; }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
515 if ($OptionsInfo{StrViewerType} =~ /^ViewerActiveX$/i) { SetupViewerAccelrysActiveXDisplay($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef); last STRVIEWERTYPE; }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
516 $Nothing = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
517 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
518 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
519
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
520 # Setup JME display...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
521 sub SetupJMEDisplay {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
522 my($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
523 my($MolString, $AppletBGColor, $Value, $ValueTag, $AppletName, $StrViewerCodeBase);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
524
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
525 $Value = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
526 ($MolString) = split "$SDFilesInfo{MolEndTag}", $CmpdString;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
527 if (IsNotEmpty($MolString)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
528 $AppletBGColor = SetupStructureBGColor($RowNum);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
529 $MolString .= "$SDFilesInfo{MolEndTag}";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
530
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
531 # JME viewer doesn't appear to support "bgcolor" param. So, always use white background for
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
532 # structure cell...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
533 $AppletName = "JME" . $CmpdNum;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
534 $OptionsInfo{StrViewerParams}{name} = $AppletName;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
535 if (!$OptionsInfo{SettingUpCmpdSummaryPage}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
536 if (!$OptionsInfo{StrBgColorSpecified}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
537 $OptionsInfo{StrViewerParams}{bgcolor} = $AppletBGColor;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
538 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
539 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
540 $StrViewerCodeBase = ($TableNum == 1) ? $OptionsInfo{TopHTMLDirStrViewerCodeBase} : $OptionsInfo{SubHTMLDirStrViewerCodeBase};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
541 $Value = SetupStrViewerJMEApplet($MolString, $StrViewerCodeBase, \%{$OptionsInfo{StrViewerParams}});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
542 $ValueTag = SetupHTMLTableRowDataValue($Value, $SDFilesInfo{White});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
543 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
544 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
545 $ValueTag = SetupHTMLTableRowDataValue($Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
546 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
547 if ($OptionsInfo{SettingUpCmpdSummaryPage}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
548 $ValueTag = InsertHTMLTags($ValueTag, ("class", "box"));
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
549 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
550 print $HTMLFileRef $ValueTag;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
551 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
552
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
553 # Setup Marvin display...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
554 sub SetupMarvinDisplay {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
555 my($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
556 my($MolString, $AppletBGColor, $Value, $ValueTag, $AppletName, $StrViewerCodeBase);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
557
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
558 $Value = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
559 ($MolString) = split "$SDFilesInfo{MolEndTag}", $CmpdString;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
560 if (IsNotEmpty($MolString)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
561 $AppletBGColor = SetupStructureBGColor($RowNum);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
562 $MolString .= "$SDFilesInfo{MolEndTag}";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
563
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
564 $AppletName = "MView" . $CmpdNum;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
565 $OptionsInfo{StrViewerParams}{name} = $AppletName;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
566 if (!$OptionsInfo{SettingUpCmpdSummaryPage}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
567 if (!$OptionsInfo{StrBgColorSpecified}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
568 $OptionsInfo{StrViewerParams}{bgcolor} = $AppletBGColor;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
569 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
570 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
571 $StrViewerCodeBase = ($TableNum == 1) ? $OptionsInfo{TopHTMLDirStrViewerCodeBase} : $OptionsInfo{SubHTMLDirStrViewerCodeBase};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
572 $Value = SetupStrViewerMarvinViewApplet($MolString, $StrViewerCodeBase, \%{$OptionsInfo{StrViewerParams}});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
573 $ValueTag = SetupHTMLTableRowDataValue($Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
574 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
575 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
576 $ValueTag = SetupHTMLTableRowDataValue($Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
577 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
578 if ($OptionsInfo{SettingUpCmpdSummaryPage}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
579 $ValueTag = InsertHTMLTags($ValueTag, ("class", "box"));
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
580 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
581 print $HTMLFileRef $ValueTag;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
582 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
583
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
584 # Setup Jmol display...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
585 sub SetupJmolDisplay {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
586 my($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
587 my($MolString, $AppletBGColor, $Value, $ValueTag, $AppletName, $StrViewerCodeBase);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
588
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
589 $Value = ""; $ValueTag = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
590 ($MolString) = split "$SDFilesInfo{MolEndTag}", $CmpdString;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
591 if (IsNotEmpty($MolString)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
592 $AppletBGColor = SetupStructureBGColor($RowNum);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
593 $MolString .= "$SDFilesInfo{MolEndTag}";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
594
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
595 # Make sure MolName line is not empty; otherwise, JMol doesn't display structure...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
596 my(@MolLines) = split "\n", $MolString;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
597 if (IsEmpty($MolLines[0])) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
598 $MolLines[0] = "Cmpd${CmpdNum}";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
599 $MolString = join "\n", @MolLines;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
600 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
601
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
602 # Setup the applet...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
603 $AppletName = "Jmol" . $CmpdNum;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
604 $OptionsInfo{StrViewerParams}{name} = $AppletName;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
605 if (!$OptionsInfo{SettingUpCmpdSummaryPage}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
606 if (!$OptionsInfo{StrBgColorSpecified}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
607 $OptionsInfo{StrViewerParams}{bgcolor} = $AppletBGColor;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
608 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
609 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
610 $StrViewerCodeBase = ($TableNum == 1) ? $OptionsInfo{TopHTMLDirStrViewerCodeBase} : $OptionsInfo{SubHTMLDirStrViewerCodeBase};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
611 $Value = SetupStrViewerJmolApplet($MolString, $StrViewerCodeBase, \%{$OptionsInfo{StrViewerParams}});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
612 $ValueTag = SetupHTMLTableRowDataValue($Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
613 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
614 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
615 $ValueTag = SetupHTMLTableRowDataValue($Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
616 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
617 if ($OptionsInfo{SettingUpCmpdSummaryPage}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
618 $ValueTag = InsertHTMLTags($ValueTag, ("class", "box"));
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
619 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
620 print $HTMLFileRef $ValueTag;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
621 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
622
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
623 # Setup Chime display...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
624 sub SetupChimeDisplay {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
625 my($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
626 my($MolString, $BGColor, $Value, $ValueTag, $MolFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
627
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
628 $Value = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
629 ($MolString) = split "$SDFilesInfo{MolEndTag}", $CmpdString;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
630 if (IsNotEmpty($MolString)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
631 $BGColor = SetupStructureBGColor($RowNum);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
632 $MolString .= "$SDFilesInfo{MolEndTag}";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
633 # Write out MOL file...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
634 $MolFileRef = SetupMOLFile($Index, $TableNum, $MolString, $CmpdNum);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
635 # Setup the applet...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
636 if (!$OptionsInfo{SettingUpCmpdSummaryPage}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
637 if (!$OptionsInfo{StrBgColorSpecified}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
638 $OptionsInfo{StrViewerParams}{bgcolor} = $BGColor;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
639 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
640 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
641 $Value = SetupStrViewerChimePlugIn($MolFileRef, \%{$OptionsInfo{StrViewerParams}});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
642 $ValueTag = SetupHTMLTableRowDataValue($Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
643 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
644 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
645 $ValueTag = SetupHTMLTableRowDataValue($Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
646 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
647 if ($OptionsInfo{SettingUpCmpdSummaryPage}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
648 $ValueTag = InsertHTMLTags($ValueTag, ("class", "box"));
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
649 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
650 print $HTMLFileRef $ValueTag;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
651 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
652
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
653 # Setup displays for various viewers available from CambridgeSoft...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
654 sub SetupCambridgeSoftDisplay {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
655 my($ViewerType, $Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
656 my($MolString, $BGColor, $Value, $ValueTag, $MolFileRef, $Name);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
657
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
658 $Value = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
659 ($MolString) = split "$SDFilesInfo{MolEndTag}", $CmpdString;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
660 if (IsNotEmpty($MolString)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
661 $BGColor = SetupStructureBGColor($RowNum);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
662 $MolString .= "$SDFilesInfo{MolEndTag}";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
663 # Write out MOL file...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
664 $MolFileRef = SetupMOLFile($Index, $TableNum, $MolString, $CmpdNum);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
665 # Setup the viewer...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
666 $Name = "CS" . $CmpdNum;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
667 if ($ViewerType =~ /^Chem3DActiveX$/) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
668 # Use white background for Chem3D and cell; otherwise, it doesn't look good:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
669 # cell size is larger than Chem3D window size and different colors don't work
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
670 $BGColor = $SDFilesInfo{White};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
671 $OptionsInfo{StrViewerParams}{name} = $Name;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
672 if (!$OptionsInfo{SettingUpCmpdSummaryPage}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
673 if (!$OptionsInfo{StrBgColorSpecified}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
674 $OptionsInfo{StrViewerParams}{bgcolor} = $BGColor;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
675 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
676 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
677 $Value = SetupStrViewerChem3DActiveX($MolFileRef, \%{$OptionsInfo{StrViewerParams}});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
678 $ValueTag = SetupHTMLTableRowDataValue($Value, $BGColor);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
679 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
680 elsif ($ViewerType =~ /^ChemDrawActiveX$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
681 # BGColor is not supported. So, make it all white...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
682 $BGColor = $SDFilesInfo{White};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
683 $OptionsInfo{StrViewerParams}{name} = $Name;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
684 if (!$OptionsInfo{SettingUpCmpdSummaryPage}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
685 if (!$OptionsInfo{StrBgColorSpecified}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
686 $OptionsInfo{StrViewerParams}{bgcolor} = $BGColor;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
687 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
688 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
689 $Value = SetupStrViewerChemDrawActiveX($MolFileRef, \%{$OptionsInfo{StrViewerParams}});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
690 $ValueTag = SetupHTMLTableRowDataValue($Value, $BGColor);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
691 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
692 elsif ($ViewerType =~ /^ChemDrawPlugIn$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
693 # BGColor is not supported. So, make it all white...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
694 $BGColor = $SDFilesInfo{White};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
695 if (!$OptionsInfo{SettingUpCmpdSummaryPage}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
696 if (!$OptionsInfo{StrBgColorSpecified}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
697 $OptionsInfo{StrViewerParams}{bgcolor} = $BGColor;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
698 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
699 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
700 $Value = SetupStrViewerChemDrawPlugIn($MolFileRef, \%{$OptionsInfo{StrViewerParams}});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
701 $ValueTag = SetupHTMLTableRowDataValue($Value, $BGColor);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
702 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
703 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
704 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
705 $ValueTag = SetupHTMLTableRowDataValue($Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
706 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
707 if ($OptionsInfo{SettingUpCmpdSummaryPage}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
708 $ValueTag = InsertHTMLTags($ValueTag, ("class", "box"));
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
709 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
710 print $HTMLFileRef $ValueTag;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
711 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
712
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
713 # Setup Accelrys Viewer ActiveX display...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
714 sub SetupViewerAccelrysActiveXDisplay {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
715 my($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
716 my($MolString, $BGColor, $Value, $ValueTag, $Name, $MolFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
717
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
718 $Value = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
719 ($MolString) = split "$SDFilesInfo{MolEndTag}", $CmpdString;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
720 if (IsNotEmpty($MolString)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
721 $BGColor = SetupStructureBGColor($RowNum);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
722 $MolString .= "$SDFilesInfo{MolEndTag}";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
723 # Write out MOL file. Accelrys ActiveX viewer doesn't load mol files with relative path names.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
724 # So, set up a complete path name for now; however, it may lead to issues during web
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
725 # deployment.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
726 my($CompletePath) = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
727 $MolFileRef = SetupMOLFile($Index, $TableNum, $MolString, $CmpdNum, $CompletePath);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
728 # Setup the viewer...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
729 $Name = "ViewerActiveX" . $CmpdNum;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
730 if (!$OptionsInfo{SettingUpCmpdSummaryPage}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
731 if (!$OptionsInfo{StrBgColorSpecified}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
732 $OptionsInfo{StrViewerParams}{bgcolor} = $BGColor;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
733 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
734 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
735 $OptionsInfo{StrViewerParams}{name} = $Name;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
736 $Value = SetupStrViewerAccelrysActiveX($MolFileRef, \%{$OptionsInfo{StrViewerParams}});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
737 $ValueTag = SetupHTMLTableRowDataValue($Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
738 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
739 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
740 $ValueTag = SetupHTMLTableRowDataValue($Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
741 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
742 if ($OptionsInfo{SettingUpCmpdSummaryPage}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
743 $ValueTag = InsertHTMLTags($ValueTag, ("class", "box"));
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
744 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
745 print $HTMLFileRef $ValueTag;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
746 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
747
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
748
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
749 # Setup structure background color...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
750 sub SetupStructureBGColor {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
751 my($RowNum) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
752 my($BGColor);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
753
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
754 $BGColor = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
755 if ($OptionsInfo{ShadeRowsStatus}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
756 $BGColor = ($RowNum % 2) ? $OptionsInfo{OddRowsShadeColor} : $OptionsInfo{EvenRowsShadeColor};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
757 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
758 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
759 $BGColor = $SDFilesInfo{White};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
760 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
761 return $BGColor;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
762 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
763
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
764 # Setup MDL MOL file...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
765 sub SetupMOLFile {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
766 my($Index, $TableNum, $MolString, $CmpdNum, $CompletePath);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
767 my($SubMolDir, $MolFileName, $MolFile, $MolFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
768
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
769 $CompletePath = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
770 if (@_ == 5) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
771 ($Index, $TableNum, $MolString, $CmpdNum, $CompletePath) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
772 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
773 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
774 ($Index, $TableNum, $MolString, $CmpdNum) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
775 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
776
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
777 $SubMolDir = $SDFilesInfo{SubMolDir}[$Index];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
778 $MolFileName = $SDFilesInfo{HTMLRoot}[$Index] . "Cmpd" . $CmpdNum . ".mol";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
779 $MolFile = $SubMolDir . "\/" . $MolFileName;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
780
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
781 open MOLFILE, ">$MolFile" or die "Error: Can't open $MolFile: $! \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
782 print MOLFILE "$MolString\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
783 close MOLFILE;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
784
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
785 if ($CompletePath) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
786 my($CWD, $NewCWD);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
787 $CWD = cwd();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
788 $NewCWD = ConvertCygwinPath($CWD);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
789 $MolFileRef = $NewCWD . "\/" . $SDFilesInfo{TopHTMLDir}[$Index] . "\/mol\/$MolFileName" ;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
790 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
791 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
792 $MolFileRef = ($TableNum == 1) ? ".\/mol\/$MolFileName" : "..\/mol\/$MolFileName";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
793 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
794
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
795 return $MolFileRef;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
796 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
797
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
798 # Setup a link to structure and other available information...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
799 sub SetupStructureLink {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
800 my($Index, $TableNum, $RowNum, $CmpdString, $CmpdNum, $HTMLFileRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
801 my($CmpdHTMLFileRef, $Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
802
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
803 $CmpdHTMLFileRef = SetupCompoundSummaryFileAndLink($Index, $TableNum, $CmpdString, $CmpdNum);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
804
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
805 if ($Options{strlinktype} =~ /^button$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
806 $Value = SetupHTMLButtonRef("View", $CmpdHTMLFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
807 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
808 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
809 $Value = SetupHTMLHRef("View", $CmpdHTMLFileRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
810 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
811 print $HTMLFileRef SetupHTMLTableRowDataValue($Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
812 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
813
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
814 # Setup HTML compound summary file and link...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
815 sub SetupCompoundSummaryFileAndLink {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
816 my($Index, $TableNum, $CmpdString, $CmpdNum) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
817 my($CmpdHTMLFile, $CmpdHTMLFileName, $CmpdHTMLFileRef, $CSSRef, @CmpdLines, $Label, @DataFieldLabels, %DataFieldValues, $Value, $Tag);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
818
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
819 # Setup compound file names...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
820 $CmpdHTMLFileName = $SDFilesInfo{HTMLRoot}[$Index] . "Cmpd" . $CmpdNum . ".html";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
821 $CmpdHTMLFile = $SDFilesInfo{SubHTMLDir}[$Index] . "\/" . $CmpdHTMLFileName;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
822
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
823 # Setup stylesheet reference....
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
824 $CSSRef = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
825 if ($Options{stylesheet} =~ /^old$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
826 $CSSRef = $Options{stylesheetname};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
827 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
828 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
829 $CSSRef = "..\/" . $SDFilesInfo{HTMLRoot}[$Index] . ".css";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
830 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
831
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
832 # Write out compound data in a new HTML file. For summary page, usage of even and odd row shade color
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
833 # is reversed: it causes structure background to be white by default...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
834 open CMPDHTMLFILE, ">$CmpdHTMLFile" or die "Error: Can't open $CmpdHTMLFile: $! \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
835 print CMPDHTMLFILE SetupHTMLPageHeader($OptionsInfo{StrLinkTitle}, $CSSRef, $OptionsInfo{SubHTMLDirStrViewerJSFileRef});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
836
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
837 if ($OptionsInfo{StrViewerJSFileRef}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
838 print CMPDHTMLFILE SetupStrViewerJSInitCmd($OptionsInfo{StrViewerType}, $OptionsInfo{SubHTMLDirStrViewerCodeBase});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
839 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
840
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
841 if ($OptionsInfo{StrLinkTitleDisplay}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
842 print CMPDHTMLFILE SetupHTMLPageTitle($OptionsInfo{StrLinkTitle}, "center");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
843 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
844 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
845 print CMPDHTMLFILE SetupHTMLEmptyLines(1);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
846 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
847 print CMPDHTMLFILE SetupHTMLAlignmentBegin("center");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
848
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
849 # Setup structure display ...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
850 print CMPDHTMLFILE SetupHTMLTableHeader(0, 5, 2);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
851
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
852 print CMPDHTMLFILE SetupHTMLTableRowHeader("center", "#ffffff", "middle");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
853
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
854 SetupStructureDisplayForCmpdSummaryPage($Index, $CmpdString, $CmpdNum, \*CMPDHTMLFILE);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
855 print CMPDHTMLFILE $SDFilesInfo{RowEndTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
856
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
857 if ($Options{strlinkmode} =~ /^plain$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
858 print CMPDHTMLFILE SetupHTMLTableRowHeader("center", $OptionsInfo{StrLinkShadeColor});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
859 $Tag = SetupHTMLTableRowDataValue("");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
860 print CMPDHTMLFILE $Tag;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
861 print CMPDHTMLFILE $SDFilesInfo{RowEndTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
862 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
863
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
864 print CMPDHTMLFILE SetupHTMLTableRowHeader("left", "", "middle");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
865 # Start a new table with two columns, one each for data field labels and values, in
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
866 # current column...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
867 print CMPDHTMLFILE SetupHTMLTableColumnHeader();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
868 print CMPDHTMLFILE SetupHTMLAlignmentBegin("left");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
869 print CMPDHTMLFILE SetupHTMLTableHeader(0, 5, 2);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
870
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
871 # Setup table for other available data...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
872 my($CmpdRowHeaderTags);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
873 $CmpdRowHeaderTags = SetupHTMLTableRowHeader("left", "", "middle");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
874
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
875 @CmpdLines = split "\n", $CmpdString;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
876
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
877 @DataFieldLabels = GetCmpdDataHeaderLabels(\@CmpdLines);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
878 %DataFieldValues = GetCmpdDataHeaderLabelsAndValues(\@CmpdLines);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
879
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
880 my($LabelWrapLength, $ValueWrapLength, $LabelColWidth);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
881 $LabelWrapLength = 30; $ValueWrapLength = 60; $LabelColWidth = 40;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
882
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
883 for $Label (@DataFieldLabels) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
884 $Value = $DataFieldValues{$Label};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
885 $Label .= ":";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
886 if ($Label && (length($Label) > $LabelWrapLength)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
887 $Label = WrapText($Label, $LabelWrapLength, "<br>");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
888 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
889 print CMPDHTMLFILE $CmpdRowHeaderTags;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
890 if ($Options{strlinkmode} =~ /^plain$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
891 $Tag = SetupHTMLTableRowDataValue($Label, "", "", 1);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
892 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
893 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
894 $Tag = SetupHTMLTableRowDataValue($Label, $OptionsInfo{StrLinkShadeColor});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
895 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
896 $Tag = InsertHTMLTags($Tag, "width", "$LabelColWidth");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
897 print CMPDHTMLFILE $Tag;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
898
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
899 if ($Value && (length($Value) >=$ValueWrapLength) && $Value !~ /a href/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
900 $Value =~ s/(\r\n)|(\r)|\n//g;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
901 $Value = WrapText($Value, $ValueWrapLength, "<br>");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
902 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
903 $Tag = SetupHTMLTableRowDataValue($Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
904 print CMPDHTMLFILE $Tag;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
905 print CMPDHTMLFILE $SDFilesInfo{RowEndTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
906 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
907
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
908 # Finish up table holding numerical data...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
909 print CMPDHTMLFILE SetupHTMLTableEnd();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
910 print CMPDHTMLFILE SetupHTMLAlignmentEnd("left");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
911 print CMPDHTMLFILE SetupHTMLTableColumnEnd();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
912 print CMPDHTMLFILE $SDFilesInfo{RowEndTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
913
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
914 # Finish up main table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
915 print CMPDHTMLFILE SetupHTMLTableEnd();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
916 print CMPDHTMLFILE SetupHTMLAlignmentEnd("center");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
917
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
918 if ($OptionsInfo{StrLinkNavigation} && ($SDFilesInfo{CmpdCount}[$Index] > 1) ) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
919 print CMPDHTMLFILE SetupHTMLEmptyLines(1);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
920 WriteCompoundSummaryNavigationLinks($Index, $TableNum, $CmpdNum, \*CMPDHTMLFILE);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
921 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
922
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
923 print CMPDHTMLFILE SetupHTMLPageEnd($OptionsInfo{FooterMsg});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
924 close CMPDHTMLFILE;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
925
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
926 # Add a link to compound's HTML file in table cell...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
927 $CmpdHTMLFileRef = ($TableNum == 1) ? ".\/html\/" : ".\/";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
928 $CmpdHTMLFileRef .= $CmpdHTMLFileName;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
929
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
930 return $CmpdHTMLFileRef;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
931 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
932
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
933 # Write navigation link information for compound summary page...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
934 sub WriteCompoundSummaryNavigationLinks {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
935 my($Index, $CurTableNum, $CurCmpdNum, $CmpdHTMLFileRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
936 my($FirstTableNum, $CurTableIndex, $FirstCmpdNum, $LastCmpdNum, $PreviousCmpdNum, $NextCmpdNum, $HTMLFile, $HTMLRefFile, $HTMLRefValue);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
937
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
938 $FirstTableNum = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
939 $FirstCmpdNum = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
940
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
941 $CurTableIndex = $CurTableNum - 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
942
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
943 if ($SDFilesInfo{MultipleHTMLTables}[$Index]) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
944 my($FirstTableIndex, $LastTableNum, $LastTableIndex);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
945 $FirstTableIndex = $FirstTableNum - 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
946 $LastTableNum = $SDFilesInfo{TableCount}[$Index]; $LastTableIndex = $LastTableNum - 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
947 $LastCmpdNum = ${$SDFilesInfo{TableEndCmpdNum}[$Index]}[$LastTableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
948 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
949 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
950 $LastCmpdNum = $SDFilesInfo{CmpdCount}[$Index];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
951 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
952
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
953 $PreviousCmpdNum = ($CurCmpdNum == $FirstCmpdNum) ? 0 : ($CurCmpdNum - 1);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
954 $NextCmpdNum = ($CurCmpdNum == $LastCmpdNum) ? 0 : ($CurCmpdNum + 1);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
955
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
956 my($InactiveLinkNumColor, $InactiveLinkFontBold) = ("#8e2323", "1");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
957 my($LinkTextColor, $LinkBGColor, $LinkFontBold) = ("", "", "0");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
958 my($BorderWidth, $CellPadding, $CellSpacing) = (0, 2, 2);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
959
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
960 # Start link table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
961 print $CmpdHTMLFileRef SetupHTMLAlignmentBegin("center");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
962 print $CmpdHTMLFileRef SetupHTMLDivBegin("tablenav");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
963 print $CmpdHTMLFileRef SetupHTMLTableHeader($BorderWidth, $CellPadding, $CellSpacing);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
964 print $CmpdHTMLFileRef $SDFilesInfo{RowHeaderTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
965
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
966 print $CmpdHTMLFileRef SetupHTMLTableRowDataValue("Compounds: ");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
967
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
968 # Setup a link to first compound...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
969 if ($CurCmpdNum != $FirstCmpdNum) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
970 $HTMLFile = $SDFilesInfo{HTMLRoot}[$Index] . "Cmpd" . $FirstCmpdNum . ".html";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
971 $HTMLRefFile = "./${HTMLFile}";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
972 $HTMLRefValue = SetupHTMLHRef("First", $HTMLRefFile, "First Compound");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
973 print $CmpdHTMLFileRef SetupHTMLTableRowDataValue($HTMLRefValue, $LinkBGColor, $LinkTextColor, $LinkFontBold);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
974 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
975
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
976 # Setup a link to previous compund
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
977 if ($PreviousCmpdNum) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
978 $HTMLFile = $SDFilesInfo{HTMLRoot}[$Index] . "Cmpd" . $PreviousCmpdNum . ".html";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
979 $HTMLRefFile = "./${HTMLFile}";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
980 $HTMLRefValue = SetupHTMLHRef("Previous", $HTMLRefFile, "Previous Compound");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
981 print $CmpdHTMLFileRef SetupHTMLTableRowDataValue($HTMLRefValue, $LinkBGColor, $LinkTextColor, $LinkFontBold);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
982 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
983
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
984 # Setup a link to compound table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
985 if ($SDFilesInfo{MultipleHTMLTables}[$Index]) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
986 $HTMLFile = ${$SDFilesInfo{TableHTMLFiles}[$Index]}[$CurTableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
987 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
988 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
989 $HTMLFile = $SDFilesInfo{HTMLRoot}[$Index] . ".html";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
990 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
991 $HTMLRefFile = (($CurTableNum == $FirstTableNum) ? "../" : "./") . $HTMLFile;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
992 $HTMLRefValue = SetupHTMLHRef("Table", $HTMLRefFile, "Table With This Compound");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
993 print $CmpdHTMLFileRef SetupHTMLTableRowDataValue($HTMLRefValue, $LinkBGColor, $LinkTextColor, $LinkFontBold);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
994
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
995 # Setup a link to next compound...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
996 if ($NextCmpdNum) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
997 $HTMLFile = $SDFilesInfo{HTMLRoot}[$Index] . "Cmpd" . $NextCmpdNum . ".html";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
998 $HTMLRefFile = "./${HTMLFile}";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
999 $HTMLRefValue = SetupHTMLHRef("Next", $HTMLRefFile, "Next Compound");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1000 print $CmpdHTMLFileRef SetupHTMLTableRowDataValue($HTMLRefValue, $LinkBGColor, $LinkTextColor, $LinkFontBold);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1001 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1002
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1003 # Setup a link to last compund
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1004 if ($CurCmpdNum != $LastCmpdNum) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1005 $HTMLFile = $SDFilesInfo{HTMLRoot}[$Index] . "Cmpd" . $LastCmpdNum . ".html";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1006 $HTMLRefFile = "./${HTMLFile}";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1007 $HTMLRefValue = SetupHTMLHRef("Last", $HTMLRefFile, "Last Compound");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1008 print $CmpdHTMLFileRef SetupHTMLTableRowDataValue($HTMLRefValue, $LinkBGColor, $LinkTextColor, $LinkFontBold);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1009 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1010
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1011 # Setup current table info text....
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1012 print $CmpdHTMLFileRef SetupHTMLTableRowDataValue("&nbsp");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1013 print $CmpdHTMLFileRef SetupHTMLTableRowDataValue("&nbsp");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1014 print $CmpdHTMLFileRef SetupHTMLTableRowDataValue("Showing $CurCmpdNum of $LastCmpdNum");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1015
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1016 print $CmpdHTMLFileRef $SDFilesInfo{RowEndTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1017
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1018 # End link table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1019 print $CmpdHTMLFileRef SetupHTMLTableEnd();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1020 print $CmpdHTMLFileRef SetupHTMLDivEnd();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1021 print $CmpdHTMLFileRef SetupHTMLAlignmentEnd("center");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1022 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1023
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1024 # Setup navigation link information for each table.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1025 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1026 # All table sets besides first and last have these links: FirstTable, Previous, Current-1,Current,Current+1, Next, and LastTable
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1027 # First set: Current, Next, and LastTable
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1028 # Last set: FirstTable, Previous and Current.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1029 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1030 sub WriteNavigationLinks {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1031 my($Index, $CurTableNum, $HTMLFileRef) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1032 my($TableNum, $StartTableNum, $EndTableNum, $TableIndex, $BorderWidth, $CellPadding, $CellSpacing,$HTMLFile, $HTMLRefFile, $RelativeFileDir, $HTMLRefValue, $FirstTableNum, $FirstTableIndex, $LastTableNum, $LastTableIndex, $TableStartCmpdNum, $TableEndCmpdNum, $LastCmpdNum, $BGColor, $LinksOffSet);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1033
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1034 $LinksOffSet = 10;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1035
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1036 $FirstTableNum = 1; $FirstTableIndex = $FirstTableNum - 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1037 $LastTableNum = $SDFilesInfo{TableCount}[$Index]; $LastTableIndex = $LastTableNum - 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1038 $LastCmpdNum = ${$SDFilesInfo{TableEndCmpdNum}[$Index]}[$LastTableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1039
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1040 # Figure out which links to display for a particular table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1041 $StartTableNum = $CurTableNum - $LinksOffSet + 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1042 $StartTableNum = ($StartTableNum < $FirstTableNum) ? $FirstTableNum : $StartTableNum;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1043 if ($CurTableNum < $LinksOffSet) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1044 $EndTableNum = $LinksOffSet;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1045 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1046 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1047 $EndTableNum = $CurTableNum + $LinksOffSet - 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1048 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1049 $EndTableNum = ($EndTableNum > $LastTableNum) ? $LastTableNum : $EndTableNum;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1050
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1051 my($InactiveLinkNumColor, $InactiveLinkFontBold) = ("#8e2323", "1");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1052 my($LinkTextColor, $LinkBGColor, $LinkFontBold) = ("", "", "1");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1053
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1054 # Start link table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1055 $BorderWidth = 0; $CellPadding = 2; $CellSpacing = 2;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1056 print $HTMLFileRef SetupHTMLAlignmentBegin("center");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1057 print $HTMLFileRef SetupHTMLDivBegin("tablenav");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1058 print $HTMLFileRef SetupHTMLTableHeader($BorderWidth, $CellPadding, $CellSpacing);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1059 print $HTMLFileRef $SDFilesInfo{RowHeaderTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1060
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1061 if ($OptionsInfo{NavLinksTableInfo} && $OptionsInfo{NavLinksCmpdInfo}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1062 print $HTMLFileRef SetupHTMLTableRowDataValue("Showing table $CurTableNum of $LastTableNum");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1063 print $HTMLFileRef SetupHTMLTableRowDataValue("&nbsp");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1064 print $HTMLFileRef SetupHTMLTableRowDataValue("&nbsp");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1065 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1066
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1067 print $HTMLFileRef SetupHTMLTableRowDataValue("Tables: ");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1068 # Setup a link to first table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1069 if ($StartTableNum != $FirstTableNum) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1070 $HTMLFile = ${$SDFilesInfo{TableHTMLFiles}[$Index]}[$FirstTableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1071 $HTMLRefFile = GetRelativeFileDir($CurTableNum, $FirstTableNum, $FirstTableNum) . $HTMLFile;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1072 $TableStartCmpdNum = ${$SDFilesInfo{TableStartCmpdNum}[$Index]}[$FirstTableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1073 $TableEndCmpdNum = ${$SDFilesInfo{TableEndCmpdNum}[$Index]}[$FirstTableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1074 $HTMLRefValue = SetupHTMLHRef("First", $HTMLRefFile, "First Table Containing Compounds $TableStartCmpdNum To $TableEndCmpdNum");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1075 print $HTMLFileRef SetupHTMLTableRowDataValue($HTMLRefValue, $LinkBGColor, $LinkTextColor, $LinkFontBold);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1076 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1077
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1078 # Setup link to previous table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1079 if ($CurTableNum != $FirstTableNum) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1080 my($PreviousTableNum, $PreviousTableIndex);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1081 $PreviousTableNum = $CurTableNum - 1; $PreviousTableIndex = $PreviousTableNum - 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1082 $HTMLFile = ${$SDFilesInfo{TableHTMLFiles}[$Index]}[$PreviousTableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1083 $HTMLRefFile = GetRelativeFileDir($CurTableNum, $PreviousTableNum, $FirstTableNum) . $HTMLFile;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1084 $TableStartCmpdNum = ${$SDFilesInfo{TableStartCmpdNum}[$Index]}[$PreviousTableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1085 $TableEndCmpdNum = ${$SDFilesInfo{TableEndCmpdNum}[$Index]}[$PreviousTableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1086 $HTMLRefValue = SetupHTMLHRef("Previous", $HTMLRefFile, "Previous Table Containing Compounds $TableStartCmpdNum To $TableEndCmpdNum");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1087 print $HTMLFileRef SetupHTMLTableRowDataValue($HTMLRefValue, $LinkBGColor, $LinkTextColor, $LinkFontBold);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1088 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1089
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1090 for $TableNum ($StartTableNum .. $EndTableNum) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1091 $TableIndex = $TableNum - 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1092 $HTMLFile = ${$SDFilesInfo{TableHTMLFiles}[$Index]}[$TableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1093 if ($TableNum == $CurTableNum) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1094 print $HTMLFileRef SetupHTMLTableRowDataValue($TableNum, $LinkBGColor, $InactiveLinkNumColor, $InactiveLinkFontBold);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1095 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1096 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1097 # Setup the link...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1098 my($RefTitle);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1099 $TableStartCmpdNum = ${$SDFilesInfo{TableStartCmpdNum}[$Index]}[$TableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1100 $TableEndCmpdNum = ${$SDFilesInfo{TableEndCmpdNum}[$Index]}[$TableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1101 $RefTitle = AddNumberSuffix($TableNum) . " Table Containing Compounds $TableStartCmpdNum To $TableEndCmpdNum";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1102 $HTMLRefFile = GetRelativeFileDir($CurTableNum, $TableNum, $FirstTableNum) . $HTMLFile;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1103 $HTMLRefValue = SetupHTMLHRef($TableNum, $HTMLRefFile, $RefTitle);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1104 print $HTMLFileRef SetupHTMLTableRowDataValue($HTMLRefValue);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1105 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1106 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1107
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1108 # Setup link to next table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1109 if ($CurTableNum != $LastTableNum) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1110 my($NextTableNum, $NextTableIndex);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1111 $NextTableNum = $CurTableNum + 1; $NextTableIndex = $NextTableNum - 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1112 $HTMLFile = ${$SDFilesInfo{TableHTMLFiles}[$Index]}[$NextTableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1113 $HTMLRefFile = GetRelativeFileDir($CurTableNum, $NextTableNum, $FirstTableNum) . $HTMLFile;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1114 $TableStartCmpdNum = ${$SDFilesInfo{TableStartCmpdNum}[$Index]}[$NextTableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1115 $TableEndCmpdNum = ${$SDFilesInfo{TableEndCmpdNum}[$Index]}[$NextTableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1116 $HTMLRefValue = SetupHTMLHRef("Next", $HTMLRefFile, "Next Table Containing Compounds $TableStartCmpdNum To $TableEndCmpdNum");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1117 print $HTMLFileRef SetupHTMLTableRowDataValue($HTMLRefValue, $LinkBGColor, $LinkTextColor, $LinkFontBold);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1118 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1119
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1120 # Setup link to last table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1121 if ($EndTableNum != $LastTableNum) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1122 $HTMLFile = ${$SDFilesInfo{TableHTMLFiles}[$Index]}[$LastTableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1123 $HTMLRefFile = GetRelativeFileDir($CurTableNum, $LastTableNum, $FirstTableNum) . $HTMLFile;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1124 $TableStartCmpdNum = ${$SDFilesInfo{TableStartCmpdNum}[$Index]}[$LastTableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1125 $TableEndCmpdNum = ${$SDFilesInfo{TableEndCmpdNum}[$Index]}[$LastTableIndex];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1126 $HTMLRefValue = SetupHTMLHRef("Last", $HTMLRefFile, "Last Table Containing Compounds $TableStartCmpdNum To $TableEndCmpdNum");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1127 print $HTMLFileRef SetupHTMLTableRowDataValue($HTMLRefValue, $LinkBGColor, $LinkTextColor, $LinkFontBold);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1128 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1129 # Setup current table info text....
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1130 print $HTMLFileRef SetupHTMLTableRowDataValue("&nbsp");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1131 print $HTMLFileRef SetupHTMLTableRowDataValue("&nbsp");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1132 $TableStartCmpdNum = ${$SDFilesInfo{TableStartCmpdNum}[$Index]}[$CurTableNum - 1];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1133 $TableEndCmpdNum = ${$SDFilesInfo{TableEndCmpdNum}[$Index]}[$CurTableNum - 1];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1134 if ($OptionsInfo{NavLinksCmpdInfo}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1135 print $HTMLFileRef SetupHTMLTableRowDataValue("Showing compounds $TableStartCmpdNum to $TableEndCmpdNum of $LastCmpdNum");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1136 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1137 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1138 print $HTMLFileRef SetupHTMLTableRowDataValue("Showing table $CurTableNum of $LastTableNum");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1139 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1140
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1141 print $HTMLFileRef $SDFilesInfo{RowEndTags};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1142 # End link table...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1143 print $HTMLFileRef SetupHTMLTableEnd();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1144 print $HTMLFileRef SetupHTMLDivEnd();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1145 print $HTMLFileRef SetupHTMLAlignmentEnd("center");
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1146 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1147
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1148 # Generate relative directory path...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1149 sub GetRelativeFileDir {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1150 my($FromTableNum, $ToTableNum, $FirstTableNum) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1151 my($RelativeFileDir) = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1152
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1153 if ($FromTableNum == $FirstTableNum) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1154 $RelativeFileDir = ($ToTableNum == $FirstTableNum) ? ".\/" : ".\/html\/";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1155 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1156 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1157 $RelativeFileDir = ($ToTableNum == $FirstTableNum) ? "..\/" : ".\/";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1158 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1159 return $RelativeFileDir;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1160 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1161
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1162 # Based on hightlight stype, return appropriate colors for background or text...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1163 sub GetValueHighlightColors {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1164 my($Label, $Value) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1165 my($DataType, $Criterion, $CriterionValue, $BgColor, $FontColor, $ValueOk, $Nothing);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1166
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1167 $BgColor = ""; $FontColor = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1168 $DataType = $OptionsInfo{SpecifiedHighlightDataFieldTypesMap}{$Label};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1169 $Criterion = $OptionsInfo{SpecifiedHighlightDataFieldCriteriaMap}{$Label};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1170 $CriterionValue = $OptionsInfo{SpecifiedHighlightDataFieldValueMap}{$Label};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1171
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1172 $ValueOk = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1173 if ($DataType =~ /^numeric$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1174 NUMSWITCH: {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1175 if ($Criterion =~ /^ge$/i) { $ValueOk = ($Value >= $CriterionValue) ? 1 : 0; last NUMSWITCH; }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1176 if ($Criterion =~ /^le$/i) { $ValueOk = ($Value <= $CriterionValue) ? 1 : 0; last NUMSWITCH; }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1177 if ($Criterion =~ /^eq$/i) { $ValueOk = ($Value == $CriterionValue) ? 1 : 0; last NUMSWITCH; }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1178 $Nothing = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1179 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1180 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1181 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1182 TEXTSWITCH: {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1183 if ($Criterion =~ /^ge$/i) { $ValueOk = ($Value ge $CriterionValue) ? 1 : 0; last TEXTSWITCH; }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1184 if ($Criterion =~ /^le$/i) { $ValueOk = ($Value le $CriterionValue) ? 1 : 0; last TEXTSWITCH; }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1185 if ($Criterion =~ /^eq$/i) { $ValueOk = ($Value eq $CriterionValue) ? 1 : 0; last TEXTSWITCH; }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1186 $Nothing = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1187 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1188 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1189 $BgColor = $ValueOk ? $OptionsInfo{ValueOkColor} : $OptionsInfo{ValueNotOkColor};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1190 if ($Options{highlightstyle} =~ /^text$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1191 $BgColor = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1192 $FontColor = $ValueOk ? $OptionsInfo{ValueOkColor} : $OptionsInfo{ValueNotOkColor};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1193 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1194 return ($BgColor, $FontColor);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1195 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1196
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1197 #Make sure appropriate mode specific option values are specified...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1198 sub ProcessOptions {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1199
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1200 %OptionsInfo = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1201
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1202 $OptionsInfo{TitleDisplay} = ($Options{titledisplay} =~ /^yes$/i) ? 1 : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1203
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1204 $OptionsInfo{RowHAlignment} = "left"; $OptionsInfo{RowVAlignment} = "middle";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1205 if (exists($Options{align})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1206 my (@AlignValues) = split ",", $Options{align};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1207 if (@AlignValues == 2) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1208 $OptionsInfo{RowHAlignment} = $AlignValues[0];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1209 $OptionsInfo{RowVAlignment} = $AlignValues[1];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1210 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1211 elsif (@AlignValues == 1) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1212 $OptionsInfo{RowHAlignment} = $AlignValues[0];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1213 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1214 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1215 die "Error: Invalid number of values, ", scalar(@AlignValues) , ", specified by \"-a --align\" option.\nIt must contain only one or two values.\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1216 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1217 if ($OptionsInfo{RowHAlignment} !~ /^(left|center|right)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1218 die "Error: The horizontal alignment value specified, $Options{align}, for option \"-a --align\" is not valid. Allowed values: left, center, or right\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1219 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1220 if ($OptionsInfo{RowVAlignment} !~ /^(top|middle|bottom)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1221 die "Error: The horizontal alignment value specified, $Options{align}, for option \"-a --align\" is not valid. Allowed values: top, middle, or bottom\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1222 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1223 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1224
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1225 $OptionsInfo{TableHeaderRowHAlignment} = "center"; $OptionsInfo{TableHeaderRowVAlignment} = "middle";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1226 if (exists($Options{headeralign})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1227 my (@AlignValues) = split ",", $Options{headeralign};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1228 if (@AlignValues == 2) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1229 $OptionsInfo{TableHeaderRowHAlignment} = $AlignValues[0];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1230 $OptionsInfo{TableHeaderRowVAlignment} = $AlignValues[1];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1231 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1232 elsif (@AlignValues == 1) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1233 $OptionsInfo{TableHeaderRowHAlignment} = $AlignValues[0];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1234 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1235 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1236 die "Error: Invalid number of values, ", scalar(@AlignValues) , ", specified by \"--headeralign\" option.\nIt must contain only one or two value.\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1237 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1238 if ($OptionsInfo{TableHeaderRowHAlignment} !~ /^(left|center|right)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1239 die "Error: The horizontal alignment value specified, $Options{headeralign}, for option \"--headeralign\" is not valid. Allowed values: left, center, or right\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1240 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1241 if ($OptionsInfo{TableHeaderRowVAlignment} !~ /^(top|middle|bottom)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1242 die "Error: The horizontal alignment value specified, $Options{headeralign}, for option \"-a --headeralign\" is not valid. Allowed values: top, middle, or bottom\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1243 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1244 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1245
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1246 if (exists($Options{border})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1247 $OptionsInfo{TableBorder} = $Options{border};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1248 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1249 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1250 $OptionsInfo{TableBorder} = ($Options{mode} =~ /^(plain|highlight)$/i) || $Options{mode} =~ /^structuresonly$/i ? 1 : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1251 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1252 $OptionsInfo{TableCellPadding} = $Options{cellpadding};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1253 $OptionsInfo{TableCellSpacing} = $Options{cellspacing};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1254 $OptionsInfo{FooterMsg} = $Options{footer} ? $Options{footer} : "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1255
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1256 if ($Options{headercolor}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1257 $OptionsInfo{TableHeaderRowColor} = $Options{headercolor};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1258 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1259 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1260 $OptionsInfo{TableHeaderRowColor} = ($Options{mode} =~ /^plain$/i) ? "" : "#e0e9eb";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1261 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1262
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1263 $OptionsInfo{NavLinksAtBottom} = 1; $OptionsInfo{NavLinksAtTop} = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1264 if ($Options{displaylinks} =~ /^(both|top)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1265 $OptionsInfo{NavLinksAtTop} = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1266 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1267 $OptionsInfo{NavLinksTableInfo} = 1; $OptionsInfo{NavLinksCmpdInfo} = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1268 if ($Options{displaylinksinfo} =~ /^both$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1269 $OptionsInfo{NavLinksCmpdInfo} = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1270 $OptionsInfo{NavLinksTableInfo} = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1271 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1272 elsif ($Options{displaylinksinfo} =~ /^compound$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1273 $OptionsInfo{NavLinksCmpdInfo} = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1274 $OptionsInfo{NavLinksTableInfo} = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1275 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1276
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1277 if ($Options{stylesheet} =~ /^old$/i ) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1278 if (!$Options{stylesheetname}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1279 die "Error: No stylesheet name specified using \"--stylesheetname\" option: It is required for \"old\" value of \"-s --stylesheet\" option. \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1280 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1281 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1282
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1283 my(@ColorValues);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1284 $OptionsInfo{ShadeRowsStatus} = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1285 $OptionsInfo{OddRowsShadeColor} = "#ffffff";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1286 $OptionsInfo{EvenRowsShadeColor} = "#e0e9eb";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1287 if ($Options{shadecolor}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1288 # Make sure only one value is specified...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1289 @ColorValues = split ",", $Options{shadecolor};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1290 if (@ColorValues == 2) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1291 $OptionsInfo{OddRowsShadeColor} = $ColorValues[0];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1292 $OptionsInfo{EvenRowsShadeColor} = $ColorValues[1];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1293 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1294 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1295 die "Error: Invalid number of values, ", scalar(@ColorValues) , ", specified by \"--shadecolor\" option.\nIt must contain only two value.\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1296 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1297 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1298 if ($Options{mode} =~ /^(shade|shadedhighlight|shadedstructuresonly)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1299 $OptionsInfo{ShadeRowsStatus} = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1300 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1301
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1302 $OptionsInfo{SettingUpCmpdSummaryPage} = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1303 $OptionsInfo{StrLinkShadeColor} = (exists $Options{strlinkshadecolor}) ? $Options{strlinkshadecolor} : "#e0e9eb";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1304 $OptionsInfo{DisplayStructure} = ($Options{structure} =~ /^display$/i) ? 1 : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1305 $OptionsInfo{StrViewerType} = $Options{strviewertype};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1306 $OptionsInfo{StrLinkNavigation} = ($Options{strlinknavigation} =~ /^yes$/i) ? 1 : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1307 $OptionsInfo{StrLinkTitleDisplay} = ($Options{strlinktitledisplay} =~ /^yes$/i) ? 1 : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1308 $OptionsInfo{StrLinkTitle} = (exists($Options{strlinktitle}) && length($Options{strlinktitle})) ? "$Options{strlinktitle}" : "Compound Summary";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1309
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1310 my($StrViewerEmbedUsingJS) = (($Options{strviewerembed} =~ /^javascript$/i) && ($OptionsInfo{StrViewerType} =~ /^(Jmol|MarvinView|ChemDrawPlugIn|ChemDrawActiveX|Chem3DActiveX)$/i )) ? 1 : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1311
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1312 $OptionsInfo{StrTableRows} = 6; $OptionsInfo{StrTableCols} = 4;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1313 if ($Options{strtablesize}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1314 my(@StrTableSizeValues) = split ",", $Options{strtablesize};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1315 if (@StrTableSizeValues == 2) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1316 $OptionsInfo{StrTableRows} = $StrTableSizeValues[0];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1317 $OptionsInfo{StrTableCols} = $StrTableSizeValues[1];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1318 if (!IsPositiveInteger($OptionsInfo{StrTableRows})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1319 die "Error: The first value specified, $OptionsInfo{StrTableRows}, for option \"--strtablesize\" is not valid: Allowed integer values: > 0.\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1320 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1321 if (!IsPositiveInteger($OptionsInfo{StrTableCols})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1322 die "Error: The first value specified, $OptionsInfo{StrTableCols}, for option \"--strtablesize\" is not valid: Allowed integer values: > 0.\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1323 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1324 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1325 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1326 die "Error: Invalid number of values, ", scalar(@StrTableSizeValues), ", specified by \"--strtablesize\" option.\nIt must contain only two value for structuresonly \"-m --mode\" option.\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1327 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1328 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1329
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1330 # Setup applet information...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1331 $OptionsInfo{StrViewerCodeBase} = GetMayaChemToolsLibDirName() . "/Jmol";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1332 $OptionsInfo{TopHTMLDirStrViewerCodeBase} = $OptionsInfo{StrViewerCodeBase};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1333 $OptionsInfo{SubHTMLDirStrViewerCodeBase} = $OptionsInfo{StrViewerCodeBase};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1334
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1335 my($StrViewerAppletArchive, $StrViewerAppletCode) = SetupDefaultAppletArchiveAndCode($OptionsInfo{StrViewerType});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1336 if ($Options{strviewerconfig}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1337 my(@StrViewerConfigParts) = split ",", $Options{strviewerconfig};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1338 if (@StrViewerConfigParts >=1 && @StrViewerConfigParts <= 3) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1339 if (@StrViewerConfigParts == 3) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1340 $OptionsInfo{StrViewerCodeBase} = $StrViewerConfigParts[0];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1341 $StrViewerAppletArchive = $StrViewerConfigParts[1];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1342 $StrViewerAppletCode = $StrViewerConfigParts[2];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1343 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1344 elsif (@StrViewerConfigParts == 2) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1345 $OptionsInfo{StrViewerCodeBase} = $StrViewerConfigParts[0];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1346 $StrViewerAppletArchive = $StrViewerConfigParts[1];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1347 my($AppletArchive, $AppletCode) = SetupDefaultAppletArchiveAndCode($OptionsInfo{StrViewerType});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1348 $StrViewerAppletCode = $AppletCode;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1349 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1350 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1351 $OptionsInfo{StrViewerCodeBase} = $StrViewerConfigParts[0];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1352 ($StrViewerAppletArchive, $StrViewerAppletCode) = SetupDefaultAppletArchiveAndCode($OptionsInfo{StrViewerType});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1353 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1354 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1355 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1356 die "Error: Invalid number of values, ", scalar(@StrViewerConfigParts), ", specified by \"--strviewerconfig\" option.\nNumver of allowed values:1 to 3 \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1357 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1358 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1359 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1360 if ($OptionsInfo{StrViewerType} =~ /^(JME|MarvinView)$/i ) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1361 die "Error: No codebase specified using \"--strviewerconfig\" option for $OptionsInfo{StrViewerType} structure viewer\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1362 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1363 if ($StrViewerEmbedUsingJS && $OptionsInfo{StrViewerType} !~ /^Jmol$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1364 die "Error: No codebase specified using \"--strviewerconfig\" option for javascript value of \"--strviewerembed\" option for $OptionsInfo{StrViewerType} structure viewer \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1365 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1366 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1367
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1368 if (-d $OptionsInfo{StrViewerCodeBase}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1369 # Change local code base direcrory name to a relative directory name based on the
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1370 # current directory containing SD file; otherwise, Java applets and JavaScripts don't
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1371 # get loaded into Firefox and Chrome browsers.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1372 #
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1373 # For top and sub HTML directories, add prefix "../" and "../../" to relative path...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1374 $OptionsInfo{StrViewerCodeBase} = File::Spec->abs2rel($OptionsInfo{StrViewerCodeBase}, Cwd::cwd());
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1375
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1376 $OptionsInfo{TopHTMLDirStrViewerCodeBase} = "../" . $OptionsInfo{StrViewerCodeBase};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1377 $OptionsInfo{SubHTMLDirStrViewerCodeBase} = "../../" . $OptionsInfo{StrViewerCodeBase};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1378 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1379
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1380 # Setup structure viewer parameter information...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1381 %{$OptionsInfo{StrViewerParams}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1382 if ($Options{strviewerparams}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1383 my(@ParamsSplit, @ParamPairSplit, $ParamPair);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1384 #@ParamsSplit = split " ", $Options{strviewerparams};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1385 @ParamsSplit = quotewords(" ", 0, $Options{strviewerparams});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1386 for $ParamPair (@ParamsSplit) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1387 @ParamPairSplit = split "=", $ParamPair;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1388 if (@ParamPairSplit == 2) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1389 $OptionsInfo{StrViewerParams}{$ParamPairSplit[0]} = $ParamPairSplit[1];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1390 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1391 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1392 die "Error: Invalid value, $ParamPair, specified by \"--strviewerparams\" option.\nValid values: name=value\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1393 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1394 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1395 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1396
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1397 if ($OptionsInfo{StrViewerType} =~ /^(JME|Jmol|MarvinView)$/i ) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1398 $OptionsInfo{StrViewerParams}{name} = $StrViewerAppletCode;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1399 $OptionsInfo{StrViewerParams}{archive} = $StrViewerAppletArchive;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1400 $OptionsInfo{StrViewerParams}{code} = $StrViewerAppletCode;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1401 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1402 $OptionsInfo{StrWidth} = exists($OptionsInfo{StrViewerParams}{width}) ? $OptionsInfo{StrViewerParams}{width} : 250;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1403 $OptionsInfo{StrViewerParams}{width} = $OptionsInfo{StrWidth};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1404 $OptionsInfo{StrHeight} = exists($OptionsInfo{StrViewerParams}{height}) ? $OptionsInfo{StrViewerParams}{height} : 170;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1405 $OptionsInfo{StrViewerParams}{height} = $OptionsInfo{StrHeight};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1406
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1407 $OptionsInfo{StrLinkWidth} = 500;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1408 if (exists($OptionsInfo{StrViewerParams}{strlinkwidth})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1409 $OptionsInfo{StrLinkWidth} = $OptionsInfo{StrViewerParams}{strlinkwidth};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1410 $OptionsInfo{StrViewerParams}{strlinkwidth} = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1411 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1412 $OptionsInfo{StrLinkHeight} = 295;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1413 if (exists($OptionsInfo{StrViewerParams}{strlinkheight})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1414 $OptionsInfo{StrLinkHeight} = $OptionsInfo{StrViewerParams}{strlinkheight};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1415 $OptionsInfo{StrViewerParams}{strlinkheight} = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1416 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1417
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1418 $OptionsInfo{StrBgColorSpecified} = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1419 if (exists($OptionsInfo{StrViewerParams}{bgcolor})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1420 $OptionsInfo{StrBgColorSpecified} = $OptionsInfo{StrViewerParams}{bgcolor};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1421 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1422
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1423 $OptionsInfo{StrLinkBgColorSpecified} = "#ffffff";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1424 if (exists($OptionsInfo{StrViewerParams}{strlinkbgcolor})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1425 $OptionsInfo{StrLinkBgColorSpecified} = $OptionsInfo{StrViewerParams}{strlinkbgcolor};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1426 $OptionsInfo{StrViewerParams}{strlinkbgcolor} = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1427 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1428
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1429 # Setup Java Script usage...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1430 $OptionsInfo{StrViewerJSFileRef} = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1431 $OptionsInfo{TopHTMLDirStrViewerJSFileRef} = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1432 $OptionsInfo{SubHTMLDirStrViewerJSFileRef} = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1433
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1434 if ($StrViewerEmbedUsingJS) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1435 my ($StrViewerJSFileName) = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1436 if ($Options{strviewerjsfile}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1437 $StrViewerJSFileName = $Options{strviewerjsfile};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1438 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1439 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1440 if ($OptionsInfo{StrViewerType} =~ /^Jmol$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1441 $StrViewerJSFileName = "Jmol.js";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1442 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1443 elsif ($OptionsInfo{StrViewerType} =~ /^MarvinView$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1444 $StrViewerJSFileName = "marvin.js";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1445 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1446 elsif ($OptionsInfo{StrViewerType} =~ /^(ChemDrawPlugIn|ChemDrawActiveX)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1447 $StrViewerJSFileName = "chemdraw.js";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1448 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1449 elsif ($OptionsInfo{StrViewerType} =~ /^Chem3DActiveX$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1450 $StrViewerJSFileName = "chem3d.js";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1451 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1452 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1453 if ($StrViewerJSFileName) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1454 $OptionsInfo{StrViewerParams}{usejavascript} = $StrViewerJSFileName;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1455 $OptionsInfo{StrViewerJSFileRef} = "$OptionsInfo{StrViewerCodeBase}" . "\/" . "$StrViewerJSFileName";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1456 $OptionsInfo{TopHTMLDirStrViewerJSFileRef} = "$OptionsInfo{TopHTMLDirStrViewerCodeBase}" . "\/" . "$StrViewerJSFileName";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1457 $OptionsInfo{SubHTMLDirStrViewerJSFileRef} = "$OptionsInfo{SubHTMLDirStrViewerCodeBase}" . "\/" . "$StrViewerJSFileName";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1458 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1459 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1460
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1461 # Check any other user specified parametrs applicable to all structure viewers...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1462
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1463 $OptionsInfo{StructuresOnlyMode} = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1464 $OptionsInfo{MaxCmpdsPerTable} = ($Options{structure} =~ /^display$/i) ? 15 : 50;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1465 if (exists $Options{numcmpds}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1466 $OptionsInfo{MaxCmpdsPerTable} = $Options{numcmpds};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1467 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1468 if ($Options{mode} =~ /^(structuresonly|shadedstructuresonly)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1469 $OptionsInfo{MaxCmpdsPerTable} = ($OptionsInfo{MaxCmpdsPerTable} > 0) ? ($OptionsInfo{StrTableRows} * $OptionsInfo{StrTableCols}) : 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1470 $OptionsInfo{StructuresOnlyMode} = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1471 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1472 $OptionsInfo{CmpdDataField} = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1473 $OptionsInfo{CmpdDataFieldLabel} = "no";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1474 $OptionsInfo{CmpdDataFieldPosition} = "bottom";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1475 $OptionsInfo{CmpdDataFieldAlignment} = "center";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1476 if (exists($Options{cmpddatafield}) && length($Options{cmpddatafield})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1477 my (@CmpdDataFieldValues) = split ",", $Options{cmpddatafield};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1478 if (@CmpdDataFieldValues == 1) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1479 $OptionsInfo{CmpdDataField} = $CmpdDataFieldValues[0];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1480 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1481 elsif (@CmpdDataFieldValues == 2) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1482 $OptionsInfo{CmpdDataField} = $CmpdDataFieldValues[0];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1483 $OptionsInfo{CmpdDataFieldLabel} = $CmpdDataFieldValues[1];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1484 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1485 elsif (@CmpdDataFieldValues == 3) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1486 $OptionsInfo{CmpdDataField} = $CmpdDataFieldValues[0];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1487 $OptionsInfo{CmpdDataFieldLabel} = $CmpdDataFieldValues[1];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1488 $OptionsInfo{CmpdDataFieldPosition} = $CmpdDataFieldValues[2];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1489 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1490 elsif (@CmpdDataFieldValues == 4) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1491 $OptionsInfo{CmpdDataField} = $CmpdDataFieldValues[0];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1492 $OptionsInfo{CmpdDataFieldLabel} = $CmpdDataFieldValues[1];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1493 $OptionsInfo{CmpdDataFieldPosition} = $CmpdDataFieldValues[2];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1494 $OptionsInfo{CmpdDataFieldAlignment} = $CmpdDataFieldValues[3];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1495 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1496 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1497 die "Error: Invalid number of values, ", scalar(@CmpdDataFieldValues) , ", specified by \"--cmpddatafield\" option.\nIt must contain only one, two, three, or four values.\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1498 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1499 if ($OptionsInfo{CmpdDataFieldLabel} !~ /^(yes|no)$/ ) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1500 die "Error: The label value specified, $Options{cmpddatafield}, for option \"--cmpddatafield\" is not valid. Allowed values: yes or no\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1501 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1502 if ($OptionsInfo{CmpdDataFieldPosition} !~ /^(top|bottom)$/ ) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1503 die "Error: The position value specified, $Options{cmpddatafield}, for option \"--cmpddatafield\" is not valid. Allowed values: top or bottom\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1504 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1505 if ($OptionsInfo{CmpdDataFieldAlignment} !~ /^(left|center|right)$/ ) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1506 die "Error: The alignment value specified, $Options{cmpddatafield}, for option \"--cmpddatafield\" is not valid. Allowed values: left, center, or right\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1507 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1508 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1509
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1510 # Process data fields to be displayed in tables...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1511 $OptionsInfo{SpecifiedDataFields} = exists($Options{datafields}) ? $Options{datafields} : "All";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1512
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1513 $OptionsInfo{ValueOkColor} = ""; $OptionsInfo{ValueNotOkColor} = ""; $OptionsInfo{HighlightStatus} = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1514 if ($Options{mode} =~ /^(highlight|shadedhighlight)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1515 my($HighlightMode, $HighlightBy);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1516 $HighlightMode = $Options{mode}; $HighlightBy = $Options{highlightby};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1517
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1518 $OptionsInfo{HighlightStatus} = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1519 $OptionsInfo{ValueOkColor} = "#0fff0f";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1520 $OptionsInfo{ValueNotOkColor} = "#ff0f0f";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1521 if ($Options{highlightstyle} =~ /^text$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1522 $OptionsInfo{ValueOkColor} = "#0fbb0f";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1523 $OptionsInfo{ValueNotOkColor} = "#ff0f0f";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1524 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1525 if ($Options{highlightcolor}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1526 # Make sure two values are specified...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1527 @ColorValues = split ",", $Options{highlightcolor};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1528 if (@ColorValues == 2) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1529 $OptionsInfo{ValueOkColor} = $ColorValues[0];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1530 $OptionsInfo{ValueNotOkColor} = $ColorValues[1];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1531 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1532 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1533 die "Error: Invalid number of values, ", scalar(@ColorValues), ", specified by \"--highlightcolor\" option.\nIt must contain only two value for $HighlightMode value specified using \"-m --mode\" option.\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1534 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1535 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1536 if (!$Options{highlight}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1537 die "Error: Specify columns to be highlighted using \"--hightlight\" option\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1538 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1539 # Retrieve quartet values from "hightlight" option...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1540 my(@HighlightValueQuartets);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1541
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1542 @HighlightValueQuartets = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1543 @HighlightValueQuartets = split ",", $Options{highlight};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1544 if ((@HighlightValueQuartets % 4)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1545 die "Error: Quartets not found in values specified using \"--highlight\" option for $HighlightMode \"-m --mode\"\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1546 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1547 # Process quartets...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1548 my($Index, $Label, $DataType, $Criterion, $Value);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1549
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1550 @{$OptionsInfo{SpecifiedHighlightDataFieldLabels}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1551 %{$OptionsInfo{SpecifiedHighlightDataFieldLabelsMap}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1552 %{$OptionsInfo{SpecifiedHighlightDataFieldTypesMap}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1553 %{$OptionsInfo{SpecifiedHighlightDataFieldCriteriaMap}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1554 %{$OptionsInfo{SpecifiedHighlightDataFieldValueMap}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1555
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1556 for ($Index = 0; $Index < @HighlightValueQuartets; $Index = $Index + 4) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1557 $Label = $HighlightValueQuartets[$Index];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1558 $DataType = $HighlightValueQuartets[$Index + 1];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1559 $Criterion = $HighlightValueQuartets[$Index + 2];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1560 $Value = $HighlightValueQuartets[$Index + 3];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1561 if ($DataType !~ /^(numeric|text)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1562 die "Error: Invalid column data type, $DataType, specified in quartet, \"$Label,$DataType,$Criterion,$Value\", using \"--hightlight\" option: Valid values: numeric or text\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1563 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1564 if ($Criterion !~ /^(eq|le|ge)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1565 die "Error: Invalid criterion value, $Criterion, specified in quartet, \"$Label,$DataType,$Criterion,$Value\", using \"--hightlight\" option: Valid values: le, ge, or eq\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1566 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1567 if ($DataType =~ /^numeric$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1568 if (!IsFloat($Value)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1569 die "Error: Invalid criterion value, $Value, specified in quartet, \"$Label,$DataType,$Criterion,$Value\", using \"--hightlight\" option: Numeric value required for numeric data type\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1570 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1571 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1572 if (exists($OptionsInfo{SpecifiedHighlightDataFieldLabelsMap}{$Label})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1573 die "Error: Invalid field label value, $Label, in quartet, \"$Label,$DataType,$Criterion,$Value\", using \"--hightlight\" option: Multiple occurences of label. \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1574 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1575 push @{$OptionsInfo{SpecifiedHighlightDataFieldLabels}}, $Label;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1576 $OptionsInfo{SpecifiedHighlightDataFieldLabelsMap}{$Label} = $Label;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1577 $OptionsInfo{SpecifiedHighlightDataFieldTypesMap}{$Label} = $DataType;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1578 $OptionsInfo{SpecifiedHighlightDataFieldCriteriaMap}{$Label} = $Criterion;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1579 $OptionsInfo{SpecifiedHighlightDataFieldValueMap}{$Label} = $Value;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1580 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1581 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1582 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1583
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1584 # Set up default archive and code values for a specific applet...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1585 sub SetupDefaultAppletArchiveAndCode {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1586 my($ViewerType) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1587 my($Archive, $Code, $Nothing);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1588
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1589 STRVIEWERTYPE: {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1590 if ($OptionsInfo{StrViewerType} =~ /^JME$/i) { $Archive = "JME.jar"; $Code = "JME"; last STRVIEWERTYPE; }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1591 if ($OptionsInfo{StrViewerType} =~ /^Jmol$/i) {$Archive = "JmolApplet.jar"; $Code = "JmolApplet"; last STRVIEWERTYPE; }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1592 if ($OptionsInfo{StrViewerType} =~ /^MarvinView$/i) { $Archive = "marvin.jar"; $Code = "MView"; last STRVIEWERTYPE; }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1593 $Nothing = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1594 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1595 return ($Archive, $Code);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1596 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1597
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1598 # Retrieve information about input SD files...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1599 sub RetrieveSDFilesInfo {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1600 my($SDFile, $FileDir, $FileName, $HTMLFile, $CSSFile, $HTMLRoot, $HTMLTitle, $FileExt, $Index, $TopHTMLDir);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1601
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1602 %SDFilesInfo = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1603
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1604 @{$SDFilesInfo{FileOkay}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1605 @{$SDFilesInfo{CmpdCount}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1606 @{$SDFilesInfo{SpecifiedDataFieldLabels}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1607
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1608 @{$SDFilesInfo{HTMLRoot}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1609 @{$SDFilesInfo{HTMLTitle}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1610 @{$SDFilesInfo{MultipleHTMLTables}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1611
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1612 @{$SDFilesInfo{TopHTMLDir}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1613 @{$SDFilesInfo{SubHTMLDir}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1614 @{$SDFilesInfo{SubMolDir}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1615
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1616
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1617 FILELIST: for $Index (0 .. $#SDFilesList) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1618 $SDFile = $SDFilesList[$Index];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1619
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1620 $SDFilesInfo{FileOkay}[$Index] = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1621 $SDFilesInfo{CmpdCount}[$Index] = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1622 $SDFilesInfo{HTMLRoot}[$Index] = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1623 $SDFilesInfo{HTMLTitle}[$Index] = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1624 $SDFilesInfo{MultipleHTMLTables}[$Index] = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1625 $SDFilesInfo{TopHTMLDir}[$Index] = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1626 $SDFilesInfo{SubHTMLDir}[$Index] = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1627 $SDFilesInfo{SubMolDir}[$Index] = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1628
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1629 @{$SDFilesInfo{SpecifiedDataFieldLabels}[$Index]} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1630
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1631 if (!(-e $SDFile)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1632 warn "Warning: Ignoring file $SDFile: It doesn't exist\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1633 next FILELIST;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1634 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1635 if (!CheckFileType($SDFile, "sd sdf")) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1636 warn "Warning: Ignoring file $SDFile: It's not a SD file\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1637 next FILELIST;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1638 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1639 ($FileDir, $FileName, $FileExt) = ParseFileName($SDFile);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1640
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1641 if (!open SDFILE, "$SDFile") {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1642 warn "Warning: Ignoring file $SDFile: Couldn't open it: $! \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1643 next FILELIST;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1644 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1645 # Count number of compounds and collect all possible data field labels...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1646 my($CmpdCount, $CmpdString, @DataFieldLabels, @CommonDataFieldLabels);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1647 $CmpdCount = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1648 @DataFieldLabels = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1649 @CommonDataFieldLabels = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1650 if ($OptionsInfo{SpecifiedDataFields} =~ /^(All|Common)$/i ) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1651 my($DataFieldLabelsRef, $CommonDataFieldLabelsRef);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1652 ($CmpdCount, $DataFieldLabelsRef, $CommonDataFieldLabelsRef) = GetAllAndCommonCmpdDataHeaderLabels(\*SDFILE);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1653 push @DataFieldLabels, @{$DataFieldLabelsRef};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1654 push @CommonDataFieldLabels, @{$CommonDataFieldLabelsRef};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1655 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1656 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1657 while ($CmpdString = ReadCmpdString(\*SDFILE)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1658 $CmpdCount++;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1659 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1660 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1661 close SDFILE;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1662
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1663 $FileDir = ""; $FileName = ""; $FileExt = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1664 ($FileDir, $FileName, $FileExt) = ParseFileName($SDFile);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1665 $HTMLRoot = $FileName;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1666 if ($Options{root} && (@SDFilesList == 1)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1667 my ($RootFileDir, $RootFileName, $RootFileExt) = ParseFileName($Options{root});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1668 if ($RootFileName && $RootFileExt) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1669 $HTMLRoot = $RootFileName;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1670 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1671 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1672 $HTMLRoot = $Options{root};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1673 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1674 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1675 $HTMLTitle = $HTMLRoot;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1676 if ($Options{title} && (@SDFilesList == 1)) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1677 $HTMLTitle = $Options{title};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1678 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1679 $HTMLFile = lc($HTMLRoot) . "-html";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1680 if (!$Options{overwrite}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1681 if (-d $HTMLFile) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1682 warn "Warning: Ignoring file $SDFile: The directory $HTMLFile already exists\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1683 next FILELIST;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1684 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1685 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1686 $SDFilesInfo{FileOkay}[$Index] = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1687 $SDFilesInfo{CmpdCount}[$Index] = $CmpdCount;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1688 $SDFilesInfo{HTMLRoot}[$Index] = "$HTMLRoot";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1689 $SDFilesInfo{HTMLTitle}[$Index] = "$HTMLTitle";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1690 if ($OptionsInfo{MaxCmpdsPerTable} == 0 || $CmpdCount <= $OptionsInfo{MaxCmpdsPerTable}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1691 $SDFilesInfo{MultipleHTMLTables}[$Index] = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1692 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1693 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1694 $SDFilesInfo{MultipleHTMLTables}[$Index] = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1695 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1696 if ($OptionsInfo{SpecifiedDataFields} =~ /^All$/i ) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1697 push @{$SDFilesInfo{SpecifiedDataFieldLabels}[$Index]}, @DataFieldLabels;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1698 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1699 elsif ($OptionsInfo{SpecifiedDataFields} =~ /^Common$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1700 push @{$SDFilesInfo{SpecifiedDataFieldLabels}[$Index]}, @CommonDataFieldLabels;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1701 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1702 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1703 push @{$SDFilesInfo{SpecifiedDataFieldLabels}[$Index]}, split(",", $OptionsInfo{SpecifiedDataFields});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1704 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1705
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1706 # Setup HTML data directories paths...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1707 $TopHTMLDir = lc($SDFilesInfo{HTMLRoot}[$Index]) . "-html";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1708 $SDFilesInfo{TopHTMLDir}[$Index] = "$TopHTMLDir";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1709 $SDFilesInfo{SubHTMLDir}[$Index] = "$TopHTMLDir\/html";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1710 $SDFilesInfo{SubMolDir}[$Index] = "$TopHTMLDir\/mol";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1711 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1712 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1713
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1714 # Setup information...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1715 sub SetupMultipleTablesAndMiscInfo {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1716 SetupMultipleTablesInfo();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1717 SetupMiscInfo();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1718 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1719
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1720 # Setup navigation link information for multiple tables...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1721 sub SetupMultipleTablesInfo {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1722 my($Index, $LinesPerTable);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1723
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1724 $LinesPerTable = $OptionsInfo{MaxCmpdsPerTable};
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1725
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1726 @{$SDFilesInfo{TableCount}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1727 @{$SDFilesInfo{TableHTMLFiles}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1728 @{$SDFilesInfo{TableStartCmpdNum}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1729 @{$SDFilesInfo{TableEndCmpdNum}} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1730
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1731 for $Index (0 .. $#SDFilesList) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1732 $SDFilesInfo{TableCount}[$Index] = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1733 @{$SDFilesInfo{TableHTMLFiles}[$Index]} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1734 @{$SDFilesInfo{TableStartCmpdNum}[$Index]} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1735 @{$SDFilesInfo{TableEndCmpdNum}[$Index]} = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1736
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1737 if ($SDFilesInfo{FileOkay}[$Index]) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1738 if ($SDFilesInfo{MultipleHTMLTables}[$Index]) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1739 my($TableIndex, $TotalLines, $TableCount, $TableStartLineNum, $TableEndLineNum, $Name);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1740
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1741 $TotalLines = $SDFilesInfo{CmpdCount}[$Index];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1742 $TableCount = ($TotalLines % $LinesPerTable) ? (int($TotalLines/$LinesPerTable) + 1) : ($TotalLines/$LinesPerTable);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1743 $SDFilesInfo{TableCount}[$Index] = $TableCount;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1744 for $TableIndex (1 .. $TableCount) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1745 $TableStartLineNum = ($TableIndex - 1) * $LinesPerTable + 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1746 $TableEndLineNum = ($TableIndex == $TableCount) ? $TotalLines : ($TableIndex * $LinesPerTable);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1747 push @{$SDFilesInfo{TableStartCmpdNum}[$Index]}, $TableStartLineNum;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1748 push @{$SDFilesInfo{TableEndCmpdNum}[$Index]}, $TableEndLineNum;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1749
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1750 # Setup HTML file names for all the tables...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1751 $Name = "Cmpd" . "$TableStartLineNum" . "To" . "$TableEndLineNum";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1752 if ($TableIndex == 1) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1753 $Name = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1754 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1755 $Name = $SDFilesInfo{HTMLRoot}[$Index] . $Name . ".html";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1756 push @{$SDFilesInfo{TableHTMLFiles}[$Index]}, $Name;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1757 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1758 #print "$SDFilesList[$Index]: $TableCount - @{$SDFilesInfo{TableStartCmpdNum}[$Index]} - @{$SDFilesInfo{TableEndCmpdNum}[$Index]} - @{$SDFilesInfo{TableHTMLFiles}[$Index]}\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1759 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1760 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1761 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1762 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1763
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1764 # Setup HTML tags and other information...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1765 sub SetupMiscInfo {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1766 $SDFilesInfo{RowHeaderTags} = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1767 $SDFilesInfo{RowEndTags} = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1768 $SDFilesInfo{BgFilledOddRowHeaderTags} = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1769 $SDFilesInfo{BgFilledEvenRowHeaderTags} = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1770 $SDFilesInfo{TableRowHeaderTags} = "";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1771
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1772 $SDFilesInfo{RowHeaderTags} = SetupHTMLTableRowHeader($OptionsInfo{RowHAlignment}, "", $OptionsInfo{RowVAlignment});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1773 $SDFilesInfo{RowEndTags} = SetupHTMLTableRowEnd();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1774
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1775 if ($OptionsInfo{ShadeRowsStatus}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1776 $SDFilesInfo{BgFilledOddRowHeaderTags} = SetupHTMLTableRowHeader($OptionsInfo{RowHAlignment}, $OptionsInfo{OddRowsShadeColor}, $OptionsInfo{RowVAlignment});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1777 $SDFilesInfo{BgFilledEvenRowHeaderTags} = SetupHTMLTableRowHeader($OptionsInfo{RowHAlignment}, $OptionsInfo{EvenRowsShadeColor}, $OptionsInfo{RowVAlignment});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1778 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1779
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1780 $SDFilesInfo{TableRowHeaderTags} = SetupHTMLTableRowHeader($OptionsInfo{TableHeaderRowHAlignment}, $OptionsInfo{TableHeaderRowColor}, $OptionsInfo{TableHeaderRowVAlignment});
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1781
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1782 $SDFilesInfo{MolEndTag} = "M END";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1783 $SDFilesInfo{White} = qq(#ffffff);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1784 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1785
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1786 # Setup various data directories to hold HTML and other related files...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1787 sub SetupDataDirs {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1788 my($Index) = @_;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1789 my($TopHTMLDir, $SubHTMLDir, $SubMolDir, $CreateTopHTMLDir, $CreateSubHTMLDir, $CreateSubMolDir);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1790
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1791 $TopHTMLDir = $SDFilesInfo{TopHTMLDir}[$Index];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1792 $SubHTMLDir = $SDFilesInfo{SubHTMLDir}[$Index];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1793 $SubMolDir = $SDFilesInfo{SubMolDir}[$Index];
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1794
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1795 # Clean up existing directories...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1796 if (-d $TopHTMLDir) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1797 unlink "<$TopHTMLDir/*.html>";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1798 unlink "<$TopHTMLDir/*.css>";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1799 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1800 if (-d $SubHTMLDir) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1801 unlink "<$SubHTMLDir/*.html>";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1802 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1803 if (-d $SubMolDir) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1804 unlink "<$SubMolDir/*.mol>";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1805 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1806
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1807 # What directories need to be created...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1808 $CreateTopHTMLDir = (-d $TopHTMLDir) ? 0 : 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1809 $CreateSubHTMLDir = (-d $SubHTMLDir) ? 0 : 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1810 $CreateSubMolDir = 0;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1811 if ($OptionsInfo{StrViewerType} =~ /^(Jmol|Chime|Chem3DActiveX|ChemDrawActiveX|ChemDrawPlugIn|ViewerActiveX)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1812 $CreateSubMolDir = (-d $SubMolDir) ? 0 : 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1813 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1814
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1815 # Create appropriate directories...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1816 if ($CreateTopHTMLDir) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1817 mkdir $TopHTMLDir or die "Couldn't mkdir $TopHTMLDir: $! \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1818 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1819 if ($CreateSubHTMLDir) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1820 mkdir $SubHTMLDir or die "Error: Couldn't mkdir $SubHTMLDir: $! \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1821 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1822 else {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1823 unlink <$SubHTMLDir/*.html>;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1824 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1825 if ($CreateSubMolDir) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1826 mkdir $SubMolDir or die "Error: Couldn't mkdir $SubMolDir: $! \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1827 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1828 return ($TopHTMLDir, $SubHTMLDir, $SubMolDir);
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1829 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1830
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1831 # Setup script usage and retrieve command line arguments specified using various options...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1832 sub SetupScriptUsage {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1833
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1834 # Retrieve all the options...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1835 %Options = ();
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1836
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1837 $Options{mode} = "shade";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1838 $Options{highlightstyle} = "background";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1839
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1840 $Options{cellpadding} = 2;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1841 $Options{cellspacing} = 1;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1842
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1843 $Options{displaylinks} = "both";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1844 $Options{displaylinksinfo} = "both";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1845 $Options{stylesheet} = "new";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1846
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1847 $Options{structure} = "display";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1848 $Options{strlinktype} = "href";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1849 $Options{strlinkmode} = "plain";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1850 $Options{strlinknavigation} = "yes";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1851 $Options{strlinktitledisplay} = "no";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1852
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1853 $Options{strviewertype} = "Jmol";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1854 $Options{strviewerembed} = "direct";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1855
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1856 $Options{titledisplay} = "yes";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1857
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1858 if (!GetOptions(\%Options, "align|a=s", "border|b=i", "cellpadding=i", "cellspacing=i", "cmpddatafield|c=s", "datafields=s", "footer=s", "displaylinks|d=s", "displaylinksinfo=s", "help|h", "headeralign=s", "headercolor=s", "highlight=s", "highlightcolor=s", "highlightstyle=s", "mode|m=s", "numcmpds|n=i", "overwrite|o", "root|r=s", "shadecolor=s", "stylesheet=s", "stylesheetname=s", "structure|s=s", "strlinkmode=s", "strlinknavigation=s", "strlinkshadecolor=s", "strlinktitle=s", "strlinktitledisplay=s", "strlinktype=s", "strviewertype=s", "strviewerconfig=s", "strviewerparams=s", "strviewerembed=s", "strviewerjsfile=s", "strtablesize=s", "title|t=s", "titledisplay=s", "workingdir|w=s")) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1859 die "\nTo get a list of valid options and their values, use \"$ScriptName -h\" or\n\"perl -S $ScriptName -h\" command and try again...\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1860 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1861
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1862 if ($Options{workingdir}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1863 if (! -d $Options{workingdir}) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1864 die "Error: The value specified, $Options{workingdir}, for option \"-w --workingdir\" is not a directory name.\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1865 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1866 chdir $Options{workingdir} or die "Error: Couldn't chdir $Options{workingdir}: $! \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1867 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1868 if ($Options{displaylinks} !~ /^(top|bottom|both)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1869 die "Error: The value specified, $Options{displaylinks}, for option \"-d --displaylinks\" is not valid. Allowed values: top, bottom, or both\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1870 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1871 if ($Options{displaylinksinfo} !~ /^(compound|table|both)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1872 die "Error: The value specified, $Options{displaylinksinfo}, for option \"--displaylinksinfo\" is not valid. Allowed values: compound, table, or both\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1873 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1874 if ($Options{highlightstyle} !~ /^(background|text)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1875 die "Error: The value specified, $Options{highlightstyle}, for option \"--highlightstyle\" is not valid. Allowed values: background or text\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1876 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1877 if ($Options{mode} !~ /^(plain|shade|highlight|shadedhighlight|structuresonly|shadedstructuresonly)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1878 die "Error: The value specified, $Options{mode}, for option \"-m --mode\" is not valid. Allowed values: plain, shade, hightlight, shadedhighlight, structuresonly, or shadedstructuresonly\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1879 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1880 if ($Options{stylesheet} !~ /^(old|new|none)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1881 die "Error: The value specified, $Options{stylesheet}, for option \"-s --stylesheet\" is not valid. Allowed values: old, new, or none\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1882 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1883 if ($Options{structure} !~ /^(display|link)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1884 die "Error: The value specified, $Options{structure}, for option \"-s --structure\" is not valid. Allowed values: display or link\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1885 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1886 if ($Options{strlinkmode} !~ /^(plain|shade)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1887 die "Error: The value specified, $Options{strlinkmode}, for option \"--strlinkmode\" is not valid. Allowed values: plain or shade\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1888 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1889 if ($Options{strlinktype} !~ /^(href|button)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1890 die "Error: The value specified, $Options{strlinktype}, for option \"--strlinktype\" is not valid. Allowed values: href or button\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1891 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1892 if ($Options{strlinknavigation} !~ /^(yes|no)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1893 die "Error: The value specified, $Options{strlinknavigation}, for option \"--strlinknavigation\" is not valid. Allowed values: yes or no\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1894 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1895 if ($Options{strlinktitledisplay} !~ /^(yes|no)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1896 die "Error: The value specified, $Options{strlinktitledisplay}, for option \"--strlinktitledisplay\" is not valid. Allowed values: yes or no\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1897 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1898 if ($Options{strviewertype} !~ /^(JME|Jmol|Chime|MarvinView|ChemDrawPlugIn|Chem3DActiveX|ChemDrawActiveX|ViewerActiveX)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1899 die "Error: The value specified, $Options{strviewertype}, for option \"--strviewertype\" is not valid. Allowed values: Chem3DActiveX, ChemDrawActiveX, ChemDrawPlugIn, Chime, JME, Jmol, MarvinView, or ViewerActiveX.\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1900 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1901 if ($Options{strviewerembed} !~ /^(direct|javascript)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1902 die "Error: The value specified, $Options{strviewerembed}, for option \"--strviewerembed\" is not valid. Allowed values: direct or javascript \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1903 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1904 if (exists $Options{numcmpds} && $Options{numcmpds} < 0) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1905 die "Error: The value specified, $Options{numcmpds}, for option \"-n --numcmpds\" is not valid. Allowed values: >= 0 \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1906 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1907 if ($Options{titledisplay} !~ /^(yes|no)$/i) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1908 die "Error: The value specified, $Options{titledisplay}, for option \"--titledisplay\" is not valid. Allowed values: yes or no\n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1909 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1910 if (exists($Options{border})) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1911 if ($Options{border} < 0) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1912 die "Error: The value specified, $Options{border}, for option \"--border\" is not valid. Allowed values: >= 0 \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1913 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1914 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1915 if ($Options{cellpadding} < 0) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1916 die "Error: The value specified, $Options{cellpadding}, for option \"--cellpadding\" is not valid. Allowed values: >= 0 \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1917 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1918 if ($Options{cellspacing} < 0) {
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1919 die "Error: The value specified, $Options{cellspacing}, for option \"--cellspacing\" is not valid. Allowed values: >= 0 \n";
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1920 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1921 }
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1922
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1923 __END__
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1924
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1925 =head1 NAME
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1926
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1927 SDFilesToHTML.pl - Generate HTML table file(s) from SDFile(s)
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1928
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1929 =head1 SYNOPSIS
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1930
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1931 SDFilesToHTML.pl SDFiles(s)...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1932
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1933 SDFilesToHTML.pl [B<-a, --align> left | center | right,[top | middle | bottom]] [B<-b, --border> borderwidth] [B<--cellpadding> padding]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1934 [B<--cellspacing> spacing] [B<--cmpddatafield> "fieldlabel,[label,position,alignment]"] [B<--datafields> "fieldlabel,[fieldlabel]..." | Common | All]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1935 [B<--footer> string] [B<-d, --displaylinks> top | bottom | both] [B<--displaylinksinfo> compound | table | both] [B<-h, --help>]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1936 [B<--headeralign> left | center | right,[top | middle | bottom]] [B<--headercolor> "#RRGGBB"]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1937 [B<--highlight> "fieldlabel,datatype,criterion,value,[fieldlabel,datatype,criterion,value,...]"]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1938 [B<--highlightcolor> "#RRGGBB,#RRGGBB"] [B<--highlightstyle> text | background]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1939 [B<-m, --mode> plain | shade | highlight | shadedhighlight | structuresonly | shadedstructuresonly]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1940 [B<-n, --numcmpds> number] [B<-o, --overwrite>] [B<-r, --root> rootname] [B<-s, --structure> display | link]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1941 [B<--strlinkmode> plain | shaded] [B<--strlinknavigation> yes | no]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1942 [B<--strlinkshadecolor> "#RRGGBB"] [B<--strlinktitle> string] [B<--strlinktitledisplay> yes | no] [B<--strlinktype> href | button]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1943 [B<--strviewertype> Chem3DActiveX | ChemDrawActiveX | ChemDrawPlugIn | Chime | JME | Jmol | MarvinView | ViewerActiveX]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1944 [B<--strviewerconfig> codebase[,archive,code]] [B<--strviewerparams> "name=value [name=value ...]"]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1945 [B<--strviewerembed> direct | javascript] [B<--strviewerjsfile> javascriptfilename]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1946 [B<--strtablesize> "numrows,numcols"] [B<--stylesheet> old | new | none]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1947 [B<--stylesheetname> filename] [B<--shadecolor> "#RRGGBB,#RRGGBB"] [B<-t, --title> string] [B<--titledisplay> yes | no]
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1948 [B<-w, --workingdir> dirname] SDFiles(s)...
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1949
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1950 =head1 DESCRIPTION
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1951
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1952 Generate HTML file(s) from I<SDFile(s)>. The HTML file(s) contain data tables
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1953 and appropriate navigational links to view other tables; navigational links are also
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1954 provided on compound HTML pages. These files can be generated for local viewing or
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1955 deployment on a web server. A variety of options are provided to control style and
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1956 appearance of tables. And for viewing structures, options are available to use any one of
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1957 these viewers: Chem3DActiveX, ChemDrawActiveX, ChemDrawPlugIn, Chime, Jmol, JME,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1958 MarvinView, or ViewerActiveX. Jmol is the default structure viewer and it is also distributed
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1959 along with this package; however, to use any other supported viewers, make sure it's available
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1960 in your environment.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1961
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1962 Multiple I<SDFile(s)> names are separated by space. The valid file extensions are
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1963 I<.sdf> and I<.sd>. All other file names are ignored. All the SD files in a current directory can
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1964 be specified either by I<*.sdf> or the current directory name.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1965
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1966 =head1 OPTIONS
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1967
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1968 =over 4
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1969
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1970 =item B<-a, --align> I<left | center | right,[top | middle | bottom]>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1971
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1972 Horizontal and vertical alignment for table rows except for header row which is specified
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1973 using B<--headeralign> option. Possible horizontal alignment values: I<left, center, or right>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1974 Possible vertical alignment values: I<top, middle, or bottom>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1975
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1976 Default values: I<left,middle>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1977
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1978 =item B<-b, --border> I<borderwidth>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1979
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1980 Table border width. Default value: 1 for I<plain> and I<highlight> mode; 0 for I<shade>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1981 and I<shadedhightlight> mode. Zero indicates no border.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1982
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1983 =item B<--cellpadding> I<padding>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1984
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1985 Table cell padding. Default value: I<2>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1986
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1987 =item B<--cellspacing> I<spacing>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1988
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1989 Table cell spacing. Default value: I<1>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1990
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1991 =item B<--cmpddatafield> I<fieldlabel,[label,position,alignment]>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1992
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1993 This value is mode specific. It indicates data field value to be displayed with the structure along
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1994 with its label, position and alignment during I<structuresonly | shadedstructuresonly> value of B<-m, --mode>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1995 option. Possible values: feldlabel - valid data field label; label - yes or no; position - I<top or bottom>; alignment
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1996 - I<left, center, or right>. Default: I<none,no,bottom,center>. Example:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1997
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1998 MolWt,no,bottom,middle
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
1999
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2000 B<--cmpddatafield> option value is also linked to compound summary page.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2001
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2002 =item B<--datafields> I<"fieldlabel,[fieldlabel]..." | Common | All>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2003
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2004 Data fields to display in HTML table(s). Possible values: list of comma separated data field
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2005 labels, data fields common to all records, or all data fields. Default value: I<All>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2006 Examples:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2007
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2008 ALogP,MolWeight,EC50
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2009 "MolWeight,PSA"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2010
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2011 =item B<--footer> I<string>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2012
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2013 Text string to be included at bottom of each HTML file. Default: none.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2014
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2015 =item B<-d --displaylinks> I<top | bottom | both>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2016
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2017 Specify where to display navigation links in each HTML file for accessing all other HTML
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2018 files. Possible values: I<top, bottom, or both>. Default: I<both>. This option is
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2019 only valid during multiple HTML files generation for an input file.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2020
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2021 =item B<--displaylinksinfo> I<compound | table | both>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2022
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2023 Control display of additional information along with navigational links: Showing compound
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2024 n of m is displyed for compound and showing table n of m for table. Possible values: I<compound
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2025 | table | both>. Default: I<both>. This option is only valid during multiple HTML files generation.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2026
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2027 =item B<-h, --help>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2028
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2029 Print this help message.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2030
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2031 =item B<--headeralign> I<left | center | right,[top | middle | bottom>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2032
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2033 Horizontal and vertical alignment for table header rows. Possible horizontal alignment
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2034 values: I<left, center, or right>. Possible vertical alignment values: I<top, middle, or bottom>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2035
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2036 Default values: I<center,middle>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2037
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2038 =item B<--headercolor> I<#RRGGBB>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2039
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2040 Color used to fill background of table header row containing column labels
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2041 represented as a hexadecimal string. Default value: None for B<-m, --mode> option
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2042 value of I<plain> and I<#ccccff>, light blue, for others.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2043
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2044 =item B<--highlight> I<"fieldlabel,datatype,criterion,value,[fieldlabel,datatype,criterion,value,...]">
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2045
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2046 Highlighting methodology used to highlight various SDFile(s) data field values in
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2047 HTML file(s). Same set of quartets values are applied to all SDFile(s).
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2048
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2049 Input text contains these quartets: I<fieldlabel,datatype,criterion,value,...>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2050 Possible datatype values: I<numeric or text>. Possible criterion values: I<le, ge, or eq>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2051 Examples:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2052
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2053 "MolWt,numeric,le,450"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2054 "MolWt,numeric,le,450,LogP,numeric,le,5"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2055 Name,text,eq,Aspirin
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2056
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2057 =item B<--highlightcolor> I<"#RRGGBB,#RRGGBB">
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2058
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2059 Colors used to highlight column values during I<highlight> and I<shadedhightlight>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2060 mode represented as hexadecimal strings.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2061
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2062 For B<--highlighstyle> option values of I<text> and I<background>, these colors represent
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2063 text or background colors respectively. For a specific column, first color string is used for
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2064 values which meet criterion indicated by B<--highlight> option; the second color is used for
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2065 rest of the values.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2066
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2067 Default values for I<background> B<--highlightstyle>: I<"#0fff0f,#ff0f0f">. And default values for
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2068 I<text> B<--highlightstyle>: I<"#0fbb0f,#ff0f0f">. Hexadecimal strings for both B<--highlightstyle>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2069 colors correspond to I<reddish> and I<greenish>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2070
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2071 =item B<--highlightstyle> I<text | background>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2072
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2073 This value is mode specific. It indicates highlight style used to differentiate column
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2074 values which meet a specified criterion in B<--highlight> option. Possible values: I<text or
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2075 background>. Default: I<background>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2076
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2077 =item B<-m, --mode> I<plain | shade | highlight | shadedhighlight | structuresonly | shadedstructuresonly>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2078
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2079 Specify how to generate HTML table(s): plain tables with line borders, background of
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2080 alternate rows filled with a specified color, column values highlighted using a specified
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2081 criteria, combination of previous two styles, tables containing only structures, or tables
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2082 containing only structures with filled background of alternate rows.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2083
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2084 Possible values: I<plain, shade, highlight, shadedhighlight, structuresonly, or
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2085 shadedstructuresonly>. Default: I<shade>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2086
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2087 =item B<-n, --numcmpds> I<number>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2088
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2089 Maximum number of compounds per table. Default value: I<15> for tables with structures and
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2090 I<50> for tables with links to structures. Use 0 to put all compounds into one table. For SDFile(s)
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2091 with more than maximum number of specified compounds, multiple HTML tables, with appropriate
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2092 navigation links, are created.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2093
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2094 =item B<-o, --overwrite>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2095
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2096 Overwrite existing files.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2097
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2098 =item B<-r, --root> I<rootname>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2099
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2100 New file or directory name is generated using the root: <root>.html or <root>-html.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2101 Default new file name: <InitialSDFileName>.html. Default directory name:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2102 <InitialSDFileName>-html.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2103
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2104 For SDFile(s) with more than maximum number of specified compounds per table,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2105 this directory tree is generated using <Name> where <Name> corresponds to <root>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2106 or <InitialSDFileName>: Top dir - <Name>-html; Sub dirs - html and mols. <Top dir> contains
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2107 <Name>.html and <Name>.css files and <sub dir> html conatins various
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2108 <Name>Lines<Start>To<End>.html files; <sub dir> mols is created as needed and contains
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2109 MOL files.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2110
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2111 This option is ignored for multiple input files.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2112
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2113 =item B<-s, --structure> I<display | link>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2114
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2115 Structure display control: display structures in a table column or set up a link for each
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2116 structure which opens up a new HTML page containing structure and other appropriate
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2117 information. Possible values: I<display or link>. Default value: I<display>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2118
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2119 =item B<--strlinkmode> I<plain | shaded>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2120
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2121 Specify how to display compound HTML page: plain or background of data field
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2122 field labels is filled with a specified color. Possible values: I<plain or shad>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2123 Default value: I<plane>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2124
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2125 Structure viewer background color is white. Use B<--strviewerparams> option to change
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2126 default behavior of structure viewers.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2127
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2128 =item B<--strlinknavigation> I<yes | no>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2129
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2130 Display navigation links to other compounds in compound HTML page. Possible values:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2131 I<yes or no>. Default value: I<yes>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2132
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2133 =item B<--strlinkshadecolor> I<"#RRGGBB">
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2134
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2135 This value is B<--strlinkmode> specific. For I<shade> value of B<--strlinkmode> option, it
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2136 represents colors used to fill background of data field labels.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2137
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2138 Default value: I<"#e0e9eb"> - it's a very light blue color.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2139
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2140 =item B<--strlinktitle> I<string>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2141
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2142 Title for compound HTML page. Default value: I<Compound Summary>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2143
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2144 =item B<--strlinktitledisplay> I<yes | no>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2145
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2146 Display title for compound HTML page. Possible values: I<yes or no>. Default value: I<no>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2147
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2148 =item B<--strlinktype> I<href | button>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2149
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2150 Type of structure link. Possible values: I<href or button>. Default: I<href>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2151
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2152 =item B<--strviewertype> I<Chem3DActiveX | ChemDrawActiveX | ChemDrawPlugIn | Chime | JME | Jmol | MarvinView | ViewerActiveX>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2153
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2154 Structure viewer supported for viewing structures. Possible values: I<Chem3DActiveX,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2155 ChemDrawActiveX, ChemDrawPlugIn, Chime, JME, Jmol, MarvinView, or ViewerActiveX>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2156 Default value: I<Jmol>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2157
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2158 Assuming you have access to one of these viewers on your machine, you are all set
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2159 to use this script. Otherwise, visit one of these web sites to download and install
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2160 your favorite viewer:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2161
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2162 accelrys.com: Viewer ActiveX 5.0
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2163 cambridgesoft.com: Chem3DActiveX 8.0, ChemDrawActiveX 8.0,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2164 ChemDrawPlugIn
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2165 chemaxon.com: MarvinView applet
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2166 mdli.com: Chime plug-in
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2167 jmol.sourceforge.net: JmolApplet V10
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2168 molinspiration.com: JME applet
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2169
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2170 The default viewer, JmolApplet V10, is distributed with MayaChemTools package.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2171 Earlier versions of JmolApplet are not supported: due to applet security issues related to
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2172 reading files, this script uses in-line loading of MOL files and this option doesn't exist in
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2173 earlier version of JmolApplet.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2174
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2175 =item B<--strviewerconfig> I<codebase[,archive,code]>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2176
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2177 Configuration information for structure viewers. This option is only valid for structure
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2178 viewers which are applets: Jmol, JME and MarvinView. For other viewer types available via
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2179 B<--strviewertype> option - MDL Chime, ChemDrawActiveX, ChemDrawPlugIn, and
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2180 Chem3DActiveX - this value is ignored.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2181
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2182 Input text format: I<codebase[,archive,code]>. For an applet viewer, I<codebase> must be
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2183 specified; I<archive> and I<code> values are optional. Here are default I<archive> and
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2184 I<codebase> values for various applets: Jmol - JmolApplet, JmolApplet.jar; JME - JME, JME.jar;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2185 MarvinView: MView, marvin.jar
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2186
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2187 For local deployment of HTML files, I<codebase> must correspond to a complete path to
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2188 the local directory containing appropriate I<archive> file and the complete path is converted
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2189 into appropriate relative path during generation of HTML files.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2190
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2191 By default, I<codebase> value of <this script dir>/../lib/Jmol is used for I<Jmol> applet viewer, and
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2192 HTML file(s) are generated for local deployment; however, you can specify any supported
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2193 applet viewer and generate HTML file(s) for deploying on a web server.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2194
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2195 For deploying the HTML file(s) on a web server, specify a valid I<codebase> directory name
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2196 relative to <WWWRootDir>. Example when JME archive file, JME.jar, is available in
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2197 I</jme> directory on the web server:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2198
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2199 /jme
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2200
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2201 For local deployment of HTML file(s), specify a complete I<codebase> directory name.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2202 Example when JmolApplet archive file, JmolApplet.jar, is present in <JMOLROOT> directory:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2203
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2204 <JMOLROOT>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2205
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2206 In addition to I<codebase>, you can also specify I<archive> file name. Example for web
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2207 deployment:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2208
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2209 "/jme,JME.jar"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2210 "/jme"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2211
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2212 Example for local deployment:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2213
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2214 "<JMEROOT>,JME.jar"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2215 "<JMEROOT>"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2216
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2217 =item B<--strviewerparams> I<"name=value [name=value ...]">
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2218
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2219 Parameters name and value pairs for structure viewers. These name and value pairs
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2220 are used to control the appearance and behavior of structure viewers in tables and
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2221 compound HTML page during I<link> value for B<-s --structure> option.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2222
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2223 The parameter names, along with their values, are just passed to each structure viewer
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2224 in appropriate format without checking their validity. Check documentation of appropriate
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2225 structure viewers to figure out valid parameter names.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2226
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2227 Input text format: I<name=value name=value ...> Example:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2228
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2229 "width=250 height=170"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2230
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2231 Default for all structure viewers: I<width=250 height=170> for displaying structures in
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2232 tables, and I<strlinkwidth=500 strlinkheight=295> for compound HTML page during I<link> value
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2233 for B<-s --structure> option.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2234
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2235 Default background color for all structure viewers: same as B<--shadecolor> value for
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2236 displaying structures in tables and I<strlinkbgcolor=#ffffff> for compound HTML page;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2237 however, explicit specification of background color in this option overrides default value.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2238 To use black background for structures in tables and compound HTML page, specify I<bgcolor=#000000>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2239 and I<strlinkbgcolor=#000000> respectively. Keep this in mind: Some structure viewers
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2240 don't appear to support background color parameter.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2241
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2242 Additional structure viewer specific default values:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2243
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2244 Chem3DActiveX: "displaytype=Ball&Stick rotationbars=false
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2245 moviecontroller=false"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2246 ChemDrawActiveX: "ViewOnly=1 ShrinkToFit=1 ShowToolsWhenVisible=1"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2247 ChemDrawPlugIn: "type=chemical/x-mdl-molfile ViewOnly=1
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2248 ShrinkToFit=1 ShowToolsWhenVisible=1"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2249 Chime: "display2d=true"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2250 JME: "options=depict"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2251 Jmol: "progressbar=true progresscolor=#0000ff boxbgcolor=#000000
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2252 boxfgcolor=#ffffff script="select *; set frank off;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2253 wireframe on; spacefill off""
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2254 MarvinView: "navmode=zoom"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2255 ViewerActiveX:"Mouse=4 Convert2Dto3D=0"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2256
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2257 Try overriding default values or specify additional valid parameter/value pairs to get desired
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2258 results. Example for using CPK rendering scheme with Jmol viewer:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2259
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2260 "script="select *; set frank off; wireframe off; spacefill on""
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2261
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2262 =item B<--strviewerembed> I<direct | javascript>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2263
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2264 Specify how to embed structure viewers in HTML pages. Possible values: I<direct> - use applet/object
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2265 tags to emded structure viewer; I<javascript> - use vendor supplied java scripts. Default value:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2266 direct.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2267
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2268 This option only applies to these vieweres: I<Chem3DActiveX, ChemDrawActiveX, ChemDrawPlugIn,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2269 Jmol, and MarvinView>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2270
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2271 For marvin.js to work correctly on your browser, you may need to set I<marvin_jvm=builtin> or
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2272 I<marvin_jvm=plugin> using B<--strviewerparams> option. Additionally, MarvinView - at least
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2273 in my hands - also has problems during usage of JavaScript for local deployment; however, it
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2274 does work via web server.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2275
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2276 As far as I can tell, Jmol.js supplied with Jmol10 release has these issues: jmolSetAppletColor
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2277 doesn't support background color; jmolInitialize disables relative specification of codebase
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2278 directroy which works okay. So, use Jmol.js supplied with MayaChemTools.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2279
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2280 =item B<--strviewerjsfile> I<java script file name>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2281
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2282 Name of vendor supplied java script file. Default values: Chem3DActiveX: I<chem3d.js>; ChemDrawActiveX,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2283 and ChemDrawPlugIn: I<chemdraw.js>; Jmol: I<Jmol.js>, MarvinView: I<marvin.js>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2284
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2285 Directory location for these files is specified via I<codebase> value of B<--strviewerconfig> option.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2286
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2287 =item B<--strtablesize> I<"numrows,numcols">
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2288
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2289 This option is only valid for I<structuresonly> and I<shadedstructuresonly> modes. And it indicates
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2290 maximum number of rows and columns per structure table. Default value:I<6,4>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2291
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2292 =item B<--stylesheet> I<old | new | none>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2293
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2294 Controls usage of stylesheet for newly generated HTML file(s). Possible values: I<old,
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2295 new, or none>. Default value: I<new>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2296
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2297 Stylesheet file contains various properties which control appearance of HTML pages:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2298 type, size, and color of fonts; background color; and so on.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2299
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2300 For I<old> value, an existing stylesheet file specified by B<--stylesheetname> option is
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2301 used for each HTML file; no new stylesheet file is created. This option is quite handy
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2302 for deploying HTML file(s) on a web server: assuming you specify a valid stylesheet
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2303 file location relative to your WWWRoot, a reference to this stylesheet is added to each
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2304 HTML file. For local deployment of HTML file(s), a complete path to a local stylesheet
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2305 is fine as well.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2306
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2307 For I<create> value, a new stylesheet is created and reference to this local stylesheet
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2308 is added to each HTML file. Use option B<--stylesheetname> to specify name.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2309
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2310 For I<none> value, stylesheet usage is completely ignored.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2311
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2312 =item B<--stylesheetname> I<filename>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2313
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2314 Stylesheet file name to be used in conjunction with B<-s --stylesheet> option. It is only
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2315 valid for I<old> value of B<-s --stylesheet> option. Specify a valid stylesheet file location
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2316 relative to your WWWRoot and a reference to this stylesheet is added to each HTML
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2317 file. Example: I<"/stylesheets/MyStyleSheet.css">. Or a complete path name to a local
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2318 stylesheet file.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2319
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2320 For I<create> value of B<-s --stylesheet> option, a new stylesheet file is created using
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2321 B<-r --root> option. And value of B<--stylesheetname> is simply ignored.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2322
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2323 =item B<--shadecolor> I<"#RRGGBB,#RRGGBB">
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2324
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2325 Colors used to fill background of rows during I<shade> and I<shadedhightlight> mode
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2326 represented as a pair of hexadecimal string; the first and second color values
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2327 are used for odd and even number rows respectively.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2328
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2329 Default value: I<"#ffffff,#e0e9eb"> - it's white and very light blue for odd and even number rows.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2330
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2331 =item B<-t, --title> I<string>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2332
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2333 Title for HTML table(s). Default value: I<SDFileName>. This option is ignored for
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2334 multiple input files. And B<-r --root> option is used to generate appropriate
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2335 titles.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2336
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2337 =item B<--titledisplay> I<yes | no>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2338
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2339 Display title for HTML table(s). Possible values: I<yes or no>. Default value: I<yes>.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2340
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2341 =item B<-w, --workingdir> I<dirname>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2342
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2343 Location of working directory. Default: current directory.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2344
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2345 =back
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2346
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2347 =head1 EXAMPLES
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2348
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2349 HTML table file(s), containing structures, can be used in two different ways: browsing on a
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2350 local machine or deployment via a web server. By default, HTML file(s) are created for viewing
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2351 on a local machine using Jmol viewer through a browser; however, you can specify any
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2352 supported applet viewer and generate HTML file(s) for deploying on a web server.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2353
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2354 First two sets of examples show generation of HTML file(s) using different applet viewers
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2355 and a variety of options for local browsing; last set deals with web deployment.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2356
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2357 B<Local deployment: Usage of default JMol viewer distributed with MayaChemTools:>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2358
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2359 To generate HTML tables with structure display using JMol viewer, rows background filled
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2360 with white and light blue colors, navigation links on top and botton of each page, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2361
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2362 % SDFilesToHTML.pl -o Sample1.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2363
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2364 To generate HTML tables with structure display using JMol viewer, rows background filled
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2365 with white and light blue colors, navigation links on top and botton of each page, and
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2366 only containing MolWeight and Mol_ID SD data fields, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2367
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2368 % SDFilesToHTML.pl --datafields "MolWeight,Mol_ID" -o Sample1.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2369
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2370 To generate HTML tables with CPK structure display using JMol viewer, rows
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2371 background filled with white and light blue colors, navigation links on top and botton of
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2372 each page, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2373
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2374 % SDFilesToHTML.pl --strviewerparams "script=\"select *; set frank off;
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2375 wireframe off; spacefill on\"" -o Sample1.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2376
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2377 To generate HTML tables with structure display using JMol viewer and black background, rows
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2378 background filled with light golden and greyish colors, navigation links on top and botton of
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2379 each page, 10 rows in each table, greyish header row color, and cell spacing of 1, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2380
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2381 % SDFilesToHTML.pl -o -n 10 --headeralign "center" --headercolor
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2382 "#a1a1a1" --shadecolor "#fafad2,#d1d1d1" --cellspacing 1
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2383 --strviewerparams "bgcolor=#000000" Sample1.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2384
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2385 To highlight molecular weight values using specified highlight criteria and fill in default background
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2386 colors, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2387
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2388 % SDFilesToHTML.pl -n 10 --highlight "MolWeight,numeric,le,450"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2389 --highlightstyle background -m shadedhighlight -o Sample1.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2390
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2391 To highlight molecular weight values using specified highlight criteria, color the text using
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2392 default colors, and add a footer message in every page, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2393
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2394 % SDFilesToHTML.pl -n 4 --highlight "MolWeight,numeric,le,500"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2395 --highlightstyle text -m shadedhighlight -o
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2396 --footer "Copyright (C) MayaChemTools" --cellspacing 1 Sample1.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2397
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2398 To generate tables containing only structures, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2399
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2400 % SDFilesToHTML.pl -d both -m shadedstructuresonly --strtablesize "6,4"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2401 --cellspacing 1 -b 1 -o Sample1.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2402
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2403 To generate tables containing only structures with molecular weight displayed above the
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2404 structure, type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2405
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2406 % SDFilesToHTML.pl -d both -m shadedstructuresonly --strtablesize "6,4"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2407 --cmpddatafield "MolWeight,no,top,center" --cellspacing 1 -b 1
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2408 -o Sample1.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2409
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2410 To generate tables containing links to structures and highlight molecular weight data field values
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2411 using specified highlight criteria , type:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2412
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2413 % SDFilesToHTML.pl -n 4 --footer "Copyright (C) MayaChemTools"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2414 --highlight "MolWeight,numeric,le,450" --highlightstyle background
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2415 -d both -m shadedhighlight -s link --strlinktype button
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2416 -o Sample1.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2417
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2418 B<Local deployment: Usage of other structure viewers:>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2419
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2420 % SDFilesToHTML.pl --strviewertype MarvinView --strviewerconfig
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2421 "<Marvin dir path>" -o Sample1.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2422
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2423 % SDFilesToHTML.pl -o -n 10 --headeralign "center" --headercolor
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2424 "#a1a1a1" --shadecolor "#fafad2,#d1d1d1" --cellspacing 1
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2425 --strviewerparams "bgcolor=#000000" --strviewertype Chime
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2426 Sample1.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2427
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2428 % SDFilesToHTML.pl -n 10 --highlight "MolWeight,numeric,le,450"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2429 --highlightstyle background -m shadedhighlight --strviewertype
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2430 Chime -o Sample1.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2431
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2432 % SDFilesToHTML.pl -d both -m shadedstructuresonly --strtablesize "6,4"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2433 --cellspacing 1 -b 1 -strviewertype JME -strviewerconfig "<JME dir
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2434 path>" -o Sample1.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2435
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2436 B<Web deployment: Usage of different structure viewers and options:>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2437
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2438 For deploying HTML file(s) on a web server, specify a valid I<codebase> directory name
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2439 relative to <WWWRootDir>. In addition to I<codebase>, you can also specify I<archive> file
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2440 name.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2441
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2442 % SDFilesToHTML.pl -m plain -s display --strviewertype Jmol
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2443 -strviewerconfig "/jmol" -n 5 -d both -r PlainTable -t "Example
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2444 using Jmol: Plain Table" -o Sample1.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2445
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2446 % SDFilesToHTML.pl -n 5 -m shade -s display -strviewertype JME
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2447 -strviewerconfig "/jme,JME.jar" -r ShadeTable -t "Example using JME:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2448 Shaded Table" -o Sample.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2449
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2450 % SDFilesToHTML.pl -n 5 --highlight "MolWeight,numeric,le,450"
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2451 --highlightstyle background -d both -m shadedhighlight -s display
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2452 -strviewertype MarvinView -strviewerconfig "/marvin" -r
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2453 ShadedHightlightTable -t "Example using MarvinView: Shaded and
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2454 Highlighted Table" -o Sample.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2455
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2456 % SDFilesToHTML.pl -n 4 --highlight "MolWeight,numeric,le,450" -s link
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2457 --strlinktype href --strviewertype ChemDrawPlugIn --highlightstyle
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2458 background -m shadedhighlight -t "Example using ChemDrawPlugIn:
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2459 Shaded and Highlighted Table" -r ShadedHightlightTable -o Sample1.sdf
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2460
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2461 =head1 AUTHOR
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2462
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2463 Manish Sud <msud@san.rr.com>
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2464
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2465 =head1 SEE ALSO
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2466
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2467 FilterSDFiles.pl, InfoSDFiles.pl, SplitSDFiles.pl, MergeTextFilesWithSD.pl
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2468
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2469 =head1 COPYRIGHT
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2470
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2471 Copyright (C) 2015 Manish Sud. All rights reserved.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2472
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2473 This file is part of MayaChemTools.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2474
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2475 MayaChemTools is free software; you can redistribute it and/or modify it under
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2476 the terms of the GNU Lesser General Public License as published by the Free
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2477 Software Foundation; either version 3 of the License, or (at your option)
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2478 any later version.
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2479
4816e4a8ae95 Uploaded
deepakjadmin
parents:
diff changeset
2480 =cut