@jbrowse/plugin-sequence 1.5.0 → 1.5.4
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/IndexedFastaAdapter/IndexedFastaAdapter.d.ts +3 -3
- package/dist/TwoBitAdapter/TwoBitAdapter.d.ts +1 -1
- package/dist/plugin-sequence.cjs.development.js +143 -33
- package/dist/plugin-sequence.cjs.development.js.map +1 -1
- package/dist/plugin-sequence.cjs.production.min.js +1 -1
- package/dist/plugin-sequence.cjs.production.min.js.map +1 -1
- package/dist/plugin-sequence.esm.js +143 -33
- package/dist/plugin-sequence.esm.js.map +1 -1
- package/package.json +5 -5
- package/src/ChromSizesAdapter/ChromSizesAdapter.ts +1 -1
- package/src/IndexedFastaAdapter/IndexedFastaAdapter.ts +1 -1
- package/src/TwoBitAdapter/TwoBitAdapter.ts +3 -7
- package/src/declare.d.ts +0 -2
- package/src/index.ts +136 -0
|
@@ -6,14 +6,14 @@ import { AnyConfigurationModel } from '@jbrowse/core/configuration/configuration
|
|
|
6
6
|
import PluginManager from '@jbrowse/core/PluginManager';
|
|
7
7
|
import { getSubAdapterType } from '@jbrowse/core/data_adapters/dataAdapterCache';
|
|
8
8
|
export default class extends BaseFeatureDataAdapter implements SequenceAdapter {
|
|
9
|
-
protected fasta:
|
|
9
|
+
protected fasta: IndexedFasta;
|
|
10
10
|
private seqCache;
|
|
11
11
|
constructor(config: AnyConfigurationModel, getSubAdapter?: getSubAdapterType, pluginManager?: PluginManager);
|
|
12
|
-
getRefNames(opts?: BaseOptions):
|
|
12
|
+
getRefNames(opts?: BaseOptions): Promise<string[]>;
|
|
13
13
|
getRegions(opts?: BaseOptions): Promise<{
|
|
14
14
|
refName: string;
|
|
15
15
|
start: number;
|
|
16
|
-
end:
|
|
16
|
+
end: number;
|
|
17
17
|
}[]>;
|
|
18
18
|
/**
|
|
19
19
|
* Fetch features for a certain region
|
|
@@ -9,7 +9,7 @@ export default class TwoBitAdapter extends BaseFeatureDataAdapter implements Seq
|
|
|
9
9
|
protected chromSizesData: Promise<Record<string, number> | undefined>;
|
|
10
10
|
private initChromSizes;
|
|
11
11
|
constructor(config: AnyConfigurationModel, getSubAdapter?: getSubAdapterType, pluginManager?: PluginManager);
|
|
12
|
-
getRefNames(): Promise<
|
|
12
|
+
getRefNames(): Promise<string[]>;
|
|
13
13
|
getRegions(): Promise<NoAssemblyRegion[]>;
|
|
14
14
|
/**
|
|
15
15
|
* Fetch features for a certain region
|
|
@@ -10,6 +10,7 @@ var FeatureRendererType = _interopDefault(require('@jbrowse/core/pluggableElemen
|
|
|
10
10
|
var TrackType = _interopDefault(require('@jbrowse/core/pluggableElementTypes/TrackType'));
|
|
11
11
|
var Plugin = _interopDefault(require('@jbrowse/core/Plugin'));
|
|
12
12
|
var pluginLinearGenomeView = require('@jbrowse/plugin-linear-genome-view');
|
|
13
|
+
var tracks = require('@jbrowse/core/util/tracks');
|
|
13
14
|
var configuration = require('@jbrowse/core/configuration');
|
|
14
15
|
var color = require('@jbrowse/core/util/color');
|
|
15
16
|
var ui = require('@jbrowse/core/ui');
|
|
@@ -32,14 +33,9 @@ function ownKeys(object, enumerableOnly) {
|
|
|
32
33
|
|
|
33
34
|
if (Object.getOwnPropertySymbols) {
|
|
34
35
|
var symbols = Object.getOwnPropertySymbols(object);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
keys.push.apply(keys, symbols);
|
|
36
|
+
enumerableOnly && (symbols = symbols.filter(function (sym) {
|
|
37
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
38
|
+
})), keys.push.apply(keys, symbols);
|
|
43
39
|
}
|
|
44
40
|
|
|
45
41
|
return keys;
|
|
@@ -47,19 +43,12 @@ function ownKeys(object, enumerableOnly) {
|
|
|
47
43
|
|
|
48
44
|
function _objectSpread2(target) {
|
|
49
45
|
for (var i = 1; i < arguments.length; i++) {
|
|
50
|
-
var source = arguments[i]
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
} else if (Object.getOwnPropertyDescriptors) {
|
|
57
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
58
|
-
} else {
|
|
59
|
-
ownKeys(Object(source)).forEach(function (key) {
|
|
60
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
61
|
-
});
|
|
62
|
-
}
|
|
46
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
|
47
|
+
i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
|
|
48
|
+
_defineProperty(target, key, source[key]);
|
|
49
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
|
|
50
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
51
|
+
});
|
|
63
52
|
}
|
|
64
53
|
|
|
65
54
|
return target;
|
|
@@ -120,6 +109,9 @@ function _defineProperties(target, props) {
|
|
|
120
109
|
function _createClass(Constructor, protoProps, staticProps) {
|
|
121
110
|
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
122
111
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
112
|
+
Object.defineProperty(Constructor, "prototype", {
|
|
113
|
+
writable: false
|
|
114
|
+
});
|
|
123
115
|
return Constructor;
|
|
124
116
|
}
|
|
125
117
|
|
|
@@ -143,12 +135,15 @@ function _inherits(subClass, superClass) {
|
|
|
143
135
|
throw new TypeError("Super expression must either be null or a function");
|
|
144
136
|
}
|
|
145
137
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
138
|
+
Object.defineProperty(subClass, "prototype", {
|
|
139
|
+
value: Object.create(superClass && superClass.prototype, {
|
|
140
|
+
constructor: {
|
|
141
|
+
value: subClass,
|
|
142
|
+
writable: true,
|
|
143
|
+
configurable: true
|
|
144
|
+
}
|
|
145
|
+
}),
|
|
146
|
+
writable: false
|
|
152
147
|
});
|
|
153
148
|
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
154
149
|
}
|
|
@@ -821,6 +816,12 @@ var SequencePlugin = /*#__PURE__*/function (_Plugin) {
|
|
|
821
816
|
return new AdapterType({
|
|
822
817
|
name: 'TwoBitAdapter',
|
|
823
818
|
configSchema: twoBitAdapterConfigSchema,
|
|
819
|
+
adapterMetadata: {
|
|
820
|
+
category: null,
|
|
821
|
+
hiddenFromGUI: true,
|
|
822
|
+
displayName: null,
|
|
823
|
+
description: null
|
|
824
|
+
},
|
|
824
825
|
getAdapterClass: function getAdapterClass() {
|
|
825
826
|
return Promise.resolve().then(function () { return TwoBitAdapter$1; }).then(function (r) {
|
|
826
827
|
return r["default"];
|
|
@@ -828,10 +829,41 @@ var SequencePlugin = /*#__PURE__*/function (_Plugin) {
|
|
|
828
829
|
}
|
|
829
830
|
});
|
|
830
831
|
});
|
|
832
|
+
pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', function (adapterGuesser) {
|
|
833
|
+
return function (file, index, adapterHint) {
|
|
834
|
+
var regexGuess = /\.2bit$/i;
|
|
835
|
+
var adapterName = 'TwoBitAdapter';
|
|
836
|
+
var fileName = tracks.getFileName(file);
|
|
837
|
+
|
|
838
|
+
if (regexGuess.test(fileName) || adapterHint === adapterName) {
|
|
839
|
+
return {
|
|
840
|
+
type: adapterName,
|
|
841
|
+
twoBitLocation: file
|
|
842
|
+
};
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
return adapterGuesser(file, index, adapterHint);
|
|
846
|
+
};
|
|
847
|
+
});
|
|
848
|
+
pluginManager.addToExtensionPoint('Core-guessTrackTypeForLocation', function (trackTypeGuesser) {
|
|
849
|
+
return function (adapterName) {
|
|
850
|
+
if (adapterName === 'TwoBitAdapter') {
|
|
851
|
+
return 'ReferenceSequenceTrack';
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
return trackTypeGuesser(adapterName);
|
|
855
|
+
};
|
|
856
|
+
});
|
|
831
857
|
pluginManager.addAdapterType(function () {
|
|
832
858
|
return new AdapterType({
|
|
833
859
|
name: 'ChromSizesAdapter',
|
|
834
860
|
configSchema: chromSizesAdapterConfigSchema,
|
|
861
|
+
adapterMetadata: {
|
|
862
|
+
category: null,
|
|
863
|
+
hiddenFromGUI: true,
|
|
864
|
+
displayName: null,
|
|
865
|
+
description: null
|
|
866
|
+
},
|
|
835
867
|
getAdapterClass: function getAdapterClass() {
|
|
836
868
|
return Promise.resolve().then(function () { return ChromSizesAdapter; }).then(function (r) {
|
|
837
869
|
return r["default"];
|
|
@@ -843,6 +875,12 @@ var SequencePlugin = /*#__PURE__*/function (_Plugin) {
|
|
|
843
875
|
return new AdapterType({
|
|
844
876
|
name: 'IndexedFastaAdapter',
|
|
845
877
|
configSchema: indexedFastaAdapterConfigSchema,
|
|
878
|
+
adapterMetadata: {
|
|
879
|
+
category: null,
|
|
880
|
+
hiddenFromGUI: true,
|
|
881
|
+
displayName: null,
|
|
882
|
+
description: null
|
|
883
|
+
},
|
|
846
884
|
getAdapterClass: function getAdapterClass() {
|
|
847
885
|
return Promise.resolve().then(function () { return IndexedFastaAdapter; }).then(function (r) {
|
|
848
886
|
return r["default"];
|
|
@@ -850,10 +888,42 @@ var SequencePlugin = /*#__PURE__*/function (_Plugin) {
|
|
|
850
888
|
}
|
|
851
889
|
});
|
|
852
890
|
});
|
|
891
|
+
pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', function (adapterGuesser) {
|
|
892
|
+
return function (file, index, adapterHint) {
|
|
893
|
+
var regexGuess = /\.(fa|fasta|fas|fna|mfa)$/i;
|
|
894
|
+
var adapterName = 'IndexedFastaAdapter';
|
|
895
|
+
var fileName = tracks.getFileName(file);
|
|
896
|
+
|
|
897
|
+
if (regexGuess.test(fileName) || adapterHint === adapterName) {
|
|
898
|
+
return {
|
|
899
|
+
type: adapterName,
|
|
900
|
+
fastaLocation: file,
|
|
901
|
+
faiLocation: index || tracks.makeIndex(file, '.fai')
|
|
902
|
+
};
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
return adapterGuesser(file, index, adapterHint);
|
|
906
|
+
};
|
|
907
|
+
});
|
|
908
|
+
pluginManager.addToExtensionPoint('Core-guessTrackTypeForLocation', function (trackTypeGuesser) {
|
|
909
|
+
return function (adapterName) {
|
|
910
|
+
if (adapterName === 'IndexedFastaAdapter') {
|
|
911
|
+
return 'ReferenceSequenceTrack';
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
return trackTypeGuesser(adapterName);
|
|
915
|
+
};
|
|
916
|
+
});
|
|
853
917
|
pluginManager.addAdapterType(function () {
|
|
854
918
|
return new AdapterType({
|
|
855
919
|
name: 'BgzipFastaAdapter',
|
|
856
920
|
configSchema: bgzipFastaAdapterConfigSchema,
|
|
921
|
+
adapterMetadata: {
|
|
922
|
+
category: null,
|
|
923
|
+
hiddenFromGUI: true,
|
|
924
|
+
displayName: null,
|
|
925
|
+
description: null
|
|
926
|
+
},
|
|
857
927
|
getAdapterClass: function getAdapterClass() {
|
|
858
928
|
return Promise.resolve().then(function () { return BgzipFastaAdapter; }).then(function (r) {
|
|
859
929
|
return r["default"];
|
|
@@ -861,9 +931,41 @@ var SequencePlugin = /*#__PURE__*/function (_Plugin) {
|
|
|
861
931
|
}
|
|
862
932
|
});
|
|
863
933
|
});
|
|
934
|
+
pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', function (adapterGuesser) {
|
|
935
|
+
return function (file, index, adapterHint) {
|
|
936
|
+
var regexGuess = /\.(fa|fasta|fas|fna|mfa)\.b?gz$/i;
|
|
937
|
+
var adapterName = 'BgzipFastaAdapter';
|
|
938
|
+
var fileName = tracks.getFileName(file);
|
|
939
|
+
|
|
940
|
+
if (regexGuess.test(fileName) || adapterHint === adapterName) {
|
|
941
|
+
return {
|
|
942
|
+
type: adapterName,
|
|
943
|
+
faiLocation: tracks.makeIndex(file, '.fai'),
|
|
944
|
+
gziLocation: tracks.makeIndex(file, '.gzi')
|
|
945
|
+
};
|
|
946
|
+
}
|
|
947
|
+
|
|
948
|
+
return adapterGuesser(file, index, adapterHint);
|
|
949
|
+
};
|
|
950
|
+
});
|
|
951
|
+
pluginManager.addToExtensionPoint('Core-guessTrackTypeForLocation', function (trackTypeGuesser) {
|
|
952
|
+
return function (adapterName) {
|
|
953
|
+
if (adapterName === 'BgzipFastaAdapter') {
|
|
954
|
+
return 'ReferenceSequenceTrack';
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
return trackTypeGuesser(adapterName);
|
|
958
|
+
};
|
|
959
|
+
});
|
|
864
960
|
pluginManager.addAdapterType(function () {
|
|
865
961
|
return new AdapterType(_objectSpread2({
|
|
866
|
-
name: 'GCContentAdapter'
|
|
962
|
+
name: 'GCContentAdapter',
|
|
963
|
+
adapterMetadata: {
|
|
964
|
+
category: null,
|
|
965
|
+
hiddenFromGUI: true,
|
|
966
|
+
displayName: null,
|
|
967
|
+
description: null
|
|
968
|
+
}
|
|
867
969
|
}, pluginManager.load(GCContentAdapterF)));
|
|
868
970
|
});
|
|
869
971
|
pluginManager.addTrackType(function () {
|
|
@@ -1833,7 +1935,9 @@ var default_1 = /*#__PURE__*/function (_BaseFeatureDataAdapt) {
|
|
|
1833
1935
|
|
|
1834
1936
|
}, {
|
|
1835
1937
|
key: "freeResources",
|
|
1836
|
-
value: function
|
|
1938
|
+
value: function
|
|
1939
|
+
/* { region } */
|
|
1940
|
+
freeResources() {}
|
|
1837
1941
|
}]);
|
|
1838
1942
|
|
|
1839
1943
|
return default_1;
|
|
@@ -2078,7 +2182,9 @@ var TwoBitAdapter = /*#__PURE__*/function (_BaseFeatureDataAdapt) {
|
|
|
2078
2182
|
|
|
2079
2183
|
}, {
|
|
2080
2184
|
key: "freeResources",
|
|
2081
|
-
value: function
|
|
2185
|
+
value: function
|
|
2186
|
+
/* { region } */
|
|
2187
|
+
freeResources() {}
|
|
2082
2188
|
}]);
|
|
2083
2189
|
|
|
2084
2190
|
return TwoBitAdapter;
|
|
@@ -2205,7 +2311,9 @@ var _default = /*#__PURE__*/function (_BaseAdapter) {
|
|
|
2205
2311
|
}
|
|
2206
2312
|
}, {
|
|
2207
2313
|
key: "freeResources",
|
|
2208
|
-
value: function
|
|
2314
|
+
value: function
|
|
2315
|
+
/* { region } */
|
|
2316
|
+
freeResources() {}
|
|
2209
2317
|
}]);
|
|
2210
2318
|
|
|
2211
2319
|
return _default;
|
|
@@ -2391,7 +2499,9 @@ var _default$1 = /*#__PURE__*/function (_BaseFeatureDataAdapt) {
|
|
|
2391
2499
|
|
|
2392
2500
|
}, {
|
|
2393
2501
|
key: "freeResources",
|
|
2394
|
-
value: function
|
|
2502
|
+
value: function
|
|
2503
|
+
/* { region } */
|
|
2504
|
+
freeResources() {}
|
|
2395
2505
|
}]);
|
|
2396
2506
|
|
|
2397
2507
|
return _default;
|
|
@@ -2438,7 +2548,7 @@ var _default$2 = /*#__PURE__*/function (_IndexedFasta) {
|
|
|
2438
2548
|
return _this;
|
|
2439
2549
|
}
|
|
2440
2550
|
|
|
2441
|
-
return _default;
|
|
2551
|
+
return _createClass(_default);
|
|
2442
2552
|
}(_default$1);
|
|
2443
2553
|
|
|
2444
2554
|
var BgzipFastaAdapter = {
|