cool_seq_tool.schemas#

Defines attribute constants, useful object structures, and API response schemas.

class cool_seq_tool.schemas.AnnotationLayer(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Create enum for supported annotation layers

CDNA = 'c'[source]#
GENOMIC = 'g'[source]#
PROTEIN = 'p'[source]#
class cool_seq_tool.schemas.Assembly(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Define supported genomic assemblies. Must be defined in ascending order

GRCH37 = 'GRCh37'[source]#
GRCH38 = 'GRCh38'[source]#
classmethod values()[source]#

Return list of values in enum (ascending assembly order)

Return type:

list[str]

class cool_seq_tool.schemas.BaseModelForbidExtra(**data)[source]#

Base Pydantic model class with extra values forbidden.

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]#

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

class cool_seq_tool.schemas.CoordinateType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Create Enum for coordinate types.

It is preferred to operate in inter-residue coordinates, but users should be careful to define the coordinate mode of their data when calling cool-seq-tool functions.

RESIDUE means 1-indexed, residue coordinates and INTER_RESIDUE means 0-indexed, inter-residue coordinates.

C

T

G

RESIDUE

1

2

3

INTER_RESIDUE

0

1

2

3

See “Conventions that promote reliable data sharing” and figure 3 within the Variation Representation Schema (VRS) paper for further discussion.

INTER_RESIDUE = 'inter-residue'[source]#
RESIDUE = 'residue'[source]#
class cool_seq_tool.schemas.GenomicTxData(**data)[source]#

Represent aligned genomic/transcript exon data

alt_aln_method: str[source]#
alt_exon_id: int[source]#
alt_pos_range: tuple[int, int][source]#
gene: str[source]#
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]#

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

strand: Strand[source]#
tx_exon_id: int[source]#
tx_pos_range: tuple[int, int][source]#
class cool_seq_tool.schemas.GenomicTxMetadata(**data)[source]#

Store relevant metadata for genomic and transcript accessions

alt_ac: str[source]#
alt_pos_change_range: tuple[int, int][source]#
coding_end_site: int[source]#
coding_start_site: int[source]#
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]#

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

pos_change: Optional[tuple[int, int]][source]#
tx_ac: str[source]#
class cool_seq_tool.schemas.ManeGeneData(**data)[source]#

Define minimal object model for representing a MANE gene

hgnc_id: Optional[Annotated[int]][source]#
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]#

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

ncbi_gene_id: Annotated[int][source]#
symbol: Annotated[str][source]#
class cool_seq_tool.schemas.ServiceMeta(**data)[source]#

Metadata for cool_seq_tool service

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]#

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

name: Literal['cool_seq_tool'][source]#
response_datetime: datetime[source]#
url: Literal['https://github.com/GenomicMedLab/cool-seq-tool'][source]#
version: Annotated[str][source]#
class cool_seq_tool.schemas.Strand(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Create enum for positive and negative strand

NEGATIVE = -1[source]#
POSITIVE = 1[source]#
class cool_seq_tool.schemas.TranscriptPriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Create Enum for Transcript Priority labels

GRCH38 = 'grch38'[source]#
LONGEST_COMPATIBLE_REMAINING = 'longest_compatible_remaining'[source]#
MANE_PLUS_CLINICAL = 'mane_plus_clinical'[source]#
MANE_SELECT = 'mane_select'[source]#