@jbrowse/plugin-comparative-adapters 3.7.0 → 4.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 (115) hide show
  1. package/esm/BlastTabularAdapter/BlastTabularAdapter.js +8 -7
  2. package/esm/BlastTabularAdapter/configSchema.d.ts +2 -2
  3. package/esm/BlastTabularAdapter/index.js +2 -2
  4. package/esm/ChainAdapter/ChainAdapter.d.ts +2 -16
  5. package/esm/ChainAdapter/ChainAdapter.js +4 -3
  6. package/esm/ChainAdapter/configSchema.d.ts +2 -2
  7. package/esm/ChainAdapter/index.js +2 -2
  8. package/esm/ChainAdapter/util.js +2 -2
  9. package/esm/ComparativeAddTrackComponent/ComparativeAddTrackComponent.js +3 -4
  10. package/esm/ComparativeAddTrackComponent/index.js +2 -2
  11. package/esm/DeltaAdapter/DeltaAdapter.d.ts +2 -11
  12. package/esm/DeltaAdapter/DeltaAdapter.js +4 -3
  13. package/esm/DeltaAdapter/configSchema.d.ts +2 -2
  14. package/esm/DeltaAdapter/index.js +2 -2
  15. package/esm/DeltaAdapter/util.js +1 -1
  16. package/esm/GuessAdapter/index.js +1 -1
  17. package/esm/MCScanAddTrackComponent/MCScanAddTrackComponent.d.ts +1 -1
  18. package/esm/MCScanAddTrackComponent/MCScanAddTrackComponent.js +3 -4
  19. package/esm/MCScanAddTrackComponent/index.js +2 -2
  20. package/esm/MCScanAnchorsAdapter/MCScanAnchorsAdapter.js +5 -6
  21. package/esm/MCScanAnchorsAdapter/configSchema.d.ts +2 -2
  22. package/esm/MCScanAnchorsAdapter/index.js +2 -2
  23. package/esm/MCScanSimpleAnchorsAdapter/MCScanSimpleAnchorsAdapter.js +5 -6
  24. package/esm/MCScanSimpleAnchorsAdapter/configSchema.d.ts +2 -2
  25. package/esm/MCScanSimpleAnchorsAdapter/index.js +2 -2
  26. package/esm/MashMapAdapter/MashMapAdapter.d.ts +2 -13
  27. package/esm/MashMapAdapter/MashMapAdapter.js +4 -3
  28. package/esm/MashMapAdapter/configSchema.d.ts +2 -2
  29. package/esm/MashMapAdapter/index.js +2 -2
  30. package/esm/PAFAdapter/PAFAdapter.d.ts +1 -1
  31. package/esm/PAFAdapter/PAFAdapter.js +10 -11
  32. package/esm/PAFAdapter/configSchema.d.ts +2 -2
  33. package/esm/PAFAdapter/index.js +2 -2
  34. package/esm/PAFAdapter/util.js +22 -32
  35. package/esm/PairwiseIndexedPAFAdapter/PairwiseIndexedPAFAdapter.js +13 -12
  36. package/esm/PairwiseIndexedPAFAdapter/configSchema.d.ts +5 -5
  37. package/esm/PairwiseIndexedPAFAdapter/configSchema.js +1 -1
  38. package/esm/PairwiseIndexedPAFAdapter/index.js +2 -2
  39. package/esm/SyntenyFeature/index.js +3 -4
  40. package/esm/index.js +12 -15
  41. package/esm/util.d.ts +1 -1
  42. package/esm/util.js +1 -1
  43. package/package.json +27 -34
  44. package/dist/BlastTabularAdapter/BlastTabularAdapter.d.ts +0 -65
  45. package/dist/BlastTabularAdapter/BlastTabularAdapter.js +0 -206
  46. package/dist/BlastTabularAdapter/configSchema.d.ts +0 -30
  47. package/dist/BlastTabularAdapter/configSchema.js +0 -34
  48. package/dist/BlastTabularAdapter/index.d.ts +0 -2
  49. package/dist/BlastTabularAdapter/index.js +0 -52
  50. package/dist/ChainAdapter/ChainAdapter.d.ts +0 -19
  51. package/dist/ChainAdapter/ChainAdapter.js +0 -15
  52. package/dist/ChainAdapter/configSchema.d.ts +0 -25
  53. package/dist/ChainAdapter/configSchema.js +0 -39
  54. package/dist/ChainAdapter/index.d.ts +0 -2
  55. package/dist/ChainAdapter/index.js +0 -52
  56. package/dist/ChainAdapter/util.d.ts +0 -16
  57. package/dist/ChainAdapter/util.js +0 -82
  58. package/dist/ComparativeAddTrackComponent/ComparativeAddTrackComponent.d.ts +0 -2
  59. package/dist/ComparativeAddTrackComponent/ComparativeAddTrackComponent.js +0 -31
  60. package/dist/ComparativeAddTrackComponent/index.d.ts +0 -2
  61. package/dist/ComparativeAddTrackComponent/index.js +0 -46
  62. package/dist/DeltaAdapter/DeltaAdapter.d.ts +0 -14
  63. package/dist/DeltaAdapter/DeltaAdapter.js +0 -15
  64. package/dist/DeltaAdapter/configSchema.d.ts +0 -25
  65. package/dist/DeltaAdapter/configSchema.js +0 -42
  66. package/dist/DeltaAdapter/index.d.ts +0 -2
  67. package/dist/DeltaAdapter/index.js +0 -52
  68. package/dist/DeltaAdapter/util.d.ts +0 -11
  69. package/dist/DeltaAdapter/util.js +0 -111
  70. package/dist/GuessAdapter/index.d.ts +0 -2
  71. package/dist/GuessAdapter/index.js +0 -74
  72. package/dist/MCScanAddTrackComponent/MCScanAddTrackComponent.d.ts +0 -2
  73. package/dist/MCScanAddTrackComponent/MCScanAddTrackComponent.js +0 -39
  74. package/dist/MCScanAddTrackComponent/index.d.ts +0 -2
  75. package/dist/MCScanAddTrackComponent/index.js +0 -46
  76. package/dist/MCScanAnchorsAdapter/MCScanAnchorsAdapter.d.ts +0 -29
  77. package/dist/MCScanAnchorsAdapter/MCScanAnchorsAdapter.js +0 -98
  78. package/dist/MCScanAnchorsAdapter/configSchema.d.ts +0 -28
  79. package/dist/MCScanAnchorsAdapter/configSchema.js +0 -53
  80. package/dist/MCScanAnchorsAdapter/index.d.ts +0 -2
  81. package/dist/MCScanAnchorsAdapter/index.js +0 -52
  82. package/dist/MCScanSimpleAnchorsAdapter/MCScanSimpleAnchorsAdapter.d.ts +0 -37
  83. package/dist/MCScanSimpleAnchorsAdapter/MCScanSimpleAnchorsAdapter.js +0 -132
  84. package/dist/MCScanSimpleAnchorsAdapter/configSchema.d.ts +0 -28
  85. package/dist/MCScanSimpleAnchorsAdapter/configSchema.js +0 -53
  86. package/dist/MCScanSimpleAnchorsAdapter/index.d.ts +0 -2
  87. package/dist/MCScanSimpleAnchorsAdapter/index.js +0 -52
  88. package/dist/MashMapAdapter/MashMapAdapter.d.ts +0 -16
  89. package/dist/MashMapAdapter/MashMapAdapter.js +0 -39
  90. package/dist/MashMapAdapter/configSchema.d.ts +0 -25
  91. package/dist/MashMapAdapter/configSchema.js +0 -42
  92. package/dist/MashMapAdapter/index.d.ts +0 -2
  93. package/dist/MashMapAdapter/index.js +0 -52
  94. package/dist/PAFAdapter/PAFAdapter.d.ts +0 -20
  95. package/dist/PAFAdapter/PAFAdapter.js +0 -137
  96. package/dist/PAFAdapter/configSchema.d.ts +0 -25
  97. package/dist/PAFAdapter/configSchema.js +0 -42
  98. package/dist/PAFAdapter/index.d.ts +0 -2
  99. package/dist/PAFAdapter/index.js +0 -52
  100. package/dist/PAFAdapter/util.d.ts +0 -17
  101. package/dist/PAFAdapter/util.js +0 -45
  102. package/dist/PairwiseIndexedPAFAdapter/PairwiseIndexedPAFAdapter.d.ts +0 -24
  103. package/dist/PairwiseIndexedPAFAdapter/PairwiseIndexedPAFAdapter.js +0 -109
  104. package/dist/PairwiseIndexedPAFAdapter/configSchema.d.ts +0 -40
  105. package/dist/PairwiseIndexedPAFAdapter/configSchema.js +0 -64
  106. package/dist/PairwiseIndexedPAFAdapter/index.d.ts +0 -2
  107. package/dist/PairwiseIndexedPAFAdapter/index.js +0 -52
  108. package/dist/SyntenyFeature/index.d.ts +0 -4
  109. package/dist/SyntenyFeature/index.js +0 -14
  110. package/dist/index.d.ts +0 -6
  111. package/dist/index.js +0 -37
  112. package/dist/syntenyTypes.d.ts +0 -3
  113. package/dist/syntenyTypes.js +0 -25
  114. package/dist/util.d.ts +0 -16
  115. package/dist/util.js +0 -79
