igv 3.7.1 → 3.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/igv.js CHANGED
@@ -10638,7 +10638,7 @@
10638
10638
  return list;
10639
10639
  }
10640
10640
 
10641
- /*! @license DOMPurify 3.3.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.0/LICENSE */
10641
+ /*! @license DOMPurify 3.3.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.1/LICENSE */
10642
10642
 
10643
10643
  const {
10644
10644
  entries,
@@ -10945,7 +10945,7 @@
10945
10945
  function createDOMPurify() {
10946
10946
  let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
10947
10947
  const DOMPurify = root => createDOMPurify(root);
10948
- DOMPurify.version = '3.3.0';
10948
+ DOMPurify.version = '3.3.1';
10949
10949
  DOMPurify.removed = [];
10950
10950
  if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
10951
10951
  // Not running in a browser, provide a factory function
@@ -11291,6 +11291,12 @@
11291
11291
  }
11292
11292
  addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);
11293
11293
  }
11294
+ if (cfg.ADD_FORBID_CONTENTS) {
11295
+ if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {
11296
+ FORBID_CONTENTS = clone(FORBID_CONTENTS);
11297
+ }
11298
+ addToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);
11299
+ }
11294
11300
  /* Add #text in case KEEP_CONTENT is set to true */
11295
11301
  if (KEEP_CONTENT) {
11296
11302
  ALLOWED_TAGS['#text'] = true;
@@ -14765,13 +14771,12 @@
14765
14771
 
14766
14772
  const transcriptTypes = new Set(['transcript', 'primary_transcript', 'processed_transcript', 'mRNA', 'mrna',
14767
14773
  'lnc_RNA', 'miRNA', 'ncRNA', 'rRNA', 'scRNA', 'snRNA', 'snoRNA', 'tRNA']);
14768
- const cdsTypes = new Set(['CDS', 'cds']);
14769
- const codonTypes = new Set(['start_codon', 'stop_codon']);
14774
+ const cdsTypes = new Set(['CDS', 'cds', 'start_codon', 'stop_codon']);
14770
14775
  const utrTypes = new Set(['5UTR', '3UTR', 'UTR', 'five_prime_UTR', 'three_prime_UTR', "3'-UTR", "5'-UTR"]);
14771
14776
  const exonTypes = new Set(['exon', 'coding-exon']);
14772
14777
 
14773
14778
  const transcriptPartTypes = new Set();
14774
- for (let cltn of [cdsTypes, codonTypes, utrTypes, exonTypes]) {
14779
+ for (let cltn of [cdsTypes, utrTypes, exonTypes]) {
14775
14780
  for (let t of cltn) {
14776
14781
  transcriptPartTypes.add(t);
14777
14782
  }
@@ -14786,7 +14791,7 @@
14786
14791
  }
14787
14792
 
14788
14793
  function isCoding(type) {
14789
- return cdsTypes.has(type) || codonTypes.has(type)
14794
+ return cdsTypes.has(type)
14790
14795
  }
14791
14796
 
14792
14797
  function isUTR(type) {
@@ -14966,12 +14971,17 @@
14966
14971
  if (exon) {
14967
14972
  exon.cdStart = exon.cdStart ? Math.min(cds.start, exon.cdStart) : cds.start;
14968
14973
  exon.cdEnd = exon.cdEnd ? Math.max(cds.end, exon.cdEnd) : cds.end;
14969
- exon.readingFrame = cds.readingFrame;
14970
- // TODO -- merge attributes?
14974
+ if (cds.readingFrame !== undefined) {
14975
+ if (exon.readingFrame === undefined) {
14976
+ exon.readingFrame = cds.readingFrame;
14977
+ } else {
14978
+ // Keep reading frame of first CDS in direction of transcription
14979
+ if (this.strand === '+') ; else {
14980
+ exon.readingFrame = cds.readingFrame;
14981
+ }
14982
+ }
14983
+ }
14971
14984
  } else {
14972
- // cds.cdStart = cds.start
14973
- // cds.cdEnd = cds.end
14974
- // exons.push(cds)
14975
14985
  console.error("No exon found spanning " + cds.start + "-" + cds.end);
14976
14986
  }
14977
14987
 
@@ -14983,6 +14993,11 @@
14983
14993
  this.cdEnd = this.cdEnd ? Math.max(cds.end, this.cdEnd) : cds.end;
14984
14994
  }
14985
14995
 
14996
+ addTerminalCodon(codon) {
14997
+ // Treat terminal codons as CDS
14998
+ this.addCDS(codon);
14999
+ }
15000
+
14986
15001
  addUTR(utr) {
14987
15002
 
14988
15003
  let exon;
@@ -15003,7 +15018,10 @@
15003
15018
  if (utr.end < exon.end) {
15004
15019
  exon.cdStart = utr.end;
15005
15020
  }
15006
- if (utr.start > exon.start) {
15021
+ // Do not "backup" the cdEnd based on a UTR record. A stop_codon might extend cdEnd into the UTR, and we
15022
+ // don't want to quash that with the UTR. Although stop codons are not translated, visually
15023
+ // they appear as part exonic coding sequence. This is a long established convention,
15024
+ if (exon.cdEnd === undefined || utr.start > exon.cdEnd) {
15007
15025
  exon.cdEnd = utr.start;
15008
15026
  }
15009
15027
  }
@@ -31918,7 +31936,7 @@
31918
31936
  headers['Range'] = rangeString;
31919
31937
 
31920
31938
  let url = this.url.slice(); // slice => copy
31921
- // headers['User-Agent'] = 'straw'
31939
+ headers['User-Agent'] = 'IGV';
31922
31940
  if (this.config.oauthToken) {
31923
31941
  const token = resolveToken(this.config.oauthToken);
31924
31942
  headers['Authorization'] = `Bearer ${token}`;
@@ -33983,7 +34001,166 @@
33983
34001
  "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F61d99a87-4ec6-4116-be99-b483999641c4%2F4DNFI5CGQ46V.hic": "2870576870,25900",
33984
34002
  "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F271ea8cd-53b9-44c9-9fff-1bb5c444b54c%2F4DNFIOCW5AEM.hic": "2463600138,25900",
33985
34003
  "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fa98ca64a-861a-4a8c-92e9-586af457b1fb%2F4DNFI1UEG1HD.hic": "22480709268,25900",
33986
- "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F5809b32e-0aea-4cf5-a174-cf162d591a35%2F4DNFI9YAVTI1.hic": "3141182061,25900"
34004
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F5809b32e-0aea-4cf5-a174-cf162d591a35%2F4DNFI9YAVTI1.hic": "3141182061,25900",
34005
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F3be17688-cbce-4ef9-9b94-8571c20a858e%2F4DNFI916JQ1Y.hic": "5153550498,22663",
34006
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fbad90d57-68ae-441f-84b6-3da0e4b3f1b7%2F4DNFI5R1ECZI.hic": "5256843748,22663",
34007
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F78d90bcc-64c1-40c4-83bf-39f981f7d6d4%2F4DNFISUPDO3A.hic": "6141911776,22663",
34008
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fc16b5fd8-b0a0-4daa-915f-dea88d56b95d%2F4DNFIMV6MPGH.hic": "4646473940,22663",
34009
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Ffe25da0b-0e94-426f-9e5c-25ea7ac560dc%2F4DNFI111EI3K.hic": "6360540164,22663",
34010
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F6db70d70-1248-4ef1-b734-247d39ce3a5a%2F4DNFIVWXJQR1.hic": "3567402729,22663",
34011
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F3ad46cc4-505e-4a5d-9dee-e8d362f73a9c%2F4DNFI14FXOOU.hic": "3750091538,22663",
34012
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F2334c531-2d0b-46b3-98c6-c7ed35b9f20d%2F4DNFIS1SRPWR.hic": "1888598768,22663",
34013
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F32278b04-8c3a-4111-9992-1a40a7139731%2F4DNFI8LDZDN9.hic": "1908203928,22663",
34014
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fa844f39f-3aa7-4e21-ba09-7683e1d91ab2%2F4DNFIH1NZ1M8.hic": "5303565251,25900",
34015
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F3e727bd0-bab5-484e-8fdc-54a4a666d2ab%2F4DNFIK9TW97H.hic": "4844444289,25900",
34016
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F5a84c606-1f3d-47c5-9be3-8112144cd5dd%2F4DNFI7ST3KR1.hic": "4076139611,25900",
34017
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fd2a326a8-1f3f-4acc-8b9b-a449a2cdd7a0%2F4DNFIIMDXANO.hic": "5886279116,25900",
34018
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fede4b21a-1f17-43d1-970f-ac874ef01bb0%2F4DNFIXF2GL4C.hic": "5623357020,25900",
34019
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fc4812c8a-74ac-4ee9-ac9e-abf5abd59318%2F4DNFI8I2WYXS.hic": "7575864220,25900",
34020
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fa9ad9939-6297-48c4-a6a7-5fad70ddeb2c%2F4DNFI7C5YXNX.hic": "4723998471,25900",
34021
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F1cb2e17f-58aa-4b2a-92f4-a6fb53654f1c%2F4DNFI1P2EP7L.hic": "3517327113,25900",
34022
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F4cb9794d-a3f7-4fa8-8e62-ff8a50f2fa5c%2F4DNFIF78U26G.hic": "4524490522,25900",
34023
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fd03c2ad3-74de-4ae3-8ebf-f305309b51bd%2F4DNFIH6ANSX9.hic": "4704398892,25900",
34024
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F93ec4ac1-0654-4548-9130-332e48fa9919%2F4DNFI8QUAO51.hic": "6410633809,25900",
34025
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fb36abbf5-e7d4-45e6-b11d-3b4a5c918189%2F4DNFIWZYSI2D.hic": "4979199288,25900",
34026
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F9fd6c29e-7e41-44f7-bceb-d04f6c3ef430%2F4DNFI7PCOZ9I.hic": "4460433802,25900",
34027
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F7ef01bb0-d114-48b5-8836-d8e5f0aaaa08%2F4DNFIWUZLEWY.hic": "4312740986,25900",
34028
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fcc0accc9-a89f-4b40-bac6-de754a7f77c9%2F4DNFILI6XOB5.hic": "6360373541,25900",
34029
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F61f0e53d-a1da-4cc0-8f5f-052ae61ab161%2F4DNFI7EETNXL.hic": "1412854116,25900",
34030
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fcc5ab0e6-f193-4bf9-91df-a7b9c4bbbc64%2F4DNFII7EADPT.hic": "1991748717,25900",
34031
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fefd1d3b2-b437-40af-9b36-4e957762032a%2F4DNFIOCDW18J.hic": "2009478680,25900",
34032
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F6c2a1de5-accb-4a43-85a0-cbf57318fd45%2F4DNFI9RMTGX1.hic": "2294307288,25900",
34033
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fa9a8ab76-0fc3-48dc-a487-d8a5921477df%2F4DNFIQ7YSRDA.hic": "4617097967,25900",
34034
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Ff7062f5e-9a08-4d87-a7fa-19f3208e6f80%2F4DNFIU7JYUQJ.hic": "1591654523,25900",
34035
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F9b71b9d0-257d-48a5-9116-d0dae0c83c68%2F4DNFIMG5T456.hic": "1536982846,25900",
34036
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F14bf1e4b-6713-46e8-9c8f-fdfafa6ff3bd%2F4DNFIFZW7GEE.hic": "2489628475,25900",
34037
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F0995fd1b-023d-4ec2-a95d-64e108ec36ea%2F4DNFIIHISWB1.hic": "1526894394,25900",
34038
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F74ad588d-edec-48a5-af16-f857ceacb0aa%2F4DNFIC6OQBN7.hic": "2654265474,25900",
34039
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F1c97b8c3-31b4-41ad-924e-bf2d2cb94b74%2F4DNFIXDTO63C.hic": "2013309944,25900",
34040
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F15ba1e34-3e22-4b31-beb7-417683011858%2F4DNFI31H3OGV.hic": "6361414603,25900",
34041
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fa6d18f0f-df0d-4d47-8cdc-032f3c7ef221%2F4DNFIUPVQ5UH.hic": "6834216978,25900",
34042
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F6fe30df7-5f0d-4638-8ec0-483a8b86ecdf%2F4DNFIVEMIOK8.hic": "773338173,25900",
34043
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F1d57bbab-562a-4dea-99c4-3c3bb021adcc%2F4DNFINZ25U3U.hic": "6039407224,25900",
34044
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F0098fa29-fc36-4a23-a63f-cda9616a6f89%2F4DNFIRU3N6DB.hic": "6590434017,25900",
34045
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F77ab3250-4dc6-4163-9db2-2b847efce7ce%2F4DNFIBXBN6UB.hic": "676470326,25900",
34046
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F4551206a-231b-402e-9570-88a10effb7bc%2F4DNFIA1PDKM5.hic": "446073443,25900",
34047
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F785d3cfc-5dcf-4c01-97b1-f58a48cc9ee8%2F4DNFIGBHDKL7.hic": "924249200,25900",
34048
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fbb76eb3b-0267-4161-b8e4-ef9fb0089c4a%2F4DNFISBPIB52.hic": "1032187300,25900",
34049
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F043852cb-2967-4d40-b03e-e8542760714a%2F4DNFIBA73Y4Z.hic": "5574486826,25900",
34050
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F1cc48d9b-9735-42a0-888f-7f105af8640c%2F4DNFII4ADLYY.hic": "840451609,25900",
34051
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F56e64332-25ec-4390-b66a-266d710486e5%2F4DNFI2CZIRZ4.hic": "3831692686,25900",
34052
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fae9ba47a-6bb9-48d7-94df-2e8be961eb09%2F4DNFIAYXT1F3.hic": "4954772594,25900",
34053
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F3089d432-f2ab-4c0f-97fb-adab86471125%2F4DNFIX15LQDY.hic": "857822311,25900",
34054
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F1b5fb4f9-9f63-4443-80ca-7c60ba12c4fe%2F4DNFIGX5LN49.hic": "5175938352,25900",
34055
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F18026766-9e0e-4c15-9610-44c0e4dbf3e5%2F4DNFI9I6O19H.hic": "895448286,25900",
34056
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F8e6fa044-7936-462f-8d37-aa0275cae3ca%2F4DNFIB4OS99H.hic": "855810083,25900",
34057
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F84911760-df97-44c1-8b36-97e388f9c62a%2F4DNFI8IYNWGT.hic": "777249574,25900",
34058
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fe15079bb-ccdc-4248-87af-d0173eb76011%2F4DNFIVB7692N.hic": "853178496,25900",
34059
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F7e5c1e85-d4a5-40d4-964d-198947907abd%2F4DNFI5QJW5YD.hic": "5028458350,25900",
34060
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Ffbaf75a9-0155-4125-bf86-d31d9c3b90d5%2F4DNFIET12997.hic": "6645726944,25900",
34061
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F4e576005-7475-4d39-8fcb-9d4561b970f0%2F4DNFIYQ224EZ.hic": "4757808094,25900",
34062
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fe5f70a70-7d02-41cf-b27c-cacaaf754fa6%2F4DNFI1FK394F.hic": "4459181136,25900",
34063
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Ffaa95c6c-db4a-47ba-8c3c-d6b7d9d70fce%2F4DNFIE7KYLR5.hic": "1190688479,25900",
34064
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F8e76dc76-e36f-4464-b65a-9897aae10b65%2F4DNFIEC5NWVF.hic": "3342948701,25900",
34065
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fe4ff6b8c-f46f-4d57-8dcc-7ff0500f922a%2F4DNFIZBG3V9V.hic": "2118010954,25900",
34066
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fd32e7242-9629-45f4-9d1a-0237a5b9e869%2F4DNFITDGTIUK.hic": "1681141685,25900",
34067
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F6cab57d3-8ca4-4d79-94b4-1c4395fc7d7e%2F4DNFIAKOG8CW.hic": "1630820744,25900",
34068
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fa49824e1-6a92-4ffc-b6e9-52f35549406a%2F4DNFIX8FUVN6.hic": "2540960336,25900",
34069
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fd3741fb2-a4ea-454c-a6b2-da1c6cef5f92%2F4DNFIA7CEMNT.hic": "2100106035,25900",
34070
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F7af7afcd-e66e-460e-b6eb-be26eb594f69%2F4DNFI5YVPH8H.hic": "1910838419,25900",
34071
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F2261e6df-f141-44cc-b916-12779a98d6e8%2F4DNFIR2YF7S1.hic": "84456840,25900",
34072
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F3d5d54ea-1fe7-48d8-a1f2-c0bc078eb91c%2F4DNFIAQVXT8S.hic": "5876011800,25900",
34073
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F462680da-3e24-49b7-b967-d195198a198d%2F4DNFI9V5G78Z.hic": "80293794,25900",
34074
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F7b3ce521-89b9-41d4-ace2-1cab7804bcc2%2F4DNFIPZCCTV6.hic": "4917429800,25900",
34075
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F6112b96e-78e9-4b99-b9d7-f15ae5c79466%2F4DNFIHTFIMGG.hic": "4363292659,25900",
34076
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fbdb01c16-6acb-4b44-bbef-c67300dfa26f%2F4DNFIXWT5U42.hic": "3771883844,25900",
34077
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F0e66d31c-fda3-42b8-ba69-3f1ca7377665%2F4DNFIY1TCVLX.hic": "4392772657,25900",
34078
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F3400c4d3-4446-4fb9-96fa-b499dd00861d%2F4DNFI5EAPQTI.hic": "3882696477,25900",
34079
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F34f2a636-012a-4079-81b5-53b40f29e73f%2F4DNFICPL7RPE.hic": "75287233,25900",
34080
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F232ae04a-86c9-48af-b5c6-4c33e080c76e%2F4DNFI5O2WB24.hic": "6118504627,25900",
34081
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F502b0485-ce03-4f5e-aa06-e6e0011e14b7%2F4DNFIC4GB8UM.hic": "4060758124,25900",
34082
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F0290c7cb-0b4a-482d-9e5c-f141e21096e7%2F4DNFILL624WG.hic": "3895589825,25900",
34083
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F56df20f8-4aea-4245-b875-23b2a618801e%2F4DNFICF2Z2TG.hic": "3667006741,25900",
34084
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F2b7cf7ec-37fd-40b7-83e1-f777284a97fc%2F4DNFI7T93SHL.hic": "3211370872,25900",
34085
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F826b1d10-6d89-4b23-a1b5-dfcbcb8031bf%2F4DNFIP9EJSOM.hic": "3636533438,25900",
34086
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F20194877-57b7-4abe-8116-3a6a5c548846%2F4DNFIHG8BK98.hic": "86813098,25900",
34087
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Ff2fea329-d8fd-4975-9266-03e5556151bf%2F4DNFI6JKPJGO.hic": "79846427,25900",
34088
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F293f248f-1962-4476-b3ae-eb6e2b778f70%2F4DNFIYYPB1UI.hic": "72601205,25900",
34089
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fe8695158-70a2-4442-a9c8-b655163dc694%2F4DNFI35AE3O3.hic": "829193620,25900",
34090
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fc51bc383-04e0-40cf-a72f-589524efd8f7%2F4DNFIXB4O92R.hic": "644232107,25900",
34091
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F9e0bb1ce-4e61-4791-9479-d0a20ee304fa%2F4DNFIFZM3CWZ.hic": "2647900849,22663",
34092
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F28143491-848b-4a7b-90e0-1ae60fe61a2e%2F4DNFIXEHCB3R.hic": "2632375995,22663",
34093
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fc3e15131-f768-42aa-9959-75547704b3fb%2F4DNFI1HWXE8A.hic": "2340946204,22663",
34094
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F8a97b975-ee5a-4efc-a137-e393b3315260%2F4DNFIASIXTZM.hic": "2230584547,22663",
34095
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F9bc0a720-f0da-41a5-9289-34c2ef33f412%2F4DNFI6SETG5U.hic": "2909425254,22663",
34096
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F27527ede-b4a7-44e1-b959-8ef427a75727%2F4DNFIM7ACSX2.hic": "2807145365,22663",
34097
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F891bb2e9-1d08-4c15-b544-4125fec3e6d3%2F4DNFIATBSBS3.hic": "2551006282,22663",
34098
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F94b4c17a-9038-4947-9f9a-d7031405c379%2F4DNFIKR8L3O5.hic": "2467302957,22663",
34099
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fae0abe8b-41c6-455e-a466-96cda0b2583b%2F4DNFI6C7TKI7.hic": "2357341855,22663",
34100
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F8ea50b3a-b753-426f-bcde-d438bb046ca9%2F4DNFIAXX5DW8.hic": "2753362470,22663",
34101
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F4900dce0-61a6-447f-ac6c-ab305018b9c7%2F4DNFIBY3K18K.hic": "4559946251,22663",
34102
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F7da49fc1-76aa-4c98-98a0-5d3c2b038b48%2F4DNFIOYBTKML.hic": "3184716393,22663",
34103
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F15555ede-38ed-41bc-8360-b7199ef78905%2F4DNFI1AM5YH5.hic": "2297316945,22663",
34104
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F03bdcf69-274b-4032-9f97-c3801eaff73c%2F4DNFICF19STL.hic": "1147374802,22663",
34105
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F38cdfddb-14e4-4975-aa40-32d8755c1c3f%2F4DNFIJOJW15R.hic": "3691597417,22663",
34106
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F9590c872-52ad-4b3f-acb2-c53adedba82a%2F4DNFIM391G1I.hic": "1440905789,22663",
34107
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fe576ec24-0e4f-45eb-8a1a-a3224a4745b0%2F4DNFIDB95IFX.hic": "1297694240,22663",
34108
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F52a81c80-1e92-4f6a-86d9-55e5c51f6a1a%2F4DNFIN5ROA5D.hic": "1518878546,22663",
34109
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fef1c70d3-7183-4d68-89f3-84f40be4754a%2F4DNFI4WHVND7.hic": "905267421,22663",
34110
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F07a2daaa-eceb-413f-9db8-a29804f60e47%2F4DNFIQEYK87U.hic": "1887807641,22663",
34111
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fff393095-88d1-474d-8147-b170895f49e5%2F4DNFIIHXG8KW.hic": "990948025,22663",
34112
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F14475927-663a-46ea-87e5-262b2b63d4cd%2F4DNFI7RGXYFY.hic": "1995218925,25900",
34113
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fe801f002-d414-42ff-a4d6-5fb41700f8ef%2F4DNFI3NN1U8T.hic": "1411001640,25900",
34114
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Ff0d46aa0-ddf5-4cda-af89-52f94a5e2e71%2F4DNFIKCEWMIA.hic": "2428803282,25900",
34115
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fbf511667-f8a9-447f-939a-2f4a6be9e375%2F4DNFII78SGLC.hic": "1346970600,25900",
34116
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fbb09b17a-4913-4b9e-a012-e9479fc61486%2F4DNFIQBPRZZD.hic": "6069682291,25900",
34117
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fba6ff162-dd84-4b2c-ba2d-f07a0b2e4b3f%2F4DNFIRLG5UWL.hic": "2403291005,25900",
34118
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F2b047495-6f82-4500-b544-a1aa76997e28%2F4DNFIGEI2UJ5.hic": "1172022205,25900",
34119
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F5608ab84-424a-4959-a8ff-d30e02b2f7f6%2F4DNFIR3Y85FX.hic": "2506972674,22663",
34120
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F87b3ffac-31fd-453d-848c-701d7f6cfc59%2F4DNFIGXWABZ8.hic": "1822988545,22663",
34121
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F0d791b5a-804c-43a0-b1ff-29934f743de0%2F4DNFIAZ2BC1Z.hic": "2418357843,22663",
34122
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F140f5862-a950-4d6d-b73c-0c25aa3c4625%2F4DNFINL956G3.hic": "2822207807,22663",
34123
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fe1286ed7-6935-45d6-a551-4e23b0f04ab0%2F4DNFIPJBFDS7.hic": "2549466943,22663",
34124
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Ffb268240-1da9-45e0-bdf3-322e8f83479f%2F4DNFI6OVJGRB.hic": "3977878338,22663",
34125
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fae8036e4-c01f-4685-aad1-c9165ea20da9%2F4DNFIY9S5ZOF.hic": "4376491213,22663",
34126
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fe1f7e790-ec33-40bb-a487-da303818d806%2F4DNFI9S2EX2W.hic": "2018000408,22663",
34127
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fb1005a45-2702-4e42-8da0-725cc3b7bd5e%2F4DNFISAAJ8ZA.hic": "1969820347,22663",
34128
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Ff94abe7a-4241-4127-9e4e-ad5c9e097537%2F4DNFIEHRX3PO.hic": "1812900014,22663",
34129
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fc280624f-895f-4ae1-bf79-7dc3b9f3b7b0%2F4DNFID9DXKIA.hic": "725923849,22663",
34130
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fcab608ee-4a04-4778-ac76-6f35f749cf77%2F4DNFIYZY8FRZ.hic": "1740798405,22663",
34131
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Faf129845-3b27-4ef1-9d06-c1874d96678f%2F4DNFI7TWN65F.hic": "734312298,22663",
34132
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fda348dd8-6e9d-42f6-a4f3-33ccee122b5d%2F4DNFIQY1WZG2.hic": "709100099,22663",
34133
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F201f494f-44a5-47b4-84f1-a51589e20475%2F4DNFI1OAGRV3.hic": "687695123,22663",
34134
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F54ba0756-0e28-4362-a6c8-305484c80352%2F4DNFINROFYOA.hic": "701869003,22663",
34135
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F3d1254c1-c8b5-450b-8829-1f410da9411f%2F4DNFII9NVNO3.hic": "9088194137,25900",
34136
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F1a1cc3cc-15a7-4ddf-9eea-b96400def819%2F4DNFIGU793GK.hic": "10224339103,25900",
34137
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F91a5a87a-7e53-4170-9f98-8df880205806%2F4DNFIYU853WO.hic": "5831941450,25900",
34138
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F0695c0b4-8b0e-4a78-a4f9-be8e148eaade%2F4DNFISDI5IAS.hic": "6338256623,25900",
34139
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F2118aed0-8a60-43c7-b204-b326c5ec063e%2F4DNFINR2MFSM.hic": "6918790050,25900",
34140
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F3e956c4d-9520-4275-9d54-480add2831e9%2F4DNFI9FI1WN4.hic": "6077420687,25900",
34141
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F7f902a51-7a0a-41d8-acfa-c29b3420faac%2F4DNFIM351CAA.hic": "7415860197,25900",
34142
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F8c304c3b-71f3-4302-8fe8-989d881d32ae%2F4DNFI176BGDG.hic": "7148579858,25900",
34143
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F74dd94fb-47ea-47e7-94cf-a909e521dc9a%2F4DNFI76TVWF9.hic": "4335721284,22663",
34144
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fce6512f3-2c5e-441a-9e20-d025629fddbe%2F4DNFIU8ET5TP.hic": "5420195714,22663",
34145
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F4ea59850-2c40-4a92-a245-76a7893001f2%2F4DNFI6XB8HB4.hic": "5192691591,22663",
34146
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F5d254a61-9894-4c88-a005-31c08155aa14%2F4DNFI6QRXTH3.hic": "3969529135,22663",
34147
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F0fe92b41-3a75-4665-86cf-b39f4cf94aa6%2F4DNFIPVMIIRE.hic": "8681423658,25900",
34148
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F8538b53a-eb26-40cb-9ec3-a61028f43e2b%2F4DNFIPTFHCFP.hic": "8285769882,25900",
34149
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F2232012c-4627-439b-9ce7-ad10a2bc3334%2F4DNFIESB8H1S.hic": "8654573338,25900",
34150
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F07c7a44f-cb01-4901-b591-051913e91353%2F4DNFIK3NAVTO.hic": "8415503170,25900",
34151
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fcabde890-f7cd-4916-a749-902673f6a716%2F4DNFIOTFSJFL.hic": "3455979876,22663",
34152
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F1878f6d9-cb86-4be3-baa6-9300d32a6b46%2F4DNFINCBG8I4.hic": "3356575145,22663",
34153
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F49813dc5-38c1-41d3-ad6a-b27e11f925fc%2F4DNFISZ88WZA.hic": "7739704623,22663",
34154
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F3fd4b6e2-2002-4897-91c1-ebea81ac7f56%2F4DNFI42A55E5.hic": "6954360693,22663",
34155
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F931eb1f3-c388-40c7-89e0-e995851650da%2F4DNFIJQO4MRF.hic": "16726884852,25900",
34156
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fe6ecfcb8-9ca6-44c3-9e27-b4e475a382e4%2F4DNFIZX79UT2.hic": "13334742903,25900",
34157
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2Fc62048ee-843f-40ee-81ad-f78d20266f7d%2F4DNFICZG2DYC.hic": "16057986680,25900",
34158
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F6694b1fb-7fdd-4c1d-9fc6-8dfc8f6b5b58%2F4DNFIK6TSF51.hic": "13887898680,25900",
34159
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F2ce3bdb5-84cb-4d31-abfa-e92a39889972%2F4DNFI1GY4LKB.hic": "15320828542,25900",
34160
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F10758c5f-f49a-4da5-9e4e-25907afe27e2%2F4DNFI86G6QZJ.hic": "13911815900,25900",
34161
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F15e818b8-346b-4f90-a321-b7dd72abb7dc%2F4DNFINFK9D35.hic": "17494323050,22663",
34162
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F5501e4db-e6a4-41da-85d4-9114ca5ba28e%2F4DNFIBFXR38K.hic": "17172205445,22663",
34163
+ "4dn-open-data-public.s3.amazonaws.com%2Ffourfront-webprod%2Fwfoutput%2F378a1641-5894-475e-8614-bd016e8529d5%2F4DNFIMBPX8Q1.hic": "17880333903,22663"
33987
34164
  };
33988
34165
 
33989
34166
  const isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;
@@ -34010,6 +34187,8 @@
34010
34187
  this.normalizationTypes = ['NONE'];
34011
34188
  this.matrixCache = new LRU$1(10);
34012
34189
  this.blockCache = new BlockCache();
34190
+ this.normVectorIndexPosition = -1;
34191
+ this.normVectorIndexSize = -1;
34013
34192
 
34014
34193
  // args may specify an io.File object, a local path (Node only), or a url
34015
34194
  if (args.file) {
@@ -34029,9 +34208,9 @@
34029
34208
  }
34030
34209
  } else if (args.path) {
34031
34210
  // path argument, assumed local file
34032
- throw Error(`path property is deprecated, use NodeLocalFile`)
34211
+ throw Error(`path property is deprecated, use NodeLocalFile`);
34033
34212
  } else {
34034
- throw Error("Arguments must include file, blob, url, or path")
34213
+ throw Error("Arguments must include file, blob, url, or path");
34035
34214
  }
34036
34215
  }
34037
34216
 
@@ -34056,15 +34235,15 @@
34056
34235
  const binaryParser = new BinaryParser(new DataView(data));
34057
34236
  this.magic = binaryParser.getString();
34058
34237
  this.version = binaryParser.getInt();
34059
- return this.version
34238
+ return this.version;
34060
34239
  } else {
34061
- return this.version
34240
+ return this.version;
34062
34241
  }
