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