"use strict";(globalThis.webpackChunk_jbrowse_web=globalThis.webpackChunk_jbrowse_web||[]).push([[5904],{18340:(e,t,n)=>{n.d(t,{P:()=>a});var s=n(99546);function a(e,t,n=()=>{}){const a=new TextDecoder("utf8");let r=0,o=0;for(;r<e.length;){const c=e.indexOf(10,r),i=-1===c?e.length:c,l=e.subarray(r,i),u=a.decode(l).trim();if(u&&!1===t(u,o))break;o++%1e4==0&&n(`Loading ${(0,s.getProgressDisplayStr)(r,e.length)}`),r=i+1}}},35904:(e,t,n)=>{n.r(t),n.d(t,{default:()=>d});var s=n(68584),a=n(46377),r=n(99546),o=n(99834),c=n(18340),i=n(32595),l=n(66885),u=n(55689),m=n(72147),f=n(78054);function h(e){const[t,n]=e.reduce(([e,t],[n,s])=>[e+n*s,t+s],[0,0]);return t/n}const{parseCigar:p}=u.aF;class d extends a.BaseFeatureDataAdapter{static capabilities=["getFeatures","getRefNames"];async setup(e){return this.setupP||(this.setupP=this.setupPre(e).catch(e=>{throw this.setupP=void 0,e})),this.setupP}async setupPre(e){const t=[];return(0,c.P)(await(0,r.fetchAndMaybeUnzip)((0,o.openLocation)(this.getConf("pafLocation"),this.pluginManager),e),e=>(t.push((0,f.xI)(e)),!0),e?.statusCallback),t}async hasDataForRefName(){return!0}getAssemblyNames(){const e=this.getConf("assemblyNames");return 0===e.length?[this.getConf("queryAssembly"),this.getConf("targetAssembly")]:e}async getRefNames(e={}){const t=e.regions?.[0].assemblyName,n=await this.setup(e),s=this.getAssemblyNames().indexOf(t);if(-1!==s){const e=new Set;for(const t of n)e.add(0===s?t.qname:t.tname);return[...e]}return console.warn("Unable to do ref renaming on adapter"),[]}getFeatures(e,t={}){return(0,l.ObservableCreate)(async n=>{let a=await this.setup(t);const{config:r}=t;r&&"meanQueryIdentity"===(0,s.readConfObject)(r,"colorBy")&&(a=function(e){const t={};for(const n of e){const e=`${n.qname}-${n.tname}`;t[e]||(t[e]={quals:[],len:[]}),t[e].quals.push(n.extra.mappingQual||1),t[e].len.push(n.extra.blockLen||1)}const n=Object.fromEntries(Object.entries(t).map(([e,t])=>[e,h((0,f.yU)(t.quals,t.len))]));for(const t of e){const e=`${t.qname}-${t.tname}`;t.extra.meanScore=n[e]}let s=1e4,a=0;for(const t of e)s=Math.min(t.extra.meanScore||0,s),a=Math.max(t.extra.meanScore||0,a);for(const t of e){const e=t.extra.meanScore||0;t.extra.meanScore=(e-s)/(a-s)}return e}(a));const o=this.getAssemblyNames(),{start:c,end:l,refName:u,assemblyName:d}=e,g=o.indexOf(d),b=0===g;-1===g&&(console.warn(`${d} not found in this adapter`),n.complete());for(let e=0;e<a.length;e++){const t=a[e];let s=0,r=0,h="",g="",y=0,x=0;b?(s=t.qstart,r=t.qend,h=t.qname,g=t.tname,y=t.tstart,x=t.tend):(s=t.tstart,r=t.tend,h=t.tname,g=t.qname,y=t.qstart,x=t.qend);const{extra:q,strand:w}=t;if(h===u&&(0,i.R6)(c,l,s,r)){const{numMatches:t=0,blockLen:a=1,cg:c,...i}=q;let l=q.cg;q.cg&&(b&&-1===w?l=(0,f.qm)(p(q.cg)).join(""):b&&(l=(0,f.gJ)(q.cg))),n.next(new m.A({uniqueId:e+d,assemblyName:d,start:s,end:r,type:"match",refName:h,strand:w,...i,CIGAR:l,syntenyId:e,identity:t/a,numMatches:t,blockLen:a,mate:{start:y,end:x,refName:g,assemblyName:o[+b]}}))}}n.complete()})}}},72147:(e,t,n)=>{n.d(t,{A:()=>o});var s=n(99546),a=n(55689);const{getMismatches:r}=a.aF;class o extends s.SimpleFeature{get(e){return"mismatches"===e?r(this.get("CIGAR")):super.get(e)}}},78054:(e,t,n)=>{n.d(t,{TA:()=>r,fY:()=>a,gJ:()=>l,qm:()=>i,xI:()=>c,yU:()=>o});var s=n(99546);function a(e){return new Map(e.split(/\n|\r\n|\r/).filter(e=>!!e||e.startsWith("#")).map(e=>{const[t,n,s,a,r,o]=e.split("\t");return[a,{refName:t,start:+n,end:+s,score:+r,name:a,strand:"-"===o?-1:1}]}))}async function r(e,t){return(0,s.fetchAndMaybeUnzipText)(e,t)}function o(e,t){return e.map((e,n)=>[e,t[n]])}function c(e){const t=e.split("\t"),n=t.slice(12),s={numMatches:+t[9],blockLen:+t[10],mappingQual:+t[11]};if(n.length)for(const e of n){const t=e.indexOf(":");s[e.slice(0,t)]=e.slice(t+3)}return{tname:t[5],tstart:+t[7],tend:+t[8],qname:t[0],qstart:+t[2],qend:+t[3],strand:"-"===t[4]?-1:1,extra:s}}function i(e){const t=[];for(let n=e.length-2;n>=0;n-=2){t.push(e[n]);const s=e[n+1];"D"===s?t.push("I"):"I"===s?t.push("D"):t.push(s)}return t}function l(e){return e.replaceAll("D","K").replaceAll("I","D").replaceAll("K","I")}}}]);
//# sourceMappingURL=5904.a62c242d.chunk.js.map