* Add user-generated annotations tests to the server
Partially completes https://github.com/chanzuckerberg/cellxgene/issues/969
* Auto-format python code
* @skip_if: passing lambdas > than property strings
* Respond to feedback from @bkmartinjr
This PR contains a refactoring to make adding new features easier.
The new features include supporting the tiledb format, and the multi dataset application.
The refactoring includes
Simplifying the directory structure and files.
a class structure to handle annotations (currently one type: AnnotationsLocalFile).
a class to handle application configuration
a class structure to handle matrix data (currently AnndataAdaptor and CxgAdaptor). CxgAdaptor uses tiledb.
Algorithms that were previously dependent on the scanpy anndata object are now generalized to work with an abstract interface.
The multi dataset option is not fully supported yet, and so the option to use it is hidden.
Use "cli launch --dataroot ..."
To access this feature.
All combinations of app single dataset/ app multi dataset and AnndataAdaptor/CxgAdaptor work with all the features, such as annotations, ontologies, diffexp.
* Add smoke test for annotations features
* Do not save during annotations tests
* Fix botched rebase in dev guidelines
* Revert "Do not save during annotations tests"
This reverts commit f0bd970bb2.
* Respond to feedback from @bkmartinjr
lots of updates to the readme to: improve scientific and technical clarity, reflect all recent changes to the CLI (especially the addition of prepare), reflect all recent changes to our installation, improve explanation of how to handle a few different kinds of data, and expand instructions on contributing and developing
* 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