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 mypy_stubs/biocommons/seqrepo/fastadir/fastadir.pyi
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from typing import Any, Iterator, Optional

from biocommons.seqrepo.fastadir.bases import BaseReader, BaseWriter

class FastaDir(BaseReader, BaseWriter):
Expand Down
2 changes: 1 addition & 1 deletion mypy_stubs/biocommons/seqrepo/seqaliasdb/seqaliasdb.pyi
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from typing import Any, Iterator, Optional
import sqlite3
from typing import Any, Iterator, Optional

class SeqAliasDB(object):
_db_path: str
Expand Down
2 changes: 1 addition & 1 deletion mypy_stubs/mavehgvs/variant.pyi
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from typing import Any, Callable, List, Mapping, Optional, Sequence, Tuple, Union
from re import Match
from typing import Any, Callable, List, Mapping, Optional, Sequence, Tuple, Union

from .position import VariantPosition

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -145,4 +145,4 @@ line-length = 120

# Ruff's default rule set changes between minor releases, so it is written out here; widen it in its own commit.
[tool.ruff.lint]
select = ["E4", "E7", "E9", "F"]
select = ["E4", "E7", "E9", "F", "I"]
1 change: 0 additions & 1 deletion src/mavedb/lib/alleles.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
from mavedb.models.score_set import ScoreSet
from mavedb.models.variant import Variant


# How many variants a whole-set builder loads per round of batched queries. Bounds both the size of each
# query's IN list (a variant's record links can fan out to dozens of reverse-translation members) and the
# number of ORM rows held at once.
Expand Down
2 changes: 1 addition & 1 deletion src/mavedb/lib/annotation/study_result.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
from mavedb.lib.annotation.method import (
publication_identifiers_to_method,
)
from mavedb.lib.vrs import vrs_object_from_mapped_variant
from mavedb.lib.variants import variant_score
from mavedb.lib.vrs import vrs_object_from_mapped_variant


