Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---

name: Bug report
about: Report something that is broken or incorrect
title: ""
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---

name: Feature request
about: Suggest an idea for scirpy
title: ""
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ jobs:
test:
needs: get-environments
permissions:
id-token: write # for codecov OIDC
contents: read
id-token: write # for codecov OIDC
contents: read

strategy:
fail-fast: false
Expand Down Expand Up @@ -106,6 +106,6 @@ jobs:
- test
runs-on: ubuntu-latest
steps:
- uses: re-actors/alls-green@b5b5b37504aa4183270bd3d855c52a67f212be35 # v1.3.0
with:
jobs: ${{ toJSON(needs) }}
- uses: re-actors/alls-green@b5b5b37504aa4183270bd3d855c52a67f212be35 # v1.3.0
with:
jobs: ${{ toJSON(needs) }}
8 changes: 4 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@ default_stages:
minimum_pre_commit_version: 2.16.0
repos:
- repo: https://github.com/biomejs/pre-commit
rev: v2.5.13
rev: v2.6.3
hooks:
- id: biome-format
exclude: ^\.cruft\.json$ # inconsistent indentation with cruft - file never to be modified manually.
- repo: https://github.com/tox-dev/pyproject-fmt
rev: v2.29.4
rev: v2.30.3
hooks:
- id: pyproject-fmt
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.16.7
rev: v0.17.2
hooks:
- id: ruff-check
types_or: [python, pyi, jupyter]
Expand All @@ -38,7 +38,7 @@ repos:
args: [--assume-in-merge]

- repo: https://github.com/zizmorcore/zizmor-pre-commit
rev: v1.30.1
rev: v1.31.1
hooks:
- id: zizmor
args: [--no-progress, --fix]
74 changes: 37 additions & 37 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,75 +12,75 @@ and this project adheres to [Semantic Versioning][].

### Fixes

- Avoid deprecated AnnData `obsm_keys()` calls when plotting clonotype networks or exporting them to igraph.
- Avoid deprecated AnnData `obsm_keys()` calls when plotting clonotype networks or exporting them to igraph.

## v0.26.0

### Features

- Add a linear-gap Needleman-Wunsch distance metric for CDR3 amino acid sequences via
`metric="needleman_wunsch"`. The `alignment` and `fastalignment` metrics are now
deprecated. When `gap_open == gap_extend` (which has always been the default), use `needleman_wunsch` instead.
- Add a linear-gap Needleman-Wunsch distance metric for CDR3 amino acid sequences via
`metric="needleman_wunsch"`. The `alignment` and `fastalignment` metrics are now
deprecated. When `gap_open == gap_extend` (which has always been the default), use `needleman_wunsch` instead.

### Performance improvements

- Improve the GPU implementation of the Hamming distance metric with row and column tiling, adaptive result buffers,
and other performance optimizations. GPU tiles can be configured
with `gpu_tile_rows`, `gpu_tile_cols`, and `gpu_tile_buffer_cols`. The previous `gpu_n_blocks` and `gpu_block_width`
parameters are deprecated and ignored; calls using them emit a warning and use the new parameters' defaults
unless the new parameters are explicitly provided.
- Improve the GPU implementation of the Hamming distance metric with row and column tiling, adaptive result buffers,
and other performance optimizations. GPU tiles can be configured
with `gpu_tile_rows`, `gpu_tile_cols`, and `gpu_tile_buffer_cols`. The previous `gpu_n_blocks` and `gpu_block_width`
parameters are deprecated and ignored; calls using them emit a warning and use the new parameters' defaults
unless the new parameters are explicitly provided.

## v0.25.1

### Fixes

