cellbrowser 1.2.18__tar.gz → 1.2.19__tar.gz

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 (184) hide show
  1. {cellbrowser-1.2.18/src/cbPyLib/cellbrowser.egg-info → cellbrowser-1.2.19}/PKG-INFO +1 -1
  2. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/_version.py +3 -3
  3. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/js/cellBrowser.js +62 -30
  4. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/js/maxPlot.js +23 -15
  5. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cellbrowser.py +4 -0
  6. {cellbrowser-1.2.18 → cellbrowser-1.2.19/src/cbPyLib/cellbrowser.egg-info}/PKG-INFO +1 -1
  7. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/LICENSE +0 -0
  8. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/MANIFEST.in +0 -0
  9. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/README.rst +0 -0
  10. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/setup.cfg +0 -0
  11. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/setup.py +0 -0
  12. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/RangeHTTPServer/__init__.py +0 -0
  13. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/RangeHTTPServer/__main__.py +0 -0
  14. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/R/cellbrowser.R +0 -0
  15. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/__init__.py +0 -0
  16. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/bw_genes.py +0 -0
  17. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/css/MaterialIcons-Regular.eot +0 -0
  18. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/css/MaterialIcons-Regular.ttf +0 -0
  19. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/css/MaterialIcons-Regular.woff +0 -0
  20. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/css/MaterialIcons-Regular.woff2 +0 -0
  21. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/css/cellBrowser.css +0 -0
  22. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/css/darkMode-claude.css +0 -0
  23. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/css/darkMode.css +0 -0
  24. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/Chart.bundle.min.js +0 -0
  25. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/FastBitSet.js +0 -0
  26. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/FileSaver.1.1.20151003.min.js +0 -0
  27. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/OverlayScrollbars.min.css +0 -0
  28. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap-dropmenu.min.css +0 -0
  29. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap-submenu.js +0 -0
  30. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap-submenu.min.css +0 -0
  31. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap.3.3.7.min.css +0 -0
  32. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap.min.css +0 -0
  33. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap.min.js +0 -0
  34. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/chartjs-chart-box-and-violin-plot.js +0 -0
  35. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/chosen-sprite.png +0 -0
  36. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/chosen-sprite@2x.png +0 -0
  37. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/chosen.1.8.2.min.css +0 -0
  38. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/chosen.jquery.min.js +0 -0
  39. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/drawImage-clipper.js +0 -0
  40. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/font-awesome.css +0 -0
  41. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/googleMaterialIcons.css +0 -0
  42. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/hamster.js +0 -0
  43. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  44. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_444444_256x240.png +0 -0
  45. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_555555_256x240.png +0 -0
  46. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_777620_256x240.png +0 -0
  47. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_777777_256x240.png +0 -0
  48. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_cc0000_256x240.png +0 -0
  49. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_ffffff_256x240.png +0 -0
  50. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/intro.min.js +0 -0
  51. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/introjs.2.4.0.min.css +0 -0
  52. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery-ui-1.12.1.css +0 -0
  53. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery-ui.min.js +0 -0
  54. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.3.1.1.min.js +0 -0
  55. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.contextMenu.css +0 -0
  56. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.contextMenu.js +0 -0
  57. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.event.drag-2.3.0.js +0 -0
  58. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.overlayScrollbars.min.js +0 -0
  59. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.sparkline.min.js +0 -0
  60. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.tablesorter.js +0 -0
  61. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.tablesorter.widgets.js +0 -0
  62. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.tipsy.1.0.3.min.css +0 -0
  63. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.tipsy.min.js +0 -0
  64. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.ui.position.min.js +0 -0
  65. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/jsurl2.js +0 -0
  66. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/lz-string.js +0 -0
  67. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/materialIcons.woff +0 -0
  68. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/minified.js +0 -0
  69. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/minisearch.min.js +0 -0
  70. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/mousetrap.min.js +0 -0
  71. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/normalizeWheel.js +0 -0
  72. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/pako_inflate.min.js +0 -0
  73. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/palette.js +0 -0
  74. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/papaparse.min.js +0 -0
  75. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/reorder.v1.js +0 -0
  76. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/scaleColorPerceptual.js +0 -0
  77. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/science.v1.js +0 -0
  78. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/select2.4.0.4.min.css +0 -0
  79. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/select2.min.js +0 -0
  80. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/selectize.bootstrap3.css +0 -0
  81. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/selectize.js +0 -0
  82. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.cellrangedecorator.js +0 -0
  83. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.cellrangeselector.js +0 -0
  84. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.cellselectionmodel.js +0 -0
  85. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.core.js +0 -0
  86. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.editors.js +0 -0
  87. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.examples.css +0 -0
  88. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.formatters.js +0 -0
  89. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.grid.css +0 -0
  90. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.grid.js +0 -0
  91. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/spectrum-1.8.0.css +0 -0
  92. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/spectrum.min.js +0 -0
  93. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/split.js +0 -0
  94. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/tablesort.js +0 -0
  95. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/tablesort.number.min.js +0 -0
  96. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/.npmignore +0 -0
  97. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/LICENSE +0 -0
  98. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/Makefile +0 -0
  99. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/README.md +0 -0
  100. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/browser.js +0 -0
  101. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/build.js +0 -0
  102. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/example/d3-random-matrix.js +0 -0
  103. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/example/example.png +0 -0
  104. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/example/gradients.js +0 -0
  105. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/example/package.json +0 -0
  106. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/hex/inferno.json +0 -0
  107. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/hex/magma.json +0 -0
  108. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/hex/plasma.json +0 -0
  109. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/hex/viridis.json +0 -0
  110. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/inferno.js +0 -0
  111. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/magma.js +0 -0
  112. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/package.json +0 -0
  113. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/plasma.js +0 -0
  114. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/rgb/inferno.json +0 -0
  115. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/rgb/magma.json +0 -0
  116. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/rgb/plasma.json +0 -0
  117. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/rgb/viridis.json +0 -0
  118. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/utils/hex2rgb.js +0 -0
  119. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/utils/interpolate.js +0 -0
  120. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/utils/rgb2hex.js +0 -0
  121. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/viridis.js +0 -0
  122. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/theme.bootstrap_3.css +0 -0
  123. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/ext/tiny-queue.js +0 -0
  124. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/genes/files.json +0 -0
  125. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/genes/hg19.gc34.tsv +0 -0
  126. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/genes/hg19.json.gz +0 -0
  127. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/genes/hg38.gc34.tsv +0 -0
  128. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/genes/hg38.json.gz +0 -0
  129. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/genes/log.txt +0 -0
  130. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/genes/makeGenes.py +0 -0
  131. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/genes/mm10.json.gz +0 -0
  132. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/genes/mm10.vm25.tsv +0 -0
  133. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/README.md +0 -0
  134. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/center.png +0 -0
  135. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/README.txt +0 -0
  136. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/gtk-justify-left.png +0 -0
  137. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/gtk-save.png +0 -0
  138. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/log.txt +0 -0
  139. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-center-16.png +0 -0
  140. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-center-24.png +0 -0
  141. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-controller-16.png +0 -0
  142. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-controller-24.png +0 -0
  143. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-edit-16.png +0 -0
  144. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-gravity-west-24.png +0 -0
  145. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-info-16.png +0 -0
  146. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-info-24.png +0 -0
  147. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-merge-down-16.png +0 -0
  148. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-scale-16.png +0 -0
  149. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-free-select-16.png +0 -0
  150. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-free-select-22.png +0 -0
  151. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-move-16.png +0 -0
  152. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-move-22.png +0 -0
  153. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-rect-select-16.png +0 -0
  154. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-rect-select-22.png +0 -0
  155. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-zoom-16.png +0 -0
  156. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-zoom-22.png +0 -0
  157. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/icons8-help-32.png +0 -0
  158. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/info.png +0 -0
  159. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/lasso.png +0 -0
  160. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/marker.png +0 -0
  161. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/move.png +0 -0
  162. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/select.png +0 -0
  163. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/img/zoom.png +0 -0
  164. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/js/cbData.js +0 -0
  165. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/js/maxHeat.js +0 -0
  166. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/cbWeb/js/violinWorker.js +0 -0
  167. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/convert.py +0 -0
  168. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/download.py +0 -0
  169. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/geneinfo.py +0 -0
  170. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/genes.py +0 -0
  171. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/hubmaker.py +0 -0
  172. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/sampleConfig/cellbrowser.conf +0 -0
  173. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/sampleConfig/desc.conf +0 -0
  174. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/sampleConfig/hub.conf +0 -0
  175. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/sampleConfig/scanpy.conf +0 -0
  176. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/sampleConfig/seurat.conf +0 -0
  177. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/sampleConfig/summary.html +0 -0
  178. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser/seurat.py +0 -0
  179. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser.egg-info/SOURCES.txt +0 -0
  180. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser.egg-info/dependency_links.txt +0 -0
  181. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser.egg-info/entry_points.txt +0 -0
  182. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser.egg-info/not-zip-safe +0 -0
  183. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/src/cbPyLib/cellbrowser.egg-info/top_level.txt +0 -0
  184. {cellbrowser-1.2.18 → cellbrowser-1.2.19}/versioneer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cellbrowser
