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: Literal['c'] = 'c'[source]#
GENOMIC: Literal['g'] = 'g'[source]#
PROTEIN: Literal['p'] = 'p'[source]#
class cool_seq_tool.schemas.Assembly(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Create Enum for supported genomic assemblies

GRCH37 = 'GRCh37'[source]#
GRCH38 = 'GRCh38'[source]#
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.CdnaRepresentation(**data)[source]#

Model response for cDNA representation

c_ac: Annotated[str][source]#
c_end_pos: Annotated[int][source]#
c_start_pos: Annotated[int][source]#
cds_start: Annotated[int][source]#
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]#

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

residue_mode: Literal[<ResidueMode.INTER_RESIDUE: 'inter-residue'>][source]#
class cool_seq_tool.schemas.GenomicData(**data)[source]#

Model containing genomic and transcript exon data.

classmethod check_start_end(values)[source]#

Check that at least one of {start, end} is set. Check that at least one of {exon_start, exon_end} is set. If not set, set corresponding offset to None

chr: Annotated[str][source]#
end: Optional[Annotated[int]][source]#
exon_end: Optional[Annotated[int]][source]#
exon_end_offset: Optional[Annotated[int]][source]#
exon_start: Optional[Annotated[int]][source]#
exon_start_offset: Optional[Annotated[int]][source]#
gene: Annotated[str][source]#
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]#

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

start: Optional[Annotated[int]][source]#
strand: Strand[source]#
transcript: Annotated[str][source]#
class cool_seq_tool.schemas.GenomicDataResponse(**data)[source]#

Response model for Genomic Data

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

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

service_meta: ServiceMeta[source]#
warnings: List[Annotated[str]][source]#
class cool_seq_tool.schemas.GenomicRepresentation(**data)[source]#

Model response for genomic representation

g_ac: str[source]#
g_end_pos: int[source]#
g_start_pos: int[source]#
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]#

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

residue_mode: Literal[<ResidueMode.INTER_RESIDUE: 'inter-residue'>][source]#
class cool_seq_tool.schemas.GenomicRequestBody(**data)[source]#

Define constraints for genomic to transcript exon coordinates request body

classmethod check_start_and_end(values)[source]#

Check that at least one of {start, end} is set

chromosome: Union[Annotated[str], Annotated[int]][source]#
end: Optional[Annotated[int]][source]#
gene: Optional[Annotated[str]][source]#
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]#

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

residue_mode: ResidueMode[source]#
start: Optional[Annotated[int]][source]#
strand: Optional[Strand][source]#
transcript: Optional[Annotated[str]][source]#
class cool_seq_tool.schemas.ManeData(**data)[source]#

Define mane data fields

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

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

pos: Tuple[int, int][source]#
refseq: Optional[Annotated[str]][source]#
status: TranscriptPriority[source]#
strand: Strand[source]#
class cool_seq_tool.schemas.ManeDataService(**data)[source]#

Service model response for getting mane data

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

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

service_meta: ServiceMeta[source]#
warnings: List[Annotated[str]][source]#
class cool_seq_tool.schemas.MappedManeData(**data)[source]#

Define mapped mane data fields

alt_ac: Annotated[str][source]#
assembly: Assembly[source]#
ensembl: Optional[Annotated[str]][source]#
gene: Annotated[str][source]#
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]#

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

refseq: Annotated[str][source]#
status: TranscriptPriority[source]#
strand: Strand[source]#
class cool_seq_tool.schemas.MappedManeDataService(**data)[source]#

Service model response for mapped mane data

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

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

service_meta: ServiceMeta[source]#
warnings: List[Annotated[str]][source]#
class cool_seq_tool.schemas.ResidueMode(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Create Enum for residue modes.

| C | | T | | G | |

ZERO | | 0 | | 1 | | 2 | | RESIDUE | | 1 | | 2 | | 3 | | INTER_RESIDUE | 0 | | 1 | | 2 | | 3 |

INTER_RESIDUE = 'inter-residue'[source]#
RESIDUE = 'residue'[source]#
ZERO = 'zero'[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]#
classmethod validate_version(v)[source]#

Check version matches semantic versioning regex pattern. https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string

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.ToCdnaService(**data)[source]#

Service model response for protein -> cDNA

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

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

service_meta: ServiceMeta[source]#
warnings: List[Annotated[str]][source]#
class cool_seq_tool.schemas.ToGenomicService(**data)[source]#

Service model response for cDNA -> genomic

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

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

service_meta: ServiceMeta[source]#
warnings: List[Annotated[str]][source]#
class cool_seq_tool.schemas.TranscriptExonData(**data)[source]#

Model containing transcript exon data.

chr: Annotated[str][source]#
exon: Annotated[int][source]#
exon_offset: Annotated[int][source]#
gene: Annotated[str][source]#
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]#

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

pos: Annotated[int][source]#
strand: Strand[source]#
transcript: Annotated[str][source]#
class cool_seq_tool.schemas.TranscriptExonDataResponse(**data)[source]#

Response model for Transcript Exon Data

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

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

service_meta: ServiceMeta[source]#
transcript_exon_data: Optional[TranscriptExonData][source]#
warnings: List[Annotated[str]][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]#
class cool_seq_tool.schemas.TranscriptRequestBody(**data)[source]#

Define constraints for transcript exon to genomic coordinates request body

classmethod check_exon_start_and_exon_end(values)[source]#

Check that at least one of {exon_start, exon_end} is set

exon_end: Optional[Annotated[int]][source]#
exon_end_offset: Optional[Annotated[int]][source]#
exon_start: Optional[Annotated[int]][source]#
exon_start_offset: Optional[Annotated[int]][source]#
gene: Optional[Annotated[str]][source]#
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]#

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

transcript: Annotated[str][source]#