# {py:mod}`ovo.core.database.models` ```{py:module} ovo.core.database.models ``` ```{autodoc2-docstring} ovo.core.database.models :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`Base ` - ```{autodoc2-docstring} ovo.core.database.models.Base :summary: ``` * - {py:obj}`JobMixin ` - * - {py:obj}`MetadataMixin ` - * - {py:obj}`UserSettings ` - * - {py:obj}`Project ` - * - {py:obj}`Round ` - * - {py:obj}`WorkflowParams ` - ```{autodoc2-docstring} ovo.core.database.models.WorkflowParams :summary: ``` * - {py:obj}`Threshold ` - ```{autodoc2-docstring} ovo.core.database.models.Threshold :summary: ``` * - {py:obj}`WorkflowTypes ` - ```{autodoc2-docstring} ovo.core.database.models.WorkflowTypes :summary: ``` * - {py:obj}`Workflow ` - ```{autodoc2-docstring} ovo.core.database.models.Workflow :summary: ``` * - {py:obj}`DescriptorWorkflow ` - * - {py:obj}`DesignDescriptorWorkflow ` - ```{autodoc2-docstring} ovo.core.database.models.DesignDescriptorWorkflow :summary: ``` * - {py:obj}`DesignWorkflow ` - ```{autodoc2-docstring} ovo.core.database.models.DesignWorkflow :summary: ``` * - {py:obj}`UnknownWorkflow ` - ```{autodoc2-docstring} ovo.core.database.models.UnknownWorkflow :summary: ``` * - {py:obj}`DesignJob ` - * - {py:obj}`Pool ` - * - {py:obj}`DesignChain ` - ```{autodoc2-docstring} ovo.core.database.models.DesignChain :summary: ``` * - {py:obj}`DesignSpec ` - ```{autodoc2-docstring} ovo.core.database.models.DesignSpec :summary: ``` * - {py:obj}`Design ` - * - {py:obj}`DescriptorJob ` - * - {py:obj}`DescriptorValue ` - * - {py:obj}`Descriptor ` - * - {py:obj}`NumericDescriptor ` - * - {py:obj}`NumericGlobalDescriptor ` - ```{autodoc2-docstring} ovo.core.database.models.NumericGlobalDescriptor :summary: ``` * - {py:obj}`NumericResidueDescriptor ` - ```{autodoc2-docstring} ovo.core.database.models.NumericResidueDescriptor :summary: ``` * - {py:obj}`StringGlobalDescriptor ` - ```{autodoc2-docstring} ovo.core.database.models.StringGlobalDescriptor :summary: ``` * - {py:obj}`StringResidueDescriptor ` - ```{autodoc2-docstring} ovo.core.database.models.StringResidueDescriptor :summary: ``` * - {py:obj}`CategoricalResidueDescriptor ` - ```{autodoc2-docstring} ovo.core.database.models.CategoricalResidueDescriptor :summary: ``` * - {py:obj}`ResidueNumberDescriptor ` - ```{autodoc2-docstring} ovo.core.database.models.ResidueNumberDescriptor :summary: ``` * - {py:obj}`FileDescriptor ` - ```{autodoc2-docstring} ovo.core.database.models.FileDescriptor :summary: ``` * - {py:obj}`StructureFileDescriptor ` - ```{autodoc2-docstring} ovo.core.database.models.StructureFileDescriptor :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`MODEL_WEIGHTS_SCAFFOLD ` - ```{autodoc2-docstring} ovo.core.database.models.MODEL_WEIGHTS_SCAFFOLD :summary: ``` * - {py:obj}`MODEL_WEIGHTS_BINDER ` - ```{autodoc2-docstring} ovo.core.database.models.MODEL_WEIGHTS_BINDER :summary: ``` * - {py:obj}`DesignChainType ` - ```{autodoc2-docstring} ovo.core.database.models.DesignChainType :summary: ``` * - {py:obj}`x ` - ```{autodoc2-docstring} ovo.core.database.models.x :summary: ``` * - {py:obj}`__all__ ` - ```{autodoc2-docstring} ovo.core.database.models.__all__ :summary: ``` ```` ### API ````{py:class} Base :canonical: ovo.core.database.models.Base Bases: {py:obj}`sqlalchemy.orm.MappedAsDataclass`, {py:obj}`sqlalchemy.orm.DeclarativeBase` ```{autodoc2-docstring} ovo.core.database.models.Base ``` ```` `````{py:class} JobMixin :canonical: ovo.core.database.models.JobMixin Bases: {py:obj}`sqlalchemy.orm.MappedAsDataclass` ````{py:attribute} scheduler_key :canonical: ovo.core.database.models.JobMixin.scheduler_key :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.JobMixin.scheduler_key ``` ```` ````{py:attribute} job_id :canonical: ovo.core.database.models.JobMixin.job_id :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.JobMixin.job_id ``` ```` ````{py:attribute} job_started_date_utc :canonical: ovo.core.database.models.JobMixin.job_started_date_utc :type: sqlalchemy.orm.Mapped[datetime.datetime] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.JobMixin.job_started_date_utc ``` ```` ````{py:attribute} job_finished_date_utc :canonical: ovo.core.database.models.JobMixin.job_finished_date_utc :type: sqlalchemy.orm.Mapped[datetime.datetime] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.JobMixin.job_finished_date_utc ``` ```` ````{py:attribute} job_result :canonical: ovo.core.database.models.JobMixin.job_result :type: sqlalchemy.orm.Mapped[bool | None] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.JobMixin.job_result ``` ```` ````{py:attribute} warnings :canonical: ovo.core.database.models.JobMixin.warnings :type: sqlalchemy.orm.Mapped[list[str]] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.JobMixin.warnings ``` ```` ````` `````{py:class} MetadataMixin :canonical: ovo.core.database.models.MetadataMixin Bases: {py:obj}`sqlalchemy.orm.MappedAsDataclass` ````{py:attribute} author :canonical: ovo.core.database.models.MetadataMixin.author :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.MetadataMixin.author ``` ```` ````{py:attribute} created_date_utc :canonical: ovo.core.database.models.MetadataMixin.created_date_utc :type: sqlalchemy.orm.Mapped[datetime.datetime] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.MetadataMixin.created_date_utc ``` ```` ````` `````{py:class} UserSettings :canonical: ovo.core.database.models.UserSettings Bases: {py:obj}`ovo.core.database.models.Base` ````{py:attribute} __tablename__ :canonical: ovo.core.database.models.UserSettings.__tablename__ :value: > 'user_setting' ```{autodoc2-docstring} ovo.core.database.models.UserSettings.__tablename__ ``` ```` ````{py:attribute} username :canonical: ovo.core.database.models.UserSettings.username :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.UserSettings.username ``` ```` ````{py:attribute} last_project_id :canonical: ovo.core.database.models.UserSettings.last_project_id :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.UserSettings.last_project_id ``` ```` ````` `````{py:class} Project :canonical: ovo.core.database.models.Project Bases: {py:obj}`ovo.core.database.models.Base`, {py:obj}`ovo.core.database.models.MetadataMixin` ````{py:attribute} __tablename__ :canonical: ovo.core.database.models.Project.__tablename__ :value: > 'project' ```{autodoc2-docstring} ovo.core.database.models.Project.__tablename__ ``` ```` ````{py:attribute} __table_args__ :canonical: ovo.core.database.models.Project.__table_args__ :value: > () ```{autodoc2-docstring} ovo.core.database.models.Project.__table_args__ ``` ```` ````{py:attribute} id :canonical: ovo.core.database.models.Project.id :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Project.id ``` ```` ````{py:attribute} name :canonical: ovo.core.database.models.Project.name :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Project.name ``` ```` ````{py:attribute} public :canonical: ovo.core.database.models.Project.public :type: sqlalchemy.orm.Mapped[bool] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Project.public ``` ```` ````` `````{py:class} Round :canonical: ovo.core.database.models.Round Bases: {py:obj}`ovo.core.database.models.Base`, {py:obj}`ovo.core.database.models.MetadataMixin` ````{py:attribute} __tablename__ :canonical: ovo.core.database.models.Round.__tablename__ :value: > 'round' ```{autodoc2-docstring} ovo.core.database.models.Round.__tablename__ ``` ```` ````{py:attribute} id :canonical: ovo.core.database.models.Round.id :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Round.id ``` ```` ````{py:attribute} project_id :canonical: ovo.core.database.models.Round.project_id :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Round.project_id ``` ```` ````{py:attribute} name :canonical: ovo.core.database.models.Round.name :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Round.name ``` ```` ````{py:attribute} description :canonical: ovo.core.database.models.Round.description :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Round.description ``` ```` ````` ````{py:data} MODEL_WEIGHTS_SCAFFOLD :canonical: ovo.core.database.models.MODEL_WEIGHTS_SCAFFOLD :value: > ['Base', 'ActiveSite'] ```{autodoc2-docstring} ovo.core.database.models.MODEL_WEIGHTS_SCAFFOLD ``` ```` ````{py:data} MODEL_WEIGHTS_BINDER :canonical: ovo.core.database.models.MODEL_WEIGHTS_BINDER :value: > ['Complex_base', 'Complex_beta'] ```{autodoc2-docstring} ovo.core.database.models.MODEL_WEIGHTS_BINDER ``` ```` `````{py:class} WorkflowParams :canonical: ovo.core.database.models.WorkflowParams ```{autodoc2-docstring} ovo.core.database.models.WorkflowParams ``` ````{py:method} validate() :canonical: ovo.core.database.models.WorkflowParams.validate ```{autodoc2-docstring} ovo.core.database.models.WorkflowParams.validate ``` ```` ````{py:method} from_dict(data) :canonical: ovo.core.database.models.WorkflowParams.from_dict :classmethod: ```{autodoc2-docstring} ovo.core.database.models.WorkflowParams.from_dict ``` ```` ````{py:method} to_dict(human_readable=False) :canonical: ovo.core.database.models.WorkflowParams.to_dict ```{autodoc2-docstring} ovo.core.database.models.WorkflowParams.to_dict ``` ```` ````` `````{py:class} Threshold :canonical: ovo.core.database.models.Threshold ```{autodoc2-docstring} ovo.core.database.models.Threshold ``` ````{py:attribute} min_value :canonical: ovo.core.database.models.Threshold.min_value :type: float | None :value: > None ```{autodoc2-docstring} ovo.core.database.models.Threshold.min_value ``` ```` ````{py:attribute} max_value :canonical: ovo.core.database.models.Threshold.max_value :type: float | None :value: > None ```{autodoc2-docstring} ovo.core.database.models.Threshold.max_value ``` ```` ````{py:attribute} enabled :canonical: ovo.core.database.models.Threshold.enabled :type: bool :value: > True ```{autodoc2-docstring} ovo.core.database.models.Threshold.enabled ``` ```` ````{py:method} copy(**kwargs) -> ovo.core.database.models.Threshold :canonical: ovo.core.database.models.Threshold.copy ```{autodoc2-docstring} ovo.core.database.models.Threshold.copy ``` ```` ````{py:method} __eq__(other) :canonical: ovo.core.database.models.Threshold.__eq__ ```` ````{py:method} format(descriptor_name: str = '') -> str | None :canonical: ovo.core.database.models.Threshold.format ```{autodoc2-docstring} ovo.core.database.models.Threshold.format ``` ```` ````{py:method} get_bounds(descriptor: ovo.core.database.models.NumericDescriptor, descriptor_values: pandas.Series) -> tuple[float | int, float | int] | None :canonical: ovo.core.database.models.Threshold.get_bounds ```{autodoc2-docstring} ovo.core.database.models.Threshold.get_bounds ``` ```` ````` `````{py:class} WorkflowTypes :canonical: ovo.core.database.models.WorkflowTypes ```{autodoc2-docstring} ovo.core.database.models.WorkflowTypes ``` ````{py:attribute} _registry :canonical: ovo.core.database.models.WorkflowTypes._registry :value: > None ```{autodoc2-docstring} ovo.core.database.models.WorkflowTypes._registry ``` ```` ````{py:method} register(workflow_name) :canonical: ovo.core.database.models.WorkflowTypes.register :classmethod: ```{autodoc2-docstring} ovo.core.database.models.WorkflowTypes.register ``` ```` ````{py:method} exists(workflow_name) :canonical: ovo.core.database.models.WorkflowTypes.exists :classmethod: ```{autodoc2-docstring} ovo.core.database.models.WorkflowTypes.exists ``` ```` ````{py:method} get(workflow_name) :canonical: ovo.core.database.models.WorkflowTypes.get :classmethod: ```{autodoc2-docstring} ovo.core.database.models.WorkflowTypes.get ``` ```` ````{py:method} get_subclass_names(workflow_name) -> list[str] :canonical: ovo.core.database.models.WorkflowTypes.get_subclass_names :classmethod: ```{autodoc2-docstring} ovo.core.database.models.WorkflowTypes.get_subclass_names ``` ```` ````` `````{py:class} Workflow :canonical: ovo.core.database.models.Workflow ```{autodoc2-docstring} ovo.core.database.models.Workflow ``` ````{py:attribute} name :canonical: ovo.core.database.models.Workflow.name :type: str :value: > 'field(...)' ```{autodoc2-docstring} ovo.core.database.models.Workflow.name ``` ```` ````{py:method} is_instance(cls) :canonical: ovo.core.database.models.Workflow.is_instance ```{autodoc2-docstring} ovo.core.database.models.Workflow.is_instance ``` ```` ````{py:method} is_subclass(other_cls) :canonical: ovo.core.database.models.Workflow.is_subclass :classmethod: ```{autodoc2-docstring} ovo.core.database.models.Workflow.is_subclass ``` ```` ````{py:method} from_dict(data) :canonical: ovo.core.database.models.Workflow.from_dict :classmethod: ```{autodoc2-docstring} ovo.core.database.models.Workflow.from_dict ``` ```` ````{py:method} get_param_fields(human_readable=False) -> dict[str, ovo.core.database.models.WorkflowParams] :canonical: ovo.core.database.models.Workflow.get_param_fields ```{autodoc2-docstring} ovo.core.database.models.Workflow.get_param_fields ``` ```` ````{py:method} get_param_dict() -> dict :canonical: ovo.core.database.models.Workflow.get_param_dict ```{autodoc2-docstring} ovo.core.database.models.Workflow.get_param_dict ``` ```` ````{py:method} get_table_row(**kwargs) -> pandas.Series :canonical: ovo.core.database.models.Workflow.get_table_row ```{autodoc2-docstring} ovo.core.database.models.Workflow.get_table_row ``` ```` ````{py:method} validate() :canonical: ovo.core.database.models.Workflow.validate ```{autodoc2-docstring} ovo.core.database.models.Workflow.validate ``` ```` ````{py:method} get_time_estimate(scheduler: ovo.core.scheduler.base_scheduler.Scheduler) -> str :canonical: ovo.core.database.models.Workflow.get_time_estimate ```{autodoc2-docstring} ovo.core.database.models.Workflow.get_time_estimate ``` ```` ````{py:method} get_pipeline_name() -> str :canonical: ovo.core.database.models.Workflow.get_pipeline_name :abstractmethod: ```{autodoc2-docstring} ovo.core.database.models.Workflow.get_pipeline_name ``` ```` ````{py:method} prepare_params(workdir: str) -> dict :canonical: ovo.core.database.models.Workflow.prepare_params :abstractmethod: ```{autodoc2-docstring} ovo.core.database.models.Workflow.prepare_params ``` ```` ````{py:method} process_results(job: typing.Union[ovo.core.database.models.DesignJob, ovo.core.database.models.DescriptorJob], callback: typing.Callable = None) -> list[ovo.core.database.models.Base] :canonical: ovo.core.database.models.Workflow.process_results :abstractmethod: ```{autodoc2-docstring} ovo.core.database.models.Workflow.process_results ``` ```` ````{py:method} get_download_fields() :canonical: ovo.core.database.models.Workflow.get_download_fields :classmethod: ```{autodoc2-docstring} ovo.core.database.models.Workflow.get_download_fields ``` ```` ````` `````{py:class} DescriptorWorkflow :canonical: ovo.core.database.models.DescriptorWorkflow Bases: {py:obj}`ovo.core.database.models.Workflow`, {py:obj}`abc.ABC` ````{py:attribute} chains :canonical: ovo.core.database.models.DescriptorWorkflow.chains :type: typing.List[str] :value: > 'field(...)' ```{autodoc2-docstring} ovo.core.database.models.DescriptorWorkflow.chains ``` ```` ````{py:attribute} design_ids :canonical: ovo.core.database.models.DescriptorWorkflow.design_ids :type: typing.List[str] :value: > 'field(...)' ```{autodoc2-docstring} ovo.core.database.models.DescriptorWorkflow.design_ids ``` ```` ````{py:method} validate() :canonical: ovo.core.database.models.DescriptorWorkflow.validate ```{autodoc2-docstring} ovo.core.database.models.DescriptorWorkflow.validate ``` ```` ````` `````{py:class} DesignDescriptorWorkflow :canonical: ovo.core.database.models.DesignDescriptorWorkflow Bases: {py:obj}`ovo.core.database.models.DescriptorWorkflow` ```{autodoc2-docstring} ovo.core.database.models.DesignDescriptorWorkflow ``` ````{py:attribute} design_job_id :canonical: ovo.core.database.models.DesignDescriptorWorkflow.design_job_id :type: str :value: > 'field(...)' ```{autodoc2-docstring} ovo.core.database.models.DesignDescriptorWorkflow.design_job_id ``` ```` ````` `````{py:class} DesignWorkflow :canonical: ovo.core.database.models.DesignWorkflow Bases: {py:obj}`ovo.core.database.models.Workflow` ```{autodoc2-docstring} ovo.core.database.models.DesignWorkflow ``` ````{py:attribute} acceptance_thresholds :canonical: ovo.core.database.models.DesignWorkflow.acceptance_thresholds :type: dict[str, ovo.core.database.models.Threshold] :value: > 'field(...)' ```{autodoc2-docstring} ovo.core.database.models.DesignWorkflow.acceptance_thresholds ``` ```` ````{py:method} get_table_row(**kwargs) -> pandas.Series :canonical: ovo.core.database.models.DesignWorkflow.get_table_row ```{autodoc2-docstring} ovo.core.database.models.DesignWorkflow.get_table_row ``` ```` ````{py:method} validate() :canonical: ovo.core.database.models.DesignWorkflow.validate ```{autodoc2-docstring} ovo.core.database.models.DesignWorkflow.validate ``` ```` ````{py:method} visualize_multiple_designs_structures(design_ids: list[str]) :canonical: ovo.core.database.models.DesignWorkflow.visualize_multiple_designs_structures :abstractmethod: :classmethod: ```{autodoc2-docstring} ovo.core.database.models.DesignWorkflow.visualize_multiple_designs_structures ``` ```` ````{py:method} visualize_single_design_structures(design_id: str) :canonical: ovo.core.database.models.DesignWorkflow.visualize_single_design_structures :classmethod: ```{autodoc2-docstring} ovo.core.database.models.DesignWorkflow.visualize_single_design_structures ``` ```` ````{py:method} visualize_single_design_sequences(design_id: str) :canonical: ovo.core.database.models.DesignWorkflow.visualize_single_design_sequences :classmethod: ```{autodoc2-docstring} ovo.core.database.models.DesignWorkflow.visualize_single_design_sequences ``` ```` ````` `````{py:class} UnknownWorkflow(data: dict, error: str) :canonical: ovo.core.database.models.UnknownWorkflow Bases: {py:obj}`ovo.core.database.models.DesignWorkflow`, {py:obj}`ovo.core.database.models.DescriptorWorkflow` ```{autodoc2-docstring} ovo.core.database.models.UnknownWorkflow ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} ovo.core.database.models.UnknownWorkflow.__init__ ``` ````{py:attribute} __do_not_serialize__ :canonical: ovo.core.database.models.UnknownWorkflow.__do_not_serialize__ :value: > True ```{autodoc2-docstring} ovo.core.database.models.UnknownWorkflow.__do_not_serialize__ ``` ```` ````{py:attribute} data :canonical: ovo.core.database.models.UnknownWorkflow.data :type: dict :value: > None ```{autodoc2-docstring} ovo.core.database.models.UnknownWorkflow.data ``` ```` ````{py:attribute} error :canonical: ovo.core.database.models.UnknownWorkflow.error :type: str :value: > None ```{autodoc2-docstring} ovo.core.database.models.UnknownWorkflow.error ``` ```` ````` `````{py:class} DesignJob :canonical: ovo.core.database.models.DesignJob Bases: {py:obj}`ovo.core.database.models.Base`, {py:obj}`ovo.core.database.models.MetadataMixin`, {py:obj}`ovo.core.database.models.JobMixin` ````{py:attribute} __tablename__ :canonical: ovo.core.database.models.DesignJob.__tablename__ :value: > 'design_job' ```{autodoc2-docstring} ovo.core.database.models.DesignJob.__tablename__ ``` ```` ````{py:attribute} id :canonical: ovo.core.database.models.DesignJob.id :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.DesignJob.id ``` ```` ````{py:attribute} workflow :canonical: ovo.core.database.models.DesignJob.workflow :type: sqlalchemy.orm.Mapped[ovo.core.database.models.DesignWorkflow] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.DesignJob.workflow ``` ```` ````` `````{py:class} Pool :canonical: ovo.core.database.models.Pool Bases: {py:obj}`ovo.core.database.models.Base`, {py:obj}`ovo.core.database.models.MetadataMixin` ````{py:attribute} __tablename__ :canonical: ovo.core.database.models.Pool.__tablename__ :value: > 'pool' ```{autodoc2-docstring} ovo.core.database.models.Pool.__tablename__ ``` ```` ````{py:attribute} __table_args__ :canonical: ovo.core.database.models.Pool.__table_args__ :value: > () ```{autodoc2-docstring} ovo.core.database.models.Pool.__table_args__ ``` ```` ````{py:attribute} id :canonical: ovo.core.database.models.Pool.id :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Pool.id ``` ```` ````{py:attribute} round_id :canonical: ovo.core.database.models.Pool.round_id :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Pool.round_id ``` ```` ````{py:attribute} design_job_id :canonical: ovo.core.database.models.Pool.design_job_id :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Pool.design_job_id ``` ```` ````{py:attribute} name :canonical: ovo.core.database.models.Pool.name :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Pool.name ``` ```` ````{py:attribute} description :canonical: ovo.core.database.models.Pool.description :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Pool.description ``` ```` ````{py:attribute} processed :canonical: ovo.core.database.models.Pool.processed :type: sqlalchemy.orm.Mapped[bool] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Pool.processed ``` ```` ````{py:method} generate_id() :canonical: ovo.core.database.models.Pool.generate_id :classmethod: ```{autodoc2-docstring} ovo.core.database.models.Pool.generate_id ``` ```` ````` ````{py:data} DesignChainType :canonical: ovo.core.database.models.DesignChainType :value: > None ```{autodoc2-docstring} ovo.core.database.models.DesignChainType ``` ```` ````{py:data} x :canonical: ovo.core.database.models.x :value: > None ```{autodoc2-docstring} ovo.core.database.models.x ``` ```` `````{py:class} DesignChain :canonical: ovo.core.database.models.DesignChain ```{autodoc2-docstring} ovo.core.database.models.DesignChain ``` ````{py:attribute} type :canonical: ovo.core.database.models.DesignChain.type :type: ovo.core.database.models.DesignChainType :value: > None ```{autodoc2-docstring} ovo.core.database.models.DesignChain.type ``` ```` ````{py:attribute} chain_ids :canonical: ovo.core.database.models.DesignChain.chain_ids :type: list[str] :value: > None ```{autodoc2-docstring} ovo.core.database.models.DesignChain.chain_ids ``` ```` ````{py:attribute} sequence :canonical: ovo.core.database.models.DesignChain.sequence :type: str :value: > None ```{autodoc2-docstring} ovo.core.database.models.DesignChain.sequence ``` ```` ````{py:attribute} smiles :canonical: ovo.core.database.models.DesignChain.smiles :type: str :value: > None ```{autodoc2-docstring} ovo.core.database.models.DesignChain.smiles ``` ```` ````{py:attribute} ccd :canonical: ovo.core.database.models.DesignChain.ccd :type: str :value: > None ```{autodoc2-docstring} ovo.core.database.models.DesignChain.ccd ``` ```` ````{py:attribute} contig :canonical: ovo.core.database.models.DesignChain.contig :type: str :value: > None ```{autodoc2-docstring} ovo.core.database.models.DesignChain.contig ``` ```` ````{py:attribute} cyclic :canonical: ovo.core.database.models.DesignChain.cyclic :type: bool :value: > False ```{autodoc2-docstring} ovo.core.database.models.DesignChain.cyclic ``` ```` ````` `````{py:class} DesignSpec :canonical: ovo.core.database.models.DesignSpec ```{autodoc2-docstring} ovo.core.database.models.DesignSpec ``` ````{py:attribute} chains :canonical: ovo.core.database.models.DesignSpec.chains :type: list[ovo.core.database.models.DesignChain] :value: > None ```{autodoc2-docstring} ovo.core.database.models.DesignSpec.chains ``` ```` ````{py:method} get_chain(chain_id: str) :canonical: ovo.core.database.models.DesignSpec.get_chain ```{autodoc2-docstring} ovo.core.database.models.DesignSpec.get_chain ``` ```` ````{py:method} from_pdb_str(pdb_data: str, chains: list[str], cyclic=False) :canonical: ovo.core.database.models.DesignSpec.from_pdb_str :classmethod: ```{autodoc2-docstring} ovo.core.database.models.DesignSpec.from_pdb_str ``` ```` ````{py:method} from_dict(data) :canonical: ovo.core.database.models.DesignSpec.from_dict :classmethod: ```{autodoc2-docstring} ovo.core.database.models.DesignSpec.from_dict ``` ```` ````` `````{py:class} Design :canonical: ovo.core.database.models.Design Bases: {py:obj}`ovo.core.database.models.Base` ````{py:attribute} __tablename__ :canonical: ovo.core.database.models.Design.__tablename__ :value: > 'design' ```{autodoc2-docstring} ovo.core.database.models.Design.__tablename__ ``` ```` ````{py:attribute} id :canonical: ovo.core.database.models.Design.id :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Design.id ``` ```` ````{py:attribute} pool_id :canonical: ovo.core.database.models.Design.pool_id :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Design.pool_id ``` ```` ````{py:attribute} structure_path :canonical: ovo.core.database.models.Design.structure_path :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Design.structure_path ``` ```` ````{py:attribute} structure_descriptor_key :canonical: ovo.core.database.models.Design.structure_descriptor_key :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Design.structure_descriptor_key ``` ```` ````{py:attribute} accepted :canonical: ovo.core.database.models.Design.accepted :type: sqlalchemy.orm.Mapped[bool] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Design.accepted ``` ```` ````{py:attribute} spec :canonical: ovo.core.database.models.Design.spec :type: sqlalchemy.orm.Mapped[ovo.core.database.models.DesignSpec] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Design.spec ``` ```` ````{py:attribute} contig_index :canonical: ovo.core.database.models.Design.contig_index :type: sqlalchemy.orm.Mapped[int] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.Design.contig_index ``` ```` ````{py:method} __post_init__() :canonical: ovo.core.database.models.Design.__post_init__ ```{autodoc2-docstring} ovo.core.database.models.Design.__post_init__ ``` ```` ````{py:method} design_id_to_pool_id(design_id: str) -> str :canonical: ovo.core.database.models.Design.design_id_to_pool_id :classmethod: ```{autodoc2-docstring} ovo.core.database.models.Design.design_id_to_pool_id ``` ```` ````{py:method} from_pdb_file(storage, filename: str, pdb_str: str, chains: list[str], project_id: str, pool_id: str, id: str = None, **kwargs) :canonical: ovo.core.database.models.Design.from_pdb_file :classmethod: ```{autodoc2-docstring} ovo.core.database.models.Design.from_pdb_file ``` ```` ````` `````{py:class} DescriptorJob :canonical: ovo.core.database.models.DescriptorJob Bases: {py:obj}`ovo.core.database.models.Base`, {py:obj}`ovo.core.database.models.MetadataMixin`, {py:obj}`ovo.core.database.models.JobMixin` ````{py:attribute} __tablename__ :canonical: ovo.core.database.models.DescriptorJob.__tablename__ :value: > 'descriptor_job' ```{autodoc2-docstring} ovo.core.database.models.DescriptorJob.__tablename__ ``` ```` ````{py:attribute} id :canonical: ovo.core.database.models.DescriptorJob.id :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.DescriptorJob.id ``` ```` ````{py:attribute} round_id :canonical: ovo.core.database.models.DescriptorJob.round_id :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.DescriptorJob.round_id ``` ```` ````{py:attribute} processed :canonical: ovo.core.database.models.DescriptorJob.processed :type: sqlalchemy.orm.Mapped[bool] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.DescriptorJob.processed ``` ```` ````{py:attribute} workflow :canonical: ovo.core.database.models.DescriptorJob.workflow :type: sqlalchemy.orm.Mapped[ovo.core.database.models.DescriptorWorkflow] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.DescriptorJob.workflow ``` ```` ````{py:method} generate_id(tries=100) :canonical: ovo.core.database.models.DescriptorJob.generate_id :classmethod: ```{autodoc2-docstring} ovo.core.database.models.DescriptorJob.generate_id ``` ```` ````` `````{py:class} DescriptorValue :canonical: ovo.core.database.models.DescriptorValue Bases: {py:obj}`ovo.core.database.models.Base` ````{py:attribute} __tablename__ :canonical: ovo.core.database.models.DescriptorValue.__tablename__ :value: > 'descriptor_value' ```{autodoc2-docstring} ovo.core.database.models.DescriptorValue.__tablename__ ``` ```` ````{py:attribute} design_id :canonical: ovo.core.database.models.DescriptorValue.design_id :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.DescriptorValue.design_id ``` ```` ````{py:attribute} descriptor_key :canonical: ovo.core.database.models.DescriptorValue.descriptor_key :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.DescriptorValue.descriptor_key ``` ```` ````{py:attribute} descriptor_job_id :canonical: ovo.core.database.models.DescriptorValue.descriptor_job_id :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.DescriptorValue.descriptor_job_id ``` ```` ````{py:attribute} chains :canonical: ovo.core.database.models.DescriptorValue.chains :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.DescriptorValue.chains ``` ```` ````{py:attribute} value :canonical: ovo.core.database.models.DescriptorValue.value :type: sqlalchemy.orm.Mapped[str] :value: > 'mapped_column(...)' ```{autodoc2-docstring} ovo.core.database.models.DescriptorValue.value ``` ```` ````` `````{py:class} Descriptor :canonical: ovo.core.database.models.Descriptor Bases: {py:obj}`abc.ABC` ````{py:attribute} name :canonical: ovo.core.database.models.Descriptor.name :type: str :value: > None ```{autodoc2-docstring} ovo.core.database.models.Descriptor.name ``` ```` ````{py:attribute} description :canonical: ovo.core.database.models.Descriptor.description :type: str :value: > None ```{autodoc2-docstring} ovo.core.database.models.Descriptor.description ``` ```` ````{py:attribute} tool :canonical: ovo.core.database.models.Descriptor.tool :type: str :value: > None ```{autodoc2-docstring} ovo.core.database.models.Descriptor.tool ``` ```` ````{py:attribute} key :canonical: ovo.core.database.models.Descriptor.key :type: str :value: > None ```{autodoc2-docstring} ovo.core.database.models.Descriptor.key ``` ```` ````{py:method} serialize(value) :canonical: ovo.core.database.models.Descriptor.serialize ```{autodoc2-docstring} ovo.core.database.models.Descriptor.serialize ``` ```` ````{py:method} deserialize(value) :canonical: ovo.core.database.models.Descriptor.deserialize ```{autodoc2-docstring} ovo.core.database.models.Descriptor.deserialize ``` ```` ````` `````{py:class} NumericDescriptor :canonical: ovo.core.database.models.NumericDescriptor Bases: {py:obj}`ovo.core.database.models.Descriptor`, {py:obj}`abc.ABC` ````{py:attribute} comparison :canonical: ovo.core.database.models.NumericDescriptor.comparison :type: str :value: > None ```{autodoc2-docstring} ovo.core.database.models.NumericDescriptor.comparison ``` ```` ````{py:attribute} min_value :canonical: ovo.core.database.models.NumericDescriptor.min_value :type: float :value: > None ```{autodoc2-docstring} ovo.core.database.models.NumericDescriptor.min_value ``` ```` ````{py:attribute} max_value :canonical: ovo.core.database.models.NumericDescriptor.max_value :type: float :value: > None ```{autodoc2-docstring} ovo.core.database.models.NumericDescriptor.max_value ``` ```` ````{py:attribute} warning_value :canonical: ovo.core.database.models.NumericDescriptor.warning_value :type: float :value: > None ```{autodoc2-docstring} ovo.core.database.models.NumericDescriptor.warning_value ``` ```` ````{py:attribute} error_value :canonical: ovo.core.database.models.NumericDescriptor.error_value :type: float :value: > None ```{autodoc2-docstring} ovo.core.database.models.NumericDescriptor.error_value ``` ```` ````{py:attribute} unit :canonical: ovo.core.database.models.NumericDescriptor.unit :type: str :value: > None ```{autodoc2-docstring} ovo.core.database.models.NumericDescriptor.unit ``` ```` ````{py:attribute} color_scale :canonical: ovo.core.database.models.NumericDescriptor.color_scale :type: str :value: > None ```{autodoc2-docstring} ovo.core.database.models.NumericDescriptor.color_scale ``` ```` ````{py:method} get_plot_range(values: pandas.Series, padding=0.05) -> tuple[float, float] | None :canonical: ovo.core.database.models.NumericDescriptor.get_plot_range ```{autodoc2-docstring} ovo.core.database.models.NumericDescriptor.get_plot_range ``` ```` ````{py:method} format(value) :canonical: ovo.core.database.models.NumericDescriptor.format ```{autodoc2-docstring} ovo.core.database.models.NumericDescriptor.format ``` ```` ````` ````{py:class} NumericGlobalDescriptor :canonical: ovo.core.database.models.NumericGlobalDescriptor Bases: {py:obj}`ovo.core.database.models.NumericDescriptor` ```{autodoc2-docstring} ovo.core.database.models.NumericGlobalDescriptor ``` ```` ````{py:class} NumericResidueDescriptor :canonical: ovo.core.database.models.NumericResidueDescriptor Bases: {py:obj}`ovo.core.database.models.NumericDescriptor` ```{autodoc2-docstring} ovo.core.database.models.NumericResidueDescriptor ``` ```` ````{py:class} StringGlobalDescriptor :canonical: ovo.core.database.models.StringGlobalDescriptor Bases: {py:obj}`ovo.core.database.models.Descriptor` ```{autodoc2-docstring} ovo.core.database.models.StringGlobalDescriptor ``` ```` `````{py:class} StringResidueDescriptor :canonical: ovo.core.database.models.StringResidueDescriptor Bases: {py:obj}`ovo.core.database.models.Descriptor` ```{autodoc2-docstring} ovo.core.database.models.StringResidueDescriptor ``` ````{py:method} serialize(value) :canonical: ovo.core.database.models.StringResidueDescriptor.serialize ```{autodoc2-docstring} ovo.core.database.models.StringResidueDescriptor.serialize ``` ```` ````{py:method} deserialize(value) :canonical: ovo.core.database.models.StringResidueDescriptor.deserialize ```{autodoc2-docstring} ovo.core.database.models.StringResidueDescriptor.deserialize ``` ```` ````` `````{py:class} CategoricalResidueDescriptor :canonical: ovo.core.database.models.CategoricalResidueDescriptor Bases: {py:obj}`ovo.core.database.models.Descriptor` ```{autodoc2-docstring} ovo.core.database.models.CategoricalResidueDescriptor ``` ````{py:attribute} category_labels :canonical: ovo.core.database.models.CategoricalResidueDescriptor.category_labels :type: dict[str] :value: > 'field(...)' ```{autodoc2-docstring} ovo.core.database.models.CategoricalResidueDescriptor.category_labels ``` ```` ````` ````{py:class} ResidueNumberDescriptor :canonical: ovo.core.database.models.ResidueNumberDescriptor Bases: {py:obj}`ovo.core.database.models.Descriptor` ```{autodoc2-docstring} ovo.core.database.models.ResidueNumberDescriptor ``` ```` ````{py:class} FileDescriptor :canonical: ovo.core.database.models.FileDescriptor Bases: {py:obj}`ovo.core.database.models.Descriptor` ```{autodoc2-docstring} ovo.core.database.models.FileDescriptor ``` ```` `````{py:class} StructureFileDescriptor :canonical: ovo.core.database.models.StructureFileDescriptor Bases: {py:obj}`ovo.core.database.models.FileDescriptor` ```{autodoc2-docstring} ovo.core.database.models.StructureFileDescriptor ``` ````{py:attribute} structure_type :canonical: ovo.core.database.models.StructureFileDescriptor.structure_type :type: typing.Literal[backbone_design, sequence_design, prediction, experimentally_resolved] :value: > None ```{autodoc2-docstring} ovo.core.database.models.StructureFileDescriptor.structure_type ``` ```` ````{py:attribute} b_factor_value :canonical: ovo.core.database.models.StructureFileDescriptor.b_factor_value :type: typing.Literal[plddt, fractional_plddt] :value: > None ```{autodoc2-docstring} ovo.core.database.models.StructureFileDescriptor.b_factor_value ``` ```` ````` ````{py:data} __all__ :canonical: ovo.core.database.models.__all__ :value: > ['Base', 'JobMixin', 'MetadataMixin', 'UserSettings', 'Project', 'Round', 'WorkflowParams', 'Thresho... ```{autodoc2-docstring} ovo.core.database.models.__all__ ``` ````