34063
34242
  }
34064
34243
 
34065
34244
  async getMetaData() {
34066
34245
  await this.init();
34067
- return this.meta
34246
+ return this.meta;
34068
34247
  }
34069
34248
 
34070
34249
  async readHeaderAndFooter() {
@@ -34072,13 +34251,13 @@
34072
34251
  // Read initial fields magic, version, and footer position
34073
34252
  let data = await this.file.read(0, 16);
34074
34253
  if (!data || data.byteLength === 0) {
34075
- throw Error("File content is empty")
34254
+ throw Error("File content is empty");
34076
34255
  }
34077
34256
  let binaryParser = new BinaryParser(new DataView(data));
34078
34257
  this.magic = binaryParser.getString();
34079
34258
  this.version = binaryParser.getInt();
34080
34259
  if (this.version < 5) {
34081
- throw Error("Unsupported hic version: " + this.version)
34260
+ throw Error("Unsupported hic version: " + this.version);
34082
34261
  }
34083
34262
  this.footerPosition = binaryParser.getLong();
34084
34263
 
@@ -34087,7 +34266,7 @@
34087
34266
  await this.readFooter();
34088
34267
 
34089
34268
  const bodyPostion = Object.values(this.masterIndex).reduce((min, currentValue) => {
34090
- return Math.min(min, currentValue.start)
34269
+ return Math.min(min, currentValue.start);
34091
34270
  }, Number.MAX_VALUE);
34092
34271
 
34093
34272
  const remainingSize = bodyPostion - 16;
@@ -34172,7 +34351,7 @@
34172
34351
  "version": this.version,
34173
34352
  "genome": this.genomeId,
34174
34353
  "chromosomes": this.chromosomes,
34175
- "resolutions": this.bpResolutions,
34354
+ "resolutions": this.bpResolutions
34176
34355
  };