3
- Version: 1.2.18
3
+ Version: 1.2.19
4
4
  Summary: UCSC Cellbrowser, an interactive browser for single cell data. Includes converters and basic pipelines for text files, Seurat, Scanpy and Cellranger.
5
5
  Home-page: https://github.com/maximilianh/cellBrowser
6
6
  Author: Maximilian Haeussler
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2026-06-04T08:52:42-0700",
11
+ "date": "2026-06-04T15:16:16-0700",
12
12
  "dirty": true,
13
13
  "error": null,
14
- "full-revisionid": "c09cf26bfbea561975af659004344a386b68819f",
15
- "version": "1.2.18"
14
+ "full-revisionid": "16f80db61593316c8f6cf3def90e89d82a7946f1",
15
+ "version": "1.2.19"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -8976,17 +8976,18 @@ var cellbrowser = function() {
8976
8976
  //getById("tpGeneExprLimitApply").disabled = isDisabled;
8977
8977
  //});
8978
8978
 
8979
- // use the current gene
8980
- let geneId = getVar("gene", null);
8981
-
8982
- // if there is none, pick a reasonable default gene and meta var
8983
- if (geneId===null && db.conf.quickGenes)
8984
- geneId = db.conf.quickGenes[0][0];
8985
- if (geneId==null)
8986
- geneId = db.getRandomLocus();
8987
-
8988
- // URL variables can override the defaults
8989
- let geneIds = getVar("exprGene", geneId).split(" ");
8979
+ // URL variables override everything; otherwise load all quickGenes; last resort: single gene
8980
+ let geneIds;
8981
+ if (getVar("exprGene", null) !== null) {
8982
+ geneIds = getVar("exprGene", null).split(" ");
8983
+ } else if (db.conf.quickGenes && db.conf.quickGenes.length > 0) {
8984
+ geneIds = db.conf.quickGenes.map(function(qg) { return qg[0]; });
8985
+ } else {
8986
+ let geneId = getVar("gene", null);
8987
+ if (geneId === null)
8988
+ geneId = db.getRandomLocus();
8989
+ geneIds = [geneId];
8990
+ }
8990
8991
 
8991
8992
  buildGeneExprPlotsAddGenes(geneIds, metaName);
8992
8993
  }
