@jbrowse/plugin-alignments 2.2.0 → 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 (154) 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 +1 -1
  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/configSchema.d.ts +4 -4
  35. package/dist/LinearPileupDisplay/configSchema.js +2 -2
  36. package/dist/LinearPileupDisplay/configSchema.js.map +1 -1
  37. package/dist/LinearPileupDisplay/index.d.ts +3 -0
  38. package/dist/LinearPileupDisplay/index.js +3 -0
  39. package/dist/LinearPileupDisplay/index.js.map +1 -1
  40. package/dist/LinearPileupDisplay/model.d.ts +19 -9
  41. package/dist/LinearPileupDisplay/model.js +25 -30
  42. package/dist/LinearPileupDisplay/model.js.map +1 -1
  43. package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -1
  44. package/dist/LinearSNPCoverageDisplay/models/model.d.ts +1 -1
  45. package/dist/PileupRPC/rpcMethods.d.ts +1 -1
  46. package/dist/PileupRPC/rpcMethods.js +12 -7
  47. package/dist/PileupRPC/rpcMethods.js.map +1 -1
  48. package/dist/PileupRenderer/PileupLayoutSession.d.ts +1 -1
  49. package/dist/PileupRenderer/PileupRenderer.js +32 -28
  50. package/dist/PileupRenderer/PileupRenderer.js.map +1 -1
  51. package/dist/PileupRenderer/index.js +8 -6
  52. package/dist/PileupRenderer/index.js.map +1 -1
  53. package/dist/SNPCoverageAdapter/configSchema.d.ts +2 -3
  54. package/dist/SNPCoverageAdapter/configSchema.js +6 -3
  55. package/dist/SNPCoverageAdapter/configSchema.js.map +1 -1
  56. package/dist/SNPCoverageAdapter/index.d.ts +1 -2
  57. package/dist/SNPCoverageAdapter/index.js +17 -14
  58. package/dist/SNPCoverageAdapter/index.js.map +1 -1
  59. package/dist/index.d.ts +3 -2
  60. package/dist/index.js +4 -2
  61. package/dist/index.js.map +1 -1
  62. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +12 -13
  63. package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js.map +1 -1
  64. package/esm/BamAdapter/BamAdapter.d.ts +1 -1
  65. package/esm/BamAdapter/BamAdapter.js +1 -0
  66. package/esm/BamAdapter/BamAdapter.js.map +1 -1
  67. package/esm/BamAdapter/BamSlightlyLazyFeature.js +1 -0
  68. package/esm/BamAdapter/BamSlightlyLazyFeature.js.map +1 -1
  69. package/esm/BamAdapter/MismatchParser.d.ts +2 -2
  70. package/esm/BamAdapter/MismatchParser.js +4 -7
  71. package/esm/BamAdapter/MismatchParser.js.map +1 -1
  72. package/esm/BamAdapter/configSchema.js +1 -1
  73. package/esm/BamAdapter/configSchema.js.map +1 -1
  74. package/esm/BamAdapter/index.js +7 -5
  75. package/esm/BamAdapter/index.js.map +1 -1
  76. package/esm/CramAdapter/CramSlightlyLazyFeature.d.ts +1 -10
  77. package/esm/CramAdapter/CramSlightlyLazyFeature.js +5 -218
  78. package/esm/CramAdapter/CramSlightlyLazyFeature.js.map +1 -1
  79. package/esm/CramAdapter/CramTestAdapters.d.ts +1 -1
  80. package/esm/CramAdapter/CramTestAdapters.js +1 -1
  81. package/esm/CramAdapter/CramTestAdapters.js.map +1 -1
  82. package/esm/CramAdapter/configSchema.js +2 -2
  83. package/esm/CramAdapter/configSchema.js.map +1 -1
  84. package/esm/CramAdapter/index.js +7 -5
  85. package/esm/CramAdapter/index.js.map +1 -1
  86. package/esm/CramAdapter/util.d.ts +18 -0
  87. package/esm/CramAdapter/util.js +236 -0
  88. package/esm/CramAdapter/util.js.map +1 -0
  89. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +1 -1
  90. package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js.map +1 -1
  91. package/esm/LinearAlignmentsDisplay/models/configSchema.d.ts +1 -1
  92. package/esm/LinearAlignmentsDisplay/models/model.d.ts +5 -5
  93. package/esm/LinearAlignmentsDisplay/models/model.js +7 -7
  94. package/esm/LinearAlignmentsDisplay/models/model.js.map +1 -1
  95. package/esm/LinearPileupDisplay/configSchema.d.ts +4 -4
  96. package/esm/LinearPileupDisplay/configSchema.js +2 -2
  97. package/esm/LinearPileupDisplay/configSchema.js.map +1 -1
  98. package/esm/LinearPileupDisplay/index.d.ts +3 -0
  99. package/esm/LinearPileupDisplay/index.js +1 -0
  100. package/esm/LinearPileupDisplay/index.js.map +1 -1
  101. package/esm/LinearPileupDisplay/model.d.ts +19 -9
  102. package/esm/LinearPileupDisplay/model.js +25 -30
  103. package/esm/LinearPileupDisplay/model.js.map +1 -1
  104. package/esm/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -1
  105. package/esm/LinearSNPCoverageDisplay/models/model.d.ts +1 -1
  106. package/esm/PileupRPC/rpcMethods.d.ts +1 -1
  107. package/esm/PileupRPC/rpcMethods.js +12 -7
  108. package/esm/PileupRPC/rpcMethods.js.map +1 -1
  109. package/esm/PileupRenderer/PileupLayoutSession.d.ts +1 -1
  110. package/esm/PileupRenderer/PileupRenderer.js +32 -28
  111. package/esm/PileupRenderer/PileupRenderer.js.map +1 -1
  112. package/esm/PileupRenderer/index.js +8 -6
  113. package/esm/PileupRenderer/index.js.map +1 -1
  114. package/esm/SNPCoverageAdapter/configSchema.d.ts +2 -3
  115. package/esm/SNPCoverageAdapter/configSchema.js +6 -3
  116. package/esm/SNPCoverageAdapter/configSchema.js.map +1 -1
  117. package/esm/SNPCoverageAdapter/index.d.ts +1 -2
  118. package/esm/SNPCoverageAdapter/index.js +17 -15
  119. package/esm/SNPCoverageAdapter/index.js.map +1 -1
  120. package/esm/index.d.ts +3 -2
  121. package/esm/index.js +2 -2
  122. package/esm/index.js.map +1 -1
  123. package/package.json +3 -2
  124. package/src/AlignmentsFeatureDetail/AlignmentsFeatureDetail.tsx +17 -16
  125. package/src/AlignmentsFeatureDetail/__snapshots__/index.test.js.snap +1 -473
  126. package/src/AlignmentsFeatureDetail/index.test.js +6 -4
  127. package/src/BamAdapter/BamAdapter.ts +3 -2
  128. package/src/BamAdapter/BamSlightlyLazyFeature.ts +2 -1
  129. package/src/BamAdapter/MismatchParser.test.ts +21 -12
  130. package/src/BamAdapter/MismatchParser.ts +7 -10
  131. package/src/BamAdapter/__snapshots__/BamAdapter.test.ts.snap +135 -135
  132. package/src/BamAdapter/configSchema.ts +1 -1
  133. package/src/BamAdapter/index.ts +7 -8
  134. package/src/CombinationTest.test.ts +107 -0
  135. package/src/CramAdapter/CramSlightlyLazyFeature.ts +10 -219
  136. package/src/CramAdapter/CramTestAdapters.ts +1 -1
  137. package/src/CramAdapter/__snapshots__/CramAdapter.test.ts.snap +31 -31
  138. package/src/CramAdapter/__snapshots__/util.test.ts.snap +14 -0
  139. package/src/CramAdapter/configSchema.ts +2 -3
  140. package/src/CramAdapter/index.ts +7 -8
  141. package/src/CramAdapter/util.test.ts +26 -0
  142. package/src/CramAdapter/util.ts +251 -0
  143. package/src/LinearAlignmentsDisplay/components/AlignmentsDisplay.tsx +3 -1
  144. package/src/LinearAlignmentsDisplay/models/model.tsx +8 -7
  145. package/src/LinearPileupDisplay/configSchema.ts +3 -5
  146. package/src/LinearPileupDisplay/index.ts +5 -0
  147. package/src/LinearPileupDisplay/model.ts +31 -30
  148. package/src/PileupRPC/rpcMethods.ts +15 -20
  149. package/src/PileupRenderer/{PileupRenderer.tsx → PileupRenderer.ts} +48 -54
  150. package/src/PileupRenderer/index.ts +8 -9
  151. package/src/SNPCoverageAdapter/configSchema.ts +14 -13
  152. package/src/SNPCoverageAdapter/index.ts +17 -18
  153. package/src/__snapshots__/index.test.ts.snap +1 -1
  154. package/src/index.ts +11 -4
@@ -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