34177
34356
 
34178
34357
 
@@ -34280,14 +34459,14 @@
34280
34459
  chrIdx2 = tmp;
34281
34460
  }
34282
34461
 
34283
- const key = Matrix$2.getKey(chrIdx1 , chrIdx2);
34462
+ const key = Matrix$2.getKey(chrIdx1, chrIdx2);
34284
34463
  const idx = this.masterIndex[key];
34285
34464
  if (!idx) {
34286
- return undefined
34465
+ return undefined;
34287
34466
  }
34288
34467
  const data = await this.file.read(idx.start, idx.size);
34289
34468
  if (!data) {
34290
- return undefined
34469
+ return undefined;
34291
34470
  }
34292
34471
 
34293
34472
  return Matrix$2.parseMatrix(data, this.chromosomes);
@@ -34310,7 +34489,7 @@
34310
34489
 
34311
34490
  const blocks = await this.getBlocks(region1, region2, units, binsize);
34312
34491
  if (!blocks || blocks.length === 0) {
34313
- return []
34492
+ return [];
34314
34493
  }
34315
34494
 
34316
34495
  const contactRecords = [];
@@ -34376,23 +34555,23 @@
34376
34555
 
34377
34556
  if (idx1 === undefined) {
34378
34557
  console.log("No chromosome named: " + region1.chr);
34379
- return []
34558
+ return [];
34380
34559
  }
