Skip to content

Commit ce52f58

Browse files
WeilerPivirshupOisin-MDriesSchaumont
authored
Release 0.2.5 (#934)
* Add .editorconfig (#529) * Add TestCleanObsNames (#530) Add test class for `scvelo/core/_anndata.py::clean_obs_names`. * Refactor `clean_obs_names` (#532) * Rename input arguments from `data` to `adata`, `copy` to `inplace`, `ID_length` to `id_length`, `base` to `alphabet`. * Rename variables to something more meaningful and use snake as well as lower case, consistently. * Make use of Pandas functionality. * Use regex expression. * Move unit tests to `tests/` (#535) * Move `scvelo/core/tests` to `tests/core` Moves unit tests `scvelo/core/tests` to `tests/core`. This will, for example, prevent installation files becoming large when including data or ground truth figures. * Add `tests/__init__.py` Makes `tests/` a package. This is needed to e.g. import from `tests/core` later on. * Update pytest.ini Remove `scvelo` from testpaths. * Fix and refactor `filter_genes` (#537) * Add `multiply` Adds function to calculate the element-wise product of two arrays or an array and a sparse matrix. * Fix and refactor `filter_genes` The original implementation fails when `adata.layers['unspliced']` is sparse but `adata.layers['spliced']` dense. The element-wise multiplication is now performend using `multiply`. * Add column generation for adata.obs/.var (#544) * Fix and update docstrings Update docstrings to follow codebase style. * Add option to add columns to adata.obs * Adds `obs_col_names`, `min_obs_cols`, `max_obs_cols` to composite strategy `get_adata`. Using `obs_col_names`, the column names can be set manually, the other arguments allow setting the minimum and maximum number of columns generated. * Updates unit tests to encounter for and test changes. * Add option to add columns to adata.var * Adds `var_col_names`, `min_var_cols`, `max_var_cols` to composite strategy `get_adata`. Using `var_col_names`, the column names can be set manually, the other arguments allow setting the minimum and maximum number of columns generated. * Updates unit tests to encounter for and test changes. * Add unit tests for `cleanup` (#548) * Add method `_subset_columns` to `TestBase` Adds method to sample from column names in `adata.obs` and `adata.var`. * Add `TestCleanup` Adds test class to unit test `scvelo/core/_anndata.py::cleanup`. * Fix TestCleanup::test_cleanup_some (#550) * Refactor `cleanup` (#552) * Rename argument `data` to `adata` * Rename argument `copy` to `inplace` * Update type hint in `cleanup` * Rename variables Rename variables to use more informative names. * Add `TestGetInitialSize` (#554) * Add `TestGetSize` (#556) * Refactor module import (#560) * Delete `pl.py`, `pp.py` and `tl.py`. * Update `__init__.py` to no longer rely on `pl.py`, `pp.py` and `tl.py`. * Update `get_modality` (#567) * Update `get_modality` Support passing `None` for argument `modality`. In this case, `adata.X` is returned. * Add `TestGetModality::test_modality_equals_none` Add unit test to check that correct modality is extracted if `None` is passed for `modality` in `get_modality`. * Refactor and generalize `get_size` (#569) * Rename `layer` to `modality` Rename argument `layer` to `modality` in `get_size`. This unifies naming convention for the argument across the code base and prepares generalizing `get_size` to arbitrary modalities. * Generalize `get_size` to arbitrary modalities This allows calculating the size per observation for any modality, from `adata.X`, `adata.layers` or `adata.obsm`. * Update docstrings * Add TestObsDf (#579) Unit tests `scvelo.core._anndata.py::obs_df`. * Add TestVarDf (#583) Unit tests `scvelo.core._anndata.py::var_df`. * Update TestObsDf (#585) The addition assert statement checks that the index of the returned data frame is correct. * Fix typo in default layer names (#587) * Add `TestShowProportions` (#589) Unit tests `scvelo.core._anndata.py`::show_proportions`. * Add `TestSetInitialSize` (#591) * Reduce maximum number of obs/vars (#593) Reduce maximum size of generated AnnData objects in some tests. * Update ci.yml (#546) * Run tests on ubuntu-latest using both Python 3.7 and 3.8. * Increase verbosity of pytest. * Add timeout to tests. * Update `.gitignore` [ci skip] (#595) Add files and directories created by `pytest-cov`. * Update `_anndata.py` (#596) Change order of default layers to match temporal ordering in biological process. * Fix TestShowProportions (#598) In TestShowProportions::test_layers_not_specified, layers should not be specified but `layers=None` passed instead. * Update `TestCleanObsNames` (#600) Check that `inplace` argument is working correctly. * Test modality passed as string (#602) Add unit tests to `TestMakeDense` and `TestMakeSparse` when `modality` is passed as a string. * Fix `test_not_existing_modality` (#605) Generate layer names with at least two characters to exclude the case `layer='X'`. * Refactor unit test for `l2_norm` (#607) Converts unit test to a test class. 2D arrays and sparse matrices are now generated as well to increase coverage to 100%. * Add `varm` to AnnData strategy (#609) * Add `varm` to AnnData strategy Strategy can now also add entries to `adata.varm`. This is tested by extending the existing unit tests. * Set `max_obs` and `max_vars` to `5` This is an attempt to make the unit tests not in the CI on GitHub due to a time out error by Hypothesis. * Add `TestMerge` (#611) Add test class to unit test `scvelo/core/_anndata.py::merge`. * Update `TestVarDf` (#615) Reduce maximum size of generated AnnData. * Catch error in steady state calculation (#614) * Fix steady state calculation Raise ValueError when `beta` and `gamma` are not positive. * Update `TestSplicingDynamics` Add unit test to verify ValueError is raised when calculating steady states with inadmissible parameter values. * Fix AnnData strategy (#616) Reset `min_varm` and `max_varm` if `varm_keys` is specified. * Update `TestSplicingDynamics` (#618) Add unit tests to * test 2d time points, * verify correct initial states are set/returned, * verify correct steady states are returned. * Fix `TestCleanup` (#620) * Update `DynamicsBase` (#622) Remove redundant return statements to increase test coverage. The abstract methods cannot be tested. * Add `TestGetDf` (#624) Unit tests for `scvelo/core/_anndata.py::get_df`. * Add module `datasets` (#636) * Add module `datasets` The file `datasets.py` is moved to the module and renamed to `_datasets.py`. * Deprecate `pancreatic_endocrinogenesis` * Add `datasets/_simulate.py` Adds file `datasets/_simulate.py` and moves `simulation`, `unspliced`, `spliced` and `vectorize` from `datasets/_datasets.py` to the new file. * Cleanup `datasets/_datasets.py` (#638) * Sort functions alphabetically * Add TODO * Fix `DeprecationWarning` [ci skip] (#640) * Add argument `file_path` (#642) Allow saving/reading datasets to/from custom paths. * Fix gillespie simulation (#644) * Add unit tests for `scvelo.datasets` (#646) * Add `test_datasets.py` Add unit tests for datasets accessible through scvelo. * Add `test_simulate.py` Add unit tests for `scvelo.datasets.simulation`. * Add new datasets to `datasets/__init__.py` (#677) * Fix `csr_vcorrcoef` (#679) * Fix `csr_vcorrcoef` Fixes calculation of Pearson's correlation in `csr_vcorrcoef`. * Add `tests/preprocessing` * Add `TestCsrVcorrcoef` Test class for unit testing `csr_vcorrcoef`. * Update Python versions in CI (#680) * Run linting check in Python 3.8 * Run unit tests in Python 3.9 * Fix and unit test `get_mean_var` (#698) * Fix passing `perc` not affecting result Up to now, passing `perc` does not affect the output as only `data` but not `X` is manipulated. * Fix different size parameters Mean and variance calculation use different size parameters instead of one and the same. * Fix sparse input with `ignore_zeros` or nan values Mean and variance cannot be calculated due to a shape mismatch. * Add `TestGetMeanVar` Unit test `test_get_mean_var`. * Add unit tests for `preprocessing/utils.py` (#700) * Add `TestCheckIfValidDtype` Unit tests `check_if_valid_dtype`. * Add `TestFilter` Unit tests `_filter`. * Add `TestLog1p` Unit tests `log1p`. * Add `TestMaterializeAsNdarray` Unit tests `materialize_as_ndarray`. * Add `TestNotYetNormalized` Unit tests `not_yet_normalized`. * Add `TestFilterGenes` Unit tests `filter_genes`. * Add `TestCountsPerCellQuantile` * Add `TestNormalizePerCell` * Add `tests/_data/` Add subsetted datasets to use in unit tests. * Add `confest.py` Add file to declare fixture for entire testing directory. * Add `TestFilterGenesDispersion` Unit test `filter_genes_dispersion`. * Add `TestFilterAndNormalize` Unit test `filter_and_normalize`. * Add `TestRecipeVelocity` Unit test `recipe_velocity`. * Update AnnData generation for testing (#785) * Update `test_base.py::get_adata` Exclude `"X"` as key of `.layers`, `.obsm` and `.varm`. * Update `test_base.py::TestAdataGeneration` Check that `"X"` is not a key in `.layers`, `.obsm`, `.varm`. * Update `test_anndata.py` Remove redundant statements in `TestCleanup::test_cleanup_some` and `TestSetInitialSize::test_added_columns` according to changes in AnnData generation for tests. * Add `pull_request_template.md` [ci skip] (#787) Add template for pull requests. * Speed up CI (#789) * Update `ci.yml` Remove testing of dataset download from job `test`. Instead, a new job `test-dataset-downloads` is added. * Update `ci.yml` Print execution time of 25 slowest tests. * Update `test_datasets.py` Skip `test_datasets.py::TestDataSets` if Python version is not 3.8 and OS is not Linux. * Refactor `neighbors` (#795) * Split body of `neighbors` over several functions Split body of `neighbors` over several function for easier unit testing. * Add type hints to arguments of `neighbors` * Fix typo in docstrings * Fix `_get_rep` (#797) The variable `rep` is referenced before assignment if the if-else case is not entered. This is fixed by adding a final `else` case. In the following, only the variable `rep` is used. * Refactor testing in CI (#801) * Update `requirements-dev.txt` Add `pytest-cov` to the installed libraries. * Update `ci.yml` Update how dependencies are installed in the `test` job. * Increase Hypothesis deadline in CI (#804) To prevent test failure due to exceeding deadlines, the default deadline of Hypothesis is increased to 500 milliseconds when running the tests in the CI. * Unit test `neighbors.py` (#799) * Add `test_neighbors.py` Add file to host unit tests for `preprocessing/neighbors.py`. * Add `TestGetNeighs` * Add `TestGetNNeighs` * Add `TestGetDuplicateCells` * Add `TestRemoveDuplicateCells` * Add preprocessed adata for testing Add preprocessed versions of `dentategyrus_50obs.h5ad`, `dentategyurs_100obs.h5ad`, `pancreas_50obs.h5ad`, and `pancreas_100obs.h5ad`. * Add fixtures for preprocessed datasets Add fixtures to use preprocessed datasets in unit tests. * Add fixture `adata` The fixture `adata` is used to easily load raw or preprocessed datasets in unit tests. This allows running one and the same unit test on all available datasets. * Add `TestSelectConnectivities` Add unit tests for `select_connectivities`. * Add `TestSelectDistances` Add unit tests for `select_distances`. * Add `TestSetDiagonal` Add unit tests for `set_diagonal`. * Add `TestNeighborsToBeRecomputed` Add unit tests for `neighbors_to_be_recomputed`. * Add `TestVerifyNeighbors` Add unit tests for `verify_neighbors`. * Add `TestGetConnectivities` and accompanying files Add unit tests for `get_connectivities` and saved CSR matrices to verify results. * Add `TestGetCsrFromIndices` Add unit tests for `get_csr_from_indices`. * Add `TestComputeConnectivitiesUmap` Add unit tests for `compute_connectivities_umap` * Add `TestGetRep` Add unit tests for `_get_rep`. * Add `TestSetPCA` Add unit tests for `_set_pca`. * Add `TestGetHnswNeighbors` Add unit tests for `_get_hnsw_neighbors` and corresponding CSR matrices saved using `.npz` format. * Add `TestGetScanpyNeighbors` Add unit tests for `_get_scanpy_neighbors` and corresponding CSR matrices saved using `.npz` format. * Add `TestGetSklearnNeighbors` Add unit tests for `_get_sklearn_neighbors` and corresponding CSR matrices saved using `.npz` format. * Add `TestNeighbors` Adds unit tests for the function `neighbors`. * Unit test `moments.py` (#806) * Add `test_moments.py` Add file to host unit tests of functions in `moments.py`. * Add `TestGetMoments` Add unit tests for `get_moments` and corresponding ground truth moments saved using `.npy` format. * Add `TestSecondOrderMomentsU` Add unit tests for `second_order_moments_u`. * Add `TestSecondOrderMoments` Add unit tests for `second_order_moments` and corresponding moments saved using `.npy` format. * Add `TestMagicImpute` Add unit tests for `magic_imput` and corresponding imputed data saved using `.npy` format. * Add `TestMoments` Add unit tests for `moments` and corresponding first order moments saved using `.npy` format. * Update `requirements-dev.txt` Add `magic-impute` to run unit tests on CI. * Update `docs/` [ci skip] (#810) Recommend `kb count` instead of `loompy fromfq`. * Update `requirements.txt` (#838) Excludes `pandas==1.4.0` to prevent failure as reported in #811. * Fix `optimization.py::get_weight` (#839) Fix `scvelo.tools.optimization.py::get_weight` to work correctly when `perc` is numeric. * Fix inference with `fit_scaling=False` (#848) * Update `DynamicsRecovery` Fix parameter inference to not fit scaling when `fit_scaling=False`. * Update `pre-commit` setup (#855) * Update `requirements-dev.txt` Update versions of `black` and `isort`. * Update `.pre-commit-config.yaml` Update repo paths and versions. * Run `black` Run code formatting with latest version of `black`. * Add argument `file_path` (#853) Adds argument `file_path` to datasets added in `scvelo=0.2.4.`. * Update `CONTRIBUTING.rst` [ci skip] (#911) Details workaround to issue where `pip install -e '.[dev]'` leads to errors on Windows. * Fix saving stream embedding figure (#900) * Fix missing write_key for embedding stream plot. * Set save instead of wire_key when saving embedding stream plot. * Fix `clean_obs_names` (#921) * Fix bug with clean_obs_names Switched implementation to use the previously ignored id_length parameter. New approach finds a substring of length id_length where each of the letters are in the alphabet * Extend tests to cover more cases for clean_obs_names * Fix Pandas display precision (#907) * Update `core/_anndata.py` Update how Pandas displayed precision is set. * Update `core/_anndata.py` Add TODO comment to add a unit test to test the `precision` argument. * Fix documentation issues [ci skip] (#929) * Update `CONTRIBUTING.rst` [ci skip] Update branch name convention. * Update `docs/requirements.txt` [ci skip] Pin `Jinja` version. * Update `docs/source/conf.py` [ci skip] Update `add_stylesheet` with `add_css_file`. The former is deprecated. * Fix typo in `index.rst` [ci skip] * Fix link to bone marrow dataset [ci skip] * Fix `velocity_embedding` docs [ci skip] * Add key contributors section [ci skip] (#930) * Add `_key_contributors.rst` [ci skip] Add file with key contributors and their roles. * Show key contributors on index page [ci skip] * Fix deprecation of keyword argument `copy` (#932) * Add `core/_utils.py` * Add `core/_utils.py::deprecated_arg_names` Modify wrapper from Scanpy to replace old with new keyword argument. The wrapper is modified s.t. `copy=True` corresponds to `inplace=False`, and vice versa. * Make `deprecated_arg_names` importable from `core` * Update import of `deprecated_arg_names` Import local version instead of the Scanpy version s.t. the keyword argument `copy` is handled correctly. * Update `CONTRIBUTING.rst` [ci skip] (#938) Remove reference to `develop` branch as it will be removed in the next release. * Fix linear regression unit tests (#940) * Fix `TestLinearRegression::test_perfect_fit` Replace `array` strategy to generate `x` with `sampled_from`. * Fix `TestLinearRegression::test_perfect_fit_2d` Replace `array` strategy to generate `x` with `sampled_from`. * Update `test_neighbors.py` (#941) Remove failing and non-essential unit tests. See #922. * Update release notes [ci skip] (#945) * Remove trailing white spaces * Add notes for `0.2.5` release Co-authored-by: Isaac Virshup <ivirshup@gmail.com> Co-authored-by: Oisin-M <60450429+Oisin-M@users.noreply.github.com> Co-authored-by: Dries Schaumont <5946712+DriesSchaumont@users.noreply.github.com>
1 parent 1805ab4 commit ce52f58

File tree

347 files changed

+8620
-1003
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

347 files changed

+8620
-1003
lines changed

.editorconfig

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# EditorConfig is awesome: https://EditorConfig.org
2+
3+
# top-most EditorConfig file
4+
root = true
5+
6+
[*]
7+
end_of_line = lf
8+
charset = utf-8
9+
trim_trailing_whitespace = true
10+
insert_final_newline = true
11+
max_line_length = 88
12+
13+
[*.py]
14+
indent_size = 4
15+
indent_style = space

.github/pull_request_template.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
## Changes
2+
<!-- Please remove section if this PR does change an existing feature -->
3+
4+
* ...
5+
6+
## Bug fixes
7+
<!-- Please give section if this PR does not fix any bugs -->
8+
9+
* ...
10+
11+
## New
12+
<!-- Please give section if this PR does not implement a new feature -->
13+
14+
* ...
15+
16+
## Related issues
17+
<!-- Please list related issues. If none exist, open one and reference it here. -->
18+
19+
Closes #

.github/workflows/ci.yml

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ jobs:
2626
runs-on: ubuntu-latest
2727
steps:
2828
- uses: actions/checkout@v2
29-
- name: Setup Python 3.7
29+
- name: Setup Python 3.8
3030
uses: actions/setup-python@v2
3131
with:
32-
python-version: 3.7
32+
python-version: 3.8
3333
- name: Install dependencies
3434
run: |
3535
python -m pip install --upgrade pip
@@ -42,19 +42,37 @@ jobs:
4242
# Run unit tests
4343
test:
4444
needs: linting
45-
runs-on: ubuntu-latest
45+
runs-on: ${{ matrix.os }}
4646
strategy:
47+
fail-fast: false
4748
matrix:
48-
python-version: [3.7]
49+
os: [ubuntu-latest]
50+
python-version: [3.7, 3.8, 3.9]
4951
steps:
5052
- uses: actions/checkout@v2
5153
- name: Set up Python ${{ matrix.python-version }}
5254
uses: actions/setup-python@v2
5355
with:
5456
python-version: ${{ matrix.python-version }}
57+
- name: Install dependencies
58+
run: pip install -e '.[dev]'
59+
- name: Unit tests
60+
timeout-minutes: 60
61+
run: python -m pytest --durations=25 --ignore=tests/datasets/test_datasets.py --hypothesis-profile=ci --cov=scvelo -vv
62+
63+
test-dataset-downloads:
64+
needs: test
65+
runs-on: ubuntu-latest
66+
steps:
67+
- uses: actions/checkout@v2
68+
- name: Setup Python 3.8
69+
uses: actions/setup-python@v2
70+
with:
71+
python-version: 3.8
5572
- name: Install dependencies
5673
run: |
5774
pip install -e .
5875
pip install hypothesis pytest pytest-cov
59-
- name: Unit tests
60-
run: python -m pytest --cov=scvelo
76+
- name: Test dataset downloads
77+
timeout-minutes: 60
78+
run: python -m pytest tests/datasets/test_datasets.py -vv

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,5 @@ docs/source/scvelo*
4242

4343
# Files generated by unit tests
4444
.hypothesis/
45+
.coverage*
46+
htmlcov/

.pre-commit-config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
repos:
2-
- repo: https://github.com/ambv/black
3-
rev: 20.8b1
2+
- repo: https://github.com/psf/black
3+
rev: 22.3.0
44
hooks:
55
- id: black
6-
- repo: https://gitlab.com/pycqa/flake8
6+
- repo: https://github.com/PyCQA/flake8
77
rev: 3.8.4
88
hooks:
99
- id: flake8
1010
- repo: https://github.com/pycqa/isort
11-
rev: 5.7.0
11+
rev: 5.10.1
1212
hooks:
1313
- id: isort
1414
name: isort (python)

CONTRIBUTING.rst

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,15 @@ You can now clone your fork of scVelo and install the development mode
2121
2222
git clone https://github.com/YOUR-USER-NAME/scvelo.git
2323
cd scvelo
24-
git checkout --track origin/develop
24+
25+
26+
Unix Systems
27+
^^^^^^^^^^^^
28+
29+
The installation can be completed with
30+
31+
.. code:: bash
32+
2533
pip install -e '.[dev]'
2634
2735
The last line can, alternatively, be replaced by
@@ -31,16 +39,26 @@ The last line can, alternatively, be replaced by
3139
pip install -r requirements-dev.txt
3240
3341
34-
Finally, to make sure your code follows our code style guideline, install pre-commit:
42+
Windows
43+
^^^^^^^
44+
45+
If running Windows, `hsnwlib` needs to be installed via `conda` and the installation with pip slightly adjusted:
3546

3647
.. code:: bash
3748
38-
pre-commit install
49+
conda install -c conda-forge hnswlib
50+
pip install -e .[dev]
3951
4052
4153
Coding style
4254
^^^^^^^^^^^^
4355

56+
Finally, to make sure your code follows our code style guideline, install pre-commit:
57+
58+
.. code:: bash
59+
60+
pre-commit install
61+
4462
Our code follows `black` and `flake8` coding style. Code formatting (`black`, `isort`) is automated through pre-commit hooks. In addition, we require that
4563

4664
- functions are fully type-annotated.
@@ -69,9 +87,9 @@ The docstrings of scVelo largely follow the `numpy`-style. New docstrings should
6987
Submitting pull requests
7088
^^^^^^^^^^^^^^^^^^^^^^^^
7189

72-
New features and bug fixes are added to the code base through a pull request (PR). To implement a feature or bug fix, create a branch from `develop`. For hotfixes use `master` as base. The existence of bugs suggests insufficient test coverage. As such, bug fixes should, ideally, include a unit test or extend an existing one. Please ensure that
90+
New features and bug fixes are added to the code base through a pull request (PR). To implement a feature or bug fix, create a branch from `master`. The existence of bugs suggests insufficient test coverage. As such, bug fixes should, ideally, include a unit test or extend an existing one. Please ensure that
7391

74-
- branch names have the prefix `feat/`, `bug/` or `hotfix/`.
92+
- branch names have the prefix `feat/` or `fix/`.
7593
- your code follows the project conventions.
7694
- newly added functions are unit tested.
7795
- all tests pass locally.

docs/requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ typing_extensions
66
importlib_metadata
77
sphinx_rtd_theme>=0.3
88
sphinx_autodoc_typehints<=1.6
9+
Jinja2<3.1
910

1011
# converting notebooks to html
1112
ipykernel
1213
sphinx>=1.7,<4.0
13-
nbsphinx>=0.7,<0.8.7
14+
nbsphinx>=0.7,<0.8.7

docs/source/_key_contributors.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.. sidebar:: Key Contributors
2+
3+
* `Philipp Weiler`_: lead developer since 2021, maintainer
4+
* `Volker Bergen`_: lead developer 2018-2021, initial conception
5+
6+
.. _Philipp Weiler: https://twitter.com/PhilippWeiler7
7+
.. _Volker Bergen: https://twitter.com/volkerbergen

docs/source/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@
148148

149149

150150
def setup(app):
151-
app.add_stylesheet("custom.css")
151+
app.add_css_file("custom.css")
152152

153153

154154
# -- Options for other output ------------------------------------------

docs/source/getting_started.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Once you are set, the following tutorials go straight into analysis of RNA veloc
66
latent time, driver identification and many more.
77

88
First of all, the input data for scVelo are two count matrices of pre-mature (unspliced) and mature (spliced) abundances,
9-
which can be obtained from standard sequencing protocols, using the `velocyto`_ or `loompy/kallisto`_
9+
which can be obtained from standard sequencing protocols, using the `velocyto`_ or `kallisto`_
1010
counting pipeline.
1111

1212
scVelo workflow at a glance
@@ -89,4 +89,4 @@ For every tool module there is a plotting counterpart, which allows you to exami
8989

9090

9191
.. _`velocyto`: http://velocyto.org/velocyto.py/tutorial/cli.html
92-
.. _`loompy/kallisto`: https://linnarssonlab.org/loompy/kallisto/index.html
92+
.. _`kallisto`: https://www.kallistobus.tools/tutorials/kb_velocity/python/kb_velocity/#generate-rna-velocity-count-matrices

0 commit comments

Comments
 (0)