@@ -11617,6 +11618,7 @@ function onClusterNameHover(clusterName, nameIdx, ev, isLegend, doScroll, intKey
11617
11618
  //if (acronyms!==undefined && clusterName in acronyms)
11618
11619
  //title += " - "+acronyms[clusterName];
11619
11620
  showDialogBox(htmls, title, {width: winWidth, height:winHeight, "buttons":buttons});
11621
+ hideTooltip();
11620
11622
  $(".ui-widget-content").css("padding", "0");
11621
11623
  $("#tabs").tabs();
11622
11624
  }
@@ -11673,6 +11675,28 @@ function onClusterNameHover(clusterName, nameIdx, ev, isLegend, doScroll, intKey
11673
11675
  sortOrderNum = 1;
11674
11676
 
11675
11677
  var tableId = "tpMarkerTable-"+markerListIdx;
11678
+
11679
+ // Optional column reordering: build permutation from markerInfo.columnOrder
11680
+ var symColIdx = 1; // default: symbol is at col 1
11681
+ var reorderRow = null;
11682
+ if (markerInfo.columnOrder) {
11683
+ var nameToIdx = {};
11684
+ for (var ci = 0; ci < headerRow.length; ci++)
11685
+ nameToIdx[headerRow[ci].split("|")[0]] = ci;
11686
+ var perm = [0]; // col 0 (id/geneId) always first
11687
+ markerInfo.columnOrder.forEach(function(name) {
11688
+ var idx = nameToIdx[name];
11689
+ if (idx !== undefined && idx !== 0) perm.push(idx);
11690
+ });
11691
+ for (var ci = 1; ci < headerRow.length; ci++)
11692
+ if (perm.indexOf(ci) === -1) perm.push(ci);
11693
+ symColIdx = perm.indexOf(1);
11694
+ reorderRow = function(row) {
11695
+ return perm.map(function(pi) { return row[pi] !== undefined ? row[pi] : ""; });
11696
+ };
11697
+ headerRow = reorderRow(headerRow);
11698
+ }
11699
+
11676
11700
  //htmls.push("<table class='table' data-sortlist='[[1,1],[4,0]]' id='tpMarkerTable'>");
11677
11701
  htmls.push("<table class='table' data-sortlist='[["+sortColumn+","+sortOrder+"]]' id='"+tableId+"'>");
11678
11702
  htmls.push("<thead>");
@@ -11737,7 +11761,10 @@ function onClusterNameHover(clusterName, nameIdx, ev, isLegend, doScroll, intKey
11737
11761
  htmls.push("<th"+addStr+">");
11738
11762
  else
11739
11763
  htmls.push("<th style='width:"+width+"'"+addStr+">");
11740
- colLabel = colLabel.replace(/_/g, " ");
11764
+ if (markerInfo.columnLabels && markerInfo.columnLabels[colLabel])
11765
+ colLabel = markerInfo.columnLabels[colLabel];
11766
+ else
11767
+ colLabel = colLabel.replace(/_/g, " ");
11741
11768
  htmls.push(colLabel);
11742
11769
  htmls.push("</th>");
11743
11770
  }
@@ -11764,6 +11791,9 @@ function onClusterNameHover(clusterName, nameIdx, ev, isLegend, doScroll, intKey
11764
11791
  }
11765
11792
  }
