@jbrowse/plugin-circular-view 2.6.1 → 2.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BaseChordDisplay/components/BaseChordDisplay.js +0 -1
- package/dist/BaseChordDisplay/components/DisplayError.js +0 -1
- package/dist/BaseChordDisplay/components/Loading.js +0 -1
- package/dist/BaseChordDisplay/index.js +0 -1
- package/dist/BaseChordDisplay/models/configSchema.js +0 -1
- package/dist/BaseChordDisplay/models/model.js +0 -1
- package/dist/BaseChordDisplay/models/renderReaction.js +0 -1
- package/dist/CircularView/components/CircularView.js +0 -1
- package/dist/CircularView/components/Controls.js +0 -1
- package/dist/CircularView/components/ExportSvgDialog.js +0 -1
- package/dist/CircularView/components/ImportForm.js +0 -1
- package/dist/CircularView/components/Ruler.js +0 -1
- package/dist/CircularView/index.js +0 -1
- package/dist/CircularView/models/CircularView.js +0 -1
- package/dist/CircularView/models/slices.js +0 -1
- package/dist/CircularView/models/viewportVisibleRegion.js +0 -1
- package/dist/CircularView/svgcomponents/SVGBackground.js +0 -1
- package/dist/CircularView/svgcomponents/SVGCircularView.js +0 -1
- package/dist/LaunchCircularView/index.js +0 -1
- package/dist/index.js +0 -1
- package/esm/BaseChordDisplay/components/BaseChordDisplay.js +0 -1
- package/esm/BaseChordDisplay/components/DisplayError.js +0 -1
- package/esm/BaseChordDisplay/components/Loading.js +0 -1
- package/esm/BaseChordDisplay/index.js +0 -1
- package/esm/BaseChordDisplay/models/configSchema.js +0 -1
- package/esm/BaseChordDisplay/models/model.js +0 -1
- package/esm/BaseChordDisplay/models/renderReaction.js +0 -1
- package/esm/CircularView/components/CircularView.js +0 -1
- package/esm/CircularView/components/Controls.js +0 -1
- package/esm/CircularView/components/ExportSvgDialog.js +0 -1
- package/esm/CircularView/components/ImportForm.js +0 -1
- package/esm/CircularView/components/Ruler.js +0 -1
- package/esm/CircularView/index.js +0 -1
- package/esm/CircularView/models/CircularView.js +0 -1
- package/esm/CircularView/models/slices.js +0 -1
- package/esm/CircularView/models/viewportVisibleRegion.js +0 -1
- package/esm/CircularView/svgcomponents/SVGBackground.js +0 -1
- package/esm/CircularView/svgcomponents/SVGCircularView.js +0 -1
- package/esm/LaunchCircularView/index.js +0 -1
- package/esm/index.js +0 -1
- package/package.json +3 -4
- package/dist/BaseChordDisplay/components/BaseChordDisplay.js.map +0 -1
- package/dist/BaseChordDisplay/components/DisplayError.js.map +0 -1
- package/dist/BaseChordDisplay/components/Loading.js.map +0 -1
- package/dist/BaseChordDisplay/index.js.map +0 -1
- package/dist/BaseChordDisplay/models/configSchema.js.map +0 -1
- package/dist/BaseChordDisplay/models/model.js.map +0 -1
- package/dist/BaseChordDisplay/models/renderReaction.js.map +0 -1
- package/dist/CircularView/components/CircularView.js.map +0 -1
- package/dist/CircularView/components/Controls.js.map +0 -1
- package/dist/CircularView/components/ExportSvgDialog.js.map +0 -1
- package/dist/CircularView/components/ImportForm.js.map +0 -1
- package/dist/CircularView/components/Ruler.js.map +0 -1
- package/dist/CircularView/index.js.map +0 -1
- package/dist/CircularView/models/CircularView.js.map +0 -1
- package/dist/CircularView/models/slices.js.map +0 -1
- package/dist/CircularView/models/viewportVisibleRegion.js.map +0 -1
- package/dist/CircularView/svgcomponents/SVGBackground.js.map +0 -1
- package/dist/CircularView/svgcomponents/SVGCircularView.js.map +0 -1
- package/dist/LaunchCircularView/index.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/esm/BaseChordDisplay/components/BaseChordDisplay.js.map +0 -1
- package/esm/BaseChordDisplay/components/DisplayError.js.map +0 -1
- package/esm/BaseChordDisplay/components/Loading.js.map +0 -1
- package/esm/BaseChordDisplay/index.js.map +0 -1
- package/esm/BaseChordDisplay/models/configSchema.js.map +0 -1
- package/esm/BaseChordDisplay/models/model.js.map +0 -1
- package/esm/BaseChordDisplay/models/renderReaction.js.map +0 -1
- package/esm/CircularView/components/CircularView.js.map +0 -1
- package/esm/CircularView/components/Controls.js.map +0 -1
- package/esm/CircularView/components/ExportSvgDialog.js.map +0 -1
- package/esm/CircularView/components/ImportForm.js.map +0 -1
- package/esm/CircularView/components/Ruler.js.map +0 -1
- package/esm/CircularView/index.js.map +0 -1
- package/esm/CircularView/models/CircularView.js.map +0 -1
- package/esm/CircularView/models/slices.js.map +0 -1
- package/esm/CircularView/models/viewportVisibleRegion.js.map +0 -1
- package/esm/CircularView/svgcomponents/SVGBackground.js.map +0 -1
- package/esm/CircularView/svgcomponents/SVGCircularView.js.map +0 -1
- package/esm/LaunchCircularView/index.js.map +0 -1
- package/esm/index.js.map +0 -1
- package/src/BaseChordDisplay/components/BaseChordDisplay.tsx +0 -26
- package/src/BaseChordDisplay/components/DisplayError.tsx +0 -47
- package/src/BaseChordDisplay/components/Loading.tsx +0 -111
- package/src/BaseChordDisplay/index.ts +0 -3
- package/src/BaseChordDisplay/models/configSchema.ts +0 -30
- package/src/BaseChordDisplay/models/model.tsx +0 -314
- package/src/BaseChordDisplay/models/renderReaction.ts +0 -75
- package/src/CircularView/components/CircularView.tsx +0 -128
- package/src/CircularView/components/Controls.tsx +0 -119
- package/src/CircularView/components/ExportSvgDialog.tsx +0 -132
- package/src/CircularView/components/ImportForm.tsx +0 -68
- package/src/CircularView/components/Ruler.tsx +0 -265
- package/src/CircularView/index.ts +0 -16
- package/src/CircularView/models/CircularView.ts +0 -621
- package/src/CircularView/models/__snapshots__/slices.test.js.snap +0 -91
- package/src/CircularView/models/slices.test.js +0 -70
- package/src/CircularView/models/slices.ts +0 -101
- package/src/CircularView/models/viewportVisibleRegion.test.js +0 -168
- package/src/CircularView/models/viewportVisibleRegion.ts +0 -272
- package/src/CircularView/svgcomponents/SVGBackground.tsx +0 -21
- package/src/CircularView/svgcomponents/SVGCircularView.tsx +0 -58
- package/src/LaunchCircularView/index.ts +0 -48
- package/src/index.ts +0 -43
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { useTheme } from '@mui/material'
|
|
3
|
-
|
|
4
|
-
export default function SVGBackground({
|
|
5
|
-
width,
|
|
6
|
-
height,
|
|
7
|
-
shift,
|
|
8
|
-
}: {
|
|
9
|
-
width: number
|
|
10
|
-
height: number
|
|
11
|
-
shift: number
|
|
12
|
-
}) {
|
|
13
|
-
const theme = useTheme()
|
|
14
|
-
return (
|
|
15
|
-
<rect
|
|
16
|
-
width={width + shift * 2}
|
|
17
|
-
height={height}
|
|
18
|
-
fill={theme.palette.background.default}
|
|
19
|
-
/>
|
|
20
|
-
)
|
|
21
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { ThemeProvider } from '@mui/material'
|
|
3
|
-
import { renderToStaticMarkup } from 'react-dom/server'
|
|
4
|
-
import { when } from 'mobx'
|
|
5
|
-
import { getSession, radToDeg } from '@jbrowse/core/util'
|
|
6
|
-
import { createJBrowseTheme } from '@jbrowse/core/ui'
|
|
7
|
-
|
|
8
|
-
// locals
|
|
9
|
-
import { ExportSvgOptions, CircularViewModel } from '../models/CircularView'
|
|
10
|
-
import SVGBackground from './SVGBackground'
|
|
11
|
-
import Ruler from '../components/Ruler'
|
|
12
|
-
|
|
13
|
-
type CGV = CircularViewModel
|
|
14
|
-
|
|
15
|
-
export async function renderToSvg(model: CGV, opts: ExportSvgOptions) {
|
|
16
|
-
await when(() => model.initialized)
|
|
17
|
-
const { themeName = 'default', Wrapper = ({ children }) => <>{children}</> } =
|
|
18
|
-
opts
|
|
19
|
-
const session = getSession(model)
|
|
20
|
-
const theme = session.allThemes?.()[themeName]
|
|
21
|
-
const { width, tracks, height } = model
|
|
22
|
-
const shift = 50
|
|
23
|
-
const displayResults = await Promise.all(
|
|
24
|
-
tracks.map(async track => {
|
|
25
|
-
const display = track.displays[0]
|
|
26
|
-
await when(() => (display.ready !== undefined ? display.ready : true))
|
|
27
|
-
return { track, result: await display.renderSvg({ ...opts, theme }) }
|
|
28
|
-
}),
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
const { staticSlices, offsetRadians, centerXY } = model
|
|
32
|
-
const deg = radToDeg(offsetRadians)
|
|
33
|
-
|
|
34
|
-
// the xlink namespace is used for rendering <image> tag
|
|
35
|
-
return renderToStaticMarkup(
|
|
36
|
-
<ThemeProvider theme={createJBrowseTheme(theme)}>
|
|
37
|
-
<Wrapper>
|
|
38
|
-
<svg
|
|
39
|
-
width={width}
|
|
40
|
-
height={height}
|
|
41
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
42
|
-
xmlnsXlink="http://www.w3.org/1999/xlink"
|
|
43
|
-
viewBox={[0, 0, width + shift * 2, height].toString()}
|
|
44
|
-
>
|
|
45
|
-
<SVGBackground width={width} height={height} shift={shift} />
|
|
46
|
-
<g transform={`translate(${centerXY}) rotate(${deg})`}>
|
|
47
|
-
{staticSlices.map((slice, i) => (
|
|
48
|
-
<Ruler key={i} model={model} slice={slice} />
|
|
49
|
-
))}
|
|
50
|
-
{displayResults.map(({ result }, i) => (
|
|
51
|
-
<React.Fragment key={i}>{result}</React.Fragment>
|
|
52
|
-
))}
|
|
53
|
-
</g>
|
|
54
|
-
</svg>
|
|
55
|
-
</Wrapper>
|
|
56
|
-
</ThemeProvider>,
|
|
57
|
-
)
|
|
58
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { when } from 'mobx'
|
|
2
|
-
import { AbstractSessionModel } from '@jbrowse/core/util'
|
|
3
|
-
import PluginManager from '@jbrowse/core/PluginManager'
|
|
4
|
-
|
|
5
|
-
// locals
|
|
6
|
-
import { CircularViewModel } from '../CircularView/models/CircularView'
|
|
7
|
-
|
|
8
|
-
type CGV = CircularViewModel
|
|
9
|
-
|
|
10
|
-
export default (pluginManager: PluginManager) => {
|
|
11
|
-
pluginManager.addToExtensionPoint(
|
|
12
|
-
'LaunchView-CircularView',
|
|
13
|
-
// @ts-expect-error
|
|
14
|
-
async ({
|
|
15
|
-
session,
|
|
16
|
-
assembly,
|
|
17
|
-
loc,
|
|
18
|
-
tracks = [],
|
|
19
|
-
}: {
|
|
20
|
-
session: AbstractSessionModel
|
|
21
|
-
assembly?: string
|
|
22
|
-
loc: string
|
|
23
|
-
tracks?: string[]
|
|
24
|
-
}) => {
|
|
25
|
-
const { assemblyManager } = session
|
|
26
|
-
const view = session.addView('CircularView', {}) as CGV
|
|
27
|
-
|
|
28
|
-
await when(() => view.initialized)
|
|
29
|
-
|
|
30
|
-
if (!assembly) {
|
|
31
|
-
throw new Error(
|
|
32
|
-
'No assembly provided when launching circular genome view',
|
|
33
|
-
)
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const asm = await assemblyManager.waitForAssembly(assembly)
|
|
37
|
-
if (!asm) {
|
|
38
|
-
throw new Error(
|
|
39
|
-
`Assembly "${assembly}" not found when launching circular genome view`,
|
|
40
|
-
)
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
view.setDisplayedRegions(asm.regions || [])
|
|
44
|
-
|
|
45
|
-
tracks.forEach(track => view.showTrack(track))
|
|
46
|
-
},
|
|
47
|
-
)
|
|
48
|
-
}
|
package/src/index.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { AbstractSessionModel, isAbstractMenuManager } from '@jbrowse/core/util'
|
|
2
|
-
import PluginManager from '@jbrowse/core/PluginManager'
|
|
3
|
-
import Plugin from '@jbrowse/core/Plugin'
|
|
4
|
-
|
|
5
|
-
// locals
|
|
6
|
-
|
|
7
|
-
import CircularViewF from './CircularView'
|
|
8
|
-
import LaunchCircularViewF from './LaunchCircularView'
|
|
9
|
-
|
|
10
|
-
// icons
|
|
11
|
-
import DataUsageIcon from '@mui/icons-material/DataUsage'
|
|
12
|
-
|
|
13
|
-
export default class CircularViewPlugin extends Plugin {
|
|
14
|
-
name = 'CircularViewPlugin'
|
|
15
|
-
|
|
16
|
-
install(pluginManager: PluginManager) {
|
|
17
|
-
CircularViewF(pluginManager)
|
|
18
|
-
LaunchCircularViewF(pluginManager)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
configure(pluginManager: PluginManager) {
|
|
22
|
-
if (isAbstractMenuManager(pluginManager.rootModel)) {
|
|
23
|
-
pluginManager.rootModel.appendToSubMenu(['Add'], {
|
|
24
|
-
label: 'Circular view',
|
|
25
|
-
icon: DataUsageIcon,
|
|
26
|
-
onClick: (session: AbstractSessionModel) => {
|
|
27
|
-
session.addView('CircularView', {})
|
|
28
|
-
},
|
|
29
|
-
})
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export {
|
|
35
|
-
baseChordDisplayConfig,
|
|
36
|
-
BaseChordDisplayModel,
|
|
37
|
-
BaseChordDisplayComponent,
|
|
38
|
-
} from './BaseChordDisplay'
|
|
39
|
-
|
|
40
|
-
export {
|
|
41
|
-
type CircularViewModel,
|
|
42
|
-
type CircularViewStateModel,
|
|
43
|
-
} from './CircularView/models/CircularView'
|