cellbrowser 1.2.4__tar.gz → 1.2.6__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 (179) hide show
  1. {cellbrowser-1.2.4/src/cbPyLib/cellbrowser.egg-info → cellbrowser-1.2.6}/PKG-INFO +1 -1
  2. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/README.rst +1 -0
  3. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/R/cellbrowser.R +26 -25
  4. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/_version.py +3 -3
  5. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/css/cellBrowser.css +6 -1
  6. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/js/cbData.js +53 -9
  7. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/js/cellBrowser.js +499 -157
  8. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/js/maxPlot.js +123 -75
  9. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cellbrowser.py +300 -105
  10. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/convert.py +10 -5
  11. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/genes.py +40 -3
  12. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/sampleConfig/cellbrowser.conf +2 -0
  13. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/sampleConfig/desc.conf +1 -1
  14. {cellbrowser-1.2.4 → cellbrowser-1.2.6/src/cbPyLib/cellbrowser.egg-info}/PKG-INFO +1 -1
  15. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/LICENSE +0 -0
  16. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/MANIFEST.in +0 -0
  17. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/setup.cfg +0 -0
  18. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/setup.py +0 -0
  19. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/RangeHTTPServer/__init__.py +0 -0
  20. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/RangeHTTPServer/__main__.py +0 -0
  21. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/__init__.py +0 -0
  22. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/css/MaterialIcons-Regular.eot +0 -0
  23. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/css/MaterialIcons-Regular.ttf +0 -0
  24. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/css/MaterialIcons-Regular.woff +0 -0
  25. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/css/MaterialIcons-Regular.woff2 +0 -0
  26. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/Chart.bundle.min.js +0 -0
  27. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/FastBitSet.js +0 -0
  28. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/FileSaver.1.1.20151003.min.js +0 -0
  29. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/OverlayScrollbars.min.css +0 -0
  30. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap-dropmenu.min.css +0 -0
  31. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap-submenu.js +0 -0
  32. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap-submenu.min.css +0 -0
  33. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap.3.3.7.min.css +0 -0
  34. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap.min.css +0 -0
  35. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap.min.js +0 -0
  36. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/chartjs-chart-box-and-violin-plot.js +0 -0
  37. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/chosen-sprite.png +0 -0
  38. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/chosen-sprite@2x.png +0 -0
  39. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/chosen.1.8.2.min.css +0 -0
  40. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/chosen.jquery.min.js +0 -0
  41. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/drawImage-clipper.js +0 -0
  42. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/font-awesome.css +0 -0
  43. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/googleMaterialIcons.css +0 -0
  44. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/hamster.js +0 -0
  45. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  46. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_444444_256x240.png +0 -0
  47. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_555555_256x240.png +0 -0
  48. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_777620_256x240.png +0 -0
  49. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_777777_256x240.png +0 -0
  50. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_cc0000_256x240.png +0 -0
  51. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_ffffff_256x240.png +0 -0
  52. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/intro.min.js +0 -0
  53. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/introjs.2.4.0.min.css +0 -0
  54. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery-ui-1.12.1.css +0 -0
  55. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery-ui.min.js +0 -0
  56. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.3.1.1.min.js +0 -0
  57. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.contextMenu.css +0 -0
  58. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.contextMenu.js +0 -0
  59. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.event.drag-2.3.0.js +0 -0
  60. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.overlayScrollbars.min.js +0 -0
  61. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.sparkline.min.js +0 -0
  62. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.tablesorter.js +0 -0
  63. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.tablesorter.widgets.js +0 -0
  64. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.tipsy.1.0.3.min.css +0 -0
  65. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.tipsy.min.js +0 -0
  66. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.ui.position.min.js +0 -0
  67. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/jsurl2.js +0 -0
  68. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/lz-string.js +0 -0
  69. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/materialIcons.woff +0 -0
  70. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/minified.js +0 -0
  71. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/mousetrap.min.js +0 -0
  72. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/normalizeWheel.js +0 -0
  73. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/pako_inflate.min.js +0 -0
  74. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/palette.js +0 -0
  75. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/papaparse.min.js +0 -0
  76. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/reorder.v1.js +0 -0
  77. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/scaleColorPerceptual.js +0 -0
  78. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/science.v1.js +0 -0
  79. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/select2.4.0.4.min.css +0 -0
  80. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/select2.min.js +0 -0
  81. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/selectize.bootstrap3.css +0 -0
  82. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/selectize.js +0 -0
  83. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.cellrangedecorator.js +0 -0
  84. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.cellrangeselector.js +0 -0
  85. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.cellselectionmodel.js +0 -0
  86. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.core.js +0 -0
  87. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.editors.js +0 -0
  88. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.examples.css +0 -0
  89. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.formatters.js +0 -0
  90. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.grid.css +0 -0
  91. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.grid.js +0 -0
  92. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/spectrum-1.8.0.css +0 -0
  93. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/spectrum.min.js +0 -0
  94. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/split.js +0 -0
  95. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/tablesort.js +0 -0
  96. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/tablesort.number.min.js +0 -0
  97. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/.npmignore +0 -0
  98. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/LICENSE +0 -0
  99. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/Makefile +0 -0
  100. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/README.md +0 -0
  101. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/browser.js +0 -0
  102. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/build.js +0 -0
  103. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/example/d3-random-matrix.js +0 -0
  104. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/example/example.png +0 -0
  105. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/example/gradients.js +0 -0
  106. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/example/package.json +0 -0
  107. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/hex/inferno.json +0 -0
  108. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/hex/magma.json +0 -0
  109. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/hex/plasma.json +0 -0
  110. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/hex/viridis.json +0 -0
  111. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/inferno.js +0 -0
  112. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/magma.js +0 -0
  113. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/package.json +0 -0
  114. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/plasma.js +0 -0
  115. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/rgb/inferno.json +0 -0
  116. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/rgb/magma.json +0 -0
  117. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/rgb/plasma.json +0 -0
  118. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/rgb/viridis.json +0 -0
  119. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/utils/hex2rgb.js +0 -0
  120. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/utils/interpolate.js +0 -0
  121. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/utils/rgb2hex.js +0 -0
  122. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/viridis.js +0 -0
  123. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/theme.bootstrap_3.css +0 -0
  124. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/ext/tiny-queue.js +0 -0
  125. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/genes/files.json +0 -0
  126. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/genes/hg19.gc34.tsv +0 -0
  127. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/genes/hg19.json.gz +0 -0
  128. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/genes/hg38.gc34.tsv +0 -0
  129. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/genes/hg38.json.gz +0 -0
  130. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/genes/log.txt +0 -0
  131. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/genes/makeGenes.py +0 -0
  132. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/genes/mm10.json.gz +0 -0
  133. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/genes/mm10.vm25.tsv +0 -0
  134. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/README.md +0 -0
  135. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/center.png +0 -0
  136. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/README.txt +0 -0
  137. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/gtk-justify-left.png +0 -0
  138. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/gtk-save.png +0 -0
  139. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/log.txt +0 -0
  140. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-center-16.png +0 -0
  141. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-center-24.png +0 -0
  142. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-controller-16.png +0 -0
  143. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-controller-24.png +0 -0
  144. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-edit-16.png +0 -0
  145. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-gravity-west-24.png +0 -0
  146. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-info-16.png +0 -0
  147. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-info-24.png +0 -0
  148. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-merge-down-16.png +0 -0
  149. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-scale-16.png +0 -0
  150. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-free-select-16.png +0 -0
  151. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-free-select-22.png +0 -0
  152. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-move-16.png +0 -0
  153. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-move-22.png +0 -0
  154. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-rect-select-16.png +0 -0
  155. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-rect-select-22.png +0 -0
  156. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-zoom-16.png +0 -0
  157. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-zoom-22.png +0 -0
  158. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/icons8-help-32.png +0 -0
  159. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/info.png +0 -0
  160. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/lasso.png +0 -0
  161. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/marker.png +0 -0
  162. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/move.png +0 -0
  163. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/select.png +0 -0
  164. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/img/zoom.png +0 -0
  165. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/cbWeb/js/maxHeat.js +0 -0
  166. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/download.py +0 -0
  167. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/geneinfo.py +0 -0
  168. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/hubmaker.py +0 -0
  169. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/sampleConfig/hub.conf +0 -0
  170. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/sampleConfig/scanpy.conf +0 -0
  171. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/sampleConfig/seurat.conf +0 -0
  172. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/sampleConfig/summary.html +0 -0
  173. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser/seurat.py +0 -0
  174. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser.egg-info/SOURCES.txt +0 -0
  175. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser.egg-info/dependency_links.txt +0 -0
  176. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser.egg-info/entry_points.txt +0 -0
  177. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser.egg-info/not-zip-safe +0 -0
  178. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/src/cbPyLib/cellbrowser.egg-info/top_level.txt +0 -0
  179. {cellbrowser-1.2.4 → cellbrowser-1.2.6}/versioneer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cellbrowser