def variant_impact_study_result(
Expand Down
2 changes: 1 addition & 1 deletion src/mavedb/lib/annotation_status_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@
from sqlalchemy.orm import Session
from sqlalchemy.sql import desc

from mavedb.models.annotation_event import ALLELE_SUBJECT_TYPES, VARIANT_SUBJECT_TYPES, AnnotationEvent
from mavedb.models.enums.annotation_type import AnnotationType
from mavedb.models.enums.disposition import Disposition
from mavedb.models.annotation_event import ALLELE_SUBJECT_TYPES, VARIANT_SUBJECT_TYPES, AnnotationEvent

logger = logging.getLogger(__name__)

Expand Down
4 changes: 2 additions & 2 deletions src/mavedb/lib/clingen/content_constructors.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
from datetime import datetime
from uuid import uuid4
from urllib.parse import quote_plus
from uuid import uuid4

from mavedb import __version__
from mavedb.constants import MAVEDB_BASE_GIT, MAVEDB_FRONTEND_URL
from mavedb.lib.types.clingen import LdhContentLinkedData, LdhContentSubject, LdhEvent, LdhSubmission
from mavedb.lib.clingen.constants import LDH_ENTITY_NAME, LDH_SUBMISSION_TYPE
from mavedb.lib.types.clingen import LdhContentLinkedData, LdhContentSubject, LdhEvent, LdhSubmission
from mavedb.models.allele import Allele
from mavedb.models.mapping_record import MappingRecord
from mavedb.models.variant import Variant
Expand Down
1 change: 0 additions & 1 deletion src/mavedb/lib/csv/deprecated_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
from mavedb.lib.csv.namespaces import CsvNamespace
from mavedb.lib.deprecation import deprecation_headers, record_deprecated_usage


DROP_NA_COLUMNS_DESCRIPTION = (
"Deprecated: use `drop_unused_hgvs_columns`, which names what it actually does. This parameter only"
" ever dropped the HGVS coordinate columns a score set does not use, never every NA column. It will"
Expand Down
4 changes: 2 additions & 2 deletions src/mavedb/lib/csv/variant.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@
AvailableCsvNamespaceEntry,
calibration_can_annotate,
calibration_namespace_entries,
calibration_viewer,
clinvar_namespace_entries,
clinvar_release_namespaces,
score_sets_have_current_mappings,
static_namespace_entry,
calibration_viewer,
)
from mavedb.lib.csv.fetch import fetch_variant_csv_data
from mavedb.lib.csv.namespaces import (
Expand All @@ -39,8 +39,8 @@
clinvar_namespace_sort_key,
)
from mavedb.lib.mave.utils import NA_VALUE
from mavedb.lib.urns import score_set_urn_sort_key, variant_urn_sort_key
from mavedb.lib.permissions.score_calibration import ScoreCalibrationViewer
from mavedb.lib.urns import score_set_urn_sort_key, variant_urn_sort_key
from mavedb.models.allele import Allele
from mavedb.models.mapping_record import MappingRecord
from mavedb.models.mapping_record_allele import MappingRecordAllele
Expand Down
2 changes: 1 addition & 1 deletion src/mavedb/lib/experiments.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
from sqlalchemy import func, not_, or_
from sqlalchemy.orm import Session

from mavedb.lib.logging.context import logging_context, save_to_logging_context
from mavedb.lib.collections import readable_official_collections
from mavedb.lib.logging.context import logging_context, save_to_logging_context
from mavedb.lib.permissions import Action
from mavedb.lib.score_sets import find_superseded_score_set_tail
from mavedb.lib.types.authentication import UserData
Expand Down
2 changes: 1 addition & 1 deletion src/mavedb/lib/oddspaths.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from typing import Optional

from mavedb.lib.acmg import StrengthOfEvidenceProvided, ACMGCriterion
from mavedb.lib.acmg import ACMGCriterion, StrengthOfEvidenceProvided


def oddspaths_evidence_strength_equivalent(
Expand Down
2 changes: 1 addition & 1 deletion src/mavedb/lib/score_calibrations.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@
from mavedb.lib.validation.exceptions import ValidationError
from mavedb.lib.validation.utilities import inf_or_float
from mavedb.lib.variants import score_from_variant_data
from mavedb.models.enums.functional_classification import FunctionalClassification
from mavedb.models.calibration_control import CalibrationControl
from mavedb.models.enums.functional_classification import FunctionalClassification
from mavedb.models.enums.score_calibration_relation import ScoreCalibrationRelation
from mavedb.models.score_calibration import ScoreCalibration
from mavedb.models.score_calibration_functional_classification import ScoreCalibrationFunctionalClassification
Expand Down
8 changes: 4 additions & 4 deletions src/mavedb/lib/seqrepo.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@

import os
import re
from base64 import urlsafe_b64encode, urlsafe_b64decode
from binascii import unhexlify, hexlify
from base64 import urlsafe_b64decode, urlsafe_b64encode
from binascii import hexlify, unhexlify

# TODO (https://github.com/VariantEffect/mavedb-api/issues/354). We need pydantic upgraded to use this package.
# from ga4gh.core.identifiers import is_ga4gh_identifier, CURIE_NAMESPACE as ga4gh_namespace
from typing import Generator, Optional

from biocommons.seqrepo import SeqRepo, __version__ as seqrepo_dep_version
from biocommons.seqrepo import SeqRepo
from biocommons.seqrepo import __version__ as seqrepo_dep_version
from bioutils.accessions import infer_namespaces


DEFAULT_CHUNK_SIZE = 8192


Expand Down
8 changes: 4 additions & 4 deletions src/mavedb/lib/uniprot/id_mapping.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import requests
import time
import logging
import time
from typing import Any, Dict, List, Optional

import requests
from requests.adapters import HTTPAdapter, Retry
from typing import List, Optional, Dict, Any

from mavedb.lib.logging.context import logging_context, save_to_logging_context
from mavedb.lib.uniprot.constants import UNIPROT_ID_MAPPING_API_URL, SWISS_PROT_ENTRY_TYPE
from mavedb.lib.types import uniprot
from mavedb.lib.uniprot.constants import SWISS_PROT_ENTRY_TYPE, UNIPROT_ID_MAPPING_API_URL

logger = logging.getLogger(__name__)

Expand Down
12 changes: 6 additions & 6 deletions src/mavedb/lib/validation/dataframe/variant.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
import logging
import warnings
from typing import Hashable, Optional, TYPE_CHECKING
from typing import TYPE_CHECKING, Hashable, Optional

import pandas as pd
from fqfa.validator import dna_bases_validator
from mavehgvs.exceptions import MaveHgvsParseError
from mavehgvs.variant import Variant

from mavedb.lib.validation.exceptions import ValidationError
from mavedb.lib.validation.constants.target import strict_valid_sequence_types as valid_sequence_types
from mavedb.lib.validation.dataframe.column import (
construct_target_sequence_mappings,
generate_variant_prefixes,
validate_hgvs_column_properties,
validate_variant_column,
validate_variant_formatting,
validate_hgvs_column_properties,
construct_target_sequence_mappings,
)
from mavedb.lib.validation.constants.target import strict_valid_sequence_types as valid_sequence_types
from mavedb.models.target_sequence import TargetSequence
from mavedb.lib.validation.exceptions import ValidationError
from mavedb.models.target_accession import TargetAccession
from mavedb.models.target_sequence import TargetSequence

if TYPE_CHECKING:
from cdot.hgvs.dataproviders import RESTDataProvider
Expand Down
3 changes: 1 addition & 2 deletions src/mavedb/lib/vrs_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
from itertools import cycle
from typing import Any

from biocommons.seqrepo import SeqRepo
from ga4gh.core import ga4gh_identify
from ga4gh.vrs.extras.translator import AlleleTranslator
from ga4gh.vrs.models import (
Expand All @@ -28,8 +29,6 @@
)
from ga4gh.vrs.normalize import normalize

from biocommons.seqrepo import SeqRepo

from mavedb.lib.hgvs import extract_accession, split_cis_phased_hgvs
from mavedb.lib.logging.context import logging_context
from mavedb.lib.seqrepo import AmbiguousSequenceError, SequenceNotFoundError, resolve_refget
Expand Down
3 changes: 1 addition & 2 deletions src/mavedb/models/clinical_control_mapped_variant.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
from sqlalchemy import Column, Table, ForeignKey
from sqlalchemy import Column, ForeignKey, Table

from mavedb.db.base import Base


mapped_variants_clinical_controls_association_table = Table(
"mapped_variants_clinical_controls",
Base.metadata,
Expand Down
4 changes: 2 additions & 2 deletions src/mavedb/models/collection_user_association.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Prevent circular imports
from typing import TYPE_CHECKING

from sqlalchemy import Enum, Column, ForeignKey, Integer
from sqlalchemy import Column, Enum, ForeignKey, Integer
from sqlalchemy.orm import Mapped, relationship

from mavedb.db.base import Base
from mavedb.models.enums.contribution_role import ContributionRole

if TYPE_CHECKING:
from mavedb.models.user import User
from mavedb.models.collection import Collection
from mavedb.models.user import User


class CollectionUserAssociation(Base):
Expand Down
3 changes: 1 addition & 2 deletions src/mavedb/models/gnomad_variant_mapped_variant.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
from sqlalchemy import Column, Table, ForeignKey
from sqlalchemy import Column, ForeignKey, Table

from mavedb.db.base import Base


gnomad_variants_mapped_variants_association_table = Table(
"gnomad_variants_mapped_variants",
Base.metadata,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Prevent circular imports
from typing import TYPE_CHECKING

from sqlalchemy import Column, ForeignKey, Integer, Enum
from sqlalchemy import Column, Enum, ForeignKey, Integer
from sqlalchemy.orm import Mapped, relationship

from mavedb.db.base import Base
Expand Down
2 changes: 1 addition & 1 deletion src/mavedb/routers/experiments.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
from mavedb import deps
from mavedb.lib.authentication import get_current_user
from mavedb.lib.authorization import get_principal, require_current_user, require_current_user_with_email
from mavedb.lib.collections import readable_official_collections
from mavedb.lib.contributors import find_or_create_contributor
from mavedb.lib.exceptions import NonexistentOrcidUserError
from mavedb.lib.collections import readable_official_collections
from mavedb.lib.experiments import enrich_experiment_with_num_score_sets
from mavedb.lib.experiments import search_experiments as _search_experiments
from mavedb.lib.identifiers import (
Expand Down
2 changes: 1 addition & 1 deletion src/mavedb/routers/variants.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
from typing import Annotated, Any, List, Optional

from fastapi import APIRouter, Depends, Path, Query, Response
from fastapi.exceptions import HTTPException
from fastapi.encoders import jsonable_encoder
from fastapi.exceptions import HTTPException
from fastapi.responses import JSONResponse, StreamingResponse
from ga4gh.core.identifiers import GA4GH_IR_REGEXP
from ga4gh.va_spec.acmg_2015 import VariantPathogenicityStatement
Expand Down
3 changes: 1 addition & 2 deletions src/mavedb/scripts/audit_allele_identifiers.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,10 @@
from datetime import datetime
from typing import Any, Optional, Sequence

import asyncclick as click
from ga4gh.core import ga4gh_identify
from ga4gh.vrs.models import Allele as VrsAllele
from ga4gh.vrs.models import CisPhasedBlock, SequenceLocation

import asyncclick as click
from sqlalchemy import select
from sqlalchemy.orm import Session

Expand Down
4 changes: 2 additions & 2 deletions src/mavedb/scripts/export_public_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@
from sqlalchemy import select
from sqlalchemy.orm import Session, joinedload, lazyload

from mavedb.lib.allele_annotations import get_allele_cross_references
from mavedb.lib.alleles import get_live_record_allele_links, with_chunk_inputs
from mavedb.lib.annotation.annotate import variant_highest_level_annotation
from mavedb.lib.annotation.conformance import serialize_annotation
from mavedb.lib.annotation.context import load_annotation_context_inputs
from mavedb.lib.allele_annotations import get_allele_cross_references
from mavedb.lib.alleles import get_live_record_allele_links, with_chunk_inputs
from mavedb.lib.cat_vrs import build_categorical_variant
from mavedb.lib.csv.entries import score_sets_have_current_mappings
from mavedb.lib.csv.namespaces import CsvNamespace
Expand Down
2 changes: 1 addition & 1 deletion src/mavedb/scripts/export_sweep.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,13 @@
from sqlalchemy import func, select
from sqlalchemy.orm import Session

from mavedb.lib.alleles import with_chunk_inputs
from mavedb.lib.annotation.annotate import (
variant_functional_impact_statement,
variant_pathogenicity_statement,
variant_study_result,
)
from mavedb.lib.annotation.conformance import AnnotationRoundTripError, round_trip_annotation
from mavedb.lib.alleles import with_chunk_inputs
from mavedb.lib.annotation.context import VariantAnnotationContext, load_annotation_context_inputs
from mavedb.lib.annotation.exceptions import EXPECTED_ABSENCE_EXCEPTIONS
from mavedb.lib.csv.score_set import available_score_set_csv_namespaces, get_score_set_variants_as_csv
Expand Down
7 changes: 3 additions & 4 deletions src/mavedb/scripts/mapped_gene_from_mapped_variant.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
import json
import logging
import requests
from typing import Sequence, Optional
from typing import Optional, Sequence

import click
import requests
from sqlalchemy import select
from sqlalchemy.orm import Session

from mavedb.models.score_set import ScoreSet
from mavedb.models.mapped_variant import MappedVariant
from mavedb.models.score_set import ScoreSet
from mavedb.models.target_gene import TargetGene
from mavedb.models.variant import Variant

from mavedb.scripts.environment import script_environment, with_database_session

logger = logging.getLogger(__name__)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,19 +127,18 @@

import sqlalchemy as sa
from biocommons.seqrepo import SeqRepo
from pydantic import ValidationError
from sqlalchemy.exc import IntegrityError
from sqlalchemy.orm import Session, configure_mappers

from mavedb.models import * # noqa: F401,F403 pylint: disable=wildcard-import — register all mappers for configure_mappers()
from mavedb.data_providers.services import seqrepo
from mavedb.db.session import SessionLocal
from mavedb.lib.annotation_status_manager import AnnotationStatusManager
from pydantic import ValidationError

from mavedb.data_providers.services import seqrepo
from mavedb.lib.hgvs import extract_accession
from mavedb.lib.seqrepo import AmbiguousSequenceError, SequenceNotFoundError, resolve_refget
from mavedb.lib.variants import get_hgvs_from_post_mapped
from mavedb.lib.vrs_utils import CANONICAL_ACCESSION_PREFIXES, canonical_variation_document, location_refgets
from mavedb.models import * # noqa: F401,F403 pylint: disable=wildcard-import — register all mappers for configure_mappers()
from mavedb.models.allele import Allele
from mavedb.models.annotation_event import AnnotationEvent
from mavedb.models.clinvar_allele_link import ClinvarAlleleLink
Expand Down
1 change: 0 additions & 1 deletion src/mavedb/view_models/base/base.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from humps import camelize

from pydantic import BaseModel as PydanticBaseModel
from pydantic import field_validator

Expand Down
1 change: 0 additions & 1 deletion src/mavedb/view_models/doi_identifier.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import idutils

from pydantic import field_validator

from mavedb.lib.validation.exceptions import ValidationError
Expand Down
2 changes: 1 addition & 1 deletion src/mavedb/view_models/experiment_controlled_keyword.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Optional
from typing_extensions import Self

from pydantic import model_validator
from typing_extensions import Self

from mavedb.lib.validation import keywords
from mavedb.view_models import keyword, record_type_validator, set_record_type
Expand Down
2 changes: 1 addition & 1 deletion src/mavedb/view_models/external_gene_identifier.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Optional
from typing_extensions import Self

from pydantic import field_validator, model_validator
from typing_extensions import Self

from mavedb.lib.validation import identifier as identifier_validator
from mavedb.view_models import record_type_validator, set_record_type
Expand Down
Loading
Loading