igv 2.12.1 → 2.12.2

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
@@ -23093,7 +23093,7 @@
23093
23093
  }
23094
23094
  };
23095
23095
 
23096
- const _version = "2.12.1";
23096
+ const _version = "2.12.2";
23097
23097
 
23098
23098
  function version$1() {
23099
23099
  return _version;
@@ -25481,6 +25481,10 @@
25481
25481
  }
25482
25482
  }
25483
25483
 
25484
+ hasTag(str) {
25485
+ return this.firstAlignment.hasTag(str) || this.secondAlignment && this.secondAlignment.hasTag(str);
25486
+ }
25487
+
25484
25488
  }
25485
25489
 
25486
25490
  /*
@@ -48271,20 +48275,36 @@
48271
48275
  const chords = [];
48272
48276
 
48273
48277
  for (let a of alignments) {
48274
- const mate = a.mate;
48275
-
48276
- if (mate && mate.chr && mate.position) {
48277
- chords.push({
48278
- uniqueId: a.readName,
48279
- refName: shortChrName(a.chr),
48280
- start: a.start,
48281
- end: a.end,
48282
- mate: {
48283
- refName: shortChrName(mate.chr),
48284
- start: mate.position - 1,
48285
- end: mate.position
48286
- }
48287
- });
48278
+ if (a.paired) {
48279
+ if (a.firstAlignment && a.secondAlignment) {
48280
+ chords.push({
48281
+ uniqueId: a.readName,
48282
+ refName: shortChrName(a.firstAlignment.chr),
48283
+ start: a.firstAlignment.start,
48284
+ end: a.firstAlignment.end,
48285
+ mate: {
48286
+ refName: shortChrName(a.secondAlignment.chr),
48287
+ start: a.secondAlignment.start,
48288
+ end: a.secondAlignment.end
48289
+ }
48290
+ });
48291
+ }
48292
+ } else {
48293
+ const mate = a.mate;
48294
+
48295
+ if (mate && mate.chr && mate.position) {
48296
+ chords.push({
48297
+ uniqueId: a.readName,
48298
+ refName: shortChrName(a.chr),
48299
+ start: a.start,
48300
+ end: a.end,
48301
+ mate: {
48302
+ refName: shortChrName(mate.chr),
48303
+ start: mate.position - 1,
48304
+ end: mate.position
48305
+ }
48306
+ });
48307
+ }
48288
48308
  }
48289
48309
  }
48290
48310
 
@@ -48292,9 +48312,7 @@
48292
48312
  };
48293
48313
 
48294
48314
  const makeSupplementalAlignmentChords = alignments => {
48295
- const chords = [];
48296
-
48297
- for (let a of alignments) {
48315
+ const makeChords = a => {
48298
48316
  const sa = a.tags()['SA'];
48299
48317
  const supAl = createSupplementaryAlignments(sa);
48300
48318
  let n = 0;
@@ -48314,6 +48332,20 @@
48314
48332
  });
48315
48333
  }
48316
48334
  }
48335
+ };
48336
+
48337
+ const chords = [];
48338
+
48339
+ for (let a of alignments) {
48340
+ if (a.paired) {
48341
+ makeChords(a.firstAlignment);
48342
+
48343
+ if (a.secondAlignment) {
48344
+ makeChords(a.secondAlignment);
48345
+ }
48346
+ } else {
48347
+ makeChords(a);
48348
+ }
48317
48349
  }
48318
48350
 
48319
48351
  return chords;
@@ -49040,8 +49072,16 @@
49040
49072
  const refFrame = viewport.referenceFrame;
49041
49073
 
49042
49074
  for (let a of viewport.cachedFeatures.allAlignments()) {
49043
- if (a.end >= refFrame.start && a.start <= refFrame.end && a.mate && a.mate.chr && (a.mate.chr !== a.chr || Math.max(a.fragmentLength) > maxTemplateLength)) {
49044
- inView.push(a);
49075
+ if (a.end >= refFrame.start && a.start <= refFrame.end) {
49076
+ if (a.paired) {
49077
+ if (a.end - a.start > maxTemplateLength) {
49078
+ inView.push(a);
49079
+ }
49080
+ } else {
49081
+ if (a.mate && a.mate.chr && (a.mate.chr !== a.chr || Math.max(a.fragmentLength) > maxTemplateLength)) {
49082
+ inView.push(a);
49083
+ }
49084
+ }
49045
49085
  }
49046
49086
  }
49047
49087
 
@@ -50566,7 +50606,7 @@
50566
50606
  sampleNameViewport.setWidth(this.browser.sampleNameViewportWidth);
50567
50607
  }
50568
50608
 
50569
- this.browser.resize();
50609
+ this.browser.layoutChange();
50570
50610
  }
50571
50611
  };
50572
50612
  this.browser.inputDialog.present(config, event);
@@ -65409,7 +65449,7 @@
65409
65449
  }
65410
65450
  }
65411
65451
 
65412
- browser.resize();
65452
+ browser.layoutChange();
65413
65453
  });
65414
65454
  }
65415
65455
 
@@ -67032,8 +67072,18 @@
67032
67072
  trackView.setTrackHeight(newHeight);
67033
67073
  });
67034
67074
  }
67075
+ /**
67076
+ * API function to signal that this browser visibility has changed, e.g. from hiding/showing in a tab interface.
67077
+ *
67078
+ * @returns {Promise<void>}
67079
+ */
67080
+
67035
67081
 
67036
67082
  async visibilityChange() {
67083
+ this.layoutChange();
67084
+ }
67085
+
67086
+ async layoutChange() {
67037
67087
  const status = this.referenceFrameList.find(referenceFrame => referenceFrame.bpPerPixel < 0);
67038
67088
 
67039
67089
  if (status) {