3
- Version: 1.2.4
3
+ Version: 1.2.6
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
@@ -46,6 +46,7 @@ Many labs host their data at cells.ucsc.edu by sending it to us, but some groups
46
46
  * Lako Lab at Newcastle University, UK: http://retinalstemcellresearch.co.uk/CorneaCellAtlas/ from `Collins et al. 2021. The Ocular Surface. <https://www.sciencedirect.com/science/article/pii/S1542012421000215>`_
47
47
  * RNA Bioscience Initiative: https://www.pneuroonccellatlas.org/ and https://github.com/rnabioco/lung-scrna
48
48
  * Paul Gontarz, WUSTL, http://regmedsrv1.wustl.edu/Public_SPACE/pgontarz/Public_html/cellbrower/Exp1/
49
+ * Dylan Farnsworth, U Oregon, https://pages.uoregon.edu/drf/browser/lens_230620/
49
50
 
50
51
 
51
52
  These papers have cell browsers made at UCSC:
@@ -232,42 +232,43 @@ ExportToCellbrowser <- function(
232
232
  reducNames <- reductions
233
233
 
234
234
  # Use or find the default cluster field
235
+ #if (is.null(x = cluster.field)) {
236
+ ## find and use the default Idents() field as the cluster field
237
+ #idents <- Idents(object)
238
+ #for (colName in colnames(object@meta.data)) {
239
+ #col = object@meta.data[[colName]]
240
+ #if (identical(idents@.Data,col@.Data)) {
241
+ #message("Default Idents() meta field:",colName)
242
+ #cluster.field <- colName
243
+ #break
244
+ #}
245
+ #}
235
246
  if (is.null(x = cluster.field)) {
236
- # find and use the default Idents() field as the cluster field
237
- idents <- Idents(object)
238
- for (colName in colnames(object@meta.data)) {
239
- col = object@meta.data[[colName]]
240
- if (identical(idents@.Data,col@.Data)) {
241
- message("Default Idents() meta field:",colName)
242
- cluster.field <- colName
243
- break
244
- }
245
- }
246
- if (is.null(x = cluster.field)) {
247
- message("There is no meta field identical to idents(): using the value of Idents() as a new field 'Cluster'")
247
+ message("No cluster field specified: Using the value of Idents()")
248
248
  # create a new meta data field named "Cluster"
249
- newDf <- cbind(object@meta.data, Idents(object))
249
+ #newDf <- cbind(object@meta.data, Idents(object))
250
250
  # default name is "Idents(object)", not good, let's rename that to "Cluster"
251
- names(newDf)[length(newDf)] <- "Cluster"
252
- object@meta.data <- newDf
253
- cluster.field <- "Cluster"
254
- }
255
-
251
+ #names(newDf)[length(newDf)] <- "Cluster"
252
+ #object@meta.data <- newDf
253
+ #cluster.field <- "Cluster"
256
254
  } else {
257
- message("A custom cluster field was specified: ", cluster.field)
258
- Idents(object) <- object[[cluster.field]]
255
+ message("A custom cluster field was specified: ", cluster.field)
256
+ Idents(object = object) <- cluster.field
257
+ # another, convoluted way to set the Idents field, if the command above makes trouble again
258
+ #Idents(object) <- as.factor([object[[cluster.field]], cluster.field])
259
259
  }
260
260
 
261
261
  # make sure that we have a cluster field
262
- if (is.null(x = cluster.field))
263
- stop("There was no cluster field provided and the auto-detection to find one based on Idents() did not work. Please provide a cluster field with cluster.field='xxx' from R or --clusterField=xxx if using cbImportSeurat. Possible meta annotation fields are: ", toString(colnames(x = meta)))
262
+ #if (is.null(x = cluster.field))
263
+ #stop("There was no cluster field provided and the auto-detection to find one based on Idents() did not work. Please provide a cluster field with cluster.field='xxx' from R or --clusterField=xxx if using cbImportSeurat. Possible meta annotation fields are: ", toString(colnames(x = meta)))
264
264
 
265
265
  if (is.null(x = meta.fields)) {
266
266
  meta.fields <- colnames(x = meta)
267
- if (length(x = levels(x = Idents(object))) > 1) {
268
- meta.fields <- c(meta.fields, ".ident")
269
- }
267
+ #if (length(x = levels(x = Idents(object))) > 1) {
268
+ #meta.fields <- c(meta.fields, ".ident")
269
+ #}
270
270
  }
271
+
271
272
  if (!is.null(x = port) && is.null(x = cb.dir)) {
272
273
  stop("cb.dir parameter is needed when port is set")
273
274
  }
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-01-26T10:33:46-0800",
11
+ "date": "2024-05-24T11:52:29-0700",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "79b1a8dc88b82ca35ec995490618ad73697c354f",
15
- "version": "v1.2.4"
14
+ "full-revisionid": "420909968ac2d91d6c2ba050ea1c689f38fe8002",
15
+ "version": "v1.2.6"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -178,7 +178,12 @@ section { font-weight: bold; padding-top: 5px; padding-bottom: 5px }
178
178
  }