34381
34560
  if (idx2 === undefined) {
34382
34561
  console.log("No chromosome named: " + region2.chr);
34383
- return []
34562
+ return [];
34384
34563
  }
34385
34564
 
34386
34565
  const matrix = await this.getMatrix(idx1, idx2);
34387
34566
  if (!matrix) {
34388
34567
  console.log("No matrix for " + region1.chr + "-" + region2.chr);
34389
- return []
34568
+ return [];
34390
34569
  }
34391
34570
 
34392
34571
  const zd = matrix.getZoomData(binSize, unit);
34393
34572
  if (!zd) {
34394
- let msg = `No data avalailble for resolution: ${binSize} for map ${region1.chr}-${region2.chr}`;
34395
- throw new Error(msg)
34573
+ let msg = `No data available for resolution: ${binSize} for map ${region1.chr}-${region2.chr}`;
34574
+ throw new Error(msg);
34396
34575
  }
34397
34576
 
34398
34577
  const blockNumbers = zd.getBlockNumbers(region1, region2, this.version);
@@ -34423,7 +34602,7 @@
34423
34602
  const idx = await zd.blockIndex.getBlockIndexEntry(blockNumber);
34424
34603
 
34425
34604
  if (!idx) {
34426
- return undefined
34605
+ return undefined;
34427
34606
  } else {
34428
34607
  let data = await this.file.read(idx.filePosition, idx.size);
34429
34608
  if (!data) {
@@ -34536,7 +34715,7 @@
34536
34715
 
34537
34716
  const index = normVectorIndex[key];
34538
34717
 
34539
- return undefined !== index
34718
+ return undefined !== index;
34540
34719
 
34541
34720
  }
34542
34721
 
@@ -34562,20 +34741,20 @@
34562
34741
 
34563
34742
  if (!normVectorIndex) {
34564
34743
  console.log("Normalization vectors not present in this file");
34565
- return undefined
34744
+ return undefined;
34566
34745
  }
34567
34746
 
34568
34747
  const status = await this.isNormalizationValueAvailableAtResolution(type, chr, unit, binSize);
34569
34748
 
34570
34749
  if (false === status) {
34571
34750
 
34572
- const str = `Normalization option ${ type } not available at resolution ${ binSize }. Will use NONE.`;
34751
+ const str = `Normalization option ${type} not available at resolution ${binSize}. Will use NONE.`;
34573
34752
  console.log(str);
34574
34753
 
34575
34754
  if (this.alert) {
34576
34755
  this.alert(str);
34577
- }
34578
- return undefined
34756
+ }
34757
+ return undefined;
34579
34758
  }
