jbrowse-plugin-msaview 1.0.17 → 2.0.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 (147) hide show
  1. package/CHANGELOG.md +10 -4
  2. package/README.md +6 -4
  3. package/dist/AddHighlightModel/GenomeMouseoverHighlight.d.ts +6 -0
  4. package/dist/AddHighlightModel/GenomeMouseoverHighlight.js +30 -0
  5. package/dist/AddHighlightModel/GenomeMouseoverHighlight.js.map +1 -0
  6. package/dist/AddHighlightModel/HighlightComponents.d.ts +7 -0
  7. package/dist/AddHighlightModel/HighlightComponents.js +12 -0
  8. package/dist/AddHighlightModel/HighlightComponents.js.map +1 -0
  9. package/dist/AddHighlightModel/MsaToGenomeHighlight.d.ts +7 -0
  10. package/dist/AddHighlightModel/MsaToGenomeHighlight.js +26 -0
  11. package/dist/AddHighlightModel/MsaToGenomeHighlight.js.map +1 -0
  12. package/dist/AddHighlightModel/index.d.ts +2 -0
  13. package/dist/AddHighlightModel/index.js +14 -0
  14. package/dist/AddHighlightModel/index.js.map +1 -0
  15. package/dist/AddHighlightModel/util.d.ts +9 -0
  16. package/dist/AddHighlightModel/util.js +14 -0
  17. package/dist/AddHighlightModel/util.js.map +1 -0
  18. package/dist/LaunchMsaView/components/LaunchMsaViewDialog.d.ts +7 -0
  19. package/dist/LaunchMsaView/components/LaunchMsaViewDialog.js +20 -0
  20. package/dist/LaunchMsaView/components/LaunchMsaViewDialog.js.map +1 -0
  21. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/NcbiBlastPanel.d.ts +8 -0
  22. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/NcbiBlastPanel.js +76 -0
  23. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/NcbiBlastPanel.js.map +1 -0
  24. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/calculateProteinSequence.d.ts +26 -0
  25. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/calculateProteinSequence.js +48 -0
  26. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/calculateProteinSequence.js.map +1 -0
  27. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/index.d.ts +2 -0
  28. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/index.js +3 -0
  29. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/index.js.map +1 -0
  30. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/ncbiBlastLaunchView.d.ts +8 -0
  31. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/ncbiBlastLaunchView.js +17 -0
  32. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/ncbiBlastLaunchView.js.map +1 -0
  33. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/useFeatureSequence.d.ts +20 -0
  34. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/useFeatureSequence.js +64 -0
  35. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/useFeatureSequence.js.map +1 -0
  36. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/util.d.ts +5 -0
  37. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/util.js +7 -0
  38. package/dist/LaunchMsaView/components/NewNCBIBlastQuery/util.js.map +1 -0
  39. package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.d.ts +8 -0
  40. package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js +90 -0
  41. package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js.map +1 -0
  42. package/dist/LaunchMsaView/components/PreLoadedMSA/fetchGeneList.d.ts +1 -0
  43. package/dist/LaunchMsaView/components/PreLoadedMSA/fetchGeneList.js +12 -0
  44. package/dist/LaunchMsaView/components/PreLoadedMSA/fetchGeneList.js.map +1 -0
  45. package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.d.ts +9 -0
  46. package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.js +36 -0
  47. package/dist/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.js.map +1 -0
  48. package/dist/LaunchMsaView/components/TabUtils.d.ts +12 -0
  49. package/dist/LaunchMsaView/components/TabUtils.js +13 -0
  50. package/dist/LaunchMsaView/components/TabUtils.js.map +1 -0
  51. package/dist/LaunchMsaView/index.d.ts +2 -0
  52. package/dist/LaunchMsaView/index.js +50 -0
  53. package/dist/LaunchMsaView/index.js.map +1 -0
  54. package/dist/LaunchMsaView/util.d.ts +5 -0
  55. package/dist/LaunchMsaView/util.js +25 -0
  56. package/dist/LaunchMsaView/util.js.map +1 -0
  57. package/dist/MsaViewPanel/components/LoadingBLAST.d.ts +6 -0
  58. package/dist/MsaViewPanel/components/LoadingBLAST.js +36 -0
  59. package/dist/MsaViewPanel/components/LoadingBLAST.js.map +1 -0
  60. package/dist/MsaViewPanel/components/MsaViewPanel.d.ts +6 -0
  61. package/dist/MsaViewPanel/components/MsaViewPanel.js +10 -0
  62. package/dist/MsaViewPanel/components/MsaViewPanel.js.map +1 -0
  63. package/dist/MsaViewPanel/components/RIDLink.d.ts +5 -0
  64. package/dist/MsaViewPanel/components/RIDLink.js +17 -0
  65. package/dist/MsaViewPanel/components/RIDLink.js.map +1 -0
  66. package/dist/MsaViewPanel/doLaunchBlast.d.ts +7 -0
  67. package/dist/MsaViewPanel/doLaunchBlast.js +27 -0
  68. package/dist/MsaViewPanel/doLaunchBlast.js.map +1 -0
  69. package/dist/MsaViewPanel/genomeToMSA.d.ts +4 -0
  70. package/dist/MsaViewPanel/genomeToMSA.js +18 -0
  71. package/dist/MsaViewPanel/genomeToMSA.js.map +1 -0
  72. package/dist/MsaViewPanel/index.d.ts +2 -0
  73. package/dist/MsaViewPanel/index.js +16 -0
  74. package/dist/MsaViewPanel/index.js.map +1 -0
  75. package/dist/MsaViewPanel/model.d.ts +596 -0
  76. package/dist/MsaViewPanel/model.js +235 -0
  77. package/dist/MsaViewPanel/model.js.map +1 -0
  78. package/dist/MsaViewPanel/msaCoordToGenomeCoord.d.ts +9 -0
  79. package/dist/MsaViewPanel/msaCoordToGenomeCoord.js +20 -0
  80. package/dist/MsaViewPanel/msaCoordToGenomeCoord.js.map +1 -0
  81. package/dist/MsaViewPanel/util.d.ts +8 -0
  82. package/dist/MsaViewPanel/util.js +7 -0
  83. package/dist/MsaViewPanel/util.js.map +1 -0
  84. package/dist/OpenInNewIcon.d.ts +3 -0
  85. package/dist/OpenInNewIcon.js +8 -0
  86. package/dist/OpenInNewIcon.js.map +1 -0
  87. package/dist/TextField2.d.ts +4 -0
  88. package/dist/TextField2.js +8 -0
  89. package/dist/TextField2.js.map +1 -0
  90. package/dist/index.d.ts +8 -8
  91. package/dist/index.js +32 -7
  92. package/dist/index.js.map +1 -0
  93. package/dist/jbrowse-plugin-msaview.umd.production.min.js +109 -1
  94. package/dist/jbrowse-plugin-msaview.umd.production.min.js.map +7 -1
  95. package/dist/utils/fetch.d.ts +4 -0
  96. package/dist/utils/fetch.js +19 -0
  97. package/dist/utils/fetch.js.map +1 -0
  98. package/dist/utils/msa.d.ts +8 -0
  99. package/dist/utils/msa.js +75 -0
  100. package/dist/utils/msa.js.map +1 -0
  101. package/dist/utils/ncbiBlast.d.ts +20 -0
  102. package/dist/utils/ncbiBlast.js +66 -0
  103. package/dist/utils/ncbiBlast.js.map +1 -0
  104. package/package.json +51 -40
  105. package/src/AddHighlightModel/GenomeMouseoverHighlight.tsx +44 -0
  106. package/src/AddHighlightModel/HighlightComponents.tsx +24 -0
  107. package/src/AddHighlightModel/MsaToGenomeHighlight.tsx +50 -0
  108. package/src/AddHighlightModel/index.tsx +27 -0
  109. package/src/AddHighlightModel/util.ts +14 -0
  110. package/src/LaunchMsaView/components/LaunchMsaViewDialog.tsx +52 -0
  111. package/src/LaunchMsaView/components/NewNCBIBlastQuery/NcbiBlastPanel.tsx +160 -0
  112. package/src/LaunchMsaView/components/NewNCBIBlastQuery/calculateProteinSequence.ts +92 -0
  113. package/src/LaunchMsaView/components/NewNCBIBlastQuery/index.tsx +2 -0
  114. package/src/LaunchMsaView/components/NewNCBIBlastQuery/ncbiBlastLaunchView.ts +28 -0
  115. package/src/LaunchMsaView/components/NewNCBIBlastQuery/useFeatureSequence.ts +85 -0
  116. package/src/LaunchMsaView/components/NewNCBIBlastQuery/util.ts +7 -0
  117. package/src/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.tsx +149 -0
  118. package/src/LaunchMsaView/components/PreLoadedMSA/fetchGeneList.ts +13 -0
  119. package/src/LaunchMsaView/components/PreLoadedMSA/preCalculatedLaunchView.ts +54 -0
  120. package/src/LaunchMsaView/components/TabUtils.tsx +30 -0
  121. package/src/LaunchMsaView/index.ts +61 -0
  122. package/src/LaunchMsaView/util.ts +30 -0
  123. package/src/MsaViewPanel/components/LoadingBLAST.tsx +59 -0
  124. package/src/MsaViewPanel/components/MsaViewPanel.tsx +22 -0
  125. package/src/MsaViewPanel/components/RIDLink.tsx +18 -0
  126. package/src/MsaViewPanel/doLaunchBlast.ts +38 -0
  127. package/src/MsaViewPanel/genomeToMSA.ts +21 -0
  128. package/src/MsaViewPanel/index.ts +19 -0
  129. package/src/MsaViewPanel/model.ts +290 -0
  130. package/src/MsaViewPanel/msaCoordToGenomeCoord.ts +29 -0
  131. package/src/MsaViewPanel/util.ts +13 -0
  132. package/src/OpenInNewIcon.tsx +11 -0
  133. package/src/TextField2.tsx +12 -0
  134. package/src/index.ts +12 -14
  135. package/src/utils/fetch.ts +25 -0
  136. package/src/utils/msa.ts +111 -0
  137. package/src/utils/ncbiBlast.ts +105 -0
  138. package/dist/config.json +0 -8
  139. package/dist/jbrowse-plugin-msaview.cjs.development.js +0 -168
  140. package/dist/jbrowse-plugin-msaview.cjs.development.js.map +0 -1
  141. package/dist/jbrowse-plugin-msaview.cjs.production.min.js +0 -2
  142. package/dist/jbrowse-plugin-msaview.cjs.production.min.js.map +0 -1
  143. package/dist/jbrowse-plugin-msaview.esm.js +0 -163
  144. package/dist/jbrowse-plugin-msaview.esm.js.map +0 -1
  145. package/dist/jbrowse-plugin-msaview.umd.development.js +0 -8641
  146. package/dist/jbrowse-plugin-msaview.umd.development.js.map +0 -1
  147. package/src/index.test.ts +0 -3
