Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cytotrace kernel #527

Merged
merged 22 commits into from
Mar 19, 2021
Merged

Cytotrace kernel #527

merged 22 commits into from
Mar 19, 2021

Conversation

michalk8
Copy link
Collaborator

@michalk8 michalk8 commented Mar 17, 2021

IMPORTANT: Please search among the Pull request before creating one.

Title

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • New feature (non-breaking change which adds functionality)

Description

How has this been tested?

No tests yet, we should take ones from 3f56472 and add some more.

Closes

closes #528

TODOs:

  • determine what should be saved in .var/.obs (I'd remove 'num_exp_genes' from saving into adata.obs)
  • determine what params to expose (I'd expose n_top_genes: int = 200 - more flexibility) + maybe add key_added: str = 'gcs' and write params to adata.uns as adata.uns[f'{key_added}_params'] = {'agg': 'mean', 'raw': True, ...}
  • determine the best way to expose/not expose cyto_trace function (currently it's in the public API, because I refer to it from CytoTRACEKernels's init; one alternative would be to make a method of the kernel class (I don't think this is such a good idea).
  • tests
  • update docstrings

@codecov
Copy link

codecov bot commented Mar 17, 2021

Codecov Report

❗ No coverage uploaded for pull request base (dev@e2c08da). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@          Coverage Diff           @@
##             dev     #527   +/-   ##
======================================
  Coverage       ?   88.49%           
======================================
  Files          ?       55           
  Lines          ?     7585           
  Branches       ?        0           
======================================
  Hits           ?     6712           
  Misses         ?      873           
  Partials       ?        0           
Flag Coverage Δ
unittests 88.49% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.


Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e2c08da...2faaa3b. Read the comment docs.

@michalk8 michalk8 changed the base branch from master to dev March 18, 2021 09:43
@Marius1311
Copy link
Collaborator

Re the ToDos:

  • Writing to AnnData: would actually leave num_exp_genes in .obs - that's really the basis for all of these computations and important for debugging, i.e. to figure out why the score may not work in a particular dataset. As to gene_corr, we can remove that one from .var, I only wrote it there because it was convenient in the further computations to have it there. To summarise, I would write cytotrace, cytotrace_pseudotime and num_exp_genes to .obs and used_for_cytotrace (the old correlates) to .var. I would collect all of these and write in one place, to add some clarity to the function. I already modified the docstring accordingly.
  • Parameters to expose: let's not confuse the user here by exposing too much, in particular, I would not expose the number of genes because the authors showed in the original study that 200 genes lead to the best performance on their vast validation set - let's not repeat that validation and let's stick to 200, without exposing. I'm fine with adding a key_added parameter though, however, that should only relate to one of the attributes we write (probably the cytotrace score itself). Also, I think writing parameters to .uns is a good idea.
  • how to expose the cytotrace function: I would strongly vote for not exposing this in our public API because it goes against our principle of being all about kernels and estimators. I would really focus everything around this design principle and stick to it quite rigorously. So I think it's okay to make this a class method.

@michalk8
Copy link
Collaborator Author

Re writing to anndata:

Ok, but I'd like to have them all prefixed by e.g. cytotrace_{,pseudotime,num_exp_genes,correlates} (or just cyto_{...} to be short) so that it's more distinguishable (and users know these belong together).
I would also write to .uns the parameters layer, raw and aggregation.

Re params to expose/how to expose:
key_added is not necessary if not exposing it through main API (only through kernel's method), with no n_top_genes I'm also fine.

@Marius1311
Copy link
Collaborator

Nice! I like the suggestion of pre-fixing all written attributes. I wouldn't just call it cyto because that just means cell, so let's either go for the full cytotrace or just ct. In the latter case, let's call the score ct_score.

Re the rest, agreed.

Re the anticipated workflow, should a user first call the cytotrace kernel method and then the compute_transition _matrix method?

@michalk8
Copy link
Collaborator Author

Re the anticipated workflow, should a user first call the cytotrace kernel method and then the compute_transition _matrix method?

Currently, the cytotrace-derived pseudotime has to be computed when instantiating the class, because it's subclassing the PT kernel (which initializes ._pseudotime on init). I would stick to this approach, unless you object.
Alt. is to do as you suggest, or call the cytotrace method when calling compute_transition_matrix, but PT kernel has a lot of params there already.

@Marius1311
Copy link
Collaborator

I moved the anticipated workflow into the class now - note that for datasets where we don't have spliced/unspliced counts, we currently need to use a hack to get scVelo's moments funciton to work because it needs them. See the workflow in the docstring.

@Marius1311
Copy link
Collaborator

Re the anticipated workflow, should a user first call the cytotrace kernel method and then the compute_transition _matrix method?

Currently, the cytotrace-derived pseudotime has to be computed when instantiating the class, because it's subclassing the PT kernel (which initializes ._pseudotime on init). I would stick to this approach, unless you object.
Alt. is to do as you suggest, or call the cytotrace method when calling compute_transition_matrix, but PT kernel has a lot of params there already.

Ok, so that would mean passing all cytotrace parameters when initializing a class object?

@michalk8
Copy link
Collaborator Author

Ok, so that would mean passing all cytotrace parameters when initializing a class object?

Yes, this is currently being done through kwargs.

@Marius1311
Copy link
Collaborator

Ok, so that would mean passing all cytotrace parameters when initializing a class object?

Yes, this is currently being done through kwargs.

Can we make sure that these appear in the docstring though? Otherwise, it would be really hard for the user to figure this out.

@michalk8
Copy link
Collaborator Author

Can we make sure that these appear in the docstring though? Otherwise, it would be really hard for the user to figure this out.

Yes, the idea is to write the docstring only in CytoTRACEKernel.compute_cytotrace and use docrep. If you want tab-completion,
we can expose the params (it's only 3) in init as well.

@Marius1311
Copy link
Collaborator

Okay, that sounds great, let's expose them in initi as well since it's only 3.

@Marius1311
Copy link
Collaborator

Let me know once this is mostly done and I can add some tests.

@michalk8
Copy link
Collaborator Author

Let me know once this is mostly done and I can add some tests.

@Marius1311 done, you can start adding tests.

@Marius1311
Copy link
Collaborator

Nice!! Will do!

@Marius1311
Copy link
Collaborator

@hspitzer, we're getting there!

@michalk8
Copy link
Collaborator Author

michalk8 commented Mar 19, 2021

@Marius1311 you can now add the regression test(s).

@Marius1311
Copy link
Collaborator

great, thanks!

@michalk8 michalk8 merged commit fa3673b into dev Mar 19, 2021
@michalk8 michalk8 deleted the cytotrace_kernel branch March 19, 2021 17:17
@michalk8 michalk8 mentioned this pull request Mar 19, 2021
6 tasks
michalk8 added a commit that referenced this pull request Mar 28, 2021
* Smoothing for Pseudotime kernel (#514)

* Rename PalantirKernel -> PseudotimeKernel

* Add initial abstraction

* Add Palantir scheme

* Add soft PT

* Remove old test

* Fix wrong condition

* Update docs and defaults

* Fix Pseudotime kernel docstring

* Fix more docstrings

* Update docs

* Add tests, pin down numba

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Add compute_projection (#520)

* Add compute_projection

* Swap order of args

* Add tests

* Fix params, add plotting test

* [ci skip] Update docstring

* Pin down numba

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Fix bugs, QoL improvements (#535)

* Fix bugs, QoL improvements

* Add QoL changes v2

* Enable CI

* Cytotrace kernel (#527)

* Add CytoTRACE kernel

* Add new kernel to docs

* Fix literal

* Work on the docstring

* Rename variables

* Rename the gcs variable

* Update the docstring

* Add docstring to kernel class

* Move the workflow example

* [ci skip] Enable CI

* Move to CytoTRACEKernel

* Improve logging, remove arbitrary restriction

* Do not use short kernel names

* Add CytoTRACE test skeletons

* Set use_raw=False, add tests

* Improve tests

* Fix raw and normal adata with different n_vars

* Add cytotrace score to adata_200

* Add regression test for ct_score

* Add regression test for gene_corr

* Fix tests

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Add external model (#522)

* Add external module, port statOT

* Add docs

* Add typing_extensions

* Add some sanity check

* Move external to separate page

* Add tests

* Temp. pin down numba

* Add explicit POT mention in docs, add to external

* Use raise from

* Fix init subclass

* Add rest error mixins

* Add tox

* Update CONTRIBUTING.rst

* Update CONTRIBUTING.rst

* Fix sections

* Update CONTRIBUTING.rst

* Update test requirements

* [ci skip] Start addressing comments

* [ci skip] Update CONTRIBUTING.rst

* Add tutorials to CONTRIBUTING.rst

* Different import, enable CI on dev

* Update GA issues/discussions

* Update OTKernel to reflect new changes

* Fix wrong import

* [ci skip] Update dev install, docs

* [ci skip] Fix link

* Remove edit_on_github (#538)

* Random walk simulation (#537)

* Add random walk class

* Parallelize

* Random walk plotting

* Add docstrings

* [ci skip] Fix some imports

* [ci skip] Add error messages

* Add random walks test skeleton

* [ci skip] Add plotting test skeletons

* Add RW tests

* Add plotting tests

* Add legend loc for start/stop indices, update docs

* Work on docstrings

* Add first/last cell description

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Fix dist -> conn, update docstrings, remove copy (#536)

* Fix dist -> conn, update docstrings, remove copy

* Change default

* Work on the docstring

* Exchange k for fract_to_keep

* Make fract_to_keep a float

* Fix tests

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Fix plot lin drivers (#543)

* Fix lineage drivers plotting

* Add tests

* Add forgotten GT images

* Fix nan in emb when projection tmat (#546)

* [ci skip] Add Zebrafish dataset (#547)

* [ci skip] Remove fig.show()

* Fix some logging messages

* Release notes 1.3 (#539)

* Fix docs, move latest additions

* Change latest to stable

* Add most of the release notes

* [ci skip] Update release notes - new dataset

* Go over release notes

* Update release notes: move Zebrafish, add pygpcca

* Correct tutorial names

* Regenerate some figures to accomodate mpl==1.4.0

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Release 1.3 (#548)

* Fix typos, update _static

* Add forgotten docstring to abstract method

* Fix tutorial links in docs

Co-authored-by: Marius Lange <marius.lange@t-online.de>
michalk8 added a commit that referenced this pull request Apr 9, 2021
* Smoothing for Pseudotime kernel (#514)

* Rename PalantirKernel -> PseudotimeKernel

* Add initial abstraction

* Add Palantir scheme

* Add soft PT

* Remove old test

* Fix wrong condition

* Update docs and defaults

* Fix Pseudotime kernel docstring

* Fix more docstrings

* Update docs

* Add tests, pin down numba

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Add compute_projection (#520)

* Add compute_projection

* Swap order of args

* Add tests

* Fix params, add plotting test

* [ci skip] Update docstring

* Pin down numba

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Fix bugs, QoL improvements (#535)

* Fix bugs, QoL improvements

* Add QoL changes v2

* Enable CI

* Cytotrace kernel (#527)

* Add CytoTRACE kernel

* Add new kernel to docs

* Fix literal

* Work on the docstring

* Rename variables

* Rename the gcs variable

* Update the docstring

* Add docstring to kernel class

* Move the workflow example

* [ci skip] Enable CI

* Move to CytoTRACEKernel

* Improve logging, remove arbitrary restriction

* Do not use short kernel names

* Add CytoTRACE test skeletons

* Set use_raw=False, add tests

* Improve tests

* Fix raw and normal adata with different n_vars

* Add cytotrace score to adata_200

* Add regression test for ct_score

* Add regression test for gene_corr

* Fix tests

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Add external model (#522)

* Add external module, port statOT

* Add docs

* Add typing_extensions

* Add some sanity check

* Move external to separate page

* Add tests

* Temp. pin down numba

* Add explicit POT mention in docs, add to external

* Use raise from

* Fix init subclass

* Add rest error mixins

* Add tox

* Update CONTRIBUTING.rst

* Update CONTRIBUTING.rst

* Fix sections

* Update CONTRIBUTING.rst

* Update test requirements

* [ci skip] Start addressing comments

* [ci skip] Update CONTRIBUTING.rst

* Add tutorials to CONTRIBUTING.rst

* Different import, enable CI on dev

* Update GA issues/discussions

* Update OTKernel to reflect new changes

* Fix wrong import

* [ci skip] Update dev install, docs

* [ci skip] Fix link

* Remove edit_on_github (#538)

* Random walk simulation (#537)

* Add random walk class

* Parallelize

* Random walk plotting

* Add docstrings

* [ci skip] Fix some imports

* [ci skip] Add error messages

* Add random walks test skeleton

* [ci skip] Add plotting test skeletons

* Add RW tests

* Add plotting tests

* Add legend loc for start/stop indices, update docs

* Work on docstrings

* Add first/last cell description

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Fix dist -> conn, update docstrings, remove copy (#536)

* Fix dist -> conn, update docstrings, remove copy

* Change default

* Work on the docstring

* Exchange k for fract_to_keep

* Make fract_to_keep a float

* Fix tests

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Fix plot lin drivers (#543)

* Fix lineage drivers plotting

* Add tests

* Add forgotten GT images

* Fix nan in emb when projection tmat (#546)

* [ci skip] Add Zebrafish dataset (#547)

* [ci skip] Remove fig.show()

* Fix some logging messages

* Release notes 1.3 (#539)

* Fix docs, move latest additions

* Change latest to stable

* Add most of the release notes

* [ci skip] Update release notes - new dataset

* Go over release notes

* Update release notes: move Zebrafish, add pygpcca

* Correct tutorial names

* Regenerate some figures to accomodate mpl==1.4.0

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Release 1.3 (#548)

* Fix typos, update _static

* Add forgotten docstring to abstract method

* Fix tutorial links in docs

* Update the index

* Make it a bit shorter

* Add links and contributions seciton

* Fix spelling

* Fix same plot (#556)

* Fix reading from adata

* Regenerate figure

* Add warning

* Compute Schur only for num. states, not +1

* Add test

* Update README.rst

* Minor update

* Remove solver heuristics (#558)

* Remove solver/PETSc heuristic

* Change tol to 1e-6

* Change test tol, regen image

Co-authored-by: Marius Lange <marius.lange@t-online.de>
michalk8 added a commit that referenced this pull request Jun 30, 2021
* Smoothing for Pseudotime kernel (#514)

* Rename PalantirKernel -> PseudotimeKernel

* Add initial abstraction

* Add Palantir scheme

* Add soft PT

* Remove old test

* Fix wrong condition

* Update docs and defaults

* Fix Pseudotime kernel docstring

* Fix more docstrings

* Update docs

* Add tests, pin down numba

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Add compute_projection (#520)

* Add compute_projection

* Swap order of args

* Add tests

* Fix params, add plotting test

* [ci skip] Update docstring

* Pin down numba

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Fix bugs, QoL improvements (#535)

* Fix bugs, QoL improvements

* Add QoL changes v2

* Enable CI

* Cytotrace kernel (#527)

* Add CytoTRACE kernel

* Add new kernel to docs

* Fix literal

* Work on the docstring

* Rename variables

* Rename the gcs variable

* Update the docstring

* Add docstring to kernel class

* Move the workflow example

* [ci skip] Enable CI

* Move to CytoTRACEKernel

* Improve logging, remove arbitrary restriction

* Do not use short kernel names

* Add CytoTRACE test skeletons

* Set use_raw=False, add tests

* Improve tests

* Fix raw and normal adata with different n_vars

* Add cytotrace score to adata_200

* Add regression test for ct_score

* Add regression test for gene_corr

* Fix tests

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Add external model (#522)

* Add external module, port statOT

* Add docs

* Add typing_extensions

* Add some sanity check

* Move external to separate page

* Add tests

* Temp. pin down numba

* Add explicit POT mention in docs, add to external

* Use raise from

* Fix init subclass

* Add rest error mixins

* Add tox

* Update CONTRIBUTING.rst

* Update CONTRIBUTING.rst

* Fix sections

* Update CONTRIBUTING.rst

* Update test requirements

* [ci skip] Start addressing comments

* [ci skip] Update CONTRIBUTING.rst

* Add tutorials to CONTRIBUTING.rst

* Different import, enable CI on dev

* Update GA issues/discussions

* Update OTKernel to reflect new changes

* Fix wrong import

* [ci skip] Update dev install, docs

* [ci skip] Fix link

* Remove edit_on_github (#538)

* Random walk simulation (#537)

* Add random walk class

* Parallelize

* Random walk plotting

* Add docstrings

* [ci skip] Fix some imports

* [ci skip] Add error messages

* Add random walks test skeleton

* [ci skip] Add plotting test skeletons

* Add RW tests

* Add plotting tests

* Add legend loc for start/stop indices, update docs

* Work on docstrings

* Add first/last cell description

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Fix dist -> conn, update docstrings, remove copy (#536)

* Fix dist -> conn, update docstrings, remove copy

* Change default

* Work on the docstring

* Exchange k for fract_to_keep

* Make fract_to_keep a float

* Fix tests

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Fix plot lin drivers (#543)

* Fix lineage drivers plotting

* Add tests

* Add forgotten GT images

* Fix nan in emb when projection tmat (#546)

* [ci skip] Add Zebrafish dataset (#547)

* [ci skip] Remove fig.show()

* Fix some logging messages

* Release notes 1.3 (#539)

* Fix docs, move latest additions

* Change latest to stable

* Add most of the release notes

* [ci skip] Update release notes - new dataset

* Go over release notes

* Update release notes: move Zebrafish, add pygpcca

* Correct tutorial names

* Regenerate some figures to accomodate mpl==1.4.0

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Release 1.3 (#548)

* Fix typos, update _static

* Add forgotten docstring to abstract method

* Fix tutorial links in docs

* Update the index

* Make it a bit shorter

* Add links and contributions seciton

* Fix spelling

* Fix same plot (#556)

* Fix reading from adata

* Regenerate figure

* Add warning

* Compute Schur only for num. states, not +1

* Add test

* Update README.rst

* Minor update

* Remove solver heuristics (#558)

* Remove solver/PETSc heuristic

* Change tol to 1e-6

* Change test tol, regen image

* Add check probs sum to 1 (#566)

* Add abs. probs check

* Add nicer message, add tests

* Increase tolerance to 1e-3

* Fix test

* [ci skip] Fix test names

* Fix not using percentile (#568)

* Fix wrong pyGPCCA attribute in logging

* First version of req. pruning (#571)

* Fix inconsistent state (#563)

* Fix inconsistent cat/cont macrostates/lineages

* Add tests, fix 1 minor bug

* Add force recompute tmat (#577)

* Add force tmat recomputation, fix typo bug

* Add test

* Change circ. projection TSP default heuristic

* Remove -1 in hard scheme, modify test (#582)

* [ci skip] Remove sphinx-paramlinks (#584)

* Pt kernel changes (#583)

* Change PT kernel defaults, remove perc/dnorm

* Remove density normalize from tests

* Fix docs

* [ci skip] Remove sphinx-paramlinks

* Fix test

* Remove dens correction from docstring

* Dont force sparse tmat if already dense (#586)

* Do not force tmat to be sparse

* Add test

* Fix tests expecting sparse matrix

* Parallelize pt kernel (#587)

* Parallelize PT kernel

* [ci skip] Add forgotten kwargs in docs

* Fix custom connectivities key (#590)

* Fix plot_coarse_T annotation

* Exp time kernel (#595)

* Resurrect exp. time kernel

* Add WOT skeleton class

* Add WOT

* Add tests, add wot to external requirements

* Skip WOT tests on CI, update WOT installation

* Better import error message, save tmats, last 1s

* Clear order info message, fix test skip

* Expose more args

* Save estimated growth rates to adata

* [ci skip] Add compute_initial_growth_rates

* Add to the docstrings

* Add HVGs subset, fix docs, rename StatOT kernel

* Change debug to info, add uniform

* Add example workflow

* [ci skip] Polish docs

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Wot kernel graph (#600)

* Don't require connectivities for external kernels

* Fix commented skip

* Enable bibtex (#601)

* Use bibtex for references

* Polish docs

* Fix dois

* Update CytoTRACE workflow

* Update WOT example workflow

* Remove old examples, add new skeleton ones (#602)

* Remove old examples, add new skeleton ones

* Move old release notes

* Add 2 new examples - projection and RW

* Update latest additions

* Update RW docstring

* Update docstring to manually set terminal states (#607)

* Update docstring to manually set terminal states

* Fix bug with doc insertion

* Add option to set term states from clusters

Co-authored-by: Michal Klein <michal.klein@protonmail.com>

* Add option to use connectivities for WOT (#609)

* Fix tqdm/ipywidgets (#616)

* Vein plot (#615)

* Start vein plot

* Specialize plot_flow for exp. time kernel

* Add first working impl.

* Update plotting

* Add plotting options

* Add flow threshold

* Rename argument

* Fix cyclic import

* Fix plot_flow in ExpTimeKernel

* Add tmat kernel

* Subset clusters, fix bwd

* Allow cluster subset and ordering

* Add time point filtering

* [ci skip] Fix bugs, start abstraction

* [ci skip] Clean code

* [ci skip] Remove dicts

* [ci skip] Fix indexing error

* Remove plot_flow specification for TMatKernel

* [ci skip] Control ticks

* [ci skip] Order legend

* Polish docs

* Polish docs

* Add option to remove empty clusters

* Fix linting

* [ci skip] Fix logging and docs

* Add skeleton tests, fix typo, name to single flow

* Add first batch of tests

* Add plotting tests

* [ci skip] Fix doi

* [ci skip] Fix exp. time kernel copy (#623)

* Fix lineage drivers to allow for combinations (#624)

* Fix parallelize too many jobs (#633)

* Cluster lin clusters (#634)

* [ci skip] Add cluster key to cluster_lineage

* Fix limits

* Use more xticks

* Add multiple covariates, expose ratio and cmap

* Add tests

* Add WOT dataset infra (#631)

* Add WOT dataset infra

* Add figshare link

* Fix indentation in docs, missing dot.

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Increate timeout

* Prolif apop markers (#630)

* Add marker fetching class

* Add prolif/apop infra

* Remove rat

* Add human markers

* Add mouse markers

* Add references

* Add test

* Minor dosctring changes

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Speed up calculation of absorption probabilities (#638)

* Refactor `compute_absorption_probabilities`

Refactors the calculation of absorption probabilities to first define
a single artificial cell in the macro state by summing all cells
identifying the macro state. This is equivalent to solving the linear
system for each individual cell and then summing the absorption
probabilities.

* Update test_cflare.py

Updates `TestCFLARE.test_abs_probs_negative` to work correctly with the
refactored version of `BaseEstimator.compute_absorption_probabilities`.

Co-authored-by: michalk8 <46717574+michalk8@users.noreply.github.com>

* Stacked histogram (#641)

* Add plot macrostate composition

* Set margins

* Fix cyclic import

* Add test skeletons

* Add tests

* Remove return ax test

* Set yticks

* Regenerate figures

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Log odds (#642)

* Initialize log_odds

* Move Marius' function

* Implement log odds

* Add docs, fix TODOs

* Add test skeletons

* Add colorbar

* Add legend_loc

* Fix categorical bug, jitter, seed, add tests

* Remove testing artifact

* Fix copy

* Change threshold

* Add show

* Add key-specific threshold

* Add fontsize

* Add xticks step size

* Add tests, fix tick step size None

* Change verbosity to debug

* Add plot gene corr (#640)

* Add plot gene corr

* Add test skeletons

* Add tests, fix raw bug

* Fix adjustText

* Change defaults, ERROR logging

* Fix using wrong params

Co-authored-by: Marius Lange <marius.lange@t-online.de>

* Update precommit (#645)

* Update precommit

* Update reqs, setup.py, pyproject.toml

* Install Cython for 3.9

* Install Cython v2

* POT v3

* Try latest numba version

* Disable 3.9 CI

* Try installing umap-learn on CI/tox

* Fix macOS, docs umap-learn version

* Fix docs build

* Add some references

* Update release notes (#647)

* Update release notes

* Pin numba in reqs again

* Update test reqs., CI Python hash

* Purge CI cache

* Remove 3.9 CI

* Add links to index.rst

* Finalize release notes

* Fix reference, add missing doi, download notebook

Co-authored-by: Marius Lange <marius.lange@t-online.de>

Co-authored-by: Marius Lange <marius.lange@t-online.de>
Co-authored-by: Marius Lange <marius.lange@tum.de>
Co-authored-by: Philipp Weiler <philipp.weiler@tum.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CytoTRACE kernel
2 participants