34580
34759
 
34581
34760
  const idx = normVectorIndex[key];
@@ -34602,37 +34781,44 @@
34602
34781
  return undefined;
34603
34782
  }
34604
34783
 
34605
- if (!this.normVectorIndex) {
34784
+ if (this.normVectorIndex) {
34785
+ return this.normVectorIndex;
34786
+ }
34606
34787
 
34607
- // If nvi is not supplied, try reading from remote lambda service
34608
- if (!this.config.nvi && this.remote && this.url) {
34609
- const url = new URL(this.url);
34610
- const key = encodeURIComponent(url.hostname + url.pathname);
34611
- if(nvi.hasOwnProperty(key)) {
34612
- this.config.nvi = nvi[key];
34613
- }
34788
+
34789
+ // If we know the position of the norm vector index, read it directly. This is the case for hic v9 files
34790
+ if (this.normVectorIndexPosition > 0 && this.normVectorIndexSize > 0) {
34791
+ const range = {start: this.normVectorIndexPosition, size: this.normVectorIndexSize};
34792
+ return this.readNormVectorIndex(range);
34793
+ }
34794
+
34795
+ // See if nvi (normVector position and size) is provided in config or can be inferred from url
34796
+ if (!this.config.nvi && this.remote && this.url) {
34797
+ const url = new URL(this.url);
34798
+ const key = encodeURIComponent(url.hostname + url.pathname);
34799
+ if (nvi.hasOwnProperty(key)) {
34800
+ this.config.nvi = nvi[key];
34614
34801
  }
34802
+ }
34615
34803
 
34616
- if (this.config.nvi) {
34617
- const nviArray = decodeURIComponent(this.config.nvi).split(",");
34618
- const range = {start: parseInt(nviArray[0]), size: parseInt(nviArray[1])};
34619
- return this.readNormVectorIndex(range)
34620
- } else {
34621
- try {
34622
- await this.readNormExpectedValuesAndNormVectorIndex();
34623
- return this.normVectorIndex
34624
- } catch (e) {
34625
- if (e.code === "416" || e.code === 416) {
34626
- // This is expected if file does not contain norm vectors
34627
- this.normExpectedValueVectorsPosition = undefined;
34628
- } else {
34629
- console.error(e);
34630
- }
34804
+ if (this.config.nvi) {
34805
+ const nviArray = decodeURIComponent(this.config.nvi).split(",");
34806
+ const range = {start: parseInt(nviArray[0]), size: parseInt(nviArray[1])};
34807
+ return this.readNormVectorIndex(range);
34808
+ } else {
34809
+ try {
34810
+ await this.readNormExpectedValuesAndNormVectorIndex();
34811
+ return this.normVectorIndex;
34812
+ } catch (e) {
34813
+ if (e.code === "416" || e.code === 416) {
34814
+ // This is expected if file does not contain norm vectors
34815
+ this.normExpectedValueVectorsPosition = undefined;
34816
+ } else {
34817
+ console.error(e);
34631
34818
  }
34632
34819
  }
34633
34820
  }
34634
34821
 
34635
- return this.normVectorIndex
34636
34822
  }
34637
34823
 
34638
34824
  async getNormalizationOptions() {
@@ -34822,9 +35008,9 @@
34822
35008
 
34823
35009
  getFileChrName(chrAlias) {
34824
35010
  if (this.chrAliasTable.hasOwnProperty(chrAlias)) {
34825
- return this.chrAliasTable[chrAlias]
35011
+ return this.chrAliasTable[chrAlias];
34826
35012
  } else {
34827
- return chrAlias
35013
+ return chrAlias;
34828
35014
  }
34829
35015
  }
34830
35016
 
@@ -34853,7 +35039,7 @@
34853
35039
  }
34854
35040
 
34855
35041
  function isGoogleDrive(url) {
34856
- return url.indexOf("drive.google.com") >= 0 || url.indexOf("www.googleapis.com/drive") > 0
35042
+ return url.indexOf("drive.google.com") >= 0 || url.indexOf("www.googleapis.com/drive") > 0;
34857
35043
  }
34858
35044
 
34859
35045
  class Block {
@@ -35592,6 +35778,11 @@
35592
35778
  }
35593
35779
 
35594
35780
  if (remainder) {
35781
+
35782
+ if (!riteExon) {
35783
+ return undefined
35784
+ }
35785
+
35595
35786
  stringA = sequenceInterval.getSequence(remainder.start, remainder.end);
35596
35787
 
35597
35788
  if (!stringA) {
@@ -50365,19 +50556,26 @@
50365
50556
 
50366
50557
  class BamFilter {
50367
50558
  constructor(options) {
50368
- if (!options) options = {};
50369
- this.vendorFailed = options.vendorFailed = false !== options.vendorFailed;
50370
- this.duplicate = options.duplicate = false !== options.duplicate;
50559
+ options = options || {};
50560
+
50561
+ // Default to true unless explicitly set to false
50562
+ this.vendorFailed = options.vendorFailed !== false;
50563
+
50564
+ // Support both 'duplicate' and 'duplicates' as synonyms
50565
+ const duplicateValue = options.duplicate !== undefined ? options.duplicate : options.duplicates;
50566
+ this.duplicate = duplicateValue !== false;
50567
+
50371
50568
  this.secondary = options.secondary || false;
50372
50569
  this.supplementary = options.supplementary || false;
50373
50570
  this.mq = options.mq || 0;
50571
+
50374
50572
  if (options.readgroups) {
50375
50573
  this.readgroups = new Set(options.readgroups);
50376
50574
  }
50377
50575
  }
50378
50576
 
50379
50577
  pass(alignment) {
50380
- if(!alignment.isMapped()) return false
50578
+ if (!alignment.isMapped()) return false
50381
50579
  if (this.vendorFailed && alignment.isFailsVendorQualityCheck()) return false
50382
50580
  if (this.duplicate && alignment.isDuplicate()) return false
50383
50581
  if (this.secondary && alignment.isSecondary()) return false
@@ -76482,7 +76680,7 @@ ${indent}columns: ${matrix.columns}
76482
76680
  })
76483
76681
  }
76484
76682
 
76485
- const _version = "3.7.1";
76683
+ const _version = "3.7.3";
76486
76684
  function version() {
76487
76685
  return _version
76488
76686
  }
@@ -76546,10 +76744,13 @@ ${indent}columns: ${matrix.columns}
76546
76744
  genome.wgChromosomeNames.map(nm => genome.getChromosomeDisplayName(nm)) :
76547
76745
  [];
76548
76746
 
76747
+ const alreadyAdded = genome.wgChromosomeNames ? new Set(genome.wgChromosomeNames) : new Set();
76748
+
76549
76749
  if (this.showAllChromosomes && genome.chromosomeNames.length > 1) {
76550
76750
  const exclude = new Set(list);
76551
- let count = 0;
76751
+ let count = alreadyAdded.size;
76552
76752
  for (let nm of genome.chromosomeNames) {
76753
+ if(alreadyAdded.has(nm)) continue
76553
76754
  if (++count === 1000) {
76554
76755
  list.push(maximumSequenceCountExceeded);
76555
76756
  break
@@ -79135,6 +79336,15 @@ ${indent}columns: ${matrix.columns}
79135
79336
  }
79136
79337
  }
79137
79338
 
79339
+ /**
79340
+ * Search for chromosome alias record. If found, cache results in the alias -> chr map
79341
+ *
79342
+ * An alias record is an object with keys corresponding to the chromosome name set (e.g. "ucsc", "refseq", etc) and
79343
+ * value the corresponding chromosome alias for that name set.
79344
+ *
79345
+ * @param alias - the sequence name or alias
79346
+ * @returns {Promise<any>} promise to resolve to the alias record.
79347
+ */
79138
79348
  async search(alias) {
79139
79349
  if(this.aliasRecordCache.size === 0) {
79140
79350
  await this.loadAliases();
@@ -79482,7 +79692,7 @@ ${indent}columns: ${matrix.columns}
79482
79692
  this.ucscID = config.ucscID || ucsdIDMap.get(this.id) || this.id;
79483
79693
  this.blatDB = config.blatDB || this.ucscID;
79484
79694
  this.name = config.name;
79485
- this.nameSet = config.nameSet || 'ucsc';
79695
+ this.nameSet = config.nameSet;
79486
79696
  }
79487
79697
 
79488
79698
 
@@ -80784,7 +80994,7 @@ ${indent}columns: ${matrix.columns}
80784
80994
  }
80785
80995
  }
80786
80996
 
80787
- const genomeOrReference = session.reference || session.genome;
80997
+ const genomeOrReference = session.reference || session.genome || session.genarkAccession;
80788
80998
  if (!genomeOrReference) {
80789
80999
  console.warn("No genome or reference object specified");
80790
81000
  return
@@ -81001,6 +81211,15 @@ ${indent}columns: ${matrix.columns}
81001
81211
  return genome
81002
81212
  }
81003
81213
 
81214
+ async expandGenarkAccession(genarkAccession) {
81215
+
81216
+ const url = convertToHubURL(genarkAccession);
81217
+ const hub = await loadHub(url);
81218
+ const genomeConfig = hub.getGenomeConfig();
81219
+ genomeConfig.nameSet = "ucsc";
81220
+ return genomeConfig
81221
+ }
81222
+
81004
81223
  /**
81005
81224
  * Load a genome, defined by a string ID or a json-like configuration object. This includes a fasta reference
81006
81225
  * as well as optional cytoband and annotation tracks.
@@ -81010,31 +81229,33 @@ ${indent}columns: ${matrix.columns}
81010
81229
  */
81011
81230
  async loadGenome(idOrConfig) {
81012
81231
 
81013
- if (idOrConfig.genarkAccession) {
81014
- idOrConfig.url = convertToHubURL(idOrConfig.genarkAccession);
81015
- }
81232
+ let genomeConfig;
81016
81233
 
81017
- // Translate the generic "url" field, used by clients such as igv-webapp
81018
- if (idOrConfig.url) {
81019
- if (isString$3(idOrConfig.url) && idOrConfig.url.endsWith("/hub.txt")) {
81020
- idOrConfig.hubURL = idOrConfig.url;
81021
- delete idOrConfig.url;
81022
- } else if ("gbk" === getFileExtension(idOrConfig.url)) {
81023
- idOrConfig.gbkURL = idOrConfig.url;
81024
- delete idOrConfig.url;
81234
+ if (idOrConfig.genarkAccession) {
81235
+ genomeConfig = await this.expandGenarkAccession(idOrConfig.genarkAccession);
81236
+ } else {
81237
+ // Translate the generic "url" field, used by clients such as igv-webapp
81238
+ if (idOrConfig.url) {
81239
+ if (isString$3(idOrConfig.url) && idOrConfig.url.endsWith("/hub.txt")) {
81240
+ idOrConfig.hubURL = idOrConfig.url;
81241
+ delete idOrConfig.url;
81242
+ } else if ("gbk" === getFileExtension(idOrConfig.url)) {
81243
+ idOrConfig.gbkURL = idOrConfig.url;
81244
+ delete idOrConfig.url;
81245
+ }
81025
81246
  }
81026
- }
81027
81247
 
81028
- let genomeConfig;
81029
- const isHubGenome = idOrConfig.hubURL || (idOrConfig.url && isString$3(idOrConfig.url) && idOrConfig.url.endsWith("/hub.txt"));
81030
- if (isHubGenome) {
81031
- const hub = await loadHub(idOrConfig.hubURL || idOrConfig.url);
81032
- genomeConfig = hub.getGenomeConfig();
81033
- } else if (isString$3(idOrConfig) || !(idOrConfig.url || idOrConfig.fastaURL || idOrConfig.twoBitURL || idOrConfig.gbkURL)) {
81034
- // Either an ID, a json string, or an object missing required properties.
81035
- genomeConfig = await GenomeUtils.expandReference(this.alert, idOrConfig);
81036
- } else {
81037
- genomeConfig = idOrConfig;
81248
+
81249
+ const isHubGenome = idOrConfig.hubURL || (idOrConfig.url && isString$3(idOrConfig.url) && idOrConfig.url.endsWith("/hub.txt"));
81250
+ if (isHubGenome) {
81251
+ const hub = await loadHub(idOrConfig.hubURL || idOrConfig.url);
81252
+ genomeConfig = hub.getGenomeConfig();
81253
+ } else if (isString$3(idOrConfig) || !(idOrConfig.url || idOrConfig.fastaURL || idOrConfig.twoBitURL || idOrConfig.gbkURL)) {
81254
+ // Either an ID, a json string, or an object missing required properties.
81255
+ genomeConfig = await GenomeUtils.expandReference(this.alert, idOrConfig);
81256
+ } else {
81257
+ genomeConfig = idOrConfig;
81258
+ }
81038
81259
  }
81039
81260
 
81040
81261
  await this.loadReference(genomeConfig);