Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
cd96d07
Fix Docker Casing Warnings
bencap Feb 26, 2025
0ab2558
Refactor Dataframe Validation Logic
bencap Feb 28, 2025
5c7e823
Refactor Tests to Better Identify Dependency Separation Issues
bencap Feb 28, 2025
038b012
Bump Dependencies
bencap Feb 28, 2025
f78c485
Check for Nonetype Target Sequences to Silence MyPy Error
bencap Feb 28, 2025
119e7f2
Replace DataSet Columns Setter in Worker Variant Mocker
bencap Mar 1, 2025
58dfb7b
Add Base Editor Column to Target Accessions Table
bencap Mar 2, 2025
4fbdbd7
Validation logic and test cases for base editor data
bencap Mar 3, 2025
a9dc19a
Add isBaseEditor Flag to Remaining Accession Tests
bencap Mar 3, 2025
3850996
Add GUIDE_SEQUENCE_COLUMN constant to mave lib
bencap Mar 3, 2025
0b89482
Use existing boolean flag for transgenic marker in prefix validation
bencap Mar 3, 2025
965c4f5
Clarify error message for accession based variants with accessions mi…
bencap Mar 3, 2025
6d0d8f5
Move guide sequence column to the end of the standard columns sorted …
bencap Mar 3, 2025
45afca8
Add additional column validation tests
bencap Mar 3, 2025
d965f68
Fix sort order of dataframe test case columns
bencap Mar 3, 2025
73a0799
Use equality comparison over is operator for column name comparison
bencap Mar 3, 2025
9308643
Allow the Unix Domain Socket during test runs
bencap Mar 3, 2025
58f2af2
Add Multi-Variant Support for Accession Based Targets
bencap Mar 7, 2025
84334cb
Multi-Variant Genomic Validation Tests
bencap Mar 7, 2025
41d2a1f
Logical names for git action checks
bencap Mar 7, 2025
d20bc6d
Bump SeqRepo Version, Add Volume to Dev Containers
bencap Mar 7, 2025
645bcbf
Add SeqRepo based seqfetcher to data provider
bencap Mar 7, 2025
9b4a9ae
Add SeqFetcher MyPy type stub
bencap Mar 8, 2025
941cb49
Refactor fixes
bencap Mar 13, 2025
5e9f6f1
Use MaveHGVS to determine if variant is a multi-variant
bencap Mar 13, 2025
5d261df
Fix tests for MaveHGVS parsing
bencap Mar 13, 2025
57bb3bc
Rebase fixes (could fixup)
bencap Mar 29, 2025
a40afb5
wip: Use new MaveHGVS methods for allelic validation
bencap Apr 4, 2025
6226c93
Fixed rebasing error.
jstone-dev May 6, 2025
a71b71f
Updated MaveHGVS to version 0.7.0.
jstone-dev May 6, 2025
219e1e0
Fixed: MaveHGVS parsing error handling
jstone-dev May 6, 2025
38a0d7b
Fixed rebasing error.
jstone-dev May 6, 2025
a5835a5
Fixed rebasing error.
jstone-dev May 6, 2025
68b1a42
Ignore problematic MyPy error.
jstone-dev May 7, 2025
b4e6a15
Run 3.9 tests on ubuntu-latest
bencap May 8, 2025
9c29649
Add Import Skipper to ClinGen LDH Service Tests
bencap May 8, 2025
e7ca7b1
Import all SA models up-front for testing
bencap May 8, 2025
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
52 changes: 47 additions & 5 deletions .github/workflows/run-tests-on-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,23 @@ env:
LOG_CONFIG: test

jobs:
run-tests-3_9-core-dependencies:
runs-on: ubuntu-latest
name: Pytest on Core Dependencies-- Python 3.9
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.9"
cache: 'pip'
- run: pip install --upgrade pip
- run: pip install poetry
- run: poetry install --with dev
- run: poetry run pytest tests/

run-tests-3_9:
runs-on: ubuntu-latest
name: Pytest on Python 3.9
name: Pytest on Optional Dependencies-- Python 3.9
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
Expand All @@ -20,9 +34,23 @@ jobs:
- run: poetry install --with dev --extras server
- run: poetry run pytest tests/ --show-capture=stdout --cov=src

run-tests-3_10-core-dependencies:
runs-on: ubuntu-latest
name: Pytest on Core Dependencies-- Python 3.10
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
cache: 'pip'
- run: pip install --upgrade pip
- run: pip install poetry
- run: poetry install --with dev
- run: poetry run pytest tests/

