cellbrowser 1.2.10__tar.gz → 1.2.12__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.10/src/cbPyLib/cellbrowser.egg-info → cellbrowser-1.2.12}/PKG-INFO +1 -1
  2. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/_version.py +4 -4
  3. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/js/cellBrowser.js +67 -42
  4. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/js/maxPlot.js +20 -10
  5. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cellbrowser.py +1 -1
  6. {cellbrowser-1.2.10 → cellbrowser-1.2.12/src/cbPyLib/cellbrowser.egg-info}/PKG-INFO +1 -1
  7. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/LICENSE +0 -0
  8. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/MANIFEST.in +0 -0
  9. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/README.rst +0 -0
  10. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/setup.cfg +0 -0
  11. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/setup.py +0 -0
  12. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/RangeHTTPServer/__init__.py +0 -0
  13. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/RangeHTTPServer/__main__.py +0 -0
  14. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/R/cellbrowser.R +0 -0
  15. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/__init__.py +0 -0
  16. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/css/MaterialIcons-Regular.eot +0 -0
  17. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/css/MaterialIcons-Regular.ttf +0 -0
  18. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/css/MaterialIcons-Regular.woff +0 -0
  19. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/css/MaterialIcons-Regular.woff2 +0 -0
  20. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/css/cellBrowser.css +0 -0
  21. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/Chart.bundle.min.js +0 -0
  22. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/FastBitSet.js +0 -0
  23. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/FileSaver.1.1.20151003.min.js +0 -0
  24. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/OverlayScrollbars.min.css +0 -0
  25. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap-dropmenu.min.css +0 -0
  26. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap-submenu.js +0 -0
  27. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap-submenu.min.css +0 -0
  28. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap.3.3.7.min.css +0 -0
  29. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap.min.css +0 -0
  30. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/bootstrap.min.js +0 -0
  31. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/chartjs-chart-box-and-violin-plot.js +0 -0
  32. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/chosen-sprite.png +0 -0
  33. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/chosen-sprite@2x.png +0 -0
  34. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/chosen.1.8.2.min.css +0 -0
  35. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/chosen.jquery.min.js +0 -0
  36. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/drawImage-clipper.js +0 -0
  37. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/font-awesome.css +0 -0
  38. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/googleMaterialIcons.css +0 -0
  39. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/hamster.js +0 -0
  40. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  41. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_444444_256x240.png +0 -0
  42. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_555555_256x240.png +0 -0
  43. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_777620_256x240.png +0 -0
  44. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_777777_256x240.png +0 -0
  45. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_cc0000_256x240.png +0 -0
  46. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/images/ui-icons_ffffff_256x240.png +0 -0
  47. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/intro.min.js +0 -0
  48. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/introjs.2.4.0.min.css +0 -0
  49. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery-ui-1.12.1.css +0 -0
  50. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery-ui.min.js +0 -0
  51. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.3.1.1.min.js +0 -0
  52. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.contextMenu.css +0 -0
  53. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.contextMenu.js +0 -0
  54. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.event.drag-2.3.0.js +0 -0
  55. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.overlayScrollbars.min.js +0 -0
  56. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.sparkline.min.js +0 -0
  57. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.tablesorter.js +0 -0
  58. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.tablesorter.widgets.js +0 -0
  59. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.tipsy.1.0.3.min.css +0 -0
  60. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.tipsy.min.js +0 -0
  61. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/jquery.ui.position.min.js +0 -0
  62. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/jsurl2.js +0 -0
  63. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/lz-string.js +0 -0
  64. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/materialIcons.woff +0 -0
  65. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/minified.js +0 -0
  66. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/mousetrap.min.js +0 -0
  67. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/normalizeWheel.js +0 -0
  68. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/pako_inflate.min.js +0 -0
  69. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/palette.js +0 -0
  70. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/papaparse.min.js +0 -0
  71. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/reorder.v1.js +0 -0
  72. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/scaleColorPerceptual.js +0 -0
  73. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/science.v1.js +0 -0
  74. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/select2.4.0.4.min.css +0 -0
  75. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/select2.min.js +0 -0
  76. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/selectize.bootstrap3.css +0 -0
  77. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/selectize.js +0 -0
  78. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.cellrangedecorator.js +0 -0
  79. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.cellrangeselector.js +0 -0
  80. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.cellselectionmodel.js +0 -0
  81. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.core.js +0 -0
  82. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.editors.js +0 -0
  83. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.examples.css +0 -0
  84. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.formatters.js +0 -0
  85. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.grid.css +0 -0
  86. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/slick.grid.js +0 -0
  87. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/spectrum-1.8.0.css +0 -0
  88. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/spectrum.min.js +0 -0
  89. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/split.js +0 -0
  90. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/tablesort.js +0 -0
  91. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/tablesort.number.min.js +0 -0
  92. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/.npmignore +0 -0
  93. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/LICENSE +0 -0
  94. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/Makefile +0 -0
  95. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/README.md +0 -0
  96. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/browser.js +0 -0
  97. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/build.js +0 -0
  98. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/example/d3-random-matrix.js +0 -0
  99. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/example/example.png +0 -0
  100. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/example/gradients.js +0 -0
  101. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/example/package.json +0 -0
  102. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/hex/inferno.json +0 -0
  103. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/hex/magma.json +0 -0
  104. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/hex/plasma.json +0 -0
  105. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/hex/viridis.json +0 -0
  106. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/inferno.js +0 -0
  107. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/magma.js +0 -0
  108. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/package.json +0 -0
  109. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/plasma.js +0 -0
  110. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/rgb/inferno.json +0 -0
  111. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/rgb/magma.json +0 -0
  112. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/rgb/plasma.json +0 -0
  113. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/rgb/viridis.json +0 -0
  114. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/utils/hex2rgb.js +0 -0
  115. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/utils/interpolate.js +0 -0
  116. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/utils/rgb2hex.js +0 -0
  117. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/temp/node_modules/scale-color-perceptual/viridis.js +0 -0
  118. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/theme.bootstrap_3.css +0 -0
  119. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/ext/tiny-queue.js +0 -0
  120. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/genes/files.json +0 -0
  121. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/genes/hg19.gc34.tsv +0 -0
  122. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/genes/hg19.json.gz +0 -0
  123. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/genes/hg38.gc34.tsv +0 -0
  124. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/genes/hg38.json.gz +0 -0
  125. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/genes/log.txt +0 -0
  126. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/genes/makeGenes.py +0 -0
  127. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/genes/mm10.json.gz +0 -0
  128. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/genes/mm10.vm25.tsv +0 -0
  129. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/README.md +0 -0
  130. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/center.png +0 -0
  131. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/README.txt +0 -0
  132. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/gtk-justify-left.png +0 -0
  133. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/gtk-save.png +0 -0
  134. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/log.txt +0 -0
  135. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-center-16.png +0 -0
  136. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-center-24.png +0 -0
  137. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-controller-16.png +0 -0
  138. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-controller-24.png +0 -0
  139. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-edit-16.png +0 -0
  140. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-gravity-west-24.png +0 -0
  141. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-info-16.png +0 -0
  142. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-info-24.png +0 -0
  143. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-merge-down-16.png +0 -0
  144. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-scale-16.png +0 -0
  145. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-free-select-16.png +0 -0
  146. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-free-select-22.png +0 -0
  147. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-move-16.png +0 -0
  148. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-move-22.png +0 -0
  149. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-rect-select-16.png +0 -0
  150. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-rect-select-22.png +0 -0
  151. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-zoom-16.png +0 -0
  152. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/gimpFlat/stock-tool-zoom-22.png +0 -0
  153. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/icons8-help-32.png +0 -0
  154. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/info.png +0 -0
  155. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/lasso.png +0 -0
  156. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/marker.png +0 -0
  157. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/move.png +0 -0
  158. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/select.png +0 -0
  159. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/img/zoom.png +0 -0
  160. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/js/cbData.js +0 -0
  161. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/cbWeb/js/maxHeat.js +0 -0
  162. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/convert.py +0 -0
  163. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/download.py +0 -0
  164. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/geneinfo.py +0 -0
  165. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/genes.py +0 -0
  166. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/hubmaker.py +0 -0
  167. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/sampleConfig/cellbrowser.conf +0 -0
  168. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/sampleConfig/desc.conf +0 -0
  169. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/sampleConfig/hub.conf +0 -0
  170. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/sampleConfig/scanpy.conf +0 -0
  171. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/sampleConfig/seurat.conf +0 -0
  172. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/sampleConfig/summary.html +0 -0
  173. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser/seurat.py +0 -0
  174. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser.egg-info/SOURCES.txt +0 -0
  175. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser.egg-info/dependency_links.txt +0 -0
  176. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser.egg-info/entry_points.txt +0 -0
  177. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser.egg-info/not-zip-safe +0 -0
  178. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/src/cbPyLib/cellbrowser.egg-info/top_level.txt +0 -0
  179. {cellbrowser-1.2.10 → cellbrowser-1.2.12}/versioneer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cellbrowser
