@jbrowse/plugin-alignments 2.2.0 → 2.2.2

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 (210) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +12 -13
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +1 -1
  3. package/dist/BamAdapter/BamAdapter.d.ts +1 -1
  4. package/dist/BamAdapter/BamAdapter.js +1 -0
  5. package/dist/BamAdapter/BamAdapter.js.map +1 -1
  6. package/dist/BamAdapter/BamSlightlyLazyFeature.js +1 -0
  7. package/dist/BamAdapter/BamSlightlyLazyFeature.js.map +1 -1
  8. package/dist/BamAdapter/MismatchParser.d.ts +2 -2
  9. package/dist/BamAdapter/MismatchParser.js +4 -7
  10. package/dist/BamAdapter/MismatchParser.js.map +1 -1
  11. package/dist/BamAdapter/configSchema.js +1 -1
  12. package/dist/BamAdapter/configSchema.js.map +1 -1
  13. package/dist/BamAdapter/index.js +7 -5
  14. package/dist/BamAdapter/index.js.map +1 -1
  15. package/dist/CramAdapter/CramSlightlyLazyFeature.d.ts +1 -10
  16. package/dist/CramAdapter/CramSlightlyLazyFeature.js +5 -218
  17. package/dist/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
  18. package/dist/CramAdapter/CramTestAdapters.d.ts +1 -1
  19. package/dist/CramAdapter/CramTestAdapters.js +3 -2
  20. package/dist/CramAdapter/CramTestAdapters.js.map +1 -1
  21. package/dist/CramAdapter/configSchema.js +2 -2
  22. package/dist/CramAdapter/configSchema.js.map +1 -1
  23. package/dist/CramAdapter/index.js +7 -5
  24. package/dist/CramAdapter/index.js.map +1 -1
  25. package/dist/CramAdapter/util.d.ts +18 -0
  26. package/dist/CramAdapter/util.js +241 -0
  27. package/dist/CramAdapter/util.js.map +1 -0
  28. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +1 -1
  29. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js.map +1 -1
  30. package/dist/LinearAlignmentsDisplay/models/configSchema.d.ts +1 -1
  31. package/dist/LinearAlignmentsDisplay/models/model.d.ts +5 -5
  32. package/dist/LinearAlignmentsDisplay/models/model.js +7 -7
  33. package/dist/LinearAlignmentsDisplay/models/model.js.map +1 -1
  34. package/dist/LinearPileupDisplay/components/ColorByModifications.d.ts +3 -1
  35. package/dist/LinearPileupDisplay/components/ColorByModifications.js +7 -22
  36. package/dist/LinearPileupDisplay/components/ColorByModifications.js.map +1 -1
  37. package/dist/LinearPileupDisplay/components/ColorByTag.js +2 -22
  38. package/dist/LinearPileupDisplay/components/ColorByTag.js.map +1 -1
  39. package/dist/LinearPileupDisplay/components/FilterByTag.js +2 -15
  40. package/dist/LinearPileupDisplay/components/FilterByTag.js.map +1 -1
  41. package/dist/LinearPileupDisplay/components/SetFeatureHeight.js +2 -19
  42. package/dist/LinearPileupDisplay/components/SetFeatureHeight.js.map +1 -1
  43. package/dist/LinearPileupDisplay/components/SetMaxHeight.js +2 -18
  44. package/dist/LinearPileupDisplay/components/SetMaxHeight.js.map +1 -1
  45. package/dist/LinearPileupDisplay/components/SortByTag.js +2 -23
  46. package/dist/LinearPileupDisplay/components/SortByTag.js.map +1 -1
  47. package/dist/LinearPileupDisplay/configSchema.d.ts +4 -4
  48. package/dist/LinearPileupDisplay/configSchema.js +2 -2
  49. package/dist/LinearPileupDisplay/configSchema.js.map +1 -1
  50. package/dist/LinearPileupDisplay/index.d.ts +3 -0
  51. package/dist/LinearPileupDisplay/index.js +3 -0
  52. package/dist/LinearPileupDisplay/index.js.map +1 -1
  53. package/dist/LinearPileupDisplay/model.d.ts +19 -9
  54. package/dist/LinearPileupDisplay/model.js +25 -30
  55. package/dist/LinearPileupDisplay/model.js.map +1 -1
  56. package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -1
  57. package/dist/LinearSNPCoverageDisplay/models/model.d.ts +14 -10
  58. package/dist/LinearSNPCoverageDisplay/models/model.js +8 -6
  59. package/dist/LinearSNPCoverageDisplay/models/model.js.map +1 -1
  60. package/dist/PileupRPC/rpcMethods.d.ts +1 -1
  61. package/dist/PileupRPC/rpcMethods.js +12 -7
  62. package/dist/PileupRPC/rpcMethods.js.map +1 -1
  63. package/dist/PileupRenderer/PileupLayoutSession.d.ts +1 -1
  64. package/dist/PileupRenderer/PileupRenderer.js +32 -28
  65. package/dist/PileupRenderer/PileupRenderer.js.map +1 -1
  66. package/dist/PileupRenderer/configSchema.js +1 -1
  67. package/dist/PileupRenderer/configSchema.js.map +1 -1
  68. package/dist/PileupRenderer/index.js +8 -6
  69. package/dist/PileupRenderer/index.js.map +1 -1
  70. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +0 -51
  71. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +3 -182
  72. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js.map +1 -1
  73. package/dist/SNPCoverageAdapter/configSchema.d.ts +2 -3
  74. package/dist/SNPCoverageAdapter/configSchema.js +6 -3
  75. package/dist/SNPCoverageAdapter/configSchema.js.map +1 -1
  76. package/dist/SNPCoverageAdapter/generateCoverageBins.d.ts +53 -0
  77. package/dist/SNPCoverageAdapter/generateCoverageBins.js +185 -0
  78. package/dist/SNPCoverageAdapter/generateCoverageBins.js.map +1 -0
  79. package/dist/SNPCoverageAdapter/index.d.ts +1 -2
  80. package/dist/SNPCoverageAdapter/index.js +17 -14
  81. package/dist/SNPCoverageAdapter/index.js.map +1 -1
  82. package/dist/index.d.ts +3 -2
  83. package/dist/index.js +4 -2
  84. package/dist/index.js.map +1 -1
  85. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +12 -13
  86. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +1 -1
  87. package/esm/BamAdapter/BamAdapter.d.ts +1 -1
  88. package/esm/BamAdapter/BamAdapter.js +1 -0
  89. package/esm/BamAdapter/BamAdapter.js.map +1 -1
  90. package/esm/BamAdapter/BamSlightlyLazyFeature.js +1 -0
  91. package/esm/BamAdapter/BamSlightlyLazyFeature.js.map +1 -1
  92. package/esm/BamAdapter/MismatchParser.d.ts +2 -2
  93. package/esm/BamAdapter/MismatchParser.js +4 -7
  94. package/esm/BamAdapter/MismatchParser.js.map +1 -1
  95. package/esm/BamAdapter/configSchema.js +1 -1
  96. package/esm/BamAdapter/configSchema.js.map +1 -1
  97. package/esm/BamAdapter/index.js +7 -5
  98. package/esm/BamAdapter/index.js.map +1 -1
  99. package/esm/CramAdapter/CramSlightlyLazyFeature.d.ts +1 -10
  100. package/esm/CramAdapter/CramSlightlyLazyFeature.js +5 -218
  101. package/esm/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
  102. package/esm/CramAdapter/CramTestAdapters.d.ts +1 -1
  103. package/esm/CramAdapter/CramTestAdapters.js +3 -2
  104. package/esm/CramAdapter/CramTestAdapters.js.map +1 -1
  105. package/esm/CramAdapter/configSchema.js +2 -2
  106. package/esm/CramAdapter/configSchema.js.map +1 -1
  107. package/esm/CramAdapter/index.js +7 -5
  108. package/esm/CramAdapter/index.js.map +1 -1
  109. package/esm/CramAdapter/util.d.ts +18 -0
  110. package/esm/CramAdapter/util.js +236 -0
  111. package/esm/CramAdapter/util.js.map +1 -0
  112. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +1 -1
  113. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js.map +1 -1
  114. package/esm/LinearAlignmentsDisplay/models/configSchema.d.ts +1 -1
  115. package/esm/LinearAlignmentsDisplay/models/model.d.ts +5 -5
  116. package/esm/LinearAlignmentsDisplay/models/model.js +7 -7
  117. package/esm/LinearAlignmentsDisplay/models/model.js.map +1 -1
  118. package/esm/LinearPileupDisplay/components/ColorByModifications.d.ts +3 -1
  119. package/esm/LinearPileupDisplay/components/ColorByModifications.js +8 -23
  120. package/esm/LinearPileupDisplay/components/ColorByModifications.js.map +1 -1
  121. package/esm/LinearPileupDisplay/components/ColorByTag.js +3 -20
  122. package/esm/LinearPileupDisplay/components/ColorByTag.js.map +1 -1
  123. package/esm/LinearPileupDisplay/components/FilterByTag.js +3 -13
  124. package/esm/LinearPileupDisplay/components/FilterByTag.js.map +1 -1
  125. package/esm/LinearPileupDisplay/components/SetFeatureHeight.js +3 -17
  126. package/esm/LinearPileupDisplay/components/SetFeatureHeight.js.map +1 -1
  127. package/esm/LinearPileupDisplay/components/SetMaxHeight.js +3 -16
  128. package/esm/LinearPileupDisplay/components/SetMaxHeight.js.map +1 -1
  129. package/esm/LinearPileupDisplay/components/SortByTag.js +3 -21
  130. package/esm/LinearPileupDisplay/components/SortByTag.js.map +1 -1
  131. package/esm/LinearPileupDisplay/configSchema.d.ts +4 -4
  132. package/esm/LinearPileupDisplay/configSchema.js +2 -2
  133. package/esm/LinearPileupDisplay/configSchema.js.map +1 -1
  134. package/esm/LinearPileupDisplay/index.d.ts +3 -0
  135. package/esm/LinearPileupDisplay/index.js +1 -0
  136. package/esm/LinearPileupDisplay/index.js.map +1 -1
  137. package/esm/LinearPileupDisplay/model.d.ts +19 -9
  138. package/esm/LinearPileupDisplay/model.js +25 -30
  139. package/esm/LinearPileupDisplay/model.js.map +1 -1
  140. package/esm/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -1
  141. package/esm/LinearSNPCoverageDisplay/models/model.d.ts +14 -10
  142. package/esm/LinearSNPCoverageDisplay/models/model.js +9 -7
  143. package/esm/LinearSNPCoverageDisplay/models/model.js.map +1 -1
  144. package/esm/PileupRPC/rpcMethods.d.ts +1 -1
  145. package/esm/PileupRPC/rpcMethods.js +12 -7
  146. package/esm/PileupRPC/rpcMethods.js.map +1 -1
  147. package/esm/PileupRenderer/PileupLayoutSession.d.ts +1 -1
  148. package/esm/PileupRenderer/PileupRenderer.js +32 -28
  149. package/esm/PileupRenderer/PileupRenderer.js.map +1 -1
  150. package/esm/PileupRenderer/configSchema.js +1 -1
  151. package/esm/PileupRenderer/configSchema.js.map +1 -1
  152. package/esm/PileupRenderer/index.js +8 -6
  153. package/esm/PileupRenderer/index.js.map +1 -1
  154. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +0 -51
  155. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js +4 -183
  156. package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js.map +1 -1
  157. package/esm/SNPCoverageAdapter/configSchema.d.ts +2 -3
  158. package/esm/SNPCoverageAdapter/configSchema.js +6 -3
  159. package/esm/SNPCoverageAdapter/configSchema.js.map +1 -1
  160. package/esm/SNPCoverageAdapter/generateCoverageBins.d.ts +53 -0
  161. package/esm/SNPCoverageAdapter/generateCoverageBins.js +182 -0
  162. package/esm/SNPCoverageAdapter/generateCoverageBins.js.map +1 -0
  163. package/esm/SNPCoverageAdapter/index.d.ts +1 -2
  164. package/esm/SNPCoverageAdapter/index.js +17 -15
  165. package/esm/SNPCoverageAdapter/index.js.map +1 -1
  166. package/esm/index.d.ts +3 -2
  167. package/esm/index.js +2 -2
  168. package/esm/index.js.map +1 -1
  169. package/package.json +4 -3
  170. package/src/AlignmentsFeatureDetail/AlignmentsFeatureDetail.tsx +17 -16
  171. package/src/AlignmentsFeatureDetail/__snapshots__/index.test.js.snap +1 -473
  172. package/src/AlignmentsFeatureDetail/index.test.js +6 -4
  173. package/src/BamAdapter/BamAdapter.ts +3 -2
  174. package/src/BamAdapter/BamSlightlyLazyFeature.ts +2 -1
  175. package/src/BamAdapter/MismatchParser.test.ts +21 -12
  176. package/src/BamAdapter/MismatchParser.ts +7 -10
  177. package/src/BamAdapter/__snapshots__/BamAdapter.test.ts.snap +135 -135
  178. package/src/BamAdapter/configSchema.ts +1 -1
  179. package/src/BamAdapter/index.ts +7 -8
  180. package/src/CombinationTest.test.ts +107 -0
  181. package/src/CramAdapter/CramSlightlyLazyFeature.ts +10 -219
  182. package/src/CramAdapter/CramTestAdapters.ts +2 -1
  183. package/src/CramAdapter/__snapshots__/CramAdapter.test.ts.snap +31 -31
  184. package/src/CramAdapter/__snapshots__/util.test.ts.snap +14 -0
  185. package/src/CramAdapter/configSchema.ts +2 -3
  186. package/src/CramAdapter/index.ts +7 -8
  187. package/src/CramAdapter/util.test.ts +26 -0
  188. package/src/CramAdapter/util.ts +251 -0
  189. package/src/LinearAlignmentsDisplay/components/AlignmentsDisplay.tsx +3 -1
  190. package/src/LinearAlignmentsDisplay/models/model.tsx +8 -7
  191. package/src/LinearPileupDisplay/components/ColorByModifications.tsx +5 -34
  192. package/src/LinearPileupDisplay/components/ColorByTag.tsx +2 -29
  193. package/src/LinearPileupDisplay/components/FilterByTag.tsx +2 -22
  194. package/src/LinearPileupDisplay/components/SetFeatureHeight.tsx +2 -22
  195. package/src/LinearPileupDisplay/components/SetMaxHeight.tsx +2 -24
  196. package/src/LinearPileupDisplay/components/SortByTag.tsx +2 -31
  197. package/src/LinearPileupDisplay/configSchema.ts +3 -5
  198. package/src/LinearPileupDisplay/index.ts +5 -0
  199. package/src/LinearPileupDisplay/model.ts +31 -30
  200. package/src/LinearSNPCoverageDisplay/models/model.ts +12 -8
  201. package/src/PileupRPC/rpcMethods.ts +15 -20
  202. package/src/PileupRenderer/{PileupRenderer.tsx → PileupRenderer.ts} +48 -54
  203. package/src/PileupRenderer/configSchema.ts +1 -1
  204. package/src/PileupRenderer/index.ts +8 -9
  205. package/src/SNPCoverageAdapter/SNPCoverageAdapter.ts +5 -249
  206. package/src/SNPCoverageAdapter/configSchema.ts +14 -13
  207. package/src/SNPCoverageAdapter/generateCoverageBins.ts +245 -0
  208. package/src/SNPCoverageAdapter/index.ts +17 -18
  209. package/src/__snapshots__/index.test.ts.snap +1 -1
  210. package/src/index.ts +11 -4
