Mercurial > repos > jankanis > blast2html
view NCBI Blast reference example_files/format.js @ 120:2729c2326235
Fix for Rikilt issue 13
Hit e-value and identity% should be taken from the hsp with the highest
bit score. Previously each of these values was calculated independently.
Also use arrays for cover calculation instead of python lists and
refactor the hit_info() code a bit.
author | Jan Kanis <jan.code@jankanis.nl> |
---|---|
date | Thu, 31 Jul 2014 16:14:36 +0200 |
parents | 344cd76f6fd2 |
children |
line wrap: on
line source
function UpdateDisplayTypes(displayTypes) { dispMenu = displayTypes.options; for(i=0; i < dispMenu.length; i++) { //if(!utils.hasClass(displayTypes,"psiBlast") && !utils.hasClass(displayTypes,"phiBlast") || if($("stepNumber").value == "" || $("stepNumber").value < 2) { if(dispMenu[i].value.indexOf("PSSM") != -1) { dispMenu[i--] = null; //break; } } } } function GetIndexByValue(selectElem,val) { var idx = 0; var opts = selectElem.options; for(i=0; i < opts.length; i++) { if(opts[i].value == val) { idx = i; break; } } return idx; } function resetAdvView(show) { var advView = $("advView"); if(show) { if(utils.hasClass(advView, "hidden")) { utils.removeClass(advView, "hidden"); } } else { utils.addClass(advView, "hidden"); } } function ShowOrHide(hide,elem) { if(hide) { if(!utils.hasClass(elem, "hidden")) { utils.addClass(elem, "hidden"); } } else { if(utils.hasClass(elem, "hidden")) { utils.removeClass(elem, "hidden"); } } } function UpdateFormatTypes(form) { var selectedObjType = form.FORMAT_OBJECT[form.FORMAT_OBJECT.selectedIndex].value; var hideAdvView = false; bioseqFormatHide = true; pssmFormatHide = true; pssmScFormatHide = true; formatTypeHide = true; if (selectedObjType == "Alignment") { formatObjectSelectedIndex = 0; //HTML formatTypeHide = false; hideAdvView = true; } if (selectedObjType == "PSSM") { formatObjectSelectedIndex = GetIndexByValue(form.FORMAT_TYPE,"Text"); pssmFormatHide = false; } if (selectedObjType == "PSSM_Scoremat") { formatObjectSelectedIndex = GetIndexByValue(form.FORMAT_TYPE,"ASN.1"); pssmScFormatHide = false; } else if (selectedObjType == "Bioseq") { formatObjectSelectedIndex = GetIndexByValue(form.FORMAT_TYPE,"ASN.1"); bioseqFormatHide = false; } form.FORMAT_TYPE.selectedIndex = formatObjectSelectedIndex; ShowOrHide(formatTypeHide,form.FORMAT_TYPE); if ($("bioseqFormat")) { ShowOrHide(bioseqFormatHide,$("bioseqFormat")); $("bioseqFormat").readOnly=true; } if ($("pssmFormat")) { ShowOrHide(pssmFormatHide,$("pssmFormat")); $("pssmFormat").readOnly=true; } if ($("pssmScFormat")) { ShowOrHide(pssmScFormatHide,$("pssmScFormat")); $("pssmScFormat").readOnly=true; } resetAdvView(hideAdvView); } function ResetForm() { //var defValNodes = cssQuery(".reset"); defValNodes = $("FormatForm").elements; for(i=0; i < defValNodes.length; i++) { if(utils.hasClass(defValNodes[i],"reset")) setDefalValue(defValNodes[i]); } if ($("FormatForm").FORMAT_OBJECT.type == "select-one") { UpdateFormatTypes($("FormatForm")); UpdateDisplayTypes($("FormatForm").FORMAT_OBJECT); } if($("FormatForm").RUN_PSIBLAST.checked) setDefalValue($("FormatForm").I_THRESH) else $("FormatForm").I_THRESH.value=""; //resetOrganismSuggest($("FormatForm").FORMAT_ORGANISM); resetOrganismControls($("FormatForm").FORMAT_ORGANISM); //TO DO: add threshold } function LimitByHitlistSize(list) { var listBreak = false; var optSel = false; for(i=0; i < list.options.length; i++) { var optVal = parseInt(list.options[i].value ,10); var hitListSize = parseInt($("maxNumSeq").value ,10); if(list.options[i].selected) optSel = true; if(optVal >= hitListSize) { if(!optSel) {list.options[i].selected = true;} list.options.length = i + 1; break; } } } function AddFormatOrgField(e) { AddOrgRow(e, "FORMAT_ORGANISM", "FORMAT_ORG_EXCLUDE"); } function initSubmit() { } function adjustFormatOptions() { var alignView = $("FormatForm").ALIGNMENT_VIEW; var formatType = $("FormatForm").FORMAT_TYPE; var queryAnch = formatType[formatType.selectedIndex].value == "HTML" && (alignView[alignView.selectedIndex].value != "Pairwise" && alignView[alignView.selectedIndex].value != "PairwiseWithIdentities"); var dynFormatQA = !$("FormatForm").OLD_VIEW.checked && queryAnch; dynFormatPW = !$("FormatForm").OLD_VIEW.checked && formatType[formatType.selectedIndex].value == "HTML" && (alignView[alignView.selectedIndex].value == "Pairwise" || alignView[alignView.selectedIndex].value == "PairwiseWithIdentities"); UpdateDescriptions(dynFormatPW); if (dynFormatPW) { jQuery("#frmAln").addClass("hidden"); if (!utils.hasClass($("shl"), "hidden")) jQuery("#shl").addClass("hidden"); //hide SHOW_LINKOUT jQuery("#gts").addClass("hidden"); //hide GET_SEQUENCE jQuery("#scf").removeClass("hidden");//show CDS_FEAT $("FormatForm").SHOW_LINKOUT.checked = true; } else { if(dynFormatQA) $("FRM_ALIGNMENTS").selectedIndex = $("FRM_DESCRIPTIONS").selectedIndex; jQuery("#frmAln").removeClass("hidden"); if (dynFormatQA) { if (!utils.hasClass($("shl"), "hidden")) jQuery("#shl").addClass("hidden"); //hide SHOW_LINKOUT } else { jQuery("#shl").removeClass("hidden"); } if (queryAnch) { jQuery("#scf").addClass("hidden"); //hide CDS_FEAT } else {//pairwise old_view=false jQuery("#scf").removeClass("hidden"); //hide CDS_FEAT } jQuery("#gts").removeClass("hidden"); //GET_SEQUENCE } if ($("blastSpec").value == "VecScreen") { adjustVecscreen(dynFormatPW); } } function adjustVecscreen(dynFormatPW) { var dfltDescrInd = 0; //0 var dfltDynDescrInd = 5; //1000 var dfltAlnInd = 6; //1000 if (dynFormatPW) { utils.addClass($("lr"), "hidden"); $("FRM_DESCRIPTIONS").selectedIndex = dfltDynDescrInd; } else { utils.removeClass($("lr"), "hidden"); $("FRM_DESCRIPTIONS").selectedIndex = dfltDescrInd; } $("FRM_ALIGNMENTS").selectedIndex = dfltAlnInd; } function UpdateDescriptions(removeZero) { if (removeZero) { dispMenu = $("FormatForm").DESCRIPTIONS; dispMenu.remove(0); } else { dispMenu = $("FormatForm").DESCRIPTIONS; if (dispMenu.options[0].value != "0") { if (navigator.userAgent.match(/ie/i)) { dispMenu.add(new Option("0", "0"), 0); } else { dispMenu.add(new Option("0", "0"), dispMenu[0]); } } } } function InitDynFormatOptions() { if ($("OLD_VIEW")) { utils.addEvent($("FormatForm").OLD_VIEW, "click", adjustFormatOptions, false); utils.addEvent($("FormatForm").ALIGNMENT_VIEW,"change", adjustFormatOptions, false); utils.addEvent($("FormatForm").FORMAT_TYPE, "change", adjustFormatOptions, false); adjustFormatOptions(); } } function InitFormatPage() { if ($("FormatForm").FORMAT_OBJECT.type == "select-one") { UpdateDisplayTypes($("FormatForm").FORMAT_OBJECT); UpdateFormatTypes($("FormatForm")); list = $("FormatForm").FORMAT_OBJECT; utils.addEvent(list, "change", function() { UpdateFormatTypes($("FormatForm")); }, false); } utils.addEvent($("resetAll"), "click", ResetForm, false); if($("maxNumSeq") != null) { if($("maxNumSeq").value != "") { LimitByHitlistSize($("FormatForm").DESCRIPTIONS); LimitByHitlistSize($("FormatForm").ALIGNMENTS); LimitByHitlistSize($("FormatForm").NUM_OVERVIEW); } } setupOrganismSuggest($("FormatForm").FORMAT_ORGANISM); utils.addEvent($("FormatForm"), "submit", function() { adjustOrgVal($("FormatForm").FORMAT_ORGANISM);}, false); if ($("addOrg")) utils.addEvent($("addOrg"), "click", AddFormatOrgField, false); InitDynFormatOptions(); /* add this code if decide image for View Report var imgButtons = jQuery("[class='viewReport']"); for (var i = 0; i < imgButtons.length; i++) { var l = imgButtons[i]; utils.addEvent(l, "click", function() {$("FormatForm").submit();}, false); utils.addEvent(l, "mouseover", function() {l.src = l.getAttribute("mouseovImg");}, false); utils.addEvent(l, "mouseout", function() {l.src = l.getAttribute("mouseoutImg");}, false); utils.addEvent(l, "mousedown", function() {l.src = l.getAttribute("mousedownImg");}, false); utils.addEvent(l, "mouseup", function() {l.src = l.getAttribute("mouseupImg");}, false); } */ } utils.addEvent(window, 'load', InitFormatPage, false);