@@ -1,132 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
7
- const util_1 = require("@jbrowse/core/util");
8
- const io_1 = require("@jbrowse/core/util/io");
9
- const rxjs_1 = require("@jbrowse/core/util/rxjs");
10
- const simpleFeature_1 = __importDefault(require("@jbrowse/core/util/simpleFeature"));
11
- const util_2 = require("../util");
12
- class MCScanAnchorsAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
13
- async setup(opts) {
14
- if (!this.setupP) {
15
- this.setupP = this.setupPre(opts).catch((e) => {
16
- this.setupP = undefined;
17
- throw e;
18
- });
19
- }
20
- return this.setupP;
21
- }
22
- async setupPre(opts) {
23
- const { statusCallback = () => { } } = opts;
24
- const assemblyNames = this.getConf('assemblyNames');
25
- const pm = this.pluginManager;
26
- const bed1 = (0, io_1.openLocation)(this.getConf('bed1Location'), pm);
27
- const bed2 = (0, io_1.openLocation)(this.getConf('bed2Location'), pm);
28
- const mcscan = (0, io_1.openLocation)(this.getConf('mcscanSimpleAnchorsLocation'), pm);
29
- const [bed1text, bed2text, mcscantext] = await (0, util_1.updateStatus)('Downloading data', statusCallback, () => Promise.all([bed1, bed2, mcscan].map(r => (0, util_2.readFile)(r, opts))));
30
- const bed1Map = (0, util_2.parseBed)(bed1text);
31
- const bed2Map = (0, util_2.parseBed)(bed2text);
32
- const feats = mcscantext
33
- .split(/\n|\r\n|\r/)
34
- .filter(f => !!f && f !== '###')
35
- .map((line, index) => {
36
- const [n11, n12, n21, n22, score, strand] = line.split('\t');
37
- const r11 = bed1Map.get(n11);
38
- const r12 = bed1Map.get(n12);
39
- const r21 = bed2Map.get(n21);
40
- const r22 = bed2Map.get(n22);
41
- if (!r11 || !r12 || !r21 || !r22) {
42
- throw new Error(`feature not found, ${n11} ${n12} ${n21} ${n22} ${r11} ${r12} ${r21} ${r22}`);
43
- }
44
- return [
45
- r11,
46
- r12,
47
- r21,
48
- r22,
49
- +score,
50
- strand === '-' ? -1 : 1,
51
- index,
52
- ];
53
- });
54
- return {
55
- assemblyNames,
56
- feats,
57
- };
58
- }
59
- async hasDataForRefName() {
60
- return true;
61
- }
62
- getAssemblyNames() {
63
- const assemblyNames = this.getConf('assemblyNames');
64
- return assemblyNames;
65
- }
66
- async getRefNames(opts = {}) {
67
- var _a;
68
- const r1 = (_a = opts.regions) === null || _a === void 0 ? void 0 : _a[0].assemblyName;
69
- const { feats } = await this.setup(opts);
70
- const idx = this.getAssemblyNames().indexOf(r1);
71
- if (idx !== -1) {
72
- const set = new Set();
73
- for (const feat of feats) {
74
- if (idx === 0) {
75
- set.add(feat[0].refName);
76
- set.add(feat[1].refName);
77
- }
78
- else {
79
- set.add(feat[2].refName);
80
- set.add(feat[3].refName);
81
- }
82
- }
83
- return [...set];
84
- }
85
- console.warn('Unable to do ref renaming on adapter');
86
- return [];
87
- }
88
- getFeatures(region, opts = {}) {
89
- return (0, rxjs_1.ObservableCreate)(async (observer) => {
90
- const { assemblyNames, feats } = await this.setup(opts);
91
- const index = assemblyNames.indexOf(region.assemblyName);
92
- if (index !== -1) {
93
- const flip = index === 0;
94
- for (const f of feats) {
95
- const [f11, f12, f21, f22, score, strand, rowNum] = f;
96
- let r1 = {
97
- refName: f11.refName,
98
- start: Math.min(f11.start, f12.start),
99
- end: Math.max(f11.end, f12.end),
100
- };
101
- let r2 = {
102
- refName: f21.refName,
103
- start: Math.min(f21.start, f22.start),
104
- end: Math.max(f21.end, f22.end),
105
- };
106
- if (!flip) {
107
- ;
108
- [r2, r1] = [r1, r2];
109
- }
110
- if (r1.refName === region.refName &&
111
- (0, util_1.doesIntersect2)(r1.start, r1.end, region.start, region.end)) {
112
- observer.next(new simpleFeature_1.default({
113
- ...r1,
114
- uniqueId: `${rowNum}`,
115
- syntenyId: rowNum,
116
- assemblyName: assemblyNames[+!flip],
117
- score,
118
- strand,
119
- mate: {
120
- ...r2,
121
- assemblyName: assemblyNames[+flip],
122
- },
123
- }));
124
- }
125
- }
126
- }
127
- observer.complete();
128
- });
129
- }
130
- }
131
- MCScanAnchorsAdapter.capabilities = ['getFeatures', 'getRefNames'];
132
- exports.default = MCScanAnchorsAdapter;
@@ -1,28 +0,0 @@
1
- declare const MCScanSimpleAnchorsAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
- mcscanSimpleAnchorsLocation: {
3
- type: string;
4
- defaultValue: {
5
- uri: string;
6
- locationType: string;
7
- };
8
- };
9
- bed1Location: {
10
- type: string;
11
- defaultValue: {
12
- uri: string;
13
- locationType: string;
14
- };
15
- };
16
- bed2Location: {
17
- type: string;
18
- defaultValue: {
19
- uri: string;
20
- locationType: string;
21
- };
22
- };
23
- assemblyNames: {
24
- type: string;
25
- defaultValue: never[];
26
- };
27
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
28
- export default MCScanSimpleAnchorsAdapter;
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const configuration_1 = require("@jbrowse/core/configuration");
4
- function x() { }
5
- const MCScanSimpleAnchorsAdapter = (0, configuration_1.ConfigurationSchema)('MCScanSimpleAnchorsAdapter', {
6
- mcscanSimpleAnchorsLocation: {
7
- type: 'fileLocation',
8
- defaultValue: {
9
- uri: '/path/to/mcscan.anchors.simple',
10
- locationType: 'UriLocation',
11
- },
12
- },
13
- bed1Location: {
14
- type: 'fileLocation',
15
- defaultValue: {
16
- uri: '/path/to/file.bed',
17
- locationType: 'UriLocation',
18
- },
19
- },
20
- bed2Location: {
21
- type: 'fileLocation',
22
- defaultValue: {
23
- uri: '/path/to/file.bed',
24
- locationType: 'UriLocation',
25
- },
26
- },
27
- assemblyNames: {
28
- type: 'stringArray',
29
- defaultValue: [],
30
- },
31
- }, {
32
- explicitlyTyped: true,
33
- preProcessSnapshot: snap => {
34
- return snap.uri && snap.bed1 && snap.bed2
35
- ? {
36
- ...snap,
37
- mcscanSimpleAnchorsLocation: {
38
- uri: snap.uri,
39
- baseUri: snap.baseUri,
40
- },
41
- bed1Location: {
42
- uri: snap.bed1,
43
- baseUri: snap.baseUri,
44
- },
45
- bed2Location: {
46
- uri: snap.bed2,
47
- baseUri: snap.baseUri,
48
- },
49
- }
50
- : snap;
51
- },
52
- });
53
- exports.default = MCScanSimpleAnchorsAdapter;
@@ -1,2 +0,0 @@
1
- import type PluginManager from '@jbrowse/core/PluginManager';
2
- export default function MCScanSimpleAnchorsAdapterF(pluginManager: PluginManager): void;
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = MCScanSimpleAnchorsAdapterF;
40
- const AdapterType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/AdapterType"));
41
- const configSchema_1 = __importDefault(require("./configSchema"));
42
- function MCScanSimpleAnchorsAdapterF(pluginManager) {
43
- pluginManager.addAdapterType(() => new AdapterType_1.default({
44
- name: 'MCScanSimpleAnchorsAdapter',
45
- displayName: 'MCScan anchors.simple adapter',
46
- configSchema: configSchema_1.default,
47
- adapterMetadata: {
48
- category: 'Synteny adapters',
49
- },
50
- getAdapterClass: () => Promise.resolve().then(() => __importStar(require('./MCScanSimpleAnchorsAdapter'))).then(r => r.default),
51
- }));
52
- }
@@ -1,16 +0,0 @@
1
- import PAFAdapter from '../PAFAdapter/PAFAdapter';
2
- import type { BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
3
- export default class MashMapAdapter extends PAFAdapter {
4
- setupPre(opts?: BaseOptions): Promise<{
5
- tname: string;
6
- tstart: number;
7
- tend: number;
8
- qname: string;
9
- qstart: number;
10
- qend: number;
11
- strand: number;
12
- extra: {
13
- mappingQual: number;
14
- };
15
- }[]>;
16
- }
@@ -1,39 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const util_1 = require("@jbrowse/core/util");
7
- const io_1 = require("@jbrowse/core/util/io");
8
- const parseLineByLine_1 = require("@jbrowse/core/util/parseLineByLine");
9
- const PAFAdapter_1 = __importDefault(require("../PAFAdapter/PAFAdapter"));
10
- class MashMapAdapter extends PAFAdapter_1.default {
11
- async setupPre(opts) {
12
- const lines = [];
13
- (0, parseLineByLine_1.parseLineByLine)(await (0, util_1.fetchAndMaybeUnzip)((0, io_1.openLocation)(this.getConf('outLocation'), this.pluginManager), opts), line => {
14
- lines.push(parseMashMapLine(line));
15
- return true;
16
- }, opts === null || opts === void 0 ? void 0 : opts.statusCallback);
17
- return lines;
18
- }
19
- }
20
- exports.default = MashMapAdapter;
21
- function parseMashMapLine(line) {
22
- const fields = line.split(' ');
23
- if (fields.length < 9) {
24
- throw new Error(`improperly formatted line: ${line}`);
25
- }
26
- const [qname, , qstart, qend, strand, tname, , tstart, tend, mq] = fields;
27
- return {
28
- tname: tname,
29
- tstart: +tstart,
30
- tend: +tend,
31
- qname: qname,
32
- qstart: +qstart,
33
- qend: +qend,
34
- strand: strand === '-' ? -1 : 1,
35
- extra: {
36
- mappingQual: +mq,
37
- },
38
- };
39
- }
@@ -1,25 +0,0 @@
1
- declare const MashMapAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
- assemblyNames: {
3
- type: string;
4
- defaultValue: never[];
5
- description: string;
6
- };
7
- targetAssembly: {
8
- type: string;
9
- defaultValue: string;
10
- description: string;
11
- };
12
- queryAssembly: {
13
- type: string;
14
- defaultValue: string;
15
- description: string;
16
- };
17
- outLocation: {
18
- type: string;
19
- defaultValue: {
20
- uri: string;
21
- locationType: string;
22
- };
23
- };
24
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
25
- export default MashMapAdapter;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const configuration_1 = require("@jbrowse/core/configuration");
4
- function x() { }
5
- const MashMapAdapter = (0, configuration_1.ConfigurationSchema)('MashMapAdapter', {
6
- assemblyNames: {
7
- type: 'stringArray',
8
- defaultValue: [],
9
- description: 'Array of assembly names to use for this file. The query assembly name is the first value in the array, target assembly name is the second',
10
- },
11
- targetAssembly: {
12
- type: 'string',
13
- defaultValue: '',
14
- description: 'Alternative to assemblyNames array: the target assembly',
15
- },
16
- queryAssembly: {
17
- type: 'string',
18
- defaultValue: '',
19
- description: 'Alternative to assemblyNames array: the query assembly',
20
- },
21
- outLocation: {
22
- type: 'fileLocation',
23
- defaultValue: {
24
- uri: '/path/to/mashmap.out',
25
- locationType: 'UriLocation',
26
- },
27
- },
28
- }, {
29
- explicitlyTyped: true,
30
- preProcessSnapshot: snap => {
31
- return snap.uri
32
- ? {
33
- ...snap,
34
- outLocation: {
35
- uri: snap.uri,
36
- baseUri: snap.baseUri,
37
- },
38
- }
39
- : snap;
40
- },
41
- });
42
- exports.default = MashMapAdapter;
@@ -1,2 +0,0 @@
1
- import type PluginManager from '@jbrowse/core/PluginManager';
2
- export default function MashMapAdapterF(pluginManager: PluginManager): void;
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.default = MashMapAdapterF;
40
- const AdapterType_1 = __importDefault(require("@jbrowse/core/pluggableElementTypes/AdapterType"));
41
- const configSchema_1 = __importDefault(require("./configSchema"));
42
- function MashMapAdapterF(pluginManager) {
43
- pluginManager.addAdapterType(() => new AdapterType_1.default({
44
- name: 'MashMapAdapter',
45
- displayName: 'MashMap adapter',
46
- configSchema: configSchema_1.default,
47
- adapterMetadata: {
48
- category: 'Synteny adapters',
49
- },
50
- getAdapterClass: () => Promise.resolve().then(() => __importStar(require('./MashMapAdapter'))).then(r => r.default),
51
- }));
52
- }
@@ -1,20 +0,0 @@
1
- import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
2
- import type { PAFRecord } from './util';
3
- import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
4
- import type { BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
5
- import type { Feature } from '@jbrowse/core/util';
6
- import type { Region } from '@jbrowse/core/util/types';
7
- interface PAFOptions extends BaseOptions {
8
- config?: AnyConfigurationModel;
9
- }
10
- export default class PAFAdapter extends BaseFeatureDataAdapter {
11
- private setupP?;
12
- static capabilities: string[];
13
- setup(opts?: BaseOptions): Promise<PAFRecord[]>;
14
- setupPre(opts?: BaseOptions): Promise<PAFRecord[]>;
15
- hasDataForRefName(): Promise<boolean>;
16
- getAssemblyNames(): string[];
17
- getRefNames(opts?: BaseOptions): Promise<string[]>;
18
- getFeatures(query: Region, opts?: PAFOptions): import("rxjs").Observable<Feature>;
19
- }
20
- export {};
@@ -1,137 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const BaseAdapter_1 = require("@jbrowse/core/data_adapters/BaseAdapter");
7
- const util_1 = require("@jbrowse/core/util");
8
- const io_1 = require("@jbrowse/core/util/io");
9
- const parseLineByLine_1 = require("@jbrowse/core/util/parseLineByLine");
10
- const range_1 = require("@jbrowse/core/util/range");
11
- const rxjs_1 = require("@jbrowse/core/util/rxjs");
12
- const plugin_alignments_1 = require("@jbrowse/plugin-alignments");
13
- const SyntenyFeature_1 = __importDefault(require("../SyntenyFeature"));
14
- const util_2 = require("../util");
15
- const util_3 = require("./util");
16
- const { parseCigar } = plugin_alignments_1.MismatchParser;
17
- class PAFAdapter extends BaseAdapter_1.BaseFeatureDataAdapter {
18
- async setup(opts) {
19
- if (!this.setupP) {
20
- this.setupP = this.setupPre(opts).catch((e) => {
21
- this.setupP = undefined;
22
- throw e;
23
- });
24
- }
25
- return this.setupP;
26
- }
27
- async setupPre(opts) {
28
- const lines = [];
29
- (0, parseLineByLine_1.parseLineByLine)(await (0, util_1.fetchAndMaybeUnzip)((0, io_1.openLocation)(this.getConf('pafLocation'), this.pluginManager), opts), line => {
30
- lines.push((0, util_2.parsePAFLine)(line));
31
- return true;
32
- }, opts === null || opts === void 0 ? void 0 : opts.statusCallback);
33
- return lines;
34
- }
35
- async hasDataForRefName() {
36
- return true;
37
- }
38
- getAssemblyNames() {
39
- const assemblyNames = this.getConf('assemblyNames');
40
- if (assemblyNames.length === 0) {
41
- const query = this.getConf('queryAssembly');
42
- const target = this.getConf('targetAssembly');
43
- return [query, target];
44
- }
45
- return assemblyNames;
46
- }
47
- async getRefNames(opts = {}) {
48
- var _a;
49
- const r1 = (_a = opts.regions) === null || _a === void 0 ? void 0 : _a[0].assemblyName;
50
- const feats = await this.setup(opts);
51
- const idx = this.getAssemblyNames().indexOf(r1);
52
- if (idx !== -1) {
53
- const set = new Set();
54
- for (const feat of feats) {
55
- set.add(idx === 0 ? feat.qname : feat.tname);
56
- }
57
- return [...set];
58
- }
59
- console.warn('Unable to do ref renaming on adapter');
60
- return [];
61
- }
62
- getFeatures(query, opts = {}) {
63
- return (0, rxjs_1.ObservableCreate)(async (observer) => {
64
- const pafRecords = (0, util_3.getWeightedMeans)(await this.setup(opts));
65
- const assemblyNames = this.getAssemblyNames();
66
- const { start: qstart, end: qend, refName: qref, assemblyName } = query;
67
- const index = assemblyNames.indexOf(assemblyName);
68
- const flip = index === 0;
69
- if (index === -1) {
70
- console.warn(`${assemblyName} not found in this adapter`);
71
- observer.complete();
72
- }
73
- for (let i = 0; i < pafRecords.length; i++) {
74
- const r = pafRecords[i];
75
- let start = 0;
76
- let end = 0;
77
- let refName = '';
78
- let mateName = '';
79
- let mateStart = 0;
80
- let mateEnd = 0;
81
- if (flip) {
82
- start = r.qstart;
83
- end = r.qend;
84
- refName = r.qname;
85
- mateName = r.tname;
86
- mateStart = r.tstart;
87
- mateEnd = r.tend;
88
- }
89
- else {
90
- start = r.tstart;
91
- end = r.tend;
92
- refName = r.tname;
93
- mateName = r.qname;
94
- mateStart = r.qstart;
95
- mateEnd = r.qend;
96
- }
97
- const { extra, strand } = r;
98
- if (refName === qref && (0, range_1.doesIntersect2)(qstart, qend, start, end)) {
99
- const { numMatches = 0, blockLen = 1, cg, ...rest } = extra;
100
- let CIGAR = extra.cg;
101
- if (extra.cg) {
102
- if (flip && strand === -1) {
103
- CIGAR = (0, util_2.flipCigar)(parseCigar(extra.cg)).join('');
104
- }
105
- else if (flip) {
106
- CIGAR = (0, util_2.swapIndelCigar)(extra.cg);
107
- }
108
- }
109
- observer.next(new SyntenyFeature_1.default({
110
- uniqueId: i + assemblyName,
111
- assemblyName,
112
- start,
113
- end,
114
- type: 'match',
115
- refName,
116
- strand,
117
- ...rest,
118
- CIGAR,
119
- syntenyId: i,
120
- identity: numMatches / blockLen,
121
- numMatches,
122
- blockLen,
123
- mate: {
124
- start: mateStart,
125
- end: mateEnd,
126
- refName: mateName,
127
- assemblyName: assemblyNames[+flip],
128
- },
129
- }));
130
- }
131
- }
132
- observer.complete();
133
- });
134
- }
135
- }
136
- PAFAdapter.capabilities = ['getFeatures', 'getRefNames'];
137
- exports.default = PAFAdapter;
@@ -1,25 +0,0 @@
1
- declare const PAFAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
2
- assemblyNames: {
3
- type: string;
4
- defaultValue: never[];
5
- description: string;
6
- };
7
- targetAssembly: {
8
- type: string;
9
- defaultValue: string;
10
- description: string;
11
- };
12
- queryAssembly: {
13
- type: string;
14
- defaultValue: string;
15
- description: string;
16
- };
17
- pafLocation: {
18
- type: string;
19
- defaultValue: {
20
- uri: string;
21
- locationType: string;
22
- };
23
- };
24
- }, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
25
- export default PAFAdapter;