3
- Version: 1.2.10
3
+ Version: 1.2.12
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": "2025-01-28T10:22:44-0800",
12
- "dirty": true,
11
+ "date": "2025-02-14T09:13:15-0800",
12
+ "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "9c7c13d28b253ed763bd7086efb71fc484704080",
15
- "version": "1.2.10"
14
+ "full-revisionid": "5cefb922e5dbfbcb3bc1764cf085d0c834d28e6f",
15
+ "version": "1.2.12"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -106,6 +106,7 @@ var cellbrowser = function() {
106
106
 
107
107
  // maximum number of distinct values that one can color on
108
108
  const MAXCOLORCOUNT = 1500;
109
+ const MAXLABELCOUNT = 500;
109
110
 
110
111
  // histograms show only the top X values and summarize the rest into "other"
111
112
  var HISTOCOUNT = 12;
@@ -3225,11 +3226,24 @@ var cellbrowser = function() {
3225
3226
  return [sel, unsel];
3226
3227
  }
3227
3228
 
3229
+ function log2All(arr) {
3230
+ /* take log2(x+1 of all subarrays */
3231
+ return arr.map(subArr =>
3232
+ subArr.map(num => Math.log2(num + 1))
3233
+ );
3234
+ }
3235
+
3228
3236
  function buildViolinFromValues(labelList, dataList) {
3229
3237
  /* make a violin plot given the labels and the values for them */
3230
3238
  if ("violinChart" in window)
3231
3239
  window.violinChart.destroy();
3232
3240
 
3241
+ let log2Done = false;
3242
+ if (db.conf.matrixArrType.includes("int")) {
3243
+ dataList = log2All(dataList);
3244
+ log2Done = true;
3245
+ }
3246
+
3233
3247
  var labelLines = [];
3234
3248
  labelLines[0] = labelList[0].split("\n");
3235
3249
  labelLines[0].push(dataList[0].length);
@@ -3261,11 +3275,15 @@ var cellbrowser = function() {
3261
3275
  };
3262
3276
 
3263
3277
  var yLabel = null;
3264
- if (db.conf.unit===undefined && db.conf.matrixArrType==="Uint32")
3278
+ if (db.conf.unit===undefined && db.conf.matrixArrType==="Uint32") {
3265
3279
  yLabel = "read/UMI count";
3280
+ }
3266
3281
  if (db.conf.unit!==undefined)
3267
3282
  yLabel = db.conf.unit;
3268
3283
 
3284
+ if (log2Done)
3285
+ yLabel = "log2("+yLabel+" + 1)";
3286
+
3269
3287
  if (yLabel!==null)
3270
3288
  optDict.scales = {
3271
3289
  yAxes: [{
@@ -3313,7 +3331,7 @@ var cellbrowser = function() {
3313
3331
  //}
3314
3332
 
3315
3333
  function buildViolinPlot() {
3316
- /* create the violin plot, depending on the current selection and the violinField config */
3334
+ /* create the violin plot at the bottom right, depending on the current selection and the violinField config */
3317
3335
  var exprVec = gLegend.exprVec;
3318
3336
  if (exprVec===undefined)
3319
3337
  return;
@@ -3524,9 +3542,6 @@ var cellbrowser = function() {
3524
3542
  // label text can be overriden by the user cart
3525
3543
  var labelField = db.conf.labelField;
3526
3544
 
3527
- if (! db.gLabelCoordCache )
3528
- db.gLabelCoordCache = {};
3529
-
3530
3545
  if (clusterInfo) {
3531
3546
  var origLabels = [];
3532
3547
  var clusterMids = clusterInfo.labels;
@@ -3535,7 +3550,6 @@ var cellbrowser = function() {
3535
3550
  clusterMids = clusterInfo;
3536
3551
  }
3537
3552
 
3538
- db.gLabelCoordCache[labelField] = clusterMids;
3539
3553
  for (var i = 0; i < clusterMids.length; i++) {
3540
3554
  origLabels.push(clusterMids[i][2]);
3541
3555
  }
@@ -3555,30 +3569,27 @@ var cellbrowser = function() {
3555
3569
  function computeAndSetLabels(values, metaInfo) {
3556
3570
  /* recompute the label positions and redraw everything. Uses a cache for the label positions */
3557
3571
  var labelCoords;
3558
- if (db.gLabelCoordCache[metaInfo.label] !== undefined) {
3559
- labelCoords = db.gLabelCoordCache[metaInfo.label];
3560
- } else {
3561
- var coords = renderer.coords.orig;
3562
- var names = null;
3563
- if (metaInfo.type !== "float" && metaInfo.type !== "int") {
3564
- var names = metaInfo.ui.shortLabels;
3565
- }
3566
3572
 
3567
- // console.log(metaInfo);
3573
+ var coords = renderer.coords.orig;
3574
+ var names = null;
3575
+ if (metaInfo.type !== "float" && metaInfo.type !== "int") {
3576
+ var names = metaInfo.ui.shortLabels;
3577
+ }
3578
+
3579
+ // console.log(metaInfo);
3568
3580
 
3569
- console.time("cluster centers");
3570
- var calc = renderer.calcMedian(coords, values, names, metaInfo.origVals);
3581
+ console.time("cluster centers");
3582
+ var calc = renderer.calcMedian(coords, values, names, metaInfo.origVals);
3571
3583
 
3572
- labelCoords = [];
3573
- for (var label in calc) {
3574
- var labelInfo = calc[label];
3575
- var midX = selectMedian(labelInfo[0]);
3576
- var midY = selectMedian(labelInfo[1]);
3577
- labelCoords.push([midX, midY, label]);
3578
- }
3579
- console.timeEnd("cluster centers");
3580
- db.gLabelCoordCache[metaInfo.label] = labelCoords;
3584
+ labelCoords = [];
3585
+ for (var label in calc) {
3586
+ var labelInfo = calc[label];
3587
+ var midX = selectMedian(labelInfo[0]);
3588
+ var midY = selectMedian(labelInfo[1]);
3589
+ labelCoords.push([midX, midY, label]);
3581
3590
  }
3591
+ console.timeEnd("cluster centers");
3592
+
3582
3593
  renderer.setLabelCoords(labelCoords);
3583
3594
  setLabelDropdown(metaInfo.name);
3584
3595
  }
@@ -3590,8 +3601,16 @@ var cellbrowser = function() {
3590
3601
  renderer.setShowLabels(false);
3591
3602
  }
3592
3603
  else {
3593
- renderer.setShowLabels(true);
3594
3604
  var metaInfo = db.findMetaInfo(labelField);
3605
+ if (metaInfo.valCounts.length > MAXLABELCOUNT) {
3606
+ let valCount = metaInfo.valCounts.length;
3607
+ alert("Error: This field contains "+valCount+" different values. "+
3608
+ "The limit is "+MAXLABELCOUNT+". Too many labels overload the screen.");
3609
+ db.conf.activeLabelField = null;
3610
+ renderer.setShowLabels(false);
3611
+ return;
3612
+ }
3613
+ renderer.setShowLabels(true);
3595
3614
  db.conf.activeLabelField = metaInfo.name;
3596
3615
 
3597
3616
  if (metaInfo.arr) // preloaded
@@ -6009,8 +6028,8 @@ var cellbrowser = function() {
6009
6028
  /* gene expression viewer: called when user changes the meta field combo box */
6010
6029
  var fieldId = parseInt(choice.selected.split("_")[1]);
6011
6030
  var metaName = db.getMetaFields()[fieldId].name;
6012
- debug("changed meta on gene expr view", ev);
6013
- buildGeneExprPlotsAddGenes([], metaName);
6031
+ debug("changed meta on gene expr view to "+metaName, ev);
6032
+ buildGeneExprPlotsAddGenes(null, metaName);
6014
6033
  }
6015
6034
 
6016
6035
  function onGeneExprGeneComboChange(ev) {
@@ -6021,7 +6040,7 @@ var cellbrowser = function() {
6021
6040
  buildGeneExprPlotsAddGenes([geneId], null);
6022
6041
  }
6023
6042
 
6024
- function promiseGene(locusStr, onProgress, metaArr, metaCount) {
6043
+ function promiseGeneSplitByMeta(locusStr, onProgress, metaArr, metaCount) {
6025
6044
  /* A promise for loading the gene data and calculation average expression per meta data value.
6026
6045
  Resolves with a geneData object with gene-related attributes, exprMin, exprMax and dotRows. */
6027
6046
  /* dotRows is an array of [cellCount, zeroPerc, avg] */
@@ -6687,7 +6706,7 @@ var cellbrowser = function() {
6687
6706
  for (let geneId of geneIds) {
6688
6707
  geneId = geneId.split("|")[0]; // internal genes sometimes can be in format ENSG-ID|geneSymbol
6689
6708
  if (exprData.geneIds.indexOf(geneId)===-1)
6690
- promises.push( promiseGene(geneId, geneExprOnProgress, exprData.metaData.arr, exprData.metaData.valCounts.length ));
6709
+ promises.push( promiseGeneSplitByMeta(geneId, geneExprOnProgress, exprData.metaData.arr, exprData.metaData.valCounts.length ));
6691
6710
  else
6692
6711
  alert("This gene is already on the plot");
6693
6712
  }
@@ -6738,7 +6757,7 @@ var cellbrowser = function() {
6738
6757
  function buildGeneExprPlotsAddGenes(geneIds, metaName, plotType) {
6739
6758
  /* build the plots for the gene expression viewer */
6740
6759
  // get meta field from function call or dropdown
6741
- if (metaName==null) {
6760
+ if (metaName===null) {
6742
6761
  let metaIdx = document.getElementById("tpGeneExprMetaCombo").value.split("_")[1]; // e.g. tpMetaVal_1
6743
6762
  metaName = db.conf.metaFields[metaIdx].name;
6744
6763
  } else {
@@ -6746,18 +6765,14 @@ var cellbrowser = function() {
6746
6765
  chosenSetValue("tpGeneExprMetaCombo", "tpMetaVal_"+metaIdx);
6747
6766
  }
6748
6767
 
6749
- //if (geneIds===null) {
6750
- //geneIds = getById("tpGeneExprGeneCombo").value;
6751
- //} //else {
6752
- // geneIds = geneIds[0].split("+");
6753
- //}
6754
-
6755
- //let geneIdStr = geneIds.join("|");
6768
+ if (geneIds===null) {
6769
+ geneIds = exprData.geneIds;
6770
+ exprData = null;
6771
+ }
6756
6772
 
6757
6773
  if (geneIds.length>0)
6758
6774
  selectizeSetValue("tpGeneExprGeneCombo", geneIds[0].split("|")[0]);
6759
6775
 
6760
-
6761
6776
  function buildProgressBar(domId) {
6762
6777
  var progressDiv = $( "#"+domId );
6763
6778
  var progressLabel = progressDiv.children().first();
@@ -6805,7 +6820,7 @@ var cellbrowser = function() {
6805
6820
 
6806
6821
  });
6807
6822
 
6808
- //Promise.all([promiseGene(geneId, geneExprOnProgress), promiseMeta(metaName, geneExprOnProgress)]).then( function(resArr) {
6823
+ //Promise.all([promiseGeneSplitByMeta(geneId, geneExprOnProgress), promiseMeta(metaName, geneExprOnProgress)]).then( function(resArr) {
6809
6824
  // //console.log("promises are all loaded", resArr);
6810
6825
  // $( '#progressBarMeta').progressbar( "value", 100); // make sure that the progress bars show "complete"
6811
6826
  // $( '#progressBarExpr').progressbar( "value", 100);
@@ -7897,6 +7912,15 @@ var cellbrowser = function() {
7897
7912
  renderer.setLabels(newRendLabels);
7898
7913
  }
7899
7914
 
7915
+ function onLegendHover(ev) {
7916
+ /* mouse hovers over legend */
7917
+ var legendId = parseInt(ev.target.id.split("_")[1]);
7918
+ var colorIndex = gLegend.rows[legendId].intKey;
7919
+ var legendLabel = ev.target.innerText;
7920
+ //$("#tpLegendCheckbox_" + colorIndex).click();
7921
+ onClusterNameHover(legendLabel, legendId, ev);
7922
+ }
7923
+
7900
7924
  function onLegendLabelClick(ev) {
7901
7925
  /* called when user clicks on legend entry. */
7902
7926
 
@@ -8297,6 +8321,7 @@ var cellbrowser = function() {
8297
8321
  $("#tpLegendNotNull").click( function() { legendSetCheckboxes("notNull"); } );
8298
8322
 
8299
8323
  $('.tpLegendLabel').click( onLegendLabelClick ); // clicking the legend should have the same effect as clicking the checkbox
8324
+ $('.tpLegendLabel').on("mouseover", onLegendHover ); // hovering over the legend should have the same effect hovering over the label
8300
8325
  //$('.tpLegendLabel').attr( "title", "Click to select samples with this value. Shift click to select multiple values.");
8301
8326
  activateTooltip(".tpLegendLabel");
8302
8327
  activateTooltip(".tpLegendCount");
@@ -8738,7 +8763,7 @@ function onClusterNameHover(clusterName, nameIdx, ev) {
8738
8763
  showTooltip(ev.clientX+15, ev.clientY, labelLines.join("<br>"));
8739
8764
 
8740
8765
  // XX currently, switch off fattening if there is a difference between label/color fields
8741
- if (db.conf.activeLabelField==db.conf.activeColorField) {
8766
+ if (db.conf.activeLabelField==db.conf.activeColorField && gLegend.type!=="expr") {
8742
8767
  var valIdx = findMetaValIndex(metaInfo, clusterName);
8743
8768
  drawAndFattenCluster(clusterName, valIdx);
8744
8769
  }
@@ -1270,7 +1270,7 @@ function MaxPlot(div, top, left, width, height, args) {
1270
1270
  //return count;
1271
1271
  //}
1272
1272
 
1273
- function blitAll(ctx, off, pxCoords, coordColors, tileWidth, tileHeight, radius, selCells, greyIdx, fatIdx) {
1273
+ function blitAll(ctx, off, pxCoords, coordColors, tileWidth, tileHeight, radius, selCells, greyIdx, fatIdx, colors) {
1274
1274
  /* blit the circles onto the main canvas, using all colors */
1275
1275
  var count = 0;
1276
1276
  var hasSelection = false;
@@ -1299,6 +1299,11 @@ function MaxPlot(div, top, left, width, height, args) {
1299
1299
  }
1300
1300
 
1301
1301
  if (fatIdx!==null) {
1302
+ // do not fatten
1303
+ //radius = radius * 2;
1304
+ //let templates = makeCircleTemplates(radius, tileWidth, tileHeight, colors, fatIdx);
1305
+ //let off = templates.off;
1306
+
1302
1307
  for (let i = 0; i < pxCoords.length/2; i++) {
1303
1308
  col = coordColors[i];
1304
1309
  if (fatIdx!==col)
@@ -1355,7 +1360,7 @@ function MaxPlot(div, top, left, width, height, args) {
1355
1360
  coordColors = copyColorsOnly(origCoordColors, fatIdx, templates.nonFatImgIdx);
1356
1361
  }
1357
1362
 
1358
- count = blitAll(ctx, off, pxCoords, coordColors, tileWidth, tileHeight, radius, selCells, templates.greyImgIdx, fatIdx);
1363
+ count = blitAll(ctx, off, pxCoords, coordColors, tileWidth, tileHeight, radius, selCells, templates.greyImgIdx, fatIdx, colors);
1359
1364
  if (origCoordColors)
1360
1365
  coordColors = origCoordColors;
1361
1366
 
@@ -1501,17 +1506,22 @@ function MaxPlot(div, top, left, width, height, args) {
1501
1506
  var valIdx = coordColors[i];
1502
1507
 
1503
1508
  if (fatIdx!==null) {
1504
- // fattening mode: fat cluster is black, all the rest is grey
1509
+ // fattening mode: fat cluster is black, all the rest is blue
1505
1510
  let grey;
1506
- if (valIdx!==fatIdx)
1511
+ if (valIdx!==fatIdx) {
1507
1512
  grey = 0xDD;
1508
- else
1509
- grey = 0;
1510
-
1511
- cData[p] = grey;
1512
- cData[p+1] = grey;
1513
- cData[p+2] = grey;
1513
+ cData[p] = grey;
1514
+ cData[p+1] = grey;
1515
+ cData[p+2] = grey;
1516
+ }
1517
+ else {
1518
+ // stop all transparency, just overdraw fat blue here
1519
+ cData[p] = 0;
1520
+ cData[p+1] = 0;
1521
+ cData[p+2] = 255;
1522
+ }
1514
1523
  cData[p+3] = 255; // no transparency... ever?
1524
+
1515
1525
  } else {
1516
1526
  // normal colors
1517
1527
  var oldR = cData[p];
@@ -5895,7 +5895,7 @@ def cbBuildCli():
5895
5895
  filtConf.append(cf)
5896
5896
  confFnames = filtConf
5897
5897
 
5898
- logging.debug("recursive config filenames without anything that contains old/tmp/temp/not-used/marker-recalc: %s" % confFnames)
5898
+ logging.debug("recursive config filenames without anything that contains old/tmp/temp/not-used/orig/ignore/skip/marker-recalc: %s" % confFnames)
5899
5899
  for cf in confFnames:
5900
5900
  logging.info("Recursive mode: processing %s" % cf)
5901
5901
  build(cf, outDir, redo=options.redo)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cellbrowser
3
- Version: 1.2.10
3
+ Version: 1.2.12
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