ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/SeWeR/custom.htm
Revision: 1.1.1.1 (vendor branch)
Committed: Mon Aug 23 19:36:27 2004 UTC (15 years, 7 months ago) by malay
Branch: MAIN
CVS Tags: HEAD, HEAD
Changes since 1.1: +0 -0 lines
Log Message:
First import

Line File contents
1 <html>
2 <head>
3 <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
4 <title>SeWeR: Customization</title>
5 <script language="JavaScript" src="scripts/browser.js"></script>
6 <script language="JavaScript1.2">
7 var isNS4, isIE4;
8 isNS4=(document.layers)?true:false;
9 isIE4=(document.all)?true:false;
10 var includestring="";
11 var programstring="";
12 var optionstring="";
13 var description="";
14 var divstring="";
15 var method="";
16 var action="";
17 var enctype="";
18 var id="";
19 var help="";
20 var mywindow;
21 var theform;
22 var clue="<b>Type your description here</b>";
23 //var line='<hr size="1" noshade>'
24 var line="<p>"
25 var programname="";
26 var address="";
27 included_programs=new Array();
28 var target="";
29 var optiontestwindow;
30 var resultwindow;
31 var str="";
32
33 function validatepage(){
34 if(!mywindow||mywindow.closed){
35 mywindow=window.open("","newwindow","width=600,heigth=400,resizable,top=0,left=0");
36 self.focus();
37 }
38 else{
39 mywindow.close();
40 mywindow=window.open("","newwindow","width=600,heigth=400,resizable,top=0,left=0");
41 }
42 var str=document.form1.query.value;
43
44 /* Just remove the <script> and <SCRIPT> tag from the string
45 Entrez page broke down for the presence of <script> tag
46 Presence of "()" causes break down replace code in JavaScript
47 BUG!!!!!!!!!!!!!! My finding!!!!!! HA!
48 */
49
50 while((str.indexOf("<script")!=-1)||(str.indexOf("<SCRIPT")!=-1)){
51
52 si=str.indexOf("<script");
53
54
55 if(si==-1){
56
57 si=str.indexOf("<SCRIPT");
58 }
59
60 var ei=str.indexOf(">",si);
61 if(ei==-1){
62 ei=str.indexOf(">",si);
63 }
64 ss=str.substring(si,eval(ei+1));
65 re=new RegExp(ss);
66 str=str.replace(re,"");
67 }
68
69 /* Write to mywindow the query page*/
70
71 mywindow.document.open();
72 mywindow.document.write(str);
73 mywindow.document.close();
74 self.focus();
75
76 if (mywindow.document.forms.length){//check for the presence of form
77 if(mywindow.document.forms.length>1){//if more than one form
78 if(document.form1.formnumber.value!=""){//check for the formnumber
79 theform=mywindow.document.forms[eval(document.form1.formnumber.value-1)];//take the formnumber from additional information
80 processform();//process the form
81 }
82 else{//if formnumber is not provided
83 alert("SeWeR found more than one form.\nSupply the form number in Advanced information and try again.");
84 }
85 }
86
87 else{//Only one form
88 theform=mywindow.document.forms[0];
89 processform();//process the form
90 }
91 }
92 else{//No form found
93 alert("Error: No form found!\nAborting...");
94 }
95 }//End of Validatepage
96
97 function processform(){
98 var sequence_query=null;//whether the querytype is sequence or not
99 var name_provided=null;//whether the queryname provided
100 //Check for querytype
101 if(document.form1.querytype[0].checked){
102 sequence_query=true;//Querytype is DNA/Protein sequence
103 }
104 else{
105 sequence_query=false;//Querytype is Key-words
106 }
107 if(document.form1.id.value!=""){
108 //if queryname already supplied
109 for(var i=0;i<theform.elements.length;i++){
110 if(theform.elements[i].name==document.form1.id.value){
111 name_provided=true;
112 }
113 }
114 if(!name_provided){
115 alert("The supplied Query name is not present in the form!\n Check query name and try again.")
116 }
117 else{
118 id=document.form1.id.value;
119 populateProgramStrings();
120 }
121 }
122 else{
123 //Program name not provided
124 if(sequence_query==true){
125 //If the query type is sequence
126 var j=0;
127 for(var i=0;i<theform.elements.length;i++){
128 //loop through the form for textarea element
129 if(theform.elements[i].type=="textarea"){
130 j++;
131 }//end of if loop
132 }//end of for loop
133 if(j>1){
134 alert("More than one textarea element found!\n Supply the Query name and try again!")
135 }
136 if(j==1){
137 if(confirm("SeWeR found single textarea element to take as query.\nTo proceed click OK")){
138 for(var i=0;i<theform.elements.length;i++){
139 //loop through the form for textarea element
140 if(theform.elements[i].type=="textarea"){
141 id=theform.elements[i].name;
142 }
143 }
144 populateProgramStrings();
145 }
146 else{
147 alert("Processing cancelled by user!")
148 }
149 }
150 if(j==0){
151 alert("No suitable query found!\nSupply the query name and try again.")
152 }
153 }
154 else{//No query name supplied
155 alert("SeWeR needs query name for non-sequence query.\nSupply the query name.");
156 }
157 }
158 }
159
160
161 function populateProgramStrings(){
162 method=theform.method;
163 action=theform.action;
164 enctype=theform.enctype;
165 if (!method){
166 method="post";
167 }
168 if(!enctype){
169 enctype="application/x-www-form-urlencoded";
170 }
171 programname=document.form1.pname.value.toLowerCase();
172 if(programname==""){
173 alert("Please type the program name");
174 }
175 address=document.form1.address.value;
176 if(address==""){
177 alert("Please type the program URL");
178 }
179 help=document.form1.helpurl.value;
180 if(help==""){
181 help=address;
182 }
183 target=document.form1.target.value;
184 if(target==""){
185 alert("Please copy and paste the SeWeR target page");
186 }
187 getaction();
188 if((programname!="")&&(address!="")&&(action!="")&&(id!="")&&(target!="")){
189 process();
190 }
191 else{
192 alert("Error in processing from!\nAborting")
193 }
194 }
195
196 function getaction(){
197 var s=action;
198 if(action.indexOf("http://")==-1){
199 action=s.replace(/^.*:\//,"");//required for Netscape
200 splits=address.split("/");
201
202 if(isNS4){
203 action=splits[0]+"//"+splits[2]+"/"+action;
204 }
205 else{
206 action=splits[0]+"//"+splits[2]+action
207 }
208 }
209 }
210
211 function process(){
212
213 var n=getInclude(programname);
214 if(n!=0){
215
216 setIncludeString();
217 programstring="";
218 programstring +='program['+n+']=new ProgramConstructor("'+programname+'","'+address+'","'+action+'","'+help+'","'+id+'","'+method+'","'+enctype+'");\n'
219 programstring +='option['+n+']=new makeOption("'+programname+'");\n'
220 programstring +='description['+n+']=new makeDescription("'+programname+'");\n'
221 document.form1.target2.value=programstring;
222
223 optionstring="";
224 optionstring +='<option value="'+programname+'">'+document.form1.pname.value
225 document.form1.target3.value=optionstring;
226
227 divstring="";
228 divstring +='<div id="'+programname+'option" class="optionlist">\n<form name="'+programname+'form">\n<table width="600" border="0" bgcolor="#e6e6e6" cellpadding="5" cellspacing="5">\n<tr><td class="size1">';
229 divstring +='<p class="size2"><font color="#cc0000"><b>'+programname+'</b></font></p>\n'
230 //loop through each form elements
231 for(i=0;i<theform.elements.length;i++){
232 if(theform.elements[i].name!=id){
233 if(theform.elements[i].type=="text"){
234 divstring +='\n'+line+clue+'\n<input type="text" size="15" name="'+theform.elements[i].name+'" value="'+theform.elements[i].value+'">';
235 }
236 if(theform.elements[i].type=="hidden"){
237 divstring +='\n<input type="hidden" name="'+theform.elements[i].name+'" value="'+theform.elements[i].value+'">';
238 }
239 if(theform.elements[i].type=="radio"){
240 divstring +=line
241 if(theform.elements[i].checked){
242 divstring +='\n<input type="radio" name="'+theform.elements[i].name+'" value="'+theform.elements[i].value+'" checked>\n'+clue;
243 }
244 else{
245 divstring +='\n<input type="radio" name="'+theform.elements[i].name+'" value="'+theform.elements[i].value+'">\n'+clue;
246 }
247 }
248 if(theform.elements[i].type=="checkbox"){
249 divstring +=line;
250 if(theform.elements[i].checked){
251 divstring +='\n<input type="checkbox" name="'+theform.elements[i].name+'" value="'+theform.elements[i].value+'" checked>\n'+clue;
252 }
253 else{
254 divstring +='\n<input type="checkbox" name="'+theform.elements[i].name+'" value="'+theform.elements[i].value+'">\n'+clue;
255 }
256 }
257 if(theform.elements[i].type=="select-one"){
258 divstring +=line+clue+' <select name="'+theform.elements[i].name+'">\n';
259 for(var j=0;j<theform.elements[i].options.length;j++){
260 divstring +='<option ';
261 if(theform.elements[i].options[j].selected){
262 divstring +='selected ';
263 }
264 if(theform.elements[i].options[j].value!=""){
265 divstring +='value="'+theform.elements[i].options[j].value+'"';
266 }
267 divstring +='>';
268 divstring +=theform.elements[i].options[j].text+'\n';
269 }
270 divstring +='</select>';
271 }
272 if(theform.elements[i].type=="select-multiple"){
273 divstring +=line+clue+'<br><select name="'+theform.elements[i].name+'" size="5" multiple>\n';
274 for(var j=0;j<theform.elements[i].options.length;j++){
275 divstring +='<option ';
276 if(theform.elements[i].options[j].selected){
277 divstring +='selected ';
278 }
279 if(theform.elements[i].options[j].value!=""){
280 divstring +='value="'+theform.elements[i].options[j].value+'"';
281 }
282 divstring +='>';
283 divstring +=theform.elements[i].options[j].text+'\n';
284 }
285 divstring +='</select>';
286 }
287 if(theform.elements[i].type=="textarea"){
288 divstring +=line+clue+'<br><textarea name="'+theform.elements[i].name+'" rows="5" cols="50">\n'
289 divstring +=theform.elements[i].value;
290 divstring +='</textarea>';
291 }
292 }
293 }
294 divstring +='</td></tr></table>\n</form></div>';
295 document.form1.target5.value=divstring;
296
297 description="";
298 description +='<div id="'+programname+'description" class="description">\n<table border="0" cellpadding="0" cellspacing="0" width="204">\n<tr>\n'
299 description +='<td class="size2"><img height="8" width="8" src="images/redear.png"><b>'+document.form1.pname.value+'</b></td>\n'
300 description +='<td align="right"><a href="'+address+'" target="_blank"><img border="0" height="12" width="32" src="images/more_grey.png"></a></td>\n</tr>\n'
301 description +='<tr><td height="1" colspan="2" bgcolor="#cccccc"><spacer type="block" width="32" height="1"></td></tr>'
302 description +='<tr><td colspan="2" class="size1">'+document.form1.description.value+'</td></tr></table>\n</div>'
303
304 document.form1.target4.value=description;
305 alert("Processing successfully completed.\nPlease proceed to Preview section.");
306 }
307 else alert("The program to be included is already present in SeWeR!\nAborting...");
308 }
309
310 function clearform(fobj){
311 fobj.value="";
312 }
313
314 function getInclude(p){
315 var myp=p;
316 var startindex=target.indexOf('included_programs=');
317 var sindex=target.indexOf('"',startindex);
318 var end=target.indexOf('"',eval(sindex+1));
319 var s = target.substring(eval(sindex+1),end);
320 included_programs=s.split(",");
321 for(var i=0;i<included_programs.length;i++){
322 if(included_programs[i]==programname){
323 return 0;
324 }
325 }
326 return included_programs.length;
327 }
328
329 function setIncludeString(){
330 includestring="";
331 includestring +='<!--included_programs="';
332 for(var i=0; i<included_programs.length;i++){
333 includestring +=included_programs[i]+","
334 }
335 includestring +=programname+'"-->'
336 document.form1.target1.value=includestring;
337 }
338
339 function testoption(){
340 if(!optiontestwindow||optiontestwindow.closed){
341 optiontestwindow=window.open("","testwin","menubar,scrollbars,width=650,height=400,resizable,top=0,left=0");
342 optiontestwindow.focus();
343 }
344 else{
345 optiontestwindow.close();
346 optiontestwindow=window.open("","testwin","menubar,scrollbars,width=650,height=400,resizable,top=0,left=0");
347 optiontestwindow.focus();
348 }
349 var mstring=""
350 mstring +='<html><head><title>SeWeR: Option test page</title>';
351 mstring +='<style>.size1 {font-size: small; font-family: Verdana, Arial, Sans-Serif }</style>'
352 mstring +='</head><body>'+document.form1.target5.value+'</body></html>'
353
354 optiontestwindow.document.open();
355 optiontestwindow.document.write(mstring);
356 optiontestwindow.document.close();
357 }
358
359 function updateSewer(){
360 var alert_message="Error in incorporation!\nPlease use SeWeR version 2.5 pages only!"
361 str=document.form1.target.value;
362 if((str.indexOf("/html>")!=-1)||(str.indexOf("/HTML>")!=-1)){
363 myarray1=str.split("<!--Section #1 code goes here-->");
364 //alert("After first split");
365 if(myarray1.length==3) {
366 //alert("Array length 3");
367 str=myarray1[0]+"<!--Section #1 code goes here-->\n"+document.form1.target1.value+"\n<!--Section #1 code goes here-->"+myarray1[2]
368 myarray2=str.split("/**Section #2 code goes here**/")
369 if(myarray2.length==2) {
370 //alert("Array length 2");
371 str=myarray2[0]+document.form1.target2.value+"\n/**Section #2 code goes here**/\n"+myarray2[1];
372 myarray3=str.split("<!--Section #3 code goes here-->");
373 if(myarray3.length==2) {
374 //alert("Array length 2")
375 str=myarray3[0]+document.form1.target3.value+"\n<!--Section #3 code goes here-->\n"+myarray3[1];
376 myarray4=str.split("<!--Section #4 and #5 goes here-->");
377 if(myarray4.length==2) {
378 //alert("Array length 2")
379 str=myarray4[0]+document.form1.target4.value+document.form1.target5.value+"\n<!--Section #4 and #5 goes here-->\n"+myarray4[1];
380 var v="customresult.htm"//+str;
381 if(!resultwindow||resultwindow.closed){
382
383
384 resultwindow=window.open(v,"result","menubar,scrollbars,width=720,height=500,resizable,top=0,left=0");
385 resultwindow.focus();
386 }
387 else{
388 resultwindow.close();
389
390 resultwindow=window.open(v,"result","menubar,scrollbars,width=720,height=500,resizable,top=0,left=0");
391 }
392 }
393 else {
394 DoNothing();
395 }
396 }
397 else{
398 DoNothing()
399 }
400 }
401 else {
402 DoNothing();
403 }
404 }
405 else {
406 DoNothing();
407 }
408 }
409 else{
410 alert("SeWeR target page is incomplete!\nPlease copy and paste the full page");
411 }
412 }
413
414 function DoNothing(){
415 alert("Error in Incorporation!\nAborting...");
416 }
417
418 </script>
419 </head>
420
421 <body bgcolor="white" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" alink="#cc0000" vlink="#cc0000" link="#cc0000">
422 <table border="0" cellpadding="0" cellspacing="0" width="100%">
423 <tr height="2"><td bgcolor="#000000"><spacer type="block" width="1" height="2"></td>
424 </tr>
425 <tr height="5"><td bgcolor="cc0000"><spacer type="block" width="1" height="5"></td>
426 </tr>
427 </table>
428 <table border="0" cellpadding="0" cellspacing="0" width="750">
429 <tr height="20">
430 <td width="15" rowspan="99" bgcolor="#cc0000"><spacer type="block" width="15" height="20"></td>
431 <td width="15" rowspan="99"><spacer type="block" width="15" height="20"></td>
432 <td><spacer type="block" width="1" height="20"></td>
433 <td></td>
434 <td bgcolor="#cccccc" width="1" rowspan="99"><spacer type="block" width="1" height="1"></td>
435 </tr>
436 <tr>
437
438 <td colspan="2"> <span class="heading">SeWeR: SEquence analysis using WEb
439 Resources</span><br>
440 </td>
441 </tr>
442 <tr><td colspan="2"><hr noshade size="1"></td>
443 </tr>
444 <tr>
445 <td colspan="2"><span class="heading">Customization page: Add a service</span></td>
446 </tr>
447 <tr>
448 <td colspan="2"><span class="body"><b>Welcome to customization page of SeWeR!</b></span>
449 <p>
450 <span class="body">SeWeR is completely customizable now. If a particular program is not offered by SeWeR, by following these simple steps you can add the program to SeWeR seamlessly. The program/service should have a HTML query page. SeWeR will parse the page and will incorporate it.<p>
451 <font color="#cc0000"><b>Please note: Netscape on Windows platform is funny when it comes to pasting large amount of data. Some of the SeWeR target pages are bigger than what Netscape can handle on Windows. If SeWeR tells you that the target page is incomplete, then use Internet Explorer. Netscape on Linux (and hopefully on other Unices) doesn't have this problem. Netscape perhaps believes that users on Windows are kids and do not require to handle large data. :-)</b></font>
452 </span>
453 <hr noshade size="1">
454 <span class="size3"><img height="8" width="8" src="images/redear.png" border="0"><b>Step #1</b></span><p></p>
455 <p>
456 <span class="body">If you are not running this page from your computer then close this page. <a href="ftp://iubio.bio.indiana.edu/molbio/analyze/sewer205.zip">Download</a> SeWeR. The customization will only work on a local copy of SeWeR as it involves saving pages on your computer. Unzip the archive and open "custom.htm" (this page) in your browser. You can also run SeWeR (opening sewer.htm) and come to this page by following links from the starting page.</span>
457 <hr noshade size="1">
458 <span class="size3"><img height="8" width="8" src="images/redear.png" border="0"><b>Step #2</b></span>
459 <p>
460 <span class="body">Download/Save the HTML page of the service. <b>Note the page URL. Search for the help page of the program if any, and note that URL.</b></span>
461 <hr noshade size="1">
462 <span class="size3"><img height="8" width="8" src="images/redear.png" border="0"><b>Step #3</b></span>
463 <p>
464 <form name="form1">
465 <span class="body"><b>Name of the program</b></span> <input type="text" name="pname" size="30"><p>
466 <span class="body"><b>Must be a single word.</b> <i>e.g.</i> <b>BlockMaker</b> or <b>ClustalW</b>.</span>
467 <hr noshade size="1">
468 <span class="size3"><img height="8" width="8" src="images/redear.png" border="0"><b>Step #4</b></span>
469 <p>
470 <span class="body"><b>Type the program URL</b></span><br><input type="text" name="address" size="80">
471 <p>
472 <span class="body">Type the complete URL of the program that you noted down in the first step (you can visit the page and copy and paste the URL here). This will be the link shown in <b>"more"</b> button in the program description.<br><i>e.g.</i> <b>http://www.ebi.ac.uk/clustalw/</b>.</span>
473 <hr noshade size="1">
474 <span class="size3"><img height="8" width="8" src="images/redear.png" border="0"><b>Step #5</b></span><p>
475 <span class="body"><b>Type the help page URL</b></span><br><input type="text" name="helpurl" size="80"><p>
476 <span class="body">Type the complete URL of the program help page that you noted down in the first step (you can visit the help page and copy and paste the URL here). This will be the page SeWeR will open if you click the <b>"help"</b> button. If you don't have the help page URL, leave this entry blank. SeWeR will use the program URL supplied in the previous step.<br><i>e.g.</i> <b>http://www.ebi.ac.uk/clustalw/help.html</b>.</span>
477 <hr noshade size="1">
478 <span class="size3"><img height="8" width="8" src="images/redear.png" border="0"><b>Step #6</b></span>
479 <p>
480 <span class="body"><b>Query type</b></span><br><input type="radio" name="querytype" value="sequence" checked><span class="body"><b>DNA/Protein sequence</b></span> <input type="radio" name="querytype" value="keyword"><span class="body"><b>Keywords</b>
481 <p>
482 <span class="body">
483 Choose the type of query. The query can be of two types- DNA/Protein Sequence or keywords (<i>e.g.</i> PubMed). SeWeR at present can not handle "file upload". If you choose DNA/Protein sequence then SeWeR searches for a <b>&lt;textarea&gt;</b> element as query. If it finds more than one <b>&lt;textarea&gt;</b> element then it will ask for the name of the main query. Otherwise, if there is only one <b>&lt;textarea&gt;</b> element and if you have chosen the query type to be DNA/Protein sequence then it will automatically take the single <b>&lt;textarea&gt;</b> element as the main query.
484 If you have chosen <b>keyword</b> as the query type then you need to supply the name of the main query in <b>Advanced Information</b> section.
485 </span>
486 <hr noshade size="1">
487 </span></td>
488 </tr>
489 <tr>
490 <td colspan="2">
491 <span class="size3"><img height="8" width="8" src="images/redear.png" border="0"><b>Step #7</b></span>
492 <p>
493 <span class="body"><b>Type your program description here</b></span><br>
494 <textarea name="description" cols="80" rows="5" wrap></textarea><br>
495 <input type="button" name="clear1" value=" clear " onclick="clearform(document.form1.description)">
496 <p>
497 <span class="body">Type a brief description of the program here. Information like, what it does, what are the mandatory options, limitations etc.</span>
498 <hr noshade size="1">
499 </td>
500 </tr>
501 <tr>
502 <td colspan="2">
503 <span class="size3"><img height="8" width="8" src="images/redear.png" border="0"><b>Step #8</b></span>
504 <p>
505 <span class="body"><b>Copy and paste the service form</b></span><br>
506 <textarea name="query" cols="80" rows="10" wrap></textarea><br>
507 <input type="button" name="clear2" value=" clear " onclick="clearform(document.form1.query)">
508 <p>
509 <span class="body">Open the service form page in a text editor and copy and paste the whole page here.</span>
510 <hr noshade size="1">
511 </td>
512 </tr>
513 <tr>
514 <td colspan="2">
515 <span class="size3"><img height="8" width="8" src="images/redear.png" border="0"><b>Step #9</b></span>
516 <p>
517 <span class="body"><b>Copy and paste the SeWeR target page</b></span><br>
518 <textarea name="target" cols="80" rows="10" wrap></textarea><br>
519 <input type="button" name="clear3" value=" clear " onclick="clearform(document.form1.target)">
520 <p>
521 <span class="body">Open the SeWeR target page in a text editor and copy and paste the whole page here. The pages that can be used are- <b>nucleicacid.htm, protein.htm, align.htm, database.htm, pcr.htm, tools.htm</b>. Select the appropriate page, open in a text editor and copy and paste the whole page here. <p><font color="#cc0000"><b>Please Note that you require SeWeR ver 2.5 pages. Also note that Netscape on Windows has a bug that might prevent a large file to be pasted. Some of the SeWeR pages are bigger than what Netscape can handle on Windows. SeWeR will prompt you for full page if it finds the page is incomplete.</b></font></span>
522 </td>
523 </tr>
524 <tr>
525 <td colspan="2">
526 <hr noshade size="1">
527 <span class="body">SeWeR is now ready to process the form. It will open a new window to process the page. It might even prompt you for some queries. If everything goes well you will find <b>"Preview"</b> section forms are filled up. If it shows some errors then supply additional information in the next section. Otherwise skip the following section.</span>
528 <p>
529 <center><input type="button" name="validate" value=" click here to process the form " onclick="validatepage()"></center>
530 <p>&nbsp;
531 </td>
532 </tr>
533 <tr height="1">
534 <td colspan="2" bgcolor="#cc0000"><spacer type="block" width="1" height="1"></td>
535 </tr>
536 <tr>
537 <td colspan="2"><span class="heading">Advanced Information</span><p>
538 <span class="body">You need to provide information for this section only when SeWeR shows an error while processing.</span>
539 <p>
540 <hr noshade size="1">
541 <span class="size3"><img height="8" width="8" src="images/redear.png" border="0"><b>Additional step #1</b></span>
542 <p>
543 <span class="body"><b>Type the query name</b></span><br><input type="text" name="id" size="30">
544 <p>
545 <span class="body">This is the name of the "query". If your query is DNA/Protein sequence then the query is a <b>&lt;textarea&gt</b> element. If the "form" has more than one <b>&lt;textarea&gt;</b> element then type in the <b>"name"</b> of the <b>&lt;textarea&gt;</b> of the sequence query.
546 <p>For <i>e.g.</i>
547 <b>&lt;textarea name="<font color="#ccoooo">sequence</font>"...</b><br>
548 Type <b><font color="#cc0000">sequence</font></b> in the query name.
549 <p>
550 If the form has only one <b>&lt;textarea&gt;</b> element and the query is a nucleotide/protein sequence then leave this field blank. SeWeR will take the <b>"name"</b> of the single <b>&lt;textarea&gt;</b> element present in the "form".
551 <p>
552 <b>If the query is anything other than nucleotide/Protein sequence (may be a key-word, like in case of PubMed) then you must provide the name of the corresponding element.</b>
553 <p>For <i>e.g.</i>
554 <b>&lt;input type="text" name="<font color="#ccoooo">keywords</font>"...</b><br>
555 Type <b><font color="#cc0000">keywords</font></b> in the query name.
556 </span>
557 <hr noshade size="1">
558 <span class="size3"><img height="8" width="8" src="images/redear.png" border="0"><b>Additional step #2</b></span>
559 <p>
560 <span class="body">
561 <b>Which "form" to process?</b><br>
562 <b>Form #</b></span><input type="text" name="formnumber" size="2"><br><p>
563 <span class="body">
564 If SeWeR finds more than one <b>&lt;form&gt</b> element, then supply the form number here. The first <b>&lt;form&gt;</b> will be considered as "form #1", the second one will be "form #2" etc.
565 </span>
566 <hr noshade size="1">
567 <center><input type="button" name="validate" value=" click here to process the form " onclick="validatepage()"></center>
568 <p>&nbsp;
569 </td>
570 </tr>
571 <tr height="1">
572 <td colspan="2" bgcolor="#cc0000"><spacer type="block" width="1" heigth="1"></td>
573 </tr>
574 <tr>
575 <!--Preview Section-->
576 <td colspan="2"><span class="heading">Preview</span>
577 <p>
578 <span class="body">
579 To add a service to SeWeR there are five places where HTML code has to be added. For easy addition I call them as Section #1, #2... etc. Each of the section codes can be copied and added manually in the place mentioned. But SeWeR can automatically add the code for you. Before you do that edit each section code as you feel suitable for you. Particularly, preview the option list by pressing the button and replace all the "Type your description here" with the suitable descriptions. You can refer to the original page if required. If you know how to edit HTML you can even modify the default values. When you are satisfied move to the next section.
580 </span>
581 <p>
582 <!--Target #1-->
583 <span class="size3"><img height="8" width="8" src="images/redear.png" border="0"><b>Section #1</b></span><br>
584 <textarea name="target1" cols="80" rows="1" wrap></textarea><br>
585 <p>
586 <span class="body">This code goes to the place after <b><font color="#cc0000">&lt;!--Section #1 codes goes here--&gt;</font></b>. Overwrite the line <b><font color="#cc0000">&lt;!--included_programs="...</font></b></span>.
587 <hr noshade size="1">
588 <!--End of target #1-->
589 <!--Target #2-->
590 <span class="size3"><img height="8" width="8" src="images/redear.png" border="0"><b>Section #2</b></span><br>
591 <textarea name="target2" cols="80" rows="3" wrap></textarea><br>
592 <p>
593 <span class="body">This code goes to the place after <b><font color="#cc0000">/**Section #2 code goes here**/</font></b> within the <b><font color="#cc0000">init()</font></b> function.</span>.
594 <hr noshade size="1">
595 <!--End of target2-->
596 <!--Target #3-->
597 <span class="size3"><img height="8" width="8" src="images/redear.png" border="0"><b>Section #3</b></span><br>
598 <textarea name="target3" cols="80" rows="1" wrap></textarea>
599 <p>
600 <span class="body">This code goes to the place after <b><font color="#cc0000">&lt;!--Section #3 codes goes here--&gt;</font></b></span>.
601 <hr noshade size="1">
602 <!--End of target #3-->
603 <!--Target #4-->
604 <span class="size3"><img height="8" width="8" src="images/redear.png" border="0"><b>Section #4</b></span>
605 <p>
606 <span class="body"><b>Program Description</b></span><br>
607 <textarea name="target4" cols="80" rows="5" wrap></textarea>
608 <p>
609 <span class="body">This code goes to the end of the page before<b><font color="#cc0000">&lt;/body&gt;</font></b> tag</span>.
610 <hr noshade size="1">
611 <span class="size3"><img height="8" width="8" src="images/redear.png" border="0"><b>Section #5</b></span>
612 <p>
613 <span class="body"><b>Option list</b></span><br>
614 <textarea name="target5" cols="80" rows="15" wrap></textarea><br>
615 <input type="button" name="test" value=" test option list " onclick="testoption()">
616 <p>
617 <span class="body">This code goes to the end of the page before<b><font color="#cc0000">&lt;/body&gt;</font></b> tag. Before that replace <b>"Type your description here"</b> with your description in the code. Test the look of the option page by clicking on <b>"test option list"</b> button.</span><p>&nbsp;
618 </td>
619 </tr>
620 <tr height="1">
621 <td colspan="2" bgcolor="#cc0000"><spacer type="block" height="1" width="1"></td
622 ></tr>
623 <tr>
624 <td colspan="2">
625 <span class="heading">Incorporation</span>
626 <p>
627 <span class="body">If you are satisfied with the option page then click the following button. SeWeR will open a new window containing the new page.</span><p>
628 <center><input type="button" name="incorporate" value=" update SeWeR " onclick="updateSewer()"></center>
629 <p>&nbsp;
630 </td>
631 </tr>
632 <tr height="1">
633 <td colspan="2" bgcolor="#cc0000"><spacer type="block" height="1" width="1"></td>
634 </tr>
635 <tr>
636 <td colspan="2" class="size1"><p><a href="copyright.htm"><font color="#666666">Copyright </font></a><font color="#666666">&copy; 2000, 2003, 2004 Malay Kumar Basu<br>Send your comments/suggestions/bug-report to me:<br><a href="mailto:malay@bioinformatics.org">malay@bioinformatics.org</a><br><a href="copyright.htm">Disclaimer</a></font><br>
637 </td>
638 </tr>
639 </table>
640 </form>
641 </body>
642 </html>