Mercurial > repos > jankanis > blast2html2
comparison NCBI Blast reference example_files/format.js @ 31:344cd76f6fd2
rename NCBI reference example
| author | Jan Kanis <jan.code@jankanis.nl> |
|---|---|
| date | Thu, 15 May 2014 16:59:18 +0200 |
| parents | Blast output page example_files/format.js@bad241dc701f |
| children |
comparison
equal
deleted
inserted
replaced
| 30:2143f62809d0 | 31:344cd76f6fd2 |
|---|---|
| 1 | |
| 2 function UpdateDisplayTypes(displayTypes) { | |
| 3 dispMenu = displayTypes.options; | |
| 4 for(i=0; i < dispMenu.length; i++) { | |
| 5 //if(!utils.hasClass(displayTypes,"psiBlast") && !utils.hasClass(displayTypes,"phiBlast") || | |
| 6 if($("stepNumber").value == "" || $("stepNumber").value < 2) { | |
| 7 if(dispMenu[i].value.indexOf("PSSM") != -1) { | |
| 8 dispMenu[i--] = null; | |
| 9 //break; | |
| 10 } | |
| 11 } | |
| 12 } | |
| 13 } | |
| 14 | |
| 15 function GetIndexByValue(selectElem,val) { | |
| 16 var idx = 0; | |
| 17 var opts = selectElem.options; | |
| 18 for(i=0; i < opts.length; i++) { | |
| 19 if(opts[i].value == val) { | |
| 20 idx = i; | |
| 21 break; | |
| 22 } | |
| 23 } | |
| 24 return idx; | |
| 25 } | |
| 26 | |
| 27 function resetAdvView(show) | |
| 28 { | |
| 29 var advView = $("advView"); | |
| 30 if(show) { | |
| 31 if(utils.hasClass(advView, "hidden")) { | |
| 32 utils.removeClass(advView, "hidden"); | |
| 33 } | |
| 34 } | |
| 35 else { | |
| 36 utils.addClass(advView, "hidden"); | |
| 37 } | |
| 38 } | |
| 39 | |
| 40 | |
| 41 function ShowOrHide(hide,elem) | |
| 42 { | |
| 43 if(hide) { | |
| 44 if(!utils.hasClass(elem, "hidden")) { | |
| 45 utils.addClass(elem, "hidden"); | |
| 46 } | |
| 47 } | |
| 48 else { | |
| 49 if(utils.hasClass(elem, "hidden")) { | |
| 50 utils.removeClass(elem, "hidden"); | |
| 51 } | |
| 52 } | |
| 53 } | |
| 54 | |
| 55 function UpdateFormatTypes(form) { | |
| 56 var selectedObjType = form.FORMAT_OBJECT[form.FORMAT_OBJECT.selectedIndex].value; | |
| 57 var hideAdvView = false; | |
| 58 bioseqFormatHide = true; | |
| 59 pssmFormatHide = true; | |
| 60 pssmScFormatHide = true; | |
| 61 formatTypeHide = true; | |
| 62 if (selectedObjType == "Alignment") { | |
| 63 formatObjectSelectedIndex = 0; //HTML | |
| 64 formatTypeHide = false; | |
| 65 hideAdvView = true; | |
| 66 } | |
| 67 if (selectedObjType == "PSSM") { | |
| 68 formatObjectSelectedIndex = GetIndexByValue(form.FORMAT_TYPE,"Text"); | |
| 69 pssmFormatHide = false; | |
| 70 } | |
| 71 if (selectedObjType == "PSSM_Scoremat") { | |
| 72 formatObjectSelectedIndex = GetIndexByValue(form.FORMAT_TYPE,"ASN.1"); | |
| 73 pssmScFormatHide = false; | |
| 74 } | |
| 75 else if (selectedObjType == "Bioseq") { | |
| 76 formatObjectSelectedIndex = GetIndexByValue(form.FORMAT_TYPE,"ASN.1"); | |
| 77 bioseqFormatHide = false; | |
| 78 } | |
| 79 form.FORMAT_TYPE.selectedIndex = formatObjectSelectedIndex; | |
| 80 ShowOrHide(formatTypeHide,form.FORMAT_TYPE); | |
| 81 if ($("bioseqFormat")) { | |
| 82 ShowOrHide(bioseqFormatHide,$("bioseqFormat")); | |
| 83 $("bioseqFormat").readOnly=true; | |
| 84 } | |
| 85 if ($("pssmFormat")) { | |
| 86 ShowOrHide(pssmFormatHide,$("pssmFormat")); | |
| 87 $("pssmFormat").readOnly=true; | |
| 88 } | |
| 89 if ($("pssmScFormat")) { | |
| 90 ShowOrHide(pssmScFormatHide,$("pssmScFormat")); | |
| 91 $("pssmScFormat").readOnly=true; | |
| 92 } | |
| 93 resetAdvView(hideAdvView); | |
| 94 } | |
| 95 | |
| 96 function ResetForm() | |
| 97 { | |
| 98 //var defValNodes = cssQuery(".reset"); | |
| 99 defValNodes = $("FormatForm").elements; | |
| 100 for(i=0; i < defValNodes.length; i++) { | |
| 101 if(utils.hasClass(defValNodes[i],"reset")) | |
| 102 setDefalValue(defValNodes[i]); | |
| 103 } | |
| 104 if ($("FormatForm").FORMAT_OBJECT.type == "select-one") { | |
| 105 UpdateFormatTypes($("FormatForm")); | |
| 106 UpdateDisplayTypes($("FormatForm").FORMAT_OBJECT); | |
| 107 } | |
| 108 if($("FormatForm").RUN_PSIBLAST.checked) setDefalValue($("FormatForm").I_THRESH) | |
| 109 else $("FormatForm").I_THRESH.value=""; | |
| 110 //resetOrganismSuggest($("FormatForm").FORMAT_ORGANISM); | |
| 111 resetOrganismControls($("FormatForm").FORMAT_ORGANISM); | |
| 112 //TO DO: add threshold | |
| 113 } | |
| 114 | |
| 115 function LimitByHitlistSize(list) | |
| 116 { | |
| 117 var listBreak = false; | |
| 118 var optSel = false; | |
| 119 for(i=0; i < list.options.length; i++) { | |
| 120 var optVal = parseInt(list.options[i].value ,10); | |
| 121 var hitListSize = parseInt($("maxNumSeq").value ,10); | |
| 122 if(list.options[i].selected) optSel = true; | |
| 123 if(optVal >= hitListSize) { | |
| 124 if(!optSel) {list.options[i].selected = true;} | |
| 125 list.options.length = i + 1; | |
| 126 break; | |
| 127 } | |
| 128 } | |
| 129 } | |
| 130 | |
| 131 function AddFormatOrgField(e) { | |
| 132 AddOrgRow(e, "FORMAT_ORGANISM", "FORMAT_ORG_EXCLUDE"); | |
| 133 } | |
| 134 | |
| 135 function initSubmit() { | |
| 136 | |
| 137 | |
| 138 } | |
| 139 | |
| 140 function adjustFormatOptions() | |
| 141 { | |
| 142 var alignView = $("FormatForm").ALIGNMENT_VIEW; | |
| 143 var formatType = $("FormatForm").FORMAT_TYPE; | |
| 144 var queryAnch = formatType[formatType.selectedIndex].value == "HTML" && (alignView[alignView.selectedIndex].value != "Pairwise" && alignView[alignView.selectedIndex].value != "PairwiseWithIdentities"); | |
| 145 var dynFormatQA = !$("FormatForm").OLD_VIEW.checked && queryAnch; | |
| 146 dynFormatPW = !$("FormatForm").OLD_VIEW.checked && formatType[formatType.selectedIndex].value == "HTML" && (alignView[alignView.selectedIndex].value == "Pairwise" || alignView[alignView.selectedIndex].value == "PairwiseWithIdentities"); | |
| 147 | |
| 148 UpdateDescriptions(dynFormatPW); | |
| 149 if (dynFormatPW) { | |
| 150 jQuery("#frmAln").addClass("hidden"); | |
| 151 if (!utils.hasClass($("shl"), "hidden")) jQuery("#shl").addClass("hidden"); //hide SHOW_LINKOUT | |
| 152 jQuery("#gts").addClass("hidden"); //hide GET_SEQUENCE | |
| 153 jQuery("#scf").removeClass("hidden");//show CDS_FEAT | |
| 154 $("FormatForm").SHOW_LINKOUT.checked = true; | |
| 155 } | |
| 156 else { | |
| 157 if(dynFormatQA) $("FRM_ALIGNMENTS").selectedIndex = $("FRM_DESCRIPTIONS").selectedIndex; | |
| 158 | |
| 159 jQuery("#frmAln").removeClass("hidden"); | |
| 160 if (dynFormatQA) { | |
| 161 if (!utils.hasClass($("shl"), "hidden")) jQuery("#shl").addClass("hidden"); //hide SHOW_LINKOUT | |
| 162 } | |
| 163 else { | |
| 164 jQuery("#shl").removeClass("hidden"); | |
| 165 } | |
| 166 if (queryAnch) { | |
| 167 jQuery("#scf").addClass("hidden"); //hide CDS_FEAT | |
| 168 } | |
| 169 else {//pairwise old_view=false | |
| 170 jQuery("#scf").removeClass("hidden"); //hide CDS_FEAT | |
| 171 } | |
| 172 jQuery("#gts").removeClass("hidden"); //GET_SEQUENCE | |
| 173 } | |
| 174 if ($("blastSpec").value == "VecScreen") { | |
| 175 adjustVecscreen(dynFormatPW); | |
| 176 } | |
| 177 } | |
| 178 | |
| 179 function adjustVecscreen(dynFormatPW) | |
| 180 { | |
| 181 var dfltDescrInd = 0; //0 | |
| 182 var dfltDynDescrInd = 5; //1000 | |
| 183 var dfltAlnInd = 6; //1000 | |
| 184 if (dynFormatPW) { | |
| 185 utils.addClass($("lr"), "hidden"); | |
| 186 $("FRM_DESCRIPTIONS").selectedIndex = dfltDynDescrInd; | |
| 187 } | |
| 188 else { | |
| 189 utils.removeClass($("lr"), "hidden"); | |
| 190 $("FRM_DESCRIPTIONS").selectedIndex = dfltDescrInd; | |
| 191 } | |
| 192 $("FRM_ALIGNMENTS").selectedIndex = dfltAlnInd; | |
| 193 } | |
| 194 | |
| 195 | |
| 196 function UpdateDescriptions(removeZero) | |
| 197 { | |
| 198 if (removeZero) { | |
| 199 dispMenu = $("FormatForm").DESCRIPTIONS; | |
| 200 dispMenu.remove(0); | |
| 201 } | |
| 202 else { | |
| 203 dispMenu = $("FormatForm").DESCRIPTIONS; | |
| 204 if (dispMenu.options[0].value != "0") { | |
| 205 if (navigator.userAgent.match(/ie/i)) { | |
| 206 dispMenu.add(new Option("0", "0"), 0); | |
| 207 } | |
| 208 else { | |
| 209 dispMenu.add(new Option("0", "0"), dispMenu[0]); | |
| 210 } | |
| 211 } | |
| 212 } | |
| 213 } | |
| 214 | |
| 215 function InitDynFormatOptions() | |
| 216 { | |
| 217 if ($("OLD_VIEW")) { | |
| 218 utils.addEvent($("FormatForm").OLD_VIEW, "click", adjustFormatOptions, false); | |
| 219 utils.addEvent($("FormatForm").ALIGNMENT_VIEW,"change", adjustFormatOptions, false); | |
| 220 utils.addEvent($("FormatForm").FORMAT_TYPE, "change", adjustFormatOptions, false); | |
| 221 adjustFormatOptions(); | |
| 222 } | |
| 223 } | |
| 224 | |
| 225 function InitFormatPage() | |
| 226 { | |
| 227 if ($("FormatForm").FORMAT_OBJECT.type == "select-one") { | |
| 228 UpdateDisplayTypes($("FormatForm").FORMAT_OBJECT); | |
| 229 UpdateFormatTypes($("FormatForm")); | |
| 230 list = $("FormatForm").FORMAT_OBJECT; | |
| 231 utils.addEvent(list, "change", function() { | |
| 232 UpdateFormatTypes($("FormatForm")); | |
| 233 }, | |
| 234 false); | |
| 235 } | |
| 236 utils.addEvent($("resetAll"), "click", ResetForm, false); | |
| 237 if($("maxNumSeq") != null) { | |
| 238 if($("maxNumSeq").value != "") { | |
| 239 LimitByHitlistSize($("FormatForm").DESCRIPTIONS); | |
| 240 LimitByHitlistSize($("FormatForm").ALIGNMENTS); | |
| 241 LimitByHitlistSize($("FormatForm").NUM_OVERVIEW); | |
| 242 } | |
| 243 } | |
| 244 setupOrganismSuggest($("FormatForm").FORMAT_ORGANISM); | |
| 245 utils.addEvent($("FormatForm"), "submit", function() { | |
| 246 adjustOrgVal($("FormatForm").FORMAT_ORGANISM);}, | |
| 247 false); | |
| 248 | |
| 249 if ($("addOrg")) utils.addEvent($("addOrg"), "click", AddFormatOrgField, false); | |
| 250 InitDynFormatOptions(); | |
| 251 /* add this code if decide image for View Report | |
| 252 var imgButtons = jQuery("[class='viewReport']"); | |
| 253 for (var i = 0; i < imgButtons.length; i++) { | |
| 254 var l = imgButtons[i]; | |
| 255 utils.addEvent(l, "click", function() {$("FormatForm").submit();}, false); | |
| 256 utils.addEvent(l, "mouseover", function() {l.src = l.getAttribute("mouseovImg");}, false); | |
| 257 utils.addEvent(l, "mouseout", function() {l.src = l.getAttribute("mouseoutImg");}, false); | |
| 258 utils.addEvent(l, "mousedown", function() {l.src = l.getAttribute("mousedownImg");}, false); | |
| 259 utils.addEvent(l, "mouseup", function() {l.src = l.getAttribute("mouseupImg");}, false); | |
| 260 } | |
| 261 */ | |
| 262 } | |
| 263 | |
| 264 utils.addEvent(window, 'load', InitFormatPage, false); | |
| 265 | |
| 266 | |
| 267 | |
| 268 | |
| 269 | |
| 270 |
