Module phc.easy.omics.options.genomic_structural_variant

Expand source code
from typing import List, Optional
from pydantic import Field
from phc.easy.abstract.paging_api_item import PagingApiOptions
from phc.easy.omics.options.common import GenomicVariantInclude
from phc.easy.omics.options.structural_type import StructuralType
from phc.easy.omics.options.in_frame import InFrame

MAPPINGS = {
    "variant_set_ids": "structuralVariantSetIds",
    "effect": "type",
    "in_frame": "inFrame",
    "in_ckb": "drugAssociations",
}


class GenomicStructuralVariantOptions(PagingApiOptions):
    variant_set_ids: List[str] = Field(..., min_length=1)
    gene: List[str] = []
    effect: List[StructuralType] = []
    interpretation: List[str] = []
    in_frame: List[InFrame] = []
    in_ckb: Optional[bool] = None
    include: List[GenomicVariantInclude] = []

    @staticmethod
    def transform(key, value):
        if isinstance(value, list):
            value = ",".join(
                [elem if isinstance(elem, str) else str(elem) for elem in value]
            )
        elif isinstance(value, bool):
            value = "true" if value else None

        return (MAPPINGS.get(key, key), value)

Classes

class GenomicStructuralVariantOptions (**data: Any)

Usage docs: https://docs.pydantic.dev/2.10/concepts/models/

A base class for creating Pydantic models.

Attributes

__class_vars__
The names of the class variables defined on the model.
__private_attributes__
Metadata about the private attributes of the model.
__signature__
The synthesized __init__ [Signature][inspect.Signature] of the model.
__pydantic_complete__
Whether model building is completed, or if there are still undefined fields.
__pydantic_core_schema__
The core schema of the model.
__pydantic_custom_init__
Whether the model has a custom __init__ function.
__pydantic_decorators__
Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.
__pydantic_generic_metadata__
Metadata for generic models; contains data used for a similar purpose to args, origin, parameters in typing-module generics. May eventually be replaced by these.
__pydantic_parent_namespace__
Parent namespace of the model, used for automatic rebuilding of models.
__pydantic_post_init__
The name of the post-init method for the model, if defined.
__pydantic_root_model__
Whether the model is a [RootModel][pydantic.root_model.RootModel].
__pydantic_serializer__
The pydantic-core SchemaSerializer used to dump instances of the model.
__pydantic_validator__
The pydantic-core SchemaValidator used to validate instances of the model.
__pydantic_fields__
A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects.
__pydantic_computed_fields__
A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.
__pydantic_extra__
A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra] is set to 'allow'.
__pydantic_fields_set__
The names of fields explicitly set during instantiation.
__pydantic_private__
Values of private attributes set on the model instance.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Expand source code
class GenomicStructuralVariantOptions(PagingApiOptions):
    variant_set_ids: List[str] = Field(..., min_length=1)
    gene: List[str] = []
    effect: List[StructuralType] = []
    interpretation: List[str] = []
    in_frame: List[InFrame] = []
    in_ckb: Optional[bool] = None
    include: List[GenomicVariantInclude] = []

    @staticmethod
    def transform(key, value):
        if isinstance(value, list):
            value = ",".join(
                [elem if isinstance(elem, str) else str(elem) for elem in value]
            )
        elif isinstance(value, bool):
            value = "true" if value else None

        return (MAPPINGS.get(key, key), value)

Ancestors

Class variables

var effect : List[StructuralType]
var gene : List[str]
var in_ckb : Optional[bool]
var in_frame : List[InFrame]
var include : List[GenomicVariantInclude]
var interpretation : List[str]
var model_config
var variant_set_ids : List[str]

Static methods

def transform(key, value)
Expand source code
@staticmethod
def transform(key, value):
    if isinstance(value, list):
        value = ",".join(
            [elem if isinstance(elem, str) else str(elem) for elem in value]
        )
    elif isinstance(value, bool):
        value = "true" if value else None

    return (MAPPINGS.get(key, key), value)

Methods

def model_dump(self)

Inherited from: PagingApiOptions.model_dump