426 Commits

Author SHA1 Message Date
atarashansky
74fbec35fe chore: Release version 1.2.0 (#2652)
* Bump version: 1.1.2 → 1.2.0-rc.0

* Bump version: 1.2.0-rc.0 → 1.2.0
2023-12-19 14:13:08 -08:00
atarashansky
5d4c782f3a chore: lower pinned requirements for backend server (#2651)
* chore: lower pinned requirements for backend server

* update one requirement
2023-12-19 13:39:47 -08:00
atarashansky
6505f6cbf5 chore: upgrade backend dependencies (#2641)
chore: upgrade backend dependencies (#2641)
2023-11-29 14:16:39 -08:00
Severiano Badajoz
4bb9a2b834 chore: update dependencies (#2636)
* chore: update dependencies

* fix babel plugins and lint errors

* switch out obselete browser plugin

* add babel config for jest

* revert some babel/jest package bumps

* npm install

* tmp remove werkzeug pin

---------

Co-authored-by: Seve Badajoz <severiano.badajoz@chanzuckerberg.com>
2023-10-20 21:08:09 -04:00
atarashansky
ffcf6eb5d8 chore: Release version 1.1.2 (#2611)
* Bump version: 1.1.1 → 1.1.2-rc.0

* fix: release candidate 1.1.2

* Bump version: 1.1.2-rc.0 → 1.1.2

* promote

---------

Co-authored-by: atarashansky <atarashansky@CZIMACOS3990.hsd1.ma.comcast.net>
2023-04-26 15:01:57 -04:00
atarashansky
c209a9bca7 fix: pin flask requirement to be less than 2.3 (#2609)
Co-authored-by: atarashansky <atarashansky@CZIMACOS3990.hsd1.ma.comcast.net>
2023-04-26 13:58:40 -04:00
Andrew Tolopko
f48d06fb90 Bump version: 1.1.0 → 1.1.1 (#2572) 2022-09-21 15:33:28 -04:00
Andrew Tolopko
ddb601c103 feat: annotate command improvements (#2568)
* Replace --input-h5ad-file with a positional argument, for consistency with other CLI commands
* Replace --update-h5ad-file with --overwrite, for consistency with `prepare` command.
* Fix/clarify various help descriptions
* Fix final output message when input file is overwritten
* Fix annotate top-level help description
2022-09-15 11:55:58 -04:00
atarashansky
ff5da77372 fix unit tests (#2562)
Co-authored-by: atarashansky <atarashansky@CZIMACOS3990.local>
2022-08-25 08:02:58 -07:00
Andrew Tolopko
a9044b01df release version 1.1.0 (#2548)
* Bump version: 1.0.1 → 1.1.0-rc.0

* bump version to v1.1.0

* Bump version: 1.1.0-rc.0 → 1.1.0-rc.1

* bump version to v1.1.0 rc1

rc0 was previously used by an aborted release attempt

* Bump version: 1.1.0-rc.1 → 1.1.0

Co-authored-by: Seve Badajoz <severiano.badajoz@chanzuckerberg.com>
Co-authored-by: Severiano Badajoz <sbadajoz@chanzuckerberg.com>
2022-08-23 10:02:23 -07:00
Andrew Tolopko
30e19e47c6 feat: add cli annotation subcommand (#2539)
add `cellxgene annotate` subcommand for invoking MLflow model to generate new `obs` annotations, initially intended for cell type annotations.
2022-07-29 05:15:54 -07:00
Emanuele Bezzi
d2b20129f7 use fsspec.download for S3 artifacts + additional logging (#2536) 2022-07-29 11:05:36 +00:00
Andrew Tolopko
4df50a7677 fix: s3 user annotations (#2541)
do _not_ attempt to create the user annotations directory if an s3 location is specified
2022-07-28 20:00:15 +00:00
Madison Dunitz
f2bd6ebce1 remove unnecessary postgres req (#2524) 2022-05-27 12:15:17 -07:00
Bruce Martin
de44739f8b add fsspec support to gene set and cell annotations (#2512) 2022-04-20 18:18:47 -07:00
Severiano Badajoz
002c9a5c7f release version 1.0.1 (#2497)
* Bump version: 1.0.0 → 1.0.1-rc.0

* Bump version: 1.0.1-rc.0 → 1.0.1
2022-02-28 15:18:21 -08:00
Ben MR
8bac98f25c Fix float16 support [#2379] (#2483)
* Fix float16 support [#2379]

Convert to float32 on startup unless backed, in which case error. scipy does not support complex slicing from float16 data so this is the easiest fix for now.

* minor msg change
2022-02-10 15:20:47 -08:00
Severiano Badajoz
853976b716 release version 1.0.0 (#2466)
* Bump version: 0.19.0 → 1.0.0-rc.0

* Bump version: 1.0.0-rc.0 → 1.0.0
2021-11-02 14:53:26 -07:00
Emanuele Bezzi
15d2ce62b8 Migrate to the new documentation website (#2456) 2021-10-14 20:54:54 +00:00
Ben MR
f4986c9c7d Release version 0.19.0 (#2444)
* Bump version: 0.18.0 → 0.19.0-rc.0

* release can 0.19.0

* Bump version: 0.19.0-rc.0 → 0.19.0-rc.1

* bump rc

* Bump version: 0.19.0-rc.1 → 0.19.0

* release final
2021-09-28 11:10:24 -07:00
Andrew Tolopko
c0263f6ce5 #2410 update compatibility test matrix (#2431)
Github Actions Workflow updates compatibility matrix:
- Added MacOS Catalina and Big Sur to test compat matrix
- Added Python 3.9 to test compat matrix, but avoid running 3.9 for matrix jobs that do not have `tables` pypi build available for the given env
- Maintains running tests on both cellxgene main branch and latest pypi release.
- Add explicit matrix exclusions for matrix combinations that will never pass (see comments).
- Numerous refactorings to the workflow config to simplify matrix. Basically a rewrite.
- The anndata pkg is now tested at a pinned release and at latest release, but no longer using `master` branch version. To limit cross-product explosion of matrix jobs, the pinned anndata version is only tested on py3.8 and cellxgene latest release.
- Run unit and smoke tests in a single job, to improve speed, reduce workflow complexity and the number of jobs. Also fixes the redundant testing of unit tests. Within each job, the unit and smoke tests are run in separate steps for ease of troubleshooting. 
- Fixed termination of backend server to allow both smoke tests to run within a single job (both attempt to use 5005 port, sequentially, but first server was not being terminated).
- Replaced `continue-on-error: true` with `fail-fast: false`, which allows all matrix jobs to run independently, while also ensuring the that entire workflow is flagged as failed if any matrix job fails
-  The `smoke-test-annotations` fail intermittently and have been disabled. Fix will be addressed in story: https://app.zenhub.com/workspaces/single-cell-5e2a191dad828d52cc78b028/issues/chanzuckerberg/cellxgene/2433
2021-09-21 08:32:19 -04:00
Madison Dunitz
3ebbb0ccbf move common code into server, update tests and makefile (#2425)
* move common code into server, update tests and makefile

remove backend directory, refactor

update smoke tests
2021-09-20 18:50:06 -07:00
Madison Dunitz
78c9d24ed4 Refactor czi_hosted and server into backend directory, pull common code into backend/common, refactor tests (#2102)
* move local_server -> backend/server server-> backend/czi_hosted, pull common code into backend/common update imports, tests and make commands
2021-03-26 00:27:07 -05:00
Madison Dunitz
920d71e6b7 pin numba req (#2110)
* pin numba req

* make req more flexible
2021-03-16 11:45:27 -05:00
maniarathi
b3aadf6632 Release version 0.16.7 (#2081) 2021-02-27 22:10:53 -08:00
maniarathi
09466a5c32 fix: server/requirements-dev.txt to reduce vulnerabilities (#2055)
The following vulnerabilities are fixed by pinning transitive dependencies:
- https://snyk.io/vuln/SNYK-PYTHON-RSA-1038401

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: Madison Dunitz <madison.dunitz@chanzuckerberg.com>
2021-02-25 12:24:06 -08:00
Marcus Kinsella
fb61bd6e9c Split out the local backend (#2052)
This splits the backend into two parts: the local backend for desktop cellxgene and the AWS backend for hosted cellxgene. The local backend is in local_server while the hosted remains in server. The general idea is to copy everything from server to local_server, pull unneeded stuff out of local_server, and keep server as-is for this PR. Not touching server means all the infra and deployment code will continue working just as it did before so we can make those changes incrementally.
2021-02-18 12:58:22 -08:00
Bruce Martin
e6281baa39 improve error message for OBO parse failure (#2053) 2021-02-05 12:19:40 -08:00
Marcus Kinsella
3c0b1d45db Fix deprecated np.unicode type (#2035)
Until numpy version 1.20.0, numpy.unicode was an alias for str in python3. In 1.20.0, it's fully deprecated and is an int. This is bad and breaks things. This commit drops the np.unicode alias and just uses str, as is advised here:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
2021-02-03 09:22:27 -08:00
bmccandless
90a4ff7526 allow cellxgene datasets urls to have a trailing slash or not. (#2028)
#550
2021-01-20 15:19:13 -08:00
bmccandless
d5ad823895 simple solution to the locust test problem (#2026)
In this solution, all the server requirements are installed.
This is a slightly overkill, but it avoid having to restructure
any of the server or test code to avoid unnecessary imports.

 #2019
2021-01-20 08:56:54 -08:00
bmccandless
0e48b335be update umap version (#2021)
There is an interface change in 0.5.0 which is not compatible with our
version of scanpy.
2021-01-13 13:01:46 -08:00
bmccandless
7599af252d Update compatibility test (#2009)
Add comment in requirements about h5py and anndata.

  #1963
2020-12-21 14:38:07 -06:00
Marcus Kinsella
46d02b1987 Handle schema v1.1.0 (#2002)
Correctly display datasets that follow schema version 1.1.0
2020-12-14 15:20:29 -08:00
Isaiah Norton
9be086b1e8 Use sparse=True for from_pandas (#1994) 2020-12-02 13:39:19 -08:00
maniarathi
9a34264f92 Pin tiledb version to exclude 0.7.2 (#1993) 2020-11-30 11:54:33 -05:00
maniarathi
66e55ba59a Replace outdated locustio package with locust package. (#1992) 2020-11-30 10:11:57 -05:00
maniarathi
ae310097dd Fix typo (#1990) 2020-11-24 12:23:21 -05:00
maniarathi
ea70a35a01 Fixing locust scale tests for cellxgene loading apis and adding a Github Actions workflow to run the tests every Sunday. (#1988) 2020-11-24 09:08:57 -08:00
maniarathi
16718f392f Sorry! Undo-ing commit to main 2020-11-24 10:22:24 -05:00
maniarathi
ad6b1928e4 Upgrade anndata and h5py 2020-11-24 10:21:24 -05:00
bmccandless
2cc02a84cb Convert float annotations if possible. (#1987)
* Convert float annotations if possible.

The client converts all arrays to floats.
If a category contains integer labels, and that category is copied, it will contains floats (e.g 1.0 instead of 1).
When that category is put back to the server, it fails in the tiledb code, which does not accept floats.
The solution is to convert a float category to integer, if possible.

  #1984

* updates
2020-11-20 17:01:53 -06:00
Marcus Kinsella
f77038ad58 Permit other keys in the cxguser cookie (#1982) 2020-11-18 17:58:33 -08:00
Timmy Huang
2cf55ab819 thuang-compress-annotation (#1980)
* thuang-compress-annotation

* compress test

* use zlib.decompress directly
2020-11-17 14:05:07 -08:00
bmccandless
095db02439 Remove deprecated health endpoint (#1943)
NOTE:  do not push to main until the new path has been terraformed into all the environments.

 #1846
2020-11-13 10:49:11 -08:00
bmccandless
23714bc9f8 Fix bug that occurs when all categories are removed. (#1974)
Previously if the user remove all annotations, the code would still generate a tiledb uri
in the write_labels call, and add that to the database.  A tiledb array would not be written in this case.
When the read_labels was then called, it would find the entry in the database, attempt to open
the tiledb array, then fail.

The patch here will set the tiledb_uri to the empty string if all categories are removed.
When read_labels is called, it will see the empty uri and return None.
Furthermore, if the database does have a tiledb_uri that does not exist, or cannot be read,
then the code will now log a warning, and return None (instead of throwing an exception,
which results in a server error).

 #1932
2020-11-06 18:04:14 -08:00
Marcus Kinsella
e892e64685 Convert HGNC ids to their symbol (#1972)
There are entries in some var indexes like HGNC:18790. We'd like to convert that to its symbol, NSG1.
2020-11-06 09:27:49 -08:00
Marcus Kinsella
78176f9711 Add schema subcommand (#1939)
Add the `cellxgene schema apply` and `cellxgene schema validate` subcommands.

The first takes an h5ad file and a yaml with config information and produces a new h5ad that follows the cellxgene data integration schema.

The second takes an h5ad and checks if it follows the schema version written into its metadata.

Both are currently marked as "experimental" as the primary intended users are still at CZI.
2020-11-02 08:26:37 -08:00
bmccandless
b9e132a00c Updates due dependency version changes. (#1960)
* Updates due dependency version changes.

h5py recently changes and now values once returned as str are now returned as bytes.
This would have caused a much larger change, so instead the version is restricted to <3.0.0.

This caused the bulk of the testing failues.
A few other changes were needed to make a few other tests pass.

 #1959
2020-11-01 12:36:38 -08:00
Madison Dunitz
3b6c46ba86 Fix dependency issues in compatibility tests (#1951)
* update reqs

* pin scanpy

* merge in fix for race conditions
2020-10-30 10:47:12 -05:00