@@ -139,79 +139,88 @@ test('more skip', () => {
139
139
  (a, b) => a.start - b.start,
140
140
  ),
141
141
  ).toMatchInlineSnapshot(`
142
- Array [
143
- Object {
142
+ [
143
+ {
144
144
  "altbase": "G",
145
145
  "base": "A",
146
146
  "length": 1,
147
+ "qual": undefined,
147
148
  "start": 6,
148
149
  "type": "mismatch",
149
150
  },
150
- Object {
151
+ {
151
152
  "altbase": "C",
152
153
  "base": "A",
153
154
  "length": 1,
155
+ "qual": undefined,
154
156
  "start": 11,
155
157
  "type": "mismatch",
156
158
  },
157
- Object {
159
+ {
158
160
  "base": "1",
159
161
  "length": 0,
160
162
  "start": 31,
161
163
  "type": "insertion",
162
164
  },
163
- Object {
165
+ {
164
166
  "altbase": "G",
165
167
  "base": "C",
166
168
  "length": 1,
169
+ "qual": undefined,
167
170
  "start": 32,
168
171
  "type": "mismatch",
169
172
  },
170
- Object {
173
+ {
171
174
  "altbase": "A",
172
175
  "base": "C",
173
176
  "length": 1,
177
+ "qual": undefined,
174
178
  "start": 34,
175
179
  "type": "mismatch",
176
180
  },
177
- Object {
181
+ {
178
182
  "altbase": "C",
179
183
  "base": "C",
180
184
  "length": 1,
185
+ "qual": undefined,
181
186
  "start": 40,
182
187
  "type": "mismatch",
183
188
  },
184
- Object {
189
+ {
185
190
  "altbase": "A",
186
191
  "base": "C",
187
192
  "length": 1,
193
+ "qual": undefined,
188
194
  "start": 46,
189
195
  "type": "mismatch",
190
196
  },
191
- Object {
197
+ {
192
198
  "base": "*",
193
199
  "length": 1,
194
200
  "start": 48,
195
201
  "type": "deletion",
196
202
  },
197
- Object {
203
+ {
198
204
  "altbase": "A",
199
205
  "base": "G",
200
206
  "length": 1,
207
+ "qual": undefined,
201
208
  "start": 52,
202
209
  "type": "mismatch",
203
210
  },
204
- Object {
211
+ {
205
212
  "altbase": "G",
206
213
  "base": "G",
207
214
  "length": 1,
215
+ "qual": undefined,
208
216
  "start": 68,
209
217
  "type": "mismatch",
210
218
  },
211
- Object {
219
+ {
212
220
  "altbase": "G",
213
221
  "base": "G",
214
222
  "length": 1,
223
+ "qual": undefined,
215
224
  "start": 70,
216
225
  "type": "mismatch",
217
226
  },
@@ -16,7 +16,7 @@ export function parseCigar(cigar = '') {
16
16
  }
17
17
  export function cigarToMismatches(
18
18
  ops: string[],
19
- seq: string,
19
+ seq?: string,
20
20
  ref?: string,
21
21
  qual?: Buffer,
22
22
  ): Mismatch[] {
@@ -70,7 +70,7 @@ export function cigarToMismatches(
70
70
  length: len,
71
71
  })
72
72
  } else if (op === 'X') {
73
- const r = seq.slice(soffset, soffset + len)
73
+ const r = seq?.slice(soffset, soffset + len) || []
74
74
  const q = qual?.slice(soffset, soffset + len) || []
75
75
 
76
76
  for (let j = 0; j < len; j++) {
@@ -195,10 +195,7 @@ export function mdToMismatches(
195
195
  }
196
196
  const s = getTemplateCoordLocal(curr.start)
197
197
  curr.base = seq[s] || 'X'
198
- const qualScore = qual?.[s]
199
- if (qualScore) {
200
- curr.qual = qualScore
201
- }
198
+ curr.qual = qual?.[s]
202
199
  curr.altbase = token
203
200
  nextRecord()
204
201
  }
@@ -209,8 +206,8 @@ export function mdToMismatches(
209
206
 
210
207
  export function getMismatches(
211
208
  cigar: string,
212
- md: string,
213
- seq: string,
209
+ md?: string,
210
+ seq?: string,
214
211
  ref?: string,
215
212
  qual?: Buffer,
216
213
  ): Mismatch[] {
@@ -223,7 +220,7 @@ export function getMismatches(
223
220
  }
224
221
 
225
222
  // now let's look for CRAM or MD mismatches
226
- if (md) {
223
+ if (md && seq) {
227
224
  mismatches = mismatches.concat(
228
225
  mdToMismatches(md, ops, mismatches, seq, qual),
229
226
  )
@@ -332,7 +329,7 @@ export function getModificationTypes(mm: string) {
332
329
 
333
330
  const matches = basemod.match(modificationRegex)
334
331
  if (!matches) {
335
- throw new Error('bad format for MM tag')
332
+ throw new Error(`bad format for MM tag: ${mm}`)
336
333
  }
337
334
  const [, , , typestr] = matches
338
335