jbrowse-plugin-protein3d 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/dist/AddHighlightModel/GenomeMouseoverHighlight.js +3 -9
  2. package/dist/AddHighlightModel/GenomeMouseoverHighlight.js.map +1 -1
  3. package/dist/AddHighlightModel/HighlightComponents.d.ts +1 -2
  4. package/dist/AddHighlightModel/HighlightComponents.js.map +1 -1
  5. package/dist/AddHighlightModel/ProteinToGenomeClickHighlight.js +4 -3
  6. package/dist/AddHighlightModel/ProteinToGenomeClickHighlight.js.map +1 -1
  7. package/dist/AddHighlightModel/ProteinToGenomeHoverHighlight.d.ts +1 -2
  8. package/dist/AddHighlightModel/ProteinToGenomeHoverHighlight.js +4 -3
  9. package/dist/AddHighlightModel/ProteinToGenomeHoverHighlight.js.map +1 -1
  10. package/dist/AddHighlightModel/util.js +1 -1
  11. package/dist/AddHighlightModel/util.js.map +1 -1
  12. package/dist/AlphaFoldConfidenceAdapter/AlphaFoldConfidenceAdapter.d.ts +16 -0
  13. package/dist/AlphaFoldConfidenceAdapter/AlphaFoldConfidenceAdapter.js +43 -0
  14. package/dist/AlphaFoldConfidenceAdapter/AlphaFoldConfidenceAdapter.js.map +1 -0
  15. package/dist/AlphaFoldConfidenceAdapter/configSchema.d.ts +13 -0
  16. package/dist/AlphaFoldConfidenceAdapter/configSchema.js +16 -0
  17. package/dist/AlphaFoldConfidenceAdapter/configSchema.js.map +1 -0
  18. package/dist/AlphaFoldConfidenceAdapter/index.d.ts +2 -0
  19. package/dist/AlphaFoldConfidenceAdapter/index.js +11 -0
  20. package/dist/AlphaFoldConfidenceAdapter/index.js.map +1 -0
  21. package/dist/AlphaMissensePathogenicityAdapter/AlphaMissensePathogenicityAdapter.d.ts +30 -0
  22. package/dist/AlphaMissensePathogenicityAdapter/AlphaMissensePathogenicityAdapter.js +78 -0
  23. package/dist/AlphaMissensePathogenicityAdapter/AlphaMissensePathogenicityAdapter.js.map +1 -0
  24. package/dist/AlphaMissensePathogenicityAdapter/configSchema.d.ts +13 -0
  25. package/dist/AlphaMissensePathogenicityAdapter/configSchema.js +16 -0
  26. package/dist/AlphaMissensePathogenicityAdapter/configSchema.js.map +1 -0
  27. package/dist/AlphaMissensePathogenicityAdapter/index.d.ts +2 -0
  28. package/dist/AlphaMissensePathogenicityAdapter/index.js +11 -0
  29. package/dist/AlphaMissensePathogenicityAdapter/index.js.map +1 -0
  30. package/dist/LaunchProteinView/components/AlphaFoldDBSearch.js +162 -13
  31. package/dist/LaunchProteinView/components/AlphaFoldDBSearch.js.map +1 -1
  32. package/dist/LaunchProteinView/components/AlphaFoldDBSearchStatus.js +8 -6
  33. package/dist/LaunchProteinView/components/AlphaFoldDBSearchStatus.js.map +1 -1
  34. package/dist/LaunchProteinView/components/HelpButton.js +6 -2
  35. package/dist/LaunchProteinView/components/HelpButton.js.map +1 -1
  36. package/dist/LaunchProteinView/components/HelpDialog.js +3 -1
  37. package/dist/LaunchProteinView/components/HelpDialog.js.map +1 -1
  38. package/dist/LaunchProteinView/components/LaunchProteinViewDialog.js +12 -4
  39. package/dist/LaunchProteinView/components/LaunchProteinViewDialog.js.map +1 -1
  40. package/dist/LaunchProteinView/components/MSATable.js +3 -1
  41. package/dist/LaunchProteinView/components/MSATable.js.map +1 -1
  42. package/dist/LaunchProteinView/components/ManualUniProtIDEntry.d.ts +8 -0
  43. package/dist/LaunchProteinView/components/ManualUniProtIDEntry.js +225 -0
  44. package/dist/LaunchProteinView/components/ManualUniProtIDEntry.js.map +1 -0
  45. package/dist/LaunchProteinView/components/TranscriptSelector.js +3 -1
  46. package/dist/LaunchProteinView/components/TranscriptSelector.js.map +1 -1
  47. package/dist/LaunchProteinView/components/UserProvidedStructure.js +19 -12
  48. package/dist/LaunchProteinView/components/UserProvidedStructure.js.map +1 -1
  49. package/dist/LaunchProteinView/components/calculateProteinSequence.js +5 -3
  50. package/dist/LaunchProteinView/components/calculateProteinSequence.js.map +1 -1
  51. package/dist/LaunchProteinView/components/useLocalStructureFileSequence.d.ts +1 -1
  52. package/dist/LaunchProteinView/components/useLocalStructureFileSequence.js +29 -9
  53. package/dist/LaunchProteinView/components/useLocalStructureFileSequence.js.map +1 -1
  54. package/dist/LaunchProteinView/components/useRemoteStructureFileSequence.d.ts +1 -1
  55. package/dist/LaunchProteinView/components/useRemoteStructureFileSequence.js +25 -8
  56. package/dist/LaunchProteinView/components/useRemoteStructureFileSequence.js.map +1 -1
  57. package/dist/LaunchProteinView/components/util.js +1 -1
  58. package/dist/LaunchProteinView/index.js +7 -3
  59. package/dist/LaunchProteinView/index.js.map +1 -1
  60. package/dist/ProteinView/{loadStructureFromData.d.ts → addStructureFromData.d.ts} +2 -2
  61. package/dist/ProteinView/{loadStructureFromData.js → addStructureFromData.js} +3 -8
  62. package/dist/ProteinView/addStructureFromData.js.map +1 -0
  63. package/dist/ProteinView/{loadStructureFromURL.d.ts → addStructureFromURL.d.ts} +2 -2
  64. package/dist/ProteinView/{loadStructureFromURL.js → addStructureFromURL.js} +11 -9
  65. package/dist/ProteinView/addStructureFromURL.js.map +1 -0
  66. package/dist/ProteinView/clearSelection.js +1 -1
  67. package/dist/ProteinView/clearSelection.js.map +1 -1
  68. package/dist/ProteinView/components/ProteinAlignment.d.ts +2 -2
  69. package/dist/ProteinView/components/ProteinAlignment.js +37 -26
  70. package/dist/ProteinView/components/ProteinAlignment.js.map +1 -1
  71. package/dist/ProteinView/components/ProteinAlignmentHelpButton.d.ts +2 -2
  72. package/dist/ProteinView/components/ProteinAlignmentHelpButton.js +6 -4
  73. package/dist/ProteinView/components/ProteinAlignmentHelpButton.js.map +1 -1
  74. package/dist/ProteinView/components/ProteinAlignmentHelpDialog.js +6 -5
  75. package/dist/ProteinView/components/ProteinAlignmentHelpDialog.js.map +1 -1
  76. package/dist/ProteinView/components/ProteinView.js +18 -60
  77. package/dist/ProteinView/components/ProteinView.js.map +1 -1
  78. package/dist/ProteinView/components/{Header.js → ProteinViewHeader.js} +29 -12
  79. package/dist/ProteinView/components/ProteinViewHeader.js.map +1 -0
  80. package/dist/ProteinView/components/SplitString.d.ts +4 -4
  81. package/dist/ProteinView/components/SplitString.js +3 -3
  82. package/dist/ProteinView/components/SplitString.js.map +1 -1
  83. package/dist/ProteinView/genomeToProtein.d.ts +2 -2
  84. package/dist/ProteinView/genomeToProtein.js +4 -5
  85. package/dist/ProteinView/genomeToProtein.js.map +1 -1
  86. package/dist/ProteinView/highlightResidue.js +2 -2
  87. package/dist/ProteinView/highlightResidue.js.map +1 -1
  88. package/dist/ProteinView/launchRemotePairwiseAlignment.d.ts +2 -5
  89. package/dist/ProteinView/launchRemotePairwiseAlignment.js +7 -3
  90. package/dist/ProteinView/launchRemotePairwiseAlignment.js.map +1 -1
  91. package/dist/ProteinView/model.d.ts +492 -160
  92. package/dist/ProteinView/model.js +62 -246
  93. package/dist/ProteinView/model.js.map +1 -1
  94. package/dist/ProteinView/proteinToGenomeMapping.d.ts +6 -6
  95. package/dist/ProteinView/proteinToGenomeMapping.js +29 -28
  96. package/dist/ProteinView/proteinToGenomeMapping.js.map +1 -1
  97. package/dist/ProteinView/selectResidue.js +1 -1
  98. package/dist/ProteinView/selectResidue.js.map +1 -1
  99. package/dist/ProteinView/structureModel.d.ts +183 -0
  100. package/dist/ProteinView/structureModel.js +407 -0
  101. package/dist/ProteinView/structureModel.js.map +1 -0
  102. package/dist/ProteinView/useProteinView.d.ts +1 -4
  103. package/dist/ProteinView/useProteinView.js +3 -15
  104. package/dist/ProteinView/useProteinView.js.map +1 -1
  105. package/dist/ProteinView/util.d.ts +3 -3
  106. package/dist/ProteinView/util.js +8 -6
  107. package/dist/ProteinView/util.js.map +1 -1
  108. package/dist/UniProtVariationAdapter/UniProtVariationAdapter.d.ts +15 -0
  109. package/dist/UniProtVariationAdapter/UniProtVariationAdapter.js +55 -0
  110. package/dist/UniProtVariationAdapter/UniProtVariationAdapter.js.map +1 -0
  111. package/dist/UniProtVariationAdapter/configSchema.d.ts +17 -0
  112. package/dist/UniProtVariationAdapter/configSchema.js +20 -0
  113. package/dist/UniProtVariationAdapter/configSchema.js.map +1 -0
  114. package/dist/UniProtVariationAdapter/index.d.ts +2 -0
  115. package/dist/UniProtVariationAdapter/index.js +11 -0
  116. package/dist/UniProtVariationAdapter/index.js.map +1 -0
  117. package/dist/genomeToTranscriptMapping.d.ts +2 -2
  118. package/dist/genomeToTranscriptMapping.js +3 -3
  119. package/dist/genomeToTranscriptMapping.js.map +1 -1
  120. package/dist/index.js +6 -0
  121. package/dist/index.js.map +1 -1
  122. package/dist/jbrowse-plugin-protein3d.umd.production.min.js +2506 -1658
  123. package/dist/jbrowse-plugin-protein3d.umd.production.min.js.map +4 -4
  124. package/dist/mappings.d.ts +12 -10
  125. package/dist/mappings.js +7 -7
  126. package/dist/mappings.js.map +1 -1
  127. package/dist/mappings.test.js +7 -5
  128. package/dist/mappings.test.js.map +1 -1
  129. package/dist/test_data/gene.d.ts +577 -64
  130. package/dist/test_data/gene.js +1 -1
  131. package/dist/test_data/gene.js.map +1 -1
  132. package/package.json +20 -19
  133. package/src/AddHighlightModel/GenomeMouseoverHighlight.tsx +4 -17
  134. package/src/AddHighlightModel/HighlightComponents.tsx +1 -3
  135. package/src/AddHighlightModel/ProteinToGenomeClickHighlight.tsx +17 -14
  136. package/src/AddHighlightModel/ProteinToGenomeHoverHighlight.tsx +18 -17
  137. package/src/AddHighlightModel/util.ts +1 -1
  138. package/src/AlphaFoldConfidenceAdapter/AlphaFoldConfidenceAdapter.ts +63 -0
  139. package/src/AlphaFoldConfidenceAdapter/configSchema.ts +21 -0
  140. package/src/AlphaFoldConfidenceAdapter/index.ts +19 -0
  141. package/src/AlphaMissensePathogenicityAdapter/AlphaMissensePathogenicityAdapter.ts +109 -0
  142. package/src/AlphaMissensePathogenicityAdapter/configSchema.ts +21 -0
  143. package/src/AlphaMissensePathogenicityAdapter/index.ts +19 -0
  144. package/src/LaunchProteinView/components/AlphaFoldDBSearch.tsx +173 -12
  145. package/src/LaunchProteinView/components/AlphaFoldDBSearchStatus.tsx +8 -6
  146. package/src/LaunchProteinView/components/HelpButton.tsx +10 -2
  147. package/src/LaunchProteinView/components/HelpDialog.tsx +6 -1
  148. package/src/LaunchProteinView/components/LaunchProteinViewDialog.tsx +20 -4
  149. package/src/LaunchProteinView/components/MSATable.tsx +3 -1
  150. package/src/LaunchProteinView/components/ManualUniProtIDEntry.tsx +332 -0
  151. package/src/LaunchProteinView/components/TranscriptSelector.tsx +9 -7
  152. package/src/LaunchProteinView/components/UserProvidedStructure.tsx +18 -13
  153. package/src/LaunchProteinView/components/calculateProteinSequence.ts +6 -4
  154. package/src/LaunchProteinView/components/useLocalStructureFileSequence.ts +28 -9
  155. package/src/LaunchProteinView/components/useRemoteStructureFileSequence.ts +23 -8
  156. package/src/LaunchProteinView/components/util.ts +1 -1
  157. package/src/LaunchProteinView/index.ts +36 -26
  158. package/src/ProteinView/{loadStructureFromData.ts → addStructureFromData.ts} +2 -8
  159. package/src/ProteinView/{loadStructureFromURL.ts → addStructureFromURL.ts} +11 -11
  160. package/src/ProteinView/clearSelection.ts +1 -1
  161. package/src/ProteinView/components/ProteinAlignment.tsx +51 -35
  162. package/src/ProteinView/components/ProteinAlignmentHelpButton.tsx +4 -4
  163. package/src/ProteinView/components/ProteinAlignmentHelpDialog.tsx +15 -11
  164. package/src/ProteinView/components/ProteinView.tsx +22 -82
  165. package/src/ProteinView/components/{Header.tsx → ProteinViewHeader.tsx} +44 -23
  166. package/src/ProteinView/components/SplitString.tsx +8 -8
  167. package/src/ProteinView/genomeToProtein.ts +5 -9
  168. package/src/ProteinView/highlightResidue.ts +2 -2
  169. package/src/ProteinView/launchRemotePairwiseAlignment.ts +6 -3
  170. package/src/ProteinView/model.ts +75 -287
  171. package/src/ProteinView/proteinToGenomeMapping.ts +40 -38
  172. package/src/ProteinView/selectResidue.ts +1 -1
  173. package/src/ProteinView/structureModel.ts +512 -0
  174. package/src/ProteinView/useProteinView.ts +2 -19
  175. package/src/ProteinView/util.ts +20 -9
  176. package/src/UniProtVariationAdapter/UniProtVariationAdapter.ts +99 -0
  177. package/src/UniProtVariationAdapter/configSchema.ts +25 -0
  178. package/src/UniProtVariationAdapter/index.ts +17 -0
  179. package/src/__snapshots__/mappings.test.ts.snap +224 -224
  180. package/src/genomeToTranscriptMapping.ts +9 -9
  181. package/src/index.ts +6 -0
  182. package/src/mappings.test.ts +7 -5
  183. package/src/mappings.ts +25 -23
  184. package/src/test_data/gene.ts +3 -3
  185. package/dist/ProteinView/components/Header.js.map +0 -1
  186. package/dist/ProteinView/loadStructureFromData.js.map +0 -1
  187. package/dist/ProteinView/loadStructureFromURL.js.map +0 -1
  188. package/dist/ProteinView/useProteinViewClickBehavior.d.ts +0 -8
  189. package/dist/ProteinView/useProteinViewClickBehavior.js +0 -34
  190. package/dist/ProteinView/useProteinViewClickBehavior.js.map +0 -1
  191. package/dist/ProteinView/useProteinViewHoverBehavior.d.ts +0 -6
  192. package/dist/ProteinView/useProteinViewHoverBehavior.js +0 -31
  193. package/dist/ProteinView/useProteinViewHoverBehavior.js.map +0 -1
  194. package/src/ProteinView/useProteinViewClickBehavior.ts +0 -48
  195. package/src/ProteinView/useProteinViewHoverBehavior.ts +0 -44
  196. /package/dist/ProteinView/components/{Header.d.ts → ProteinViewHeader.d.ts} +0 -0
