aboutsummaryrefslogtreecommitdiff
path: root/web/javascript/webqtl.js
diff options
context:
space:
mode:
authorroot2012-05-08 18:39:56 -0500
committerroot2012-05-08 18:39:56 -0500
commitea46f42ee640928b92947bfb204c41a482d80937 (patch)
tree9b27a4eb852d12539b543c3efee9d2a47ef470f3 /web/javascript/webqtl.js
parent056b5253fc3857b0444382aa39944f6344dc1ceb (diff)
downloadgenenetwork2-ea46f42ee640928b92947bfb204c41a482d80937.tar.gz
Add all the source codes into the github.
Diffstat (limited to 'web/javascript/webqtl.js')
-rw-r--r--web/javascript/webqtl.js1346
1 files changed, 1346 insertions, 0 deletions
diff --git a/web/javascript/webqtl.js b/web/javascript/webqtl.js
new file mode 100644
index 00000000..f8dd1a4e
--- /dev/null
+++ b/web/javascript/webqtl.js
@@ -0,0 +1,1346 @@
+// var NS4 = (document.layers) ? 1 : 0;
+// var IE4 = (document.all) ? 1 : 0;
+
+function openNewWin(myURL){
+ windowName = 'formTarget' + (new Date().getTime());
+ if (openNewWin.arguments.length == 2){
+ newWindow = open(myURL,windowName,openNewWin.arguments[1]);
+ }
+ else{
+ newWindow = open(myURL,windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ }
+}
+
+/*XZ, 9/2/2009*/
+/*submit form to new window*/
+function submitToNewWindow(thisForm){
+ var windowName = genNewWin();
+ newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ newWindow.focus();
+ thisForm.target = windowName;
+ thisForm.submit();
+}
+
+/*Obsolete and To be mofdified*/
+/*
+function makeTree(thisForm, nnn){
+ var trait_list2 = new Array();
+ var correlation2 = new Array();
+ var symbol_list2 = new Array();
+ var length = document.showDatabase.searchResult.length;
+ var j = 0
+ for(var i = 0; i < length; i++)
+ {
+ if (document.showDatabase.searchResult[i].checked == true){
+ trait_list2 = trait_list2.concat(trait_list[i]);
+ correlation2 = correlation2.concat(correlation[i]);
+ symbol_list2 = symbol_list2.concat(symbol_list[i]);
+ j += 1;
+ }
+ }
+
+ var windowName = 'formTarget' + (new Date().getTime());
+ var newWindow = open("", windowName,"width=900,menubar=0,toolbar=1,resizable=1,status=1,scrollbars=1");
+ var html = "";
+ if (j > 0)
+ {
+ var waithtml1 ="<Blockquote class='title' id='red'>Your list of "+j+" transcripts is being exported to the Gene Ontology Tree Machine for analysis. This window will soon be replaced with the main GOTM results.</Blockquote>";
+ }
+ else
+ {
+ var waithtml1 ="<Blockquote class='title' id='red'>Your should select at least one transcript to export to the Gene Ontology Tree Machine for analysis.</Blockquote>";
+ }
+ html += waithtml1;
+ //newWindow.document.write(html);
+ //newWindow.document.close();
+ newWindow.focus();
+ if (j > 0)
+ {
+ thisForm.trait_list.value = trait_list2.join(',');
+ thisForm.correlation.value = correlation2.join(',');
+ thisForm.symbol_list.value = symbol_list2.join(',');
+ thisForm.target = windowName;
+ thisForm.submit();
+ }
+}
+*/
+
+function showCorrelationPlot(ProbeSetID,CellID){
+ windowName = 'formTarget' + (new Date().getTime());
+ newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ document.showDatabase.target = windowName;
+ document.showDatabase.FormID.value = "showCorrelationPlot";
+ document.showDatabase.ProbeSetID.value = ProbeSetID;
+ document.showDatabase.CellID.value = CellID;
+ document.showDatabase.submit();
+}
+
+
+function showPairPlot(ChrA,ChrB){
+ windowName = 'formTarget' + (new Date().getTime());
+ newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ document.showPairPlot.target = windowName;
+ document.showPairPlot.Chr_A.value = ChrA;
+ document.showPairPlot.Chr_B.value = ChrB;
+ document.showPairPlot.submit();
+}
+
+function showCorrelationPlot2(db, ProbeSetID, CellID, db2, ProbeSetID2, CellID2, rank){
+ windowName = 'formTarget' + (new Date().getTime());
+ newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ document.showDatabase.target = windowName;
+ document.showDatabase.FormID.value = "showCorrelationPlot";
+ document.showDatabase.database.value = db;
+ document.showDatabase.ProbeSetID.value = ProbeSetID;
+ document.showDatabase.CellID.value = CellID;
+ document.showDatabase.database2.value = db2;
+ document.showDatabase.ProbeSetID2.value = ProbeSetID2;
+ document.showDatabase.CellID2.value = CellID2;
+ document.showDatabase.rankOrder.value = rank;
+
+ //This is to make sure the type of correlation is Sample Correlation
+ if(typeof(document.showDatabase.X_geneSymbol) !== 'undefined'){
+ document.showDatabase.X_geneSymbol.value = null;
+ document.showDatabase.Y_geneSymbol.value = null;
+ }
+
+ document.showDatabase.submit();
+}
+
+
+function showProbeInfo(Database,ProbeSetID,CellID){
+ windowName = 'formTarget' + (new Date().getTime());
+ newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ document.showDatabase.target = windowName;
+ document.showDatabase.FormID.value = "showProbeInfo";
+ document.showDatabase.database.value = Database;
+ document.showDatabase.ProbeSetID.value = ProbeSetID;
+ document.showDatabase.CellID.value = CellID;
+ document.showDatabase.submit();
+}
+
+
+function showDatabase(ProbeSetID,CellID){
+ windowName = 'formTarget' + (new Date().getTime());
+ newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ document.showDatabase.target = windowName;
+ document.showDatabase.FormID.value = "showDatabase";
+ document.showDatabase.ProbeSetID.value = ProbeSetID;
+ document.showDatabase.CellID.value = CellID;
+ document.showDatabase.submit();
+}
+
+
+
+function showDatabase2(Database,ProbeSetID,CellID){
+ windowName = 'formTarget' + (new Date().getTime());
+ newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ document.showDatabase.target = windowName;
+ document.showDatabase.FormID.value = "showDatabase";
+ document.showDatabase.database.value = Database;
+ document.showDatabase.ProbeSetID.value = ProbeSetID;
+ document.showDatabase.CellID.value = CellID;
+ document.showDatabase.submit();
+}
+
+
+function showDatabase3(formName, Database,ProbeSetID,CellID){
+ windowName = 'formTarget' + (new Date().getTime());
+ newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ document[formName].target = windowName;
+ document[formName].FormID.value = "showDatabase";
+ document[formName].database.value = Database;
+ document[formName].ProbeSetID.value = ProbeSetID;
+ document[formName].CellID.value = CellID;
+ document[formName].submit();
+}
+
+
+function showTextResult(){
+ windowName = 'formTarget' + (new Date().getTime());
+ newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ document.SEARCHFORM.target = windowName;
+ document.SEARCHFORM.submit();
+ newWindow.focus()
+}
+
+/*New form name independent function*/
+function getForm(fmName){
+ var match = 0;
+ for (i=0; i< document.forms.length;i++){
+ if (document.forms[i].name == fmName){
+ thisForm = document.forms[i];
+ match = 1;
+ return thisForm;
+ }
+ }
+ if (match == 0)
+ return null;
+}
+
+function genNewWin(){
+ windowName = 'formTarget' + (new Date().getTime());
+ newWindow = open("",windowName, "menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ return windowName;
+}
+
+function showTrait(fmName){
+ var thisForm = getForm(fmName);
+ if (thisForm == null || showTrait.arguments.length < 2)
+ return;
+
+ windowName = genNewWin();
+ thisForm.target = windowName;
+
+ thisForm.FormID.value = "showDatabase";
+ thisForm.ProbeSetID.value = showTrait.arguments[1];
+ if (showTrait.arguments.length > 2)
+ thisForm.CellID.value = showTrait.arguments[2];
+ else
+ thisForm.CellID.value = "";
+ thisForm.submit();
+}
+
+function showCateGraph(fmName){
+ var thisForm = getForm(fmName);
+ if (thisForm == null || showCateGraph.arguments.length < 2)
+ return;
+
+ windowName = genNewWin();
+ thisForm.target = windowName;
+
+ thisForm.FormID.value = "showCategoryGraph";
+ thisForm.interval1.value = showCateGraph.arguments[1];
+ thisForm.interval2.value = showCateGraph.arguments[2];
+ thisForm.submit();
+}
+
+function showCorrPlot(fmName){
+ var thisForm = getForm(fmName);
+ if (thisForm == null || showCorrPlot.arguments.length < 2)
+ return;
+
+ windowName = genNewWin();
+ thisForm.target = windowName;
+
+ thisForm.FormID.value = "showCorrelationPlot";
+ thisForm.ProbeSetID.value = showCorrPlot.arguments[1];
+ if (showCorrPlot.arguments.length > 2)
+ thisForm.CellID.value = showCorrPlot.arguments[2];
+ else
+ thisForm.CellID.value = "";
+
+ thisForm.X_geneSymbol.value = null;
+ thisForm.Y_geneSymbol.value = null;
+
+ thisForm.submit();
+
+}
+
+
+function showCorrPlotThird(fmName){
+ var thisForm = getForm(fmName);
+ if (thisForm == null || showCorrPlotThird.arguments.length < 3)
+ return;
+
+ windowName = genNewWin();
+ thisForm.target = windowName;
+
+ var olddb = thisForm.database.value;
+
+ thisForm.FormID.value = "showCorrelationPlot";
+ thisForm.database.value = showCorrPlotThird.arguments[1];
+ thisForm.ProbeSetID.value = showCorrPlotThird.arguments[2];
+ if (showCorrPlotThird.arguments.length > 3)
+ thisForm.CellID.value = showCorrPlotThird.arguments[3];
+ else
+ thisForm.CellID.value = "";
+ thisForm.submit();
+ thisForm.database.value = olddb;
+}
+
+/*
+function ODE(thisForm, script){
+ var trait_list_all = new Array();
+ var correlation_all = new Array();
+ var llid_list_all = new Array();
+ var trait_list2 = new Array();
+ var correlation2 = new Array();
+ var llid_list2 = new Array();
+ var length = thisForm.searchResult.length;
+ var j = 0;
+ for(var i = 0; i < length; i++){
+ var p = corrArray[thisForm.searchResult[i].value];
+ if (thisForm.searchResult[i].checked == true){
+ trait_list2 = trait_list2.concat(p.name);
+ correlation2 = correlation2.concat(p.corr);
+ llid_list2 = llid_list2.concat(p.geneid);
+ j += 1;
+ }
+ trait_list_all = trait_list_all.concat(p.name);
+ correlation_all = correlation_all.concat(p.corr);
+ llid_list_all = llid_list_all.concat(p.geneid);
+ }
+ var windowName = 'formTarget' + (new Date().getTime());
+ var newWindow = open("", windowName, "width=900,menubar=0,toolbar=1,resizable=1,status=1,scrollbars=1");
+ var html = "";
+ if (j == 0){
+ j = length;
+ trait_list2 = trait_list_all;
+ correlation2 = correlation_all;
+ llid_list2 = llid_list_all;
+ }
+
+ var waithtml1 ="<Blockquote class='title' id='red'>Your list of "+j+" transcripts is being exported to the ODE for analysis. This window will soon be replaced with the results.</Blockquote>";
+
+ html += waithtml1;
+ newWindow.document.write(html);
+ newWindow.document.close();
+ newWindow.focus();
+ if (j > 0){
+ thisForm.id_list.value = trait_list2.join(',');
+ thisForm.correlation.value = correlation2.join(',');
+ thisForm.id_value.value = thisForm.correlation.value;
+ thisForm.llid_list.value = llid_list2.join(',');
+
+ // ODE
+
+ thisForm.idtype.value = thisForm.id_type.value;
+ thisForm.species.value = thisForm.org.value;
+ thisForm.list.value = thisForm.id_list.value;
+ thisForm.client.value = "genenetwork";
+
+ thisForm.target = windowName;
+ var oldaction = thisForm.action;
+ thisForm.action = script;
+ thisForm.submit();
+ thisForm.action = oldaction;
+ }
+}
+*/
+// 02/12/2009
+// Lei Yan
+
+/*scripts in the Dataediting form*/
+
+function dataEditingFunc(thisForm,submitIdValue){
+
+ windowName = 'formTarget' + (new Date().getTime());
+
+ if (thisForm.FormID.value!='secondRegression'){
+ thisForm.FormID.value = 'dataEditing';
+ }
+
+ if ((submitIdValue == "markerRegression")||(submitIdValue == "compositeRegression")){
+ thisForm.topten.value = "";
+ }
+
+ else if (submitIdValue == "addRecord"){
+ windowName = thisForm.RISet.value;
+ var name = thisForm.identification.value;
+ if (name != ""){
+ }
+ else{
+ name = "Unnamed Trait";
+ }
+ Namebox = prompt("Name of your trait",name);
+ thisForm.identification.value = Namebox;
+ }
+
+ else{
+ }
+
+ newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ thisForm.target = windowName;
+ newWindow.focus();
+ thisForm.submitID.value = submitIdValue;
+ thisForm.submit();
+}
+
+/*searchForm etc.*/
+function databaseFunc(thisForm,formIdValue){
+ if(formIdValue=="GOTree" && typeof(corrArray)!='undefined' && corrArray!=null){
+ makeListCorrelation(thisForm);
+ }
+
+ windowName = 'formTarget' + (new Date().getTime());
+ newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ if (databaseFunc.arguments.length > 2){
+ newWindow.document.write("<center><H3><font color='black' face='verdana'>" + databaseFunc.arguments[2]+ "</font></h3></center>");
+ newWindow.document.close();
+ }
+ newWindow.focus();
+ thisForm.target = windowName;
+ thisForm.FormID.value = formIdValue;
+ thisForm.submit();
+}
+
+/* make a list of correlation values for GOTree */
+function makeListCorrelation(thisForm){
+ var correlation = new Array();
+ for(var i = 0; i < thisForm.searchResult.length; i++){
+ if (thisForm.searchResult[i].checked == true){
+ var p = corrArray[thisForm.searchResult[i].value];
+ correlation = correlation.concat(p.corr);
+ }
+ }
+ thisForm.correlation.value = correlation.join(',');
+}
+
+/*add/remove selection*/
+
+function addRmvSelection(windowName, thisForm, addORrmv){
+ var newWindow = window.open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ thisForm.target = windowName;
+ thisForm.FormID.value = addORrmv;
+ thisForm.submit();
+ newWindow.focus();
+}
+
+function batchSelection(thisForm){
+ var select = thisForm.RISet;
+ var windowName = select.options[select.selectedIndex].value;
+ var newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ newWindow.focus();
+ thisForm.target = windowName;
+ thisForm.submit();
+}
+
+/*opener involved*/
+
+function showTop10(formName, submitIdValue){
+ var match = 0;
+ for (i=0; i< window.opener.document.forms.length;i++){
+ if (window.opener.document.forms[i].name == formName){
+ thisForm = window.opener.document.forms[i];
+ match = 1;
+ break;
+ }
+ }
+ if (match == 0)
+ return;
+
+ thisForm.target = self.name;
+ if ((submitIdValue == "markerRegression")||(submitIdValue == "compositeRegression")){
+ thisForm.topten.value = "topten";
+ }
+
+ thisForm.submitID.value = submitIdValue;
+ thisForm.submit();
+}
+
+
+function showIndividualChromosome(formName, submitIdValue, ii){
+ var match = 0;
+ for (i=0; i< window.opener.document.forms.length;i++){
+ if (window.opener.document.forms[i].name == formName){
+ thisForm = window.opener.document.forms[i];
+ match = 1;
+ break;
+ }
+ }
+ if (match == 0)
+ return;
+
+ windowName = 'formTarget' + (new Date().getTime());
+ newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ newWindow.focus();
+ thisForm.target = windowName;
+
+ if (submitIdValue == "showIntMap"){
+ thisForm.chromosomes.value = ii;
+ }
+ else{
+ thisForm.chromosomes.selectedIndex = ii;
+ }
+
+ thisForm.FormID.value = submitIdValue;
+ thisForm.submit();
+
+}
+
+/*end of opener*/
+
+function showSample(thisForm){
+ thisForm.submitID.value = "sample";
+ thisForm.submit();
+}
+
+function showNext(thisForm){
+ thisForm.submitID.value = "next";
+ thisForm.submit();
+}
+
+
+function changeStatusSubmit(thisForm, status) {
+ thisForm.status.value = status;
+ thisForm.submit();
+}
+
+function editHTML(thisForm, execCommand){
+ if (execCommand == "preview"){
+ windowName = 'formTarget' + (new Date().getTime());
+ newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ newWindow.focus();
+ thisForm.target = windowName;
+ thisForm.preview.value = "newWindow";
+ thisForm.submit();
+ }
+ else if (execCommand == "submit"){
+ //thisForm.target = window;
+ thisForm.preview.value = "";
+ thisForm.submit();
+ }
+ else{
+ }
+}
+
+function dataWindow(form){
+ var SaveAs = (document.execCommand) ? 1 : 0;
+ newWindow = open("", "thankYouWin","width=600,menubar=1,toolbar=1,height=300,resizable=0,status=1,scrollbars=1");
+ var html = "";
+ for (var i=0; i < form.length; i++)
+ {
+ if (form.elements[i].type == "text")
+ {
+ if (form.elements[i].value=="")
+ html +="x ";
+ else
+ html += form.elements[i].value+" ";
+ }
+ }
+ newWindow.document.open();
+ newWindow.document.write(html);
+ newWindow.document.close();
+ newWindow.focus();
+
+ if (!SaveAs)
+ {alert("Feature is not avaiable in current type of browser,You \nneed to manually save the content into a text format \nfile, The window will be automatically closed in 20 \nseconds!");
+ setTimeout("newWindow.close()", 20000);}
+ else
+ {
+ if (newWindow.document.execCommand('SaveAs',false,'.txt'))
+ {newWindow.close();}
+ else{
+ alert("Either you cancelled the SaveAs Dialog, or this feature \nis not avaiable in current type of browser, You \ncan manually save the content into a text format file.");
+ setTimeout("newWindow.close()", 20000);
+ }
+ }
+}
+
+
+function xchange() {
+ var select = document.crossChoice.RISet;
+ var value = select.options[select.selectedIndex].value;
+
+ if (value !="BDAI") return;
+ document.crossChoice.variance.checked = false;
+}
+
+/*display Info Page and Data Set buttom Added by A. Centeno*/
+
+function datasetinfo(){
+ var windowName = 'dataset_info' + (new Date().getTime());
+ var select = document.SEARCHFORM.database;
+ var database = select.options[select.selectedIndex].value;
+ var page = '/webqtl/main.py?FormID=sharinginfo&InfoPageName=' + database;
+ newWindow = open(page,windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ newWindow.focus();
+}
+
+function databaseinfo(){
+ var windowName = 'database_info' + (new Date().getTime());
+ var select = document.SEARCHFORM.database;
+ var database = select.options[select.selectedIndex].value;
+ var page = '/webqtl/main.py?FormID=sharinginfo&InfoPageName=' + database;
+ newWindow = open(page,windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ newWindow.focus();
+}
+
+function crossinfo(){
+ var windowName = 'cross_info';
+ var select0 = document.SEARCHFORM.species;
+ var select1 = document.SEARCHFORM.cross;
+ var specie = select0.options[select0.selectedIndex].value;
+ var database = select1.options[select1.selectedIndex].value;
+ var page = '/' + specie + 'Cross.html#' + database;
+ newWindow = open(page,windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ newWindow.focus();
+}
+
+function crossinfo2(){
+ var windowName = 'cross_info';
+ var select = document.crossChoice.RISet;
+ var database = select.options[select.selectedIndex].value;
+ var page = '/cross.html#' + database;
+ newWindow = open(page,windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+ newWindow.focus()
+}
+
+
+function checkWidth(){
+ var width = document.getElementsByName('plotSize')[0].value
+
+ if (width < 600) {
+ alert("Plot size is too small - setting size to 600")
+ document.getElementsByName('plotSize')[0].value = 600
+ }
+}
+
+function changeLineColor(){
+ var lineColor = document.getElementsByName('lineColorSel')[0].value
+
+ document.getElementsByName('lineColor')[0].value = lineColor
+}
+
+function changeLineSize(){
+ var lineSize = document.getElementsByName('lineSizeSel')[0].value
+
+ document.getElementsByName('lineSize')[0].value = lineSize
+}
+
+function changeIdColor(){
+ var idColor = document.getElementsByName('idColorSel')[0].value
+
+ document.getElementsByName('idColor')[0].value = idColor
+}
+
+function changeIdFont(){
+ var idFont = document.getElementsByName('idFontSel')[0].value
+
+ document.getElementsByName('idFont')[0].value = idFont
+}
+
+function changeIdSize(){
+ var idSize = document.getElementsByName('idSizeSel')[0].value
+
+ document.getElementsByName('idSize')[0].value = idSize
+}
+
+function changeSymbolColor(){
+ var symbolColor = document.getElementsByName('colorSel')[0].value
+
+ document.getElementsByName('symbolColor')[0].value = symbolColor
+}
+
+function changeSymbol(){
+ var symbol = document.getElementsByName('symbolSel')[0].value
+
+ document.getElementsByName('symbol')[0].value = symbol
+}
+
+function changeFilled(){
+ var filled = document.getElementsByName('fillSel')[0].value
+
+ document.getElementsByName('filled')[0].value = filled
+}
+
+function changeSize(){
+ var symbolSize = document.getElementsByName('sizeSel')[0].value
+
+ document.getElementsByName('symbolSize')[0].value = symbolSize
+}
+
+
+function checkAll(thisForm){
+ var length = thisForm.searchResult.length;
+ for(var i = 0; i < length; i++)
+ {
+ thisForm.searchResult[i].checked = true;
+ highlight(thisForm.searchResult[i]);
+ }
+}
+
+function checkNone(thisForm){
+ var length = thisForm.searchResult.length;
+ for(var i = 0; i < length; i++)
+ {
+ thisForm.searchResult[i].checked = false;
+ highlight(thisForm.searchResult[i]);
+ }
+}
+
+function checkInvert(thisForm){
+ var length = thisForm.searchResult.length;
+ for(var i = 0; i < length; i++)
+ {
+ thisForm.searchResult[i].checked = !(thisForm.searchResult[i].checked);
+ highlight(thisForm.searchResult[i]);
+ }
+}
+
+/*Not used anymore*/
+function checkTraits2(thisForm){
+ var length = thisForm.searchResult.length;
+ var category = thisForm.selectmenu.value;
+ for(var i = 0; i < length; i++)
+ {
+ if (category == 'gt0.8')
+ {
+ if (correlation[i] > 0.8)
+ {thisForm.searchResult[i].checked = true;}
+ else
+ {thisForm.searchResult[i].checked = false;}
+ }
+ else if (category == 'gt0.4')
+ {
+ if (correlation[i] > 0.4)
+ {thisForm.searchResult[i].checked = true;}
+ else
+ {thisForm.searchResult[i].checked = false;}
+ }
+ else if (category == 'gt0.0')
+ {
+ if (correlation[i] > 0.0)
+ {thisForm.searchResult[i].checked = true;}
+ else
+ {thisForm.searchResult[i].checked = false;}
+ }
+ else if (category == 'lt0.0')
+ {
+ if (correlation[i] < 0.0)
+ {thisForm.searchResult[i].checked = true;}
+ else
+ {thisForm.searchResult[i].checked = false;}
+ }
+ else if (category == 'lt-0.4')
+ {
+ if (correlation[i] < -0.4)
+ {thisForm.searchResult[i].checked = true;}
+ else
+ {thisForm.searchResult[i].checked = false;}
+ }
+ else if (category == 'lt-0.8')
+ {
+ if (correlation[i] < -0.8)
+ {thisForm.searchResult[i].checked = true;}
+ else
+ {thisForm.searchResult[i].checked = false;}
+ }
+ else
+ {}
+ }
+}
+
+
+function checkNumeric(field,limit,resetvalue,compares,fdname)
+ {
+ pattern = /^-?[0-9]*\.?[0-9]*$/;
+ if(pattern.test(field.value)==false)
+ {
+ alert("Not numeric in " + fdname);
+ field.value = resetvalue;
+ }
+ else
+ {
+ if (compares == 'gthan') {
+ if(field.value > limit)
+ {
+ alert("Out of range in " + fdname);
+ field.value = resetvalue;
+ }}
+ else {
+ if(field.value < limit)
+ {
+ alert("Out of range in " + fdname);
+ field.value = resetvalue;
+ }}
+ }
+ }
+
+function checkTraits(thisForm){
+ var length = thisForm.searchResult.length;
+ var andor = thisForm.selectandor.value;
+ var gthan = parseFloat(thisForm.selectgt.value);
+ var lthan = parseFloat(thisForm.selectlt.value);
+ //alert(length + ' / ' + andor + ' / ' + gthan + ' / ' + lthan);
+ for(var i = 0; i < length; i++)
+ {
+ var p = corrArray[thisForm.searchResult[i].value];
+ if (andor == 'and')
+ {
+ if ((p.corr > gthan) && ( p.corr < lthan))
+ {thisForm.searchResult[i].checked = true;}
+ else
+ {thisForm.searchResult[i].checked = false;}
+ }
+ else if (andor == 'or')
+ {
+ if ((p.corr > gthan) || ( p.corr < lthan))
+ {thisForm.searchResult[i].checked = true;}
+ else
+ {thisForm.searchResult[i].checked = false;}
+ }
+ else
+ {}
+ highlight(thisForm.searchResult[i]);
+ }
+
+
+}
+
+
+function checkPM(thisForm){
+ var length = thisForm.searchResult.length;
+ for(var i = 0; i < length; i++)
+ {
+ curStr = thisForm.searchResult[i].value;
+ //alert(curStr.charAt(curStr.length - 1));
+ if ((curStr.charAt(curStr.length - 1) % 2) == 1)
+ {thisForm.searchResult[i].checked = true;}
+ else
+ {thisForm.searchResult[i].checked = false;}
+ highlight(thisForm.searchResult[i]);
+ }
+}
+function checkMM(thisForm){
+ var length = thisForm.searchResult.length;
+ for(var i = 0; i < length; i++)
+ {
+ curStr = thisForm.searchResult[i].value;
+ if ((curStr.charAt(curStr.length - 1) % 2) == 0)
+ {thisForm.searchResult[i].checked = true;}
+ else
+ {thisForm.searchResult[i].checked = false;}
+ highlight(thisForm.searchResult[i]);
+ }
+}
+
+
+function directPermuAlert(thisForm){
+ if (thisForm.directPermuCheckbox.checked){
+ alert("Interaction permutation will take long time to compute.\n Check this box only when necessary.");
+ }
+}
+
+function cliqueDatabase(pid){
+ var windowName = 'clique';
+ var newWindow = open("", windowName,"width=900,menubar=0,toolbar=1,resizable=1,status=1,scrollbars=1");
+ var html = '<form name=info action=http://compbio1.uthsc.edu/clique_go/results.php method=post><center><table cellspacing=0 cellpadding=0 border=0 width=50%><tr><td><font size=+1> ProbsetId </font><input type=text name=pid value=';
+ html += pid;
+ html += ' size=20 maxlength=30 ></td><tr><td><font size=+1> p-value range: between </font><input type=text name=pval_1 value=0 size=8 maxlength=20 > and <input type=text name=pval_2 value=0.01 size=8 maxlength=20></td><td><input type=submit value=Search Clique onclick=return check();></td></tr></table></center></form>';
+ newWindow.document.write(html);
+ newWindow.document.close();
+ newWindow.focus();
+}
+
+function getCookie(NameOfCookie){
+ if (document.cookie.length > 0){
+ begin = document.cookie.indexOf(NameOfCookie+"=");
+ if (begin != -1){
+ begin += NameOfCookie.length+1;
+ end = document.cookie.indexOf(";", begin);
+ if (end == -1) end = document.cookie.length;
+ return unescape(document.cookie.substring(begin, end));
+ }
+ }
+ return null;
+}
+
+function setCookie(NameOfCookie, value, expiredays){
+ var ExpireDate = new Date ();
+ ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
+ document.cookie = NameOfCookie + "=" + escape(value) + ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString()) + "; path=/";
+}
+
+
+function delCookie (NameOfCookie){
+ if (getCookie(NameOfCookie)){
+ document.cookie = NameOfCookie + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
+ }
+}
+
+
+function highlight(chkbox){
+ var tr = document.getElementById(chkbox.value);
+ if (tr){
+ if (chkbox.checked == true)
+ tr.bgColor='#FFEE99';
+ else
+ tr.bgColor='#eeeeee';
+ }
+}
+
+/* refresh function option when domain options change */
+function snpbrowser_function_refresh() {
+ var idx = document.newSNPPadding.domain.selectedIndex;
+ if (idx != 1) {
+ document.newSNPPadding.exonfunction.options[0].selected=true;
+ for (var i=1; i<document.newSNPPadding.exonfunction.length; i++) {
+ document.newSNPPadding.exonfunction.options[i].selected=false;
+ }
+ }
+}
+
+function snpbrowser_domain_refresh() {
+ /* to refresh domain option when function option change */
+ var form = document.newSNPPadding;
+ var idx = form.exonfunction.selectedIndex;
+ if (idx != 0) {
+ form.domain.options[0].selected = false;
+ form.domain.options[1].selected = true;
+ for (var i=2; i<form.domain.length; i++) {
+ form.domain.options[i].selected = false;
+ }
+ }
+}
+
+function showHideOptions() {
+ var options = document.getElementById("options");
+ var showOptions = document.getElementsByName("showOptions")[0];
+ var optionsButton = document.getElementsByName("optionsButton")[0];
+
+ if (showOptions.value == '0') {
+ showOptions.value = '1';
+ optionsButton.value = "Hide Options";
+ }
+ else {
+ showOptions.value = '0';
+ optionsButton.value = "Show Options";
+ }
+
+ options.style.display = (options.style.display != 'none' ? 'none' : '' );
+}
+
+function editPCAName(thisForm) {
+ var pcaTraits = document.getElementsByName("searchResult");
+
+ var nameArray = new Array();
+
+ for (j=1; j<=pcaTraits.length; j++){
+ var traitName = "pcaTrait" + String(j);
+ var pcaTrait = document.getElementById(traitName).childNodes[0].innerHTML;
+ var editID = "editName" + String(j);
+ var editName = document.getElementsByName(editID)[0].value;
+ var originalName = pcaTrait.split(":")[3];
+
+ if (editName.length < 1) {
+ nameArray.push(originalName);
+ }
+ else {
+ nameArray.push(editName);
+ }
+ }
+
+ var newNames = nameArray.join(",");
+
+ thisForm.newNames.value = newNames;
+ thisForm.searchResult = thisForm.oldSearchResult;
+ thisForm.FormID.value = "corMatrix";
+
+ thisForm.submit();
+}
+
+
+/*
+Used by GoTreePage.py,ODEPage.py ,add the parameter 'methodName'
+*/
+function mixedChipError(methodName){
+ str ='Sorry, the analysis was interrupted because your selections from GeneNetwork apparently include data from more than one array platform (ie., Affymetrix U74A and M430 2.0). Most ' + methodName + ' analyses assume that you are using a single array type and compute statistical values on the basis of that particular array. Please reselect traits from a single platform and submit again.';
+ alert(str);
+ window.close();
+}
+
+/*
+Used by GoTreePage.py, add the parameter 'chipName'
+*/
+function unknownChipError(chipName){
+ alert("Sorry, the analysis was interrupted because your selections from GeneNetwork apparently include data from platform"+ chipName +"which is unknown by WebGestalt. Please reselect traits and submit again.");
+ window.close();
+}
+
+/*
+Used by PartialCorrInputPage.py,
+*/
+function validateTrait(thisForm, inputRadioNames, type, method)
+{
+ var radioArray = new Array();
+ radioArray = inputRadioNames.split(',');
+
+ var value = null;
+ var primaryCount = 0;
+ var controlCount = 0;
+ var targetCount = 0;
+ var primaryString = '';
+ var controlString = '';
+ var targetString = '';
+
+ for (var i = 0; i < radioArray.length; i++)
+ {
+ radioElement = thisForm[radioArray[i]]
+
+ for (var j = 0; j < radioElement.length; j++)
+ {
+ if (radioElement[j].checked) {
+ value = radioElement[j].value;
+ }
+ }
+
+ if (value == "primary") {
+ primaryCount += 1;
+ primaryString += radioElement[0].name + ',';
+ }
+ else if (value == "control") {
+ controlCount += 1;
+ controlString += radioElement[0].name + ',';
+ }
+ else if (value == "target") {
+ targetCount += 1;
+ targetString += radioElement[0].name + ',';
+ }
+ }
+
+ primaryString = primaryString.slice(0,primaryString.length-1);
+ controlString = controlString.slice(0,controlString.length-1);
+ targetString = targetString.slice(0,targetString.length-1);
+
+ if (primaryCount < 1) {
+ alert("You must select one primary trait!");
+ }
+ else if (primaryCount > 1) {
+ alert("You selected multiple primary traits. Please just select one primary trait!");
+ }
+ else if (controlCount < 1) {
+ alert("You must select at least one control trait!");
+ }
+ else if (controlCount > 3) {
+ alert("You selected more than three control traits. Please select no more than three control trait!");
+ }
+ else if (targetCount < 1 && type == 0) {
+ alert("You must select at least one target trait!");
+ }
+ else {
+ thisForm.primaryTrait.value = primaryString;
+ thisForm.controlTraits.value = controlString;
+ thisForm.targetTraits.value = targetString;
+
+ if (type == 0){
+ if (method == 1) {
+ thisForm.pcMethod.value = "pearson";
+ }
+ else {
+ thisForm.pcMethod.value = "spearman";
+ }
+
+ databaseFunc(thisForm,'calPartialCorrTrait');
+ }
+ if (type == 1){
+ databaseFunc(thisForm,'calPartialCorrDB');
+ }
+
+ }
+
+}
+
+/*
+used by IntervalMappingPage.py
+*/
+function changeView(i, Chr_Mb_list){
+ var oldwidth= document.changeViewForm.graphWidth.value;
+ var oldselect= document.changeViewForm.chromosomes.selectedIndex;
+ var oldstart= document.changeViewForm.startMb.value;
+ var oldend= document.changeViewForm.startMb.value;
+ windowName = 'formTarget' + (new Date().getTime());
+ newWindow = open('',windowName,'menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900');
+ document.changeViewForm.target = windowName;
+ document.changeViewForm.chromosomes.selectedIndex = i+1;
+ document.changeViewForm.startMb.value = '0.000000';
+ document.changeViewForm.endMb.value = Chr_Mb_list[i];
+ document.changeViewForm.graphWidth.value = 1280;
+ document.changeViewForm.submit();
+ document.changeViewForm.graphWidth.value = oldwidth;
+ document.changeViewForm.chromosomes.selectedIndex = oldselect;
+ document.changeViewForm.startMb.value = oldstart;
+ document.changeViewForm.endMb.value = oldend;
+ newWindow.focus();
+}
+
+/*
+used by IntervalMappingPage.py
+*/
+function chrLength(a, b, c, Chr_Mb_list) {
+ if (b=='physic' && a>-1) {
+ c.startMb.value = '0.000000';
+ c.endMb.value = Chr_Mb_list[a];
+ } else {
+ c.startMb.value = '';
+ c.endMb.value = '';
+ }
+ if (a>-1) c.graphWidth.value = 1280;
+ else c.graphWidth.value = 1600;
+}
+
+/*
+used by networkGraphPageBody.py
+*/
+function changeFormat(graphName){
+ var graphFormat = document.getElementById('exportFormat').value;
+ var traitType = document.getElementById('traitType').value;
+
+ if (graphFormat=="xgmml"){
+ if (traitType=="symbol"){
+ var graphname = graphName+ "_xgmml_symbol.txt";
+ document.getElementById('exportGraphFile').onclick = function() { window.open(graphname) };
+ }
+ else if (traitType=="name"){
+ var graphname = graphName+ "_xgmml_name.txt";
+ document.getElementById('exportGraphFile').onclick = function() { window.open(graphname) };
+ }
+ }
+
+ else if (graphFormat=="plain")
+ {
+ if (traitType=="symbol")
+ {
+ var graphname = graphName+ "_plain_symbol.txt";
+ document.getElementById('exportGraphFile').onclick = function() { window.open(graphname) };
+ }
+ else if (traitType=="name")
+ {
+ var graphname = graphName+ "_plain_name.txt";
+ document.getElementById('exportGraphFile').onclick = function() { window.open(graphname) };
+ }
+ }
+
+}
+
+
+/*
+used by snpBrowserPage.py
+*/
+function set_customStrains_cookie() {
+ var options = document.newSNPPadding.chosenStrains.options;
+ var size = options.length;
+ strains = "";
+ if (size > 0) {
+ strains = strains + options[0].text+":"+options[0].value;
+ }
+ for (var i=1; i<size; i++) {
+ strains = strains + "," + options[i].text + ":" +
+ options[i].value;
+ }
+ var exdate = new Date();
+ exdate.setDate(exdate.getDate()+100);
+ document.cookie = "customStrains1="+strains+
+ ";expires="+exdate.toGMTString()
+}
+
+/*
+* moved from beta2.js
+*/
+function centerIntervalMapOnRange2(chr, start, stop, form) {
+ var oldindex = form.chromosomes.selectedIndex;
+ var oldstart = form.startMb.value;
+ var oldend = form.endMb.value;
+
+ for (var i = 1; i < form.chromosomes.length; i++){
+ if(form.chromosomes.options[i].text == chr){
+ form.chromosomes.selectedIndex = i;
+ break;
+ }
+ }
+ form.startMb.value = start;
+ form.endMb.value = stop;
+ databaseFunc(form,'showIntMap');
+ form.chromosomes.selectedIndex = oldindex;
+ form.startMb.value = oldstart;
+ form.endMb.value = oldend;
+
+}
+
+/*
+* moved from index3.html
+*/
+
+String.prototype.trim = function(){
+ return this.replace(/(^\s*)|(\s*$)/g, "");
+}
+
+function asearch(thisform){
+ //
+ var orkeyword = thisform.ORkeyword.value.trim();
+ //
+ var any_position_chr = thisform.any_position_chr.value.trim();
+ var any_position_from = thisform.any_position_from.value.trim();
+ var any_position_to = thisform.any_position_to.value.trim();
+ if(0<any_position_chr.length && 0<any_position_from.length && 0<any_position_to.length){
+ orkeyword += ' position=('+any_position_chr+' '+any_position_from+' '+any_position_to+')';
+ }
+ //
+ var any_mean_from = thisform.any_mean_from.value.trim();
+ var any_mean_to = thisform.any_mean_to.value.trim();
+ if(0<any_mean_from.length && 0<any_mean_to.length){
+ orkeyword += ' mean=('+any_mean_from+' '+any_mean_to+')';
+ }
+ //
+ var any_range_from = thisform.any_range_from.value.trim();
+ var any_range_to = thisform.any_range_to.value.trim();
+ if(0<any_range_from.length && 0<any_range_to.length){
+ orkeyword += ' range=('+any_range_from+' '+any_range_to+')';
+ }
+ //
+ var any_wiki = thisform.any_wiki.value.trim();
+ if(0<any_wiki.length){
+ orkeyword += ' wiki='+any_wiki;
+ }
+ //
+ var any_rif = thisform.any_rif.value.trim();
+ if(0<any_rif.length){
+ orkeyword += ' rif='+any_rif;
+ }
+ //
+ var any_lrs_from = thisform.any_lrs_from.value.trim();
+ var any_lrs_to = thisform.any_lrs_to.value.trim();
+ if(0<any_lrs_from.length && 0<any_lrs_to.length){
+ orkeyword += ' lrs=('+any_lrs_from+' '+any_lrs_to+')';
+ }
+ //
+ var any_pvalue_from = thisform.any_pvalue_from.value.trim();
+ var any_pvalue_to = thisform.any_pvalue_to.value.trim();
+ if(0<any_pvalue_from.length && 0<any_pvalue_to.length){
+ orkeyword += ' pvalue=('+any_pvalue_from+' '+any_pvalue_to+')';
+ }
+ //
+ var any_h2_from = thisform.any_h2_from.value.trim();
+ var any_h2_to = thisform.any_h2_to.value.trim();
+ if(0<any_h2_from.length && 0<any_h2_to.length){
+ orkeyword += ' h2=('+any_h2_from+' '+any_h2_to+')';
+ }
+ //
+ var andkeyword = thisform.ANDkeyword.value;
+ //
+ var all_position_chr = thisform.all_position_chr.value.trim();
+ var all_position_from = thisform.all_position_from.value.trim();
+ var all_position_to = thisform.all_position_to.value.trim();
+ if(0<all_position_chr.length && 0<all_position_from.length && 0<all_position_to.length){
+ andkeyword += ' position=('+all_position_chr+' '+all_position_from+' '+all_position_to+')';
+ }
+ //
+ var all_mean_from = thisform.all_mean_from.value.trim();
+ var all_mean_to = thisform.all_mean_to.value.trim();
+ if(0<all_mean_from.length && 0<all_mean_to.length){
+ andkeyword += ' mean=('+all_mean_from+' '+all_mean_to+')';
+ }
+ //
+ var all_range_from = thisform.all_range_from.value.trim();
+ var all_range_to = thisform.all_range_to.value.trim();
+ if(0<all_range_from.length && 0<all_range_to.length){
+ andkeyword += ' range=('+all_range_from+' '+all_range_to+')';
+ }
+ //
+ var all_wiki = thisform.all_wiki.value.trim();
+ if(0<all_wiki.length){
+ andkeyword += ' wiki='+all_wiki;
+ }
+ //
+ var all_rif = thisform.all_rif.value.trim();
+ if(0<all_rif.length){
+ andkeyword += ' rif='+all_rif;
+ }
+ //
+ var all_lrs_from = thisform.all_lrs_from.value.trim();
+ var all_lrs_to = thisform.all_lrs_to.value.trim();
+ if(0<all_lrs_from.length && 0<all_lrs_to.length){
+ andkeyword += ' lrs=('+all_lrs_from+' '+all_lrs_to+')';
+ }
+ //
+ var all_pvalue_from = thisform.all_pvalue_from.value.trim();
+ var all_pvalue_to = thisform.all_pvalue_to.value.trim();
+ if(0<all_pvalue_from.length && 0<all_pvalue_to.length){
+ andkeyword += ' pvalue=('+all_pvalue_from+' '+all_pvalue_to+')';
+ }
+ //
+ var all_h2_from = thisform.all_h2_from.value.trim();
+ var all_h2_to = thisform.all_h2_to.value.trim();
+ if(0<all_h2_from.length && 0<all_h2_to.length){
+ andkeyword += ' h2=('+all_h2_from+' '+all_h2_to+')';
+ }
+
+ thisform.ORkeyword.value = orkeyword.trim();
+ thisform.ANDkeyword.value = andkeyword.trim();
+
+ thisform.submit();
+ thisform.ORkeyword.value = "";
+ thisform.ANDkeyword.value = "";
+ document.getElementById('tfor').focus();
+}
+
+function searchInitial(){
+ document.getElementById('tfor').value = "";
+ document.getElementById('tfor').focus();
+}
+
+
+/* set focus function for designated Id in html page */
+function setFocus(Id)
+{
+ document.getElementById(Id).focus();
+}
+/*Tissue correlation plot*/
+function showTissueCorrPlot(fmName,geneSymbol1, geneSymbol2,rank){
+
+ var thisForm = getForm(fmName);
+ if (thisForm == null || showTissueCorrPlot.arguments.length < 3)
+ return;
+
+ if (rank){
+ thisForm.rankOrder.value = rank;
+ }else{
+ thisForm.rankOrder.value = 0;
+ }
+
+ windowName = genNewWin();
+ thisForm.target = windowName;
+
+ thisForm.FormID.value = "showCorrelationPlot";
+
+ thisForm.X_geneSymbol.value = geneSymbol1;
+ thisForm.Y_geneSymbol.value = geneSymbol2;
+
+ // This is to make sure the type of correlation is Tissue Correlation. Note that the string value 'none' is used to make judgement in PlotCorrelationPage.py.
+ thisForm.ProbeSetID.value = 'none';
+ if(typeof(thisForm.ProbeSetID2) !== 'undefined'){
+ thisForm.ProbeSetID2.value = 'none';
+ }
+ thisForm.submit();
+}
+
+/* Used by MarkerRegressionPage.py */
+function validatePvalue(thisForm){
+ var pValue=thisForm.pValue.value;
+
+ if (pValue ==""){
+ alert("Please enter the P-Value.");
+ thisForm.pValue.focus();
+ }
+ else if(isNaN(pValue))
+ {
+ alert("Please enter numeric value.");
+ thisForm.pValue.focus();
+ }
+ else if (pValue <0){
+ alert("Please enter the valid P-Value.");
+ thisForm.pValue.focus();
+ }else {
+
+ dataEditingFunc(thisForm,'markerRegression');
+
+ }
+
+
+
+}
+
+function showTissueAbbr(fmName,shortname, fullname){
+ var thisForm = getForm(fmName);
+ windowName = genNewWin();
+ thisForm.target = windowName;
+ thisForm.FormID.value = 'tissueAbbreviation';
+ thisForm.shortTissueName.value=shortname;
+ thisForm.fullTissueName.value=fullname;
+
+ thisForm.submit();
+ thisForm.FormID.value = 'showCorrelationPlot';
+ thisForm.target =''
+
+}