* enforce column name uniqueness for obs and var
* parameterize the column name containing obs and var user-readable names
* use the new annotation index value from schema
* update f/e unit tests
* PR review suggestions
* lint
* improve column access speed for sparse matrices
* add FAQ entry about data format performance
* add note about using --sparse flag for prepare command
* clean up for PR review
* Update docs/faq.md
Co-Authored-By: bkmartinjr <bruce@chanzuckerberg.com>
* improvements to big data faq
* move app creation to function
* create engine without load
* flake 8 fixes
* cleanup original scanpy test
* add default config
* handle missing data
* test data changes
* unify update
* load data isn't static anymore
* make app a class
* dead code and route removal
* more dead code cleanup
* fix scanpy_engine tests
* lint
* add missing catch in filter parsing
* update scanpy NaN tests
* more fbs tests and dead test removal
* remove forced default for content type negotiation
* bit of cleanup
* more fbs test cleanup
* lint
* remove swagger
* swagger cleanup
* lint
* correctly handle lack of templates
* more dead code removal
* remove unused files
* fix dev build
* lint
* first flatbuffer schema
* do not lint auto-generated files
* add flatbuffers package
* add flatbuffer module
* wire up /data/X/T route
* use flatbuffers for matrix data fetc
* clarity and comments
* add flatbuffer layout route
* clean up obsolete code
* fix tests
* move flake8 config to setup.cfg
* add comments
* lint
* rework layout routes for fbs
* add more type support to fbs
* lint
* add flatbuffer support for annotations
* function name improvements
* fix botched merge with master
* remove unused import
* route cleanup for flatbuffers
* rename function for clarity
* add missing globals to Jest tests
* fix client JS tests
* fix routes for Python tests
* comments for clarity
* non-finite floating point hardening
* more non-finite number handling
* lint
* fix tests for summarizeAnnotations
* harden diffexp calculation against FP errors
* cleanup unused code
* lint
* add encoding tests for flatbuffers
* application type specified as strings
* fix spelling error
* improve variable names
* add note about documentation gap
* rename FBS DataFrame to Matrix
* only load annotation var names
* remove incorrect usage of var annotation data
* temporary workaround for issue #480
* lint
* issue warnings only once per item
* add cutoff for low expression genes in topN selection
* remove debugging printfs
* change cli param name for diffexp cutoff
* change CLI param name
* second try at diffexp - using lfc sort with pval cutoff
* use lfc cutoff
* update comments to match code; cap p-value adjustment to max of 1
* lint
* explain diffexp in readme
* add link
* add diffexp-lfc-cutoff to test config
* update test to match revised diffexp spec
* fix latent bug in GET arg handling that was breaking tests
* lint
* comment cleanup
* fix variance overestimation so it is symmetric
* lint
* new diffexp REST API spec
* new diffexp REST API; faster diffexp and dataframe slicing
* first draft of fast diffexp
* convert variance calculation to two-pass method
* lint
* update front-end use of API
* fix typo in spec
* disable content compression
* catch index filter format errors
* clean up of dead code
* resolve PR review comments
* remove memoization
* update to flash 1.0.2; turn on threading
* stand-alone helper routines for array slicing
* fix issue #405
* reset diffexp state when world changes
* performance work in dimension creation; fix world slicing bug
* update tests to match new state mgmt api
* update flask
* do not make dimensions for useless annotations
* update test to match optimizations
* refactor cli to improve ux and enable easy incorporation of prepare as a subcommand
* switches to use click, which removes some boilerplate and gets us some improved ux for free
* changes the entry point for the cli
* changes the name of the browser option to --open and makes the default false
* add --obs-names and --var-names CLI params
* fix lint
* performance improvements in scanpy engine
* fix lint
* fix typo
* correctly handle sparse formats in diffexp
* fix diffexp and 1d slicing
* diffexp uses t-stat, not pval; clean up arg handling
* make _slice a static method
* revise scanpy tests to match new API
* Minor naming and phrasing changes from UX review
* category-selection-limit -> max-category-items
* Indicate load may taking a long time
* program -> command (for launch, prepare)
* debug -> verbose
* flask-debug -> debug
* Developer mode for debug
verbose on
open browser off
* move examples from epilogue to prefix
* Scanpy engine now required
Without the --engine param we need to error if scanpy engine cannot be imported rather than waiting for all engines
* CLI options and help matches proposal
(but not all options hooked up yet)
* Flesh out top level args
* Move computation args to engine
* CLI input file (#374)
* Fix test command
(tests still won't work)
* Input is file instead of directory
- also renamed example file
* Csweaver/debug (#376)
* Respect debug flag for logging flask calls
* Add loading messages
* max categories (#377)
* Add max categories
* Rename max_categories to category_selection_limit
* ensure whole numbers
* Launch browser to cellxgene
Also added --no-launch command line parameter
* Don't launch browser for tests
* rename no-launch to no-open
* Rejigger -no-open to positive destination
so later logic looks cleaner
* range encode filter range lists
* speed up data load
* add comment on scanpy read params
* update to latest scanpy/anndata
* performance improvments in data loading
* fix typo
* work around scanpy bug
* remove debugging print statements