@jbrowse/plugin-alignments 2.17.0 → 2.18.0
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.d.ts +1 -1
- package/dist/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +6 -12
- package/dist/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +0 -1
- package/dist/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +0 -1
- package/dist/AlignmentsFeatureDetail/Flags.js +2 -2
- package/dist/AlignmentsFeatureDetail/Formatter.js +0 -3
- package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +3 -5
- package/dist/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +4 -9
- package/dist/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts +3 -5
- package/dist/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +37 -36
- package/dist/AlignmentsFeatureDetail/LinkedPairedAlignments.d.ts +2 -2
- package/dist/AlignmentsFeatureDetail/LinkedPairedAlignments.js +3 -4
- package/dist/AlignmentsFeatureDetail/PairLink.d.ts +1 -1
- package/dist/AlignmentsFeatureDetail/PairLink.js +0 -1
- package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +2 -2
- package/dist/AlignmentsFeatureDetail/SupplementaryAlignments.js +5 -6
- package/dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts +1 -1
- package/dist/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.js +1 -5
- package/dist/AlignmentsFeatureDetail/getSAFeatures.d.ts +2 -2
- package/dist/AlignmentsFeatureDetail/getSAFeatures.js +0 -4
- package/dist/AlignmentsFeatureDetail/index.d.ts +1 -1
- package/dist/AlignmentsFeatureDetail/launchBreakpointSplitView.d.ts +2 -2
- package/dist/AlignmentsFeatureDetail/stateModelFactory.d.ts +2 -2
- package/dist/AlignmentsFeatureDetail/stateModelFactory.js +1 -1
- package/dist/AlignmentsFeatureDetail/tagInfo.js +1 -1
- package/dist/AlignmentsFeatureDetail/util.d.ts +1 -1
- package/dist/AlignmentsTrack/configSchemaF.d.ts +1 -1
- package/dist/AlignmentsTrack/configSchemaF.js +1 -8
- package/dist/AlignmentsTrack/index.d.ts +1 -1
- package/dist/AlignmentsTrack/index.js +0 -3
- package/dist/BamAdapter/BamAdapter.d.ts +6 -5
- package/dist/BamAdapter/BamAdapter.js +21 -39
- package/dist/BamAdapter/BamSlightlyLazyFeature.d.ts +3 -3
- package/dist/BamAdapter/BamSlightlyLazyFeature.js +0 -3
- package/dist/BamAdapter/configSchema.d.ts +0 -17
- package/dist/BamAdapter/configSchema.js +1 -22
- package/dist/BamAdapter/index.d.ts +1 -1
- package/dist/CramAdapter/CramAdapter.d.ts +6 -9
- package/dist/CramAdapter/CramAdapter.js +18 -41
- package/dist/CramAdapter/CramSlightlyLazyFeature.d.ts +3 -3
- package/dist/CramAdapter/CramSlightlyLazyFeature.js +0 -17
- package/dist/CramAdapter/CramTestAdapters.d.ts +3 -3
- package/dist/CramAdapter/CramTestAdapters.js +4 -5
- package/dist/CramAdapter/configSchema.d.ts +0 -14
- package/dist/CramAdapter/configSchema.js +1 -19
- package/dist/CramAdapter/index.d.ts +1 -1
- package/dist/CramAdapter/index.js +0 -1
- package/dist/CramAdapter/util.d.ts +2 -2
- package/dist/CramAdapter/util.js +1 -24
- package/dist/GuessAlignmentsTypes/index.d.ts +1 -1
- package/dist/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +2 -2
- package/dist/HtsgetBamAdapter/configSchema.d.ts +0 -9
- package/dist/HtsgetBamAdapter/configSchema.js +1 -14
- package/dist/HtsgetBamAdapter/index.d.ts +1 -1
- package/dist/HtsgetBamAdapter/index.js +1 -1
- package/dist/LinearAlignmentsDisplay/alignmentsModel.d.ts +2 -5
- package/dist/LinearAlignmentsDisplay/alignmentsModel.js +1 -31
- package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +1 -1
- package/dist/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +2 -2
- package/dist/LinearAlignmentsDisplay/configSchema.d.ts +2 -16
- package/dist/LinearAlignmentsDisplay/configSchema.js +3 -20
- package/dist/LinearAlignmentsDisplay/index.d.ts +1 -1
- package/dist/LinearAlignmentsDisplay/index.js +1 -2
- package/dist/LinearAlignmentsDisplay/model.d.ts +6 -75
- package/dist/LinearAlignmentsDisplay/model.js +5 -78
- package/dist/LinearAlignmentsDisplay/util.d.ts +1 -1
- package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +31 -157
- package/dist/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +34 -133
- package/dist/LinearPileupDisplay/components/ColorByTagDialog.js +2 -2
- package/dist/LinearPileupDisplay/components/GroupByDialog.d.ts +2 -2
- package/dist/LinearPileupDisplay/components/GroupByDialog.js +109 -56
- package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +2 -6
- package/dist/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +1 -1
- package/dist/LinearPileupDisplay/components/SetFeatureHeightDialog.js +2 -2
- package/dist/LinearPileupDisplay/components/SetMaxHeightDialog.js +2 -2
- package/dist/LinearPileupDisplay/components/SortByTagDialog.js +2 -2
- package/dist/LinearPileupDisplay/configSchema.d.ts +13 -16
- package/dist/LinearPileupDisplay/configSchema.js +12 -30
- package/dist/LinearPileupDisplay/index.d.ts +1 -1
- package/dist/LinearPileupDisplay/index.js +2 -2
- package/dist/LinearPileupDisplay/model.d.ts +103 -105
- package/dist/LinearPileupDisplay/model.js +10 -101
- package/dist/LinearReadArcsDisplay/components/ReactComponent.d.ts +1 -1
- package/dist/LinearReadArcsDisplay/components/ReactComponent.js +2 -6
- package/dist/LinearReadArcsDisplay/configSchema.d.ts +12 -20
- package/dist/LinearReadArcsDisplay/configSchema.js +8 -31
- package/dist/LinearReadArcsDisplay/drawFeats.d.ts +1 -1
- package/dist/LinearReadArcsDisplay/drawFeats.js +1 -9
- package/dist/LinearReadArcsDisplay/index.d.ts +1 -1
- package/dist/LinearReadArcsDisplay/index.js +1 -2
- package/dist/LinearReadArcsDisplay/model.d.ts +15 -93
- package/dist/LinearReadArcsDisplay/model.js +17 -104
- package/dist/LinearReadArcsDisplay/util.d.ts +1 -1
- package/dist/LinearReadCloudDisplay/components/ReactComponent.d.ts +1 -1
- package/dist/LinearReadCloudDisplay/components/ReactComponent.js +2 -6
- package/dist/LinearReadCloudDisplay/configSchema.d.ts +5 -17
- package/dist/LinearReadCloudDisplay/configSchema.js +3 -28
- package/dist/LinearReadCloudDisplay/drawFeats.d.ts +1 -1
- package/dist/LinearReadCloudDisplay/drawFeats.js +2 -2
- package/dist/LinearReadCloudDisplay/drawLongReadChains.d.ts +4 -4
- package/dist/LinearReadCloudDisplay/drawLongReadChains.js +1 -4
- package/dist/LinearReadCloudDisplay/drawPairChains.d.ts +4 -4
- package/dist/LinearReadCloudDisplay/drawPairChains.js +0 -3
- package/dist/LinearReadCloudDisplay/index.d.ts +1 -1
- package/dist/LinearReadCloudDisplay/index.js +1 -2
- package/dist/LinearReadCloudDisplay/model.d.ts +13 -55
- package/dist/LinearReadCloudDisplay/model.js +17 -68
- package/dist/LinearReadCloudDisplay/util.js +0 -1
- package/dist/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -1
- package/dist/LinearSNPCoverageDisplay/components/Tooltip.js +1 -1
- package/dist/LinearSNPCoverageDisplay/configSchema.d.ts +17 -22
- package/dist/LinearSNPCoverageDisplay/configSchema.js +16 -32
- package/dist/LinearSNPCoverageDisplay/index.d.ts +1 -1
- package/dist/LinearSNPCoverageDisplay/index.js +1 -2
- package/dist/LinearSNPCoverageDisplay/model.d.ts +9 -50
- package/dist/LinearSNPCoverageDisplay/model.js +20 -124
- package/dist/MismatchParser/cigarToMismatches.d.ts +1 -1
- package/dist/MismatchParser/cigarToMismatches.js +4 -7
- package/dist/MismatchParser/getNextRefPos.js +0 -2
- package/dist/MismatchParser/index.d.ts +2 -2
- package/dist/MismatchParser/index.js +1 -9
- package/dist/MismatchParser/mdToMismatches.d.ts +2 -2
- package/dist/MismatchParser/mdToMismatches.js +0 -6
- package/dist/ModificationParser/index.d.ts +1 -1
- package/dist/ModificationParser/index.js +1 -18
- package/dist/PileupRPC/base.d.ts +2 -2
- package/dist/PileupRPC/base.js +0 -1
- package/dist/PileupRPC/index.d.ts +1 -1
- package/dist/PileupRPC/methods/GetGlobalValueForTag.d.ts +2 -3
- package/dist/PileupRPC/methods/GetGlobalValueForTag.js +1 -2
- package/dist/PileupRPC/methods/GetReducedFeatures.d.ts +2 -3
- package/dist/PileupRPC/methods/GetReducedFeatures.js +3 -5
- package/dist/PileupRPC/methods/GetVisibleModifications.d.ts +3 -4
- package/dist/PileupRPC/methods/GetVisibleModifications.js +1 -1
- package/dist/PileupRPC/util.d.ts +1 -1
- package/dist/PileupRenderer/PileupLayoutSession.d.ts +5 -5
- package/dist/PileupRenderer/PileupLayoutSession.js +2 -5
- package/dist/PileupRenderer/PileupRenderer.d.ts +10 -20
- package/dist/PileupRenderer/PileupRenderer.js +11 -16
- package/dist/PileupRenderer/colorBy.d.ts +2 -2
- package/dist/PileupRenderer/colorBy.js +0 -6
- package/dist/PileupRenderer/components/PileupRendering.d.ts +1 -1
- package/dist/PileupRenderer/components/PileupRendering.js +0 -3
- package/dist/PileupRenderer/configSchema.d.ts +0 -31
- package/dist/PileupRenderer/configSchema.js +1 -35
- package/dist/PileupRenderer/getAlignmentShapeColor.d.ts +2 -2
- package/dist/PileupRenderer/getAlignmentShapeColor.js +1 -6
- package/dist/PileupRenderer/index.d.ts +1 -1
- package/dist/PileupRenderer/index.js +1 -1
- package/dist/PileupRenderer/layoutFeature.d.ts +2 -2
- package/dist/PileupRenderer/layoutFeature.js +0 -1
- package/dist/PileupRenderer/layoutFeatures.d.ts +5 -2
- package/dist/PileupRenderer/layoutFeatures.js +6 -4
- package/dist/PileupRenderer/makeImageData.d.ts +3 -4
- package/dist/PileupRenderer/makeImageData.js +8 -2
- package/dist/PileupRenderer/renderAlignment.d.ts +3 -3
- package/dist/PileupRenderer/renderAlignment.js +3 -5
- package/dist/PileupRenderer/renderAlignmentShape.d.ts +3 -3
- package/dist/PileupRenderer/renderAlignmentShape.js +1 -1
- package/dist/PileupRenderer/renderMethylation.d.ts +4 -4
- package/dist/PileupRenderer/renderMethylation.js +0 -4
- package/dist/PileupRenderer/renderMismatches.d.ts +3 -3
- package/dist/PileupRenderer/renderMismatches.js +1 -12
- package/dist/PileupRenderer/renderModifications.d.ts +3 -3
- package/dist/PileupRenderer/renderModifications.js +1 -3
- package/dist/PileupRenderer/renderPerBaseLettering.d.ts +2 -2
- package/dist/PileupRenderer/renderPerBaseLettering.js +0 -1
- package/dist/PileupRenderer/renderPerBaseQuality.d.ts +2 -2
- package/dist/PileupRenderer/renderPerBaseQuality.js +2 -2
- package/dist/PileupRenderer/renderSoftClipping.d.ts +5 -5
- package/dist/PileupRenderer/renderSoftClipping.js +0 -4
- package/dist/PileupRenderer/sortUtil.d.ts +2 -2
- package/dist/PileupRenderer/sortUtil.js +1 -4
- package/dist/PileupRenderer/types.d.ts +26 -0
- package/dist/PileupRenderer/types.js +2 -0
- package/dist/PileupRenderer/util.d.ts +2 -2
- package/dist/PileupRenderer/util.js +1 -3
- package/dist/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +4 -3
- package/dist/SNPCoverageAdapter/SNPCoverageAdapter.js +4 -6
- package/dist/SNPCoverageAdapter/configSchema.d.ts +0 -4
- package/dist/SNPCoverageAdapter/configSchema.js +1 -8
- package/dist/SNPCoverageAdapter/generateCoverageBins.d.ts +4 -8
- package/dist/SNPCoverageAdapter/generateCoverageBins.js +25 -247
- package/dist/SNPCoverageAdapter/index.d.ts +1 -1
- package/dist/SNPCoverageAdapter/processDepth.d.ts +8 -0
- package/dist/SNPCoverageAdapter/processDepth.js +38 -0
- package/dist/SNPCoverageAdapter/processMismatches.d.ts +9 -0
- package/dist/SNPCoverageAdapter/processMismatches.js +58 -0
- package/dist/SNPCoverageAdapter/processModifications.d.ts +10 -0
- package/dist/SNPCoverageAdapter/processModifications.js +49 -0
- package/dist/SNPCoverageAdapter/processReferenceCpGs.d.ts +9 -0
- package/dist/SNPCoverageAdapter/processReferenceCpGs.js +63 -0
- package/dist/SNPCoverageAdapter/util.d.ts +10 -0
- package/dist/SNPCoverageAdapter/util.js +41 -0
- package/dist/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +5 -4
- package/dist/SNPCoverageRenderer/SNPCoverageRenderer.js +14 -38
- package/dist/SNPCoverageRenderer/configSchema.d.ts +0 -15
- package/dist/SNPCoverageRenderer/configSchema.js +1 -19
- package/dist/SNPCoverageRenderer/index.d.ts +1 -1
- package/dist/SNPCoverageRenderer/index.js +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +12 -12
- package/dist/shared/afterAttach.d.ts +1 -1
- package/dist/shared/afterAttach.js +0 -2
- package/dist/shared/color.d.ts +1 -1
- package/dist/shared/color.js +0 -8
- package/dist/shared/components/BaseDisplayComponent.d.ts +2 -2
- package/dist/shared/components/BaseDisplayComponent.js +12 -11
- package/dist/shared/components/FilterByTagDialog.d.ts +1 -1
- package/dist/shared/components/FilterByTagDialog.js +2 -2
- package/dist/shared/fetchChains.d.ts +2 -2
- package/dist/shared/fetchChains.js +1 -2
- package/dist/shared/getMaximumModificationAtEachPosition.d.ts +1 -1
- package/dist/shared/getMaximumModificationAtEachPosition.js +1 -2
- package/dist/shared/getUniqueModifications.d.ts +5 -5
- package/dist/shared/getUniqueTags.d.ts +4 -4
- package/dist/shared/renderSvgUtil.js +0 -2
- package/dist/shared/util.d.ts +11 -1
- package/dist/shared/util.js +27 -1
- package/dist/util.d.ts +4 -4
- package/dist/util.js +3 -9
- package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.d.ts +1 -1
- package/esm/AlignmentsFeatureDetail/AlignmentsFeatureDetail.js +6 -12
- package/esm/AlignmentsFeatureDetail/BreakendMultiLevelOptionDialog.js +0 -1
- package/esm/AlignmentsFeatureDetail/BreakendSingleLevelOptionDialog.js +0 -1
- package/esm/AlignmentsFeatureDetail/Flags.js +2 -2
- package/esm/AlignmentsFeatureDetail/Formatter.js +0 -3
- package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.d.ts +3 -5
- package/esm/AlignmentsFeatureDetail/LaunchPairedEndBreakpointSplitViewPanel.js +5 -10
- package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts +3 -5
- package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.js +37 -36
- package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.d.ts +2 -2
- package/esm/AlignmentsFeatureDetail/LinkedPairedAlignments.js +3 -4
- package/esm/AlignmentsFeatureDetail/PairLink.d.ts +1 -1
- package/esm/AlignmentsFeatureDetail/PairLink.js +0 -1
- package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.d.ts +2 -2
- package/esm/AlignmentsFeatureDetail/SupplementaryAlignments.js +5 -6
- package/esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.d.ts +1 -1
- package/esm/AlignmentsFeatureDetail/SupplementaryAlignmentsLocStrings.js +2 -6
- package/esm/AlignmentsFeatureDetail/getSAFeatures.d.ts +2 -2
- package/esm/AlignmentsFeatureDetail/getSAFeatures.js +0 -4
- package/esm/AlignmentsFeatureDetail/index.d.ts +1 -1
- package/esm/AlignmentsFeatureDetail/launchBreakpointSplitView.d.ts +2 -2
- package/esm/AlignmentsFeatureDetail/stateModelFactory.d.ts +2 -2
- package/esm/AlignmentsFeatureDetail/stateModelFactory.js +1 -1
- package/esm/AlignmentsFeatureDetail/tagInfo.js +1 -1
- package/esm/AlignmentsFeatureDetail/util.d.ts +1 -1
- package/esm/AlignmentsTrack/configSchemaF.d.ts +1 -1
- package/esm/AlignmentsTrack/configSchemaF.js +1 -8
- package/esm/AlignmentsTrack/index.d.ts +1 -1
- package/esm/AlignmentsTrack/index.js +0 -3
- package/esm/BamAdapter/BamAdapter.d.ts +6 -5
- package/esm/BamAdapter/BamAdapter.js +19 -37
- package/esm/BamAdapter/BamSlightlyLazyFeature.d.ts +3 -3
- package/esm/BamAdapter/BamSlightlyLazyFeature.js +0 -3
- package/esm/BamAdapter/configSchema.d.ts +0 -17
- package/esm/BamAdapter/configSchema.js +1 -22
- package/esm/BamAdapter/index.d.ts +1 -1
- package/esm/CramAdapter/CramAdapter.d.ts +6 -9
- package/esm/CramAdapter/CramAdapter.js +17 -40
- package/esm/CramAdapter/CramSlightlyLazyFeature.d.ts +3 -3
- package/esm/CramAdapter/CramSlightlyLazyFeature.js +0 -17
- package/esm/CramAdapter/CramTestAdapters.d.ts +3 -3
- package/esm/CramAdapter/CramTestAdapters.js +4 -5
- package/esm/CramAdapter/configSchema.d.ts +0 -14
- package/esm/CramAdapter/configSchema.js +1 -19
- package/esm/CramAdapter/index.d.ts +1 -1
- package/esm/CramAdapter/index.js +0 -1
- package/esm/CramAdapter/util.d.ts +2 -2
- package/esm/CramAdapter/util.js +1 -24
- package/esm/GuessAlignmentsTypes/index.d.ts +1 -1
- package/esm/GuessAlignmentsTypes/index.js +1 -1
- package/esm/HtsgetBamAdapter/HtsgetBamAdapter.d.ts +2 -2
- package/esm/HtsgetBamAdapter/configSchema.d.ts +0 -9
- package/esm/HtsgetBamAdapter/configSchema.js +1 -14
- package/esm/HtsgetBamAdapter/index.d.ts +1 -1
- package/esm/HtsgetBamAdapter/index.js +1 -1
- package/esm/LinearAlignmentsDisplay/alignmentsModel.d.ts +2 -5
- package/esm/LinearAlignmentsDisplay/alignmentsModel.js +1 -31
- package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.d.ts +1 -1
- package/esm/LinearAlignmentsDisplay/components/AlignmentsDisplay.js +2 -2
- package/esm/LinearAlignmentsDisplay/configSchema.d.ts +2 -16
- package/esm/LinearAlignmentsDisplay/configSchema.js +3 -20
- package/esm/LinearAlignmentsDisplay/index.d.ts +1 -1
- package/esm/LinearAlignmentsDisplay/index.js +1 -2
- package/esm/LinearAlignmentsDisplay/model.d.ts +6 -75
- package/esm/LinearAlignmentsDisplay/model.js +6 -79
- package/esm/LinearAlignmentsDisplay/util.d.ts +1 -1
- package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.d.ts +31 -157
- package/esm/LinearPileupDisplay/SharedLinearPileupDisplayMixin.js +36 -135
- package/esm/LinearPileupDisplay/components/ColorByTagDialog.js +2 -2
- package/esm/LinearPileupDisplay/components/GroupByDialog.d.ts +2 -2
- package/esm/LinearPileupDisplay/components/GroupByDialog.js +109 -56
- package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.d.ts +2 -6
- package/esm/LinearPileupDisplay/components/LinearPileupDisplayBlurb.js +1 -1
- package/esm/LinearPileupDisplay/components/SetFeatureHeightDialog.js +2 -2
- package/esm/LinearPileupDisplay/components/SetMaxHeightDialog.js +2 -2
- package/esm/LinearPileupDisplay/components/SortByTagDialog.js +2 -2
- package/esm/LinearPileupDisplay/configSchema.d.ts +13 -16
- package/esm/LinearPileupDisplay/configSchema.js +12 -30
- package/esm/LinearPileupDisplay/index.d.ts +1 -1
- package/esm/LinearPileupDisplay/index.js +2 -2
- package/esm/LinearPileupDisplay/model.d.ts +103 -105
- package/esm/LinearPileupDisplay/model.js +11 -102
- package/esm/LinearReadArcsDisplay/components/ReactComponent.d.ts +1 -1
- package/esm/LinearReadArcsDisplay/components/ReactComponent.js +2 -6
- package/esm/LinearReadArcsDisplay/configSchema.d.ts +12 -20
- package/esm/LinearReadArcsDisplay/configSchema.js +8 -31
- package/esm/LinearReadArcsDisplay/drawFeats.d.ts +1 -1
- package/esm/LinearReadArcsDisplay/drawFeats.js +1 -9
- package/esm/LinearReadArcsDisplay/index.d.ts +1 -1
- package/esm/LinearReadArcsDisplay/index.js +1 -2
- package/esm/LinearReadArcsDisplay/model.d.ts +15 -93
- package/esm/LinearReadArcsDisplay/model.js +18 -105
- package/esm/LinearReadArcsDisplay/util.d.ts +1 -1
- package/esm/LinearReadCloudDisplay/components/ReactComponent.d.ts +1 -1
- package/esm/LinearReadCloudDisplay/components/ReactComponent.js +2 -6
- package/esm/LinearReadCloudDisplay/configSchema.d.ts +5 -17
- package/esm/LinearReadCloudDisplay/configSchema.js +3 -28
- package/esm/LinearReadCloudDisplay/drawFeats.d.ts +1 -1
- package/esm/LinearReadCloudDisplay/drawFeats.js +2 -2
- package/esm/LinearReadCloudDisplay/drawLongReadChains.d.ts +4 -4
- package/esm/LinearReadCloudDisplay/drawLongReadChains.js +1 -4
- package/esm/LinearReadCloudDisplay/drawPairChains.d.ts +4 -4
- package/esm/LinearReadCloudDisplay/drawPairChains.js +0 -3
- package/esm/LinearReadCloudDisplay/index.d.ts +1 -1
- package/esm/LinearReadCloudDisplay/index.js +1 -2
- package/esm/LinearReadCloudDisplay/model.d.ts +13 -55
- package/esm/LinearReadCloudDisplay/model.js +17 -68
- package/esm/LinearReadCloudDisplay/util.js +0 -1
- package/esm/LinearSNPCoverageDisplay/components/Tooltip.d.ts +1 -1
- package/esm/LinearSNPCoverageDisplay/components/Tooltip.js +1 -1
- package/esm/LinearSNPCoverageDisplay/configSchema.d.ts +17 -22
- package/esm/LinearSNPCoverageDisplay/configSchema.js +16 -32
- package/esm/LinearSNPCoverageDisplay/index.d.ts +1 -1
- package/esm/LinearSNPCoverageDisplay/index.js +1 -2
- package/esm/LinearSNPCoverageDisplay/model.d.ts +9 -50
- package/esm/LinearSNPCoverageDisplay/model.js +21 -125
- package/esm/MismatchParser/cigarToMismatches.d.ts +1 -1
- package/esm/MismatchParser/cigarToMismatches.js +4 -7
- package/esm/MismatchParser/getNextRefPos.js +0 -2
- package/esm/MismatchParser/index.d.ts +2 -2
- package/esm/MismatchParser/index.js +1 -9
- package/esm/MismatchParser/mdToMismatches.d.ts +2 -2
- package/esm/MismatchParser/mdToMismatches.js +0 -6
- package/esm/ModificationParser/index.d.ts +1 -1
- package/esm/ModificationParser/index.js +1 -18
- package/esm/PileupRPC/base.d.ts +2 -2
- package/esm/PileupRPC/base.js +0 -1
- package/esm/PileupRPC/index.d.ts +1 -1
- package/esm/PileupRPC/index.js +1 -1
- package/esm/PileupRPC/methods/GetGlobalValueForTag.d.ts +2 -3
- package/esm/PileupRPC/methods/GetGlobalValueForTag.js +1 -2
- package/esm/PileupRPC/methods/GetReducedFeatures.d.ts +2 -3
- package/esm/PileupRPC/methods/GetReducedFeatures.js +3 -5
- package/esm/PileupRPC/methods/GetVisibleModifications.d.ts +3 -4
- package/esm/PileupRPC/methods/GetVisibleModifications.js +1 -1
- package/esm/PileupRPC/util.d.ts +1 -1
- package/esm/PileupRenderer/PileupLayoutSession.d.ts +5 -5
- package/esm/PileupRenderer/PileupLayoutSession.js +2 -5
- package/esm/PileupRenderer/PileupRenderer.d.ts +10 -20
- package/esm/PileupRenderer/PileupRenderer.js +12 -17
- package/esm/PileupRenderer/colorBy.d.ts +2 -2
- package/esm/PileupRenderer/colorBy.js +1 -7
- package/esm/PileupRenderer/components/PileupRendering.d.ts +1 -1
- package/esm/PileupRenderer/components/PileupRendering.js +1 -4
- package/esm/PileupRenderer/configSchema.d.ts +0 -31
- package/esm/PileupRenderer/configSchema.js +1 -35
- package/esm/PileupRenderer/getAlignmentShapeColor.d.ts +2 -2
- package/esm/PileupRenderer/getAlignmentShapeColor.js +2 -7
- package/esm/PileupRenderer/index.d.ts +1 -1
- package/esm/PileupRenderer/index.js +1 -1
- package/esm/PileupRenderer/layoutFeature.d.ts +2 -2
- package/esm/PileupRenderer/layoutFeature.js +0 -1
- package/esm/PileupRenderer/layoutFeatures.d.ts +5 -2
- package/esm/PileupRenderer/layoutFeatures.js +7 -5
- package/esm/PileupRenderer/makeImageData.d.ts +3 -4
- package/esm/PileupRenderer/makeImageData.js +8 -2
- package/esm/PileupRenderer/renderAlignment.d.ts +3 -3
- package/esm/PileupRenderer/renderAlignment.js +3 -5
- package/esm/PileupRenderer/renderAlignmentShape.d.ts +3 -3
- package/esm/PileupRenderer/renderAlignmentShape.js +1 -1
- package/esm/PileupRenderer/renderMethylation.d.ts +4 -4
- package/esm/PileupRenderer/renderMethylation.js +0 -4
- package/esm/PileupRenderer/renderMismatches.d.ts +3 -3
- package/esm/PileupRenderer/renderMismatches.js +1 -12
- package/esm/PileupRenderer/renderModifications.d.ts +3 -3
- package/esm/PileupRenderer/renderModifications.js +1 -3
- package/esm/PileupRenderer/renderPerBaseLettering.d.ts +2 -2
- package/esm/PileupRenderer/renderPerBaseLettering.js +0 -1
- package/esm/PileupRenderer/renderPerBaseQuality.d.ts +2 -2
- package/esm/PileupRenderer/renderPerBaseQuality.js +2 -2
- package/esm/PileupRenderer/renderSoftClipping.d.ts +5 -5
- package/esm/PileupRenderer/renderSoftClipping.js +1 -5
- package/esm/PileupRenderer/sortUtil.d.ts +2 -2
- package/esm/PileupRenderer/sortUtil.js +1 -4
- package/esm/PileupRenderer/types.d.ts +26 -0
- package/esm/PileupRenderer/types.js +1 -0
- package/esm/PileupRenderer/util.d.ts +2 -2
- package/esm/PileupRenderer/util.js +1 -3
- package/esm/SNPCoverageAdapter/SNPCoverageAdapter.d.ts +4 -3
- package/esm/SNPCoverageAdapter/SNPCoverageAdapter.js +5 -7
- package/esm/SNPCoverageAdapter/configSchema.d.ts +0 -4
- package/esm/SNPCoverageAdapter/configSchema.js +1 -8
- package/esm/SNPCoverageAdapter/generateCoverageBins.d.ts +4 -8
- package/esm/SNPCoverageAdapter/generateCoverageBins.js +24 -246
- package/esm/SNPCoverageAdapter/index.d.ts +1 -1
- package/esm/SNPCoverageAdapter/processDepth.d.ts +8 -0
- package/esm/SNPCoverageAdapter/processDepth.js +35 -0
- package/esm/SNPCoverageAdapter/processMismatches.d.ts +9 -0
- package/esm/SNPCoverageAdapter/processMismatches.js +55 -0
- package/esm/SNPCoverageAdapter/processModifications.d.ts +10 -0
- package/esm/SNPCoverageAdapter/processModifications.js +46 -0
- package/esm/SNPCoverageAdapter/processReferenceCpGs.d.ts +9 -0
- package/esm/SNPCoverageAdapter/processReferenceCpGs.js +60 -0
- package/esm/SNPCoverageAdapter/util.d.ts +10 -0
- package/esm/SNPCoverageAdapter/util.js +35 -0
- package/esm/SNPCoverageRenderer/SNPCoverageRenderer.d.ts +5 -4
- package/esm/SNPCoverageRenderer/SNPCoverageRenderer.js +16 -40
- package/esm/SNPCoverageRenderer/configSchema.d.ts +0 -15
- package/esm/SNPCoverageRenderer/configSchema.js +1 -19
- package/esm/SNPCoverageRenderer/index.d.ts +1 -1
- package/esm/SNPCoverageRenderer/index.js +2 -2
- package/esm/index.d.ts +2 -2
- package/esm/index.js +10 -10
- package/esm/shared/afterAttach.d.ts +1 -1
- package/esm/shared/afterAttach.js +0 -2
- package/esm/shared/color.d.ts +1 -1
- package/esm/shared/color.js +0 -8
- package/esm/shared/components/BaseDisplayComponent.d.ts +2 -2
- package/esm/shared/components/BaseDisplayComponent.js +12 -11
- package/esm/shared/components/FilterByTagDialog.d.ts +1 -1
- package/esm/shared/components/FilterByTagDialog.js +2 -2
- package/esm/shared/fetchChains.d.ts +2 -2
- package/esm/shared/fetchChains.js +1 -2
- package/esm/shared/getMaximumModificationAtEachPosition.d.ts +1 -1
- package/esm/shared/getMaximumModificationAtEachPosition.js +1 -2
- package/esm/shared/getUniqueModifications.d.ts +5 -5
- package/esm/shared/getUniqueTags.d.ts +4 -4
- package/esm/shared/renderSvgUtil.js +0 -2
- package/esm/shared/util.d.ts +11 -1
- package/esm/shared/util.js +24 -0
- package/esm/util.d.ts +4 -4
- package/esm/util.js +3 -9
- package/package.json +3 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { AlignmentFeatureWidgetModel } from './stateModelFactory';
|
|
2
|
+
import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
|
|
3
3
|
declare const AlignmentsFeatureDetails: (props: {
|
|
4
4
|
model: AlignmentFeatureWidgetModel;
|
|
5
5
|
}) => React.JSX.Element;
|
|
@@ -1,28 +1,22 @@
|
|
|
1
1
|
import React, { lazy } from 'react';
|
|
2
|
+
import FeatureDetails from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails';
|
|
2
3
|
import { Paper } from '@mui/material';
|
|
3
4
|
import { observer } from 'mobx-react';
|
|
4
|
-
import clone from 'clone';
|
|
5
|
-
import FeatureDetails from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/FeatureDetails';
|
|
6
|
-
// locals
|
|
7
|
-
import { getTag } from './util';
|
|
8
|
-
import { tags } from './tagInfo';
|
|
9
|
-
// local components
|
|
10
5
|
import Flags from './Flags';
|
|
11
|
-
import PairLink from './PairLink';
|
|
12
6
|
import Formatter from './Formatter';
|
|
13
|
-
|
|
7
|
+
import PairLink from './PairLink';
|
|
8
|
+
import { tags } from './tagInfo';
|
|
9
|
+
import { getTag } from './util';
|
|
14
10
|
const SupplementaryAlignments = lazy(() => import('./SupplementaryAlignments'));
|
|
15
11
|
const LinkedPairedAlignments = lazy(() => import('./LinkedPairedAlignments'));
|
|
16
12
|
const AlignmentsFeatureDetails = observer(function (props) {
|
|
17
13
|
const { model } = props;
|
|
18
14
|
const { featureData } = model;
|
|
19
|
-
const feat =
|
|
15
|
+
const feat = structuredClone(featureData);
|
|
20
16
|
const SA = getTag('SA', feat);
|
|
21
17
|
const { flags } = feat;
|
|
22
18
|
return (React.createElement(Paper, { "data-testid": "alignment-side-drawer" },
|
|
23
|
-
React.createElement(FeatureDetails, { ...props,
|
|
24
|
-
// @ts-expect-error
|
|
25
|
-
descriptions: { ...tags, tags: tags }, feature: feat, formatter: (value, key) => key === 'next_segment_position' ? (React.createElement(PairLink, { model: model, locString: value })) : (React.createElement(Formatter, { value: value })) }),
|
|
19
|
+
React.createElement(FeatureDetails, { ...props, descriptions: { tags }, feature: feat, formatter: (value, key) => key === 'next_segment_position' ? (React.createElement(PairLink, { model: model, locString: value })) : (React.createElement(Formatter, { value: value })) }),
|
|
26
20
|
SA !== undefined ? (React.createElement(SupplementaryAlignments, { model: model, tag: SA, feature: feat })) : null,
|
|
27
21
|
flags & 1 ? (React.createElement(LinkedPairedAlignments, { model: model, feature: feat })) : null,
|
|
28
22
|
flags !== undefined ? React.createElement(Flags, { feature: feat, ...props }) : null));
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Checkbox, FormControlLabel, FormGroup } from '@mui/material';
|
|
3
|
-
import { makeStyles } from 'tss-react/mui';
|
|
4
2
|
import BaseCard from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard';
|
|
5
3
|
import SimpleField from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/SimpleField';
|
|
4
|
+
import { Checkbox, FormControlLabel, FormGroup } from '@mui/material';
|
|
5
|
+
import { makeStyles } from 'tss-react/mui';
|
|
6
6
|
const useStyles = makeStyles()({
|
|
7
7
|
compact: {
|
|
8
8
|
paddingRight: 0,
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
2
|
import copy from 'copy-to-clipboard';
|
|
3
|
-
// this 'show more...' used specifically as a formatter on alignments feature
|
|
4
|
-
// details because long SEQ or CRAM files, even a single div full of a ton of
|
|
5
|
-
// data from a long read, can slow down the rest of the app
|
|
6
3
|
export default function Formatter({ value }) {
|
|
7
4
|
const [show, setShow] = useState(false);
|
|
8
5
|
const [copied, setCopied] = useState(false);
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export default function LaunchPairedEndBreakpointSplitViewPanel({ model, feature, viewType, }: {
|
|
2
|
+
import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
|
|
3
|
+
import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
|
|
4
|
+
export default function LaunchPairedEndBreakpointSplitViewPanel({ model, feature, }: {
|
|
6
5
|
model: AlignmentFeatureWidgetModel;
|
|
7
6
|
feature: SimpleFeatureSerialized;
|
|
8
|
-
viewType: ViewType;
|
|
9
7
|
}): React.JSX.Element;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import React, { lazy } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
// lazies
|
|
2
|
+
import { SimpleFeature, getSession, toLocale } from '@jbrowse/core/util';
|
|
3
|
+
import { Link, Typography } from '@mui/material';
|
|
5
4
|
const BreakendMultiLevelOptionDialog = lazy(() => import('./BreakendMultiLevelOptionDialog'));
|
|
6
5
|
const BreakendSingleLevelOptionDialog = lazy(() => import('./BreakendSingleLevelOptionDialog'));
|
|
7
|
-
export default function LaunchPairedEndBreakpointSplitViewPanel({ model, feature,
|
|
6
|
+
export default function LaunchPairedEndBreakpointSplitViewPanel({ model, feature, }) {
|
|
8
7
|
const session = getSession(model);
|
|
9
8
|
const f1 = {
|
|
10
9
|
uniqueId: feature.uniqueId,
|
|
@@ -38,10 +37,8 @@ export default function LaunchPairedEndBreakpointSplitViewPanel({ model, feature
|
|
|
38
37
|
BreakendMultiLevelOptionDialog,
|
|
39
38
|
{
|
|
40
39
|
handleClose,
|
|
41
|
-
|
|
40
|
+
session,
|
|
42
41
|
feature: new SimpleFeature({ ...f1, mate: f2 }),
|
|
43
|
-
// @ts-expect-error
|
|
44
|
-
viewType,
|
|
45
42
|
view: model.view,
|
|
46
43
|
assemblyName: model.view.displayedRegions[0].assemblyName,
|
|
47
44
|
},
|
|
@@ -54,10 +51,8 @@ export default function LaunchPairedEndBreakpointSplitViewPanel({ model, feature
|
|
|
54
51
|
BreakendSingleLevelOptionDialog,
|
|
55
52
|
{
|
|
56
53
|
handleClose,
|
|
57
|
-
|
|
54
|
+
session,
|
|
58
55
|
feature: new SimpleFeature({ ...f1, mate: f2 }),
|
|
59
|
-
// @ts-expect-error
|
|
60
|
-
viewType,
|
|
61
56
|
view: model.view,
|
|
62
57
|
assemblyName: model.view.displayedRegions[0].assemblyName,
|
|
63
58
|
},
|
package/esm/AlignmentsFeatureDetail/LaunchSupplementaryAlignmentBreakpointSplitViewPanel.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export default function LaunchBreakpointSplitViewPanel({ model, feature, viewType, }: {
|
|
2
|
+
import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
|
|
3
|
+
import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
|
|
4
|
+
export default function LaunchBreakpointSplitViewPanel({ model, feature, }: {
|
|
6
5
|
model: AlignmentFeatureWidgetModel;
|
|
7
6
|
feature: SimpleFeatureSerialized;
|
|
8
|
-
viewType: ViewType;
|
|
9
7
|
}): React.JSX.Element | null;
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import React, { lazy, useEffect, useState } from 'react';
|
|
2
|
-
import { Typography, Link } from '@mui/material';
|
|
3
|
-
import { SimpleFeature, getSession, toLocale, } from '@jbrowse/core/util';
|
|
4
2
|
import { ErrorMessage } from '@jbrowse/core/ui';
|
|
3
|
+
import { SimpleFeature, getSession, toLocale } from '@jbrowse/core/util';
|
|
4
|
+
import { Link, Typography } from '@mui/material';
|
|
5
5
|
import { getSAFeatures } from './getSAFeatures';
|
|
6
|
-
// lazies
|
|
7
6
|
const BreakendMultiLevelOptionDialog = lazy(() => import('./BreakendMultiLevelOptionDialog'));
|
|
8
7
|
const BreakendSingleLevelOptionDialog = lazy(() => import('./BreakendSingleLevelOptionDialog'));
|
|
9
|
-
export default function LaunchBreakpointSplitViewPanel({ model, feature,
|
|
10
|
-
const session = getSession(model);
|
|
8
|
+
export default function LaunchBreakpointSplitViewPanel({ model, feature, }) {
|
|
11
9
|
const { view } = model;
|
|
12
10
|
const [res, setRes] = useState();
|
|
13
11
|
const [error, setError] = useState();
|
|
14
12
|
useEffect(() => {
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
16
13
|
;
|
|
17
14
|
(async () => {
|
|
18
15
|
try {
|
|
@@ -49,36 +46,40 @@ export default function LaunchBreakpointSplitViewPanel({ model, feature, viewTyp
|
|
|
49
46
|
":",
|
|
50
47
|
toLocale(f2.strand === 1 ? f2.start : f2.end),
|
|
51
48
|
' ',
|
|
52
|
-
React.createElement(
|
|
53
|
-
event.preventDefault();
|
|
54
|
-
session.queueDialog(handleClose => [
|
|
55
|
-
BreakendMultiLevelOptionDialog,
|
|
56
|
-
{
|
|
57
|
-
handleClose,
|
|
58
|
-
model,
|
|
59
|
-
feature: new SimpleFeature({ ...f1, mate: f2 }),
|
|
60
|
-
// @ts-expect-error
|
|
61
|
-
viewType,
|
|
62
|
-
view: model.view,
|
|
63
|
-
assemblyName: model.view.displayedRegions[0].assemblyName,
|
|
64
|
-
},
|
|
65
|
-
]);
|
|
66
|
-
} }, "(top/bottom)"),
|
|
49
|
+
React.createElement(TopBottomSplitViewLink, { model: model, f1: f1, f2: f2 }),
|
|
67
50
|
' ',
|
|
68
|
-
React.createElement(
|
|
69
|
-
event.preventDefault();
|
|
70
|
-
session.queueDialog(handleClose => [
|
|
71
|
-
BreakendSingleLevelOptionDialog,
|
|
72
|
-
{
|
|
73
|
-
handleClose,
|
|
74
|
-
model,
|
|
75
|
-
feature: new SimpleFeature({ ...f1, mate: f2 }),
|
|
76
|
-
// @ts-expect-error
|
|
77
|
-
viewType,
|
|
78
|
-
view: model.view,
|
|
79
|
-
assemblyName: model.view.displayedRegions[0].assemblyName,
|
|
80
|
-
},
|
|
81
|
-
]);
|
|
82
|
-
} }, "(single row)")));
|
|
51
|
+
React.createElement(SideBySideViewLink, { model: model, f1: f1, f2: f2 })));
|
|
83
52
|
})))) : null;
|
|
84
53
|
}
|
|
54
|
+
function TopBottomSplitViewLink({ model, f1, f2, }) {
|
|
55
|
+
return (React.createElement(Link, { href: "#", onClick: event => {
|
|
56
|
+
event.preventDefault();
|
|
57
|
+
const session = getSession(model);
|
|
58
|
+
session.queueDialog(handleClose => [
|
|
59
|
+
BreakendMultiLevelOptionDialog,
|
|
60
|
+
{
|
|
61
|
+
handleClose,
|
|
62
|
+
session,
|
|
63
|
+
feature: new SimpleFeature({ ...f1, mate: f2 }),
|
|
64
|
+
view: model.view,
|
|
65
|
+
assemblyName: model.view.displayedRegions[0].assemblyName,
|
|
66
|
+
},
|
|
67
|
+
]);
|
|
68
|
+
} }, "(top/bottom)"));
|
|
69
|
+
}
|
|
70
|
+
function SideBySideViewLink({ model, f1, f2, }) {
|
|
71
|
+
return (React.createElement(Link, { href: "#", onClick: event => {
|
|
72
|
+
event.preventDefault();
|
|
73
|
+
const session = getSession(model);
|
|
74
|
+
session.queueDialog(handleClose => [
|
|
75
|
+
BreakendSingleLevelOptionDialog,
|
|
76
|
+
{
|
|
77
|
+
handleClose,
|
|
78
|
+
session,
|
|
79
|
+
feature: new SimpleFeature({ ...f1, mate: f2 }),
|
|
80
|
+
view: model.view,
|
|
81
|
+
assemblyName: model.view.displayedRegions[0].assemblyName,
|
|
82
|
+
},
|
|
83
|
+
]);
|
|
84
|
+
} }, "(single row)"));
|
|
85
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
|
|
3
|
+
import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
|
|
4
4
|
export default function SuppAlignments(props: {
|
|
5
5
|
model: AlignmentFeatureWidgetModel;
|
|
6
6
|
feature: SimpleFeatureSerialized;
|
|
@@ -6,12 +6,11 @@ export default function SuppAlignments(props) {
|
|
|
6
6
|
const { model, feature } = props;
|
|
7
7
|
const session = getSession(model);
|
|
8
8
|
const { pluginManager } = getEnv(session);
|
|
9
|
-
let
|
|
9
|
+
let hasBreakendSplitView = false;
|
|
10
10
|
try {
|
|
11
|
-
|
|
11
|
+
hasBreakendSplitView = !!pluginManager.getViewType('BreakpointSplitView');
|
|
12
12
|
}
|
|
13
13
|
catch (e) {
|
|
14
|
-
// ignore
|
|
15
14
|
}
|
|
16
|
-
return (React.createElement(BaseCard, { ...props, title: "
|
|
15
|
+
return (React.createElement(BaseCard, { ...props, title: "Paired alignments" }, hasBreakendSplitView ? (React.createElement(LaunchPairedEndBreakpointSplitViewPanel, { model: model, feature: feature })) : null));
|
|
17
16
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { AlignmentFeatureWidgetModel } from './stateModelFactory';
|
|
2
|
+
import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
|
|
3
3
|
export default function PairLink({ locString, model, }: {
|
|
4
4
|
locString: string;
|
|
5
5
|
model: AlignmentFeatureWidgetModel;
|
|
@@ -4,7 +4,6 @@ import { navToLoc } from './util';
|
|
|
4
4
|
export default function PairLink({ locString, model, }) {
|
|
5
5
|
return (React.createElement(Link, { onClick: event => {
|
|
6
6
|
event.preventDefault();
|
|
7
|
-
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
8
7
|
navToLoc(locString, model);
|
|
9
8
|
}, href: "#" }, locString));
|
|
10
9
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
|
|
3
|
+
import type { SimpleFeatureSerialized } from '@jbrowse/core/util';
|
|
4
4
|
export default function SupplementaryAlignments(props: {
|
|
5
5
|
tag: string;
|
|
6
6
|
model: AlignmentFeatureWidgetModel;
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { getEnv, getSession } from '@jbrowse/core/util';
|
|
3
2
|
import BaseCard from '@jbrowse/core/BaseFeatureWidget/BaseFeatureDetail/BaseCard';
|
|
4
|
-
import
|
|
3
|
+
import { getEnv, getSession } from '@jbrowse/core/util';
|
|
5
4
|
import LaunchBreakpointSplitViewPanel from './LaunchSupplementaryAlignmentBreakpointSplitViewPanel';
|
|
5
|
+
import SupplementaryAlignmentsLocStrings from './SupplementaryAlignmentsLocStrings';
|
|
6
6
|
export default function SupplementaryAlignments(props) {
|
|
7
7
|
const { model, tag, feature } = props;
|
|
8
8
|
const session = getSession(model);
|
|
9
9
|
const { pluginManager } = getEnv(session);
|
|
10
|
-
let
|
|
10
|
+
let hasBreakendSplitView = false;
|
|
11
11
|
try {
|
|
12
|
-
|
|
12
|
+
hasBreakendSplitView = !!pluginManager.getViewType('BreakpointSplitView');
|
|
13
13
|
}
|
|
14
14
|
catch (e) {
|
|
15
|
-
// ignore
|
|
16
15
|
}
|
|
17
16
|
return (React.createElement(BaseCard, { ...props, title: "Supplementary alignments" },
|
|
18
17
|
React.createElement(SupplementaryAlignmentsLocStrings, { model: model, tag: tag }),
|
|
19
|
-
|
|
18
|
+
hasBreakendSplitView ? (React.createElement(LaunchBreakpointSplitViewPanel, { model: model, feature: feature })) : null));
|
|
20
19
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { AlignmentFeatureWidgetModel } from './stateModelFactory';
|
|
2
|
+
import type { AlignmentFeatureWidgetModel } from './stateModelFactory';
|
|
3
3
|
export default function SupplementaryAlignmentsLocStrings({ tag, model, }: {
|
|
4
4
|
tag: string;
|
|
5
5
|
model: AlignmentFeatureWidgetModel;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
// locals
|
|
2
|
+
import { Link, Typography } from '@mui/material';
|
|
4
3
|
import { getLengthOnRef } from '../MismatchParser';
|
|
5
4
|
import { navToLoc } from './util';
|
|
6
5
|
export default function SupplementaryAlignmentsLocStrings({ tag, model, }) {
|
|
@@ -21,12 +20,9 @@ export default function SupplementaryAlignmentsLocStrings({ tag, model, }) {
|
|
|
21
20
|
const displayStart = start.toLocaleString('en-US');
|
|
22
21
|
const displayEnd = end.toLocaleString('en-US');
|
|
23
22
|
const displayString = `${saRef}:${displayStart}-${displayEnd} (${saStrand}) [${saLength}bp]`;
|
|
24
|
-
return (
|
|
25
|
-
/* biome-ignore lint/suspicious/noArrayIndexKey: */
|
|
26
|
-
React.createElement("li", { key: `${locString}-${idx}` },
|
|
23
|
+
return (React.createElement("li", { key: `${locString}-${idx}` },
|
|
27
24
|
React.createElement(Link, { href: "#", onClick: async (event) => {
|
|
28
25
|
event.preventDefault();
|
|
29
|
-
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
30
26
|
navToLoc(locString, model);
|
|
31
27
|
} }, displayString)));
|
|
32
28
|
}))));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Feature } from '@jbrowse/core/util';
|
|
2
|
-
import { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view';
|
|
1
|
+
import type { Feature } from '@jbrowse/core/util';
|
|
2
|
+
import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view';
|
|
3
3
|
export interface ReducedFeature {
|
|
4
4
|
refName: string;
|
|
5
5
|
start: number;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { getSession } from '@jbrowse/core/util';
|
|
2
|
-
// locals
|
|
3
2
|
import { featurizeSA, getClip, getLengthSansClipping } from '../MismatchParser';
|
|
4
3
|
export async function getSAFeatures({ view, feature, }) {
|
|
5
4
|
var _a;
|
|
@@ -9,9 +8,6 @@ export async function getSAFeatures({ view, feature, }) {
|
|
|
9
8
|
const SA = ((_a = feature.get('tags')) === null || _a === void 0 ? void 0 : _a.SA) || '';
|
|
10
9
|
const readName = feature.get('name');
|
|
11
10
|
const clipPos = getClip(cigar, 1);
|
|
12
|
-
// get the canonical refname for the read because if the read.get('refName')
|
|
13
|
-
// is chr1 and the actual fasta refName is 1 then no tracks can be opened on
|
|
14
|
-
// the top panel of the linear read vs ref
|
|
15
11
|
const assembly = await assemblyManager.waitForAssembly(view.assemblyNames[0]);
|
|
16
12
|
if (!assembly) {
|
|
17
13
|
throw new Error('assembly not found');
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
export default function AlignmentFeatureDetailsF(pluginManager: PluginManager): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { ReducedFeature } from './getSAFeatures';
|
|
2
|
+
import type { LinearGenomeViewModel } from '@jbrowse/plugin-linear-genome-view';
|
|
3
3
|
export declare function getBreakpointSplitView({ f1, f2, view, }: {
|
|
4
4
|
f1: ReducedFeature;
|
|
5
5
|
f2: ReducedFeature;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
-
import { Instance } from 'mobx-state-tree';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
+
import type { Instance } from 'mobx-state-tree';
|
|
3
3
|
export declare function stateModelFactory(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{
|
|
4
4
|
id: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
|
|
5
5
|
type: import("mobx-state-tree").ISimpleType<"BaseFeatureWidget">;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { types } from 'mobx-state-tree';
|
|
2
1
|
import { stateModelFactory as baseModelFactory } from '@jbrowse/core/BaseFeatureWidget';
|
|
2
|
+
import { types } from 'mobx-state-tree';
|
|
3
3
|
export function stateModelFactory(pluginManager) {
|
|
4
4
|
const baseModel = baseModelFactory(pluginManager);
|
|
5
5
|
return types.compose(baseModel, types.model('AlignmentsFeatureWidget', {
|
|
@@ -17,7 +17,7 @@ export const tags = {
|
|
|
17
17
|
E2: 'The 2nd most likely base calls',
|
|
18
18
|
FI: 'The index of segment in the template',
|
|
19
19
|
FS: 'Segment suffix',
|
|
20
|
-
FZ: 'Flow
|
|
20
|
+
FZ: 'Flow stopToken intensities',
|
|
21
21
|
GC: 'Reserved for backwards compatibility reasons',
|
|
22
22
|
GQ: 'Reserved for backwards compatibility reasons',
|
|
23
23
|
GS: 'Reserved for backwards compatibility reasons',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
export default function configSchemaFactory(pluginManager: PluginManager): import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
3
3
|
name: {
|
|
4
4
|
description: string;
|
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
2
|
import { createBaseTrackConfig } from '@jbrowse/core/pluggableElementTypes';
|
|
3
|
-
|
|
4
|
-
* #config AlignmentsTrack
|
|
5
|
-
* has very little config; most config and state logic is on the display
|
|
6
|
-
*/
|
|
7
|
-
function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
3
|
+
function x() { }
|
|
8
4
|
export default function configSchemaFactory(pluginManager) {
|
|
9
5
|
return ConfigurationSchema('AlignmentsTrack', {}, {
|
|
10
|
-
/**
|
|
11
|
-
* #baseConfiguration
|
|
12
|
-
*/
|
|
13
6
|
baseConfiguration: createBaseTrackConfig(pluginManager),
|
|
14
7
|
});
|
|
15
8
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
export default function register(pm: PluginManager): void;
|
|
@@ -11,9 +11,6 @@ export default function register(pm) {
|
|
|
11
11
|
stateModel: createBaseTrackModel(pm, 'AlignmentsTrack', configSchema),
|
|
12
12
|
});
|
|
13
13
|
const linearAlignmentsDisplay = pm.getDisplayType('LinearAlignmentsDisplay');
|
|
14
|
-
// Add LinearAlignmentsDisplay here so that it has priority over the other
|
|
15
|
-
// linear displays (defaults to order the displays are added, but we have
|
|
16
|
-
// to add the Pileup and SNPCoverage displays first).
|
|
17
14
|
track.addDisplayType(linearAlignmentsDisplay);
|
|
18
15
|
return track;
|
|
19
16
|
});
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { BamFile } from '@gmod/bam';
|
|
2
|
-
import { BaseFeatureDataAdapter
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
3
|
+
import type { FilterBy } from '../shared/types';
|
|
4
|
+
import type { BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
5
|
+
import type { Feature } from '@jbrowse/core/util';
|
|
6
|
+
import type { Region } from '@jbrowse/core/util/types';
|
|
6
7
|
interface Header {
|
|
7
8
|
idToName: string[];
|
|
8
9
|
nameToId: Record<string, number>;
|
|
@@ -23,7 +24,7 @@ export default class BamAdapter extends BaseFeatureDataAdapter {
|
|
|
23
24
|
bam: BamFile;
|
|
24
25
|
sequenceAdapter?: BaseFeatureDataAdapter;
|
|
25
26
|
}>;
|
|
26
|
-
getHeader(
|
|
27
|
+
getHeader(_opts?: BaseOptions): Promise<string | undefined>;
|
|
27
28
|
private setupPre;
|
|
28
29
|
setup(opts?: BaseOptions): Promise<Header>;
|
|
29
30
|
getRefNames(opts?: BaseOptions): Promise<string[]>;
|
|
@@ -1,27 +1,21 @@
|
|
|
1
1
|
import { BamFile } from '@gmod/bam';
|
|
2
|
-
import {
|
|
3
|
-
import { firstValueFrom } from 'rxjs';
|
|
4
|
-
// jbrowse
|
|
5
|
-
import { BaseFeatureDataAdapter, } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
2
|
+
import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
6
3
|
import { bytesForRegions, updateStatus } from '@jbrowse/core/util';
|
|
4
|
+
import QuickLRU from '@jbrowse/core/util/QuickLRU';
|
|
7
5
|
import { openLocation } from '@jbrowse/core/util/io';
|
|
8
6
|
import { ObservableCreate } from '@jbrowse/core/util/rxjs';
|
|
9
|
-
import
|
|
10
|
-
|
|
7
|
+
import { checkStopToken } from '@jbrowse/core/util/stopToken';
|
|
8
|
+
import { firstValueFrom } from 'rxjs';
|
|
9
|
+
import { toArray } from 'rxjs/operators';
|
|
11
10
|
import BamSlightlyLazyFeature from './BamSlightlyLazyFeature';
|
|
11
|
+
import { filterReadFlag, filterTagValue } from '../shared/util';
|
|
12
12
|
export default class BamAdapter extends BaseFeatureDataAdapter {
|
|
13
13
|
constructor() {
|
|
14
14
|
super(...arguments);
|
|
15
|
-
// used for avoiding re-creation new BamSlightlyLazyFeatures, keeping
|
|
16
|
-
// mismatches in cache. at an average of 100kb-300kb, keeping even just 500
|
|
17
|
-
// of these in memory is memory intensive but can reduce recomputation on
|
|
18
|
-
// these objects
|
|
19
15
|
this.ultraLongFeatureCache = new QuickLRU({
|
|
20
16
|
maxSize: 500,
|
|
21
17
|
});
|
|
22
18
|
}
|
|
23
|
-
// derived classes may not use the same configuration so a custom configure
|
|
24
|
-
// method allows derived classes to override this behavior
|
|
25
19
|
async configurePre() {
|
|
26
20
|
const bamLocation = this.getConf('bamLocation');
|
|
27
21
|
const location = this.getConf(['index', 'location']);
|
|
@@ -53,23 +47,20 @@ export default class BamAdapter extends BaseFeatureDataAdapter {
|
|
|
53
47
|
}
|
|
54
48
|
return this.configureP;
|
|
55
49
|
}
|
|
56
|
-
async getHeader(
|
|
50
|
+
async getHeader(_opts) {
|
|
57
51
|
const { bam } = await this.configure();
|
|
58
|
-
return bam.getHeaderText(
|
|
52
|
+
return bam.getHeaderText();
|
|
59
53
|
}
|
|
60
54
|
async setupPre(opts) {
|
|
61
55
|
const { statusCallback = () => { } } = opts || {};
|
|
62
56
|
const { bam } = await this.configure();
|
|
63
57
|
this.samHeader = await updateStatus('Downloading index', statusCallback, async () => {
|
|
64
|
-
const samHeader = await bam.getHeader(
|
|
65
|
-
// use the @SQ lines in the header to figure out the
|
|
66
|
-
// mapping between ref ref ID numbers and names
|
|
58
|
+
const samHeader = await bam.getHeader();
|
|
67
59
|
const idToName = [];
|
|
68
60
|
const nameToId = {};
|
|
69
61
|
samHeader === null || samHeader === void 0 ? void 0 : samHeader.filter(l => l.tag === 'SQ').forEach((sqLine, refId) => {
|
|
70
62
|
const SN = sqLine.data.find(item => item.tag === 'SN');
|
|
71
63
|
if (SN) {
|
|
72
|
-
// this is the ref name
|
|
73
64
|
const refName = SN.value;
|
|
74
65
|
nameToId[refName] = refId;
|
|
75
66
|
idToName[refId] = refName;
|
|
@@ -127,11 +118,13 @@ export default class BamAdapter extends BaseFeatureDataAdapter {
|
|
|
127
118
|
}
|
|
128
119
|
getFeatures(region, opts) {
|
|
129
120
|
const { refName, start, end, originalRefName } = region;
|
|
130
|
-
const {
|
|
121
|
+
const { stopToken, filterBy, statusCallback = () => { } } = opts || {};
|
|
131
122
|
return ObservableCreate(async (observer) => {
|
|
132
123
|
const { bam } = await this.configure();
|
|
133
124
|
await this.setup(opts);
|
|
134
|
-
|
|
125
|
+
checkStopToken(stopToken);
|
|
126
|
+
const records = await updateStatus('Downloading alignments', statusCallback, () => bam.getRecordsForRange(refName, start, end));
|
|
127
|
+
checkStopToken(stopToken);
|
|
135
128
|
await updateStatus('Processing alignments', statusCallback, async () => {
|
|
136
129
|
const { flagInclude = 0, flagExclude = 0, tagFilter, readName, } = filterBy || {};
|
|
137
130
|
for (const record of records) {
|
|
@@ -139,25 +132,16 @@ export default class BamAdapter extends BaseFeatureDataAdapter {
|
|
|
139
132
|
if (!record.tags.MD) {
|
|
140
133
|
ref = await this.seqFetch(originalRefName || refName, record.start, record.end);
|
|
141
134
|
}
|
|
142
|
-
|
|
143
|
-
if ((flags & flagInclude) !== flagInclude && !(flags & flagExclude)) {
|
|
135
|
+
if (filterReadFlag(record.flags, flagInclude, flagExclude)) {
|
|
144
136
|
continue;
|
|
145
137
|
}
|
|
146
|
-
if (tagFilter
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
if (filterVal === '*'
|
|
150
|
-
? readVal === undefined
|
|
151
|
-
: `${readVal}` !== `${filterVal}`) {
|
|
152
|
-
continue;
|
|
153
|
-
}
|
|
138
|
+
if (tagFilter &&
|
|
139
|
+
filterTagValue(record.tags[tagFilter.tag], tagFilter.value)) {
|
|
140
|
+
continue;
|
|
154
141
|
}
|
|
155
142
|
if (readName && record.name !== readName) {
|
|
156
143
|
continue;
|
|
157
144
|
}
|
|
158
|
-
// retrieve a feature from our feature cache if it is available, the
|
|
159
|
-
// features in the cache have pre-computed mismatches objects that
|
|
160
|
-
// can be re-used across blocks
|
|
161
145
|
const ret = this.ultraLongFeatureCache.get(`${record.id}`);
|
|
162
146
|
if (!ret) {
|
|
163
147
|
const elt = new BamSlightlyLazyFeature(record, this, ref);
|
|
@@ -170,11 +154,10 @@ export default class BamAdapter extends BaseFeatureDataAdapter {
|
|
|
170
154
|
}
|
|
171
155
|
observer.complete();
|
|
172
156
|
});
|
|
173
|
-
}
|
|
157
|
+
});
|
|
174
158
|
}
|
|
175
159
|
async getMultiRegionFeatureDensityStats(regions, opts) {
|
|
176
160
|
const { bam } = await this.configure();
|
|
177
|
-
// this is a method to avoid calling on htsget adapters
|
|
178
161
|
if (bam.index) {
|
|
179
162
|
const bytes = await bytesForRegions(regions, bam);
|
|
180
163
|
const fetchSizeLimit = this.getConf('fetchSizeLimit');
|
|
@@ -182,8 +165,7 @@ export default class BamAdapter extends BaseFeatureDataAdapter {
|
|
|
182
165
|
}
|
|
183
166
|
return super.getMultiRegionFeatureDensityStats(regions, opts);
|
|
184
167
|
}
|
|
185
|
-
freeResources(
|
|
186
|
-
// depends on setup being called before the BAM constructor
|
|
168
|
+
freeResources() { }
|
|
187
169
|
refIdToName(refId) {
|
|
188
170
|
var _a;
|
|
189
171
|
return (_a = this.samHeader) === null || _a === void 0 ? void 0 : _a.idToName[refId];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { BamRecord } from '@gmod/bam';
|
|
3
|
-
import
|
|
1
|
+
import type BamAdapter from './BamAdapter';
|
|
2
|
+
import type { BamRecord } from '@gmod/bam';
|
|
3
|
+
import type { Feature, SimpleFeatureSerialized } from '@jbrowse/core/util/simpleFeature';
|
|
4
4
|
export default class BamSlightlyLazyFeature implements Feature {
|
|
5
5
|
private record;
|
|
6
6
|
private adapter;
|