179
179
 
180
180
  /* modify bootstrap tooltip defaults */
181
- .tooltip-inner { min-width: 220px; border-radius: 0; background-opacity: 50%}
181
+ .tooltip .tooltip-inner {
182
+ min-width: 220px;
183
+ border-radius: 0;
184
+ background-opacity: 50%;
185
+ text-align: left
186
+ }
182
187
 
183
188
  .ui-widget-header { background: white}
184
189
  .ui-state-active { background: green }
@@ -196,9 +196,13 @@ var cbUtil = (function () {
196
196
  if (!dataLen)
197
197
  dataLen = new Blob([binData]).size;;
198
198
 
199
- if (dataLen < expLength -1) // Yes, the -1 does not make sense. This happens only with https://cells-beta.gi.ucsc.edu/?ds=engraftable-hsc+adt
199
+ if (dataLen < expLength-1) // Yes, the -1 does not make sense.
200
+ // This happens only with https://cells-beta.gi.ucsc.edu/?ds=engraftable-hsc+adt
200
201
  // and I have no idea why.
201
- alert("internal error cbData.js: chunk is too small. Does the HTTP server really support byte range requests?");
202
+ alert("internal error cbData.js: data received from web server is too short. Expected data size was "+exprLength+
203
+ " but received "+dataLen+" bytes. URL: "+url+
204
+ "Does the HTTP server really support byte range requests? You probably will have to contact us to "+
205
+ " narrow down this problem.");
202
206
 
203
207
  if (dataLen > expLength) {
204
208
  console.log("Webserver does not support byte range requests, working around it, but this may be slow");
@@ -356,8 +360,14 @@ var cbUtil = (function () {
356
360
  return [min, max]
357
361
  }
358
362
 
363
+ my.baReadBigOffset = function(ba, o) {
364
+ /* given a byte array, return the unsigned long long int (little endian), so eight bytes, at offset o */
365
+ var offset = ba[o] | ba[o+1] << 8 | ba[o+2] << 16 | ba[o+3] << 24 | ba[o+4] << 32 | ba[o+5] << 40 | ba[o+6] << 48 | ba[o+7] << 56;
366
+ return offset;
367
+ };
368
+
359
369
  my.baReadOffset = function(ba, o) {
360
- /* given a byte array, return the long int (little endian) at offset o */
370
+ /* given a byte array, return the unsigned long int (little endian), so four bytes, at offset o */
361
371
  var offset = ba[o] | ba[o+1] << 8 | ba[o+2] << 16 | ba[o+3] << 24;
362
372
  return offset;
363
373
  };
@@ -526,6 +536,16 @@ function CbDbFile(url) {
526
536
  cbUtil.loadJson(jsonUrl, jsonDone, true);
527
537
  };
528
538
 
539
+ this.loadTraces = function(onTracesDone) {
540
+ /* load the trace file, add to self.traces and call onDone */
541
+ function onFileDone(res) {
542
+ self.traces = res;
543
+ onTracesDone(self.traces);
544
+ }
545
+ var fileUrl = cbUtil.joinPaths([self.url, "traces.json"]);
546
+ cbUtil.loadJson(fileUrl, onFileDone, true);
547
+ };
548
+
529
549
  this.getDefaultColorField = function() {
530
550
  /* return a pair: [0] is "meta" or "gene" and [1] is the field name or the gene */
531
551
  if (self.conf.clusterField)
@@ -566,7 +586,7 @@ function CbDbFile(url) {
566
586
  onProgress, metaInfo);
567
587
  }
568
588
 
569
- this.loadMetaVec = function(metaInfo, onDone, onProgress, otherInfo) {
589
+ this.loadMetaVec = function(metaInfo, onDone, onProgress, otherInfo, strategy) {
570
590
  /* get an array of numbers, one per cell, that reflect the meta field contents
571
591
  * and an object with some info about the field. call onDone(arr, metaInfo) when done.
572
592
  * Keep all compressed arrays in metaCache;
@@ -597,7 +617,13 @@ function CbDbFile(url) {
597
617
  if (metaInfo.arrType==="float32") {
598
618
  // numeric arrays have to be binned on the client. They are always floats.
599
619
  console.time("discretize "+metaInfo.name);
600
- var discRes = discretizeArray(arr, self.exprBinCount, FLOATNAN);
620
+ var discRes;
621
+
622
+ if (strategy==="range")
623
+ discRes = discretizeArray_binSize(arr, self.exprBinCount, FLOATNAN);
624
+ else
625
+ discRes = discretizeArray(arr, self.exprBinCount, FLOATNAN);
626
+
601
627
  console.timeEnd("discretize "+metaInfo.name);
602
628
  metaInfo.origVals = arr; // keep original values, so we can later query for them
603
629
  arr = discRes.dArr;
@@ -938,9 +964,20 @@ function CbDbFile(url) {
938
964
  for (let r of loadedRanges) {
939
965
  arrs.push(r.arr);
940
966
  if (r.desc!=="")
941
- geneDescs.push(r.desc);
967
+ geneDescs.push(r.name);
942
968
  }
943
- let geneDesc = geneDescs.join("; ");
969
+
970
+ // set gene description to an ;-separated list for multi-gene mode and
971
+ // to chrom:minStart-maxStart for ATAC mode
972
+ let geneDesc;
973
+ if (self.isAtacMode()) {
974
+ let chrom = loadedRanges[0].name.split("|")[0];
975
+ let minStart = loadedRanges[0].name.split("|")[1];
976
+ let maxEnd = loadedRanges[loadedRanges.length-1].name.split("|")[2];
977
+ geneDesc = chrom+":"+minStart+"-"+maxEnd;
978
+ }
979
+ else
980
+ geneDesc = geneDescs.join("; ");
944
981
 
945
982
  // specVal is the value for a special bin, usually 0
946
983
  var specVal = 0;
@@ -1277,6 +1314,8 @@ function CbDbFile(url) {
1277
1314
  // first we need to lookup the offset of the line and its length from the index
1278
1315
  var url = cbUtil.joinPaths([self.url, "meta.index"]);
1279
1316
  var start = (cellIdx*6); // four bytes for the offset + 2 bytes for the line length
1317
+ if (self.conf.metaNeedsEightBytes)
1318
+ start = (cellIdx*10); // meta files > 4GB need 8 bytes for the offset + 2 for the line length
1280
1319
  var end = start+6;
1281
1320
 
1282
1321
  function lineDone(text) {
@@ -1288,7 +1327,12 @@ function CbDbFile(url) {
1288
1327
 
1289
1328
  function offsetDone(arr) {
1290
1329
  /* called when the offset in meta.index has been read */
1291
- var offset = cbUtil.baReadOffset(arr, 0);
1330
+ var offset;
1331
+ if (self.conf.metaNeedsEightBytes)
1332
+ offset = cbUtil.baReadBigOffset(arr, 0);
1333
+ else
1334
+ offset = cbUtil.baReadOffset(arr, 0);
1335
+
1292
1336
  var lineLen = cbUtil.baReadUint16(arr, 4);
1293
1337
  // now get the line from the .tsv file
1294
1338
  var url = cbUtil.joinPaths([self.url, "meta.tsv"]);
@@ -1608,7 +1652,7 @@ function CbDbFile(url) {
1608
1652
  //alert("Error: "+sym+" is in quick genes list but is not a valid gene");
1609
1653
  //continue;
1610
1654
  //}
1611
- if (geneId.indexOf("|")!==-1)
1655
+ if (geneId.indexOf("|")!==-1 && !self.conf.atacSearch)
1612
1656
  geneId = geneId.split("|")[0];
1613
1657
 
1614
1658
  self.loadExprAndDiscretize(