@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.
@@ -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: typeof IndexedFasta;
9
+ protected fasta: IndexedFasta;
10
10
  private seqCache;
11
11
  constructor(config: AnyConfigurationModel, getSubAdapter?: getSubAdapterType, pluginManager?: PluginManager);
12
- getRefNames(opts?: BaseOptions): any;
12
+ getRefNames(opts?: BaseOptions): Promise<string[]>;
13
13
  getRegions(opts?: BaseOptions): Promise<{
14
14
  refName: string;
15
15
  start: number;
16
- end: any;
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<any>;
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
- if (enumerableOnly) {
37
- symbols = symbols.filter(function (sym) {
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] != null ? arguments[i] : {};
51
-
52
- if (i % 2) {
53
- ownKeys(Object(source), true).forEach(function (key) {
54
- _defineProperty(target, key, source[key]);
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
- subClass.prototype = Object.create(superClass && superClass.prototype, {
147
- constructor: {
148
- value: subClass,
149
- writable: true,
150
- configurable: true
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 freeResources() {}
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 freeResources() {}
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 freeResources() {}
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 freeResources() {}
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 = {