Skip to content

Commit

Permalink
Merge pull request #203 from PixelgenTechnologies/dev
Browse files Browse the repository at this point in the history
Release 0.19.0
  • Loading branch information
ambarrio authored Dec 10, 2024
2 parents 2ddfe99 + 243cc4c commit 34eb6f8
Show file tree
Hide file tree
Showing 98 changed files with 3,830 additions and 2,579 deletions.
55 changes: 23 additions & 32 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Set up Python environment - ${{ matrix.py }}
- name: Set up Python environment
uses: ./.github/actions/setup-python
with:
python-version: ${{ matrix.py }}
Expand All @@ -69,30 +69,19 @@ jobs:
with:
uri: 'https://opengene.org/fastp/fastp'
name: 'fastp'
version: '0.23.2'
version: '0.23.4'

- name: Generate tox env for python version
uses: actions/github-script@v6
id: set_tox_env
with:
script: |
const pythonVersion = "${{ matrix.py }}"
const toxEnv = "py" + pythonVersion.replace(/\./g, '')
core.setOutput("tox_env", toxEnv)
- name: Install and configure Poetry
uses: snok/install-poetry@v1

- name: Install dependencies
run: |
python -m pip install --user pipx
python -m pipx ensurepath
pipx install poetry
pip install tox
poetry self add poetry-plugin-export
poetry export --output dev_requirements.txt --quiet --no-interaction --no-ansi --without-hashes --with dev
pip install -r dev_requirements.txt
pip install -e .
- name: Run test suite on local python version
run: tox -e ${{ steps.set_tox_env.outputs.tox_env }} --current-env
- name: Install tox
run: python -m pip install tox-gh>=1.2

- name: Setup test suite
run: tox -vv --notest

- name: Run test suite
run: tox --skip-pkg-install

test-coverage:
name: "Check the test coverage"
Expand All @@ -109,15 +98,16 @@ jobs:
with:
python-version: "3.11"

- name: Create dependencies file
- name: Install and configure Poetry
uses: snok/install-poetry@v1

- name: Install dependencies
run: |
pip install poetry
poetry export --output requirements.txt --without-hashes --no-interaction --no-ansi --with dev
pip install -r requirements.txt
poetry install --with dev
- name: Run test suite
run: |
pytest --cov=src/
poetry run pytest --cov=src/
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
Expand Down Expand Up @@ -150,12 +140,13 @@ jobs:
name: 'fastp'
version: '0.23.2'

- name: Install and configure Poetry
uses: snok/install-poetry@v1

- name: Install dependencies
run: |
pip install poetry
poetry export --output requirements.txt --without-hashes --no-interaction --no-ansi --with dev
pip install -r requirements.txt
poetry install --with dev
- name: Run workflow tests
run: |
pytest -s -m "workflow_test" --basetemp=/tmp/pytest-results tests/integration/test_small_${{ matrix.case }}.yaml --log-cli-level=DEBUG
poetry run pytest -s -m "workflow_test" --basetemp=/tmp/pytest-results tests/integration/test_small_${{ matrix.case }}.yaml --log-cli-level=DEBUG
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,41 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.19.0] - 2024-12-10

### Changed

- Name components using UPI hashes.
- Run multiple iterations of multiplet recovery during the `graph` stage specified using `--max-refinement-recursion-depth`.
- Specify maximum number of edges that can be removed between two sub-components during multiplet recovery using `--max-edges-to-split`.
- Support for MultiGraphs in `pmds_layout`
- Support multiple targets in `plot_colocalization_diff_volcano` and `plot_colocalization_diff_heatmap`.
- If demultiplexing has a success rate lower than 50% the command will exit with a status of 1. This prevents further pipeline stages to be run on
what is probably bad data.
- Clarify that `--min-size` and `--max-size` in the `annotate` stage should not be used at the same time as `--dynamic-filter`.
- Setting a lower threshold of 300 edges when `--dynamic-filter` is used in the `annotate` stage, components smaller than that will always
be filtered. Note that this can still be overridden by setting `--min-size` explicitly.
- Clarify error message when all components are filtered out in the `annotate` stage.

### Added

- Add `depth` column to `discarded_edgelist.parquet` output of the `graph` stage that indicates at which refinement iteration the edge is removed.
- Add `edges_removed_in_multiplet_recovery_first_iteration`, `edges_removed_in_multiplet_recovery_refinement` and `fraction_edges_removed_in_refinement` to graph report.json.
- Add `is_potential_doublet` and `n_edges_to_split_doublet` columns to adata.obs.
- Add `fraction_potential_doublets` and `n_edges_to_split_potential_doublets` to annotate report.json.
- Add `--max-edges-to-split` option to `graph` to specify the maximum number of edges that can be removed between two sub-components during multiplet recovery.
- Add `abundance_colocalization_plot` function to make scatter plots of selected marker-pairs' abundance.
- Add `plot_polarity_diff_volcano` to make statistical comparison plots of selected component groups.
- Add `get_differential_polarity` to statistically compare polarity scores of selected component groups.

### Removed

- Remove the `components_recovered.csv` output from the `graph` stage.

### Fixed

- Improved error message when the number of nodes is lower than the number of requested dimensions in `pmds_layout`.

## [0.18.3] - 2024-09-26

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion containers/dev.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ WORKDIR /pixelator
COPY ./ /pixelator
COPY .git /pixelator/.git

RUN poetry export --output requirements.txt --without-hashes --no-interaction --no-ansi --with dev
RUN poetry export --output requirements.txt --without-hashes --no-interaction --no-ansi --only dev

RUN pip3.11 install -r requirements.txt && rm requirements.txt
Loading

0 comments on commit 34eb6f8

Please sign in to comment.