@jbrowse/plugin-alignments 1.6.9 → 1.7.3

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 (131) hide show
  1. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +6 -6
  2. package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +216 -0
  3. package/dist/AlignmentsFeatureDetail/index.d.ts +13 -13
  4. package/dist/AlignmentsFeatureDetail/index.js +63 -0
  5. package/dist/AlignmentsFeatureDetail/index.test.js +60 -0
  6. package/dist/AlignmentsTrack/index.d.ts +2 -2
  7. package/dist/AlignmentsTrack/index.js +37 -0
  8. package/dist/BamAdapter/BamAdapter.d.ts +40 -30
  9. package/dist/BamAdapter/BamAdapter.js +598 -0
  10. package/dist/BamAdapter/BamAdapter.test.js +177 -0
  11. package/dist/BamAdapter/BamSlightlyLazyFeature.d.ts +33 -33
  12. package/dist/BamAdapter/BamSlightlyLazyFeature.js +176 -0
  13. package/dist/BamAdapter/MismatchParser.d.ts +28 -28
  14. package/dist/BamAdapter/MismatchParser.js +384 -0
  15. package/dist/BamAdapter/MismatchParser.test.js +259 -0
  16. package/dist/BamAdapter/configSchema.d.ts +2 -2
  17. package/dist/BamAdapter/configSchema.js +48 -0
  18. package/dist/BamAdapter/index.d.ts +3 -3
  19. package/dist/BamAdapter/index.js +36 -0
  20. package/dist/CramAdapter/CramAdapter.d.ts +52 -43
  21. package/dist/CramAdapter/CramAdapter.js +660 -0
  22. package/dist/CramAdapter/CramAdapter.test.js +138 -0
  23. package/dist/CramAdapter/CramSlightlyLazyFeature.d.ts +49 -49
  24. package/dist/CramAdapter/CramSlightlyLazyFeature.js +447 -0
  25. package/dist/CramAdapter/CramTestAdapters.d.ts +29 -29
  26. package/dist/CramAdapter/CramTestAdapters.js +234 -0
  27. package/dist/CramAdapter/configSchema.d.ts +3 -3
  28. package/dist/CramAdapter/configSchema.js +40 -0
  29. package/dist/CramAdapter/index.d.ts +3 -3
  30. package/dist/CramAdapter/index.js +36 -0
  31. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +9 -9
  32. package/dist/HtsgetBamAdapter/HtsgetBamAdapter.js +97 -0
  33. package/dist/HtsgetBamAdapter/configSchema.d.ts +2 -2
  34. package/dist/HtsgetBamAdapter/configSchema.js +31 -0
  35. package/dist/HtsgetBamAdapter/index.d.ts +3 -3
  36. package/dist/HtsgetBamAdapter/index.js +42 -0
  37. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +7 -7
  38. package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +69 -0
  39. package/dist/LinearAlignmentsDisplay/index.d.ts +2 -2
  40. package/dist/LinearAlignmentsDisplay/index.js +31 -0
  41. package/dist/LinearAlignmentsDisplay/models/configSchema.d.ts +4 -4
  42. package/dist/LinearAlignmentsDisplay/models/configSchema.js +25 -0
  43. package/dist/LinearAlignmentsDisplay/models/configSchema.test.js +83 -0
  44. package/dist/LinearAlignmentsDisplay/models/model.d.ts +105 -105
  45. package/dist/LinearAlignmentsDisplay/models/model.js +250 -0
  46. package/dist/LinearPileupDisplay/components/ColorByModifications.d.ts +14 -14
  47. package/dist/LinearPileupDisplay/components/ColorByModifications.js +123 -0
  48. package/dist/LinearPileupDisplay/components/ColorByTag.d.ts +9 -9
  49. package/dist/LinearPileupDisplay/components/ColorByTag.js +98 -0
  50. package/dist/LinearPileupDisplay/components/FilterByTag.d.ts +18 -18
  51. package/dist/LinearPileupDisplay/components/FilterByTag.js +203 -0
  52. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +13 -13
  53. package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +32 -0
  54. package/dist/LinearPileupDisplay/components/SetFeatureHeight.d.ts +16 -16
  55. package/dist/LinearPileupDisplay/components/SetFeatureHeight.js +99 -0
  56. package/dist/LinearPileupDisplay/components/SetMaxHeight.d.ts +10 -10
  57. package/dist/LinearPileupDisplay/components/SetMaxHeight.js +90 -0
  58. package/dist/LinearPileupDisplay/components/SortByTag.d.ts +9 -9
  59. package/dist/LinearPileupDisplay/components/SortByTag.js +95 -0
  60. package/dist/LinearPileupDisplay/configSchema.d.ts +6 -6
  61. package/dist/LinearPileupDisplay/configSchema.js +47 -0
  62. package/dist/LinearPileupDisplay/configSchema.test.js +92 -0
  63. package/dist/LinearPileupDisplay/index.d.ts +2 -2
  64. package/dist/LinearPileupDisplay/index.js +30 -0
  65. package/dist/LinearPileupDisplay/model.d.ts +319 -321
  66. package/dist/LinearPileupDisplay/model.js +602 -0
  67. package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +10 -10
  68. package/dist/LinearSNPCoverageDisplay/components/Tooltip.js +63 -0
  69. package/dist/LinearSNPCoverageDisplay/index.d.ts +2 -2
  70. package/dist/LinearSNPCoverageDisplay/index.js +30 -0
  71. package/dist/LinearSNPCoverageDisplay/models/configSchema.d.ts +2 -2
  72. package/dist/LinearSNPCoverageDisplay/models/configSchema.js +57 -0
  73. package/dist/LinearSNPCoverageDisplay/models/configSchema.test.js +62 -0
  74. package/dist/LinearSNPCoverageDisplay/models/model.d.ts +346 -96
  75. package/dist/LinearSNPCoverageDisplay/models/model.js +237 -0
  76. package/dist/NestedFrequencyTable.d.ts +14 -14
  77. package/dist/NestedFrequencyTable.js +152 -0
  78. package/dist/PileupRPC/rpcMethods.d.ts +34 -34
  79. package/dist/PileupRPC/rpcMethods.js +285 -0
  80. package/dist/PileupRenderer/PileupLayoutSession.d.ts +29 -29
  81. package/dist/PileupRenderer/PileupLayoutSession.js +79 -0
  82. package/dist/PileupRenderer/PileupRenderer.d.ts +125 -125
  83. package/dist/PileupRenderer/PileupRenderer.js +1220 -0
  84. package/dist/PileupRenderer/components/PileupRendering.d.ts +23 -23
  85. package/dist/PileupRenderer/components/PileupRendering.js +270 -0
  86. package/dist/PileupRenderer/components/PileupRendering.test.js +36 -0
  87. package/dist/PileupRenderer/configSchema.d.ts +2 -2
  88. package/dist/PileupRenderer/configSchema.js +72 -0
  89. package/dist/PileupRenderer/index.d.ts +2 -2
  90. package/dist/PileupRenderer/index.js +25 -0
  91. package/dist/PileupRenderer/sortUtil.d.ts +8 -8
  92. package/dist/PileupRenderer/sortUtil.js +112 -0
  93. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +67 -71
  94. package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +606 -0
  95. package/dist/SNPCoverageAdapter/configSchema.d.ts +3 -3
  96. package/dist/SNPCoverageAdapter/configSchema.js +22 -0
  97. package/dist/SNPCoverageAdapter/index.d.ts +3 -3
  98. package/dist/SNPCoverageAdapter/index.js +45 -0
  99. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +20 -20
  100. package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +296 -0
  101. package/dist/SNPCoverageRenderer/configSchema.d.ts +2 -2
  102. package/dist/SNPCoverageRenderer/configSchema.js +40 -0
  103. package/dist/SNPCoverageRenderer/index.d.ts +3 -3
  104. package/dist/SNPCoverageRenderer/index.js +34 -0
  105. package/dist/declare.d.js +1 -0
  106. package/dist/index.d.ts +10 -10
  107. package/dist/index.js +154 -6
  108. package/dist/index.test.js +26 -0
  109. package/dist/shared.d.ts +25 -25
  110. package/dist/shared.js +96 -0
  111. package/dist/util.d.ts +19 -19
  112. package/dist/util.js +135 -0
  113. package/package.json +5 -8
  114. package/src/BamAdapter/BamAdapter.ts +35 -8
  115. package/src/CramAdapter/CramAdapter.ts +42 -15
  116. package/src/LinearPileupDisplay/components/SetMaxHeight.tsx +1 -1
  117. package/src/LinearPileupDisplay/model.ts +2 -22
  118. package/src/LinearSNPCoverageDisplay/models/model.ts +6 -36
  119. package/src/PileupRenderer/PileupRenderer.tsx +3 -6
  120. package/src/SNPCoverageAdapter/SNPCoverageAdapter.ts +11 -17
  121. package/dist/AlignmentsFeatureDetail/index.test.d.ts +0 -1
  122. package/dist/LinearAlignmentsDisplay/models/configSchema.test.d.ts +0 -1
  123. package/dist/LinearPileupDisplay/configSchema.test.d.ts +0 -1
  124. package/dist/LinearSNPCoverageDisplay/models/configSchema.test.d.ts +0 -1
  125. package/dist/PileupRenderer/components/PileupRendering.test.d.ts +0 -1
  126. package/dist/plugin-alignments.cjs.development.js +0 -8438
  127. package/dist/plugin-alignments.cjs.development.js.map +0 -1
  128. package/dist/plugin-alignments.cjs.production.min.js +0 -2
  129. package/dist/plugin-alignments.cjs.production.min.js.map +0 -1
  130. package/dist/plugin-alignments.esm.js +0 -8430
  131. package/dist/plugin-alignments.esm.js.map +0 -1