@@ -0,0 +1,111 @@
1
+ import { textfetch, timeout } from './fetch'
2
+
3
+ const base = `https://www.ebi.ac.uk/Tools/services/rest`
4
+
5
+ async function runClustalOmega({
6
+ sequence,
7
+ onProgress,
8
+ }: {
9
+ sequence: string
10
+ onProgress: (arg: string) => void
11
+ }) {
12
+ const jobId = await textfetch(`${base}/clustalo/run`, {
13
+ method: 'POST',
14
+ body: new URLSearchParams({
15
+ email: 'colin.diesh@gmail.com',
16
+ sequence,
17
+ }),
18
+ })
19
+ await wait({ jobId, algorithm: 'clustalo', onProgress })
20
+ return {
21
+ msa: await textfetch(`${base}/clustalo/result/${jobId}/aln-clustal_num`),
22
+ tree: await textfetch(`${base}/clustalo/result/${jobId}/phylotree`),
23
+ }
24
+ }
25
+
26
+ async function runMuscle({
27
+ sequence,
28
+ onProgress,
29
+ }: {
30
+ sequence: string
31
+ onProgress: (arg: string) => void
32
+ }) {
33
+ const jobId = await textfetch(`${base}/muscle/run`, {
34
+ method: 'POST',
35
+ body: new URLSearchParams({
36
+ email: 'colin.diesh@gmail.com',
37
+ format: 'clw',
38
+ tree: 'tree1',
39
+ sequence,
40
+ }),
41
+ })
42
+ await wait({ jobId, algorithm: 'muscle', onProgress })
43
+ return {
44
+ msa: await textfetch(`${base}/muscle/result/${jobId}/fa`),
45
+ tree: await textfetch(`${base}/muscle/result/${jobId}/phylotree`),
46
+ }
47
+ }
48
+
49
+ async function runKalign({
50
+ sequence,
51
+ onProgress,
52
+ }: {
53
+ sequence: string
54
+ onProgress: (arg: string) => void
55
+ }) {
56
+ const jobId = await textfetch(`${base}/kalign/run`, {
57
+ method: 'POST',
58
+ body: new URLSearchParams({
59
+ email: 'colin.diesh@gmail.com',
60
+ stype: 'protein',
61
+ sequence,
62
+ }),
63
+ })
64
+ await wait({ jobId, algorithm: 'kalign', onProgress })
65
+ return {
66
+ msa: await textfetch(`${base}/kalign/result/${jobId}/fa`),
67
+ tree: await textfetch(`${base}/kalign/result/${jobId}/phylotree`),
68
+ }
69
+ }
70
+ async function wait({
71
+ onProgress,
72
+ jobId,
73
+ algorithm,
74
+ }: {
75
+ jobId: string
76
+ algorithm: string
77
+ onProgress: (arg: string) => void
78
+ }) {
79
+ while (true) {
80
+ for (let i = 0; i < 10; i++) {
81
+ await timeout(1000)
82
+ onProgress(`Re-checking MSA status in... ${10 - i}`)
83
+ }
84
+ const result = await textfetch(`${base}/${algorithm}/status/${jobId}`)
85
+
86
+ if (result === 'FINISHED') {
87
+ break
88
+ }
89
+ }
90
+ }
91
+
92
+ export async function launchMSA({
93
+ algorithm,
94
+ sequence,
95
+ onProgress,
96
+ }: {
97
+ algorithm: string
98
+ sequence: string
99
+ onProgress: (arg: string) => void
100
+ }) {
101
+ onProgress(`Launching ${algorithm} MSA...`)
102
+ if (algorithm === 'clustalo') {
103
+ return runClustalOmega({ sequence, onProgress })
104
+ } else if (algorithm === 'muscle') {
105
+ return runMuscle({ sequence, onProgress })
106
+ } else if (algorithm === 'kalign') {
107
+ return runKalign({ sequence, onProgress })
108
+ } else {
109
+ throw new Error('unknown algorithm')
110
+ }
111
+ }
@@ -0,0 +1,105 @@
1
+ import { jsonfetch, textfetch, timeout } from './fetch'
2
+
3
+ export const BLAST_URL = `https://blast.ncbi.nlm.nih.gov/blast/Blast.cgi`
4
+
5
+ export async function queryBlast({
6
+ query,
7
+ blastDatabase,
8
+ blastProgram,
9
+ onProgress,
10
+ onRid,
11
+ }: {
12
+ query: string
13
+ blastDatabase: string
14
+ blastProgram: string
15
+ onProgress: (arg: string) => void
16
+ onRid: (arg: string) => void
17
+ }) {
18
+ onProgress('Submitting to NCBI BLAST...')
19
+ const { rid } = await initialQuery({
20
+ query,
21
+ blastDatabase,
22
+ blastProgram,
23
+ })
24
+ onRid(rid)
25
+ await waitForRid({ rid, onProgress })
26
+ const ret = await jsonfetch(
27
+ `${BLAST_URL}?CMD=Get&RID=${rid}&FORMAT_TYPE=JSON2_S&FORMAT_OBJECT=Alignment`,
28
+ )
29
+ const hits = ret.BlastOutput2[0].report.results.search.hits as {
30
+ description: { accession: string; id: string; sciname: string }[]
31
+ hsps: { hseq: string }[]
32
+ }[]
33
+
34
+ return { rid, hits }
35
+ }
36
+
37
+ async function initialQuery({
38
+ query,
39
+ blastProgram,
40
+ blastDatabase,
41
+ }: {
42
+ query: string
43
+ blastProgram: string
44
+ blastDatabase: string
45
+ }) {
46
+ const res = await textfetch(BLAST_URL, {
47
+ method: 'POST',
48
+ body: new URLSearchParams({
49
+ CMD: 'Put',
50
+ PROGRAM: blastProgram,
51
+ DATABASE: blastDatabase,
52
+ QUERY: query,
53
+ ...(blastDatabase === 'nr_clustered_seq'
54
+ ? {
55
+ CLUSTERED_DB: 'on',
56
+ DB_TYPE: 'Experimental Databases',
57
+ }
58
+ : {}),
59
+ }),
60
+ })
61
+
62
+ // the initial submission/query to the BLAST "REST API" does not return JSON
63
+ // as a response (e.g. FORMAT_TYPE=JSON does not work), so the RID is
64
+ // literally parsed from the text of the HTML that is returned
65
+ const rid = res.match(/^ RID = (.*$)/m)?.[1]
66
+ const rtoe = res.match(/^ RTOE = (.*$)/m)?.[1]
67
+
68
+ if (!rid) {
69
+ throw new Error('Failed to get RID from BLAST request')
70
+ }
71
+ return { rid, rtoe }
72
+ }
73
+
74
+ async function waitForRid({
75
+ rid,
76
+ onProgress,
77
+ }: {
78
+ rid: string
79
+ onProgress: (arg: string) => void
80
+ }) {
81
+ while (true) {
82
+ const iter = 20
83
+ for (let i = 0; i < iter; i++) {
84
+ await timeout(1000)
85
+ onProgress(`Re-checking BLAST status in... ${iter - i}`)
86
+ }
87
+
88
+ const res = await textfetch(
89
+ `${BLAST_URL}?CMD=Get&FORMAT_OBJECT=SearchInfo&RID=${rid}`,
90
+ )
91
+ if (res.match(/\s+Status=WAITING/m)) {
92
+ continue
93
+ } else if (res.match(/\s+Status=FAILED/m)) {
94
+ throw new Error(
95
+ `BLAST ${rid} failed; please report to blast-help@ncbi.nlm.nih.gov`,
96
+ )
97
+ } else if (res.match(/\s+Status=READY/m)) {
98
+ if (res.match(/\s+ThereAreHits=yes/m)) {
99
+ return true
100
+ } else {
101
+ throw new Error('No hits found')
102
+ }
103
+ }
104
+ }
105
+ }
package/dist/config.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "plugins": [
3
- {
4
- "name": "MsaView",
5
- "url": "https://unpkg.com/jbrowse-plugin-msaview/dist/jbrowse-plugin-msaview.umd.production.min.js"
6
- }
7
- ]
8
- }
@@ -1,168 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
-
7
- var Plugin = _interopDefault(require('@jbrowse/core/Plugin'));
8
- var util = require('@jbrowse/core/util');
9
- var MSA = require('react-msaview');
10
- var ViewType = _interopDefault(require('@jbrowse/core/pluggableElementTypes/ViewType'));
11
- var GridOn = _interopDefault(require('@material-ui/icons/GridOn'));
12
-
13
- function _classCallCheck(instance, Constructor) {
14
- if (!(instance instanceof Constructor)) {
15
- throw new TypeError("Cannot call a class as a function");
16
- }
17
- }
18
-
19
- function _defineProperties(target, props) {
20
- for (var i = 0; i < props.length; i++) {
21
- var descriptor = props[i];
22
- descriptor.enumerable = descriptor.enumerable || false;
23
- descriptor.configurable = true;
24
- if ("value" in descriptor) descriptor.writable = true;
25
- Object.defineProperty(target, descriptor.key, descriptor);
26
- }
27
- }
28
-
29
- function _createClass(Constructor, protoProps, staticProps) {
30
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
31
- if (staticProps) _defineProperties(Constructor, staticProps);
32
- return Constructor;
33
- }
34
-
35
- function _inherits(subClass, superClass) {
36
- if (typeof superClass !== "function" && superClass !== null) {
37
- throw new TypeError("Super expression must either be null or a function");
38
- }
39
-
40
- subClass.prototype = Object.create(superClass && superClass.prototype, {
41
- constructor: {
42
- value: subClass,
43
- writable: true,
44
- configurable: true
45
- }
46
- });
47
- if (superClass) _setPrototypeOf(subClass, superClass);
48
- }
49
-
50
- function _getPrototypeOf(o) {
51
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
52
- return o.__proto__ || Object.getPrototypeOf(o);
53
- };
54
- return _getPrototypeOf(o);
55
- }
56
-
57
- function _setPrototypeOf(o, p) {
58
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
59
- o.__proto__ = p;
60
- return o;
61
- };
62
-
63
- return _setPrototypeOf(o, p);
64
- }
65
-
66
- function _isNativeReflectConstruct() {
67
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
68
- if (Reflect.construct.sham) return false;
69
- if (typeof Proxy === "function") return true;
70
-
71
- try {
72
- Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
73
- return true;
74
- } catch (e) {
75
- return false;
76
- }
77
- }
78
-
79
- function _assertThisInitialized(self) {
80
- if (self === void 0) {
81
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
82
- }
83
-
84
- return self;
85
- }
86
-
87
- function _possibleConstructorReturn(self, call) {
88
- if (call && (typeof call === "object" || typeof call === "function")) {
89
- return call;
90
- } else if (call !== void 0) {
91
- throw new TypeError("Derived constructors may only return object or undefined");
92
- }
93
-
94
- return _assertThisInitialized(self);
95
- }
96
-
97
- function _createSuper(Derived) {
98
- var hasNativeReflectConstruct = _isNativeReflectConstruct();
99
-
100
- return function _createSuperInternal() {
101
- var Super = _getPrototypeOf(Derived),
102
- result;
103
-
104
- if (hasNativeReflectConstruct) {
105
- var NewTarget = _getPrototypeOf(this).constructor;
106
-
107
- result = Reflect.construct(Super, arguments, NewTarget);
108
- } else {
109
- result = Super.apply(this, arguments);
110
- }
111
-
112
- return _possibleConstructorReturn(this, result);
113
- };
114
- }
115
-
116
- var version = "1.0.17";
117
-
118
- var MsaViewPlugin = /*#__PURE__*/function (_Plugin) {
119
- _inherits(MsaViewPlugin, _Plugin);
120
-
121
- var _super = /*#__PURE__*/_createSuper(MsaViewPlugin);
122
-
123
- function MsaViewPlugin() {
124
- var _this;
125
-
126
- _classCallCheck(this, MsaViewPlugin);
127
-
128
- _this = _super.apply(this, arguments);
129
- _this.name = 'MsaViewPlugin';
130
- _this.version = version;
131
- return _this;
132
- }
133
-
134
- _createClass(MsaViewPlugin, [{
135
- key: "install",
136
- value: function install(pluginManager) {
137
- console.log({
138
- MSA: MSA
139
- });
140
- pluginManager.addViewType(function () {
141
- return new ViewType({
142
- name: 'MsaView',
143
- //@ts-ignore
144
- stateModel: MSA.MSAModel,
145
- ReactComponent: MSA.MSAView
146
- });
147
- });
148
- }
149
- }, {
150
- key: "configure",
151
- value: function configure(pluginManager) {
152
- if (util.isAbstractMenuManager(pluginManager.rootModel)) {
153
- pluginManager.rootModel.appendToSubMenu(['Add'], {
154
- label: 'Multiple sequence alignment view',
155
- icon: GridOn,
156
- onClick: function onClick(session) {
157
- session.addView('MsaView', {});
158
- }
159
- });
160
- }
161
- }
162
- }]);
163
-
164
- return MsaViewPlugin;
165
- }(Plugin);
166
-
167
- exports.default = MsaViewPlugin;
168
- //# sourceMappingURL=jbrowse-plugin-msaview.cjs.development.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jbrowse-plugin-msaview.cjs.development.js","sources":["../src/index.ts"],"sourcesContent":["import Plugin from '@jbrowse/core/Plugin'\nimport PluginManager from '@jbrowse/core/PluginManager'\nimport { version } from '../package.json'\nimport { AbstractSessionModel, isAbstractMenuManager } from '@jbrowse/core/util'\nimport * as MSA from 'react-msaview'\nimport ViewType from '@jbrowse/core/pluggableElementTypes/ViewType'\nimport GridOn from '@material-ui/icons/GridOn'\n\nexport default class MsaViewPlugin extends Plugin {\n name = 'MsaViewPlugin'\n version = version\n\n install(pluginManager: PluginManager) {\n console.log({ MSA })\n pluginManager.addViewType(\n () =>\n new ViewType({\n name: 'MsaView',\n //@ts-ignore\n stateModel: MSA.MSAModel,\n ReactComponent: MSA.MSAView,\n }),\n )\n }\n\n configure(pluginManager: PluginManager) {\n if (isAbstractMenuManager(pluginManager.rootModel)) {\n pluginManager.rootModel.appendToSubMenu(['Add'], {\n label: 'Multiple sequence alignment view',\n icon: GridOn,\n onClick: (session: AbstractSessionModel) => {\n session.addView('MsaView', {})\n },\n })\n }\n }\n}\n"],"names":["MsaViewPlugin","version","pluginManager","console","log","MSA","addViewType","ViewType","name","stateModel","ReactComponent","isAbstractMenuManager","rootModel","appendToSubMenu","label","icon","GridOn","onClick","session","addView","Plugin"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQqBA;;;;;AAArB;;;;;;AACE,cAAA,GAAO,eAAP;AACA,iBAAA,GAAUC,OAAV;;AA0BD;;;;WAxBC,iBAAQC,aAAR;AACEC,MAAAA,OAAO,CAACC,GAAR,CAAY;AAAEC,QAAAA,GAAG,EAAHA;AAAF,OAAZ;AACAH,MAAAA,aAAa,CAACI,WAAd,CACE;AAAA,eACE,IAAIC,QAAJ,CAAa;AACXC,UAAAA,IAAI,EAAE,SADK;AAEX;AACAC,UAAAA,UAAU,EAAEJ,YAHD;AAIXK,UAAAA,cAAc,EAAEL;AAJL,SAAb,CADF;AAAA,OADF;AASD;;;WAED,mBAAUH,aAAV;AACE,UAAIS,0BAAqB,CAACT,aAAa,CAACU,SAAf,CAAzB,EAAoD;AAClDV,QAAAA,aAAa,CAACU,SAAd,CAAwBC,eAAxB,CAAwC,CAAC,KAAD,CAAxC,EAAiD;AAC/CC,UAAAA,KAAK,EAAE,kCADwC;AAE/CC,UAAAA,IAAI,EAAEC,MAFyC;AAG/CC,UAAAA,OAAO,EAAE,iBAACC,OAAD;AACPA,YAAAA,OAAO,CAACC,OAAR,CAAgB,SAAhB,EAA2B,EAA3B;AACD;AAL8C,SAAjD;AAOD;AACF;;;;EA3BwCC;;;;"}
@@ -1,2 +0,0 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("@jbrowse/core/Plugin")),n=require("@jbrowse/core/util"),r=require("react-msaview"),o=e(require("@jbrowse/core/pluggableElementTypes/ViewType")),i=e(require("@material-ui/icons/GridOn"));function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function a(e,t){return(a=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function l(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=c(e);if(t){var o=c(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return f(this,n)}}exports.default=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&a(e,t)}(s,t);var c,f=l(s);function s(){var e;return u(this,s),(e=f.apply(this,arguments)).name="MsaViewPlugin",e.version="1.0.17",e}return(c=[{key:"install",value:function(e){console.log({MSA:r}),e.addViewType((function(){return new o({name:"MsaView",stateModel:r.MSAModel,ReactComponent:r.MSAView})}))}},{key:"configure",value:function(e){n.isAbstractMenuManager(e.rootModel)&&e.rootModel.appendToSubMenu(["Add"],{label:"Multiple sequence alignment view",icon:i,onClick:function(e){e.addView("MsaView",{})}})}}])&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(s.prototype,c),s}();
2
- //# sourceMappingURL=jbrowse-plugin-msaview.cjs.production.min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jbrowse-plugin-msaview.cjs.production.min.js","sources":["../src/index.ts"],"sourcesContent":["import Plugin from '@jbrowse/core/Plugin'\nimport PluginManager from '@jbrowse/core/PluginManager'\nimport { version } from '../package.json'\nimport { AbstractSessionModel, isAbstractMenuManager } from '@jbrowse/core/util'\nimport * as MSA from 'react-msaview'\nimport ViewType from '@jbrowse/core/pluggableElementTypes/ViewType'\nimport GridOn from '@material-ui/icons/GridOn'\n\nexport default class MsaViewPlugin extends Plugin {\n name = 'MsaViewPlugin'\n version = version\n\n install(pluginManager: PluginManager) {\n console.log({ MSA })\n pluginManager.addViewType(\n () =>\n new ViewType({\n name: 'MsaView',\n //@ts-ignore\n stateModel: MSA.MSAModel,\n ReactComponent: MSA.MSAView,\n }),\n )\n }\n\n configure(pluginManager: PluginManager) {\n if (isAbstractMenuManager(pluginManager.rootModel)) {\n pluginManager.rootModel.appendToSubMenu(['Add'], {\n label: 'Multiple sequence alignment view',\n icon: GridOn,\n onClick: (session: AbstractSessionModel) => {\n session.addView('MsaView', {})\n },\n })\n }\n }\n}\n"],"names":["Plugin","pluginManager","console","log","MSA","addViewType","ViewType","name","stateModel","ReactComponent","isAbstractMenuManager","rootModel","appendToSubMenu","label","icon","GridOn","onClick","session","addView"],"mappings":"qmDAQ2CA,qFAClC,oEAGP,SAAQC,GACNC,QAAQC,IAAI,CAAEC,IAAAA,IACdH,EAAcI,aACZ,kBACE,IAAIC,EAAS,CACXC,KAAM,UAENC,WAAYJ,WACZK,eAAgBL,wCAKxB,SAAUH,GACJS,wBAAsBT,EAAcU,YACtCV,EAAcU,UAAUC,gBAAgB,CAAC,OAAQ,CAC/CC,MAAO,mCACPC,KAAMC,EACNC,QAAS,SAACC,GACRA,EAAQC,QAAQ,UAAW"}
@@ -1,163 +0,0 @@
1
- import Plugin from '@jbrowse/core/Plugin';
2
- import { isAbstractMenuManager } from '@jbrowse/core/util';
3
- import * as MSA from 'react-msaview';
4
- import { MSAModel, MSAView } from 'react-msaview';
5
- import ViewType from '@jbrowse/core/pluggableElementTypes/ViewType';
6
- import GridOn from '@material-ui/icons/GridOn';
7
-
8
- function _classCallCheck(instance, Constructor) {
9
- if (!(instance instanceof Constructor)) {
10
- throw new TypeError("Cannot call a class as a function");
11
- }
12
- }
13
-
14
- function _defineProperties(target, props) {
15
- for (var i = 0; i < props.length; i++) {
16
- var descriptor = props[i];
17
- descriptor.enumerable = descriptor.enumerable || false;
18
- descriptor.configurable = true;
19
- if ("value" in descriptor) descriptor.writable = true;
20
- Object.defineProperty(target, descriptor.key, descriptor);
21
- }
22
- }
23
-
24
- function _createClass(Constructor, protoProps, staticProps) {
25
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
26
- if (staticProps) _defineProperties(Constructor, staticProps);
27
- return Constructor;
28
- }
29
-
30
- function _inherits(subClass, superClass) {
31
- if (typeof superClass !== "function" && superClass !== null) {
32
- throw new TypeError("Super expression must either be null or a function");
33
- }
34
-
35
- subClass.prototype = Object.create(superClass && superClass.prototype, {
36
- constructor: {
37
- value: subClass,
38
- writable: true,
39
- configurable: true
40
- }
41
- });
42
- if (superClass) _setPrototypeOf(subClass, superClass);
43
- }
44
-
45
- function _getPrototypeOf(o) {
46
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
47
- return o.__proto__ || Object.getPrototypeOf(o);
48
- };
49
- return _getPrototypeOf(o);
50
- }
51
-
52
- function _setPrototypeOf(o, p) {
53
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
54
- o.__proto__ = p;
55
- return o;
56
- };
57
-
58
- return _setPrototypeOf(o, p);
59
- }
60
-
61
- function _isNativeReflectConstruct() {
62
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
63
- if (Reflect.construct.sham) return false;
64
- if (typeof Proxy === "function") return true;
65
-
66
- try {
67
- Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
68
- return true;
69
- } catch (e) {
70
- return false;
71
- }
72
- }
73
-
74
- function _assertThisInitialized(self) {
75
- if (self === void 0) {
76
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
77
- }
78
-
79
- return self;
80
- }
81
-
82
- function _possibleConstructorReturn(self, call) {
83
- if (call && (typeof call === "object" || typeof call === "function")) {
84
- return call;
85
- } else if (call !== void 0) {
86
- throw new TypeError("Derived constructors may only return object or undefined");
87
- }
88
-
89
- return _assertThisInitialized(self);
90
- }
91
-
92
- function _createSuper(Derived) {
93
- var hasNativeReflectConstruct = _isNativeReflectConstruct();
94
-
95
- return function _createSuperInternal() {
96
- var Super = _getPrototypeOf(Derived),
97
- result;
98
-
99
- if (hasNativeReflectConstruct) {
100
- var NewTarget = _getPrototypeOf(this).constructor;
101
-
102
- result = Reflect.construct(Super, arguments, NewTarget);
103
- } else {
104
- result = Super.apply(this, arguments);
105
- }
106
-
107
- return _possibleConstructorReturn(this, result);
108
- };
109
- }
110
-
111
- var version = "1.0.17";
112
-
113
- var MsaViewPlugin = /*#__PURE__*/function (_Plugin) {
114
- _inherits(MsaViewPlugin, _Plugin);
115
-
116
- var _super = /*#__PURE__*/_createSuper(MsaViewPlugin);
117
-
118
- function MsaViewPlugin() {
119
- var _this;
120
-
121
- _classCallCheck(this, MsaViewPlugin);
122
-
123
- _this = _super.apply(this, arguments);
124
- _this.name = 'MsaViewPlugin';
125
- _this.version = version;
126
- return _this;
127
- }
128
-
129
- _createClass(MsaViewPlugin, [{
130
- key: "install",
131
- value: function install(pluginManager) {
132
- console.log({
133
- MSA: MSA
134
- });
135
- pluginManager.addViewType(function () {
136
- return new ViewType({
137
- name: 'MsaView',
138
- //@ts-ignore
139
- stateModel: MSAModel,
140
- ReactComponent: MSAView
141
- });
142
- });
143
- }
144
- }, {
145
- key: "configure",
146
- value: function configure(pluginManager) {
147
- if (isAbstractMenuManager(pluginManager.rootModel)) {
148
- pluginManager.rootModel.appendToSubMenu(['Add'], {
149
- label: 'Multiple sequence alignment view',
150
- icon: GridOn,
151
- onClick: function onClick(session) {
152
- session.addView('MsaView', {});
153
- }
154
- });
155
- }
156
- }
157
- }]);
158
-
159
- return MsaViewPlugin;
160
- }(Plugin);
161
-
162
- export default MsaViewPlugin;
163
- //# sourceMappingURL=jbrowse-plugin-msaview.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jbrowse-plugin-msaview.esm.js","sources":["../src/index.ts"],"sourcesContent":["import Plugin from '@jbrowse/core/Plugin'\nimport PluginManager from '@jbrowse/core/PluginManager'\nimport { version } from '../package.json'\nimport { AbstractSessionModel, isAbstractMenuManager } from '@jbrowse/core/util'\nimport * as MSA from 'react-msaview'\nimport ViewType from '@jbrowse/core/pluggableElementTypes/ViewType'\nimport GridOn from '@material-ui/icons/GridOn'\n\nexport default class MsaViewPlugin extends Plugin {\n name = 'MsaViewPlugin'\n version = version\n\n install(pluginManager: PluginManager) {\n console.log({ MSA })\n pluginManager.addViewType(\n () =>\n new ViewType({\n name: 'MsaView',\n //@ts-ignore\n stateModel: MSA.MSAModel,\n ReactComponent: MSA.MSAView,\n }),\n )\n }\n\n configure(pluginManager: PluginManager) {\n if (isAbstractMenuManager(pluginManager.rootModel)) {\n pluginManager.rootModel.appendToSubMenu(['Add'], {\n label: 'Multiple sequence alignment view',\n icon: GridOn,\n onClick: (session: AbstractSessionModel) => {\n session.addView('MsaView', {})\n },\n })\n }\n }\n}\n"],"names":["MsaViewPlugin","version","pluginManager","console","log","MSA","addViewType","ViewType","name","stateModel","ReactComponent","isAbstractMenuManager","rootModel","appendToSubMenu","label","icon","GridOn","onClick","session","addView","Plugin"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQqBA;;;;;AAArB;;;;;;AACE,cAAA,GAAO,eAAP;AACA,iBAAA,GAAUC,OAAV;;AA0BD;;;;WAxBC,iBAAQC,aAAR;AACEC,MAAAA,OAAO,CAACC,GAAR,CAAY;AAAEC,QAAAA,GAAG,EAAHA;AAAF,OAAZ;AACAH,MAAAA,aAAa,CAACI,WAAd,CACE;AAAA,eACE,IAAIC,QAAJ,CAAa;AACXC,UAAAA,IAAI,EAAE,SADK;AAEX;AACAC,UAAAA,UAAU,EAAEJ,QAHD;AAIXK,UAAAA,cAAc,EAAEL;AAJL,SAAb,CADF;AAAA,OADF;AASD;;;WAED,mBAAUH,aAAV;AACE,UAAIS,qBAAqB,CAACT,aAAa,CAACU,SAAf,CAAzB,EAAoD;AAClDV,QAAAA,aAAa,CAACU,SAAd,CAAwBC,eAAxB,CAAwC,CAAC,KAAD,CAAxC,EAAiD;AAC/CC,UAAAA,KAAK,EAAE,kCADwC;AAE/CC,UAAAA,IAAI,EAAEC,MAFyC;AAG/CC,UAAAA,OAAO,EAAE,iBAACC,OAAD;AACPA,YAAAA,OAAO,CAACC,OAAR,CAAgB,SAAhB,EAA2B,EAA3B;AACD;AAL8C,SAAjD;AAOD;AACF;;;;EA3BwCC;;;;"}