@jbrowse/plugin-data-management 1.6.7 → 1.7.0

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.
Files changed (66) hide show
  1. package/dist/AddConnectionWidget/components/AddConnectionWidget.js +178 -0
  2. package/dist/AddConnectionWidget/components/AddConnectionWidget.test.js +270 -0
  3. package/dist/AddConnectionWidget/components/ConfigureConnection.js +35 -0
  4. package/dist/AddConnectionWidget/components/ConnectionTypeSelect.js +70 -0
  5. package/dist/AddConnectionWidget/index.js +21 -0
  6. package/dist/AddConnectionWidget/model.js +17 -0
  7. package/dist/AddTrackWidget/components/AddTrackWidget.js +215 -0
  8. package/dist/AddTrackWidget/components/AddTrackWidget.test.js +218 -0
  9. package/dist/AddTrackWidget/components/ConfirmTrack.js +277 -0
  10. package/dist/AddTrackWidget/components/TrackSourceSelect.js +60 -0
  11. package/dist/AddTrackWidget/index.js +21 -0
  12. package/dist/AddTrackWidget/index.test.js +291 -0
  13. package/dist/AddTrackWidget/model.js +167 -0
  14. package/dist/AssemblyManager/AssemblyAddForm.js +299 -0
  15. package/dist/AssemblyManager/AssemblyEditor.js +25 -0
  16. package/dist/AssemblyManager/AssemblyManager.js +144 -0
  17. package/dist/AssemblyManager/AssemblyManager.test.js +113 -0
  18. package/dist/AssemblyManager/AssemblyTable.js +92 -0
  19. package/dist/AssemblyManager/index.js +15 -0
  20. package/dist/HierarchicalTrackSelectorWidget/components/CloseConnectionDialog.js +55 -0
  21. package/dist/HierarchicalTrackSelectorWidget/components/DeleteConnectionDialog.js +46 -0
  22. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +648 -0
  23. package/dist/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.js +191 -0
  24. package/dist/HierarchicalTrackSelectorWidget/components/ManageConnectionsDialog.js +80 -0
  25. package/dist/HierarchicalTrackSelectorWidget/components/ToggleConnectionsDialog.js +98 -0
  26. package/dist/HierarchicalTrackSelectorWidget/index.js +21 -0
  27. package/dist/HierarchicalTrackSelectorWidget/model.js +306 -0
  28. package/dist/HierarchicalTrackSelectorWidget/model.test.js +28 -0
  29. package/dist/PluginStoreWidget/components/CustomPluginForm.js +217 -0
  30. package/dist/PluginStoreWidget/components/InstalledPlugin.js +138 -0
  31. package/dist/PluginStoreWidget/components/InstalledPluginsList.js +47 -0
  32. package/dist/PluginStoreWidget/components/PluginCard.js +121 -0
  33. package/dist/PluginStoreWidget/components/PluginStoreWidget.js +240 -0
  34. package/dist/PluginStoreWidget/components/PluginStoreWidget.test.js +201 -0
  35. package/dist/PluginStoreWidget/index.js +29 -0
  36. package/dist/PluginStoreWidget/model.js +28 -0
  37. package/dist/PluginStoreWidget/model.test.js +17 -0
  38. package/dist/SetDefaultSession/SetDefaultSession.js +64 -0
  39. package/dist/SetDefaultSession/SetDefaultSession.test.js +75 -0
  40. package/dist/SetDefaultSession/index.js +15 -0
  41. package/dist/index.js +159 -6
  42. package/dist/index.test.js +56 -0
  43. package/dist/plugin-data-management.cjs.development.js +29 -23
  44. package/dist/plugin-data-management.cjs.development.js.map +1 -1
  45. package/dist/plugin-data-management.cjs.production.min.js +1 -1
  46. package/dist/plugin-data-management.cjs.production.min.js.map +1 -1
  47. package/dist/plugin-data-management.esm.js +29 -23
  48. package/dist/plugin-data-management.esm.js.map +1 -1
  49. package/dist/ucsc-trackhub/configSchema.js +30 -0
  50. package/dist/ucsc-trackhub/index.js +23 -0
  51. package/dist/ucsc-trackhub/model.js +130 -0
  52. package/dist/ucsc-trackhub/ucscAssemblies.js +13 -0
  53. package/dist/ucsc-trackhub/ucscTrackHub.js +503 -0
  54. package/package.json +3 -6
  55. package/src/AddConnectionWidget/components/AddConnectionWidget.test.js +1 -0
  56. package/src/AddTrackWidget/components/AddTrackWidget.test.js +1 -0
  57. package/src/AddTrackWidget/components/AddTrackWidget.tsx +1 -1
  58. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.js +94 -89
  59. package/src/HierarchicalTrackSelectorWidget/components/HierarchicalTrackSelector.test.js +1 -0
  60. package/src/HierarchicalTrackSelectorWidget/components/__snapshots__/HierarchicalTrackSelector.test.js.snap +2 -2
  61. package/src/PluginStoreWidget/components/CustomPluginForm.tsx +1 -1
  62. package/src/PluginStoreWidget/components/InstalledPlugin.tsx +4 -2
  63. package/src/PluginStoreWidget/components/PluginCard.tsx +4 -2
  64. package/src/PluginStoreWidget/components/PluginStoreWidget.test.js +1 -0
  65. package/src/PluginStoreWidget/model.test.js +1 -0
  66. package/src/SetDefaultSession/SetDefaultSession.tsx +4 -3
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _models = require("@jbrowse/core/pluggableElementTypes/models");
9
+
10
+ var _configuration = require("@jbrowse/core/configuration");
11
+
12
+ var _default = (0, _configuration.ConfigurationSchema)('UCSCTrackHubConnection', {
13
+ hubTxtLocation: {
14
+ type: 'fileLocation',
15
+ defaultValue: {
16
+ uri: 'http://mysite.com/path/to/hub.txt',
17
+ locationType: 'UriLocation'
18
+ },
19
+ description: 'location of the hub file (usually called hub.txt)'
20
+ },
21
+ assemblyNames: {
22
+ type: 'stringArray',
23
+ defaultValue: [],
24
+ description: 'optional list of genomes to import from this track hub, if empty all genomes will be imported'
25
+ }
26
+ }, {
27
+ baseConfiguration: _models.baseConnectionConfig
28
+ });
29
+
30
+ exports["default"] = _default;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "configSchema", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _configSchema["default"];
12
+ }
13
+ });
14
+ Object.defineProperty(exports, "modelFactory", {
15
+ enumerable: true,
16
+ get: function get() {
17
+ return _model["default"];
18
+ }
19
+ });
20
+
21
+ var _model = _interopRequireDefault(require("./model"));
22
+
23
+ var _configSchema = _interopRequireDefault(require("./configSchema"));
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = UCSCTrackHubConnection;
9
+
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+
12
+ var _models = require("@jbrowse/core/pluggableElementTypes/models");
13
+
14
+ var _configuration = require("@jbrowse/core/configuration");
15
+
16
+ var _util = require("@jbrowse/core/util");
17
+
18
+ var _mobxStateTree = require("mobx-state-tree");
19
+
20
+ var _configSchema = _interopRequireDefault(require("./configSchema"));
21
+
22
+ var _ucscTrackHub = require("./ucscTrackHub");
23
+
24
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
25
+
26
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
27
+
28
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
29
+
30
+ function UCSCTrackHubConnection(pluginManager) {
31
+ return _mobxStateTree.types.compose('UCSCTrackHubConnection', (0, _models.BaseConnectionModelFactory)(pluginManager), _mobxStateTree.types.model({
32
+ configuration: (0, _configuration.ConfigurationReference)(_configSchema["default"]),
33
+ type: _mobxStateTree.types.literal('UCSCTrackHubConnection')
34
+ }).actions(function (self) {
35
+ return {
36
+ connect: function connect() {
37
+ var connectionName = (0, _configuration.getConf)(self, 'name');
38
+ var hubFileLocation = (0, _configuration.getConf)(self, 'hubTxtLocation');
39
+ var session = (0, _util.getSession)(self);
40
+ (0, _ucscTrackHub.fetchHubFile)(hubFileLocation).then(function (hubFile) {
41
+ var genomesFileLocation = hubFileLocation.uri ? {
42
+ uri: new URL(hubFile.get('genomesFile'), hubFileLocation.uri).href,
43
+ locationType: 'UriLocation'
44
+ } : {
45
+ localPath: hubFile.get('genomesFile'),
46
+ locationType: 'LocalPathLocation'
47
+ };
48
+ return Promise.all([hubFile, (0, _ucscTrackHub.fetchGenomesFile)(genomesFileLocation)]);
49
+ }).then(function (_ref) {
50
+ var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
51
+ hubFile = _ref2[0],
52
+ genomesFile = _ref2[1];
53
+
54
+ var trackDbData = [];
55
+
56
+ var _iterator = _createForOfIteratorHelper(genomesFile),
57
+ _step;
58
+
59
+ try {
60
+ var _loop = function _loop() {
61
+ var _step$value = (0, _slicedToArray2["default"])(_step.value, 2),
62
+ genomeName = _step$value[0],
63
+ genome = _step$value[1];
64
+
65
+ var assemblyNames = (0, _configuration.getConf)(self, 'assemblyNames');
66
+
67
+ if (assemblyNames.length > 0 && !assemblyNames.includes(genomeName)) {
68
+ return "break";
69
+ }
70
+
71
+ var assemblyConf = session.assemblies.find(function (assembly) {
72
+ return (0, _configuration.readConfObject)(assembly, 'name') === genomeName;
73
+ });
74
+
75
+ if (!assemblyConf) {
76
+ throw new Error("Cannot find assembly for \"".concat(genomeName, "\" from the genomes file for connection \"").concat(connectionName, "\""));
77
+ }
78
+
79
+ var trackDbFileLocation = hubFileLocation.uri ? {
80
+ uri: new URL(genome.get('trackDb'), new URL(hubFile.get('genomesFile'), hubFileLocation.uri)).href,
81
+ locationType: 'UriLocation'
82
+ } : {
83
+ localPath: genome.get('trackDb'),
84
+ locationType: 'LocalPathLocation'
85
+ };
86
+ trackDbData.push(Promise.all([trackDbFileLocation, (0, _ucscTrackHub.fetchTrackDbFile)(trackDbFileLocation), genomeName, assemblyConf]));
87
+ };
88
+
89
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
90
+ var _ret = _loop();
91
+
92
+ if (_ret === "break") break;
93
+ }
94
+ } catch (err) {
95
+ _iterator.e(err);
96
+ } finally {
97
+ _iterator.f();
98
+ }
99
+
100
+ return Promise.all([].concat(trackDbData));
101
+ }).then(function (trackDbData) {
102
+ var _iterator2 = _createForOfIteratorHelper(trackDbData),
103
+ _step2;
104
+
105
+ try {
106
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
107
+ var _step2$value = (0, _slicedToArray2["default"])(_step2.value, 4),
108
+ trackDbFileLocation = _step2$value[0],
109
+ trackDbFile = _step2$value[1],
110
+ genomeName = _step2$value[2],
111
+ assemblyConf = _step2$value[3];
112
+
113
+ var sequenceAdapter = (0, _configuration.readConfObject)(assemblyConf, ['sequence', 'adapter']);
114
+ var tracks = (0, _ucscTrackHub.generateTracks)(trackDbFile, trackDbFileLocation, genomeName, sequenceAdapter);
115
+ self.addTrackConfs(tracks);
116
+ }
117
+ } catch (err) {
118
+ _iterator2.e(err);
119
+ } finally {
120
+ _iterator2.f();
121
+ }
122
+ })["catch"](function (error) {
123
+ console.error(error);
124
+ session.notify("There was a problem connecting to the UCSC Track Hub \"".concat(self.name, "\". Please make sure you have entered a valid hub.txt file. The error that was thrown is: \"").concat(error, "\""), 'error');
125
+ session.breakConnection(self.configuration);
126
+ });
127
+ }
128
+ };
129
+ }));
130
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ // These are the assemblies for which there is a sequence file located at
9
+ // http://hgdownload.soe.ucsc.edu/goldenPath/${assemblyName}/bigZips/${assemblyName}.2bit
10
+ // This list was generated by `getUcscAssemblies.js`
11
+ var _default = "ailMel1\nallMis1\nanoCar1\nanoCar2\nanoGam1\nanoGam3\napiMel1\napiMel2\naplCal1\naptMan1\naquChr2\nbalAcu1\nbisBis1\nbosTau2\nbosTau3\nbosTau4\nbosTau6\nbosTau7\nbosTau8\nbraFlo1\ncaeJap1\ncaePb1\ncaePb2\ncaeRem2\ncaeRem3\ncalJac1\ncalJac3\ncalMil1\ncanFam1\ncanFam3\ncavPor3\ncb3\nce10\nce11\nce2\nce4\nce6\ncerSim1\nchlSab2\nchoHof1\nchrPic1\nci1\nci2\nci3\ncriGri1\ncriGriChoV1\ndanRer10\ndanRer11\ndanRer3\ndanRer4\ndanRer5\ndanRer6\ndanRer7\ndasNov3\ndipOrd1\ndm1\ndm2\ndm3\ndm6\ndp2\ndp3\ndroAna1\ndroAna2\ndroEre1\ndroGri1\ndroMoj1\ndroMoj2\ndroPer1\ndroSec1\ndroSim1\ndroVir1\ndroVir2\ndroYak1\ndroYak2\neboVir3\nechTel1\nechTel2\nequCab1\nequCab2\neriEur1\neriEur2\nfelCat3\nfelCat4\nfelCat5\nfelCat8\nfr1\nfr2\nfr3\ngadMor1\ngalGal2\ngalGal3\ngalGal4\ngalGal5\ngalGal6\ngalVar1\ngasAcu1\ngeoFor1\ngorGor3\ngorGor4\ngorGor5\nhetGla1\nhetGla2\nhg16\nhg18\nhg19\nhg38\nlatCha1\nloxAfr3\nmacEug2\nmacFas5\nmanPen1\nmelGal1\nmelGal5\nmelUnd1\nmicMur1\nmicMur2\nmm10\nmm7\nmm8\nmm9\nmonDom2\nmonDom4\nmonDom5\nmusFur1\nmyoLuc2\nnanPar1\nnasLar1\nnomLeu1\nnomLeu2\nnomLeu3\nochPri2\nochPri3\noreNil2\nornAna1\nornAna2\noryCun2\noryLat2\notoGar3\noviAri1\noviAri3\noviAri4\npanPan1\npanPan2\npanTro1\npanTro2\npanTro3\npanTro4\npanTro5\npanTro6\npapAnu2\npapHam1\npetMar1\npetMar2\nponAbe2\nponAbe3\npriPac1\nproCap1\npteVam1\nrheMac2\nrheMac3\nrheMac8\nrhiRox1\nrn4\nrn5\nrn6\nsacCer1\nsacCer2\nsacCer3\nsaiBol1\nsarHar1\nsorAra1\nsorAra2\nspeTri2\nstrPur1\nstrPur2\nsusScr11\nsusScr2\nsusScr3\ntaeGut1\ntaeGut2\ntarSyr1\ntarSyr2\ntetNig1\ntetNig2\nthaSir1\ntriMan1\ntupBel1\nturTru2\nventer1\nvicPac1\nvicPac2\nxenLae2\nxenTro1\nxenTro2\nxenTro3\nxenTro7\nxenTro9".split(/\r?\n/);
12
+
13
+ exports["default"] = _default;