oncoprintjs 5.0.3 → 6.0.1

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 +14746 -0
  4. package/dist/index.es.js.map +1 -0
  5. package/dist/index.js +14760 -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 -68
  21. package/dist/js/oncoprintmodel.d.ts +403 -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 +965 -423
  62. package/src/js/oncoprintmodel.ts +905 -532
  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 +354 -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 -105
  93. package/dist/.gitkeep +0 -0
  94. package/dist/js/minimaputils.d.ts +0 -0
  95. package/dist/oncoprint.bundle.js +0 -44313
  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,21 @@
1
+ <html>
2
+ <head>
3
+ <script
4
+ type="text/javascript"
5
+ src="https://code.jquery.com/jquery-1.11.3.js"
6
+ ></script>
7
+ <script type="text/javascript" src="./oncoprint-bundle.js"></script>
8
+ <script type="text/javascript" src="./geneticrules.js"></script>
9
+ </head>
10
+ <body>
11
+ <h2>Oncoprint Genomic Alterations</h2>
12
+ <div id="oncoprint-glyphmap"></div>
13
+ <h2>Oncoprint Heatmap</h2>
14
+ <div id="oncoprint-heatmap"></div>
15
+
16
+ <script type="text/javascript" src="./glyphmap-data.js"></script>
17
+ <script type="text/javascript" src="./oncoprint-glyphmap.js"></script>
18
+ <script type="text/javascript" src="./heatmap-data.js"></script>
19
+ <script type="text/javascript" src="./oncoprint-heatmap.js"></script>
20
+ </body>
21
+ </html>
@@ -0,0 +1,79 @@
1
+ $(document).ready(function() {
2
+ var oncoprint = new window.Oncoprint('#oncoprint-glyphmap', 800);
3
+ oncoprint.suppressRendering();
4
+
5
+ function geneticComparator() {
6
+ var cna_key = 'disp_cna';
7
+ var cna_order = {
8
+ amp: 0,
9
+ homdel: 1,
10
+ gain: 2,
11
+ hetloss: 3,
12
+ diploid: 4,
13
+ undefined: 5,
14
+ };
15
+ var mut_type_key = 'disp_mut';
16
+ var mut_order = {
17
+ trunc: 0,
18
+ inframe: 1,
19
+ promoter: 2,
20
+ missense: 3,
21
+ undefined: 4,
22
+ };
23
+ var mrna_key = 'disp_mrna';
24
+ var prot_key = 'disp_prot';
25
+ var reg_order = { up: 0, down: 1, undefined: 2 };
26
+ return function(d1, d2) {
27
+ var keys = [cna_key, mut_type_key, mrna_key, prot_key];
28
+ var orders = [cna_order, mut_order, reg_order, reg_order];
29
+ var diff = 0;
30
+ for (var i = 0; i < keys.length; i++) {
31
+ var key = keys[i];
32
+ var order = orders[i];
33
+ if (d1[key] && d2[key]) {
34
+ diff = order[d1[key]] - order[d2[key]];
35
+ } else if (d1[key]) {
36
+ diff = -1;
37
+ } else if (d2[key]) {
38
+ diff = 1;
39
+ }
40
+ }
41
+ return diff;
42
+ };
43
+ }
44
+
45
+ var share_id = null;
46
+ for (var i = 0; i < ga_data.length; i++) {
47
+ var track_params = {
48
+ rule_set_params:
49
+ window.geneticrules
50
+ .genetic_rule_set_different_colors_no_recurrence,
51
+ label: ga_data[i].gene,
52
+ target_group: 0,
53
+ sortCmpFn: geneticComparator(),
54
+ description: ga_data[i].desc,
55
+ na_z: 1.1,
56
+ };
57
+ var new_ga_id = oncoprint.addTracks([track_params])[0];
58
+ ga_data[i].track_id = new_ga_id;
59
+ if (i === 0) {
60
+ share_id = new_ga_id;
61
+ } else {
62
+ oncoprint.shareRuleSet(share_id, new_ga_id);
63
+ }
64
+ }
65
+
66
+ oncoprint.hideIds([], true);
67
+ oncoprint.keepSorted(false);
68
+
69
+ for (var i = 0; i < ga_data.length; i++) {
70
+ oncoprint.setTrackData(ga_data[i].track_id, ga_data[i].data, 'sample');
71
+ oncoprint.setTrackInfo(ga_data[i].track_id, '');
72
+ oncoprint.setTrackTooltipFn(ga_data[i].track_id, function(data) {
73
+ return '<b>Sample: ' + data.sample + '</b>';
74
+ });
75
+ }
76
+
77
+ oncoprint.keepSorted(true);
78
+ oncoprint.releaseRendering();
79
+ });
@@ -0,0 +1,123 @@
1
+ $(document).ready(function() {
2
+ var oncoprint = new window.Oncoprint('#oncoprint-heatmap', 800);
3
+ var TRACK_GROUP = 1;
4
+
5
+ // hm_data is in heatmap-data.js
6
+
7
+ var current_expansion_tracks = [];
8
+ function makeExpandCallback(gene_id) {
9
+ return function(parent_track_id) {
10
+ oncoprint.suppressRendering();
11
+ try {
12
+ for (var i = 0; i < 3; i++) {
13
+ var track_params = {
14
+ rule_set_params: {
15
+ type: 'gradient',
16
+ legend_label: 'Expansion',
17
+ value_key: 'vaf',
18
+ value_range: [-3, 3],
19
+ colors: [
20
+ [0, 255, 255, 1],
21
+ [0, 0, 0, 1],
22
+ [255, 255, 0, 1],
23
+ ],
24
+ value_stop_points: [-3, 0, 3],
25
+ null_color: 'rgba(224,224,224,1)',
26
+ },
27
+ has_column_spacing: true,
28
+ track_padding: 5,
29
+ label: gene_id + 'abc'[i],
30
+ track_label_color: 'teal',
31
+ sortCmpFn: function(d1, d2) {
32
+ return 0;
33
+ },
34
+ target_group: TRACK_GROUP,
35
+ expansion_of: parent_track_id,
36
+ removable: true,
37
+ removeCallback: function(track_id) {
38
+ current_expansion_tracks.splice(
39
+ current_expansion_tracks.indexOf(track_id),
40
+ 1
41
+ );
42
+ },
43
+ };
44
+ var new_track_id = oncoprint.addTracks([track_params])[0];
45
+ if (current_expansion_tracks.length > 0) {
46
+ oncoprint.shareRuleSet(
47
+ current_expansion_tracks[0],
48
+ new_track_id
49
+ );
50
+ }
51
+ current_expansion_tracks.push(new_track_id);
52
+ var data_record = hm_data.filter(function(record) {
53
+ return record.gene === gene_id;
54
+ })[0];
55
+ oncoprint.setTrackData(
56
+ new_track_id,
57
+ data_record.data,
58
+ 'sample'
59
+ );
60
+ }
61
+ } finally {
62
+ oncoprint.releaseRendering();
63
+ }
64
+ };
65
+ }
66
+
67
+ oncoprint.suppressRendering();
68
+
69
+ var share_id = null;
70
+ for (var i = 0; i < hm_data.length; i++) {
71
+ var track_params = {
72
+ rule_set_params: {
73
+ type: 'gradient',
74
+ legend_label: 'Heatmap',
75
+ value_key: 'vaf',
76
+ value_range: [-3, 3],
77
+ colors: [
78
+ [255, 0, 0, 1],
79
+ [0, 0, 0, 1],
80
+ [0, 0, 255, 1],
81
+ ],
82
+ value_stop_points: [-3, 0, 3],
83
+ null_color: 'rgba(224,224,224,1)',
84
+ },
85
+ has_column_spacing: true,
86
+ track_padding: 5,
87
+ label: hm_data[i].gene,
88
+ sortCmpFn: function(d1, d2) {
89
+ return 0;
90
+ },
91
+ target_group: TRACK_GROUP,
92
+ expandCallback: makeExpandCallback(hm_data[i].gene),
93
+ removable: true,
94
+ };
95
+ var new_hm_id = oncoprint.addTracks([track_params])[0];
96
+ hm_data[i].track_id = new_hm_id;
97
+ if (i === 0) {
98
+ share_id = new_hm_id;
99
+ } else {
100
+ oncoprint.shareRuleSet(share_id, new_hm_id);
101
+ }
102
+ }
103
+
104
+ oncoprint.hideIds([], true);
105
+ oncoprint.keepSorted(false);
106
+
107
+ for (var i = 0; i < hm_data.length; i++) {
108
+ oncoprint.setTrackData(hm_data[i].track_id, hm_data[i].data, 'sample');
109
+ oncoprint.setTrackInfo(hm_data[i].track_id, 'VAF');
110
+ oncoprint.setTrackTooltipFn(hm_data[i].track_id, function(data) {
111
+ return (
112
+ '<b>Sample: ' +
113
+ data.sample +
114
+ '<br/>VAF: ' +
115
+ data.vaf.toString().slice(0, 4) +
116
+ '</b>'
117
+ );
118
+ });
119
+ }
120
+
121
+ oncoprint.keepSorted(true);
122
+ oncoprint.releaseRendering();
123
+ });
package/tsconfig.json CHANGED
@@ -1,16 +1,10 @@
1
1
  {
2
+ "extends": "../config/tsconfig.json",
2
3
  "compilerOptions": {
3
- "outDir": "./dist/",
4
- "allowSyntheticDefaultImports": true,
5
- "noImplicitAny": true,
6
- "module": "es6",
7
- "target": "es2015",
8
- "declaration":true
4
+ "strictNullChecks": false
9
5
  },
10
- "exclude": ["./node_modules/*"],
11
6
  "include": [
12
- "./node_modules/@types/**/*",
13
- "./typings/**/*",
14
- "./src/**/*"
7
+ "src",
8
+ "../typings/**/*"
15
9
  ]
16
10
  }
