@jbrowse/plugin-alignments 2.1.7 → 2.2.1
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.
- package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +12 -13
- package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +1 -1
- package/dist/AlignmentsTrack/index.d.ts +1 -1
- package/dist/AlignmentsTrack/index.js +16 -6
- package/dist/AlignmentsTrack/index.js.map +1 -1
- package/dist/BamAdapter/BamAdapter.d.ts +7 -3
- package/dist/BamAdapter/BamAdapter.js +36 -31
- package/dist/BamAdapter/BamAdapter.js.map +1 -1
- package/dist/BamAdapter/BamSlightlyLazyFeature.js +1 -0
- package/dist/BamAdapter/BamSlightlyLazyFeature.js.map +1 -1
- package/dist/BamAdapter/MismatchParser.d.ts +2 -2
- package/dist/BamAdapter/MismatchParser.js +4 -7
- package/dist/BamAdapter/MismatchParser.js.map +1 -1
- package/dist/BamAdapter/configSchema.d.ts +2 -2
- package/dist/BamAdapter/configSchema.js +27 -2
- package/dist/BamAdapter/configSchema.js.map +1 -1
- package/dist/BamAdapter/index.js +7 -5
- package/dist/BamAdapter/index.js.map +1 -1
- package/dist/CramAdapter/CramAdapter.d.ts +13 -7
- package/dist/CramAdapter/CramAdapter.js +56 -61
- package/dist/CramAdapter/CramAdapter.js.map +1 -1
- package/dist/CramAdapter/CramSlightlyLazyFeature.d.ts +15 -23
- package/dist/CramAdapter/CramSlightlyLazyFeature.js +10 -217
- package/dist/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
- package/dist/CramAdapter/CramTestAdapters.d.ts +1 -1
- package/dist/CramAdapter/CramTestAdapters.js +1 -1
- package/dist/CramAdapter/CramTestAdapters.js.map +1 -1
- package/dist/CramAdapter/configSchema.d.ts +2 -3
- package/dist/CramAdapter/configSchema.js +44 -22
- package/dist/CramAdapter/configSchema.js.map +1 -1
- package/dist/CramAdapter/index.js +7 -5
- package/dist/CramAdapter/index.js.map +1 -1
- package/dist/CramAdapter/util.d.ts +18 -0
- package/dist/CramAdapter/util.js +241 -0
- package/dist/CramAdapter/util.js.map +1 -0
- package/dist/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +5 -2
- package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js +15 -20
- package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js.map +1 -1
- package/dist/HtsgetBamAdapter/configSchema.d.ts +2 -2
- package/dist/HtsgetBamAdapter/configSchema.js +20 -3
- package/dist/HtsgetBamAdapter/configSchema.js.map +1 -1
- package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +1 -1
- package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js.map +1 -1
- package/dist/LinearAlignmentsDisplay/models/configSchema.d.ts +2 -2
- package/dist/LinearAlignmentsDisplay/models/configSchema.js +23 -6
- package/dist/LinearAlignmentsDisplay/models/configSchema.js.map +1 -1
- package/dist/LinearAlignmentsDisplay/models/model.d.ts +77 -10
- package/dist/LinearAlignmentsDisplay/models/model.js +102 -9
- package/dist/LinearAlignmentsDisplay/models/model.js.map +1 -1
- package/dist/LinearPileupDisplay/configSchema.d.ts +4 -4
- package/dist/LinearPileupDisplay/configSchema.js +22 -5
- package/dist/LinearPileupDisplay/configSchema.js.map +1 -1
- package/dist/LinearPileupDisplay/index.d.ts +3 -0
- package/dist/LinearPileupDisplay/index.js +3 -0
- package/dist/LinearPileupDisplay/index.js.map +1 -1
- package/dist/LinearPileupDisplay/model.d.ts +100 -6
- package/dist/LinearPileupDisplay/model.js +611 -503
- package/dist/LinearPileupDisplay/model.js.map +1 -1
- package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -1
- package/dist/LinearSNPCoverageDisplay/models/configSchema.js +33 -4
- package/dist/LinearSNPCoverageDisplay/models/configSchema.js.map +1 -1
- package/dist/LinearSNPCoverageDisplay/models/model.d.ts +87 -4
- package/dist/LinearSNPCoverageDisplay/models/model.js +240 -159
- package/dist/LinearSNPCoverageDisplay/models/model.js.map +1 -1
- package/dist/PileupRPC/rpcMethods.d.ts +1 -1
- package/dist/PileupRPC/rpcMethods.js +12 -7
- package/dist/PileupRPC/rpcMethods.js.map +1 -1
- package/dist/PileupRenderer/PileupLayoutSession.d.ts +1 -1
- package/dist/PileupRenderer/PileupRenderer.d.ts +1 -1
- package/dist/PileupRenderer/PileupRenderer.js +37 -34
- package/dist/PileupRenderer/PileupRenderer.js.map +1 -1
- package/dist/PileupRenderer/configSchema.d.ts +2 -2
- package/dist/PileupRenderer/configSchema.js +37 -2
- package/dist/PileupRenderer/configSchema.js.map +1 -1
- package/dist/PileupRenderer/index.js +8 -6
- package/dist/PileupRenderer/index.js.map +1 -1
- package/dist/SNPCoverageAdapter/configSchema.d.ts +2 -3
- package/dist/SNPCoverageAdapter/configSchema.js +15 -4
- package/dist/SNPCoverageAdapter/configSchema.js.map +1 -1
- package/dist/SNPCoverageAdapter/index.d.ts +1 -2
- package/dist/SNPCoverageAdapter/index.js +17 -14
- package/dist/SNPCoverageAdapter/index.js.map +1 -1
- package/dist/SNPCoverageRenderer/configSchema.d.ts +2 -2
- package/dist/SNPCoverageRenderer/configSchema.js +21 -1
- package/dist/SNPCoverageRenderer/configSchema.js.map +1 -1
- package/dist/SNPCoverageRenderer/index.d.ts +0 -1
- package/dist/SNPCoverageRenderer/index.js +1 -4
- package/dist/SNPCoverageRenderer/index.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +12 -13
- package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +1 -1
- package/esm/AlignmentsTrack/index.d.ts +1 -1
- package/esm/AlignmentsTrack/index.js +16 -6
- package/esm/AlignmentsTrack/index.js.map +1 -1
- package/esm/BamAdapter/BamAdapter.d.ts +7 -3
- package/esm/BamAdapter/BamAdapter.js +36 -31
- package/esm/BamAdapter/BamAdapter.js.map +1 -1
- package/esm/BamAdapter/BamSlightlyLazyFeature.js +1 -0
- package/esm/BamAdapter/BamSlightlyLazyFeature.js.map +1 -1
- package/esm/BamAdapter/MismatchParser.d.ts +2 -2
- package/esm/BamAdapter/MismatchParser.js +4 -7
- package/esm/BamAdapter/MismatchParser.js.map +1 -1
- package/esm/BamAdapter/configSchema.d.ts +2 -2
- package/esm/BamAdapter/configSchema.js +27 -2
- package/esm/BamAdapter/configSchema.js.map +1 -1
- package/esm/BamAdapter/index.js +7 -5
- package/esm/BamAdapter/index.js.map +1 -1
- package/esm/CramAdapter/CramAdapter.d.ts +13 -7
- package/esm/CramAdapter/CramAdapter.js +56 -61
- package/esm/CramAdapter/CramAdapter.js.map +1 -1
- package/esm/CramAdapter/CramSlightlyLazyFeature.d.ts +15 -23
- package/esm/CramAdapter/CramSlightlyLazyFeature.js +10 -217
- package/esm/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
- package/esm/CramAdapter/CramTestAdapters.d.ts +1 -1
- package/esm/CramAdapter/CramTestAdapters.js +1 -1
- package/esm/CramAdapter/CramTestAdapters.js.map +1 -1
- package/esm/CramAdapter/configSchema.d.ts +2 -3
- package/esm/CramAdapter/configSchema.js +44 -22
- package/esm/CramAdapter/configSchema.js.map +1 -1
- package/esm/CramAdapter/index.js +8 -6
- package/esm/CramAdapter/index.js.map +1 -1
- package/esm/CramAdapter/util.d.ts +18 -0
- package/esm/CramAdapter/util.js +236 -0
- package/esm/CramAdapter/util.js.map +1 -0
- package/esm/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +5 -2
- package/esm/HtsgetBamAdapter/HtsgetBamAdapter.js +15 -20
- package/esm/HtsgetBamAdapter/HtsgetBamAdapter.js.map +1 -1
- package/esm/HtsgetBamAdapter/configSchema.d.ts +2 -2
- package/esm/HtsgetBamAdapter/configSchema.js +20 -3
- package/esm/HtsgetBamAdapter/configSchema.js.map +1 -1
- package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +1 -1
- package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js.map +1 -1
- package/esm/LinearAlignmentsDisplay/models/configSchema.d.ts +2 -2
- package/esm/LinearAlignmentsDisplay/models/configSchema.js +23 -6
- package/esm/LinearAlignmentsDisplay/models/configSchema.js.map +1 -1
- package/esm/LinearAlignmentsDisplay/models/model.d.ts +77 -10
- package/esm/LinearAlignmentsDisplay/models/model.js +102 -9
- package/esm/LinearAlignmentsDisplay/models/model.js.map +1 -1
- package/esm/LinearPileupDisplay/configSchema.d.ts +4 -4
- package/esm/LinearPileupDisplay/configSchema.js +22 -5
- package/esm/LinearPileupDisplay/configSchema.js.map +1 -1
- package/esm/LinearPileupDisplay/index.d.ts +3 -0
- package/esm/LinearPileupDisplay/index.js +1 -0
- package/esm/LinearPileupDisplay/index.js.map +1 -1
- package/esm/LinearPileupDisplay/model.d.ts +100 -6
- package/esm/LinearPileupDisplay/model.js +611 -503
- package/esm/LinearPileupDisplay/model.js.map +1 -1
- package/esm/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -1
- package/esm/LinearSNPCoverageDisplay/models/configSchema.js +33 -4
- package/esm/LinearSNPCoverageDisplay/models/configSchema.js.map +1 -1
- package/esm/LinearSNPCoverageDisplay/models/model.d.ts +87 -4
- package/esm/LinearSNPCoverageDisplay/models/model.js +240 -159
- package/esm/LinearSNPCoverageDisplay/models/model.js.map +1 -1
- package/esm/PileupRPC/rpcMethods.d.ts +1 -1
- package/esm/PileupRPC/rpcMethods.js +12 -7
- package/esm/PileupRPC/rpcMethods.js.map +1 -1
- package/esm/PileupRenderer/PileupLayoutSession.d.ts +1 -1
- package/esm/PileupRenderer/PileupRenderer.d.ts +1 -1
- package/esm/PileupRenderer/PileupRenderer.js +37 -34
- package/esm/PileupRenderer/PileupRenderer.js.map +1 -1
- package/esm/PileupRenderer/configSchema.d.ts +2 -2
- package/esm/PileupRenderer/configSchema.js +37 -2
- package/esm/PileupRenderer/configSchema.js.map +1 -1
- package/esm/PileupRenderer/index.js +8 -6
- package/esm/PileupRenderer/index.js.map +1 -1
- package/esm/SNPCoverageAdapter/configSchema.d.ts +2 -3
- package/esm/SNPCoverageAdapter/configSchema.js +15 -4
- package/esm/SNPCoverageAdapter/configSchema.js.map +1 -1
- package/esm/SNPCoverageAdapter/index.d.ts +1 -2
- package/esm/SNPCoverageAdapter/index.js +17 -15
- package/esm/SNPCoverageAdapter/index.js.map +1 -1
- package/esm/SNPCoverageRenderer/configSchema.d.ts +2 -2
- package/esm/SNPCoverageRenderer/configSchema.js +21 -1
- package/esm/SNPCoverageRenderer/configSchema.js.map +1 -1
- package/esm/SNPCoverageRenderer/index.d.ts +0 -1
- package/esm/SNPCoverageRenderer/index.js +1 -3
- package/esm/SNPCoverageRenderer/index.js.map +1 -1
- package/esm/index.d.ts +3 -2
- package/esm/index.js +2 -2
- package/esm/index.js.map +1 -1
- package/package.json +4 -3
- package/src/AlignmentsFeatureDetail/AlignmentsFeatureDetail.tsx +17 -16
- package/src/AlignmentsFeatureDetail/__snapshots__/index.test.js.snap +41 -513
- package/src/AlignmentsFeatureDetail/index.test.js +6 -4
- package/src/AlignmentsTrack/index.ts +18 -12
- package/src/BamAdapter/BamAdapter.ts +42 -41
- package/src/BamAdapter/BamSlightlyLazyFeature.ts +2 -1
- package/src/BamAdapter/MismatchParser.test.ts +21 -12
- package/src/BamAdapter/MismatchParser.ts +7 -10
- package/src/BamAdapter/__snapshots__/BamAdapter.test.ts.snap +135 -135
- package/src/BamAdapter/configSchema.ts +57 -29
- package/src/BamAdapter/index.ts +7 -8
- package/src/CombinationTest.test.ts +107 -0
- package/src/CramAdapter/CramAdapter.test.ts +1 -2
- package/src/CramAdapter/CramAdapter.ts +83 -84
- package/src/CramAdapter/CramSlightlyLazyFeature.ts +18 -218
- package/src/CramAdapter/CramTestAdapters.ts +1 -1
- package/src/CramAdapter/__snapshots__/CramAdapter.test.ts.snap +31 -31
- package/src/CramAdapter/__snapshots__/util.test.ts.snap +14 -0
- package/src/CramAdapter/configSchema.ts +54 -30
- package/src/CramAdapter/index.ts +8 -9
- package/src/CramAdapter/util.test.ts +26 -0
- package/src/CramAdapter/util.ts +251 -0
- package/src/HtsgetBamAdapter/HtsgetBamAdapter.ts +14 -21
- package/src/HtsgetBamAdapter/configSchema.ts +36 -19
- package/src/LinearAlignmentsDisplay/components/AlignmentsDisplay.tsx +3 -1
- package/src/LinearAlignmentsDisplay/models/configSchema.ts +23 -10
- package/src/LinearAlignmentsDisplay/models/model.tsx +107 -11
- package/src/LinearPileupDisplay/configSchema.ts +25 -9
- package/src/LinearPileupDisplay/index.ts +5 -0
- package/src/LinearPileupDisplay/model.ts +151 -34
- package/src/LinearSNPCoverageDisplay/models/configSchema.ts +36 -9
- package/src/LinearSNPCoverageDisplay/models/model.ts +83 -4
- package/src/PileupRPC/rpcMethods.ts +15 -20
- package/src/PileupRenderer/{PileupRenderer.tsx → PileupRenderer.ts} +53 -63
- package/src/PileupRenderer/configSchema.ts +39 -2
- package/src/PileupRenderer/index.ts +8 -9
- package/src/SNPCoverageAdapter/configSchema.ts +21 -12
- package/src/SNPCoverageAdapter/index.ts +17 -18
- package/src/SNPCoverageRenderer/configSchema.ts +23 -1
- package/src/SNPCoverageRenderer/index.ts +1 -8
- package/src/__snapshots__/index.test.ts.snap +1 -1
- package/src/index.ts +11 -4
- package/src/declare.d.ts +0 -1
|
@@ -12,7 +12,7 @@ export default class CramAdapter extends BaseFeatureDataAdapter {
|
|
|
12
12
|
// maps a seqId to original refname, passed specially to render args, to a seqid
|
|
13
13
|
this.seqIdToOriginalRefName = [];
|
|
14
14
|
}
|
|
15
|
-
async
|
|
15
|
+
async configurePre() {
|
|
16
16
|
const cramLocation = this.getConf('cramLocation');
|
|
17
17
|
const craiLocation = this.getConf('craiLocation');
|
|
18
18
|
if (!cramLocation) {
|
|
@@ -21,38 +21,43 @@ export default class CramAdapter extends BaseFeatureDataAdapter {
|
|
|
21
21
|
if (!craiLocation) {
|
|
22
22
|
throw new Error('missing craiLocation argument');
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
const pm = this.pluginManager;
|
|
25
25
|
const cram = new IndexedCramFile({
|
|
26
|
-
cramFilehandle: openLocation(cramLocation,
|
|
27
|
-
index: new CraiIndex({
|
|
28
|
-
|
|
29
|
-
}),
|
|
30
|
-
seqFetch: this.seqFetch.bind(this),
|
|
26
|
+
cramFilehandle: openLocation(cramLocation, pm),
|
|
27
|
+
index: new CraiIndex({ filehandle: openLocation(craiLocation, pm) }),
|
|
28
|
+
seqFetch: (...args) => this.seqFetch(...args),
|
|
31
29
|
checkSequenceMD5: false,
|
|
32
30
|
fetchSizeLimit: 200000000, // just make this a large size to avoid hitting it
|
|
33
31
|
});
|
|
34
|
-
// instantiate the sequence adapter
|
|
35
|
-
const sequenceAdapterType = this.getConf(['sequenceAdapter', 'type']);
|
|
36
32
|
if (!this.getSubAdapter) {
|
|
37
33
|
throw new Error('Error getting subadapter');
|
|
38
34
|
}
|
|
39
35
|
const seqConf = this.getConf('sequenceAdapter');
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
36
|
+
const subadapter = await this.getSubAdapter(seqConf);
|
|
37
|
+
return {
|
|
38
|
+
cram,
|
|
39
|
+
sequenceAdapter: subadapter.dataAdapter,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
async configure() {
|
|
43
|
+
if (!this.configureP) {
|
|
44
|
+
this.configureP = this.configurePre().catch(e => {
|
|
45
|
+
this.configureP = undefined;
|
|
46
|
+
throw e;
|
|
47
|
+
});
|
|
43
48
|
}
|
|
44
|
-
return
|
|
49
|
+
return this.configureP;
|
|
45
50
|
}
|
|
46
51
|
async getHeader(opts) {
|
|
47
52
|
const { cram } = await this.configure();
|
|
48
|
-
return cram.cram.getHeaderText(
|
|
53
|
+
return cram.cram.getHeaderText();
|
|
49
54
|
}
|
|
50
55
|
async seqFetch(seqId, start, end) {
|
|
51
56
|
start -= 1; // convert from 1-based closed to interbase
|
|
52
57
|
const { sequenceAdapter } = await this.configure();
|
|
53
58
|
const refName = this.refIdToOriginalName(seqId) || this.refIdToName(seqId);
|
|
54
59
|
if (!refName) {
|
|
55
|
-
|
|
60
|
+
throw new Error('unknown');
|
|
56
61
|
}
|
|
57
62
|
const seqChunks = await sequenceAdapter
|
|
58
63
|
.getFeatures({
|
|
@@ -82,10 +87,10 @@ export default class CramAdapter extends BaseFeatureDataAdapter {
|
|
|
82
87
|
}
|
|
83
88
|
async setupPre(opts) {
|
|
84
89
|
const { statusCallback = () => { } } = opts || {};
|
|
85
|
-
const
|
|
90
|
+
const conf = await this.configure();
|
|
86
91
|
statusCallback('Downloading index');
|
|
87
|
-
const { cram } =
|
|
88
|
-
const samHeader = await cram.cram.getSamHeader(
|
|
92
|
+
const { cram } = conf;
|
|
93
|
+
const samHeader = await cram.cram.getSamHeader();
|
|
89
94
|
// use the @SQ lines in the header to figure out the
|
|
90
95
|
// mapping between ref ID numbers and names
|
|
91
96
|
const idToName = [];
|
|
@@ -108,7 +113,7 @@ export default class CramAdapter extends BaseFeatureDataAdapter {
|
|
|
108
113
|
const data = { idToName, nameToId, readGroups };
|
|
109
114
|
statusCallback('');
|
|
110
115
|
this.samHeader = data;
|
|
111
|
-
return { samHeader: data, ...
|
|
116
|
+
return { samHeader: data, ...conf };
|
|
112
117
|
}
|
|
113
118
|
async setup(opts) {
|
|
114
119
|
if (!this.setupP) {
|
|
@@ -140,13 +145,8 @@ export default class CramAdapter extends BaseFeatureDataAdapter {
|
|
|
140
145
|
// use info from the SAM header if possible, but fall back to using
|
|
141
146
|
// the ref seq order from when the browser's refseqs were loaded
|
|
142
147
|
refIdToName(refId) {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
}
|
|
146
|
-
if (this.seqIdToRefName) {
|
|
147
|
-
return this.seqIdToRefName[refId];
|
|
148
|
-
}
|
|
149
|
-
return undefined;
|
|
148
|
+
var _a, _b;
|
|
149
|
+
return ((_a = this.samHeader.idToName) === null || _a === void 0 ? void 0 : _a[refId]) || ((_b = this.seqIdToRefName) === null || _b === void 0 ? void 0 : _b[refId]);
|
|
150
150
|
}
|
|
151
151
|
refIdToOriginalName(refId) {
|
|
152
152
|
return this.seqIdToOriginalRefName[refId];
|
|
@@ -155,44 +155,37 @@ export default class CramAdapter extends BaseFeatureDataAdapter {
|
|
|
155
155
|
const { signal, filterBy, statusCallback = () => { } } = opts || {};
|
|
156
156
|
const { refName, start, end, originalRefName } = region;
|
|
157
157
|
return ObservableCreate(async (observer) => {
|
|
158
|
-
const { cram
|
|
159
|
-
statusCallback('Downloading alignments');
|
|
160
|
-
if (!this.seqIdToRefName) {
|
|
161
|
-
this.seqIdToRefName = await sequenceAdapter.getRefNames(opts);
|
|
162
|
-
}
|
|
158
|
+
const { cram } = await this.setup(opts);
|
|
163
159
|
const refId = this.refNameToId(refName);
|
|
164
|
-
if (refId
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
186
|
-
(record) => record.readName === readName);
|
|
187
|
-
}
|
|
188
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
189
|
-
filtered.forEach((record) => {
|
|
190
|
-
observer.next(this.cramRecordToFeature(record));
|
|
160
|
+
if (refId === undefined) {
|
|
161
|
+
console.warn('Unknown refName', refName);
|
|
162
|
+
observer.complete();
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
if (originalRefName) {
|
|
166
|
+
this.seqIdToOriginalRefName[refId] = originalRefName;
|
|
167
|
+
}
|
|
168
|
+
statusCallback('Downloading alignments');
|
|
169
|
+
const records = await cram.getRecordsForRange(refId, start, end);
|
|
170
|
+
checkAbortSignal(signal);
|
|
171
|
+
const { flagInclude = 0, flagExclude = 0, tagFilter, readName, } = filterBy || {};
|
|
172
|
+
let filtered = records.filter(record => {
|
|
173
|
+
const flags = record.flags;
|
|
174
|
+
return (flags & flagInclude) === flagInclude && !(flags & flagExclude);
|
|
175
|
+
});
|
|
176
|
+
if (tagFilter) {
|
|
177
|
+
filtered = filtered.filter(record => {
|
|
178
|
+
// @ts-ignore
|
|
179
|
+
const val = record[tagFilter.tag];
|
|
180
|
+
return val === '*' ? val !== undefined : val === tagFilter.value;
|
|
191
181
|
});
|
|
192
182
|
}
|
|
193
|
-
|
|
194
|
-
|
|
183
|
+
if (readName) {
|
|
184
|
+
filtered = filtered.filter(record => record.readName === readName);
|
|
195
185
|
}
|
|
186
|
+
filtered.forEach(record => {
|
|
187
|
+
observer.next(this.cramRecordToFeature(record));
|
|
188
|
+
});
|
|
196
189
|
statusCallback('');
|
|
197
190
|
observer.complete();
|
|
198
191
|
}, signal);
|
|
@@ -220,7 +213,9 @@ export default class CramAdapter extends BaseFeatureDataAdapter {
|
|
|
220
213
|
const blockResults = await Promise.all(regions.map(region => {
|
|
221
214
|
const { refName, start, end } = region;
|
|
222
215
|
const chrId = this.refNameToId(refName);
|
|
223
|
-
return
|
|
216
|
+
return chrId !== undefined
|
|
217
|
+
? cram.index.getEntriesForRange(chrId, start, end)
|
|
218
|
+
: [{ sliceBytes: 0 }];
|
|
224
219
|
}));
|
|
225
220
|
return blockResults.flat().reduce((a, b) => a + b.sliceBytes, 0);
|
|
226
221
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CramAdapter.js","sourceRoot":"","sources":["../../src/CramAdapter/CramAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"CramAdapter.js","sourceRoot":"","sources":["../../src/CramAdapter/CramAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,40 +1,32 @@
|
|
|
1
1
|
import { Feature, SimpleFeatureSerialized } from '@jbrowse/core/util/simpleFeature';
|
|
2
|
+
import { CramRecord } from '@gmod/cram';
|
|
2
3
|
import CramAdapter from './CramAdapter';
|
|
3
|
-
|
|
4
|
-
qual?: number;
|
|
5
|
-
start: number;
|
|
6
|
-
length: number;
|
|
7
|
-
type: string;
|
|
8
|
-
base: string;
|
|
9
|
-
altbase?: string;
|
|
10
|
-
seq?: string;
|
|
11
|
-
cliplen?: number;
|
|
12
|
-
}
|
|
4
|
+
import { Mismatch } from './util';
|
|
13
5
|
export default class CramSlightlyLazyFeature implements Feature {
|
|
14
6
|
private record;
|
|
15
7
|
private _store;
|
|
16
|
-
constructor(record:
|
|
17
|
-
_get_name():
|
|
8
|
+
constructor(record: CramRecord, _store: CramAdapter);
|
|
9
|
+
_get_name(): string | undefined;
|
|
18
10
|
_get_start(): number;
|
|
19
11
|
_get_end(): number;
|
|
20
|
-
_get_cram_read_features():
|
|
12
|
+
_get_cram_read_features(): import("@gmod/cram/dist/cramFile/record").ReadFeature[] | undefined;
|
|
21
13
|
_get_type(): string;
|
|
22
|
-
_get_score():
|
|
23
|
-
_get_flags():
|
|
14
|
+
_get_score(): number | undefined;
|
|
15
|
+
_get_flags(): number;
|
|
24
16
|
_get_strand(): 1 | -1;
|
|
25
|
-
_read_group_id():
|
|
26
|
-
_get_qual():
|
|
27
|
-
qualRaw():
|
|
17
|
+
_read_group_id(): string | undefined;
|
|
18
|
+
_get_qual(): string;
|
|
19
|
+
qualRaw(): number[] | null | undefined;
|
|
28
20
|
_get_seq_id(): string | undefined;
|
|
29
21
|
_get_refName(): string | undefined;
|
|
30
22
|
_get_is_paired(): boolean;
|
|
31
|
-
_get_pair_orientation():
|
|
32
|
-
_get_template_length():
|
|
23
|
+
_get_pair_orientation(): string | null | undefined;
|
|
24
|
+
_get_template_length(): number | undefined;
|
|
33
25
|
_get_next_seq_id(): string | undefined;
|
|
34
|
-
_get_next_pos():
|
|
26
|
+
_get_next_pos(): number | undefined;
|
|
35
27
|
_get_next_segment_position(): string | undefined;
|
|
36
|
-
_get_tags():
|
|
37
|
-
_get_seq():
|
|
28
|
+
_get_tags(): Record<string, string>;
|
|
29
|
+
_get_seq(): string | null | undefined;
|
|
38
30
|
_get_CIGAR(): string;
|
|
39
31
|
tags(): string[];
|
|
40
32
|
id(): string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { readFeaturesToCIGAR, readFeaturesToMismatches } from './util';
|
|
1
2
|
export default class CramSlightlyLazyFeature {
|
|
2
3
|
// uses parameter properties to automatically create fields on the class
|
|
3
4
|
// https://www.typescriptlang.org/docs/handbook/classes.html#parameter-properties
|
|
4
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5
5
|
constructor(record, _store) {
|
|
6
6
|
this.record = record;
|
|
7
7
|
this._store = _store;
|
|
@@ -13,7 +13,8 @@ export default class CramSlightlyLazyFeature {
|
|
|
13
13
|
return this.record.alignmentStart - 1;
|
|
14
14
|
}
|
|
15
15
|
_get_end() {
|
|
16
|
-
|
|
16
|
+
var _a;
|
|
17
|
+
return this.record.alignmentStart + ((_a = this.record.lengthOnRef) !== null && _a !== void 0 ? _a : 1) - 1;
|
|
17
18
|
}
|
|
18
19
|
_get_cram_read_features() {
|
|
19
20
|
return this.record.readFeatures;
|
|
@@ -79,115 +80,10 @@ export default class CramSlightlyLazyFeature {
|
|
|
79
80
|
}
|
|
80
81
|
// generate a CIGAR, based on code from jkbonfield
|
|
81
82
|
_get_CIGAR() {
|
|
82
|
-
|
|
83
|
-
let cigar = '';
|
|
84
|
-
let op = 'M';
|
|
85
|
-
let oplen = 0;
|
|
86
|
-
// not sure I should access these, but...
|
|
87
|
-
const ref = this.record._refRegion.seq;
|
|
88
|
-
const refStart = this.record._refRegion.start;
|
|
89
|
-
let last_pos = this.record.alignmentStart;
|
|
90
|
-
let sublen = 0;
|
|
91
|
-
if (typeof this.record.readFeatures !== 'undefined') {
|
|
92
|
-
// @ts-ignore
|
|
93
|
-
for (let i = 0; i < this.record.readFeatures.length; i++) {
|
|
94
|
-
const { code, refPos, sub, data } = this.record.readFeatures[i];
|
|
95
|
-
sublen = refPos - last_pos;
|
|
96
|
-
seq += ref.substring(last_pos - refStart, refPos - refStart);
|
|
97
|
-
last_pos = refPos;
|
|
98
|
-
if (oplen && op !== 'M') {
|
|
99
|
-
cigar += oplen + op;
|
|
100
|
-
oplen = 0;
|
|
101
|
-
}
|
|
102
|
-
if (sublen) {
|
|
103
|
-
op = 'M';
|
|
104
|
-
oplen += sublen;
|
|
105
|
-
}
|
|
106
|
-
if (code === 'b') {
|
|
107
|
-
// An array of bases stored verbatim
|
|
108
|
-
const ret = data.split(',');
|
|
109
|
-
const added = String.fromCharCode(...ret);
|
|
110
|
-
seq += added;
|
|
111
|
-
last_pos += added.length;
|
|
112
|
-
oplen += added.length;
|
|
113
|
-
}
|
|
114
|
-
else if (code === 'B') {
|
|
115
|
-
// Single base (+ qual score)
|
|
116
|
-
seq += sub;
|
|
117
|
-
last_pos++;
|
|
118
|
-
oplen++;
|
|
119
|
-
}
|
|
120
|
-
else if (code === 'X') {
|
|
121
|
-
// Substitution
|
|
122
|
-
seq += sub;
|
|
123
|
-
last_pos++;
|
|
124
|
-
oplen++;
|
|
125
|
-
}
|
|
126
|
-
else if (code === 'D' || code === 'N') {
|
|
127
|
-
// Deletion or Ref Skip
|
|
128
|
-
last_pos += data;
|
|
129
|
-
if (oplen) {
|
|
130
|
-
cigar += oplen + op;
|
|
131
|
-
}
|
|
132
|
-
cigar += data + code;
|
|
133
|
-
oplen = 0;
|
|
134
|
-
}
|
|
135
|
-
else if (code === 'I' || code === 'S') {
|
|
136
|
-
// Insertion or soft-clip
|
|
137
|
-
seq += data;
|
|
138
|
-
if (oplen) {
|
|
139
|
-
cigar += oplen + op;
|
|
140
|
-
}
|
|
141
|
-
cigar += data.length + code;
|
|
142
|
-
oplen = 0;
|
|
143
|
-
}
|
|
144
|
-
else if (code === 'i') {
|
|
145
|
-
// Single base insertion
|
|
146
|
-
seq += data;
|
|
147
|
-
if (oplen) {
|
|
148
|
-
cigar += oplen + op;
|
|
149
|
-
}
|
|
150
|
-
cigar += `${1}I`;
|
|
151
|
-
oplen = 0;
|
|
152
|
-
}
|
|
153
|
-
else if (code === 'P') {
|
|
154
|
-
// Padding
|
|
155
|
-
if (oplen) {
|
|
156
|
-
cigar += oplen + op;
|
|
157
|
-
}
|
|
158
|
-
cigar += `${data}P`;
|
|
159
|
-
}
|
|
160
|
-
else if (code === 'H') {
|
|
161
|
-
// Hard clip
|
|
162
|
-
if (oplen) {
|
|
163
|
-
cigar += oplen + op;
|
|
164
|
-
}
|
|
165
|
-
cigar += `${data}H`;
|
|
166
|
-
oplen = 0;
|
|
167
|
-
} // else q or Q
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
sublen = this.record.readLength - seq.length;
|
|
172
|
-
}
|
|
173
|
-
if (seq.length !== this.record.readLength) {
|
|
174
|
-
sublen = this.record.readLength - seq.length;
|
|
175
|
-
seq += ref.substring(last_pos - refStart, last_pos - refStart + sublen);
|
|
176
|
-
if (oplen && op !== 'M') {
|
|
177
|
-
cigar += oplen + op;
|
|
178
|
-
oplen = 0;
|
|
179
|
-
}
|
|
180
|
-
op = 'M';
|
|
181
|
-
oplen += sublen;
|
|
182
|
-
}
|
|
183
|
-
if (oplen) {
|
|
184
|
-
cigar += oplen + op;
|
|
185
|
-
}
|
|
186
|
-
return cigar;
|
|
83
|
+
return readFeaturesToCIGAR(this.record.readFeatures, this.record.alignmentStart, this.record.readLength, this.record._refRegion);
|
|
187
84
|
}
|
|
188
85
|
tags() {
|
|
189
|
-
|
|
190
|
-
return properties
|
|
86
|
+
return Object.getOwnPropertyNames(CramSlightlyLazyFeature.prototype)
|
|
191
87
|
.filter(prop => prop.startsWith('_get_') &&
|
|
192
88
|
prop !== '_get_mismatches' &&
|
|
193
89
|
prop !== '_get_cram_read_features')
|
|
@@ -229,121 +125,18 @@ export default class CramSlightlyLazyFeature {
|
|
|
229
125
|
return 0;
|
|
230
126
|
}
|
|
231
127
|
toJSON() {
|
|
232
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
233
|
-
const tags = {};
|
|
234
|
-
this.tags().forEach((t) => {
|
|
235
|
-
const val = this.get(t);
|
|
236
|
-
if (val !== undefined) {
|
|
237
|
-
tags[t] = val;
|
|
238
|
-
}
|
|
239
|
-
});
|
|
240
128
|
return {
|
|
241
|
-
...tags
|
|
242
|
-
|
|
243
|
-
|
|
129
|
+
...Object.fromEntries(this.tags()
|
|
130
|
+
.map(t => [t, this.get(t)])
|
|
131
|
+
.filter(elt => elt[1] !== undefined)),
|
|
244
132
|
uniqueId: this.id(),
|
|
245
133
|
};
|
|
246
134
|
}
|
|
247
135
|
_get_mismatches() {
|
|
248
|
-
const readFeatures = this.
|
|
136
|
+
const readFeatures = this.record.readFeatures;
|
|
249
137
|
const qual = this.qualRaw();
|
|
250
|
-
if (!readFeatures) {
|
|
251
|
-
return [];
|
|
252
|
-
}
|
|
253
138
|
const start = this.get('start');
|
|
254
|
-
|
|
255
|
-
let j = 0;
|
|
256
|
-
for (let i = 0; i < readFeatures.length; i++) {
|
|
257
|
-
const f = readFeatures[i];
|
|
258
|
-
const { code, pos, data, sub, ref } = f;
|
|
259
|
-
const refPos = f.refPos - 1 - start;
|
|
260
|
-
if (code === 'X') {
|
|
261
|
-
// substitution
|
|
262
|
-
mismatches[j++] = {
|
|
263
|
-
start: refPos,
|
|
264
|
-
length: 1,
|
|
265
|
-
base: sub,
|
|
266
|
-
qual: qual === null || qual === void 0 ? void 0 : qual[pos],
|
|
267
|
-
altbase: ref,
|
|
268
|
-
type: 'mismatch',
|
|
269
|
-
};
|
|
270
|
-
}
|
|
271
|
-
else if (code === 'I') {
|
|
272
|
-
// insertion
|
|
273
|
-
mismatches[j++] = {
|
|
274
|
-
start: refPos,
|
|
275
|
-
type: 'insertion',
|
|
276
|
-
base: `${data.length}`,
|
|
277
|
-
length: 0,
|
|
278
|
-
};
|
|
279
|
-
}
|
|
280
|
-
else if (code === 'N') {
|
|
281
|
-
// reference skip
|
|
282
|
-
mismatches[j++] = {
|
|
283
|
-
type: 'skip',
|
|
284
|
-
length: data,
|
|
285
|
-
start: refPos,
|
|
286
|
-
base: 'N',
|
|
287
|
-
};
|
|
288
|
-
}
|
|
289
|
-
else if (code === 'S') {
|
|
290
|
-
// soft clip
|
|
291
|
-
const len = data.length;
|
|
292
|
-
mismatches[j++] = {
|
|
293
|
-
start: refPos,
|
|
294
|
-
type: 'softclip',
|
|
295
|
-
base: `S${len}`,
|
|
296
|
-
cliplen: len,
|
|
297
|
-
length: 1,
|
|
298
|
-
};
|
|
299
|
-
}
|
|
300
|
-
else if (code === 'P') {
|
|
301
|
-
// padding
|
|
302
|
-
}
|
|
303
|
-
else if (code === 'H') {
|
|
304
|
-
// hard clip
|
|
305
|
-
const len = data;
|
|
306
|
-
mismatches[j++] = {
|
|
307
|
-
start: refPos,
|
|
308
|
-
type: 'hardclip',
|
|
309
|
-
base: `H${len}`,
|
|
310
|
-
cliplen: len,
|
|
311
|
-
length: 1,
|
|
312
|
-
};
|
|
313
|
-
}
|
|
314
|
-
else if (code === 'D') {
|
|
315
|
-
// deletion
|
|
316
|
-
mismatches[j++] = {
|
|
317
|
-
type: 'deletion',
|
|
318
|
-
length: data,
|
|
319
|
-
start: refPos,
|
|
320
|
-
base: '*',
|
|
321
|
-
};
|
|
322
|
-
}
|
|
323
|
-
else if (code === 'b') {
|
|
324
|
-
// stretch of bases
|
|
325
|
-
}
|
|
326
|
-
else if (code === 'q') {
|
|
327
|
-
// stretch of qual scores
|
|
328
|
-
}
|
|
329
|
-
else if (code === 'B') {
|
|
330
|
-
// a pair of [base, qual]
|
|
331
|
-
}
|
|
332
|
-
else if (code === 'i') {
|
|
333
|
-
// single-base insertion
|
|
334
|
-
// insertion
|
|
335
|
-
mismatches[j++] = {
|
|
336
|
-
start: refPos,
|
|
337
|
-
type: 'insertion',
|
|
338
|
-
base: data,
|
|
339
|
-
length: 1,
|
|
340
|
-
};
|
|
341
|
-
}
|
|
342
|
-
else if (code === 'Q') {
|
|
343
|
-
// single quality value
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
return mismatches.slice(0, j);
|
|
139
|
+
return readFeaturesToMismatches(readFeatures, start, qual);
|
|
347
140
|
}
|
|
348
141
|
}
|
|
349
142
|
//# sourceMappingURL=CramSlightlyLazyFeature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CramSlightlyLazyFeature.js","sourceRoot":"","sources":["../../src/CramAdapter/CramSlightlyLazyFeature.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CramSlightlyLazyFeature.js","sourceRoot":"","sources":["../../src/CramAdapter/CramSlightlyLazyFeature.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export declare function parseSmallFasta(text: string): {
|
|
|
7
7
|
description: string;
|
|
8
8
|
sequence: string;
|
|
9
9
|
}[];
|
|
10
|
-
|
|
10
|
+
type FileHandle = GenericFilehandle;
|
|
11
11
|
export declare class FetchableSmallFasta {
|
|
12
12
|
data: Promise<ReturnType<typeof parseSmallFasta>>;
|
|
13
13
|
constructor(filehandle: FileHandle);
|
|
@@ -29,7 +29,7 @@ export class FetchableSmallFasta {
|
|
|
29
29
|
if (!entry) {
|
|
30
30
|
throw new Error(`no sequence with id ${id} exists`);
|
|
31
31
|
}
|
|
32
|
-
return entry.sequence.
|
|
32
|
+
return entry.sequence.slice(start, start + length);
|
|
33
33
|
}
|
|
34
34
|
async getSequenceList() {
|
|
35
35
|
const data = await this.data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CramTestAdapters.js","sourceRoot":"","sources":["../../src/CramAdapter/CramTestAdapters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,aAAa,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAA;AAErF,iCAAiC;AACjC,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzB,GAAG,CAAC,SAAS,CAAC,EAAE;QACf,MAAM,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAC5D,MAAM,CAAC,EAAE,EAAE,GAAG,gBAAgB,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpD,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACrD,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA;IACtC,CAAC,CAAC,CAAA;AACN,CAAC;AAID,MAAM,OAAO,mBAAmB;IAG9B,YAAY,UAAsB;QAChC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YACpC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAU,EAAE,KAAa,EAAE,GAAW;QAChD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAA;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;QACtB,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC,CAAA;QAC9B,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAA;SACpD;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"CramTestAdapters.js","sourceRoot":"","sources":["../../src/CramAdapter/CramTestAdapters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,aAAa,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAA;AAErF,iCAAiC;AACjC,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACzB,GAAG,CAAC,SAAS,CAAC,EAAE;QACf,MAAM,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAC5D,MAAM,CAAC,EAAE,EAAE,GAAG,gBAAgB,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpD,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACrD,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA;IACtC,CAAC,CAAC,CAAA;AACN,CAAC;AAID,MAAM,OAAO,mBAAmB;IAG9B,YAAY,UAAsB;QAChC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YACpC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAU,EAAE,KAAa,EAAE,GAAW;QAChD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAA;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;QACtB,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC,CAAA;QAC9B,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAA;SACpD;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,CAAA;IACpD,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAA;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACpC,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,sBAAsB;IAKzD,YAAY,UAAsB;QAChC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QAHlD,aAAQ,GAAa,EAAE,CAAA;QAIrB,IAAI,CAAC,KAAK,GAAG,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,WAAW,CAAC,EACV,OAAO,EACP,KAAK,EACL,GAAG,GAKJ;QACC,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC/B,IAAI,CAAC,KAAK;iBACP,eAAe,EAAE;iBACjB,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;YAC1B,CAAC,CAAC;iBACD,IAAI,CAAC,GAAG,EAAE,CACT,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAC7D;iBACA,IAAI,CAAC,GAAG,CAAC,EAAE;gBACV,QAAQ,CAAC,IAAI,CACX,IAAI,aAAa,CAAC;oBAChB,QAAQ,EAAE,GAAG,OAAO,IAAI,KAAK,IAAI,GAAG,EAAE;oBACtC,GAAG,EAAE,GAAG;oBACR,KAAK;oBACL,GAAG;iBACJ,CAAC,CACH,CAAA;gBACD,QAAQ,CAAC,QAAQ,EAAE,CAAA;YACrB,CAAC,CAAC,CAAA;YACJ,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,aAAa,EAAC,gBAAgB,IAAS,CAAC;CACzC"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export default _default;
|
|
1
|
+
declare const configSchema: import("@jbrowse/core/configuration").AnyConfigurationSchemaType;
|
|
2
|
+
export default configSchema;
|