jbrowse-plugin-gwas 2.1.1 → 2.2.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 (44) hide show
  1. package/README.md +1 -1
  2. package/dist/GWASAdapter/index.d.ts +2 -0
  3. package/dist/GWASAdapter/index.js +15 -0
  4. package/dist/GWASAdapter/index.js.map +1 -0
  5. package/dist/GWASAddTrackComponent/GWASAddTrackComponent.d.ts +3 -0
  6. package/dist/GWASAddTrackComponent/GWASAddTrackComponent.js +18 -0
  7. package/dist/GWASAddTrackComponent/GWASAddTrackComponent.js.map +1 -0
  8. package/dist/GWASAddTrackComponent/index.d.ts +2 -0
  9. package/dist/GWASAddTrackComponent/index.js +12 -0
  10. package/dist/GWASAddTrackComponent/index.js.map +1 -0
  11. package/dist/GWASTrack/configSchema.d.ts +84 -0
  12. package/dist/GWASTrack/configSchema.js +16 -0
  13. package/dist/GWASTrack/configSchema.js.map +1 -0
  14. package/dist/GWASTrack/index.d.ts +2 -0
  15. package/dist/GWASTrack/index.js +14 -0
  16. package/dist/GWASTrack/index.js.map +1 -0
  17. package/dist/GuessAdapter/index.d.ts +2 -0
  18. package/dist/GuessAdapter/index.js +31 -0
  19. package/dist/GuessAdapter/index.js.map +1 -0
  20. package/dist/LinearManhattanDisplay/index.js +1 -1
  21. package/dist/LinearManhattanDisplay/index.js.map +1 -1
  22. package/dist/LinearManhattanDisplay/stateModelFactory.d.ts +19 -3
  23. package/dist/LinearManhattanRenderer/LinearManhattanRenderer.d.ts +11 -2
  24. package/dist/LinearManhattanRenderer/LinearManhattanRenderer.js +17 -4
  25. package/dist/LinearManhattanRenderer/LinearManhattanRenderer.js.map +1 -1
  26. package/dist/LinearManhattanRenderer/LinearManhattanRendering.js +10 -11
  27. package/dist/LinearManhattanRenderer/LinearManhattanRendering.js.map +1 -1
  28. package/dist/config.json +1 -1
  29. package/dist/index.js +8 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/jbrowse-plugin-gwas.umd.production.min.js +34 -29
  32. package/dist/jbrowse-plugin-gwas.umd.production.min.js.map +4 -4
  33. package/dist/out.js +46784 -0
  34. package/package.json +7 -7
  35. package/src/GWASAdapter/index.ts +21 -0
  36. package/src/GWASAddTrackComponent/GWASAddTrackComponent.tsx +30 -0
  37. package/src/GWASAddTrackComponent/index.tsx +19 -0
  38. package/src/GWASTrack/configSchema.ts +22 -0
  39. package/src/GWASTrack/index.ts +20 -0
  40. package/src/GuessAdapter/index.ts +54 -0
  41. package/src/LinearManhattanDisplay/index.ts +1 -1
  42. package/src/LinearManhattanRenderer/LinearManhattanRenderer.ts +22 -4
  43. package/src/LinearManhattanRenderer/LinearManhattanRendering.tsx +15 -12
  44. package/src/index.ts +8 -0
package/README.md CHANGED
@@ -53,7 +53,7 @@ in above section) to be the score that is plotted
53
53
 