@@ -1,22 +1,24 @@
1
+ import { expect, test } from 'vitest'
1
2
  import {
2
3
  genomeToTranscriptSeqMapping,
3
4
  structureSeqVsTranscriptSeqMap,
4
5
  } from './mappings'
5
6
  import { SimpleFeature } from '@jbrowse/core/util'
6
- import { feature, alignment } from './test_data/gene'
7
+ import { feature, pairwiseAlignment } from './test_data/gene'
7
8
 
8
9
  test('test', () => {
9
- const ret = structureSeqVsTranscriptSeqMap(alignment)
10
+ const ret = structureSeqVsTranscriptSeqMap(pairwiseAlignment)
10
11
  expect(ret).toMatchSnapshot()
11
12
  })
12
13
 
13
14
  test('mapping', () => {
15
+ // @ts-expect-error
14
16
  const res = genomeToTranscriptSeqMapping(new SimpleFeature(feature))
15
17
  const { p2g } = res
16
- const aln = structureSeqVsTranscriptSeqMap(alignment)
18
+ const aln = structureSeqVsTranscriptSeqMap(pairwiseAlignment)
17
19
 
18
20
  // expected position in sequence
19
- const s2 = alignment.alns[1].seq
21
+ const s2 = pairwiseAlignment.alns[1].seq
20
22
  expect(s2[392]).toBe('M')
21
23
  expect(s2[393]).toBe('K')
22
24
  expect(s2[394]).toBe('A')
@@ -24,7 +26,7 @@ test('mapping', () => {
24
26
  // maps the 392 position in the "pdb version of the protein" to the 0th
25
27
  // position in the genome version of the protein, and then maps that back to
26
28
  // the genome
27
- const p0 = aln.structureSeqToTranscriptSeqPosition[392]!
29
+ const p0 = aln.transcriptSeqToStructureSeqPosition[392]!
28
30
  const g0 = p2g[p0]
29
31
  expect(p0).toBe(0)
30
32
  expect(g0).toBe(51_296_155)
package/src/mappings.ts CHANGED
@@ -1,30 +1,27 @@
1
1
  import { Feature } from '@jbrowse/core/util'
2
2
  import { genomeToTranscriptSeqMapping as g2p } from 'g2p_mapper'
3
-
4
- export interface Alignment {
5
- alns: {
6
- id: string
7
- seq: string
8
- }[]
3
+ export interface AlignmentRow {
4
+ id: string
5
+ seq: string
6
+ }
7
+ export interface PairwiseAlignment {
8
+ consensus: string
9
+ alns: readonly [AlignmentRow, AlignmentRow]
9
10
  }
10
11
 
11
- export function structureSeqVsTranscriptSeqMap(alignment: Alignment) {
12
- const structureSeq = alignment.alns[0].seq
13
- const transcriptSeq = alignment.alns[1].seq
12
+ export function structureSeqVsTranscriptSeqMap(
13
+ pairwiseAlignment: PairwiseAlignment,
14
+ ) {
15
+ const structureSeq = pairwiseAlignment.alns[1].seq
16
+ const transcriptSeq = pairwiseAlignment.alns[0].seq
14
17
  if (structureSeq.length !== transcriptSeq.length) {
15
18
  throw new Error('mismatched length')
16
19
  }
17
20
 
18
21
  let j = 0
19
22
  let k = 0
20
- const structureSeqToTranscriptSeqPosition = {} as Record<
21
- string,
22
- number | undefined
23
- >
24
- const transcriptSeqToStructureSeqPosition = {} as Record<
25
- string,
26
- number | undefined
27
- >
23
+ const structureSeqToTranscriptSeqPosition = {} as Record<string, number>
24
+ const transcriptSeqToStructureSeqPosition = {} as Record<string, number>
28
25
 
29
26
  // eslint-disable-next-line unicorn/no-for-loop
30
27
  for (let i = 0; i < structureSeq.length; i++) {
@@ -48,15 +45,18 @@ export function structureSeqVsTranscriptSeqMap(alignment: Alignment) {
48
45
  j++
49
46
  }
50
47
  }
48
+
51
49
  return {
52
50
  structureSeqToTranscriptSeqPosition,
53
51
  transcriptSeqToStructureSeqPosition,
54
52
  }
55
53
  }
56
54
 
57
- export function structurePositionToAlignmentMap(alignment: Alignment) {
58
- const structureSeq = alignment.alns[0].seq
59
- const structurePositionToAlignment = {} as Record<string, number | undefined>
55
+ export function structurePositionToAlignmentMap(
56
+ pairwiseAlignment: PairwiseAlignment,
57
+ ) {
58
+ const structureSeq = pairwiseAlignment.alns[1].seq
59
+ const structurePositionToAlignment = {} as Record<string, number>
60
60
 
61
61
  for (let i = 0, j = 0; i < structureSeq.length; i++) {
62
62
  if (structureSeq[i] !== '-') {
@@ -68,9 +68,11 @@ export function structurePositionToAlignmentMap(alignment: Alignment) {
68
68
  return structurePositionToAlignment
69
69
  }
70
70
 
71
- export function transcriptPositionToAlignmentMap(alignment: Alignment) {
72
- const transcriptSeq = alignment.alns[1].seq
73
- const transcriptPositionToAlignment = {} as Record<string, number | undefined>
71
+ export function transcriptPositionToAlignmentMap(
72
+ pairwiseAlignment: PairwiseAlignment,
73
+ ) {
74
+ const transcriptSeq = pairwiseAlignment.alns[0].seq
75
+ const transcriptPositionToAlignment = {} as Record<string, number>
74
76
 
75
77
  for (let i = 0, j = 0; i < transcriptSeq.length; i++) {
76
78
  if (transcriptSeq[i] !== '-') {
@@ -586,9 +586,9 @@ export const feature = {
586
586
  uniqueId: '590611027-offset-601794870-0',
587
587
  parentId: '590611027-offset-601794870',
588
588
  __jbrowsefmt: {},
589
- }
589
+ } as const
590
590
 
591
- export const alignment = {
591
+ export const pairwiseAlignment = {
592
592
  consensus:
593
593
  ' ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ',
594
594
  alns: [
@@ -601,4 +601,4 @@ export const alignment = {
601
601
  seq: '--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------MKAAYLSMFGKEDHKPFGDDEVELFRAVPGLKLKIAGKSLPTEKFAIRKSRRYFSSNPISLPVPALEMMYIWNGYAVIGKQPKLTDGILEIITKAEEMLEKGPENEYSVDDECLVKLLKGLCLKYLGRVQEAEENFRSISANEKKIKYDHYLIPNALLELALLLMEQDRNEEAIKLLESAKQNYKNYSMESRTHFRIQAATLQAKSSLENSSRSMVSSVSL*',
602
602
  },
603
603
  ],
604
- }
604
+ } as const
@@ -1 +0,0 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/ProteinView/components/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AAEtE,QAAQ;AACR,OAAO,QAAQ,MAAM,0BAA0B,CAAA;AAC/C,OAAO,UAAU,MAAM,gCAAgC,CAAA;AAIvD,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,UAAU,EAC3C,KAAK,GAGN;IACC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,KAAK,CAAA;IAC1C,OAAO,CACL;QACE,oBAAC,qBAAqB,IAAC,KAAK,EAAE,KAAK,GAAI;QACtC,aAAa,CAAC,CAAC,CAAC,CACf,SAAS,CAAC,CAAC,CAAC,CACV,oBAAC,gBAAgB,IAAC,KAAK,EAAE,KAAK,GAAI,CACnC,CAAC,CAAC,CAAC,CACF,oBAAC,eAAe,IAAC,OAAO,EAAC,4BAA4B,GAAG,CACzD,CACF,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,QAAQ,CAAC,UAAU,EAC/C,KAAK,GAGN;IACC,MAAM,EACJ,aAAa,EACb,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,GAChB,GAAG,KAAK,CAAA;IACT,OAAO,CACL,6BAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;QAC7B,kCACG;YACC,WAAW,CAAC,CAAC,CAAC,UAAU,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;YAC1C,WAAW,CAAC,CAAC,CAAC,UAAU,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;SAC3C,CAAC,IAAI,CAAC,GAAG,CAAC,CACN;QACP,8BAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAI;QAChC,oBAAC,mBAAmB,IAClB,SAAS,EAAE;gBACT;oBACE,KAAK,EAAE,8BAA8B;oBACrC,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,aAAa;oBACtB,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC;iBACtD;gBACD;oBACE,KAAK,EAAE,sCAAsC;oBAC7C,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,aAAa;oBACtB,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC;iBACtD;gBACD;oBACE,KAAK,EAAE,6BAA6B;oBACpC,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,eAAe;oBACxB,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC;iBAC1D;aACF;YAED,oBAAC,QAAQ,OAAG,CACQ,CAClB,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,iBAAiB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadStructureFromData.js","sourceRoot":"","sources":["../../src/ProteinView/loadStructureFromData.ts"],"names":[],"mappings":"AAQA,qIAAqI;AACrI,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAC1C,IAAI,EACJ,MAAM,GAAG,KAAK,EACd,OAAO,EACP,MAAM,GAMP;IACC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;IAEpB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/C,IAAI;QACJ,KAAK,EAAE,OAAO,EAAE,SAAS;KAC1B,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAChE,KAAK,EACL,MAAM,CACP,CAAA;IACD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;IACrE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK;SAC7D,OAAO,EAAE;QACV,mBAAmB;SAClB,IAAI,CAAC,EAAE,CAAC,CAAA;IAEX,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CACnD,UAAU,EACV,YAAY,EACZ;QACE,uBAAuB,EAAE,IAAI;QAC7B,0BAA0B,EAAE,OAAO,EAAE,oBAAoB;KAC1D,CACF,CAAA;IAED,OAAO,EAAE,GAAG,EAAE,GAAa,EAAE,CAAA;AAC/B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadStructureFromURL.js","sourceRoot":"","sources":["../../src/ProteinView/loadStructureFromURL.ts"],"names":[],"mappings":"AAQA,4HAA4H;AAC5H,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,GAAG,EACH,MAAM,GAAG,OAAO,EAChB,QAAQ,EACR,OAAO,EACP,MAAM,GAOP;IACC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;IAEpB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAC9C,EAAE,GAAG,EAAE,QAAQ,EAAE,EACjB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAC7B,CAAA;IAED,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAChE,IAAI,EACJ,MAAM,CACP,CAAA;IACD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;IACrE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK;SAC7D,OAAO,EAAE;QACV,mBAAmB;SAClB,IAAI,CAAC,EAAE,CAAC,CAAA;IAEX,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CACnD,UAAU,EACV,YAAY,EACZ;QACE,uBAAuB,EAAE,IAAI;QAC7B,0BAA0B,EAAE,OAAO,EAAE,oBAAoB;KAC1D,CACF,CAAA;IAED,OAAO,EAAE,GAAG,EAAE,GAAa,EAAE,CAAA;AAC/B,CAAC"}
@@ -1,8 +0,0 @@
1
- import { PluginContext } from 'molstar/lib/mol-plugin/context';
2
- import { JBrowsePluginProteinViewModel } from './model';
3
- export default function useProteinViewClickActionBehavior({ plugin, model, }: {
4
- plugin?: PluginContext;
5
- model: JBrowsePluginProteinViewModel;
6
- }): {
7
- error: unknown;
8
- };
@@ -1,34 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
- import { getSession } from '@jbrowse/core/util';
3
- import { clickProteinToGenome } from './proteinToGenomeMapping';
4
- import { StructureElement, StructureProperties as Props, } from 'molstar/lib/mol-model/structure';
5
- export default function useProteinViewClickActionBehavior({ plugin, model, }) {
6
- const [error, setError] = useState();
7
- const session = getSession(model);
8
- useEffect(() => {
9
- if (!plugin) {
10
- return;
11
- }
12
- plugin.behaviors.interaction.click.subscribe(event => {
13
- if (StructureElement.Loci.is(event.current.loci)) {
14
- const loc = StructureElement.Loci.getFirstLocation(event.current.loci);
15
- if (loc) {
16
- const pos = Props.residue.auth_seq_id(loc);
17
- const code = Props.atom.label_comp_id(loc);
18
- const chain = Props.chain.auth_asym_id(loc);
19
- model.setHoveredPosition({
20
- structureSeqPos: pos - 1,
21
- code,
22
- chain,
23
- });
24
- clickProteinToGenome({ model, structureSeqPos: pos - 1 }).catch(e => {
25
- console.error(e);
26
- setError(e);
27
- });
28
- }
29
- }
30
- });
31
- }, [plugin, session, model]);
32
- return { error };
33
- }
34
- //# sourceMappingURL=useProteinViewClickBehavior.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useProteinViewClickBehavior.js","sourceRoot":"","sources":["../../src/ProteinView/useProteinViewClickBehavior.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAK/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EACL,gBAAgB,EAChB,mBAAmB,IAAI,KAAK,GAC7B,MAAM,iCAAiC,CAAA;AAExC,MAAM,CAAC,OAAO,UAAU,iCAAiC,CAAC,EACxD,MAAM,EACN,KAAK,GAIN;IACC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAW,CAAA;IAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAM;QACR,CAAC;QACD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBACtE,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;oBAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;oBAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;oBAC3C,KAAK,CAAC,kBAAkB,CAAC;wBACvB,eAAe,EAAE,GAAG,GAAG,CAAC;wBACxB,IAAI;wBACJ,KAAK;qBACN,CAAC,CAAA;oBAEF,oBAAoB,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;wBAClE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;wBAChB,QAAQ,CAAC,CAAC,CAAC,CAAA;oBACb,CAAC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IAC5B,OAAO,EAAE,KAAK,EAAE,CAAA;AAClB,CAAC"}
@@ -1,6 +0,0 @@
1
- import { PluginContext } from 'molstar/lib/mol-plugin/context';
2
- import { JBrowsePluginProteinViewModel } from './model';
3
- export default function useProteinViewClickActionBehavior({ plugin, model, }: {
4
- plugin?: PluginContext;
5
- model: JBrowsePluginProteinViewModel;
6
- }): void;
@@ -1,31 +0,0 @@
1
- import { useEffect } from 'react';
2
- import { getSession } from '@jbrowse/core/util';
3
- import { StructureElement, StructureProperties as Props, } from 'molstar/lib/mol-model/structure';
4
- import { hoverProteinToGenome } from './proteinToGenomeMapping';
5
- export default function useProteinViewClickActionBehavior({ plugin, model, }) {
6
- const session = getSession(model);
7
- useEffect(() => {
8
- if (!plugin) {
9
- return;
10
- }
11
- plugin.behaviors.interaction.hover.subscribe(event => {
12
- if (StructureElement.Loci.is(event.current.loci)) {
13
- const loc = StructureElement.Loci.getFirstLocation(event.current.loci);
14
- if (loc) {
15
- // example code for this label
16
- // https://github.com/molstar/molstar/blob/60550cfea1f62a50a764d5714307d6d1049be71d/src/mol-theme/label.ts#L255-L264
17
- const structureSeqPos = Props.residue.auth_seq_id(loc);
18
- const code = Props.atom.label_comp_id(loc);
19
- const chain = Props.chain.auth_asym_id(loc);
20
- model.setHoveredPosition({
21
- structureSeqPos: structureSeqPos - 1,
22
- code,
23
- chain,
24
- });
25
- hoverProteinToGenome({ model, structureSeqPos: structureSeqPos - 1 });
26
- }
27
- }
28
- });
29
- }, [plugin, session, model]);
30
- }
31
- //# sourceMappingURL=useProteinViewHoverBehavior.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useProteinViewHoverBehavior.js","sourceRoot":"","sources":["../../src/ProteinView/useProteinViewHoverBehavior.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAK/C,OAAO,EACL,gBAAgB,EAChB,mBAAmB,IAAI,KAAK,GAC7B,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAE/D,MAAM,CAAC,OAAO,UAAU,iCAAiC,CAAC,EACxD,MAAM,EACN,KAAK,GAIN;IACC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAM;QACR,CAAC;QACD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnD,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBACtE,IAAI,GAAG,EAAE,CAAC;oBACR,8BAA8B;oBAC9B,oHAAoH;oBACpH,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;oBACtD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;oBAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;oBAC3C,KAAK,CAAC,kBAAkB,CAAC;wBACvB,eAAe,EAAE,eAAe,GAAG,CAAC;wBACpC,IAAI;wBACJ,KAAK;qBACN,CAAC,CAAA;oBACF,oBAAoB,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,eAAe,GAAG,CAAC,EAAE,CAAC,CAAA;gBACvE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;AAC9B,CAAC"}
@@ -1,48 +0,0 @@
1
- import { useEffect, useState } from 'react'
2
- import { getSession } from '@jbrowse/core/util'
3
- import { PluginContext } from 'molstar/lib/mol-plugin/context'
4
-
5
- // local
6
- import { JBrowsePluginProteinViewModel } from './model'
7
- import { clickProteinToGenome } from './proteinToGenomeMapping'
8
- import {
9
- StructureElement,
10
- StructureProperties as Props,
11
- } from 'molstar/lib/mol-model/structure'
12
-
13
- export default function useProteinViewClickActionBehavior({
14
- plugin,
15
- model,
16
- }: {
17
- plugin?: PluginContext
18
- model: JBrowsePluginProteinViewModel
19
- }) {
20
- const [error, setError] = useState<unknown>()
21
- const session = getSession(model)
22
- useEffect(() => {
23
- if (!plugin) {
24
- return
25
- }
26
- plugin.behaviors.interaction.click.subscribe(event => {
27
- if (StructureElement.Loci.is(event.current.loci)) {
28
- const loc = StructureElement.Loci.getFirstLocation(event.current.loci)
29
- if (loc) {
30
- const pos = Props.residue.auth_seq_id(loc)
31
- const code = Props.atom.label_comp_id(loc)
32
- const chain = Props.chain.auth_asym_id(loc)
33
- model.setHoveredPosition({
34
- structureSeqPos: pos - 1,
35
- code,
36
- chain,
37
- })
38
-
39
- clickProteinToGenome({ model, structureSeqPos: pos - 1 }).catch(e => {
40
- console.error(e)
41
- setError(e)
42
- })
43
- }
44
- }
45
- })
46
- }, [plugin, session, model])
47
- return { error }
48
- }
@@ -1,44 +0,0 @@
1
- import { useEffect } from 'react'
2
- import { getSession } from '@jbrowse/core/util'
3
- import { PluginContext } from 'molstar/lib/mol-plugin/context'
4
-
5
- // local
6
- import { JBrowsePluginProteinViewModel } from './model'
7
- import {
8
- StructureElement,
9
- StructureProperties as Props,
10
- } from 'molstar/lib/mol-model/structure'
11
- import { hoverProteinToGenome } from './proteinToGenomeMapping'
12
-
13
- export default function useProteinViewClickActionBehavior({
14
- plugin,
15
- model,
16
- }: {
17
- plugin?: PluginContext
18
- model: JBrowsePluginProteinViewModel
19
- }) {
20
- const session = getSession(model)
21
- useEffect(() => {
22
- if (!plugin) {
23
- return
24
- }
25
- plugin.behaviors.interaction.hover.subscribe(event => {
26
- if (StructureElement.Loci.is(event.current.loci)) {
27
- const loc = StructureElement.Loci.getFirstLocation(event.current.loci)
28
- if (loc) {
29
- // example code for this label
30
- // https://github.com/molstar/molstar/blob/60550cfea1f62a50a764d5714307d6d1049be71d/src/mol-theme/label.ts#L255-L264
31
- const structureSeqPos = Props.residue.auth_seq_id(loc)
32
- const code = Props.atom.label_comp_id(loc)
33
- const chain = Props.chain.auth_asym_id(loc)
34
- model.setHoveredPosition({
35
- structureSeqPos: structureSeqPos - 1,
36
- code,
37
- chain,
38
- })
39
- hoverProteinToGenome({ model, structureSeqPos: structureSeqPos - 1 })
40
- }
41
- }
42
- })
43
- }, [plugin, session, model])
44
- }