@@ -670,8 +670,7 @@ export default class PileupRenderer extends BoxRendererType {
670
670
  // this coloring is similar to igv.js, and is helpful to color negative
671
671
  // strand reads differently because their c-g will be flipped (e.g. g-c
672
672
  // read right to left)
673
- const flags = feature.get('flags')
674
- if (flags & 16) {
673
+ if (feature.get('flags') & 16) {
675
674
  ctx.fillStyle = '#c8dcc8'
676
675
  } else {
677
676
  ctx.fillStyle = '#c8c8c8'
@@ -789,10 +788,8 @@ export default class PileupRenderer extends BoxRendererType {
789
788
 
790
789
  if (widthPx >= charWidth && heightPx >= heightLim) {
791
790
  // normal SNP coloring
792
- ctx.fillStyle = getAlphaColor(
793
- contrastForBase[mismatch.base],
794
- mismatch,
795
- )
791
+ const contrast = contrastForBase[mismatch.base] || 'black'
792
+ ctx.fillStyle = getAlphaColor(contrast, mismatch)
796
793
  ctx.fillText(
797
794
  mbase,
798
795
  leftPx + (widthPx - charWidth) / 2 + 1,
@@ -4,7 +4,6 @@ import {
4
4
  } from '@jbrowse/core/data_adapters/BaseAdapter'
5
5
  import { AugmentedRegion as Region } from '@jbrowse/core/util/types'
6
6
  import SimpleFeature, { Feature } from '@jbrowse/core/util/simpleFeature'
7
- import SerializableFilterChain from '@jbrowse/core/pluggableElementTypes/renderers/util/serializableFilterChain'
8
7
  import { ObservableCreate } from '@jbrowse/core/util/rxjs'
9
8
  import { toArray } from 'rxjs/operators'
10
9
  import {
@@ -20,10 +19,6 @@ import {
20
19
  Mismatch,
21
20
  } from '../BamAdapter/MismatchParser'
22
21
 
23
- interface SNPCoverageOptions extends BaseOptions {
24
- filters?: SerializableFilterChain
25
- }
26
-
27
22
  function mismatchLen(mismatch: Mismatch) {
28
23
  return !isInterbase(mismatch.type) ? mismatch.length : 1
29
24
  }
@@ -34,11 +29,15 @@ function isInterbase(type: string) {
34
29
 
35
30
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
31
  function inc(bin: any, strand: number, type: string, field: string) {
37
- if (!bin[type][field]) {
38
- bin[type][field] = { total: 0, strands: { '-1': 0, '0': 0, '1': 0 } }
32
+ let thisBin = bin[type][field]
33
+ if (!thisBin) {
34
+ thisBin = bin[type][field] = {
35
+ total: 0,
36
+ strands: { '-1': 0, '0': 0, '1': 0 },
37
+ }
39
38
  }
40
- bin[type][field].total++
41
- bin[type][field].strands[strand]++
39
+ thisBin.total++
40
+ thisBin.strands[strand]++
42
41
  }
43
42
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
43
  function dec(bin: any, strand: number, type: string, field: string) {
@@ -80,19 +79,14 @@ export default class SNPCoverageAdapter extends BaseFeatureDataAdapter {
80
79
  return fetchSequence(region, sequenceAdapter)
81
80
  }
82
81
 
83
- getFeatures(region: Region, opts: SNPCoverageOptions = {}) {
82
+ getFeatures(region: Region, opts: BaseOptions = {}) {
84
83
  return ObservableCreate<Feature>(async observer => {
85
84
  const { subadapter } = await this.configure()
86
- let feats = await subadapter
85
+ const feats = await subadapter
87
86
  .getFeatures(region, opts)
88
87
  .pipe(toArray())
89
88
  .toPromise()
90
89
 
91
- if (opts.filters) {
92
- const { filters } = opts
93
- feats = feats.filter(f => filters.passes(f, opts))
94
- }
95
-
96
90
  const { bins, skipmap } = await this.generateCoverageBins(
97
91
  feats,
98
92
  region,
@@ -102,7 +96,7 @@ export default class SNPCoverageAdapter extends BaseFeatureDataAdapter {
102
96
  bins.forEach((bin, index) => {
103
97
  observer.next(
104
98
  new SimpleFeature({
105
- id: `${this.id}-${region.start}-${index}`,
99
+ id: `${this.id}-${region.start + index}`,
106
100
  data: {
107
101
  score: bin.total,
108
102
  snpinfo: bin,
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};