PageSourceSearch

https://cov-spectrum.org/static/js/8239.32f02a6e.chunk.js

js cov-spectrum.org collected 2026-09-24 18:34:52 UTC 6,649 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunkcov_spectrum_website=self.webpackChunkcov_spectrum_website||[]).push([[8239],{8239:(e,t,n)=>{n.r(t),n.d(t,{default:()=>h});var o=n(1599),s=n(2779),r=n(8311),i=n(9062),a=n(6889);function d(e){let{feature:t,bins:n,region:o}=e;const s=t.get("start"),r=t.get("end"),i=t.get("strand"),a=o.end-o.start;for(let d=s;d<r+1;d++){const e=d-o.start;e>=0&&e<a&&(void 0===n[e]&&(n[e]={depth:0,readsCounted:0,ref:{probabilities:[],entryDepth:0,"-1":0,0:0,1:0},snps:{},mods:{},nonmods:{},delskips:{},noncov:{}}),d!==r&&(n[e].depth++,n[e].readsCounted++,n[e].ref.entryDepth++,n[e].ref[i]++))}}function c(e){return l(e.type)?1:e.length}function l(e){return"softclip"===e||"hardclip"===e||"insertion"===e}function f(e,t,n,o){let s=e[n][o];void 0===s&&(s=e[n][o]={entryDepth:0,probabilities:[],"-1":0,0:0,1:0}),s.entryDepth++,s[t]++}function p(e,t,n,o,s){let r=e[n][o];void 0===r&&(r=e[n][o]={entryDepth:0,probabilities:[],"-1":0,0:0,1:0}),r.entryDepth++,r.probabilities.push(s),r[t]++}function u(e){let{feature:t,region:n,bins:o,skipmap:s}=e;var r;const i=t.get("start"),a=t.get("strand"),d=null!==(r=t.get("mismatches"))&&void 0!==r?r:[];for(const p of d){const e=i+p.start,r=c(p),d=e+r;for(let t=e;t<e+r;t++){const e=t-n.start;if(e>=0&&e<o.length){const t=o[e],{base:n,altbase:s,type:r}=p,i=l(r);"deletion"===r||"skip"===r?(f(t,a,"delskips",r),t.depth--):i?f(t,a,"noncov",r):(f(t,a,"snps",n),t.ref.entryDepth--,t.ref[a]--,t.refbase=s)}}if("skip"===p.type){const n=t.get("tags"),o=(null==n?void 0:n.XS)||(null==n?void 0:n.TS),r=null==n?void 0:n.ts,i="+"===o?1:"-"===o?-1:("+"===r?1:"-"===o?-1:0)*a,c=`${e}_${d}_${i}`;void 0===s[c]&&(s[c]={feature:t,start:e,end:d,strand:a,effectiveStrand:i,score:0}),s[c].score++}}}function g(e){let{feature:t,colorBy:n,region:o,bins:s,regionSequence:r}=e;var d,c,l;const f=t.get("start"),u=t.get("strand"),g=t.get("end"),b=null===(d=null==n?void 0:n.modifications)||void 0===d?void 0:d.twoColor,h=null===(c=null==n?void 0:n.modifications)||void 0===c?void 0:c.isolatedModification;null===(l=(0,a.g)(t))||void 0===l||l.forEach(((e,t)=>{let{allProbs:n,prob:a,type:d}=e;if(h&&d!==h)return;const c=t+f-o.start;if(c>=0&&c<s.length&&t+f<g){void 0===s[c]&&(s[c]={depth:0,readsCounted:0,snps:{},ref:{probabilities:[],entryDepth:0,"-1":0,0:0,1:0},mods:{},nonmods:{},delskips:{},noncov:{}});const e=1-i.u.sum(n),t=s[c];t.refbase=r[c],b&&e>i.u.max(n)?p(t,u,"nonmods",`nonmod_${d}`,e):p(t,u,"mods",`mod_${d}`,a)}t++}))}
1function b(e){let{feature:t,region:n,bins:o,regionSequence:s}=e;var r;const a=t.get("start"),d=t.get("end"),c=t.get("strand"),l=t.get("seq"),f=null!==(r=t.get("mismatches"))&&void 0!==r?r:[],u=s.toLowerCase();if(l){const e=(0,i.af)(t.get("CIGAR")),{methBins:s,methProbs:r}=(0,i.bR)(t,e),l=f.filter((e=>"deletion"===e.type));for(let t=0;t<d-a;t++){const e=t+a,d=u[e-n.start+1],f=u[e-n.start+2];if("c"===d&&"g"===f){const d=o[e-n.start],f=o[e-n.start+1],u=s[t],g=s[t+1],b=r[t],h=r[t+1];u&&(void 0===b||b>.5)||g&&(void 0===h||h>.5)?(d&&(p(d,c,"mods","cpg_meth",b||0),d.ref.entryDepth--,d.ref[c]--),f&&(p(f,c,"mods","cpg_meth",h||0),f.ref.entryDepth--,f.ref[c]--)):(d&&(l.some((t=>i.u.doesIntersect2(e,e+1,t.start+a,t.start+a+t.length)))||(p(d,c,"nonmods","cpg_unmeth",1-(b||0)),d.ref.entryDepth--,d.ref[c]--)),f&&(l.some((t=>i.u.doesIntersect2(e+1,e+2,t.start+a,t.start+a+t.length)))||(p(f,c,"nonmods","cpg_unmeth",1-(h||0)),f.ref.entryDepth--,f.ref[c]--)))}}}}class h extends o.B.BaseFeatureDataAdapter{async configure(){var e,t;const n=this.getConf("subadapter"),o=n.sequenceAdapter,s=await(null===(e=this.getSubAdapter)||void 0===e?void 0:e.call(this,n)),r=o?await(null===(t=this.getSubAdapter)||void 0===t?void 0:t.call(this,o)):void 0;if(!s)throw new Error("Failed to get subadapter");
1return{subadapter:s.dataAdapter,sequenceAdapter:null==r?void 0:r.dataAdapter}}async fetchSequence(e){const{sequenceAdapter:t}=await this.configure();if(t)return(0,i.bS)(e,t)}getFeatures(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return s.r.ObservableCreate((async n=>{const{subadapter:o}=await this.configure(),s=await(0,i.a2)(o.getFeatures(e,t).pipe((0,i.a3)())),{bins:a,skipmap:c}=await async function(e){let{fetchSequence:t,features:n,region:o,opts:s}=e;const{stopToken:r,colorBy:a}=s,c={},l=[],f=Math.max(0,o.start-1),p=o.start-f;let h=performance.now();for(const m of n)performance.now()-h>400&&(i.R.checkStopToken(r),h=performance.now()),d({feature:m,bins:l,region:o}),"modifications"===(null==a?void 0:a.type)?g({feature:m,colorBy:a,bins:l,region:o,regionSequence:(await t({...o,start:f,end:o.end+1})||"").slice(p)}):"methylation"===(null==a?void 0:a.type)&&b({feature:m,bins:l,region:o,regionSequence:await t({...o,start:f,end:o.end+1})||""}),u({feature:m,skipmap:c,bins:l,region:o});for(const d of l)d&&(d.mods=Object.fromEntries(Object.entries(d.mods).map((e=>{let[t,n]=e;return[t,{...n,avgProbability:n.probabilities.length?i.u.sum(n.probabilities)/n.probabilities.length:void 0}]}))),d.nonmods=Object.fromEntries(Object.entries(d.nonmods).map((e=>{let[t,n]=e;return[t,{...n,avgProbability:n.probabilities.length?i.u.sum(n.probabilities)/n.probabilities.length:void 0}]}))));return{bins:l,skipmap:c}}({features:s,region:e,opts:t,fetchSequence:e=>this.fetchSequence(e)});let l=0;for(const t of a){if(t){const o=e.start+l;n.next(new r.S({id:`${this.id}-${o}`,data:{score:t.depth,snpinfo:t,start:o,end:o+1,refName:e.refName}}))}l++}for(const[e,t]of Object.entries(c))n.next(new r.S({id:e,data:{type:"skip",start:t.start,end:t.end,strand:t.strand,score:t.score,effectiveStrand:t.effectiveStrand}}));n.complete()}),t.stopToken)}async getMultiRegionFeatureDensityStats(e,t){const{subadapter:n}=await this.configure();return n.getMultiRegionFeatureDensityStats(e,t)}async getRefNames(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{subadapter:t}=await this.configure();return t.getRefNames(e)}}},6889:(e,t,n)=>{n.d(t,{g:()=>s});var o=n(9062);function s(e,t){const n=e.get("strand"),s=e.get("seq"),r=(0,o.ae)(e,"MM","Mm")||"",i=t||(0,o.af)(e.get("CIGAR"));if(s){const t=(0,o.ag)(r,s,n),a=(0,o.ah)(e),d=[];let c=0;for(const{type:e,positions:s}of t){for(const{ref:t,idx:r}of(0,o.ai)(i,s)){const o=(null==a?void 0:a[c+(-1===n?s.length-1-r:r)])||0;if(d[t]){const n=d[t];d[t]={allProbs:[...n.allProbs,o],prob:Math.max(n.prob,o),type:n.prob>o?n.type:e}}else d[t]={type:e,prob:o,allProbs:[o]}}c+=s.length}return d}}},1599:(e,t,n)=>{n.d(t,{B:()=>o});var o=(0,n(9062).$)()},2779:(e,t,n)=>{n.d(t,{r:()=>o});var o=(0,n(9062).a0)()},8311:(e,t,n)=>{n.d(t,{S:()=>r});var o=n(5817),s=(0,n(9062).a1)();const r=(0,o.g)(s)}}]);
2//# sourceMappingURL=8239.32f02a6e.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.