Source code for zcloud.data_enums
from enum import Enum
import os
[docs]
class MolecularStructure(Enum):
"""
Enum for the molecular structure types
"""
STANDARD_BCIF_BASENAME = "structure-standard"
[docs]
class BQTables(Enum):
"""
Enum for the special BigQuery tables (includes dataset)
"""
SCU_STRUCTURE_TABLE = os.getenv("SCU_STRUCTURE_TABLE", "SCU.raw_structure_table")
RAW_SCU_UPLOAD_TABLE = os.getenv("RAW_SCU_UPLOAD_TABLE", "SCU.raw_scu_upload_table")
[docs]
class DataBuckets(Enum):
"""
Enum for the data buckets
"""
BCIF_OUTPUT = os.getenv("BCIF_OUTPUT", "bcif_output")
ORDER_UPLOADER_GCS_BUCKET = os.getenv("ORDER_UPLOADER_GCS_BUCKET", "benchling_order_uploader_gcs_bucket")
[docs]
class StructureStandard(Enum):
"""
Enum for the structure standard
"""
STRUCTURE_TYPE = "structure_type"
[docs]
class MetadataFileCategories(Enum):
"""
Enum for the metadata file categories
"""
SCU_SCORES = "scu_scores"
SCHEMA_ENFORCEMENT = "schema_enforcement"
SCU_MANIFEST = "scu_manifest"
[docs]
class MetadataColumns(Enum):
"""
Enum for the metadata columns in the metadata tables
These are intended to expose columns that users will want to query on
"""
PROGRAM_ID = "program_id"
TARGET_ID = "target_id"
BINDING_SITE_ID = "binding_site_id"
USER_ID = "user_id"
FUSION_ID = "fusion_id"
USER_EMAIL = "user_email"
BENCHLING_PROGRAM_ID = "benchling_program_id"
BENCHLING_TARGET_ID = "benchling_target_id"
DESIGN_PROGRAM_ID = "design_program_id"
DESIGN_TARGET_ID = "design_target_id"
DESIGN_BINDING_SITE_ID = "design_binding_site_id"
DESIGN_FUSION_ID = "design_fusion_id"
MONDAY_PROGRAM_ID = "monday_program_id"
MONDAY_TARGET_ID = "monday_target_id"
ITERATION_NUMBER = "iteration_number"
GENERATION_ID = "generation_id"
FIELD = "Field"
DESCRIPTION = "Description"
COMMENTS = "Comments"
USER_FULL_NAME = "user_full_name"
CLUSTER_ID = "cluster_id"
[docs]
class MetadataTables(Enum):
"""
Enum for the metadata tables
"""
PROGRAM_TABLE = "program_table"
TARGET_TABLE = "target_table"
BINDING_SITE_TABLE = "binding_site_table"
USER_TABLE = "user_table"
FUSION_TABLE = "fusion_table"
AF2_LEGACY_TABLE = "af2_legacy_raw"
BOLTZ_SCU_SCORES_TABLE = "boltz_raw"
MPNN_SCU_SCORES_TABLE = "mpnn_raw"
OMEGAFOLD_LEGACY_TABLE = "omegafold_legacy_raw"
RFD_LEGACY_TABLE = "rfd_raw"
ROSETTA_LEGACY_TABLE = "rosetta_legacy_raw"
[docs]
class ServiceKeys(Enum):
"""
Enum for the service keys
"""
TABLE_ID = "table_id"
SEQUENCE_RECORDS = "sequence_records"
BIG_CSV_DATA = "big_csv_data"
ENTITY_REGISTRY_DATA = "entity_registry_data"
ENTRY_NAME = "entry_name"
GCS_BUCKET = "gcs_bucket"
AUTHOR_ZIPTX_EMAIL = "author_email"
ITERATION_FOLDER_ID = "iteration_folder_id"
COMMA_SEPARATED_TABLE_IDS = "comma_separated_table_ids"
MONDAY_TICKET_URL = "monday_ticket_url"
MONDAY_BOARD_FIELDS = "monday_board_fields"
[docs]
class MondayBoardFields(Enum):
"""
Enum for the Monday board fields
"""
PROJECT = os.getenv("MONDAY_PROJECT_FIELD", "Project")
TARGET = os.getenv("MONDAY_TARGET_FIELD", "Target")
STEP = os.getenv("MONDAY_STEP_FIELD", "Step")
INHOUSE_OR_EXTERNAL = os.getenv("MONDAY_INHOUSE_OR_EXTERNAL_FIELD", "In house/CRO")
STATUS = os.getenv("MONDAY_STATUS_FIELD", "Status")
REPORT = os.getenv("MONDAY_REPORT_FIELD", "Report")
ITERATION_CODE = os.getenv("MONDAY_ITERATION_CODE_FIELD", "Iteration Code")
[docs]
class BenchlingConstants(Enum):
"""
Enum for the Benchling constants
"""
BENCHLING_GENERATION_FOLDER_NAME = os.getenv("BENCHLING_GENERATION_FOLDER_NAME", "Generation")