@@ -0,0 +1,11 @@
1
+ {
2
+ "extends": "../config/tsconfig.test.json",
3
+ "compilerOptions": {
4
+ "strictNullChecks": false
5
+ },
6
+ "include": [
7
+ "../typings/file.d.ts",
8
+ "../typings/missing.d.ts",
9
+ "../typings/worker.d.ts"
10
+ ]
11
+ }
package/.idea/misc.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="JavaScriptSettings">
4
- <option name="languageLevel" value="ES6" />
5
- </component>
6
- </project>
package/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/oncoprintjs.iml" filepath="$PROJECT_DIR$/.idea/oncoprintjs.iml" />
6
- </modules>
7
- </component>
8
- </project>
@@ -1,12 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="WEB_MODULE" version="4">
3
- <component name="NewModuleRootManager">
4
- <content url="file://$MODULE_DIR$">
5
- <excludeFolder url="file://$MODULE_DIR$/.tmp" />
6
- <excludeFolder url="file://$MODULE_DIR$/temp" />
7
- <excludeFolder url="file://$MODULE_DIR$/tmp" />
8
- </content>
9
- <orderEntry type="inheritedJdk" />
10
- <orderEntry type="sourceFolder" forTests="false" />
11
- </component>
12
- </module>
package/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
- </component>
6
- </project>
@@ -1,105 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="BranchesTreeState">
4
- <expand>
5
- <path>
6
- <item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
7
- <item name="LOCAL_ROOT" type="e8cecc67:BranchNodeDescriptor" />
8
- </path>
9
- <path>
10
- <item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
11
- <item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
12
- </path>
13
- <path>
14
- <item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
15
- <item name="REMOTE_ROOT" type="e8cecc67:BranchNodeDescriptor" />
16
- <item name="GROUP_NODE:origin" type="e8cecc67:BranchNodeDescriptor" />
17
- </path>
18
- </expand>
19
- <select />
20
- </component>
21
- <component name="ChangeListManager">
22
- <list default="true" id="181e074a-5340-4452-9d03-cf872d7091ce" name="Default Changelist" comment="" />
23
- <option name="SHOW_DIALOG" value="false" />
24
- <option name="HIGHLIGHT_CONFLICTS" value="true" />
25
- <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
26
- <option name="LAST_RESOLUTION" value="IGNORE" />
27
- </component>
28
- <component name="Git.Settings">
29
- <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
30
- </component>
31
- <component name="ProjectId" id="1eMhbRGpbn0O0QZ1gd8m4z9wK9B" />
32
- <component name="ProjectViewState">
33
- <option name="hideEmptyMiddlePackages" value="true" />
34
- <option name="showLibraryContents" value="true" />
35
- </component>
36
- <component name="PropertiesComponent">
37
- <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
38
- <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
39
- <property name="WebServerToolWindowFactoryState" value="false" />
40
- <property name="last_opened_file_path" value="$PROJECT_DIR$" />
41
- <property name="nodejs_package_manager_path" value="yarn" />
42
- <property name="ts.external.directory.path" value="$PROJECT_DIR$/node_modules/typescript/lib" />
43
- </component>
44
- <component name="SvnConfiguration">
45
- <configuration />
46
- </component>
47
- <component name="TaskManager">
48
- <task active="true" id="Default" summary="Default task">
49
- <changelist id="181e074a-5340-4452-9d03-cf872d7091ce" name="Default Changelist" comment="" />
50
- <created>1594137439902</created>
51
- <option name="number" value="Default" />
52
- <option name="presentableId" value="Default" />
53
- <updated>1594137439902</updated>
54
- <workItem from="1594137442478" duration="2208000" />
55
- <workItem from="1595015084885" duration="3065000" />
56
- <workItem from="1599683106428" duration="914000" />
57
- <workItem from="1599684191963" duration="61000" />
58
- </task>
59
- <servers />
60
- </component>
61
- <component name="TypeScriptGeneratedFilesManager">
62
- <option name="version" value="2" />
63
- </component>
64
- <component name="Vcs.Log.Tabs.Properties">
65
- <option name="TAB_STATES">
66
- <map>
67
- <entry key="MAIN">
68
- <value>
69
- <State />
70
- </value>
71
- </entry>
72
- </map>
73
- </option>
74
- <option name="oldMeFiltersMigrated" value="true" />
75
- </component>
76
- <component name="WindowStateProjectService">
77
- <state x="55" y="-978" width="1323" height="950" maximized="true" key="DiffContextDialog" timestamp="1625075463795">
78
- <screen x="39" y="-1001" width="1366" height="1001" />
79
- </state>
80
- <state x="101" y="123" width="1240" height="677" key="DiffContextDialog/0.23.1440.877/38.-1001.1366.1001@0.23.1440.877" timestamp="1622737856451" />
81
- <state x="55" y="-978" width="1323" height="950" maximized="true" key="DiffContextDialog/0.23.1440.877/39.-1001.1366.1001@39.-1001.1366.1001" timestamp="1625075463795" />
82
- <state x="0" y="23" width="1440" height="877" key="MergeDialog" timestamp="1623426676446">
83
- <screen x="0" y="23" width="1440" height="877" />
84
- </state>
85
- <state x="0" y="23" width="1440" height="877" key="MergeDialog/0.23.1440.877@0.23.1440.877" timestamp="1623426676446" />
86
- <state x="321" y="230" key="MultipleFileMergeDialog" timestamp="1623426676495">
87
- <screen x="0" y="23" width="1440" height="877" />
88
- </state>
89
- <state x="321" y="230" key="MultipleFileMergeDialog/0.23.1440.877@0.23.1440.877" timestamp="1623426676495" />
90
- <state x="439" y="-814" width="568" height="626" key="find.popup" timestamp="1623958443676">
91
- <screen x="39" y="-1001" width="1366" height="1001" />
92
- </state>
93
- <state x="422" y="187" width="598" height="548" key="find.popup/0.23.1440.877/38.-1001.1366.1001@0.23.1440.877" timestamp="1622737911839" />
94
- <state x="439" y="-814" width="568" height="626" key="find.popup/0.23.1440.877/39.-1001.1366.1001@39.-1001.1366.1001" timestamp="1623958443676" />
95
- <state x="422" y="187" width="598" height="548" key="find.popup/0.23.1440.877@0.23.1440.877" timestamp="1623172211247" />
96
- <state x="404" y="-784" width="670" height="772" key="search.everywhere.popup" timestamp="1625075280017">
97
- <screen x="39" y="-1001" width="1366" height="1001" />
98
- </state>
99
- <state x="385" y="213" width="670" height="676" key="search.everywhere.popup/0.23.1440.877/38.-1001.1366.1001@0.23.1440.877" timestamp="1623430187126" />
100
- <state x="403" y="-784" width="670" height="772" key="search.everywhere.popup/0.23.1440.877/38.-1001.1366.1001@38.-1001.1366.1001" timestamp="1623273335337" />
101
- <state x="404" y="-784" width="670" height="772" key="search.everywhere.popup/0.23.1440.877/39.-1001.1366.1001@39.-1001.1366.1001" timestamp="1625075280017" />
102
- <state x="385" y="213" width="670" height="676" key="search.everywhere.popup/0.23.1440.877@0.23.1440.877" timestamp="1623252528217" />
103
- <state x="385" y="213" width="670" height="676" key="search.everywhere.popup/36.-1001.1366.1001/0.23.1440.877@0.23.1440.877" timestamp="1621891242771" />
104
- </component>
105
- </project>
package/dist/.gitkeep DELETED
File without changes
File without changes