SingleCellExperiment 0.5.9__tar.gz → 0.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/.github/workflows/publish-pypi.yml +10 -13
- singlecellexperiment-0.6.0/.github/workflows/run-tests.yml +73 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/.pre-commit-config.yaml +2 -2
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/CHANGELOG.md +5 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/PKG-INFO +3 -2
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/docs/changelog.md +5 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/setup.cfg +2 -1
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/SingleCellExperiment.egg-info/PKG-INFO +3 -2
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/SingleCellExperiment.egg-info/requires.txt +2 -1
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/singlecellexperiment/SingleCellExperiment.py +28 -24
- singlecellexperiment-0.5.9/.github/workflows/run-tests.yml +0 -32
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/.coveragerc +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/.gitignore +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/.readthedocs.yml +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/AUTHORS.md +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/CONTRIBUTING.md +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/LICENSE.txt +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/README.md +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/docs/Makefile +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/docs/_static/.gitignore +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/docs/authors.md +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/docs/conf.py +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/docs/contributing.md +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/docs/index.md +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/docs/license.md +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/docs/readme.md +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/docs/requirements.txt +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/docs/tutorial.md +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/pyproject.toml +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/setup.py +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/SingleCellExperiment.egg-info/SOURCES.txt +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/SingleCellExperiment.egg-info/dependency_links.txt +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/SingleCellExperiment.egg-info/not-zip-safe +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/SingleCellExperiment.egg-info/top_level.txt +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/singlecellexperiment/__init__.py +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/singlecellexperiment/_combineutils.py +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/singlecellexperiment/_ioutils.py +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/singlecellexperiment/io/__init__.py +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/singlecellexperiment/io/h5ad.py +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/singlecellexperiment/io/tenx.py +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/tests/conftest.py +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/tests/data/adata.h5ad +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/tests/data/mocks.py +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/tests/data/raw_feature_bc_matrix/barcodes.tsv +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/tests/data/raw_feature_bc_matrix/features.tsv +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/tests/data/raw_feature_bc_matrix/matrix.mtx +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/tests/data/tenx.sub.h5 +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/tests/test_sce.py +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/tests/test_sce_combine_cols.py +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/tests/test_sce_combine_rows.py +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/tests/test_sce_io.py +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/tests/test_sce_methods.py +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/tests/test_sce_slice.py +0 -0
- {singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/tox.ini +0 -0
{singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/.github/workflows/publish-pypi.yml
RENAMED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
# This workflow will install Python dependencies, run tests and lint with a single version of Python
|
|
2
|
-
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
|
|
3
|
-
|
|
4
1
|
name: Publish to PyPI
|
|
5
2
|
|
|
6
3
|
on:
|
|
@@ -19,10 +16,10 @@ jobs:
|
|
|
19
16
|
steps:
|
|
20
17
|
- uses: actions/checkout@v4
|
|
21
18
|
|
|
22
|
-
- name: Set up Python 3.
|
|
19
|
+
- name: Set up Python 3.12
|
|
23
20
|
uses: actions/setup-python@v5
|
|
24
21
|
with:
|
|
25
|
-
python-version: 3.
|
|
22
|
+
python-version: 3.12
|
|
26
23
|
|
|
27
24
|
- name: Install dependencies
|
|
28
25
|
run: |
|
|
@@ -33,6 +30,14 @@ jobs:
|
|
|
33
30
|
run: |
|
|
34
31
|
tox
|
|
35
32
|
|
|
33
|
+
- name: Build Project and Publish
|
|
34
|
+
run: |
|
|
35
|
+
python -m tox -e clean,build
|
|
36
|
+
|
|
37
|
+
# This uses the trusted publisher workflow so no token is required.
|
|
38
|
+
- name: Publish to PyPI
|
|
39
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
40
|
+
|
|
36
41
|
- name: Build docs
|
|
37
42
|
run: |
|
|
38
43
|
tox -e docs
|
|
@@ -45,11 +50,3 @@ jobs:
|
|
|
45
50
|
branch: gh-pages # The branch the action should deploy to.
|
|
46
51
|
folder: ./docs/_build/html
|
|
47
52
|
clean: true # Automatically remove deleted files from the deploy branch
|
|
48
|
-
|
|
49
|
-
- name: Build Project and Publish
|
|
50
|
-
run: |
|
|
51
|
-
python -m tox -e clean,build
|
|
52
|
-
|
|
53
|
-
# This uses the trusted publisher workflow so no token is required.
|
|
54
|
-
- name: Publish to PyPI
|
|
55
|
-
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
name: Test the library
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master # for legacy repos
|
|
7
|
+
- main
|
|
8
|
+
pull_request:
|
|
9
|
+
branches:
|
|
10
|
+
- master # for legacy repos
|
|
11
|
+
- main
|
|
12
|
+
workflow_dispatch: # Allow manually triggering the workflow
|
|
13
|
+
schedule:
|
|
14
|
+
# Run roughly every 15 days at 00:00 UTC
|
|
15
|
+
# (useful to check if updates on dependencies break the package)
|
|
16
|
+
- cron: "0 0 1,16 * *"
|
|
17
|
+
|
|
18
|
+
permissions:
|
|
19
|
+
contents: read
|
|
20
|
+
|
|
21
|
+
concurrency:
|
|
22
|
+
group: >-
|
|
23
|
+
${{ github.workflow }}-${{ github.ref_type }}-
|
|
24
|
+
${{ github.event.pull_request.number || github.sha }}
|
|
25
|
+
cancel-in-progress: true
|
|
26
|
+
|
|
27
|
+
jobs:
|
|
28
|
+
test:
|
|
29
|
+
strategy:
|
|
30
|
+
matrix:
|
|
31
|
+
python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
32
|
+
platform:
|
|
33
|
+
- ubuntu-latest
|
|
34
|
+
- macos-latest
|
|
35
|
+
# - windows-latest
|
|
36
|
+
runs-on: ${{ matrix.platform }}
|
|
37
|
+
name: Python ${{ matrix.python }}, ${{ matrix.platform }}
|
|
38
|
+
steps:
|
|
39
|
+
- uses: actions/checkout@v4
|
|
40
|
+
|
|
41
|
+
- uses: actions/setup-python@v5
|
|
42
|
+
id: setup-python
|
|
43
|
+
with:
|
|
44
|
+
python-version: ${{ matrix.python }}
|
|
45
|
+
|
|
46
|
+
- name: Install dependencies
|
|
47
|
+
run: |
|
|
48
|
+
python -m pip install --upgrade pip
|
|
49
|
+
pip install tox coverage
|
|
50
|
+
|
|
51
|
+
- name: Run tests
|
|
52
|
+
run: >-
|
|
53
|
+
pipx run --python '${{ steps.setup-python.outputs.python-path }}'
|
|
54
|
+
tox
|
|
55
|
+
-- -rFEx --durations 10 --color yes --cov --cov-branch --cov-report=xml # pytest args
|
|
56
|
+
|
|
57
|
+
- name: Check for codecov token availability
|
|
58
|
+
id: codecov-check
|
|
59
|
+
shell: bash
|
|
60
|
+
run: |
|
|
61
|
+
if [ ${{ secrets.CODECOV_TOKEN }} != '' ]; then
|
|
62
|
+
echo "codecov=true" >> $GITHUB_OUTPUT;
|
|
63
|
+
else
|
|
64
|
+
echo "codecov=false" >> $GITHUB_OUTPUT;
|
|
65
|
+
fi
|
|
66
|
+
|
|
67
|
+
- name: Upload coverage reports to Codecov with GitHub Action
|
|
68
|
+
uses: codecov/codecov-action@v5
|
|
69
|
+
if: ${{ steps.codecov-check.outputs.codecov == 'true' }}
|
|
70
|
+
env:
|
|
71
|
+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
72
|
+
slug: ${{ github.repository }}
|
|
73
|
+
flags: ${{ matrix.platform }} - py${{ matrix.python }}
|
|
@@ -2,7 +2,7 @@ exclude: '^docs/conf.py'
|
|
|
2
2
|
|
|
3
3
|
repos:
|
|
4
4
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
5
|
-
rev:
|
|
5
|
+
rev: v6.0.0
|
|
6
6
|
hooks:
|
|
7
7
|
- id: trailing-whitespace
|
|
8
8
|
- id: check-added-large-files
|
|
@@ -33,7 +33,7 @@ repos:
|
|
|
33
33
|
|
|
34
34
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
35
35
|
# Ruff version.
|
|
36
|
-
rev: v0.
|
|
36
|
+
rev: v0.14.5
|
|
37
37
|
hooks:
|
|
38
38
|
- id: ruff
|
|
39
39
|
args: [--fix, --exit-non-zero-on-fix]
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## Version 0.6.0
|
|
4
|
+
|
|
5
|
+
- Changed related to SummarizedExperiment and implementation of `CompressedGenomicRangesList` in the genomic ranges package.
|
|
6
|
+
- Update versions of relevant dependency packages.
|
|
7
|
+
|
|
3
8
|
## Version 0.5.8 - 0.5.9
|
|
4
9
|
|
|
5
10
|
- Rename `reduced_dims` to `reduced_dimensions`. Constructor accepts both these arguments for backwards compatibility.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: SingleCellExperiment
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.0
|
|
4
4
|
Summary: Container class for single-cell experiments
|
|
5
5
|
Home-page: https://github.com/BiocPy/SingleCellExperiment
|
|
6
6
|
Author: jkanche
|
|
@@ -14,7 +14,8 @@ Requires-Python: >=3.9
|
|
|
14
14
|
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
15
15
|
License-File: LICENSE.txt
|
|
16
16
|
Requires-Dist: importlib-metadata; python_version < "3.8"
|
|
17
|
-
Requires-Dist: summarizedexperiment>=0.
|
|
17
|
+
Requires-Dist: summarizedexperiment>=0.6.3
|
|
18
|
+
Requires-Dist: compressed-lists>=0.4.3
|
|
18
19
|
Provides-Extra: optional
|
|
19
20
|
Requires-Dist: anndata==0.9.2; python_version <= "3.9" and extra == "optional"
|
|
20
21
|
Requires-Dist: anndata>0.9.2; python_version > "3.9" and extra == "optional"
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## Version 0.6.0
|
|
4
|
+
|
|
5
|
+
- Changed related to SummarizedExperiment and implementation of `CompressedGenomicRangesList` in the genomic ranges package.
|
|
6
|
+
- Update versions of relevant dependency packages.
|
|
7
|
+
|
|
3
8
|
## Version 0.5.8 - 0.5.9
|
|
4
9
|
|
|
5
10
|
- Rename `reduced_dims` to `reduced_dimensions`. Constructor accepts both these arguments for backwards compatibility.
|
{singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/SingleCellExperiment.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: SingleCellExperiment
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.0
|
|
4
4
|
Summary: Container class for single-cell experiments
|
|
5
5
|
Home-page: https://github.com/BiocPy/SingleCellExperiment
|
|
6
6
|
Author: jkanche
|
|
@@ -14,7 +14,8 @@ Requires-Python: >=3.9
|
|
|
14
14
|
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
15
15
|
License-File: LICENSE.txt
|
|
16
16
|
Requires-Dist: importlib-metadata; python_version < "3.8"
|
|
17
|
-
Requires-Dist: summarizedexperiment>=0.
|
|
17
|
+
Requires-Dist: summarizedexperiment>=0.6.3
|
|
18
|
+
Requires-Dist: compressed-lists>=0.4.3
|
|
18
19
|
Provides-Extra: optional
|
|
19
20
|
Requires-Dist: anndata==0.9.2; python_version <= "3.9" and extra == "optional"
|
|
20
21
|
Requires-Dist: anndata>0.9.2; python_version > "3.9" and extra == "optional"
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
1
3
|
from collections import OrderedDict
|
|
2
4
|
from typing import Any, Dict, List, Optional, Sequence, Union
|
|
3
5
|
from warnings import warn
|
|
@@ -105,7 +107,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
105
107
|
column_data: Optional[biocframe.BiocFrame] = None,
|
|
106
108
|
row_names: Optional[List[str]] = None,
|
|
107
109
|
column_names: Optional[List[str]] = None,
|
|
108
|
-
metadata: Optional[
|
|
110
|
+
metadata: Optional[Union[Dict[str, Any], ut.NamedList]] = None,
|
|
109
111
|
reduced_dimensions: Optional[Dict[str, Any]] = None,
|
|
110
112
|
reduced_dims: Optional[Dict[str, Any]] = None, # deprecated name
|
|
111
113
|
main_experiment_name: Optional[str] = None,
|
|
@@ -113,7 +115,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
113
115
|
row_pairs: Optional[Any] = None,
|
|
114
116
|
column_pairs: Optional[Any] = None,
|
|
115
117
|
alternative_experiment_check_dim_names: bool = True,
|
|
116
|
-
|
|
118
|
+
_validate: bool = True,
|
|
117
119
|
**kwargs,
|
|
118
120
|
) -> None:
|
|
119
121
|
"""Initialize a single-cell experiment.
|
|
@@ -198,7 +200,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
198
200
|
|
|
199
201
|
Defaults to None.
|
|
200
202
|
|
|
201
|
-
|
|
203
|
+
_validate:
|
|
202
204
|
Internal use only.
|
|
203
205
|
|
|
204
206
|
kwargs:
|
|
@@ -213,7 +215,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
213
215
|
row_names=row_names,
|
|
214
216
|
column_names=column_names,
|
|
215
217
|
metadata=metadata,
|
|
216
|
-
|
|
218
|
+
_validate=_validate,
|
|
217
219
|
**kwargs,
|
|
218
220
|
)
|
|
219
221
|
self._main_experiment_name = main_experiment_name
|
|
@@ -234,7 +236,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
234
236
|
self._row_pairs = row_pairs if row_pairs is not None else {}
|
|
235
237
|
self._column_pairs = column_pairs if column_pairs is not None else {}
|
|
236
238
|
|
|
237
|
-
if
|
|
239
|
+
if _validate:
|
|
238
240
|
_validate_reduced_dims(self._reduced_dims, self._shape)
|
|
239
241
|
_validate_alternative_experiments(
|
|
240
242
|
self._alternative_experiments,
|
|
@@ -283,6 +285,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
283
285
|
alternative_experiments=_alt_expt_copy,
|
|
284
286
|
row_pairs=_row_pair_copy,
|
|
285
287
|
column_pairs=_col_pair_copy,
|
|
288
|
+
_validate=False,
|
|
286
289
|
)
|
|
287
290
|
|
|
288
291
|
def __copy__(self):
|
|
@@ -304,6 +307,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
304
307
|
alternative_experiments=self._alternative_experiments,
|
|
305
308
|
row_pairs=self._row_pairs,
|
|
306
309
|
column_pairs=self._column_pairs,
|
|
310
|
+
_validate=False,
|
|
307
311
|
)
|
|
308
312
|
|
|
309
313
|
def copy(self):
|
|
@@ -403,7 +407,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
403
407
|
"""Alias for :py:meth:`~get_reduced_dimensions`, for back-compatibility."""
|
|
404
408
|
return self.get_reduced_dimensions()
|
|
405
409
|
|
|
406
|
-
def set_reduced_dimensions(self, reduced_dims: Dict[str, Any], in_place: bool = False) ->
|
|
410
|
+
def set_reduced_dimensions(self, reduced_dims: Dict[str, Any], in_place: bool = False) -> SingleCellExperiment:
|
|
407
411
|
"""Set new reduced dimensions.
|
|
408
412
|
|
|
409
413
|
Args:
|
|
@@ -423,7 +427,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
423
427
|
output._reduced_dims = reduced_dims
|
|
424
428
|
return output
|
|
425
429
|
|
|
426
|
-
def set_reduced_dims(self, reduced_dims: Dict[str, Any], in_place: bool = False) ->
|
|
430
|
+
def set_reduced_dims(self, reduced_dims: Dict[str, Any], in_place: bool = False) -> SingleCellExperiment:
|
|
427
431
|
"""Alias for :py:meth:`~set_reduced_dimensions`, for back-compatibility."""
|
|
428
432
|
return self.set_reduced_dimensions(reduced_dims=reduced_dims, in_place=in_place)
|
|
429
433
|
|
|
@@ -471,7 +475,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
471
475
|
"""Alias for :py:meth:`~get_reduced_dimension_names`, for back-compatibility."""
|
|
472
476
|
return self.get_reduced_dimension_names()
|
|
473
477
|
|
|
474
|
-
def set_reduced_dimension_names(self, names: List[str], in_place: bool = False) ->
|
|
478
|
+
def set_reduced_dimension_names(self, names: List[str], in_place: bool = False) -> SingleCellExperiment:
|
|
475
479
|
"""Replace :py:attr:`~.reduced_dims`'s names.
|
|
476
480
|
|
|
477
481
|
Args:
|
|
@@ -497,7 +501,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
497
501
|
output._reduced_dims = new_reduced_dims
|
|
498
502
|
return output
|
|
499
503
|
|
|
500
|
-
def set_reduced_dim_names(self, names: List[str], in_place: bool = False) ->
|
|
504
|
+
def set_reduced_dim_names(self, names: List[str], in_place: bool = False) -> SingleCellExperiment:
|
|
501
505
|
"""Alias for :py:meth:`~set_reduced_dimension_names`, for back-compatibility."""
|
|
502
506
|
return self.set_reduced_dimension_names(names=names, in_place=in_place)
|
|
503
507
|
|
|
@@ -573,7 +577,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
573
577
|
"""Alias for :py:meth:`~get_reduced_dimension`, for back-compatibility."""
|
|
574
578
|
return self.get_reduced_dimension(name=name)
|
|
575
579
|
|
|
576
|
-
def set_reduced_dimension(self, name: str, embedding: Any, in_place: bool = False) ->
|
|
580
|
+
def set_reduced_dimension(self, name: str, embedding: Any, in_place: bool = False) -> SingleCellExperiment:
|
|
577
581
|
"""Add or replace :py:attr:`~singlecellexperiment.SingleCellExperiment.reduced_dimension`'s.
|
|
578
582
|
|
|
579
583
|
Args:
|
|
@@ -613,7 +617,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
613
617
|
"""
|
|
614
618
|
return self._main_experiment_name
|
|
615
619
|
|
|
616
|
-
def set_main_experiment_name(self, name: Optional[str], in_place: bool = False) ->
|
|
620
|
+
def set_main_experiment_name(self, name: Optional[str], in_place: bool = False) -> SingleCellExperiment:
|
|
617
621
|
"""Set new experiment data (assays).
|
|
618
622
|
|
|
619
623
|
Args:
|
|
@@ -671,7 +675,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
671
675
|
|
|
672
676
|
def set_alternative_experiments(
|
|
673
677
|
self, alternative_experiments: Dict[str, Any], with_dim_names: bool = True, in_place: bool = False
|
|
674
|
-
) ->
|
|
678
|
+
) -> SingleCellExperiment:
|
|
675
679
|
"""Set new alternative experiments.
|
|
676
680
|
|
|
677
681
|
Args:
|
|
@@ -725,7 +729,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
725
729
|
"""
|
|
726
730
|
return list(self._alternative_experiments.keys())
|
|
727
731
|
|
|
728
|
-
def set_alternative_experiment_names(self, names: List[str], in_place: bool = False) ->
|
|
732
|
+
def set_alternative_experiment_names(self, names: List[str], in_place: bool = False) -> SingleCellExperiment:
|
|
729
733
|
"""Replace :py:attr:`~.alternative_experiment`'s names.
|
|
730
734
|
|
|
731
735
|
Args:
|
|
@@ -821,7 +825,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
821
825
|
|
|
822
826
|
def set_alternative_experiment(
|
|
823
827
|
self, name: str, alternative_experiment: Any, with_dim_names: bool = True, in_place: bool = False
|
|
824
|
-
) ->
|
|
828
|
+
) -> SingleCellExperiment:
|
|
825
829
|
"""Add or replace :py:attr:`~singlecellexperiment.SingleCellExperiment.alternative_experiment`'s.
|
|
826
830
|
|
|
827
831
|
Args:
|
|
@@ -872,7 +876,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
872
876
|
"""
|
|
873
877
|
return self._row_pairs
|
|
874
878
|
|
|
875
|
-
def set_row_pairs(self, pairs: Dict[str, Any], in_place: bool = False) ->
|
|
879
|
+
def set_row_pairs(self, pairs: Dict[str, Any], in_place: bool = False) -> SingleCellExperiment:
|
|
876
880
|
"""Replace :py:attr:`~.row_pairs`'s names.
|
|
877
881
|
|
|
878
882
|
Args:
|
|
@@ -918,7 +922,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
918
922
|
"""
|
|
919
923
|
return list(self._row_pairs.keys())
|
|
920
924
|
|
|
921
|
-
def set_row_pair_names(self, names: List[str], in_place: bool = False) ->
|
|
925
|
+
def set_row_pair_names(self, names: List[str], in_place: bool = False) -> SingleCellExperiment:
|
|
922
926
|
"""Replace :py:attr:`~.row_pair`'s names.
|
|
923
927
|
|
|
924
928
|
Args:
|
|
@@ -970,7 +974,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
970
974
|
"""
|
|
971
975
|
return self._column_pairs
|
|
972
976
|
|
|
973
|
-
def set_column_pairs(self, pairs: Dict[str, Any], in_place: bool = False) ->
|
|
977
|
+
def set_column_pairs(self, pairs: Dict[str, Any], in_place: bool = False) -> SingleCellExperiment:
|
|
974
978
|
"""Replace :py:attr:`~.column_pairs`'s names.
|
|
975
979
|
|
|
976
980
|
Args:
|
|
@@ -1016,7 +1020,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
1016
1020
|
"""
|
|
1017
1021
|
return list(self._column_pairs.keys())
|
|
1018
1022
|
|
|
1019
|
-
def set_column_pair_names(self, names: List[str], in_place: bool = False) ->
|
|
1023
|
+
def set_column_pair_names(self, names: List[str], in_place: bool = False) -> SingleCellExperiment:
|
|
1020
1024
|
"""Replace :py:attr:`~.column_pair`'s names.
|
|
1021
1025
|
|
|
1022
1026
|
Args:
|
|
@@ -1066,7 +1070,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
1066
1070
|
self,
|
|
1067
1071
|
rows: Optional[Union[str, int, bool, Sequence]],
|
|
1068
1072
|
columns: Optional[Union[str, int, bool, Sequence]],
|
|
1069
|
-
) ->
|
|
1073
|
+
) -> SingleCellExperiment:
|
|
1070
1074
|
"""Alias for :py:attr:`~__getitem__`."""
|
|
1071
1075
|
|
|
1072
1076
|
slicer = self._generic_slice(rows=rows, columns=columns)
|
|
@@ -1183,7 +1187,7 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
1183
1187
|
return obj, adatas
|
|
1184
1188
|
|
|
1185
1189
|
@classmethod
|
|
1186
|
-
def from_anndata(cls, input: "anndata.AnnData") ->
|
|
1190
|
+
def from_anndata(cls, input: "anndata.AnnData") -> SingleCellExperiment:
|
|
1187
1191
|
"""Create a ``SingleCellExperiment`` from :py:class:`~anndata.AnnData`.
|
|
1188
1192
|
|
|
1189
1193
|
Args:
|
|
@@ -1253,19 +1257,19 @@ class SingleCellExperiment(RangedSummarizedExperiment):
|
|
|
1253
1257
|
######>> combine ops <<#####
|
|
1254
1258
|
############################
|
|
1255
1259
|
|
|
1256
|
-
def relaxed_combine_rows(self, *other) ->
|
|
1260
|
+
def relaxed_combine_rows(self, *other) -> SingleCellExperiment:
|
|
1257
1261
|
"""Wrapper around :py:func:`~relaxed_combine_rows`."""
|
|
1258
1262
|
return relaxed_combine_rows(self, *other)
|
|
1259
1263
|
|
|
1260
|
-
def relaxed_combine_columns(self, *other) ->
|
|
1264
|
+
def relaxed_combine_columns(self, *other) -> SingleCellExperiment:
|
|
1261
1265
|
"""Wrapper around :py:func:`~relaxed_combine_columns`."""
|
|
1262
1266
|
return relaxed_combine_columns(self, *other)
|
|
1263
1267
|
|
|
1264
|
-
def combine_rows(self, *other) ->
|
|
1268
|
+
def combine_rows(self, *other) -> SingleCellExperiment:
|
|
1265
1269
|
"""Wrapper around :py:func:`~combine_rows`."""
|
|
1266
1270
|
return combine_rows(self, *other)
|
|
1267
1271
|
|
|
1268
|
-
def combine_columns(self, *other) ->
|
|
1272
|
+
def combine_columns(self, *other) -> SingleCellExperiment:
|
|
1269
1273
|
"""Wrapper around :py:func:`~combine_columns`."""
|
|
1270
1274
|
return combine_columns(self, *other)
|
|
1271
1275
|
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
name: Run tests
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [master]
|
|
6
|
-
pull_request:
|
|
7
|
-
|
|
8
|
-
jobs:
|
|
9
|
-
build:
|
|
10
|
-
runs-on: ubuntu-latest
|
|
11
|
-
strategy:
|
|
12
|
-
matrix:
|
|
13
|
-
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
|
|
14
|
-
|
|
15
|
-
name: Python ${{ matrix.python-version }}
|
|
16
|
-
steps:
|
|
17
|
-
- uses: actions/checkout@v4
|
|
18
|
-
|
|
19
|
-
- name: Setup Python
|
|
20
|
-
uses: actions/setup-python@v5
|
|
21
|
-
with:
|
|
22
|
-
python-version: ${{ matrix.python-version }}
|
|
23
|
-
cache: "pip"
|
|
24
|
-
|
|
25
|
-
- name: Install dependencies
|
|
26
|
-
run: |
|
|
27
|
-
python -m pip install --upgrade pip
|
|
28
|
-
pip install tox
|
|
29
|
-
|
|
30
|
-
- name: Test with tox
|
|
31
|
-
run: |
|
|
32
|
-
tox
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/singlecellexperiment/__init__.py
RENAMED
|
File without changes
|
{singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/singlecellexperiment/_combineutils.py
RENAMED
|
File without changes
|
{singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/singlecellexperiment/_ioutils.py
RENAMED
|
File without changes
|
{singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/singlecellexperiment/io/__init__.py
RENAMED
|
File without changes
|
{singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/singlecellexperiment/io/h5ad.py
RENAMED
|
File without changes
|
{singlecellexperiment-0.5.9 → singlecellexperiment-0.6.0}/src/singlecellexperiment/io/tenx.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|