- Compatibility with `mudata >= 0.4`, where `update()` no longer pulls `obs` columns from the individual modalities
into the global `obs` by default. Modality-prefixed columns (e.g. `airr:clone_id`) now need to be made available
explicitly with `mdata.pull_obs()` ([#743](https://github.com/scverse/scirpy/issues/743)).
- Compatibility with `mudata >= 0.4`, where `update()` no longer pulls `obs` columns from the individual modalities
into the global `obs` by default. Modality-prefixed columns (e.g. `airr:clone_id`) now need to be made available
explicitly with `mdata.pull_obs()` ([#743](https://github.com/scverse/scirpy/issues/743)).

### Chore

- Use the deprecation decorators from [scverse-misc](https://scverse-misc.readthedocs.io/) for deprecated functions
and function arguments. `scverse-misc` is now a hard dependency. Deprecated arguments that previously did not
emit any warning (`include_fields` and `use_umi_count_col` of the `io.read_*` functions, `cached` and `cache_path`
of `datasets.vdjdb` and `datasets.iedb`) now consistently raise a `FutureWarning`, and the API documentation
states in which version a function or argument was deprecated ([#704](https://github.com/scverse/scirpy/issues/704)).
The undocumented `scirpy.util.deprecated` decorator has been removed in favor of `scverse_misc.deprecated`.
- Use the deprecation decorators from [scverse-misc](https://scverse-misc.readthedocs.io/) for deprecated functions
and function arguments. `scverse-misc` is now a hard dependency. Deprecated arguments that previously did not
emit any warning (`include_fields` and `use_umi_count_col` of the `io.read_*` functions, `cached` and `cache_path`
of `datasets.vdjdb` and `datasets.iedb`) now consistently raise a `FutureWarning`, and the API documentation
states in which version a function or argument was deprecated ([#704](https://github.com/scverse/scirpy/issues/704)).
The undocumented `scirpy.util.deprecated` decorator has been removed in favor of `scverse_misc.deprecated`.

## v0.25.0

### Fixes

- Adjust import location of plotting utils for compatibility with scanpy >= 1.13 ([#730](https://github.com/scverse/scirpy/pull/730))
- Adjust import location of plotting utils for compatibility with scanpy >= 1.13 ([#730](https://github.com/scverse/scirpy/pull/730))

### Features

- Add support for TCRBLOSUM alpha/beta substitution matrices in the `tcrdist` distance metric via
`base_matrix="tcrblosum"`, and allow configuring the substitution-to-distance cap with `distance_cap`.
- Add support for TCRBLOSUM alpha/beta substitution matrices in the `tcrdist` distance metric via
`base_matrix="tcrblosum"`, and allow configuring the substitution-to-distance cap with `distance_cap`.

### Performance improvements

- Speed up identity distance metric computation for comparisons between two different sequence arrays ([#701](https://github.com/scverse/scirpy/pull/701)).
- Speed up identity distance metric computation for comparisons between two different sequence arrays ([#701](https://github.com/scverse/scirpy/pull/701)).

### Chore

- Clean up unneeded dependency constraints in pyproject.toml ([#718](https://github.com/scverse/scirpy/pull/718)).
- Clean up unneeded dependency constraints in pyproject.toml ([#718](https://github.com/scverse/scirpy/pull/718)).

## v0.24.0

### Additions

- Add the [IggyTop receptor reference database](https://iggytop.readthedocs.io/en/latest/index.html),
a metadatabase including receptor data from IEDB, VDJdb and others ([#652](https://github.com/scverse/scirpy/pull/652)). IggyTop includes additional data curation steps (e.g. low quality sequences from 10x dataset filtered out,
amino acid sequences are now consistently `junction_aa` sequences). It updated bimonthly, pre-built and can
be downloaded from GitHub. This is much faster and more reliable than the previous approach of downloading and building AnnData objects from reference database on-the-fly. The previously existing functions `datasets.iedb` and `datasets.vdjdb` are now wrappers around `datasets.iggytop`.
- Add the [IggyTop receptor reference database](https://iggytop.readthedocs.io/en/latest/index.html),
a metadatabase including receptor data from IEDB, VDJdb and others ([#652](https://github.com/scverse/scirpy/pull/652)). IggyTop includes additional data curation steps (e.g. low quality sequences from 10x dataset filtered out,
amino acid sequences are now consistently `junction_aa` sequences). It updated bimonthly, pre-built and can
be downloaded from GitHub. This is much faster and more reliable than the previous approach of downloading and building AnnData objects from reference database on-the-fly. The previously existing functions `datasets.iedb` and `datasets.vdjdb` are now wrappers around `datasets.iggytop`.


### Fixes

- Filter unused categories from clonotype network legend ([#680](https://github.com/scverse/scirpy/pull/680/)).
- Fix overflow error that occured in `ir.pp.ir_dist` with sequences longer than 127 characters ([#683](https://github.com/scverse/scirpy/pull/680))
- Remove `distance_key` parameter from `define_clonotypes` and raise warning if it is passed via `kwargs` ([#688](https://github.com/scverse/scirpy/pull/688))
- Filter unused categories from clonotype network legend ([#680](https://github.com/scverse/scirpy/pull/680/)).
- Fix overflow error that occured in `ir.pp.ir_dist` with sequences longer than 127 characters ([#683](https://github.com/scverse/scirpy/pull/680))
- Remove `distance_key` parameter from `define_clonotypes` and raise warning if it is passed via `kwargs` ([#688](https://github.com/scverse/scirpy/pull/688))

## v0.23.0

Expand Down Expand Up @@ -116,7 +116,7 @@ and this project adheres to [Semantic Versioning][].
### Fixes

- Fix that `pp.index_chains` did not work with an AnnData object where gene expression and AIRR data
did not perfectly overlap ([#660](https://github.com/scverse/scirpy/pull/660)).
did not perfectly overlap ([#660](https://github.com/scverse/scirpy/pull/660)).
- Fix that `pl.repertoire_overlap` ignored the `airr_mod` parameter ([#650](https://github.com/scverse/scirpy/pull/650)).
- Fix that `pl.clonotype_imbalance` ignored the `airr_mod` parameter ([#657](https://github.com/scverse/scirpy/pull/657)).

Expand Down Expand Up @@ -293,9 +293,9 @@ and this project adheres to [Semantic Versioning][].
It will _not_ change AIRR data that is read through `scirpy.io.read_airr` that still uses the `duplicate_count` column.
Scirpy remains compatible with datasets that still use `duplicate_count`. You can update your dataset using

```python
adata.obsm["airr"]["umi_count"] = adata.obsm["airr"]["duplicate_count"]
```
```python
adata.obsm["airr"]["umi_count"] = adata.obsm["airr"]["duplicate_count"]
```

### Other

Expand Down Expand Up @@ -810,7 +810,7 @@ This update includes the following changes:
- Fix pythonpublish CI action
- Update black version (and code style, accordingly)
- Changes for AIRR-complicance:
- Add support level to README
- Add support level to README
- Add Biocontainer instructions to README
- Add a minimal test suite to be ran on conda CI

Expand Down Expand Up @@ -844,10 +844,10 @@ This update includes the following changes:
- Experimental function to assess bias in clonotype abundance between conditions (#92)
- Scirpy now has a logo (#123)
- Update default parameters for `clonotype_network`:
- Edges are now only automatically displayed if plotting < 1000 nodes
- Edges are now only automatically displayed if plotting < 1000 nodes
- If plotting variables with many categories, the legend is hidden.
- Update default parameters for alignment-based `tcr_neighbors`
- The gap extend penalty now equals the gap open penalty (`11`).
- The gap extend penalty now equals the gap open penalty (`11`).

## v0.1.2

Expand Down
26 changes: 13 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,29 +56,29 @@ There are several alternative options to install scirpy:

1. Install the latest release of `scirpy` from [PyPI](https://pypi.org/project/scirpy/):

```bash
pip install scirpy
```
```bash
pip install scirpy
```

2. Get it from [Bioconda][link-bioconda]:

First **setup conda channels [as described here](https://bioconda.github.io/#usage)**. Then install scirpy:
First **setup conda channels [as described here](https://bioconda.github.io/#usage)**. Then install scirpy:

```bash
conda install scirpy
```
```bash
conda install scirpy
```

3. Install the latest development version:

```bash
pip install git+https://github.com/scverse/scirpy.git@main
```
```bash
pip install git+https://github.com/scverse/scirpy.git@main
```

4. Run it in a container using [Docker][] or [Podman][]:

```bash
docker pull quay.io/biocontainers/scirpy:<tag>
```
```bash
docker pull quay.io/biocontainers/scirpy:<tag>
```

where `tag` is one of [these tags](https://quay.io/repository/biocontainers/scirpy?tab=tags).

Expand Down
2 changes: 1 addition & 1 deletion docs/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ the [scientific Python tutorials][], or the [scanpy developer guide][].
[scientific Python tutorials]: https://learn.scientific-python.org/development/tutorials/
[scanpy developer guide]: https://scanpy.scverse.org/page/dev/

:::{tip} The *hatch* project manager
:::{tip} The _hatch_ project manager

We highly recommend to familiarize yourself with [`hatch`][hatch].
Hatch is a Python project manager that
Expand Down
Loading