11766
11793
 
11794
+ if (reorderRow)
11795
+ allDataRows = allDataRows.map(reorderRow);
11796
+
11767
11797
  function buildRowsHtml(subset) {
11768
11798
  var h = [];
11769
11799
  for (var i = 0; i < subset.length; i++) {
@@ -11778,27 +11808,29 @@ function onClusterNameHover(clusterName, nameIdx, ev, isLegend, doScroll, intKey
11778
11808
  var geneId = row[0];
11779
11809
  if (geneId.indexOf("|") > -1)
11780
11810
  geneId = geneId.split("|")[0];
11781
- var geneSym = row[1];
11782
- h.push("<td><a data-gene='"+geneId+"' class='link tpLoadGeneLink'>"+geneSym+"</a>");
11783
- if (hubUrl!==null) {
11784
- var fullHubUrl = hubUrl+"&position="+geneSym+"&singleSearch=knownCanonical";
11785
- h.push("<a target=_blank class='link' style='margin-left: 10px; font-size:80%; color:#AAA' title='link to UCSC Genome Browser' href='"+fullHubUrl+"'>Genome</a>");
11786
- }
11787
- h.push("</td>");
11788
- for (var j = 2; j < row.length; j++) {
11811
+ var geneSym = row[symColIdx];
11812
+ for (var j = 1; j < row.length; j++) {
11789
11813
  var val = row[j];
11790
11814
  h.push("<td>");
11791
- if (val.startsWith("./")) {
11792
- var imgUrl = val.replace("./", db.url+"/");
11793
- var imgHtml = '<img width="100px" src="'+imgUrl+'">';
11794
- val = "<a data-toggle='tooltip' data-placement='auto' class='tpPlots link' target=_blank title='"+imgHtml+"' href='"+ imgUrl + "'>plot</a>";
11815
+ if (j === symColIdx) {
11816
+ h.push("<a data-gene='"+geneId+"' class='link tpLoadGeneLink'>"+geneSym+"</a>");
11817
+ if (hubUrl!==null) {
11818
+ var fullHubUrl = hubUrl+"&position="+geneSym+"&singleSearch=knownCanonical";
11819
+ h.push("<a target=_blank class='link' style='margin-left: 10px; font-size:80%; color:#AAA' title='link to UCSC Genome Browser' href='"+fullHubUrl+"'>Genome</a>");
11820
+ }
11821
+ } else {
11822
+ if (val.startsWith("./")) {
11823
+ var imgUrl = val.replace("./", db.url+"/");
11824
+ var imgHtml = '<img width="100px" src="'+imgUrl+'">';
11825
+ val = "<a data-toggle='tooltip' data-placement='auto' class='tpPlots link' target=_blank title='"+imgHtml+"' href='"+ imgUrl + "'>plot</a>";
11826
+ }
11827
+ if (j===geneListCol || j===exprCol)
11828
+ geneListFormat(h, val, geneSym);
11829
+ else if (j===pValCol)
11830
+ h.push(parseFloat(val).toPrecision(5));
11831
+ else
11832
+ geneListFormat(h, val, geneSym);
11795
11833
  }
11796
- if (j===geneListCol || j===exprCol)
11797
- geneListFormat(h, val, geneSym);
11798
- else if (j===pValCol)
11799
- h.push(parseFloat(val).toPrecision(5));
11800
- else
11801
- geneListFormat(h, val, geneSym);
11802
11834
  h.push("</td>");
11803
11835
  }
11804
11836
  h.push("</tr>");
@@ -1490,14 +1490,15 @@ function MaxPlot(div, top, left, width, height, args) {
1490
1490
  count++;
1491
1491
  }
1492
1492
 
1493
- // overdraw the selection as black rectangles on top
1493
+ // overdraw the selection as black rectangles on top, at 2x radius so they stand out
1494
1494
  //if (fatIdx===null) {
1495
1495
  ctx.globalAlpha = 0.7;
1496
1496
  ctx.fillStyle= self.isLight() ? "black" : "white";
1497
+ var selRadius = radius * 2, selDblSize = selRadius * 2;
1497
1498
  selCells.forEach(function(cellId) {
1498
1499
  let pxX = pxCoords[2*cellId];
1499
1500
  let pxY = pxCoords[2*cellId+1];
1500
- ctx.fillRect(pxX-radius, pxY-radius, dblSize, dblSize);
1501
+ ctx.fillRect(pxX-selRadius, pxY-selRadius, selDblSize, selDblSize);
1501
1502
  count += 1;
1502
1503
  })
1503
1504
  //}
@@ -2021,21 +2022,19 @@ function MaxPlot(div, top, left, width, height, args) {
2021
2022
  if (origCoordColors)
2022
2023
  coordColors = origCoordColors;
2023
2024
 
2024
- // overdraw the selection on top: as circles with black outlines
2025
+ // overdraw the selection on top: as circles with black outlines, scaled 2x so they stand out
2025
2026
  ctx.globalAlpha = 0.7;
2026
- var selImgIdx = templates.selImgIdx; // second-to last template is the black outline, see makeCircleTemplates()
2027
+ var selImgIdx = templates.selImgIdx;
2028
+ var selRadius = radius * 2;
2029
+ var selTileSize = selRadius * 2 + 2;
2027
2030
  selCells.forEach(function(cellId) {
2028
2031
  let pxX = pxCoords[2*cellId];
2029
2032
  let pxY = pxCoords[2*cellId+1];
2030
2033
  if (isHidden(pxX, pxY))
2031
2034
  return;
2032
- // make sure that old leftover overlapping black circles don't shine through and redraw the circle
2033
- // slow, but not sure what else I can do...
2034
2035
  let col = coordColors[cellId];
2035
- ctx.drawImage(off, col * tileWidth, 0, tileWidth, tileHeight, pxX - radius -1, pxY - radius-1, tileWidth, tileHeight);
2036
-
2037
- // and draw the outline
2038
- ctx.drawImage(off, selImgIdx * tileWidth, 0, tileWidth, tileHeight, pxX - radius -1, pxY - radius-1, tileWidth, tileHeight);
2036
+ ctx.drawImage(off, col * tileWidth, 0, tileWidth, tileHeight, pxX - selRadius - 1, pxY - selRadius - 1, selTileSize, selTileSize);
2037
+ ctx.drawImage(off, selImgIdx * tileWidth, 0, tileWidth, tileHeight, pxX - selRadius - 1, pxY - selRadius - 1, selTileSize, selTileSize);
2039
2038
  });
2040
2039
 
2041
2040
  ctx.restore();
@@ -2153,8 +2152,10 @@ function MaxPlot(div, top, left, width, height, args) {
2153
2152
  ctx.drawArrays(self.ctx.POINTS, 0, count);
2154
2153
  }
2155
2154
  if(selCells.size > 0) {
2155
+ ctx.uniform1f(self.u_Radius, radius * 2);
2156
2156
  ctx.uniform1f(self.u_Layer, 2);
2157
2157
  ctx.drawArrays(self.ctx.POINTS, 0, count);
2158
+ ctx.uniform1f(self.u_Radius, radius);
2158
2159
  }
2159
2160
  if(WEBGL_DEBUG) {
2160
2161
  ctx.finish();
@@ -2257,17 +2258,24 @@ function MaxPlot(div, top, left, width, height, args) {
2257
2258
  count++;
2258
2259
  }
2259
2260
 
2260
- // overdraw the selection as black pixels
2261
+ // overdraw the selection as black 3x3 blocks so they're visible at radius=0
2261
2262
  if (fatIdx===null) {
2262
2263
  selCells.forEach(function(cellId) {
2263
2264
  let pxX = pxCoords[2*cellId];
2264
2265
  let pxY = pxCoords[2*cellId+1];
2265
2266
  if (isHidden(pxX, pxY))
2266
2267
  return;
2267
- let p = 4 * (pxY*width+pxX); // pointer to red value of pixel at x,y
2268
- cData[p] = 0;
2269
- cData[p+1] = 0;
2270
- cData[p+2] = 0;
2268
+ for (let dy = -1; dy <= 1; dy++) {
2269
+ for (let dx = -1; dx <= 1; dx++) {
2270
+ let nx = pxX + dx, ny = pxY + dy;
2271
+ if (nx < 0 || nx >= width || ny < 0 || ny >= height) continue;
2272
+ let p = 4 * (ny*width+nx);
2273
+ cData[p] = 0;
2274
+ cData[p+1] = 0;
2275
+ cData[p+2] = 0;
2276
+ cData[p+3] = 255;
2277
+ }
2278
+ }
2271
2279
  })
2272
2280
  }
2273
2281
 
@@ -4187,6 +4187,10 @@ def convertMarkers(inConf, outConf, geneToSym, clusterLabels, matrixGeneIds, out
4187
4187
  newDict = {"name" : sanitizeName(clusterName), "shortLabel" : markerLabel, "clusterList": list(clusterNames)}
4188
4188
  if "selectOnClick" in markerInfo:
4189
4189
  newDict["selectOnClick"] = markerInfo["selectOnClick"]
4190
+ if "columnOrder" in markerInfo:
4191
+ newDict["columnOrder"] = markerInfo["columnOrder"]
4192
+ if "columnLabels" in markerInfo:
4193
+ newDict["columnLabels"] = markerInfo["columnLabels"]
4190
4194
  newMarkers.append( newDict )
4191
4195
 
4192
4196
  outConf["markers"] = newMarkers
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cellbrowser
3
- Version: 1.2.18
3
+ Version: 1.2.19
4
4
  Summary: UCSC Cellbrowser, an interactive browser for single cell data. Includes converters and basic pipelines for text files, Seurat, Scanpy and Cellranger.
5
5
  Home-page: https://github.com/maximilianh/cellBrowser
6
6
  Author: Maximilian Haeussler
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes