oncoprintjs 5.0.2 → 6.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.
Files changed (100) hide show
  1. package/README.md +34 -0
  2. package/dist/index.d.ts +4 -0
  3. package/dist/index.es.js +14731 -0
  4. package/dist/index.es.js.map +1 -0
  5. package/dist/index.js +14745 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/js/CachedProperty.d.ts +10 -10
  8. package/dist/js/binarysearch.d.ts +1 -1
  9. package/dist/js/bucketsort.d.ts +16 -16
  10. package/dist/js/clustering.d.ts +14 -14
  11. package/dist/js/extractrgba.d.ts +4 -4
  12. package/dist/js/haselementsininterval.d.ts +1 -1
  13. package/dist/js/heatmapcolors.d.ts +5 -4
  14. package/dist/js/makesvgelement.d.ts +1 -1
  15. package/dist/js/modelutils.d.ts +7 -7
  16. package/dist/js/oncoprint.d.ts +168 -170
  17. package/dist/js/oncoprintheaderview.d.ts +23 -22
  18. package/dist/js/oncoprintlabelview.d.ts +79 -78
  19. package/dist/js/oncoprintlegendrenderer.d.ts +32 -31
  20. package/dist/js/oncoprintminimapview.d.ts +69 -66
  21. package/dist/js/oncoprintmodel.d.ts +400 -398
  22. package/dist/js/oncoprintruleset.d.ts +176 -177
  23. package/dist/js/oncoprintshape.d.ts +67 -67
  24. package/dist/js/oncoprintshapetosvg.d.ts +2 -2
  25. package/dist/js/oncoprintshapetovertexes.d.ts +5 -5
  26. package/dist/js/oncoprinttooltip.d.ts +23 -22
  27. package/dist/js/oncoprinttrackinfoview.d.ts +40 -39
  28. package/dist/js/oncoprinttrackoptionsview.d.ts +58 -57
  29. package/dist/js/oncoprintwebglcellview.d.ts +168 -167
  30. package/dist/js/oncoprintzoomslider.d.ts +28 -27
  31. package/dist/js/polyfill.d.ts +4 -4
  32. package/dist/js/precomputedcomparator.d.ts +13 -13
  33. package/dist/js/shaders.d.ts +2 -2
  34. package/dist/js/svgfactory.d.ts +24 -23
  35. package/dist/js/utils.d.ts +16 -16
  36. package/dist/js/workers/clustering-worker.d.ts +19 -20
  37. package/dist/test/gradientCategoricalRuleset.spec.d.ts +1 -1
  38. package/dist/test/monolith.spec.d.ts +1 -1
  39. package/jest.config.ts +2 -0
  40. package/package.json +20 -26
  41. package/rollup.config.ts +14 -0
  42. package/rules/geneticrules.ts +344 -305
  43. package/server.js +11 -0
  44. package/src/img/menudots.svg +9 -9
  45. package/src/img/zoomtofit.svg +12 -12
  46. package/src/index.tsx +13 -0
  47. package/src/js/CachedProperty.ts +6 -7
  48. package/src/js/binarysearch.ts +8 -3
  49. package/src/js/bucketsort.ts +89 -47
  50. package/src/js/clustering.ts +22 -10
  51. package/src/js/extractrgba.ts +16 -12
  52. package/src/js/haselementsininterval.ts +8 -4
  53. package/src/js/heatmapcolors.ts +515 -515
  54. package/src/js/main.js +1 -1
  55. package/src/js/makesvgelement.ts +2 -2
  56. package/src/js/modelutils.ts +11 -8
  57. package/src/js/oncoprint.ts +706 -385
  58. package/src/js/oncoprintheaderview.ts +165 -125
  59. package/src/js/oncoprintlabelview.ts +388 -170
  60. package/src/js/oncoprintlegendrenderer.ts +203 -72
  61. package/src/js/oncoprintminimapview.ts +1010 -417
  62. package/src/js/oncoprintmodel.ts +894 -530
  63. package/src/js/oncoprintruleset.ts +694 -379
  64. package/src/js/oncoprintshape.ts +240 -97
  65. package/src/js/oncoprintshapetosvg.ts +77 -26
  66. package/src/js/oncoprintshapetovertexes.ts +153 -48
  67. package/src/js/oncoprinttooltip.ts +58 -27
  68. package/src/js/oncoprinttrackinfoview.ts +115 -59
  69. package/src/js/oncoprinttrackoptionsview.ts +353 -187
  70. package/src/js/oncoprintwebglcellview.ts +951 -415
  71. package/src/js/oncoprintzoomslider.ts +172 -107
  72. package/src/js/polyfill.ts +7 -3
  73. package/src/js/precomputedcomparator.ts +133 -50
  74. package/src/js/shaders.ts +2 -4
  75. package/src/js/svgfactory.ts +128 -73
  76. package/src/js/utils.ts +51 -31
  77. package/src/js/workers/clustering-worker.ts +50 -42
  78. package/src/test/gradientCategoricalRuleset.spec.ts +55 -38
  79. package/src/test/monolith.spec.ts +718 -285
  80. package/test/generate_data.py +108 -0
  81. package/test/glyphmap-data.js +1041 -0
  82. package/test/heatmap-data.js +1027 -0
  83. package/test/index.html +21 -0
  84. package/test/oncoprint-glyphmap.js +79 -0
  85. package/test/oncoprint-heatmap.js +123 -0
  86. package/tsconfig.json +4 -10
  87. package/tsconfig.test.json +11 -0
  88. package/.idea/misc.xml +0 -6
  89. package/.idea/modules.xml +0 -8
  90. package/.idea/oncoprintjs.iml +0 -12
  91. package/.idea/vcs.xml +0 -6
  92. package/.idea/workspace.xml +0 -106
  93. package/dist/.gitkeep +0 -0
  94. package/dist/js/minimaputils.d.ts +0 -0
  95. package/dist/oncoprint.bundle.js +0 -33
  96. package/jest.config.js +0 -12
  97. package/src/js/minimaputils.ts +0 -0
  98. package/typings/custom.d.ts +0 -7
  99. package/typings/missing.d.ts +0 -7
  100. package/webpack.config.js +0 -43
