Bruce Martin
b284e6f820
Improve CLI help ( #1025 )
...
* launch option changes
* more CLI help improvements
* change plot help
* additional changes requested
* change metavars for options and subcommand
2019-11-14 13:02:40 -08:00
Bruce Martin
5ea9ac8a9e
Add provenance header to labels CSV file ( #1041 )
...
* add last mod time lookup to data locator
* store data locator in Driver
* save metadata header in labels csv
* lint
* fix tests
* change datetime format to second precision
2019-11-14 12:33:48 -08:00
Bruce Martin
238b7420f7
update deprecated Pandas API ( #1021 )
...
* update use of deprecated API
* update pandas depencency
2019-11-08 09:49:52 -08:00
Bruce Martin
823d819eee
allow user to save an empty label dataframe ( #1012 )
2019-11-04 14:14:49 -08:00
Bruce Martin
e581dec8f5
release 0.12.0 ( #981 )
2019-10-08 12:34:21 -07:00
Bruce Martin
711f3b7048
Add support for anndata backed mode ( #943 )
...
* initial cut at backed mode
* make flask multithreading conditional on debug flag
* update X access to support backed mode
* lint
* improve help message for backed mode
* fix tests
* add MatrixProxy to normalize supported matrix types
* add FAQ entry for --backed
* remove use of matrix.T
* clean up
* add ability to disable diffexp from CLI; add hueristic to detect likely slow diffexp calculation, and warn user
* fix tests
* do not print diffexp speed warning if diffexp is disabled
* tweak wording of diffexp speed messages
* add FAQ entry on --disable-diffexp
* revise heuristic for warning about slow diffexp
* use quick tooltip delay on diffexp button
2019-10-08 11:16:07 -07:00
Severiano Badajoz
44cb276cdf
Add configurable about this dataset links ( #907 )
...
* add about arg
* add simple url validator
* attach about link to config api
* add links to configDefaults
* add conditional link in top left and menu item
* whitespace
* change to lower case
* move --about arg before click.command()
if this fixes it I have no idea why
* change link>URL
* be more descriptive about URL
* Make error more explicit
* refactor attach_data to accept about
* format
* change icon
* add trailing parenthesis
* whitespace
2019-09-25 19:23:49 -07:00
Bruce Martin
3d15db7c5e
parameterize pbmc3k scanpy engine test ( #939 )
2019-09-20 17:41:32 -07:00
Bruce Martin
109c9e70ec
Add obs index to label file ( #928 )
...
* remove debug logging
* load and save obs/row index in label file
* lint
* update tests
2019-09-19 09:16:01 -07:00
Bruce Martin
3660a6cc27
Experimental - manual annotations ( #837 )
...
* icons, partway
* redux for values
* onChange
* cancel
* annotations lifecycle for category names
* copy categorical
* edit category
* add Dataframe.withColsFrom
* render user annotations; default add/delete annotation category
* add label name to actions
* category name edit
* error checking improvements
* change schema field isUserAnnotation to writable
* always have an unassigned label; implement delete label
* implement add new label and edit label name
* label current cell selection
* fix select exact bug in crossfilter
* clean up categorical reducer
* fix tests
* remove debugging printf
* implement subset/reset for user annotations
* undo redo support for user annotations
* remove duplicate button from categories
* add modal
* remove obsolete duplicate annotation reducers
* remove old debugging printf
* connect modal to annotation create and dup
* initial full-stack wiring
* finish up end-to-end wiring
* fix existing unit tests
* fix pytests to match new schema API
* remove debugging printfs
* add label file rotation
* remove obsolete comment
* add fbs encode/decode tests
* add tests for writable annotations
* simplify code
* fix hashing bug with FBS encoding
* lint
* fix smoke tests
* improve error checking in Dataframe.withColsFrom
* add unit test for Dataframe.withColsFrom
* add unit test for Dataframe.columns and Dataframe.renameCol
* fix bug in FBS encode, add better error checks, refactor
* add FBS encode/decode test
* add clarifying comment
* clean up action type names; fix state inconsistency in crossfilter update
* change autosave timer to 2.5sec
* sort categorical metadata render order so it remains consistent
* add temporary autogenerated label for add-new-label operation
* fix hover-over label menu interference with cell highlighting
* remove debugging code
* add missing reducer cases & fix typo
* make dataframe memoize more general purpose
* add dev mode for annos
* fix error on select duplicate
* handle zero occupancy categories
* correctly maintain unclipped AND clipped world
* correctly handle zero length FBS matrix and label files
* ensure all writable categorical schema contains an unassigned category
* handle case where building occupancy stack for category with no members
* dialog for creating label, disable button if duplicate or empty
* visually separate writeable
* edit category
* fix edit category name
* remove debugging code
* fix edit annotation label
* visually define unassigned, change options
* Pull in requirements.txt from `master`
* label currently selected cells
* duplicate label
* lint
* fix pytest merge issues
* rename --label-file to --experimental-label-file
* remove debugging console log
* spelling error fix; fix bug found in PR review.
* lint
2019-09-18 07:33:41 -04:00
Bruce Martin
922c375333
Rename "layout" to "embedding" in the UI ( #921 )
...
* rename "layout" to "embedding" in the UI
* docs changes for layout
* fix typo in data docs
* new help text, per PR review
2019-09-16 15:34:14 -07:00
Bruce Martin
20317fd08f
Add URL data locators to launch sub-command ( #920 )
...
* initial commit of URL support for launch
* lint
* modify tests to use new data locator
* add locator unit tests
* fix typo in faq
* more lint
* update faq per PR review
2019-09-15 09:01:53 -07:00
Bruce Martin
84c815cc04
pin h5py to 2.9.0 to temporarily work around regression ( #916 )
2019-09-11 13:20:15 -07:00
Charlotte Weaver
77de22d1ed
merge louvain and prepare extra requires ( #897 )
2019-08-29 12:49:19 -07:00
Charlotte Weaver
28c4d28308
extract prepare from main install ( #887 )
...
* extract prepare from main install
* add requirements-prepare to manifest
2019-08-21 14:26:01 -07:00
Charlotte Weaver
b8c05763fe
sparse tests ( #894 )
2019-08-21 14:09:36 -07:00
Charlotte Weaver
613f1a911f
pin matplotlib dependency ( #885 )
...
reordering packages does not work from dist install
2019-08-14 14:21:07 -07:00
Charlotte Weaver
79a503e436
fix bad matplotlib library by installing scanpy first ( #881 )
2019-08-12 16:42:26 -07:00
Colin Megill
d16a69e158
bump version to 0.11.0 ( #850 )
...
* bump version to 0.11.0
* manually fix version number
2019-07-16 14:27:41 -04:00
Charlotte Weaver
3d98797d8c
Installer ( #840 )
2019-07-12 12:29:22 -07:00
Charlotte Weaver
722a91f1d2
remove options widget + launch on file selection ( #839 )
...
* remove options widget + launch on file selection
* extend drop area width
2019-07-09 10:46:13 -07:00
Charlotte Weaver
8afb22a017
GUI UI Elements ( #816 )
2019-06-27 17:30:57 -07:00
Charlotte Weaver
5effe4bbbb
removed --diffexp cli param ( #826 )
2019-06-26 14:46:58 -07:00
Charlotte Weaver
d5deb1579f
[EASY] fix max-category-items ( #813 )
...
* fix max-category-items
* match default for max category items
fe had 1000, be had 100
2019-06-13 15:45:43 -07:00
Charlotte Weaver
afeddad343
windows fixes ( #767 )
2019-06-11 11:41:27 -07:00
Charlotte Weaver
0f17b84dc1
Add reload back in ( #808 )
2019-06-06 13:49:15 -07:00
Charlotte Weaver
3edb87d125
gui multiprocess - experimental feature ( #780 )
2019-06-06 10:52:05 -07:00
Bruce Martin
ca9a6796d8
release 0.10.1 ( #797 )
2019-05-30 13:44:42 -07:00
Bruce Martin
a6142bdf93
improve graph scale and centering ( #796 )
...
* add gutter to embedding canvas
* improve layout scale and translate
* fix lint
* pin tables to version 3.5.1
* fix lasso coordinate smoke tests
2019-05-30 13:31:41 -07:00
Bruce Martin
c6252825f3
release 0.10.0 ( #794 )
2019-05-29 16:55:43 -07:00
Bruce Martin
4b96b3a635
fix incompatibility of flask reload and port searching ( #793 )
...
* WIP
* add --developer; fix incompatibility of --port and --debug
* put REST tests on separate ports
* PR review
2019-05-29 16:38:57 -07:00
Bruce Martin
3dc45d6330
do not hard-wire column names in annotations ( #785 )
...
* 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
2019-05-24 21:00:54 -07:00
Bruce Martin
a8c2e408d1
update to latest anndata and remove restriction on scipy ( #790 )
2019-05-24 11:23:35 -07:00
Bruce Martin
2357d0c1b8
layout change UI ( #776 )
...
* add layout to schema
* add layout choice action and reducer
* multi layout UI
* update unit tests
* add missing file
* update test schema
* fix duplicate test id
* fix tabs
* PR lint
* fix pytest
2019-05-22 13:21:33 -07:00
Charlotte Weaver
ab4c74a321
remove psutil ( #773 )
2019-05-18 10:53:45 -07:00
Charlotte Weaver
e2ad28a510
exclude recent scipy versions ( #770 )
2019-05-17 15:13:22 -07:00
Bruce Martin
efa1709158
add multi-layout support to back-end ( #766 )
...
* add multi-layout support to back-end
* remove obsolete code
* temporary code to apply heuristic choice of default layout
* fix tests
* update python tests
* more py lint
* PR review changes
* more PR lint
* PR lint
2019-05-16 14:49:22 -07:00
Charlotte Weaver
d6040f687a
port retry ( #761 )
...
* WIP
* import find_available_port method
* move method to utils
so I can add to eventually add to gui
* add fixed-port flag to tests
* Update server/utils/utils.py
Co-Authored-By: Tony Tung <tonytung@merly.org >
* pr review suggestions
* pr review suggestions
* fix outdated package.json
* update error message
* simplify find_available_port function
* Auto scan for ports unless port is specified.
* fix tests
* fix comment for find_available_port
* lint error
* differentiate port error from generic os error
* add errno to OSerror
* pr review fixes
* raise e -> raise
* oserror -> socket error
2019-05-14 14:04:13 -07:00
Bruce Martin
b9a1e30652
large file size guardrails ( #763 )
...
* large file guardrails
* fix lint
* PR review
* remove unused import
* use standard slice for CSR
* revert change
2019-05-13 18:13:16 -07:00
Charlotte Weaver
8a94b1e086
fix #754 ( #755 )
2019-05-07 12:43:20 -07:00
Charlotte Weaver
c12cb2424a
release bugfix ( #749 )
...
* add __init__.py
* bump version
2019-05-06 10:16:36 -07:00
Bruce Martin
1471d6b214
release 0.9.0 ( #746 )
2019-05-04 08:41:56 -07:00
Charlotte Weaver
98b63fa9ea
Moved to python threads ( #745 )
...
So we could use daemon threads
2019-05-03 14:48:48 -07:00
Bruce Martin
b521a17ffd
improve column access speed for sparse matrices ( #742 )
...
* 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
2019-05-01 15:44:01 -07:00
Charlotte Weaver
8a72010768
PyQt5 -> PySide2 ( #738 )
2019-05-01 09:03:16 -07:00
Charlotte Weaver
9f10d8095a
GUI app (experimental) ( #730 )
...
* add default config
* first pass
* flake8
* cleanup
* first pass at using qthreads
* cleanup
* WIP
* better error handling
* improved UI
* bugfix
* fix merge bugs
* import order
* cleanup
* make gui requirements optional
* pr review requested changes
* Update server/gui/main.py
Co-Authored-By: csweaver <charlottesweaver@gmail.com >
* pr review request
* qt child class methods -> camelCase
* whitespace
2019-04-30 12:52:15 -07:00
Charlotte Weaver
ea187f48e0
add scripts from cli ( #680 )
...
* add scripts from cli
* add warning when including scripts
* flake8 fixes
* confirm scripts injection
2019-04-22 12:30:57 -07:00
Charlotte Weaver
9c6273eb94
core library ( #711 )
...
* 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
2019-04-22 12:24:07 -07:00
Charlotte Weaver
73852dd6f4
use flask's json ( #703 )
2019-04-09 12:59:09 -07:00
Sidney Bell
34e5a91dc6
Add calculate_qc_metrics to `prepare ( #697 )
...
* Calculate QC metrics
* Add QC metrics to prepare section of readme
* Add pointer to scanpy qc metrics function
* Don't explicitly pass qc flag as arg
* Add explicit toggle for run-qc/skip-qc
* Move qc metrics calculation to separate step/function
2019-04-09 08:56:07 -07:00