mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-10-03 01:08:12 +08:00
server refactor (#1140)
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.
This commit is contained in:
@@ -34,24 +34,24 @@ build-client:
|
||||
build-cli: build-client
|
||||
git ls-files server/ | cpio -pdm $(BUILDDIR)
|
||||
cp -r client/build/ $(CLIENTBUILD)
|
||||
mkdir -p $(SERVERBUILD)/app/web/static/img
|
||||
mkdir -p $(SERVERBUILD)/app/web/templates/
|
||||
cp $(CLIENTBUILD)/index.html $(SERVERBUILD)/app/web/templates/
|
||||
cp -r $(CLIENTBUILD)/static $(SERVERBUILD)/app/web/
|
||||
cp $(CLIENTBUILD)/favicon.png $(SERVERBUILD)/app/web/static/img
|
||||
cp $(CLIENTBUILD)/service-worker.js $(SERVERBUILD)/app/web/static/js/
|
||||
mkdir -p $(SERVERBUILD)/common/web/static/img
|
||||
mkdir -p $(SERVERBUILD)/common/web/templates/
|
||||
cp $(CLIENTBUILD)/index.html $(SERVERBUILD)/common/web/templates/
|
||||
cp -r $(CLIENTBUILD)/static $(SERVERBUILD)/common/web/
|
||||
cp $(CLIENTBUILD)/favicon.png $(SERVERBUILD)/common/web/static/img
|
||||
cp $(CLIENTBUILD)/service-worker.js $(SERVERBUILD)/common/web/static/js/
|
||||
cp MANIFEST.in README.md setup.cfg setup.py $(BUILDDIR)
|
||||
|
||||
# If you are actively developing in the server folder use this, dirties the source tree
|
||||
.PHONY: build-for-server-dev
|
||||
build-for-server-dev: clean-server build-client
|
||||
mkdir -p server/app/web/static/img
|
||||
mkdir -p server/app/web/static/js
|
||||
mkdir -p server/app/web/templates/
|
||||
cp client/build/index.html server/app/web/templates/
|
||||
cp -r client/build/static server/app/web/
|
||||
cp client/build/favicon.png server/app/web/static/img
|
||||
cp client/build/service-worker.js server/app/web/static/js/
|
||||
mkdir -p server/common/web/static/img
|
||||
mkdir -p server/common/web/static/js
|
||||
mkdir -p server/common/web/templates/
|
||||
cp client/build/index.html server/common/web/templates/
|
||||
cp -r client/build/static server/common/web/
|
||||
cp client/build/favicon.png server/common/web/static/img
|
||||
cp client/build/service-worker.js server/common/web/static/js/
|
||||
|
||||
|
||||
# TESTING
|
||||
@@ -137,10 +137,6 @@ dev-env-client:
|
||||
dev-env-server:
|
||||
pip install -r server/requirements-dev.txt
|
||||
|
||||
.PHONY: gui-env
|
||||
gui-env: dev-env
|
||||
pip install -r server/requirements-gui.txt
|
||||
|
||||
# give PART=[major, minor, part] as param to make bump
|
||||
.PHONY: bump
|
||||
bump:
|
||||
@@ -195,30 +191,3 @@ install-dist: uninstall
|
||||
uninstall:
|
||||
pip uninstall -y cellxgene || :
|
||||
|
||||
|
||||
# GUI
|
||||
|
||||
.PHONY: build-assets
|
||||
build-assets:
|
||||
pyside2-rcc server/gui/cellxgene.qrc -o server/gui/cellxgene_rc.py
|
||||
|
||||
.PHONY: gui-spec-osx
|
||||
gui-spec-osx: clean-lite gui-env
|
||||
pip install -e .[gui]
|
||||
pyi-makespec -D -w --additional-hooks-dir server/gui/ -n cellxgene --add-binary='/System/Library/Frameworks/Tk.framework/Tk':'tk' --add-binary='/System/Library/Frameworks/Tcl.framework/Tcl':'tcl' --add-data server/app/web/templates/:server/app/web/templates/ --add-data server/app/web/static/:server/app/web/static/ --icon server/gui/images/cxg_icons.icns server/gui/main.py
|
||||
mv cellxgene.spec cellxgene-osx.spec
|
||||
|
||||
.PHONY: gui-spec-windows
|
||||
gui-spec-windows: clean-lite dev-env
|
||||
pip install -e .[gui]
|
||||
pyi-makespec -D -w --additional-hooks-dir server/gui/ -n cellxgene --add-data server/app/web/templates;server/app/web/templates --add-data server/app/web/static;server/app/web/static --icon server/gui/images/icon.ico server/gui/main.py
|
||||
mv cellxgene.spec cellxgene-windows.spec
|
||||
|
||||
.PHONY: gui-build-osx
|
||||
gui-build-osx: clean-lite
|
||||
pyinstaller --clean cellxgene-osx.spec
|
||||
|
||||
.PHONY: gui-build-windows
|
||||
gui-build-windows: clean-lite
|
||||
pyinstaller --clean cellxgene-windows.spec
|
||||
|
||||
|
||||
Reference in New Issue
Block a user