DENOFO models and choices

We provide a set of models and predefined choices which build our DENOFO annotation format. The heart of the format is the denofo.models.DeNovoGeneAnnotation

Models

class denofo.models.AnnotGenome(*, annotGenomeChoice: list[~denofo.choices.AnnotGenomeChoices] = <factory>)
annotGenomeChoice: list[AnnotGenomeChoices]
classmethod annotGenomeChoice_unknown(annotGenomeChoice: list[AnnotGenomeChoices], info: ValidationInfo) list[AnnotGenomeChoices]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class denofo.models.DeNovoGeneAnnotation(*, inputData: list[~denofo.choices.InputDataChoices] = <factory>, inputAnnotGenome: ~denofo.models.AnnotGenome | None = None, inputTranscriptome: ~denofo.models.Transcriptome | None = None, customInputData: str | None = None, evolutionaryInformation: ~denofo.models.EvolutionaryInformation | None = None, homologyFilter: ~denofo.models.HomologyFilter | None = None, nonCodingHomologs: ~denofo.models.NonCodingHomologs | None = None, translationalEvidence: ~denofo.models.TranslationalEvidence | None = None, studyURL: list[str] | None = None)
customInputData: str | None
evolutionaryInformation: EvolutionaryInformation | None
homologyFilter: HomologyFilter | None
inputAnnotGenome: AnnotGenome | None
inputData: list[InputDataChoices]
inputDataType_required() Self
inputTranscriptome: Transcriptome | None
model_config: ClassVar[ConfigDict] = {'exclude_none': True, 'extra': 'forbid', 'title': 'De Novo Gene Annotation'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

nonCodingHomologs: NonCodingHomologs | None
studyURL: list[str] | None
translationalEvidence: TranslationalEvidence | None
class denofo.models.EvolutionaryInformation(*, selection: str | None = None)
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

selection: str | None
class denofo.models.HomologyFilter(*, phylogeneticTaxa: ~denofo.models.PhylogeneticTaxa | None = None, seqType: list[~denofo.choices.SeqTypeChoices] = <factory>, customSeqType: list[str] | None = None, structuralSimilarity: str | None = None, threshold: list[~denofo.choices.ThresholdChoices] = <factory>, customThreshold: list[str] | None = None, thresholdValue: list[float] = <factory>, dataBase: list[~denofo.choices.HomologyDBChoices] = <factory>, customDB: list[str] | None = None)
customDB: list[str] | None
customSeqType: list[str] | None
customThreshold: list[str] | None
customs_required() Self
dataBase: list[HomologyDBChoices]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

phylogeneticTaxa: PhylogeneticTaxa | None
seqType: list[SeqTypeChoices]
structuralSimilarity: str | None
threshold: list[ThresholdChoices]
thresholdValue: list[float]
exception denofo.models.ModelValidError

Error raised when a model validation fails. Necessary to ignore field validators when checking only field validators.

class denofo.models.NonCodingHomologs(*, enablingMutations: bool = False, synteny: SyntenySearch | None = None)
enablingMutations: bool
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

synteny: SyntenySearch | None
class denofo.models.PhylogeneticTaxa(*, taxSpecificity: TaxSpecificityChoices = TaxSpecificityChoices.lineageSpecif, taxonID: TaxonID = TaxonID(taxID=''))
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

taxSpecificity: TaxSpecificityChoices
taxonID: TaxonID
class denofo.models.SyntenySearch(*, anchors: list[~denofo.choices.AnchorChoices] = <factory>, customAnchor: list[str] | None = None, softwareSyntenySearch: list[str] | None = None)
anchors: list[AnchorChoices]
customAnchor: list[str] | None
customAnchor_required() Self
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

softwareSyntenySearch: list[str] | None
exception denofo.models.TaxIDTranslation

Warning raised when a taxon ID is translated to a taxon name or vice versa.

class denofo.models.TaxonID(*, taxID: str | int = '')
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

taxID: str | int
classmethod taxID_valid(taxID: str | int, info: ValidationInfo) str | int
class denofo.models.Transcriptome(*, expressionLevel: float | None = None, transContextChoice: list[~denofo.choices.GeneticContextChoices] = <factory>, customGeneticContext: list[str] | None = None, transORFChoice: list[~denofo.choices.ORFChoices] = <factory>, customORF: list[str] | None = None, transcriptomeInfo: str | None = None)
customGeneticContext: list[str] | None
customGeneticContext_required() Self
customORF: list[str] | None
customORFChoice_required() Self
expressionLevel: float | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

transContextChoice: list[GeneticContextChoices]
transORFChoice: list[ORFChoices]
classmethod transORFChoice_exclude(transORFChoice: list[ORFChoices], info: ValidationInfo) list[ORFChoices]
transcriptomeInfo: str | None
class denofo.models.TranslationalEvidence(*, translationEvidence: list[TranslationEvidenceChoices] | None = None, customTranslationEvidence: list[str] | None = None)
customTranslationEvidence: list[str] | None
customTranslationEvidence_required() Self
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

translationEvidence: list[TranslationEvidenceChoices] | None

Choices

class denofo.choices.AnchorChoices(*values)
CUSTOM = 'custom choice'
GENEANCHOR = 'gene anchors'
GENOMEALIGNMENT = 'genome alignment'
class denofo.choices.AnnotGenomeChoices(*values)
abInitio = 'ab initio approach'
homology = 'homology-based approach'
unknown = 'unknown'
class denofo.choices.DirectionChoices(*values)
ANY = 'any direction'
FORWARD = 'forward'
class denofo.choices.GeneticContextChoices(*values)
CUSTOM = 'custom choice'
antisense = 'antisense'
intergenic = 'intergenic'
intronic = 'intronic'
overlap_gene = 'overlap gene'
class denofo.choices.HomologyDBChoices(*values)
CUSTOM = 'custom choice'
ENA = 'ENA (by EMBL-EBI)'
ENSEMBL = 'Ensembl'
INTERPRO = 'InterPro'
NCBINR = 'NCBI NR'
REFSEQ = 'RefSeq'
SWISSPROT = 'UniProtKB/Swiss-Prot'
TrEMBL = 'UniProtKB/TrEMBL'
class denofo.choices.InputDataChoices(*values)
ANNOT_GENOME = 'annotated genome'
CUSTOM = 'custom choice'
TRANSCRIPTOME = 'transcriptome'
class denofo.choices.ORFChoices(*values)
CUSTOM = 'custom choice'
allORF = 'all ORF'
firstORF = 'start first ORF'
highestKoz = 'highest Kozac'
long_5_3_ORF = 'long 5` 3` ORF'
longestORF = 'longest ORF'
noORF = 'no ORF'
class denofo.choices.SeqTypeChoices(*values)
CUSTOM = 'custom choice'
DNA = 'DNA'
FRAME6 = '6-frame translation'
NCRNA = 'ncRNAs'
PROT_SEQS = 'protein sequences'
RNA = 'RNA'
TE = 'transposable elements'
class denofo.choices.TaxSpecificityChoices(*values)
conditSpecif = 'tissue/condition-specific'
lineageSpecif = 'lineage-specific'
speciesSpecif = 'species-specific'
class denofo.choices.ThresholdChoices(*values)
COVERAGE = 'coverage [%]'
CUSTOM = 'custom choice'
EVALUE = 'e-value'
class denofo.choices.TranslationEvidenceChoices(*values)
CUSTOM = 'custom choice'
MASS_SPEC = 'mass spectrometry'
PERIODICITY = 'periodicity'
RIBO_PROFIL = 'ribosome profiling'