@jbrowse/plugin-variants 2.17.0 → 3.0.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/ChordVariantDisplay/index.d.ts +1 -1
- package/dist/ChordVariantDisplay/index.js +1 -2
- package/dist/ChordVariantDisplay/models/configSchema.d.ts +1 -4
- package/dist/ChordVariantDisplay/models/configSchema.js +1 -10
- package/dist/ChordVariantDisplay/models/stateModelFactory.d.ts +10 -28
- package/dist/ChordVariantDisplay/models/stateModelFactory.js +2 -23
- package/dist/LinearVariantDisplay/configSchema.d.ts +2 -2
- package/dist/LinearVariantDisplay/configSchema.js +1 -10
- package/dist/LinearVariantDisplay/index.d.ts +1 -1
- package/dist/LinearVariantDisplay/index.js +2 -2
- package/dist/LinearVariantDisplay/model.d.ts +13 -43
- package/dist/LinearVariantDisplay/model.js +1 -17
- package/dist/MultiLinearVariantDisplay/components/Crosshair.d.ts +7 -0
- package/dist/MultiLinearVariantDisplay/components/Crosshair.js +35 -0
- package/dist/MultiLinearVariantDisplay/components/VariantDisplayComponent.d.ts +5 -0
- package/dist/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +29 -0
- package/dist/MultiLinearVariantDisplay/configSchema.d.ts +80 -0
- package/dist/MultiLinearVariantDisplay/configSchema.js +30 -0
- package/dist/MultiLinearVariantDisplay/index.d.ts +2 -0
- package/dist/MultiLinearVariantDisplay/index.js +57 -0
- package/dist/MultiLinearVariantDisplay/model.d.ts +351 -0
- package/dist/MultiLinearVariantDisplay/model.js +83 -0
- package/dist/MultiLinearVariantDisplay/renderSvg.d.ts +3 -0
- package/dist/MultiLinearVariantDisplay/renderSvg.js +15 -0
- package/dist/MultiLinearVariantMatrixDisplay/components/Crosshair.d.ts +7 -0
- package/dist/MultiLinearVariantMatrixDisplay/components/Crosshair.js +28 -0
- package/dist/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.d.ts +6 -0
- package/dist/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +39 -0
- package/dist/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.d.ts +5 -0
- package/dist/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +31 -0
- package/dist/MultiLinearVariantMatrixDisplay/configSchema.d.ts +37 -0
- package/dist/MultiLinearVariantMatrixDisplay/configSchema.js +22 -0
- package/dist/MultiLinearVariantMatrixDisplay/index.d.ts +2 -0
- package/dist/MultiLinearVariantMatrixDisplay/index.js +24 -0
- package/dist/MultiLinearVariantMatrixDisplay/model.d.ts +356 -0
- package/dist/MultiLinearVariantMatrixDisplay/model.js +113 -0
- package/dist/MultiLinearVariantMatrixDisplay/renderSvg.d.ts +3 -0
- package/dist/MultiLinearVariantMatrixDisplay/renderSvg.js +17 -0
- package/dist/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.d.ts +34 -0
- package/dist/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.js +87 -0
- package/dist/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.d.ts +7 -0
- package/dist/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.js +38 -0
- package/dist/MultiLinearVariantMatrixRenderer/configSchema.d.ts +2 -0
- package/dist/MultiLinearVariantMatrixRenderer/configSchema.js +6 -0
- package/dist/MultiLinearVariantMatrixRenderer/index.d.ts +2 -0
- package/dist/MultiLinearVariantMatrixRenderer/index.js +20 -0
- package/dist/MultiLinearVariantMatrixRenderer/makeImageData.d.ts +10 -0
- package/dist/MultiLinearVariantMatrixRenderer/makeImageData.js +100 -0
- package/dist/MultiLinearVariantMatrixRenderer/types.d.ts +15 -0
- package/dist/MultiLinearVariantMatrixRenderer/types.js +2 -0
- package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +31 -0
- package/dist/MultiLinearVariantRenderer/MultiVariantRenderer.js +73 -0
- package/dist/MultiLinearVariantRenderer/MultiVariantRendering.d.ts +22 -0
- package/dist/MultiLinearVariantRenderer/MultiVariantRendering.js +52 -0
- package/dist/MultiLinearVariantRenderer/configSchema.d.ts +2 -0
- package/dist/MultiLinearVariantRenderer/configSchema.js +8 -0
- package/dist/MultiLinearVariantRenderer/index.d.ts +2 -0
- package/dist/MultiLinearVariantRenderer/index.js +19 -0
- package/dist/MultiLinearVariantRenderer/makeImageData.d.ts +4 -0
- package/dist/MultiLinearVariantRenderer/makeImageData.js +67 -0
- package/dist/MultiLinearVariantRenderer/types.d.ts +19 -0
- package/dist/MultiLinearVariantRenderer/types.js +2 -0
- package/dist/MultiVariantBaseRenderer.d.ts +46 -0
- package/dist/MultiVariantBaseRenderer.js +39 -0
- package/dist/StructuralVariantChordRenderer/Chord.d.ts +4 -21
- package/dist/StructuralVariantChordRenderer/Chord.js +8 -34
- package/dist/StructuralVariantChordRenderer/ReactComponent.d.ts +4 -5
- package/dist/StructuralVariantChordRenderer/ReactComponent.js +7 -30
- package/dist/StructuralVariantChordRenderer/configSchema.d.ts +0 -9
- package/dist/StructuralVariantChordRenderer/configSchema.js +1 -13
- package/dist/StructuralVariantChordRenderer/index.d.ts +1 -1
- package/dist/StructuralVariantChordRenderer/index.js +1 -1
- package/dist/StructuralVariantChordRenderer/types.d.ts +17 -0
- package/dist/StructuralVariantChordRenderer/types.js +2 -0
- package/dist/Tooltip.d.ts +19 -0
- package/dist/Tooltip.js +32 -0
- package/dist/VariantFeatureWidget/BreakendMultiLevelOptionDialog.js +0 -1
- package/dist/VariantFeatureWidget/BreakendSingleLevelOptionDialog.js +0 -1
- package/dist/VariantFeatureWidget/Checkbox2.d.ts +1 -2
- package/dist/VariantFeatureWidget/Checkbox2.js +2 -5
- package/dist/VariantFeatureWidget/LaunchBreakendPanel.d.ts +4 -5
- package/dist/VariantFeatureWidget/LaunchBreakendPanel.js +73 -80
- package/dist/VariantFeatureWidget/LaunchBreakendWidgetArea.d.ts +4 -0
- package/dist/VariantFeatureWidget/LaunchBreakendWidgetArea.js +60 -0
- package/dist/VariantFeatureWidget/VariantConsequenceDataGrid.d.ts +5 -0
- package/dist/VariantFeatureWidget/VariantConsequenceDataGrid.js +15 -0
- package/dist/VariantFeatureWidget/VariantConsequenceDataGridWrapper.d.ts +5 -0
- package/dist/VariantFeatureWidget/VariantConsequenceDataGridWrapper.js +20 -0
- package/dist/VariantFeatureWidget/VariantConsequencePanel.d.ts +5 -0
- package/dist/VariantFeatureWidget/VariantConsequencePanel.js +15 -0
- package/dist/VariantFeatureWidget/VariantFeatureWidget.d.ts +2 -3
- package/dist/VariantFeatureWidget/VariantFeatureWidget.js +50 -41
- package/dist/VariantFeatureWidget/VariantSampleFilters.d.ts +9 -0
- package/dist/VariantFeatureWidget/VariantSampleFilters.js +10 -0
- package/dist/VariantFeatureWidget/VariantSampleGrid.d.ts +10 -8
- package/dist/VariantFeatureWidget/VariantSampleGrid.js +17 -51
- package/dist/VariantFeatureWidget/index.d.ts +1 -1
- package/dist/VariantFeatureWidget/index.js +18 -8
- package/dist/VariantFeatureWidget/stateModelFactory.d.ts +2 -2
- package/dist/VariantFeatureWidget/stateModelFactory.js +1 -1
- package/dist/VariantFeatureWidget/types.d.ts +16 -0
- package/dist/VariantFeatureWidget/types.js +2 -0
- package/dist/VariantRPC/MultiVariantGetGenotypeMatrix.d.ts +17 -0
- package/dist/VariantRPC/MultiVariantGetGenotypeMatrix.js +50 -0
- package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +26 -0
- package/dist/VariantRPC/MultiVariantGetSimplifiedFeatures.js +53 -0
- package/dist/VariantRPC/MultiVariantGetSources.d.ts +14 -0
- package/dist/VariantRPC/MultiVariantGetSources.js +22 -0
- package/dist/VariantTrack/configSchema.d.ts +2 -3
- package/dist/VariantTrack/configSchema.js +6 -13
- package/dist/VariantTrack/index.d.ts +1 -1
- package/dist/VcfAdapter/VcfAdapter.d.ts +10 -2
- package/dist/VcfAdapter/VcfAdapter.js +32 -8
- package/dist/VcfAdapter/configSchema.d.ts +8 -3
- package/dist/VcfAdapter/configSchema.js +13 -8
- package/dist/VcfAdapter/index.d.ts +1 -1
- package/dist/VcfAdapter/index.js +17 -7
- package/dist/VcfFeature/index.d.ts +5 -29
- package/dist/VcfFeature/index.js +36 -26
- package/dist/VcfFeature/util.d.ts +1 -4
- package/dist/VcfFeature/util.js +3 -16
- package/dist/VcfTabixAdapter/VcfTabixAdapter.d.ts +7 -3
- package/dist/VcfTabixAdapter/VcfTabixAdapter.js +44 -13
- package/dist/VcfTabixAdapter/configSchema.d.ts +8 -9
- package/dist/VcfTabixAdapter/configSchema.js +10 -14
- package/dist/VcfTabixAdapter/index.d.ts +1 -1
- package/dist/VcfTabixAdapter/index.js +17 -7
- package/dist/extensionPoints.d.ts +1 -1
- package/dist/extensionPoints.js +21 -33
- package/dist/getMultiVariantFeaturesAutorun.d.ts +16 -0
- package/dist/getMultiVariantFeaturesAutorun.js +41 -0
- package/dist/getMultiVariantSourcesAutorun.d.ts +11 -0
- package/dist/getMultiVariantSourcesAutorun.js +37 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +18 -4
- package/dist/shared/BulkEditPanel.d.ts +5 -0
- package/dist/shared/BulkEditPanel.js +84 -0
- package/dist/shared/ClusterDialog.d.ts +11 -0
- package/dist/shared/ClusterDialog.js +109 -0
- package/dist/shared/ColorLegend.d.ts +10 -0
- package/dist/shared/ColorLegend.js +22 -0
- package/dist/shared/HelpfulTips.d.ts +1 -0
- package/dist/shared/HelpfulTips.js +7 -0
- package/dist/shared/LegendBar.d.ts +18 -0
- package/dist/shared/LegendBar.js +32 -0
- package/dist/shared/MAFFilterDialog.d.ts +8 -0
- package/dist/shared/MAFFilterDialog.js +28 -0
- package/dist/shared/MultiVariantBaseModel.d.ts +341 -0
- package/dist/shared/MultiVariantBaseModel.js +316 -0
- package/dist/shared/MultiVariantTooltip.d.ts +6 -0
- package/dist/shared/MultiVariantTooltip.js +23 -0
- package/dist/shared/RectBg.d.ts +8 -0
- package/dist/shared/RectBg.js +8 -0
- package/dist/shared/RowPalettizer.d.ts +5 -0
- package/dist/shared/RowPalettizer.js +40 -0
- package/dist/shared/SetColorDialog.d.ts +11 -0
- package/dist/shared/SetColorDialog.js +55 -0
- package/dist/shared/SetMinMaxDialog.d.ts +10 -0
- package/dist/shared/SetMinMaxDialog.js +26 -0
- package/dist/shared/SetRowHeightDialog.d.ts +8 -0
- package/dist/shared/SetRowHeightDialog.js +18 -0
- package/dist/shared/SharedVariantConfigSchema.d.ts +66 -0
- package/dist/shared/SharedVariantConfigSchema.js +56 -0
- package/dist/shared/SharedVariantMixin.d.ts +309 -0
- package/dist/shared/SharedVariantMixin.js +58 -0
- package/dist/shared/SourcesDataGrid.d.ts +6 -0
- package/dist/shared/SourcesDataGrid.js +68 -0
- package/dist/shared/SourcesGrid.d.ts +7 -0
- package/dist/shared/SourcesGrid.js +14 -0
- package/dist/shared/SourcesGridHeader.d.ts +7 -0
- package/dist/shared/SourcesGridHeader.js +41 -0
- package/dist/shared/multiVariantColor.d.ts +3 -0
- package/dist/shared/multiVariantColor.js +50 -0
- package/dist/shared/util.d.ts +10 -0
- package/dist/shared/util.js +32 -0
- package/dist/types.d.ts +14 -0
- package/dist/types.js +2 -0
- package/dist/util.d.ts +8 -0
- package/dist/util.js +86 -0
- package/esm/ChordVariantDisplay/index.d.ts +1 -1
- package/esm/ChordVariantDisplay/index.js +1 -2
- package/esm/ChordVariantDisplay/models/configSchema.d.ts +1 -4
- package/esm/ChordVariantDisplay/models/configSchema.js +1 -10
- package/esm/ChordVariantDisplay/models/stateModelFactory.d.ts +10 -28
- package/esm/ChordVariantDisplay/models/stateModelFactory.js +3 -24
- package/esm/LinearVariantDisplay/configSchema.d.ts +2 -2
- package/esm/LinearVariantDisplay/configSchema.js +1 -10
- package/esm/LinearVariantDisplay/index.d.ts +1 -1
- package/esm/LinearVariantDisplay/index.js +2 -2
- package/esm/LinearVariantDisplay/model.d.ts +13 -43
- package/esm/LinearVariantDisplay/model.js +2 -18
- package/esm/MultiLinearVariantDisplay/components/Crosshair.d.ts +7 -0
- package/esm/MultiLinearVariantDisplay/components/Crosshair.js +30 -0
- package/esm/MultiLinearVariantDisplay/components/VariantDisplayComponent.d.ts +5 -0
- package/esm/MultiLinearVariantDisplay/components/VariantDisplayComponent.js +24 -0
- package/esm/MultiLinearVariantDisplay/configSchema.d.ts +80 -0
- package/esm/MultiLinearVariantDisplay/configSchema.js +24 -0
- package/esm/MultiLinearVariantDisplay/index.d.ts +2 -0
- package/esm/MultiLinearVariantDisplay/index.js +18 -0
- package/esm/MultiLinearVariantDisplay/model.d.ts +351 -0
- package/esm/MultiLinearVariantDisplay/model.js +44 -0
- package/esm/MultiLinearVariantDisplay/renderSvg.d.ts +3 -0
- package/esm/MultiLinearVariantDisplay/renderSvg.js +9 -0
- package/esm/MultiLinearVariantMatrixDisplay/components/Crosshair.d.ts +7 -0
- package/esm/MultiLinearVariantMatrixDisplay/components/Crosshair.js +23 -0
- package/esm/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.d.ts +6 -0
- package/esm/MultiLinearVariantMatrixDisplay/components/LinesConnectingMatrixToGenomicPosition.js +37 -0
- package/esm/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.d.ts +5 -0
- package/esm/MultiLinearVariantMatrixDisplay/components/VariantDisplayComponent.js +26 -0
- package/esm/MultiLinearVariantMatrixDisplay/configSchema.d.ts +37 -0
- package/esm/MultiLinearVariantMatrixDisplay/configSchema.js +16 -0
- package/esm/MultiLinearVariantMatrixDisplay/index.d.ts +2 -0
- package/esm/MultiLinearVariantMatrixDisplay/index.js +18 -0
- package/esm/MultiLinearVariantMatrixDisplay/model.d.ts +356 -0
- package/esm/MultiLinearVariantMatrixDisplay/model.js +74 -0
- package/esm/MultiLinearVariantMatrixDisplay/renderSvg.d.ts +3 -0
- package/esm/MultiLinearVariantMatrixDisplay/renderSvg.js +11 -0
- package/esm/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.d.ts +34 -0
- package/esm/MultiLinearVariantMatrixRenderer/LinearVariantMatrixRenderer.js +48 -0
- package/esm/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.d.ts +7 -0
- package/esm/MultiLinearVariantMatrixRenderer/components/LinearVariantMatrixRendering.js +36 -0
- package/esm/MultiLinearVariantMatrixRenderer/configSchema.d.ts +2 -0
- package/esm/MultiLinearVariantMatrixRenderer/configSchema.js +4 -0
- package/esm/MultiLinearVariantMatrixRenderer/index.d.ts +2 -0
- package/esm/MultiLinearVariantMatrixRenderer/index.js +14 -0
- package/esm/MultiLinearVariantMatrixRenderer/makeImageData.d.ts +10 -0
- package/esm/MultiLinearVariantMatrixRenderer/makeImageData.js +97 -0
- package/esm/MultiLinearVariantMatrixRenderer/types.d.ts +15 -0
- package/esm/MultiLinearVariantMatrixRenderer/types.js +1 -0
- package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.d.ts +31 -0
- package/esm/MultiLinearVariantRenderer/MultiVariantRenderer.js +34 -0
- package/esm/MultiLinearVariantRenderer/MultiVariantRendering.d.ts +22 -0
- package/esm/MultiLinearVariantRenderer/MultiVariantRendering.js +47 -0
- package/esm/MultiLinearVariantRenderer/configSchema.d.ts +2 -0
- package/esm/MultiLinearVariantRenderer/configSchema.js +6 -0
- package/esm/MultiLinearVariantRenderer/index.d.ts +2 -0
- package/esm/MultiLinearVariantRenderer/index.js +13 -0
- package/esm/MultiLinearVariantRenderer/makeImageData.d.ts +4 -0
- package/esm/MultiLinearVariantRenderer/makeImageData.js +61 -0
- package/esm/MultiLinearVariantRenderer/types.d.ts +19 -0
- package/esm/MultiLinearVariantRenderer/types.js +1 -0
- package/esm/MultiVariantBaseRenderer.d.ts +46 -0
- package/esm/MultiVariantBaseRenderer.js +33 -0
- package/esm/StructuralVariantChordRenderer/Chord.d.ts +4 -21
- package/esm/StructuralVariantChordRenderer/Chord.js +8 -11
- package/esm/StructuralVariantChordRenderer/ReactComponent.d.ts +4 -5
- package/esm/StructuralVariantChordRenderer/ReactComponent.js +7 -7
- package/esm/StructuralVariantChordRenderer/configSchema.d.ts +0 -9
- package/esm/StructuralVariantChordRenderer/configSchema.js +1 -13
- package/esm/StructuralVariantChordRenderer/index.d.ts +1 -1
- package/esm/StructuralVariantChordRenderer/index.js +1 -1
- package/esm/StructuralVariantChordRenderer/types.d.ts +17 -0
- package/esm/StructuralVariantChordRenderer/types.js +1 -0
- package/esm/Tooltip.d.ts +19 -0
- package/esm/Tooltip.js +27 -0
- package/esm/VariantFeatureWidget/BreakendMultiLevelOptionDialog.js +0 -1
- package/esm/VariantFeatureWidget/BreakendSingleLevelOptionDialog.js +0 -1
- package/esm/VariantFeatureWidget/Checkbox2.d.ts +1 -2
- package/esm/VariantFeatureWidget/Checkbox2.js +2 -2
- package/esm/VariantFeatureWidget/LaunchBreakendPanel.d.ts +4 -5
- package/esm/VariantFeatureWidget/LaunchBreakendPanel.js +55 -72
- package/esm/VariantFeatureWidget/LaunchBreakendWidgetArea.d.ts +4 -0
- package/esm/VariantFeatureWidget/LaunchBreakendWidgetArea.js +24 -0
- package/esm/VariantFeatureWidget/VariantConsequenceDataGrid.d.ts +5 -0
- package/esm/VariantFeatureWidget/VariantConsequenceDataGrid.js +9 -0
- package/esm/VariantFeatureWidget/VariantConsequenceDataGridWrapper.d.ts +5 -0
- package/esm/VariantFeatureWidget/VariantConsequenceDataGridWrapper.js +17 -0
- package/esm/VariantFeatureWidget/VariantConsequencePanel.d.ts +5 -0
- package/esm/VariantFeatureWidget/VariantConsequencePanel.js +9 -0
- package/esm/VariantFeatureWidget/VariantFeatureWidget.d.ts +2 -3
- package/esm/VariantFeatureWidget/VariantFeatureWidget.js +33 -34
- package/esm/VariantFeatureWidget/VariantSampleFilters.d.ts +9 -0
- package/esm/VariantFeatureWidget/VariantSampleFilters.js +7 -0
- package/esm/VariantFeatureWidget/VariantSampleGrid.d.ts +10 -8
- package/esm/VariantFeatureWidget/VariantSampleGrid.js +18 -29
- package/esm/VariantFeatureWidget/index.d.ts +1 -1
- package/esm/VariantFeatureWidget/index.js +1 -1
- package/esm/VariantFeatureWidget/stateModelFactory.d.ts +2 -2
- package/esm/VariantFeatureWidget/stateModelFactory.js +1 -1
- package/esm/VariantFeatureWidget/types.d.ts +16 -0
- package/esm/VariantFeatureWidget/types.js +1 -0
- package/esm/VariantRPC/MultiVariantGetGenotypeMatrix.d.ts +17 -0
- package/esm/VariantRPC/MultiVariantGetGenotypeMatrix.js +43 -0
- package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.d.ts +26 -0
- package/esm/VariantRPC/MultiVariantGetSimplifiedFeatures.js +46 -0
- package/esm/VariantRPC/MultiVariantGetSources.d.ts +14 -0
- package/esm/VariantRPC/MultiVariantGetSources.js +15 -0
- package/esm/VariantTrack/configSchema.d.ts +2 -3
- package/esm/VariantTrack/configSchema.js +5 -13
- package/esm/VariantTrack/index.d.ts +1 -1
- package/esm/VcfAdapter/VcfAdapter.d.ts +10 -2
- package/esm/VcfAdapter/VcfAdapter.js +34 -10
- package/esm/VcfAdapter/configSchema.d.ts +8 -3
- package/esm/VcfAdapter/configSchema.js +13 -8
- package/esm/VcfAdapter/index.d.ts +1 -1
- package/esm/VcfFeature/index.d.ts +5 -29
- package/esm/VcfFeature/index.js +36 -26
- package/esm/VcfFeature/util.d.ts +1 -4
- package/esm/VcfFeature/util.js +3 -16
- package/esm/VcfTabixAdapter/VcfTabixAdapter.d.ts +7 -3
- package/esm/VcfTabixAdapter/VcfTabixAdapter.js +45 -14
- package/esm/VcfTabixAdapter/configSchema.d.ts +8 -9
- package/esm/VcfTabixAdapter/configSchema.js +10 -14
- package/esm/VcfTabixAdapter/index.d.ts +1 -1
- package/esm/extensionPoints.d.ts +1 -1
- package/esm/extensionPoints.js +22 -34
- package/esm/getMultiVariantFeaturesAutorun.d.ts +16 -0
- package/esm/getMultiVariantFeaturesAutorun.js +38 -0
- package/esm/getMultiVariantSourcesAutorun.d.ts +11 -0
- package/esm/getMultiVariantSourcesAutorun.js +34 -0
- package/esm/index.d.ts +1 -1
- package/esm/index.js +18 -4
- package/esm/shared/BulkEditPanel.d.ts +5 -0
- package/esm/shared/BulkEditPanel.js +81 -0
- package/esm/shared/ClusterDialog.d.ts +11 -0
- package/esm/shared/ClusterDialog.js +103 -0
- package/esm/shared/ColorLegend.d.ts +10 -0
- package/esm/shared/ColorLegend.js +17 -0
- package/esm/shared/HelpfulTips.d.ts +1 -0
- package/esm/shared/HelpfulTips.js +4 -0
- package/esm/shared/LegendBar.d.ts +18 -0
- package/esm/shared/LegendBar.js +26 -0
- package/esm/shared/MAFFilterDialog.d.ts +8 -0
- package/esm/shared/MAFFilterDialog.js +26 -0
- package/esm/shared/MultiVariantBaseModel.d.ts +341 -0
- package/esm/shared/MultiVariantBaseModel.js +277 -0
- package/esm/shared/MultiVariantTooltip.d.ts +6 -0
- package/esm/shared/MultiVariantTooltip.js +17 -0
- package/esm/shared/RectBg.d.ts +8 -0
- package/esm/shared/RectBg.js +6 -0
- package/esm/shared/RowPalettizer.d.ts +5 -0
- package/esm/shared/RowPalettizer.js +37 -0
- package/esm/shared/SetColorDialog.d.ts +11 -0
- package/esm/shared/SetColorDialog.js +49 -0
- package/esm/shared/SetMinMaxDialog.d.ts +10 -0
- package/esm/shared/SetMinMaxDialog.js +23 -0
- package/esm/shared/SetRowHeightDialog.d.ts +8 -0
- package/esm/shared/SetRowHeightDialog.js +15 -0
- package/esm/shared/SharedVariantConfigSchema.d.ts +66 -0
- package/esm/shared/SharedVariantConfigSchema.js +53 -0
- package/esm/shared/SharedVariantMixin.d.ts +309 -0
- package/esm/shared/SharedVariantMixin.js +55 -0
- package/esm/shared/SourcesDataGrid.d.ts +6 -0
- package/esm/shared/SourcesDataGrid.js +62 -0
- package/esm/shared/SourcesGrid.d.ts +7 -0
- package/esm/shared/SourcesGrid.js +9 -0
- package/esm/shared/SourcesGridHeader.d.ts +7 -0
- package/esm/shared/SourcesGridHeader.js +35 -0
- package/esm/shared/multiVariantColor.d.ts +3 -0
- package/esm/shared/multiVariantColor.js +45 -0
- package/esm/shared/util.d.ts +10 -0
- package/esm/shared/util.js +28 -0
- package/esm/types.d.ts +14 -0
- package/esm/types.js +1 -0
- package/esm/util.d.ts +8 -0
- package/esm/util.js +77 -0
- package/package.json +7 -8
- package/dist/VariantFeatureWidget/AnnotGrid.d.ts +0 -6
- package/dist/VariantFeatureWidget/AnnotGrid.js +0 -39
- package/dist/VariantFeatureWidget/VariantAnnotationTable.d.ts +0 -6
- package/dist/VariantFeatureWidget/VariantAnnotationTable.js +0 -16
- package/esm/VariantFeatureWidget/AnnotGrid.d.ts +0 -6
- package/esm/VariantFeatureWidget/AnnotGrid.js +0 -13
- package/esm/VariantFeatureWidget/VariantAnnotationTable.d.ts +0 -6
- package/esm/VariantFeatureWidget/VariantAnnotationTable.js +0 -10
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import RpcMethodTypeWithFiltersAndRenameRegions from '@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions';
|
|
2
|
+
import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
3
|
+
import type { Region } from '@jbrowse/core/util';
|
|
4
|
+
export declare class MultiVariantGetGenotypeMatrix extends RpcMethodTypeWithFiltersAndRenameRegions {
|
|
5
|
+
name: string;
|
|
6
|
+
execute(args: {
|
|
7
|
+
adapterConfig: AnyConfigurationModel;
|
|
8
|
+
stopToken?: string;
|
|
9
|
+
sessionId: string;
|
|
10
|
+
headers?: Record<string, string>;
|
|
11
|
+
regions: Region[];
|
|
12
|
+
bpPerPx: number;
|
|
13
|
+
}, rpcDriverClassName: string): Promise<Record<string, {
|
|
14
|
+
name: string;
|
|
15
|
+
genotypes: number[];
|
|
16
|
+
}>>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { getAdapter } from '@jbrowse/core/data_adapters/dataAdapterCache';
|
|
2
|
+
import RpcMethodTypeWithFiltersAndRenameRegions from '@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions';
|
|
3
|
+
import { firstValueFrom, toArray } from 'rxjs';
|
|
4
|
+
import { getFeaturesThatPassMinorAlleleFrequencyFilter } from '../util';
|
|
5
|
+
export class MultiVariantGetGenotypeMatrix extends RpcMethodTypeWithFiltersAndRenameRegions {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.name = 'MultiVariantGetGenotypeMatrix';
|
|
9
|
+
}
|
|
10
|
+
async execute(args, rpcDriverClassName) {
|
|
11
|
+
const pm = this.pluginManager;
|
|
12
|
+
const deserializedArgs = await this.deserializeArguments(args, rpcDriverClassName);
|
|
13
|
+
const { sources, minorAlleleFrequencyFilter, regions, adapterConfig, sessionId, } = deserializedArgs;
|
|
14
|
+
const adapter = await getAdapter(pm, sessionId, adapterConfig);
|
|
15
|
+
const dataAdapter = adapter.dataAdapter;
|
|
16
|
+
const region = regions[0];
|
|
17
|
+
const feats = await firstValueFrom(dataAdapter.getFeatures(region, deserializedArgs).pipe(toArray()));
|
|
18
|
+
const genotypeFactor = new Set();
|
|
19
|
+
const mafs = getFeaturesThatPassMinorAlleleFrequencyFilter(feats, minorAlleleFrequencyFilter);
|
|
20
|
+
for (const feat of feats) {
|
|
21
|
+
const samp = feat.get('genotypes');
|
|
22
|
+
for (const { name } of sources) {
|
|
23
|
+
const s = samp[name];
|
|
24
|
+
genotypeFactor.add(s);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const genotypeFactorMap = Object.fromEntries([...genotypeFactor].map((type, idx) => [type, idx]));
|
|
28
|
+
const rows = {};
|
|
29
|
+
for (const feat of mafs) {
|
|
30
|
+
const samp = feat.get('genotypes');
|
|
31
|
+
for (const { name } of sources) {
|
|
32
|
+
if (!rows[name]) {
|
|
33
|
+
rows[name] = {
|
|
34
|
+
name,
|
|
35
|
+
genotypes: [],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
rows[name].genotypes.push(genotypeFactorMap[samp[name]]);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return rows;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import RpcMethodTypeWithFiltersAndRenameRegions from '@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions';
|
|
2
|
+
import type { SampleInfo } from '../types';
|
|
3
|
+
import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
4
|
+
import type { Region } from '@jbrowse/core/util';
|
|
5
|
+
export declare class MultiVariantGetSimplifiedFeatures extends RpcMethodTypeWithFiltersAndRenameRegions {
|
|
6
|
+
name: string;
|
|
7
|
+
execute(args: {
|
|
8
|
+
adapterConfig: AnyConfigurationModel;
|
|
9
|
+
stopToken?: string;
|
|
10
|
+
sessionId: string;
|
|
11
|
+
headers?: Record<string, string>;
|
|
12
|
+
regions: Region[];
|
|
13
|
+
bpPerPx: number;
|
|
14
|
+
}, rpcDriverClassName: string): Promise<{
|
|
15
|
+
hasPhased: boolean;
|
|
16
|
+
sampleInfo: Record<string, SampleInfo>;
|
|
17
|
+
features: {
|
|
18
|
+
id: string;
|
|
19
|
+
data: {
|
|
20
|
+
start: number;
|
|
21
|
+
end: number;
|
|
22
|
+
refName: string;
|
|
23
|
+
};
|
|
24
|
+
}[];
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { getAdapter } from '@jbrowse/core/data_adapters/dataAdapterCache';
|
|
2
|
+
import RpcMethodTypeWithFiltersAndRenameRegions from '@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions';
|
|
3
|
+
import { firstValueFrom, toArray } from 'rxjs';
|
|
4
|
+
import { getFeaturesThatPassMinorAlleleFrequencyFilter } from '../util';
|
|
5
|
+
export class MultiVariantGetSimplifiedFeatures extends RpcMethodTypeWithFiltersAndRenameRegions {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.name = 'MultiVariantGetSimplifiedFeatures';
|
|
9
|
+
}
|
|
10
|
+
async execute(args, rpcDriverClassName) {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
const pm = this.pluginManager;
|
|
13
|
+
const deserializedArgs = await this.deserializeArguments(args, rpcDriverClassName);
|
|
14
|
+
const { minorAlleleFrequencyFilter, regions, adapterConfig, sessionId } = deserializedArgs;
|
|
15
|
+
const { dataAdapter } = await getAdapter(pm, sessionId, adapterConfig);
|
|
16
|
+
const feats = await firstValueFrom(dataAdapter
|
|
17
|
+
.getFeaturesInMultipleRegions(regions, deserializedArgs)
|
|
18
|
+
.pipe(toArray()));
|
|
19
|
+
const features = getFeaturesThatPassMinorAlleleFrequencyFilter(feats, minorAlleleFrequencyFilter);
|
|
20
|
+
const sampleInfo = {};
|
|
21
|
+
let hasPhased = false;
|
|
22
|
+
for (const f of features) {
|
|
23
|
+
const samp = f.get('genotypes');
|
|
24
|
+
for (const [key, val] of Object.entries(samp)) {
|
|
25
|
+
const isPhased = val.includes('|');
|
|
26
|
+
hasPhased || (hasPhased = isPhased);
|
|
27
|
+
sampleInfo[key] = {
|
|
28
|
+
maxPloidy: Math.max(((_a = sampleInfo[key]) === null || _a === void 0 ? void 0 : _a.maxPloidy) || 0, val.split('|').length),
|
|
29
|
+
isPhased: ((_b = sampleInfo[key]) === null || _b === void 0 ? void 0 : _b.isPhased) || isPhased,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
hasPhased,
|
|
35
|
+
sampleInfo,
|
|
36
|
+
features: features.map(f => ({
|
|
37
|
+
id: f.id(),
|
|
38
|
+
data: {
|
|
39
|
+
start: f.get('start'),
|
|
40
|
+
end: f.get('end'),
|
|
41
|
+
refName: f.get('refName'),
|
|
42
|
+
},
|
|
43
|
+
})),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import RpcMethodTypeWithFiltersAndRenameRegions from '@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions';
|
|
2
|
+
import type { AnyConfigurationModel } from '@jbrowse/core/configuration';
|
|
3
|
+
import type { Region } from '@jbrowse/core/util';
|
|
4
|
+
export declare class MultiVariantGetSources extends RpcMethodTypeWithFiltersAndRenameRegions {
|
|
5
|
+
name: string;
|
|
6
|
+
execute(args: {
|
|
7
|
+
adapterConfig: AnyConfigurationModel;
|
|
8
|
+
stopToken?: string;
|
|
9
|
+
sessionId: string;
|
|
10
|
+
headers?: Record<string, string>;
|
|
11
|
+
regions: Region[];
|
|
12
|
+
bpPerPx: number;
|
|
13
|
+
}, rpcDriverClassName: string): Promise<any>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { getAdapter } from '@jbrowse/core/data_adapters/dataAdapterCache';
|
|
2
|
+
import RpcMethodTypeWithFiltersAndRenameRegions from '@jbrowse/core/pluggableElementTypes/RpcMethodTypeWithFiltersAndRenameRegions';
|
|
3
|
+
export class MultiVariantGetSources extends RpcMethodTypeWithFiltersAndRenameRegions {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.name = 'MultiVariantGetSources';
|
|
7
|
+
}
|
|
8
|
+
async execute(args, rpcDriverClassName) {
|
|
9
|
+
const pm = this.pluginManager;
|
|
10
|
+
const deserializedArgs = await this.deserializeArguments(args, rpcDriverClassName);
|
|
11
|
+
const { regions, adapterConfig, sessionId } = deserializedArgs;
|
|
12
|
+
const { dataAdapter } = await getAdapter(pm, sessionId, adapterConfig);
|
|
13
|
+
return dataAdapter.getSources(regions, deserializedArgs);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
-
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
|
+
export default function VariantTrackF(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;
|
|
5
5
|
type: string;
|
|
@@ -77,4 +77,3 @@ declare const configSchema: (pluginManager: PluginManager) => import("@jbrowse/c
|
|
|
77
77
|
};
|
|
78
78
|
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
79
79
|
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, "trackId">>, undefined>>;
|
|
80
|
-
export default configSchema;
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
2
|
import { createBaseTrackConfig } from '@jbrowse/core/pluggableElementTypes';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
9
|
-
const configSchema = (pluginManager) => ConfigurationSchema('VariantTrack', {}, {
|
|
10
|
-
/**
|
|
11
|
-
* #baseConfiguration
|
|
12
|
-
*/
|
|
13
|
-
baseConfiguration: createBaseTrackConfig(pluginManager),
|
|
14
|
-
});
|
|
15
|
-
export default configSchema;
|
|
3
|
+
export default function VariantTrackF(pluginManager) {
|
|
4
|
+
return ConfigurationSchema('VariantTrack', {}, {
|
|
5
|
+
baseConfiguration: createBaseTrackConfig(pluginManager),
|
|
6
|
+
});
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
export default function VariantTrackF(pm: PluginManager): void;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { BaseFeatureDataAdapter, BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
2
|
-
import { Region, Feature } from '@jbrowse/core/util';
|
|
3
1
|
import IntervalTree from '@flatten-js/interval-tree';
|
|
2
|
+
import VcfParser from '@gmod/vcf';
|
|
3
|
+
import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
4
|
+
import type { BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
5
|
+
import type { Feature, Region } from '@jbrowse/core/util';
|
|
4
6
|
type StatusCallback = (arg: string) => void;
|
|
5
7
|
export default class VcfAdapter extends BaseFeatureDataAdapter {
|
|
6
8
|
calculatedIntervalTreeMap: Record<string, IntervalTree>;
|
|
7
9
|
vcfFeatures?: Promise<{
|
|
8
10
|
header: string;
|
|
11
|
+
parser: VcfParser;
|
|
9
12
|
intervalTreeMap: Record<string, (sc?: StatusCallback) => IntervalTree>;
|
|
10
13
|
}>;
|
|
11
14
|
static capabilities: string[];
|
|
@@ -13,16 +16,21 @@ export default class VcfAdapter extends BaseFeatureDataAdapter {
|
|
|
13
16
|
getMetadata(): Promise<any>;
|
|
14
17
|
setupP(opts?: BaseOptions): Promise<{
|
|
15
18
|
header: string;
|
|
19
|
+
parser: VcfParser;
|
|
16
20
|
intervalTreeMap: {
|
|
17
21
|
[k: string]: (sc?: (arg: string) => void) => IntervalTree<any>;
|
|
18
22
|
};
|
|
19
23
|
}>;
|
|
20
24
|
setup(): Promise<{
|
|
21
25
|
header: string;
|
|
26
|
+
parser: VcfParser;
|
|
22
27
|
intervalTreeMap: Record<string, (sc?: StatusCallback) => IntervalTree>;
|
|
23
28
|
}>;
|
|
24
29
|
getRefNames(_?: BaseOptions): Promise<string[]>;
|
|
25
30
|
getFeatures(region: Region, opts?: BaseOptions): import("rxjs").Observable<Feature>;
|
|
31
|
+
getSources(): Promise<{
|
|
32
|
+
name: string;
|
|
33
|
+
}[]>;
|
|
26
34
|
freeResources(): void;
|
|
27
35
|
}
|
|
28
36
|
export {};
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import IntervalTree from '@flatten-js/interval-tree';
|
|
2
|
+
import VcfParser from '@gmod/vcf';
|
|
3
|
+
import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
2
4
|
import { fetchAndMaybeUnzip } from '@jbrowse/core/util';
|
|
3
5
|
import { openLocation } from '@jbrowse/core/util/io';
|
|
4
6
|
import { ObservableCreate } from '@jbrowse/core/util/rxjs';
|
|
5
|
-
import IntervalTree from '@flatten-js/interval-tree';
|
|
6
|
-
import VCF from '@gmod/vcf';
|
|
7
|
-
// local
|
|
8
7
|
import VcfFeature from '../VcfFeature';
|
|
9
8
|
class VcfAdapter extends BaseFeatureDataAdapter {
|
|
10
9
|
constructor() {
|
|
@@ -16,8 +15,7 @@ class VcfAdapter extends BaseFeatureDataAdapter {
|
|
|
16
15
|
return header;
|
|
17
16
|
}
|
|
18
17
|
async getMetadata() {
|
|
19
|
-
const {
|
|
20
|
-
const parser = new VCF({ header });
|
|
18
|
+
const { parser } = await this.setup();
|
|
21
19
|
return parser.getMetadata();
|
|
22
20
|
}
|
|
23
21
|
async setupP(opts) {
|
|
@@ -30,8 +28,7 @@ class VcfAdapter extends BaseFeatureDataAdapter {
|
|
|
30
28
|
const decoder = new TextDecoder('utf8');
|
|
31
29
|
let i = 0;
|
|
32
30
|
while (blockStart < buffer.length) {
|
|
33
|
-
const n = buffer.indexOf(
|
|
34
|
-
// could be a non-newline ended file, so slice to end of file if n===-1
|
|
31
|
+
const n = buffer.indexOf(10, blockStart);
|
|
35
32
|
const b = n === -1 ? buffer.subarray(blockStart) : buffer.subarray(blockStart, n);
|
|
36
33
|
const line = decoder.decode(b).trim();
|
|
37
34
|
if (line) {
|
|
@@ -53,7 +50,7 @@ class VcfAdapter extends BaseFeatureDataAdapter {
|
|
|
53
50
|
blockStart = n + 1;
|
|
54
51
|
}
|
|
55
52
|
const header = headerLines.join('\n');
|
|
56
|
-
const parser = new
|
|
53
|
+
const parser = new VcfParser({ header });
|
|
57
54
|
const intervalTreeMap = Object.fromEntries(Object.entries(featureMap).map(([refName, lines]) => [
|
|
58
55
|
refName,
|
|
59
56
|
(sc) => {
|
|
@@ -76,6 +73,7 @@ class VcfAdapter extends BaseFeatureDataAdapter {
|
|
|
76
73
|
]));
|
|
77
74
|
return {
|
|
78
75
|
header,
|
|
76
|
+
parser,
|
|
79
77
|
intervalTreeMap,
|
|
80
78
|
};
|
|
81
79
|
}
|
|
@@ -106,7 +104,33 @@ class VcfAdapter extends BaseFeatureDataAdapter {
|
|
|
106
104
|
catch (e) {
|
|
107
105
|
observer.error(e);
|
|
108
106
|
}
|
|
109
|
-
}, opts.
|
|
107
|
+
}, opts.stopToken);
|
|
108
|
+
}
|
|
109
|
+
async getSources() {
|
|
110
|
+
const conf = this.getConf('samplesTsvLocation');
|
|
111
|
+
if (conf.uri === '' || conf.uri === '/path/to/samples.tsv') {
|
|
112
|
+
const { parser } = await this.setup();
|
|
113
|
+
return parser.samples.map(name => ({
|
|
114
|
+
name,
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
const txt = await openLocation(conf).readFile('utf8');
|
|
119
|
+
const lines = txt.split(/\n|\r\n|\r/);
|
|
120
|
+
const header = lines[0].split('\t');
|
|
121
|
+
const { parser } = await this.setup();
|
|
122
|
+
const s = new Set(parser.samples);
|
|
123
|
+
return lines
|
|
124
|
+
.slice(1)
|
|
125
|
+
.map(line => {
|
|
126
|
+
const cols = line.split('\t');
|
|
127
|
+
return {
|
|
128
|
+
name: cols[0],
|
|
129
|
+
...Object.fromEntries(cols.slice(1).map((c, idx) => [header[idx + 1], c])),
|
|
130
|
+
};
|
|
131
|
+
})
|
|
132
|
+
.filter(f => s.has(f.name));
|
|
133
|
+
}
|
|
110
134
|
}
|
|
111
135
|
freeResources() { }
|
|
112
136
|
}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
declare const VcfAdapter: import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaType<{
|
|
2
|
-
/**
|
|
3
|
-
* #slot
|
|
4
|
-
*/
|
|
5
2
|
vcfLocation: {
|
|
6
3
|
type: string;
|
|
7
4
|
defaultValue: {
|
|
@@ -9,5 +6,13 @@ declare const VcfAdapter: import("@jbrowse/core/configuration/configurationSchem
|
|
|
9
6
|
locationType: string;
|
|
10
7
|
};
|
|
11
8
|
};
|
|
9
|
+
samplesTsvLocation: {
|
|
10
|
+
type: string;
|
|
11
|
+
defaultValue: {
|
|
12
|
+
uri: string;
|
|
13
|
+
description: string;
|
|
14
|
+
locationType: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
12
17
|
}, import("@jbrowse/core/configuration/configurationSchema").ConfigurationSchemaOptions<undefined, undefined>>;
|
|
13
18
|
export default VcfAdapter;
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { ConfigurationSchema } from '@jbrowse/core/configuration';
|
|
2
|
-
|
|
3
|
-
* #config VcfAdapter
|
|
4
|
-
*/
|
|
5
|
-
function x() { } // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
2
|
+
function x() { }
|
|
6
3
|
const VcfAdapter = ConfigurationSchema('VcfAdapter', {
|
|
7
|
-
/**
|
|
8
|
-
* #slot
|
|
9
|
-
*/
|
|
10
4
|
vcfLocation: {
|
|
11
5
|
type: 'fileLocation',
|
|
12
|
-
defaultValue: {
|
|
6
|
+
defaultValue: {
|
|
7
|
+
uri: '/path/to/my.vcf',
|
|
8
|
+
locationType: 'UriLocation',
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
samplesTsvLocation: {
|
|
12
|
+
type: 'fileLocation',
|
|
13
|
+
defaultValue: {
|
|
14
|
+
uri: '/path/to/samples.tsv',
|
|
15
|
+
description: 'tsv with header like name\tpopulation\tetc. where the first column is required, and is the sample names',
|
|
16
|
+
locationType: 'UriLocation',
|
|
17
|
+
},
|
|
13
18
|
},
|
|
14
19
|
}, { explicitlyTyped: true });
|
|
15
20
|
export default VcfAdapter;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import PluginManager from '@jbrowse/core/PluginManager';
|
|
1
|
+
import type PluginManager from '@jbrowse/core/PluginManager';
|
|
2
2
|
export default function VcfAdapterF(pluginManager: PluginManager): void;
|
|
@@ -1,43 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
type
|
|
4
|
-
values: string[] | number[] | null;
|
|
5
|
-
}>>;
|
|
6
|
-
interface FeatureData {
|
|
7
|
-
[key: string]: unknown;
|
|
8
|
-
refName: string;
|
|
9
|
-
start: number;
|
|
10
|
-
end: number;
|
|
11
|
-
description?: string;
|
|
12
|
-
type?: string;
|
|
13
|
-
name?: string;
|
|
14
|
-
aliases?: string[];
|
|
15
|
-
samples?: Samples;
|
|
16
|
-
}
|
|
1
|
+
import type VCFParser from '@gmod/vcf';
|
|
2
|
+
import type { Variant } from '@gmod/vcf';
|
|
3
|
+
import type { Feature } from '@jbrowse/core/util';
|
|
17
4
|
export default class VCFFeature implements Feature {
|
|
18
5
|
private variant;
|
|
19
6
|
private parser;
|
|
20
7
|
private data;
|
|
21
8
|
private _id;
|
|
22
9
|
constructor(args: {
|
|
23
|
-
variant:
|
|
24
|
-
parser:
|
|
10
|
+
variant: Variant;
|
|
11
|
+
parser: VCFParser;
|
|
25
12
|
id: string;
|
|
26
13
|
});
|
|
27
14
|
get(field: string): any;
|
|
28
|
-
set(): void;
|
|
29
15
|
parent(): undefined;
|
|
30
16
|
children(): undefined;
|
|
31
|
-
tags(): string[];
|
|
32
17
|
id(): string;
|
|
33
|
-
dataFromVariant(variant: {
|
|
34
|
-
REF: string;
|
|
35
|
-
POS: number;
|
|
36
|
-
ALT?: string[];
|
|
37
|
-
CHROM: string;
|
|
38
|
-
INFO: any;
|
|
39
|
-
ID?: string[];
|
|
40
|
-
}): FeatureData;
|
|
41
18
|
toJSON(): any;
|
|
42
19
|
}
|
|
43
|
-
export {};
|
package/esm/VcfFeature/index.js
CHANGED
|
@@ -1,53 +1,63 @@
|
|
|
1
|
-
// locals
|
|
2
1
|
import { getSOTermAndDescription } from './util';
|
|
2
|
+
function dataFromVariant(variant, parser) {
|
|
3
|
+
const { FORMAT, REF = '', ALT, POS, CHROM, ID } = variant;
|
|
4
|
+
const start = POS - 1;
|
|
5
|
+
const [type, description] = getSOTermAndDescription(REF, ALT, parser);
|
|
6
|
+
return {
|
|
7
|
+
refName: CHROM,
|
|
8
|
+
start,
|
|
9
|
+
end: getEnd(variant),
|
|
10
|
+
description,
|
|
11
|
+
type,
|
|
12
|
+
name: ID === null || ID === void 0 ? void 0 : ID.join(','),
|
|
13
|
+
aliases: ID && ID.length > 1 ? ID.slice(1) : undefined,
|
|
14
|
+
format: FORMAT,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function getEnd(variant) {
|
|
18
|
+
const { POS, REF = '', ALT } = variant;
|
|
19
|
+
const isTRA = ALT === null || ALT === void 0 ? void 0 : ALT.includes('<TRA>');
|
|
20
|
+
const start = POS - 1;
|
|
21
|
+
const isSymbolic = ALT === null || ALT === void 0 ? void 0 : ALT.some(f => f.includes('<'));
|
|
22
|
+
if (isSymbolic) {
|
|
23
|
+
const info = variant.INFO;
|
|
24
|
+
if (info.END && !isTRA) {
|
|
25
|
+
return +info.END[0];
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return start + REF.length;
|
|
29
|
+
}
|
|
3
30
|
export default class VCFFeature {
|
|
4
31
|
constructor(args) {
|
|
5
32
|
this.variant = args.variant;
|
|
6
33
|
this.parser = args.parser;
|
|
7
|
-
this.data =
|
|
34
|
+
this.data = dataFromVariant(this.variant, this.parser);
|
|
8
35
|
this._id = args.id;
|
|
9
36
|
}
|
|
10
37
|
get(field) {
|
|
11
38
|
var _a;
|
|
12
39
|
return field === 'samples'
|
|
13
|
-
? this.variant.SAMPLES
|
|
14
|
-
:
|
|
40
|
+
? this.variant.SAMPLES()
|
|
41
|
+
: field === 'genotypes'
|
|
42
|
+
? this.variant.GENOTYPES()
|
|
43
|
+
: ((_a = this.data[field]) !== null && _a !== void 0 ? _a : this.variant[field]);
|
|
15
44
|
}
|
|
16
|
-
set() { }
|
|
17
45
|
parent() {
|
|
18
46
|
return undefined;
|
|
19
47
|
}
|
|
20
48
|
children() {
|
|
21
49
|
return undefined;
|
|
22
50
|
}
|
|
23
|
-
tags() {
|
|
24
|
-
return [...Object.keys(this.data), ...Object.keys(this.variant), 'samples'];
|
|
25
|
-
}
|
|
26
51
|
id() {
|
|
27
52
|
return this._id;
|
|
28
53
|
}
|
|
29
|
-
dataFromVariant(variant) {
|
|
30
|
-
const { REF, ALT, POS, CHROM, INFO, ID } = variant;
|
|
31
|
-
const start = POS - 1;
|
|
32
|
-
const [type, description] = getSOTermAndDescription(REF, ALT, this.parser);
|
|
33
|
-
const isTRA = ALT === null || ALT === void 0 ? void 0 : ALT.includes('<TRA>');
|
|
34
|
-
const isSymbolic = ALT === null || ALT === void 0 ? void 0 : ALT.some(f => f.includes('<'));
|
|
35
|
-
return {
|
|
36
|
-
refName: CHROM,
|
|
37
|
-
start,
|
|
38
|
-
end: isSymbolic && INFO.END && !isTRA ? +INFO.END[0] : start + REF.length,
|
|
39
|
-
description,
|
|
40
|
-
type,
|
|
41
|
-
name: ID === null || ID === void 0 ? void 0 : ID.join(','),
|
|
42
|
-
aliases: ID && ID.length > 1 ? ID.slice(1) : undefined,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
54
|
toJSON() {
|
|
55
|
+
const { SAMPLES, GENOTYPES, ...rest } = this.variant;
|
|
46
56
|
return {
|
|
47
57
|
uniqueId: this._id,
|
|
48
|
-
...
|
|
58
|
+
...rest,
|
|
49
59
|
...this.data,
|
|
50
|
-
samples: this.variant.SAMPLES,
|
|
60
|
+
samples: this.variant.SAMPLES(),
|
|
51
61
|
};
|
|
52
62
|
}
|
|
53
63
|
}
|
package/esm/VcfFeature/util.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import VCF from '@gmod/vcf';
|
|
2
|
-
/**
|
|
3
|
-
* Get a sequence ontology (SO) term that describes the variant type
|
|
4
|
-
*/
|
|
1
|
+
import type VCF from '@gmod/vcf';
|
|
5
2
|
export declare function getSOTermAndDescription(ref: string, alt: string[] | undefined, parser: VCF): string[];
|
|
6
3
|
export declare function getSOAndDescFromAltDefs(alt: string, parser: VCF): string[];
|
|
7
4
|
export declare function getSOAndDescByExamination(ref: string, alt: string): string[];
|
package/esm/VcfFeature/util.js
CHANGED
|
@@ -11,11 +11,7 @@ const altTypeToSO = {
|
|
|
11
11
|
NON_REF: 'sequence_variant',
|
|
12
12
|
'*': 'sequence_variant',
|
|
13
13
|
};
|
|
14
|
-
/**
|
|
15
|
-
* Get a sequence ontology (SO) term that describes the variant type
|
|
16
|
-
*/
|
|
17
14
|
export function getSOTermAndDescription(ref, alt, parser) {
|
|
18
|
-
// it's just a remark if there are no alternate alleles
|
|
19
15
|
if (!alt || alt.length === 0) {
|
|
20
16
|
return ['remark', 'no alternative alleles'];
|
|
21
17
|
}
|
|
@@ -32,7 +28,6 @@ export function getSOTermAndDescription(ref, alt, parser) {
|
|
|
32
28
|
descriptions.add(description);
|
|
33
29
|
}
|
|
34
30
|
});
|
|
35
|
-
// Combine descriptions like ["SNV G -> A", "SNV G -> T"] to ["SNV G -> A,T"]
|
|
36
31
|
if (descriptions.size > 1) {
|
|
37
32
|
const descs = [...descriptions];
|
|
38
33
|
const prefixes = new Set(descs
|
|
@@ -51,35 +46,27 @@ export function getSOTermAndDescription(ref, alt, parser) {
|
|
|
51
46
|
return suffixes.length ? `${prefix} -> ${suffixes.join(',')}` : prefix;
|
|
52
47
|
}));
|
|
53
48
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return [];
|
|
49
|
+
return soTerms.size
|
|
50
|
+
? [[...soTerms].join(','), [...descriptions].join(',')]
|
|
51
|
+
: [];
|
|
58
52
|
}
|
|
59
53
|
export function getSOAndDescFromAltDefs(alt, parser) {
|
|
60
54
|
if (typeof alt === 'string' && !alt.startsWith('<')) {
|
|
61
55
|
return [];
|
|
62
56
|
}
|
|
63
|
-
// look for a definition with an SO type for this
|
|
64
57
|
let soTerm = altTypeToSO[alt];
|
|
65
|
-
// if no SO term but ALT is in metadata, assume sequence_variant
|
|
66
58
|
if (!soTerm && parser.getMetadata('ALT', alt)) {
|
|
67
59
|
soTerm = 'sequence_variant';
|
|
68
60
|
}
|
|
69
61
|
if (soTerm) {
|
|
70
62
|
return [soTerm, alt];
|
|
71
63
|
}
|
|
72
|
-
// try to look for a definition for a parent term if we can
|
|
73
64
|
const modAlt = alt.split(':');
|
|
74
65
|
if (modAlt.length > 1) {
|
|
75
66
|
return getSOAndDescFromAltDefs(`<${modAlt.slice(0, -1).join(':')}>`, parser);
|
|
76
67
|
}
|
|
77
|
-
// no parent
|
|
78
68
|
return [];
|
|
79
69
|
}
|
|
80
|
-
// note: term SNV is used instead of SNP because SO definition of SNP says
|
|
81
|
-
// abundance must be at least 1% in population, and can't be sure we meet
|
|
82
|
-
// that
|
|
83
70
|
export function getSOAndDescByExamination(ref, alt) {
|
|
84
71
|
const bnd = parseBreakend(alt);
|
|
85
72
|
if (bnd) {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { BaseFeatureDataAdapter, BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
2
|
-
import { NoAssemblyRegion } from '@jbrowse/core/util/types';
|
|
3
|
-
import { Feature } from '@jbrowse/core/util';
|
|
4
1
|
import { TabixIndexedFile } from '@gmod/tabix';
|
|
5
2
|
import VcfParser from '@gmod/vcf';
|
|
3
|
+
import { BaseFeatureDataAdapter } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
4
|
+
import type { BaseOptions } from '@jbrowse/core/data_adapters/BaseAdapter';
|
|
5
|
+
import type { Feature } from '@jbrowse/core/util';
|
|
6
|
+
import type { NoAssemblyRegion } from '@jbrowse/core/util/types';
|
|
6
7
|
export default class VcfTabixAdapter extends BaseFeatureDataAdapter {
|
|
7
8
|
private configured?;
|
|
8
9
|
private configurePre;
|
|
@@ -14,5 +15,8 @@ export default class VcfTabixAdapter extends BaseFeatureDataAdapter {
|
|
|
14
15
|
getHeader(): Promise<string>;
|
|
15
16
|
getMetadata(): Promise<any>;
|
|
16
17
|
getFeatures(query: NoAssemblyRegion, opts?: BaseOptions): import("rxjs").Observable<Feature>;
|
|
18
|
+
getSources(): Promise<{
|
|
19
|
+
name: string;
|
|
20
|
+
}[]>;
|
|
17
21
|
freeResources(): void;
|
|
18
22
|
}
|