igv 3.0.4 → 3.0.5
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.esm.js +20 -29
- package/dist/igv.esm.min.js +3 -3
- package/dist/igv.esm.min.js.map +1 -1
- package/dist/igv.js +20 -29
- package/dist/igv.min.js +3 -3
- package/dist/igv.min.js.map +1 -1
- package/package.json +1 -1
package/dist/igv.esm.js
CHANGED
|
@@ -39605,6 +39605,10 @@ class DynamicFeatureSource {
|
|
|
39605
39605
|
if (this.featureMap[chr]) {
|
|
39606
39606
|
const match = `${chr}-${start}-${end}`;
|
|
39607
39607
|
this.featureMap[chr] = this.featureMap[chr].filter(feature => match !== `${feature.chr}-${feature.start}-${feature.end}`);
|
|
39608
|
+
// Check if featureMap for a specific chromosome is empty now and delete it if yes
|
|
39609
|
+
if (this.featureMap[chr].length === 0) {
|
|
39610
|
+
delete this.featureMap[chr];
|
|
39611
|
+
}
|
|
39608
39612
|
}
|
|
39609
39613
|
}
|
|
39610
39614
|
}
|
|
@@ -43052,7 +43056,7 @@ class TrackView {
|
|
|
43052
43056
|
const viewportsToRepaint = visibleViewports.filter(vp => vp.needsRepaint()).filter(viewport => viewport.checkZoomIn());
|
|
43053
43057
|
|
|
43054
43058
|
// Get viewports that require a data load
|
|
43055
|
-
const viewportsToReload = visibleViewports.filter(viewport => viewport.needsReload());
|
|
43059
|
+
const viewportsToReload = visibleViewports.filter(viewport => viewport.checkZoomIn()).filter(viewport => viewport.needsReload());
|
|
43056
43060
|
|
|
43057
43061
|
// Trigger viewport to load features needed to cover current genomic range
|
|
43058
43062
|
// NOTE: these must be loaded synchronously, do not user Promise.all, not all file readers are thread safe
|
|
@@ -70517,7 +70521,7 @@ function createReferenceFrameList(loci, genome, browserFlanking, minimumBases, v
|
|
|
70517
70521
|
})
|
|
70518
70522
|
}
|
|
70519
70523
|
|
|
70520
|
-
const _version = "3.0.
|
|
70524
|
+
const _version = "3.0.5";
|
|
70521
70525
|
function version() {
|
|
70522
70526
|
return _version
|
|
70523
70527
|
}
|
|
@@ -72067,9 +72071,16 @@ class ROIMenu {
|
|
|
72067
72071
|
'<hr/>',
|
|
72068
72072
|
{
|
|
72069
72073
|
label: 'Delete',
|
|
72070
|
-
click: () => {
|
|
72071
|
-
|
|
72072
|
-
|
|
72074
|
+
click: async () => {
|
|
72075
|
+
roiSet.removeFeature(feature);
|
|
72076
|
+
const userDefinedFeatures = await roiSet.getAllFeatures();
|
|
72077
|
+
|
|
72078
|
+
// Delete user defined ROI Set if it is empty
|
|
72079
|
+
if (Object.keys(userDefinedFeatures).length === 0) {
|
|
72080
|
+
roiManager.deleteUserDefinedROISet();
|
|
72081
|
+
}
|
|
72082
|
+
roiManager.deleteRegionWithKey(regionElement.dataset.region, columnContainer);
|
|
72083
|
+
roiManager.repaintTable();
|
|
72073
72084
|
}
|
|
72074
72085
|
}
|
|
72075
72086
|
);
|
|
@@ -72597,6 +72608,10 @@ class ROIManager {
|
|
|
72597
72608
|
return this.roiSets.find(roiSet => true === roiSet.isUserDefined)
|
|
72598
72609
|
}
|
|
72599
72610
|
|
|
72611
|
+
deleteUserDefinedROISet(){
|
|
72612
|
+
this.roiSets = this.roiSets.filter(roiSet => roiSet.isUserDefined !== true);
|
|
72613
|
+
}
|
|
72614
|
+
|
|
72600
72615
|
initializeUserDefinedROISet() {
|
|
72601
72616
|
|
|
72602
72617
|
const config =
|
|
@@ -72612,15 +72627,8 @@ class ROIManager {
|
|
|
72612
72627
|
}
|
|
72613
72628
|
|
|
72614
72629
|
async deleteRegionWithKey(regionKey, columnContainer) {
|
|
72615
|
-
|
|
72616
72630
|
columnContainer.querySelectorAll(createSelector(regionKey)).forEach(node => node.remove());
|
|
72617
72631
|
|
|
72618
|
-
const {feature, set} = await this.findRegionWithKey(regionKey);
|
|
72619
|
-
|
|
72620
|
-
if (set) {
|
|
72621
|
-
set.removeFeature(feature);
|
|
72622
|
-
}
|
|
72623
|
-
|
|
72624
72632
|
const records = await this.getTableRecords();
|
|
72625
72633
|
|
|
72626
72634
|
if (0 === records.length) {
|
|
@@ -72630,23 +72638,6 @@ class ROIManager {
|
|
|
72630
72638
|
|
|
72631
72639
|
}
|
|
72632
72640
|
|
|
72633
|
-
async findRegionWithKey(regionKey) {
|
|
72634
|
-
|
|
72635
|
-
const {chr, start, end} = parseRegionKey(regionKey);
|
|
72636
|
-
|
|
72637
|
-
for (let set of this.roiSets) {
|
|
72638
|
-
const features = await set.getFeatures(chr, start, end);
|
|
72639
|
-
|
|
72640
|
-
for (let feature of features) {
|
|
72641
|
-
if (feature.chr === chr && feature.start >= start && feature.end <= end) {
|
|
72642
|
-
return {feature, set}
|
|
72643
|
-
}
|
|
72644
|
-
}
|
|
72645
|
-
}
|
|
72646
|
-
|
|
72647
|
-
return {feature: undefined, set: undefined}
|
|
72648
|
-
}
|
|
72649
|
-
|
|
72650
72641
|
toJSON() {
|
|
72651
72642
|
return this.roiSets.map(roiSet => roiSet.toJSON())
|
|
72652
72643
|
}
|