54
54
  ```json
55
55
  {
56
- "type": "FeatureTrack",
56
+ "type": "GWASTrack",
57
57
  "trackId": "gwas_track",
58
58
  "name": "GWAS",
59
59
  "category": ["Annotation"],
@@ -0,0 +1,2 @@
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
+ export default function GWASAdapterF(pluginManager: PluginManager): void;
@@ -0,0 +1,15 @@
1
+ import AdapterType from '@jbrowse/core/pluggableElementTypes/AdapterType';
2
+ import { ConfigurationSchema } from '@jbrowse/core/configuration';
3
+ export default function GWASAdapterF(pluginManager) {
4
+ pluginManager.addAdapterType(() => {
5
+ const res = pluginManager.getAdapterType('BedTabixAdapter');
6
+ const configSchema = ConfigurationSchema('GWASAdapter', {}, { baseConfiguration: res.configSchema, explicitlyTyped: true });
7
+ return new AdapterType({
8
+ name: 'GWASAdapter',
9
+ displayName: 'GWAS adapter',
10
+ configSchema,
11
+ getAdapterClass: res.getAdapterClass,
12
+ });
13
+ });
14
+ }
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/GWASAdapter/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,iDAAiD,CAAA;AAGzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEjE,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,aAA4B;IAC/D,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,GAAG,GAAG,aAAa,CAAC,cAAc,CAAC,iBAAiB,CAAE,CAAA;QAC5D,MAAM,YAAY,GAAG,mBAAmB,CACtC,aAAa,EACb,EAAE,EACF,EAAE,iBAAiB,EAAE,GAAG,CAAC,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,CAC/D,CAAA;QACD,OAAO,IAAI,WAAW,CAAC;YACrB,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,cAAc;YAC3B,YAAY;YACZ,eAAe,EAAE,GAAG,CAAC,eAAe;SACrC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const GWASAddTrackComponent: ({ model }: any) => React.JSX.Element;
3
+ export default GWASAddTrackComponent;
@@ -0,0 +1,18 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { TextField } from '@mui/material';
3
+ import { observer } from 'mobx-react';
4
+ const GWASAddTrackComponent = observer(function ({ model }) {
5
+ const [scoreColumn, setScoreColumn] = useState('neg_log_pvalue');
6
+ useEffect(() => {
7
+ model.setMixinData({
8
+ adapter: {
9
+ scoreColumn,
10
+ },
11
+ });
12
+ }, [model, scoreColumn]);
13
+ return (React.createElement(TextField, { label: "Score column", helperText: "Name of the column to use as the score for the Manhattan plot (e.g., 'neg_log_pvalue', 'pvalue')", value: scoreColumn, onChange: event => {
14
+ setScoreColumn(event.target.value);
15
+ }, fullWidth: true }));
16
+ });
17
+ export default GWASAddTrackComponent;
18
+ //# sourceMappingURL=GWASAddTrackComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GWASAddTrackComponent.js","sourceRoot":"","sources":["../../src/GWASAddTrackComponent/GWASAddTrackComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,qBAAqB,GAAG,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAO;IAC7D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IAEhE,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,YAAY,CAAC;YACjB,OAAO,EAAE;gBACP,WAAW;aACZ;SACF,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAA;IAExB,OAAO,CACL,oBAAC,SAAS,IACR,KAAK,EAAC,cAAc,EACpB,UAAU,EAAC,kGAAkG,EAC7G,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,KAAK,CAAC,EAAE;YAChB,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACpC,CAAC,EACD,SAAS,SACT,CACH,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,qBAAqB,CAAA"}
@@ -0,0 +1,2 @@
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
+ export default function GWASAddTrackComponentF(pluginManager: PluginManager): void;
@@ -0,0 +1,12 @@
1
+ import { lazy } from 'react';
2
+ const GWASAddTrackComponent = lazy(() => import('./GWASAddTrackComponent'));
3
+ export default function GWASAddTrackComponentF(pluginManager) {
4
+ pluginManager.addToExtensionPoint('Core-addTrackComponent',
5
+ // @ts-expect-error
6
+ (comp, { model }) => {
7
+ return model.trackAdapterType === 'GWASAdapter'
8
+ ? GWASAddTrackComponent
9
+ : comp;
10
+ });
11
+ }
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/GWASAddTrackComponent/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAI5B,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAA;AAE3E,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,aAA4B;IAE5B,aAAa,CAAC,mBAAmB,CAC/B,wBAAwB;IACxB,mBAAmB;IACnB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAgC,EAAE,EAAE;QAChD,OAAO,KAAK,CAAC,gBAAgB,KAAK,aAAa;YAC7C,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,IAAI,CAAA;IACV,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,84 @@
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
+ /**
3
+ * #config GWASTrack
4
+ * #category track
5
+ * used for GWAS (Genome-Wide Association Study) tracks with Manhattan plot display
6
+ */
7
+ export default function configSchemaFactory(pluginManager: PluginManager): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
8
+ name: {
9
+ description: string;
10
+ type: string;
11
+ defaultValue: string;
12
+ };
13
+ assemblyNames: {
14
+ description: string;
15
+ type: string;
16
+ defaultValue: string[];
17
+ };
18
+ description: {
19
+ description: string;
20
+ type: string;
21
+ defaultValue: string;
22
+ };
23
+ category: {
24
+ description: string;
25
+ type: string;
26
+ defaultValue: never[];
27
+ };
28
+ metadata: {
29
+ type: string;
30
+ description: string;
31
+ defaultValue: {};
32
+ };
33
+ adapter: import("mobx-state-tree").IAnyModelType;
34
+ textSearching: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
35
+ indexingAttributes: {
36
+ type: string;
37
+ description: string;
38
+ defaultValue: string[];
39
+ };
40
+ indexingFeatureTypesToExclude: {
41
+ type: string;
42
+ description: string;
43
+ defaultValue: string[];
44
+ };
45
+ textSearchAdapter: import("mobx-state-tree").IAnyModelType;
46
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
47
+ displays: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IAnyModelType>;
48
+ formatDetails: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
49
+ feature: {
50
+ type: string;
51
+ description: string;
52
+ defaultValue: {};
53
+ contextVariable: string[];
54
+ };
55
+ subfeatures: {
56
+ type: string;
57
+ description: string;
58
+ defaultValue: {};
59
+ contextVariable: string[];
60
+ };
61
+ depth: {
62
+ type: string;
63
+ defaultValue: number;
64
+ description: string;
65
+ };
66
+ maxDepth: {
67
+ type: string;
68
+ defaultValue: number;
69
+ description: string;
70
+ };
71
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
72
+ formatAbout: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
73
+ config: {
74
+ type: string;
75
+ description: string;
76
+ defaultValue: {};
77
+ contextVariable: string[];
78
+ };
79
+ hideUris: {
80
+ type: string;
81
+ defaultValue: boolean;
82
+ };
83
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
84
+ }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "trackId">>, undefined>>;
@@ -0,0 +1,16 @@
1
+ import { ConfigurationSchema } from '@jbrowse/core/configuration';
2
+ import { createBaseTrackConfig } from '@jbrowse/core/pluggableElementTypes';
3
+ /**
4
+ * #config GWASTrack
5
+ * #category track
6
+ * used for GWAS (Genome-Wide Association Study) tracks with Manhattan plot display
7
+ */
8
+ export default function configSchemaFactory(pluginManager) {
9
+ return ConfigurationSchema('GWASTrack', {}, {
10
+ /**
11
+ * #baseConfiguration
12
+ */
13
+ baseConfiguration: createBaseTrackConfig(pluginManager),
14
+ });
15
+ }
16
+ //# sourceMappingURL=configSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/GWASTrack/configSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAI3E;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,aAA4B;IACtE,OAAO,mBAAmB,CACxB,WAAW,EACX,EAAE,EACF;QACE;;WAEG;QACH,iBAAiB,EAAE,qBAAqB,CAAC,aAAa,CAAC;KACxD,CACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
+ export default function GWASTrackF(pm: PluginManager): void;
@@ -0,0 +1,14 @@
1
+ import { TrackType, createBaseTrackModel, } from '@jbrowse/core/pluggableElementTypes';
2
+ import configSchemaF from './configSchema';
3
+ export default function GWASTrackF(pm) {
4
+ pm.addTrackType(() => {
5
+ const configSchema = configSchemaF(pm);
6
+ return new TrackType({
7
+ name: 'GWASTrack',
8
+ displayName: 'GWAS track',
9
+ configSchema,
10
+ stateModel: createBaseTrackModel(pm, 'GWASTrack', configSchema),
11
+ });
12
+ });
13
+ }
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/GWASTrack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,oBAAoB,GACrB,MAAM,qCAAqC,CAAA;AAE5C,OAAO,aAAa,MAAM,gBAAgB,CAAA;AAI1C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAiB;IAClD,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE;QACnB,MAAM,YAAY,GAAG,aAAa,CAAC,EAAE,CAAC,CAAA;QACtC,OAAO,IAAI,SAAS,CAAC;YACnB,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,YAAY;YACzB,YAAY;YACZ,UAAU,EAAE,oBAAoB,CAAC,EAAE,EAAE,WAAW,EAAE,YAAY,CAAC;SAChE,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type PluginManager from '@jbrowse/core/PluginManager';
2
+ export default function GuessAdapterF(pluginManager: PluginManager): void;
@@ -0,0 +1,31 @@
1
+ import { testAdapter } from '@jbrowse/core/util';
2
+ import { getFileName, makeIndex, makeIndexType, } from '@jbrowse/core/util/tracks';
3
+ export default function GuessAdapterF(pluginManager) {
4
+ pluginManager.addToExtensionPoint('Core-guessAdapterForLocation', (adapterGuesser) => {
5
+ return (file, index, adapterHint) => {
6
+ const fileName = getFileName(file);
7
+ const indexName = index && getFileName(index);
8
+ if (testAdapter(fileName, /\.txt\.gz$/i, adapterHint, 'GWASAdapter')) {
9
+ return {
10
+ type: 'GWASAdapter',
11
+ bedGzLocation: file,
12
+ index: {
13
+ location: index || makeIndex(file, '.tbi'),
14
+ indexType: makeIndexType(indexName, 'CSI', 'TBI'),
15
+ },
16
+ };
17
+ }
18
+ else {
19
+ return adapterGuesser(file, index, adapterHint);
20
+ }
21
+ };
22
+ });
23
+ pluginManager.addToExtensionPoint('Core-guessTrackTypeForLocation', (trackTypeGuesser) => {
24
+ return (adapterName) => {
25
+ return adapterName === 'GWASAdapter'
26
+ ? 'GWASTrack'
27
+ : trackTypeGuesser(adapterName);
28
+ };
29
+ });
30
+ }
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/GuessAdapter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EACL,WAAW,EACX,SAAS,EACT,aAAa,GACd,MAAM,2BAA2B,CAAA;AASlC,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,aAA4B;IAChE,aAAa,CAAC,mBAAmB,CAC/B,8BAA8B,EAC9B,CAAC,cAA8B,EAAE,EAAE;QACjC,OAAO,CACL,IAAkB,EAClB,KAAoB,EACpB,WAAoB,EACpB,EAAE;YACF,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;YAClC,MAAM,SAAS,GAAG,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,CAAA;YAC7C,IACE,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,CAAC,EAChE,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,aAAa;oBACnB,aAAa,EAAE,IAAI;oBACnB,KAAK,EAAE;wBACL,QAAQ,EAAE,KAAK,IAAI,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;wBAC1C,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;qBAClD;iBACF,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;YACjD,CAAC;QACH,CAAC,CAAA;IACH,CAAC,CACF,CAAA;IAED,aAAa,CAAC,mBAAmB,CAC/B,gCAAgC,EAChC,CAAC,gBAAkC,EAAE,EAAE;QACrC,OAAO,CAAC,WAAmB,EAAE,EAAE;YAC7B,OAAO,WAAW,KAAK,aAAa;gBAClC,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;QACnC,CAAC,CAAA;IACH,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -10,7 +10,7 @@ export default function LinearManhattanDisplayF(pluginManager) {
10
10
  name: 'LinearManhattanDisplay',
11
11
  configSchema,
12
12
  stateModel: stateModelFactory(pluginManager, configSchema),
13
- trackType: 'FeatureTrack',
13
+ trackType: 'GWASTrack',
14
14
  viewType: 'LinearGenomeView',
15
15
  ReactComponent: LinearWiggleDisplayReactComponent,
16
16
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/LinearManhattanDisplay/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAKvD,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,aAA4B;IAC1E,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,cAAc,CAAiB,CAAA;IAE5E,MAAM,EAAE,iCAAiC,EAAE,GAAG,YAAY,CAAC,OAAO,CAAA;IAElE,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAA;QACvD,OAAO,IAAI,WAAW,CAAC;YACrB,IAAI,EAAE,wBAAwB;YAC9B,YAAY;YACZ,UAAU,EAAE,iBAAiB,CAAC,aAAa,EAAE,YAAY,CAAC;YAC1D,SAAS,EAAE,cAAc;YACzB,QAAQ,EAAE,kBAAkB;YAC5B,cAAc,EAAE,iCAAiC;SAClD,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/LinearManhattanDisplay/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAKvD,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,aAA4B;IAC1E,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,cAAc,CAAiB,CAAA;IAE5E,MAAM,EAAE,iCAAiC,EAAE,GAAG,YAAY,CAAC,OAAO,CAAA;IAElE,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAA;QACvD,OAAO,IAAI,WAAW,CAAC;YACrB,IAAI,EAAE,wBAAwB;YAC9B,YAAY;YACZ,UAAU,EAAE,iBAAiB,CAAC,aAAa,EAAE,YAAY,CAAC;YAC1D,SAAS,EAAE,WAAW;YACtB,QAAQ,EAAE,kBAAkB;YAC5B,cAAc,EAAE,iCAAiC;SAClD,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -202,6 +202,7 @@ export declare function stateModelFactory(pluginManager: PluginManager, configSc
202
202
  regionCannotBeRenderedText(_region: import("@jbrowse/core/util").Region): "" | "Force load to see features";
203
203
  regionCannotBeRendered(_region: import("@jbrowse/core/util").Region): import("react/jsx-runtime").JSX.Element | null;
204
204
  } & {
205
+ mouseoverExtraInformation: string | undefined;
205
206
  featureIdUnderMouse: undefined | string;
206
207
  contextMenuFeature: undefined | import("@jbrowse/core/util").Feature;
207
208
  } & {
@@ -212,20 +213,35 @@ export declare function stateModelFactory(pluginManager: PluginManager, configSc
212
213
  readonly renderDelay: number;
213
214
  readonly TooltipComponent: import("@jbrowse/core/util").AnyReactComponentType;
214
215
  readonly selectedFeatureId: string | undefined;
216
+ copyInfoToClipboard(feature: import("@jbrowse/core/util").Feature): void;
215
217
  } & {
216
218
  readonly features: import("@jbrowse/core/util/compositeMap").default<string, import("@jbrowse/core/util").Feature>;
217
219
  readonly featureUnderMouse: import("@jbrowse/core/util").Feature | undefined;
220
+ readonly layoutFeatures: import("@jbrowse/core/util/compositeMap").default<string, [number, number, number, number] | [number, number, number, number, {
221
+ label?: string;
222
+ description?: string;
223
+ refName: string;
224
+ }]>;
218
225
  getFeatureOverlapping(blockKey: string, x: number, y: number): string | undefined;
219
- getFeatureByID(blockKey: string, id: string): [number, number, number, number] | undefined;
220
- searchFeatureByID(id: string): [number, number, number, number] | undefined;
226
+ getFeatureByID(blockKey: string, id: string): ([number, number, number, number] | [number, number, number, number, {
227
+ label?: string;
228
+ description?: string;
229
+ refName: string;
230
+ }]) | undefined;
231
+ searchFeatureByID(id: string): ([number, number, number, number] | [number, number, number, number, {
232
+ label?: string;
233
+ description?: string;
234
+ refName: string;
235
+ }]) | undefined;
221
236
  } & {
222
237
  addBlock(key: string, block: import("@jbrowse/core/util/blockTypes").BaseBlock): void;
223
238
  deleteBlock(key: string): void;
224
- selectFeature(feature: import("@jbrowse/core/util").Feature): Promise<void>;
239
+ selectFeature(feature: import("@jbrowse/core/util").Feature): void;
225
240
  navToFeature(feature: import("@jbrowse/core/util").Feature): void;
226
241
  clearFeatureSelection(): void;
227
242
  setFeatureIdUnderMouse(feature?: string): void;
228
243
  setContextMenuFeature(feature?: import("@jbrowse/core/util").Feature): void;
244
+ setMouseoverExtraInformation(extra?: string): void;
229
245
  } & {
230
246
  reload(): Promise<void>;
231
247
  } & {
@@ -24,7 +24,16 @@ export default function rendererFactory(pluginManager: PluginManager): {
24
24
  pluginManager: PluginManager;
25
25
  }): {
26
26
  draw(ctx: CanvasRenderingContext2D, props: ManhattanProps): Promise<{
27
- clickMap: any;
27
+ clickMap: {
28
+ index: ArrayBufferLike;
29
+ items: {
30
+ minX: number;
31
+ minY: number;
32
+ maxX: number;
33
+ maxY: number;
34
+ feature: any;
35
+ }[];
36
+ };
28
37
  }>;
29
38
  supportsSVG: boolean;
30
39
  render(renderProps: import("@jbrowse/plugin-wiggle/dist/WiggleBaseRenderer").RenderArgsDeserialized): Promise<{
@@ -67,7 +76,7 @@ export default function rendererFactory(pluginManager: PluginManager): {
67
76
  freeResources(_args: any): void;
68
77
  name: string;
69
78
  maybeDisplayName?: string;
70
- readonly displayName: string;
79
+ get displayName(): string;
71
80
  };
72
81
  };
73
82
  export {};
@@ -1,6 +1,6 @@
1
1
  import { readConfObject, } from '@jbrowse/core/configuration';
2
2
  import { featureSpanPx, updateStatus, } from '@jbrowse/core/util';
3
- import RBush from 'rbush';
3
+ import Flatbush from 'flatbush';
4
4
  import { checkStopToken } from './util';
5
5
  export default function rendererFactory(pluginManager) {
6
6
  const WigglePlugin = pluginManager.getPlugin('WigglePlugin');
@@ -12,7 +12,6 @@ export default function rendererFactory(pluginManager) {
12
12
  const YSCALEBAR_LABEL_OFFSET = 5;
13
13
  const height = unadjustedHeight - YSCALEBAR_LABEL_OFFSET * 2;
14
14
  const width = (region.end - region.start) / bpPerPx;
15
- const rbush = new RBush();
16
15
  const scale = getScale({
17
16
  ...scaleOpts,
18
17
  range: [0, height],
@@ -26,6 +25,7 @@ export default function rendererFactory(pluginManager) {
26
25
  if (!isCallback) {
27
26
  ctx.fillStyle = config.color.value;
28
27
  }
28
+ const items = [];
29
29
  await updateStatus('Rendering plot', statusCallback, () => {
30
30
  for (const feature of features.values()) {
31
31
  if (performance.now() - start > 200) {
@@ -45,7 +45,7 @@ export default function rendererFactory(pluginManager) {
45
45
  ctx.fill();
46
46
  lastRenderedBlobY = y;
47
47
  lastRenderedBlobX = leftPx;
48
- rbush.insert({
48
+ items.push({
49
49
  minX: leftPx - 2,
50
50
  minY: y - 2,
51
51
  maxX: leftPx + 2,
@@ -65,8 +65,21 @@ export default function rendererFactory(pluginManager) {
65
65
  ctx.stroke();
66
66
  });
67
67
  }
68
+ const index = new Flatbush(Math.max(items.length, 1));
69
+ if (items.length === 0) {
70
+ index.add(0, 0, 0, 0);
71
+ }
72
+ else {
73
+ for (const item of items) {
74
+ index.add(item.minX, item.minY, item.maxX, item.maxY);
75
+ }
76
+ }
77
+ index.finish();
68
78
  return {
69
- clickMap: rbush.toJSON(),
79
+ clickMap: {
80
+ index: index.data,
81
+ items,
82
+ },
70
83
  };
71
84
  }
72
85
  };
@@ -1 +1 @@
1
- {"version":3,"file":"LinearManhattanRenderer.js","sourceRoot":"","sources":["../../src/LinearManhattanRenderer/LinearManhattanRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LinearManhattanRenderer.js","sourceRoot":"","sources":["../../src/LinearManhattanRenderer/LinearManhattanRenderer.ts"],"names":[],"mappings":"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"}
@@ -2,15 +2,16 @@ import React, { useMemo, useRef } from 'react';
2
2
  import { PrerenderedCanvas } from '@jbrowse/core/ui';
3
3
  import { SimpleFeature } from '@jbrowse/core/util';
4
4
  import { observer } from 'mobx-react';
5
- import RBush from 'rbush';
5
+ import Flatbush from 'flatbush';
6
6
  const LinearManhattanRendering = observer(function (props) {
7
7
  const { height, onMouseLeave, onMouseMove, onFeatureClick, clickMap } = props;
8
- const clickMap2 = useMemo(() => {
9
- return new RBush().fromJSON(clickMap);
8
+ const clickMapData = useMemo(() => {
9
+ const index = Flatbush.from(clickMap.index);
10
+ return { index, items: clickMap.items };
10
11
  }, [clickMap]);
11
12
  const ref = useRef(null);
12
13
  function getFeatureUnderMouse(eventClientX, eventClientY) {
13
- // calculates feature under mouse
14
+ var _a;
14
15
  let offsetX = 0;
15
16
  let offsetY = 0;
16
17
  if (ref.current) {
@@ -18,13 +19,11 @@ const LinearManhattanRendering = observer(function (props) {
18
19
  offsetX = eventClientX - r.left;
19
20
  offsetY = eventClientY - r.top;
20
21
  }
21
- const ret = clickMap2.search({
22
- minX: offsetX,
23
- minY: offsetY,
24
- maxX: offsetX + 3,
25
- maxY: offsetY + 3,
26
- });
27
- return ret[0] ? new SimpleFeature(ret[0].feature) : undefined;
22
+ const indices = clickMapData.index.search(offsetX, offsetY, offsetX + 3, offsetY + 3);
23
+ const firstIndex = indices[0];
24
+ return firstIndex !== undefined
25
+ ? new SimpleFeature((_a = clickMapData.items[firstIndex]) === null || _a === void 0 ? void 0 : _a.feature)
26
+ : undefined;
28
27
  }
29
28
  return (React.createElement("div", { ref: ref, "data-testid": "wiggle-rendering-test", onMouseMove: e => { var _a; return onMouseMove === null || onMouseMove === void 0 ? void 0 : onMouseMove(e, (_a = getFeatureUnderMouse(e.clientX, e.clientY)) === null || _a === void 0 ? void 0 : _a.id()); }, onClick: e => { var _a; return onFeatureClick === null || onFeatureClick === void 0 ? void 0 : onFeatureClick(e, (_a = getFeatureUnderMouse(e.clientX, e.clientY)) === null || _a === void 0 ? void 0 : _a.id()); }, onMouseLeave: e => onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave(e), style: {
30
29
  overflow: 'visible',
@@ -1 +1 @@
1
- {"version":3,"file":"LinearManhattanRendering.js","sourceRoot":"","sources":["../../src/LinearManhattanRenderer/LinearManhattanRendering.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,MAAM,wBAAwB,GAAG,QAAQ,CAAC,UAAU,KAYnD;IACC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,OAAO,IAAI,KAAK,EAAwC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC7E,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IACd,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAExC,SAAS,oBAAoB,CAAC,YAAoB,EAAE,YAAoB;QACtE,iCAAiC;QACjC,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAA;YAC7C,OAAO,GAAG,YAAY,GAAG,CAAC,CAAC,IAAI,CAAA;YAC/B,OAAO,GAAG,YAAY,GAAG,CAAC,CAAC,GAAG,CAAA;QAChC,CAAC;QACD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;YAC3B,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO,GAAG,CAAC;YACjB,IAAI,EAAE,OAAO,GAAG,CAAC;SAClB,CAAC,CAAA;QACF,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/D,CAAC;IACD,OAAO,CACL,6BACE,GAAG,EAAE,GAAG,iBACI,uBAAuB,EACnC,WAAW,EAAE,CAAC,CAAC,EAAE,WACf,OAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,CAAC,EAAE,MAAA,oBAAoB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,0CAAE,EAAE,EAAE,CAAC,CAAA,EAAA,EAEpE,OAAO,EAAE,CAAC,CAAC,EAAE,WACX,OAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,CAAC,EAAE,MAAA,oBAAoB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,0CAAE,EAAE,EAAE,CAAC,CAAA,EAAA,EAEvE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,EACpC,KAAK,EAAE;YACL,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,UAAU;YACpB,MAAM;SACP;QAED,oBAAC,iBAAiB,OAAK,KAAK,GAAI,CAC5B,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,wBAAwB,CAAA"}
1
+ {"version":3,"file":"LinearManhattanRendering.js","sourceRoot":"","sources":["../../src/LinearManhattanRenderer/LinearManhattanRendering.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,QAAQ,MAAM,UAAU,CAAA;AAK/B,MAAM,wBAAwB,GAAG,QAAQ,CAAC,UAAU,KAYnD;IACC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAC7E,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC3C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;IACzC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IACd,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAExC,SAAS,oBAAoB,CAAC,YAAoB,EAAE,YAAoB;;QACtE,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAA;YAC7C,OAAO,GAAG,YAAY,GAAG,CAAC,CAAC,IAAI,CAAA;YAC/B,OAAO,GAAG,YAAY,GAAG,CAAC,CAAC,GAAG,CAAA;QAChC,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CACvC,OAAO,EACP,OAAO,EACP,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,CAAC,CACZ,CAAA;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAC7B,OAAO,UAAU,KAAK,SAAS;YAC7B,CAAC,CAAC,IAAI,aAAa,CAAC,MAAA,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,0CAAE,OAAO,CAAC;YAC5D,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;IACD,OAAO,CACL,6BACE,GAAG,EAAE,GAAG,iBACI,uBAAuB,EACnC,WAAW,EAAE,CAAC,CAAC,EAAE,WACf,OAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,CAAC,EAAE,MAAA,oBAAoB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,0CAAE,EAAE,EAAE,CAAC,CAAA,EAAA,EAEpE,OAAO,EAAE,CAAC,CAAC,EAAE,WACX,OAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,CAAC,EAAE,MAAA,oBAAoB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,0CAAE,EAAE,EAAE,CAAC,CAAA,EAAA,EAEvE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,EACpC,KAAK,EAAE;YACL,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,UAAU;YACpB,MAAM;SACP;QAED,oBAAC,iBAAiB,OAAK,KAAK,GAAI,CAC5B,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,wBAAwB,CAAA"}
package/dist/config.json CHANGED
@@ -37,7 +37,7 @@
37
37
  ],
38
38
  "tracks": [
39
39
  {
40
- "type": "FeatureTrack",
40
+ "type": "GWASTrack",
41
41
  "trackId": "gwas_track",
42
42
  "name": "GWAS",
43
43
  "category": ["Annotation"],
package/dist/index.js CHANGED
@@ -1,4 +1,8 @@
1
1
  import Plugin from '@jbrowse/core/Plugin';
2
+ import GWASAdapterF from './GWASAdapter';
3
+ import GWASAddTrackComponentF from './GWASAddTrackComponent';
4
+ import GWASTrackF from './GWASTrack';
5
+ import GuessAdapterF from './GuessAdapter';
2
6
  import LinearManhattanDisplayF from './LinearManhattanDisplay';
3
7
  import JexlMouseoverF from './LinearManhattanDisplay/jexlMouseover';
4
8
  import LinearManhattanRendererF from './LinearManhattanRenderer';
@@ -10,6 +14,10 @@ export default class GWASPlugin extends Plugin {
10
14
  this.version = version;
11
15
  }
12
16
  install(pluginManager) {
17
+ GWASAdapterF(pluginManager);
18
+ GWASAddTrackComponentF(pluginManager);
19
+ GWASTrackF(pluginManager);
20
+ GuessAdapterF(pluginManager);
13
21
  LinearManhattanDisplayF(pluginManager);
14
22
  LinearManhattanRendererF(pluginManager);
15
23
  JexlMouseoverF(pluginManager);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAEzC,OAAO,uBAAuB,MAAM,0BAA0B,CAAA;AAC9D,OAAO,cAAc,MAAM,wCAAwC,CAAA;AACnE,OAAO,wBAAwB,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAIzC,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,MAAM;IAA9C;;QACE,SAAI,GAAG,YAAY,CAAA;QACnB,YAAO,GAAG,OAAO,CAAA;IAOnB,CAAC;IALC,OAAO,CAAC,aAA4B;QAClC,uBAAuB,CAAC,aAAa,CAAC,CAAA;QACtC,wBAAwB,CAAC,aAAa,CAAC,CAAA;QACvC,cAAc,CAAC,aAAa,CAAC,CAAA;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,sBAAsB,CAAA;AAEzC,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,sBAAsB,MAAM,yBAAyB,CAAA;AAC5D,OAAO,UAAU,MAAM,aAAa,CAAA;AACpC,OAAO,aAAa,MAAM,gBAAgB,CAAA;AAC1C,OAAO,uBAAuB,MAAM,0BAA0B,CAAA;AAC9D,OAAO,cAAc,MAAM,wCAAwC,CAAA;AACnE,OAAO,wBAAwB,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAIzC,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,MAAM;IAA9C;;QACE,SAAI,GAAG,YAAY,CAAA;QACnB,YAAO,GAAG,OAAO,CAAA;IAWnB,CAAC;IATC,OAAO,CAAC,aAA4B;QAClC,YAAY,CAAC,aAAa,CAAC,CAAA;QAC3B,sBAAsB,CAAC,aAAa,CAAC,CAAA;QACrC,UAAU,CAAC,aAAa,CAAC,CAAA;QACzB,aAAa,CAAC,aAAa,CAAC,CAAA;QAC5B,uBAAuB,CAAC,aAAa,CAAC,CAAA;QACtC,wBAAwB,CAAC,aAAa,CAAC,CAAA;QACvC,cAAc,CAAC,aAAa,CAAC,CAAA;IAC/B,CAAC;CACF"}