run-tests-3_10:
runs-on: ubuntu-latest
name: Pytest on Python 3.10
name: Pytest on Optional Dependencies-- Python 3.10
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
Expand All @@ -34,9 +62,23 @@ jobs:
- run: poetry install --with dev --extras server
- run: poetry run pytest tests/ --show-capture=stdout --cov=src

run-tests-3_11-core-dependencies:
runs-on: ubuntu-latest
name: Pytest on Core Dependencies-- Python 3.11
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: 'pip'
- run: pip install --upgrade pip
- run: pip install poetry
- run: poetry install --with dev
- run: poetry run pytest tests/

run-tests-3_11:
runs-on: ubuntu-latest
name: Pytest on Python 3.11
name: Pytest on Optional Dependencies-- Python 3.11
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
Expand All @@ -50,7 +92,7 @@ jobs:

run-mypy-3_10:
runs-on: ubuntu-latest
name: MyPy checks on Python 3.10
name: MyPy on Full Codebase-- Python 3.10
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
Expand All @@ -64,7 +106,7 @@ jobs:

run-ruff-lint:
runs-on: ubuntu-latest
name: Ruff linting on Python 3.10
name: Ruff on Full Codebase-- Python 3.10
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
Expand Down
8 changes: 4 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# python-base
# Set up shared environment variables
################################
FROM python:3.9 as python-base
FROM python:3.9 AS python-base

# Poetry
# https://python-poetry.org/docs/configuration/#using-environment-variables
Expand Down Expand Up @@ -69,7 +69,7 @@ RUN samtools faidx GCF_000001405.39_GRCh38.p13_genomic.fna.gz
# builder
# Builds application dependencies and creates venv
################################
FROM python-base as builder
FROM python-base AS builder

WORKDIR /code

Expand All @@ -90,7 +90,7 @@ COPY src/mavedb/server_main.py /code/main.py
# worker
# Worker image
################################
FROM builder as worker
FROM builder AS worker
COPY --from=downloader /data /data

# copy pre-built poetry + venv
Expand All @@ -103,7 +103,7 @@ CMD ["arq", "mavedb.worker.WorkerSettings"]
# application
# Application image
################################
FROM builder as application
FROM builder AS application
COPY --from=downloader /data /data

# copy pre-built poetry + venv
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
"""Add is_base_editor column to target_accessions

Revision ID: f69b4049bc3b
Revises: c404b6719110
Create Date: 2025-03-02 14:06:52.217554

"""

from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision = "f69b4049bc3b"
down_revision = "c404b6719110"
branch_labels = None
depends_on = None


def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.add_column(
"target_accessions", sa.Column("is_base_editor", sa.Boolean(), nullable=False, server_default="false")
)
# ### end Alembic commands ###


def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column("target_accessions", "is_base_editor")
# ### end Alembic commands ###
9 changes: 3 additions & 6 deletions docker-compose-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ services:
- "8002:8000"
volumes:
- .:/code
- mavedb-seqrepo-dev:/usr/local/share/seqrepo

worker:
image: mavedb-api/mavedb-worker:dev
Expand All @@ -41,6 +42,7 @@ services:
LOG_CONFIG: dev
volumes:
- .:/code
- mavedb-seqrepo-dev:/usr/local/share/seqrepo
depends_on:
- db
- redis
Expand Down Expand Up @@ -77,15 +79,10 @@ services:
- mavedb-seqrepo-dev:/usr/local/share/seqrepo

seqrepo:
image: biocommons/seqrepo:2021-01-29
image: biocommons/seqrepo:2024-12-20
volumes:
- mavedb-seqrepo-dev:/usr/local/share/seqrepo

# rabbitmq:
# image: rabbitmq:3.8.3
# ports:
# - "5673:5672"

volumes:
mavedb-data-dev:
mavedb-redis-dev:
Expand Down
3 changes: 2 additions & 1 deletion mypy_stubs/cdot/hgvs/dataproviders/fasta_seqfetcher.pyi
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from typing import Union

from hgvs.dataproviders.seqfetcher import SeqFetcher
class SeqFetcher:
def __init__(self, *args) -> None: ...

class FastaSeqFetcher:
def __init__(self, *args, cache: bool = True) -> None: ...
Expand Down
5 changes: 4 additions & 1 deletion mypy_stubs/mavehgvs/variant.pyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from typing import Any, List, Mapping, Optional, Sequence, Tuple, Union
from typing import Any, Callable, List, Mapping, Optional, Sequence, Tuple, Union
from re import Match

from .position import VariantPosition

Expand All @@ -21,3 +22,5 @@ class Variant:
prefix: str

sequence: Union[str, Tuple[str, str], List[Optional[Union[str, Tuple[str, str]]]], None]
is_multi_variant: Callable[..., bool]
fullmatch: Callable[..., Optional[Match[str]]]
Loading