@@ -0,0 +1,108 @@
1
+ import json
2
+ import numpy as np
3
+ import pandas as pd
4
+
5
+
6
+ def generate_heatmap_data():
7
+ hm_df = pd.DataFrame(
8
+ columns=['TCGA-{0:02d}'.format(n) for n in range(50)],
9
+ index=['GENE{0}'.format(n) for n in range(5)])
10
+
11
+ hm_df.ix[:, :] = np.random.randn(*hm_df.values.shape)
12
+ hm_df.ix[:3, :12] = np.random.randn(3, 12) + 1
13
+ hm_df.ix[3:, :12] = np.random.randn(2, 12) - 0.5
14
+ hm_df.ix[:2, 12:28] = np.random.randn(2, 28-12) - 2
15
+ hm_df.ix[2:, 28:35] = np.random.randn(3, 35-28) + 3
16
+ hm_df.ix[:, 45:] = 0
17
+
18
+ data = []
19
+ for gene in hm_df.index:
20
+ datum = {'gene': gene, 'data': []}
21
+ for samp in hm_df.columns:
22
+ datum['data'].append({'sample': samp, 'vaf': hm_df.ix[gene, samp]})
23
+ data.append(datum)
24
+
25
+ json_str = json.dumps(data, indent=4)
26
+
27
+ with open('heatmap-data.js', 'w') as f:
28
+ f.write('var hm_data = ' + json_str + ';')
29
+ return
30
+
31
+
32
+ def generate_glyphmap_data():
33
+ ga_df = pd.DataFrame(
34
+ columns=['TCGA-{0:02d}'.format(n) for n in range(50)],
35
+ index=['GENE{0}'.format(n) for n in range(5)])
36
+
37
+ data = []
38
+ for gene in ga_df.index:
39
+ datum = {
40
+ 'gene': gene,
41
+ 'desc': 'Annotation for ' + gene,
42
+ 'data': []
43
+ }
44
+ for samp in ga_df.columns:
45
+ sample = {'sample': samp}
46
+
47
+ dice_1 = np.random.random()
48
+ if dice_1 < 0.3:
49
+ sample['disp_cna'] = None
50
+ dice_2 = np.random.random()
51
+ if dice_2 < 0.2:
52
+ sample['disp_cna'] = 'amp'
53
+ elif dice_2 < 0.4:
54
+ sample['disp_cna'] = 'homdel'
55
+ elif dice_2 < 0.6:
56
+ sample['disp_cna'] = 'gain'
57
+ elif dice_2 < 0.8:
58
+ sample['disp_cna'] = 'hetloss'
59
+ else:
60
+ sample['disp_cna'] = 'diploid'
61
+
62
+ dice_1 = np.random.random()
63
+ if dice_1 < 0.3:
64
+ sample['disp_mut'] = None
65
+ dice_2 = np.random.random()
66
+ if dice_2 < 0.25:
67
+ sample['disp_mut'] = 'trunc'
68
+ elif dice_2 < 0.5:
69
+ sample['disp_mut'] = 'inframe'
70
+ elif dice_2 < 0.75:
71
+ sample['disp_mut'] = 'promoter'
72
+ else:
73
+ sample['disp_mut'] = 'missense'
74
+
75
+ dice_1 = np.random.random()
76
+ if dice_1 < 0.2:
77
+ sample['disp_mrna'] = None
78
+ dice_2 = np.random.random()
79
+ if dice_2 < 0.6:
80
+ sample['disp_mrna'] = 'up'
81
+ else:
82
+ sample['disp_mrna'] = 'down'
83
+
84
+ dice_1 = np.random.random()
85
+ if dice_1 < 0.2:
86
+ sample['disp_prot'] = None
87
+ dice_2 = np.random.random()
88
+ if dice_2 < 0.6:
89
+ sample['disp_prot'] = 'up'
90
+ else:
91
+ sample['disp_prot'] = 'down'
92
+
93
+ datum['data'].append(sample)
94
+
95
+ data.append(datum)
96
+
97
+ json_str = json.dumps(data, indent=4)
98
+
99
+ with open('glyphmap-data.js', 'w') as f:
100
+ f.write('var ga_data = ' + json_str + ';')
101
+ return
102
+
103
+ if __name__ == "__main__":
104
+ np.random.seed(0)
105
+ generate_heatmap_data()
106
+ generate_glyphmap_data()
107
+
108
+