1"use strict";(self.webpackChunkcov_spectrum_website=self.webpackChunkcov_spectrum_website||[]).push([[9920],{9920:(e,t,a)=>{a.r(t),a.d(t,{default:()=>o});var r=a(1599),s=a(9062),n=a(2779);class o extends r.B.BaseFeatureDataAdapter{constructor(){super(...arguments),this.gcMode="content"}async configure(){var e;const t=await(null===(e=this.getSubAdapter)||void 0===e?void 0:e.call(this,this.getConf("sequenceAdapter")));if(!t)throw new Error("Error getting subadapter");return t.dataAdapter}async getRefNames(e){return(await this.configure()).getRefNames(e)}getFeatures(e,t){const{statusCallback:a=()=>{},stopToken:r}=t||{};return n.r.ObservableCreate((async n=>{var o;const c=await this.configure(),i=this.getConf("windowSize"),u=this.getConf("windowDelta"),l=1===i?1:Math.ceil(i/2),d=1===i,p=Math.max(0,Math.floor((e.start-l)/i)*i),f=Math.ceil((e.end+l)/i)*i;if(f<0||p>f)return void n.complete();const h=(null===(o=(await(0,s.a2)(c.getFeatures({...e,start:p,end:f},t).pipe((0,s.a3)())))[0])||void 0===o?void 0:o.get("seq"))||"";let g=performance.now();await s.u.updateStatus("Calculating GC",a,(()=>{for(let t=l;t<h.length-l;t+=u){performance.now()-g>400&&(s.R.checkStopToken(r),g=performance.now());const a=d?h[t]:h.slice(t-l,t+l);let o=0,c=0,i=0;for(const e of a)"c"===e||"C"===e?o++:("g"===e||"G"===e)&&c++,"N"!==e&&i++;const f=p,w="content"===this.gcMode?(c+o)/(i||1):"skew"===this.gcMode?(c-o)/(c+o||1):0;n.next(new s.u.SimpleFeature({uniqueId:`${this.id}_${f+t}`,refName:e.refName,start:f+t,end:f+t+u,score:w}))}})),n.complete()}))}}o.capabilities=["hasLocalStats"]},1599:(e,t,a)=>{a.d(t,{B:()=>r});var r=(0,a(9062).$)()},2779:(e,t,a)=>{a.d(t,{r:()=>r});var r=(0,a(9062).a0)()}}]); 2//# sourceMappingURL=9920.d4fe83e0.chunk.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.