import {z} from 'zod' export type GetApiRestV1CoreEntryEntryIdArgs = {entry_id: string}; export type GetApiRestV1CoreEntryEntryIdOptions = {baseUrl: string, fetch?: typeof fetch | undefined}; export const auditAuthor = z.object({identifier_ORCID: z.string().optional(), name: z.string().optional(), pdbx_ordinal: z.number().int()}); export const cell = z.object({Z_PDB: z.number().int().optional(), angle_alpha: z.number().optional(), angle_beta: z.number().optional(), angle_gamma: z.number().optional(), formula_units_Z: z.number().int().optional(), length_a: z.number().optional(), length_b: z.number().optional(), length_c: z.number().optional(), pdbx_unique_axis: z.string().optional(), volume: z.number().optional()}); export const citation = z.object({book_id_ISBN: z.string().optional(), book_publisher: z.string().optional(), book_publisher_city: z.string().optional(), book_title: z.string().optional(), coordinate_linkage: z.enum(["n", "no", "y", "yes"]).optional(), country: z.string().optional(), id: z.string(), journal_abbrev: z.string().optional(), journal_full: z.string().optional(), journal_id_ASTM: z.string().optional(), journal_id_CSD: z.string().optional(), journal_id_ISSN: z.string().optional(), journal_issue: z.string().optional(), journal_volume: z.string().optional(), language: z.string().optional(), page_first: z.string().optional(), page_last: z.string().optional(), pdbx_database_id_DOI: z.string().optional(), pdbx_database_id_PubMed: z.number().int().optional(), rcsb_authors: z.array(z.string()).optional(), rcsb_is_primary: z.enum(["N", "Y"]).optional(), rcsb_journal_abbrev: z.string().optional(), title: z.string().optional(), unpublished_flag: z.enum(["N", "Y"]).optional(), year: z.number().int().optional()}); export const database2 = z.object({database_code: z.string(), database_id: z.enum(["AlphaFoldDB", "BMRB", "EBI", "EMDB", "MODBASE", "ModelArchive", "NDB", "PDB", "PDB-Dev", "PDBE", "PDB_ACC", "RCSB", "SWISS-MODEL_REPOSITORY", "WWPDB"]), pdbx_DOI: z.string().optional(), pdbx_database_accession: z.string().optional()}); export const diffrn = z.object({ambient_pressure: z.number().optional(), ambient_temp: z.number().optional(), ambient_temp_details: z.string().optional(), crystal_id: z.string().optional(), crystal_support: z.string().optional(), details: z.string().optional(), id: z.string(), pdbx_serial_crystal_experiment: z.enum(["N", "Y"]).optional()}); export const diffrnDetector = z.object({details: z.string().optional(), detector: z.string().optional(), diffrn_id: z.string(), pdbx_collection_date: z.string().optional(), pdbx_frequency: z.number().optional(), type: z.string().optional()}); export const diffrnRadiation = z.object({collimation: z.string().optional(), diffrn_id: z.string(), monochromator: z.string().optional(), pdbx_diffrn_protocol: z.string().optional(), pdbx_monochromatic_or_laue_m_l: z.enum(["L", "M"]).optional(), pdbx_scattering_type: z.enum(["electron", "neutron", "x-ray"]).optional(), pdbx_wavelength: z.string().optional(), pdbx_wavelength_list: z.string().optional(), type: z.string().optional(), wavelength_id: z.string().optional()}); export const diffrnSource = z.object({details: z.string().optional(), diffrn_id: z.string(), pdbx_synchrotron_beamline: z.string().optional(), pdbx_synchrotron_site: z.string().optional(), pdbx_wavelength: z.string().optional(), pdbx_wavelength_list: z.string().optional(), source: z.string().optional(), type: z.string().optional()}); export const em2dCrystalEntity = z.object({angle_gamma: z.number().optional(), c_sampling_length: z.number().optional(), id: z.string(), image_processing_id: z.string(), length_a: z.number().optional(), length_b: z.number().optional(), length_c: z.number().optional(), space_group_name_H_M: z.enum(["C 1 2", "C 2 2 2", "P 1", "P 1 2", "P 1 21", "P 2", "P 2 2 2", "P 2 2 21", "P 2 21 21", "P 3", "P 3 1 2", "P 3 2 1", "P 4", "P 4 2 2", "P 4 21 2", "P 6", "P 6 2 2"]).optional()}); export const em3dCrystalEntity = z.object({angle_alpha: z.number().optional(), angle_beta: z.number().optional(), angle_gamma: z.number().optional(), id: z.string(), image_processing_id: z.string(), length_a: z.number().optional(), length_b: z.number().optional(), length_c: z.number().optional(), space_group_name: z.string().optional(), space_group_num: z.number().int().optional()}); export const em3dFitting = z.object({details: z.string().optional(), id: z.string(), method: z.string().optional(), overall_b_value: z.number().optional(), ref_protocol: z.enum(["AB INITIO MODEL", "BACKBONE TRACE", "FLEXIBLE FIT", "OTHER", "RIGID BODY FIT"]).optional(), ref_space: z.enum(["REAL", "RECIPROCAL"]).optional(), target_criteria: z.string().optional()}); export const em3dFittingList = z.object({"3d_fitting_id": z.string(), details: z.string().optional(), id: z.string(), pdb_chain_id: z.string().optional(), pdb_chain_residue_range: z.string().optional(), pdb_entry_id: z.string().optional()}); export const em3dReconstruction = z.object({actual_pixel_size: z.number().optional(), algorithm: z.string().optional(), details: z.string().optional(), id: z.string(), image_processing_id: z.string(), magnification_calibration: z.string().optional(), method: z.string().optional(), nominal_pixel_size: z.number().optional(), num_class_averages: z.number().int().optional(), num_particles: z.number().int().optional(), refinement_type: z.enum(["HALF-MAPS REFINED AGAINST SAME DATA", "HALF-MAPS REFINED INDEPENDENTLY", "HALF-MAPS REFINED INDEPENDENTLY WITH FREQUENCY RANGE OMITTED", "HALF-MAPS REFINED WITH FREQUENCY RANGE OMITTED", "OTHER"]).optional(), resolution: z.number().optional(), resolution_method: z.string().optional(), symmetry_type: z.enum(["2D CRYSTAL", "3D CRYSTAL", "HELICAL", "POINT"]).optional()}); export const emCtfCorrection = z.object({details: z.string().optional(), em_image_processing_id: z.string().optional(), id: z.string(), type: z.string().optional()}); export const emDiffraction = z.object({camera_length: z.number().optional(), id: z.string(), imaging_id: z.string().optional(), tilt_angle_list: z.string().optional()}); export const emDiffractionShell = z.object({em_diffraction_stats_id: z.string().optional(), fourier_space_coverage: z.number().optional(), high_resolution: z.number().optional(), id: z.string(), low_resolution: z.number().optional(), multiplicity: z.number().optional(), num_structure_factors: z.number().int().optional(), phase_residual: z.number().optional()}); export const emDiffractionStats = z.object({details: z.string().optional(), fourier_space_coverage: z.number().optional(), high_resolution: z.number().optional(), id: z.string(), image_processing_id: z.string().optional(), num_intensities_measured: z.number().int().optional(), num_structure_factors: z.number().int().optional(), overall_phase_error: z.number().optional(), overall_phase_residual: z.number().optional(), phase_error_rejection_criteria: z.string().optional(), r_merge: z.number().optional(), r_sym: z.number().optional()}); export const emEmbedding = z.object({details: z.string().optional(), id: z.string(), material: z.string().optional(), specimen_id: z.string().optional()}); export const emEntityAssembly = z.object({details: z.string().optional(), entity_id_list: z.array(z.string()).optional(), id: z.string(), name: z.string().optional(), oligomeric_details: z.string().optional(), parent_id: z.number().int().optional(), source: z.enum(["MULTIPLE SOURCES", "NATURAL", "RECOMBINANT", "SYNTHETIC"]).optional(), synonym: z.string().optional(), type: z.string().optional()}); export const emExperiment = z.object({aggregation_state: z.enum(["2D ARRAY", "3D ARRAY", "CELL", "FILAMENT", "HELICAL ARRAY", "PARTICLE", "TISSUE"]).optional(), entity_assembly_id: z.string().optional(), id: z.string().optional(), reconstruction_method: z.enum(["CRYSTALLOGRAPHY", "HELICAL", "SINGLE PARTICLE", "SUBTOMOGRAM AVERAGING", "TOMOGRAPHY"]).optional()}); export const emHelicalEntity = z.object({angular_rotation_per_subunit: z.number().optional(), axial_rise_per_subunit: z.number().optional(), axial_symmetry: z.string().optional(), details: z.string().optional(), id: z.string(), image_processing_id: z.string()}); export const emImageRecording = z.object({average_exposure_time: z.number().optional(), avg_electron_dose_per_image: z.number().optional(), details: z.string().optional(), detector_mode: z.enum(["COUNTING", "INTEGRATING", "OTHER", "SUPER-RESOLUTION"]).optional(), film_or_detector_model: z.string().optional(), id: z.string(), imaging_id: z.string(), num_diffraction_images: z.number().int().optional(), num_grids_imaged: z.number().int().optional(), num_real_images: z.number().int().optional()}); export const emImaging = z.object({accelerating_voltage: z.number().int().optional(), alignment_procedure: z.enum(["BASIC", "COMA FREE", "NONE", "OTHER", "ZEMLIN TABLEAU"]).optional(), astigmatism: z.string().optional(), c2_aperture_diameter: z.number().optional(), calibrated_defocus_max: z.number().optional(), calibrated_defocus_min: z.number().optional(), calibrated_magnification: z.number().int().optional(), cryogen: z.enum(["HELIUM", "NITROGEN"]).optional(), date: z.string().optional(), details: z.string().optional(), detector_distance: z.number().optional(), electron_beam_tilt_params: z.string().optional(), electron_source: z.string().optional(), id: z.string(), illumination_mode: z.enum(["FLOOD BEAM", "OTHER", "SPOT SCAN"]).optional(), microscope_model: z.enum(["FEI MORGAGNI", "FEI POLARA 300", "FEI TALOS ARCTICA", "FEI TECNAI 10", "FEI TECNAI 12", "FEI TECNAI 20", "FEI TECNAI ARCTICA", "FEI TECNAI F20", "FEI TECNAI F30", "FEI TECNAI SPHERA", "FEI TECNAI SPIRIT", "FEI TITAN", "FEI TITAN KRIOS", "FEI/PHILIPS CM10", "FEI/PHILIPS CM12", "FEI/PHILIPS CM120T", "FEI/PHILIPS CM200FEG", "FEI/PHILIPS CM200FEG/SOPHIE", "FEI/PHILIPS CM200FEG/ST", "FEI/PHILIPS CM200FEG/UT", "FEI/PHILIPS CM200T", "FEI/PHILIPS CM300FEG/HE", "FEI/PHILIPS CM300FEG/ST", "FEI/PHILIPS CM300FEG/T", "FEI/PHILIPS EM400", "FEI/PHILIPS EM420", "HITACHI EF2000", "HITACHI EF3000", "HITACHI H-9500SD", "HITACHI H3000 UHVEM", "HITACHI H7600", "HITACHI HF2000", "HITACHI HF3000", "JEOL 1000EES", "JEOL 100B", "JEOL 100CX", "JEOL 1010", "JEOL 1200", "JEOL 1200EX", "JEOL 1200EXII", "JEOL 1230", "JEOL 1400", "JEOL 1400/HR + YPS FEG", "JEOL 2000EX", "JEOL 2000EXII", "JEOL 2010", "JEOL 2010F", "JEOL 2010HC", "JEOL 2010HT", "JEOL 2010UHR", "JEOL 2011", "JEOL 2100", "JEOL 2100F", "JEOL 2200FS", "JEOL 2200FSC", "JEOL 3000SFF", "JEOL 3100FEF", "JEOL 3100FFC", "JEOL 3200FS", "JEOL 3200FSC", "JEOL 4000", "JEOL 4000EX", "JEOL CRYO ARM 200", "JEOL CRYO ARM 300", "JEOL JEM-F200", "JEOL KYOTO-3000SFF", "SHUIMU TOTEM 120S", "SHUIMU TOTEM 200S", "SHUIMU TOTEM 300S", "SIEMENS SULEIKA", "TFS GLACIOS", "TFS KRIOS", "TFS TALOS", "TFS TALOS F200C", "TFS TALOS L120C", "TFS TITAN THEMIS", "TFS TUNDRA", "ZEISS LEO912", "ZEISS LIBRA120PLUS"]).optional(), mode: z.enum(["4D-STEM", "BRIGHT FIELD", "DARK FIELD", "DIFFRACTION", "OTHER"]).optional(), nominal_cs: z.number().optional(), nominal_defocus_max: z.number().optional(), nominal_defocus_min: z.number().optional(), nominal_magnification: z.number().int().optional(), recording_temperature_maximum: z.number().optional(), recording_temperature_minimum: z.number().optional(), residual_tilt: z.number().optional(), specimen_holder_model: z.enum(["FEI TITAN KRIOS AUTOGRID HOLDER", "FISCHIONE 2550", "FISCHIONE INSTRUMENTS DUAL AXIS TOMOGRAPHY HOLDER", "GATAN 626 SINGLE TILT LIQUID NITROGEN CRYO TRANSFER HOLDER", "GATAN 910 MULTI-SPECIMEN SINGLE TILT CRYO TRANSFER HOLDER", "GATAN 914 HIGH TILT LIQUID NITROGEN CRYO TRANSFER TOMOGRAPHY HOLDER", "GATAN 915 DOUBLE TILT LIQUID NITROGEN CRYO TRANSFER HOLDER", "GATAN CHDT 3504 DOUBLE TILT HIGH RESOLUTION NITROGEN COOLING HOLDER", "GATAN CT3500 SINGLE TILT LIQUID NITROGEN CRYO TRANSFER HOLDER", "GATAN CT3500TR SINGLE TILT ROTATION LIQUID NITROGEN CRYO TRANSFER HOLDER", "GATAN ELSA 698 SINGLE TILT LIQUID NITROGEN CRYO TRANSFER HOLDER", "GATAN HC 3500 SINGLE TILT HEATING/NITROGEN COOLING HOLDER", "GATAN HCHDT 3010 DOUBLE TILT HIGH RESOLUTION HELIUM COOLING HOLDER", "GATAN HCHST 3008 SINGLE TILT HIGH RESOLUTION HELIUM COOLING HOLDER", "GATAN HELIUM", "GATAN LIQUID NITROGEN", "GATAN UHRST 3500 SINGLE TILT ULTRA HIGH RESOLUTION NITROGEN COOLING HOLDER", "GATAN ULTDT ULTRA LOW TEMPERATURE DOUBLE TILT HELIUM COOLING HOLDER", "GATAN ULTST ULTRA LOW TEMPERATURE SINGLE TILT HELIUM COOLING HOLDER", "HOME BUILD", "JEOL", "JEOL 3200FSC CRYOHOLDER", "JEOL CRYOSPECPORTER", "OTHER", "PHILIPS ROTATION HOLDER", "SIDE ENTRY, EUCENTRIC"]).optional(), specimen_holder_type: z.string().optional(), specimen_id: z.string().optional(), temperature: z.number().optional(), tilt_angle_max: z.number().optional(), tilt_angle_min: z.number().optional()}); export const emParticleSelection = z.object({details: z.string().optional(), id: z.string(), image_processing_id: z.string(), num_particles_selected: z.number().int().optional()}); export const emSingleParticleEntity = z.object({id: z.number().int(), image_processing_id: z.string(), point_symmetry: z.string().optional()}); export const emSoftware = z.object({category: z.enum(["CLASSIFICATION", "CRYSTALLOGRAPHY MERGING", "CTF CORRECTION", "DIFFRACTION INDEXING", "EWALD SPHERE CORRECTION", "FINAL EULER ASSIGNMENT", "IMAGE ACQUISITION", "INITIAL EULER ASSIGNMENT", "LATTICE DISTORTION CORRECTION", "LAYERLINE INDEXING", "MASKING", "MODEL FITTING", "MODEL REFINEMENT", "MOLECULAR REPLACEMENT", "OTHER", "PARTICLE SELECTION", "RECONSTRUCTION", "SERIES ALIGNMENT", "SYMMETRY DETERMINATION", "VOLUME SELECTION"]).optional(), details: z.string().optional(), fitting_id: z.string().optional(), id: z.string(), image_processing_id: z.string().optional(), imaging_id: z.string().optional(), name: z.string().optional(), version: z.string().optional()}); export const emSpecimen = z.object({concentration: z.number().optional(), details: z.string().optional(), embedding_applied: z.enum(["NO", "YES"]).optional(), experiment_id: z.string(), id: z.string(), shadowing_applied: z.enum(["NO", "YES"]).optional(), staining_applied: z.enum(["NO", "YES"]).optional(), vitrification_applied: z.enum(["NO", "YES"]).optional()}); export const emStaining = z.object({details: z.string().optional(), id: z.string(), material: z.string().optional(), specimen_id: z.string().optional(), type: z.enum(["NEGATIVE", "NONE", "POSITIVE"]).optional()}); export const emVitrification = z.object({chamber_temperature: z.number().optional(), cryogen_name: z.enum(["ETHANE", "ETHANE-PROPANE", "FREON 12", "FREON 22", "HELIUM", "METHANE", "NITROGEN", "OTHER", "PROPANE"]).optional(), details: z.string().optional(), humidity: z.number().optional(), id: z.string(), instrument: z.enum(["CHAMELEON", "CRYOGENIUM", "CRYOSOL VITROJET", "CRYOWRITER", "EMS-002 RAPID IMMERSION FREEZER", "FEI VITROBOT MARK I", "FEI VITROBOT MARK II", "FEI VITROBOT MARK III", "FEI VITROBOT MARK IV", "GATAN CRYOPLUNGE 3", "HOMEMADE PLUNGER", "LEICA EM CPC", "LEICA EM GP", "LEICA EM GP2", "LEICA KF80", "LEICA PLUNGER", "REICHERT-JUNG PLUNGER", "SPOTITON", "SPT LABTECH CHAMELEON", "ZEISS PLUNGE FREEZER CRYOBOX"]).optional(), method: z.string().optional(), specimen_id: z.string(), temp: z.number().optional(), time_resolved_state: z.string().optional()}); export const entry = z.object({id: z.string(), ma_collection_id: z.string().optional()}); export const exptl = z.object({crystals_number: z.number().int().optional(), details: z.string().optional(), method: z.enum(["ELECTRON CRYSTALLOGRAPHY", "ELECTRON MICROSCOPY", "EPR", "FIBER DIFFRACTION", "FLUORESCENCE TRANSFER", "INFRARED SPECTROSCOPY", "NEUTRON DIFFRACTION", "POWDER DIFFRACTION", "SOLID-STATE NMR", "SOLUTION NMR", "SOLUTION SCATTERING", "THEORETICAL MODEL", "X-RAY DIFFRACTION"]), method_details: z.string().optional()}); export const exptlCrystal = z.object({colour: z.string().optional(), density_Matthews: z.number().optional(), density_meas: z.number().optional(), density_percent_sol: z.number().optional(), description: z.string().optional(), id: z.string(), pdbx_mosaicity: z.number().optional(), pdbx_mosaicity_esd: z.number().optional(), preparation: z.string().optional()}); export const exptlCrystalGrow = z.object({crystal_id: z.string(), details: z.string().optional(), method: z.string().optional(), pH: z.number().optional(), pdbx_details: z.string().optional(), pdbx_pH_range: z.string().optional(), temp: z.number().optional(), temp_details: z.string().optional()}); export const ihmEntryCollectionMapping = z.object({collection_id: z.string()}); export const ihmExternalReferenceInfo = z.object({associated_url: z.string().optional(), reference: z.string().optional(), reference_provider: z.string().optional()}); export const maData = z.object({content_type: z.enum(["coevolution MSA", "input structure", "model coordinates", "other", "polymeric template library", "reference database", "spatial restraints", "target", "target-template alignment", "template structure"]).optional(), content_type_other_details: z.string().optional(), id: z.number().int(), name: z.string().optional()}); export const pdbxSGProject = z.object({full_name_of_center: z.enum(["Accelerated Technologies Center for Gene to 3D Structure", "Assembly, Dynamics and Evolution of Cell-Cell and Cell-Matrix Adhesions", "Atoms-to-Animals: The Immune Function Network", "Bacterial targets at IGS-CNRS, France", "Berkeley Structural Genomics Center", "Center for Eukaryotic Structural Genomics", "Center for High-Throughput Structural Biology", "Center for Membrane Proteins of Infectious Diseases", "Center for Structural Biology of Infectious Diseases", "Center for Structural Genomics of Infectious Diseases", "Center for Structures of Membrane Proteins", "Center for the X-ray Structure Determination of Human Transporters", "Chaperone-Enabled Studies of Epigenetic Regulation Enzymes", "Enzyme Discovery for Natural Product Biosynthesis", "GPCR Network", "Integrated Center for Structure and Function Innovation", "Israel Structural Proteomics Center", "Joint Center for Structural Genomics", "Marseilles Structural Genomics Program @ AFMB", "Medical Structural Genomics of Pathogenic Protozoa", "Membrane Protein Structural Biology Consortium", "Membrane Protein Structures by Solution NMR", "Midwest Center for Macromolecular Research", "Midwest Center for Structural Genomics", "Mitochondrial Protein Partnership", "Montreal-Kingston Bacterial Structural Genomics Initiative", "Mycobacterium Tuberculosis Structural Proteomics Project", "New York Consortium on Membrane Protein Structure", "New York SGX Research Center for Structural Genomics", "New York Structural GenomiX Research Consortium", "New York Structural Genomics Research Consortium", "Northeast Structural Genomics Consortium", "Nucleocytoplasmic Transport: a Target for Cellular Control", "Ontario Centre for Structural Proteomics", "Oxford Protein Production Facility", "Paris-Sud Yeast Structural Genomics", "Partnership for Nuclear Receptor Signaling Code Biology", "Partnership for Stem Cell Biology", "Partnership for T-Cell Biology", "Program for the Characterization of Secreted Effector Proteins", "Protein Structure Factory", "RIKEN Structural Genomics/Proteomics Initiative", "Scottish Structural Proteomics Facility", "Seattle Structural Genomics Center for Infectious Disease", "South Africa Structural Targets Annotation Database", "Southeast Collaboratory for Structural Genomics", "Structural Genomics Consortium", "Structural Genomics Consortium for Research on Gene Expression", "Structural Genomics of Pathogenic Protozoa Consortium", "Structural Proteomics in Europe", "Structural Proteomics in Europe 2", "Structure 2 Function Project", "Structure, Dynamics and Activation Mechanisms of Chemokine Receptors", "Structure-Function Analysis of Polymorphic CDI Toxin-Immunity Protein Complexes", "Structure-Function Studies of Tight Junction Membrane Proteins", "Structures of Mtb Proteins Conferring Susceptibility to Known Mtb Inhibitors", "TB Structural Genomics Consortium", "Transcontinental EM Initiative for Membrane Protein Structure", "Transmembrane Protein Center"]).optional(), id: z.union([z.literal(1), z.literal(2), z.literal(3), z.literal(4), z.literal(5), z.literal(6), z.literal(7), z.literal(8), z.literal(9), z.literal(10)]), initial_of_center: z.enum(["ATCG3D", "BIGS", "BSGC", "BSGI", "CEBS", "CELLMAT", "CESG", "CHSAM", "CHTSB", "CSBID", "CSGID", "CSMP", "GPCR", "IFN", "ISFI", "ISPC", "JCSG", "MCMR", "MCSG", "MPID", "MPP", "MPSBC", "MPSbyNMR", "MSGP", "MSGPP", "MTBI", "NESG", "NHRs", "NPCXstals", "NYCOMPS", "NYSGRC", "NYSGXRC", "NatPro", "OCSP", "OPPF", "PCSEP", "PSF", "RSGI", "S2F", "SASTAD", "SECSG", "SGC", "SGCGES", "SGPP", "SPINE", "SPINE-2", "SSGCID", "SSPF", "STEMCELL", "TBSGC", "TCELL", "TEMIMPS", "TJMP", "TMPC", "TransportPDB", "UC4CDI", "XMTB", "YSG"]).optional(), project_name: z.enum(["Enzyme Function Initiative", "NIAID, National Institute of Allergy and Infectious Diseases", "NPPSFA, National Project on Protein Structural and Functional Analyses", "PSI, Protein Structure Initiative", "PSI:Biology"]).optional()}); export const pdbxAuditRevisionCategory = z.object({category: z.string().optional(), data_content_type: z.enum(["Additional map", "Chemical component", "EM metadata", "FSC", "Half map", "Image", "Mask", "NMR restraints", "NMR shifts", "Primary map", "Structure factors", "Structure model"]), ordinal: z.number().int(), revision_ordinal: z.number().int()}); export const pdbxAuditRevisionDetails = z.object({data_content_type: z.enum(["Additional map", "Chemical component", "EM metadata", "FSC", "Half map", "Image", "Mask", "NMR restraints", "NMR shifts", "Primary map", "Structure factors", "Structure model"]), description: z.string().optional(), details: z.string().optional(), ordinal: z.number().int(), provider: z.enum(["author", "repository"]).optional(), revision_ordinal: z.number().int(), type: z.enum(["Coordinate replacement", "Data added", "Data removed", "Data updated", "Initial release", "Obsolete", "Remediation"]).optional()}); export const pdbxAuditRevisionGroup = z.object({data_content_type: z.enum(["Additional map", "Chemical component", "EM metadata", "FSC", "Half map", "Image", "Mask", "NMR restraints", "NMR shifts", "Primary map", "Structure factors", "Structure model"]), group: z.enum(["Advisory", "Atomic model", "Author supporting evidence", "Data collection", "Data processing", "Database references", "Derived calculations", "Experimental data", "Experimental preparation", "Experimental summary", "Non-polymer description", "Other", "Polymer sequence", "Refinement description", "Source and taxonomy", "Structure summary", "Version format compliance"]).optional(), ordinal: z.number().int(), revision_ordinal: z.number().int()}); export const pdbxAuditRevisionHistory = z.object({data_content_type: z.enum(["Additional map", "Chemical component", "EM metadata", "FSC", "Half map", "Image", "Mask", "NMR restraints", "NMR shifts", "Primary map", "Structure factors", "Structure model"]), major_revision: z.number().int().optional(), minor_revision: z.number().int().optional(), ordinal: z.number().int(), revision_date: z.string().optional()}); export const pdbxAuditRevisionItem = z.object({data_content_type: z.enum(["Additional map", "Chemical component", "EM metadata", "FSC", "Half map", "Image", "Mask", "NMR restraints", "NMR shifts", "Primary map", "Structure factors", "Structure model"]), item: z.string().optional(), ordinal: z.number().int(), revision_ordinal: z.number().int()}); export const pdbxAuditSupport = z.object({country: z.string().optional(), funding_organization: z.string().optional(), grant_number: z.string().optional(), ordinal: z.number().int()}); export const pdbxDatabasePDBObsSpr = z.object({date: z.string().optional(), details: z.string().optional(), id: z.enum(["OBSLTE", "SPRSDE"]).optional(), pdb_id: z.string(), replace_pdb_id: z.string()}); export const pdbxDatabaseRelated = z.object({content_type: z.enum(["associated EM volume", "associated NMR restraints", "associated SAS data", "associated structure factors", "complete structure", "consensus EM volume", "derivative structure", "ensemble", "focused EM volume", "minimized average structure", "native structure", "other", "other EM volume", "protein target sequence and/or protocol data", "re-refinement", "representative structure", "split", "unspecified"]), db_id: z.string(), db_name: z.enum(["BIOISIS", "BMCD", "BMRB", "EMDB", "NDB", "PDB", "PDB-Dev", "SASBDB", "TargetDB", "TargetTrack"]), details: z.string().optional()}); export const pdbxDatabaseStatus = z.object({SG_entry: z.enum(["N", "Y"]).optional(), deposit_site: z.enum(["BMRB", "BNL", "NDB", "PDBC", "PDBE", "PDBJ", "RCSB"]).optional(), methods_development_category: z.enum(["CAPRI", "CASD-NMR", "CASP", "D3R", "FoldIt", "GPCR Dock", "RNA-Puzzles"]).optional(), pdb_format_compatible: z.enum(["N", "Y"]).optional(), process_site: z.enum(["BNL", "NDB", "PDBC", "PDBE", "PDBJ", "RCSB"]).optional(), recvd_initial_deposition_date: z.string().optional(), status_code: z.enum(["AUCO", "AUTH", "BIB", "DEL", "HOLD", "HPUB", "OBS", "POLC", "PROC", "REFI", "REL", "REPL", "REV", "RMVD", "TRSF", "UPD", "WAIT", "WDRN"]).optional(), status_code_cs: z.enum(["AUCO", "AUTH", "HOLD", "HPUB", "OBS", "POLC", "PROC", "REL", "REPL", "RMVD", "WAIT", "WDRN"]).optional(), status_code_mr: z.enum(["AUCO", "AUTH", "HOLD", "HPUB", "OBS", "POLC", "PROC", "REL", "REPL", "RMVD", "WAIT", "WDRN"]).optional(), status_code_sf: z.enum(["AUTH", "HOLD", "HPUB", "OBS", "POLC", "PROC", "REL", "REPL", "RMVD", "WAIT", "WDRN"]).optional()}); export const pdbxDepositGroup = z.object({group_description: z.string().optional(), group_id: z.string(), group_title: z.string().optional(), group_type: z.enum(["changed state", "ground state", "undefined"]).optional()}); export const pdbxInitialRefinementModel = z.object({accession_code: z.string().optional(), details: z.string().optional(), entity_id_list: z.array(z.string()).optional(), id: z.number().int(), source_name: z.enum(["AlphaFold", "ITasser", "InsightII", "ModelAngelo", "ModelArchive", "Modeller", "Other", "PDB", "PDB-Dev", "PHYRE", "Robetta", "RoseTTAFold", "SwissModel"]).optional(), type: z.enum(["experimental model", "in silico model", "integrative model", "other"]).optional()}); export const pdbxMoleculeFeatures = z.object({class: z.enum(["Antagonist", "Anthelmintic", "Antibiotic", "Antibiotic, Anthelmintic", "Antibiotic, Antimicrobial", "Antibiotic, Antineoplastic", "Anticancer", "Anticoagulant", "Anticoagulant, Antithrombotic", "Antifungal", "Antigen", "Antiinflammatory", "Antimicrobial", "Antimicrobial, Antiparasitic, Antibiotic", "Antimicrobial, Antiretroviral", "Antimicrobial, Antitumor", "Antineoplastic", "Antiparasitic", "Antiretroviral", "Antithrombotic", "Antitumor", "Antiviral", "CASPASE inhibitor", "Chaperone binding", "Drug delivery", "Enzyme inhibitor", "Glycan component", "Growth factor", "Immunosuppressant", "Inducer", "Inhibitor", "Lantibiotic", "Metabolism", "Metal transport", "Nutrient", "Oxidation-reduction", "Protein binding", "Receptor", "Substrate analog", "Synthetic opioid", "Thrombin inhibitor", "Thrombin inhibitor, Trypsin inhibitor", "Toxin", "Transition state mimetic", "Transport activator", "Trypsin inhibitor", "Unknown", "Water retention"]).optional(), details: z.string().optional(), name: z.string().optional(), prd_id: z.string(), type: z.enum(["Amino acid", "Aminoglycoside", "Ansamycin", "Anthracycline", "Anthraquinone", "Chalkophore", "Chalkophore, Polypeptide", "Chromophore", "Cyclic depsipeptide", "Cyclic lipopeptide", "Cyclic peptide", "Glycopeptide", "Heterocyclic", "Imino sugar", "Keto acid", "Lipoglycopeptide", "Lipopeptide", "Macrolide", "Non-polymer", "Nucleoside", "Oligopeptide", "Oligosaccharide", "Peptaibol", "Peptide-like", "Polycyclic", "Polypeptide", "Polysaccharide", "Quinolone", "Siderophore", "Thiolactone", "Thiopeptide", "Unknown"]).optional()}); export const pdbxNmrDetails = z.object({text: z.string().optional()}); export const pdbxNmrEnsemble = z.object({average_constraint_violations_per_residue: z.number().int().optional(), average_constraints_per_residue: z.number().int().optional(), average_distance_constraint_violation: z.number().optional(), average_torsion_angle_constraint_violation: z.number().optional(), conformer_selection_criteria: z.string().optional(), conformers_calculated_total_number: z.number().int().optional(), conformers_submitted_total_number: z.number().int().optional(), distance_constraint_violation_method: z.string().optional(), maximum_distance_constraint_violation: z.number().optional(), maximum_lower_distance_constraint_violation: z.number().optional(), maximum_torsion_angle_constraint_violation: z.number().optional(), maximum_upper_distance_constraint_violation: z.number().optional(), representative_conformer: z.number().int().optional(), torsion_angle_constraint_violation_method: z.string().optional()}); export const pdbxNmrExptl = z.object({conditions_id: z.string(), experiment_id: z.string(), sample_state: z.enum(["anisotropic", "isotropic"]).optional(), solution_id: z.string(), spectrometer_id: z.number().int().optional(), type: z.string().optional()}); export const pdbxNmrExptlSampleConditions = z.object({conditions_id: z.string(), details: z.string().optional(), ionic_strength: z.string().optional(), ionic_strength_err: z.number().optional(), ionic_strength_units: z.enum(["M", "Not defined", "mM"]).optional(), label: z.string().optional(), pH: z.string().optional(), pH_err: z.number().optional(), pH_units: z.enum(["Not defined", "pD", "pH", "pH*"]).optional(), pressure: z.string().optional(), pressure_err: z.number().optional(), pressure_units: z.string().optional(), temperature: z.string().optional(), temperature_err: z.number().optional(), temperature_units: z.enum(["C", "K", "Not defined"]).optional()}); export const pdbxNmrRefine = z.object({details: z.string().optional(), method: z.string().optional(), software_ordinal: z.number().int()}); export const pdbxNmrRepresentative = z.object({conformer_id: z.string().optional(), selection_criteria: z.string().optional()}); export const pdbxNmrSampleDetails = z.object({contents: z.string().optional(), details: z.string().optional(), label: z.string().optional(), solution_id: z.string(), solvent_system: z.string().optional(), type: z.enum(["bicelle", "emulsion", "fiber", "fibrous protein", "filamentous virus", "gel solid", "gel solution", "liposome", "lyophilized powder", "membrane", "micelle", "oriented membrane film", "polycrystalline powder", "reverse micelle", "single crystal", "solid", "solution"]).optional()}); export const pdbxNmrSoftware = z.object({authors: z.string().optional(), classification: z.string().optional(), name: z.string().optional(), ordinal: z.number().int(), version: z.string().optional()}); export const pdbxNmrSpectrometer = z.object({details: z.string().optional(), field_strength: z.number().optional(), manufacturer: z.string().optional(), model: z.string().optional(), spectrometer_id: z.string(), type: z.string().optional()}); export const pdbxReflnsTwin = z.object({crystal_id: z.string(), diffrn_id: z.string(), domain_id: z.string().optional(), fraction: z.number().optional(), operator: z.string(), type: z.enum(["epitaxial", "hemihedral", "merohedral", "non-merohedral", "pseudo-merohedral", "tetartohedral"]).optional()}); export const pdbxRelatedExpDataSet = z.object({data_reference: z.string().optional(), data_set_type: z.string().optional(), db_source: z.enum(["Apollo - University of Cambridge Repository", "CXIDB", "DRYAD Database", "EMPIAR", "ESRF Data Portal", "ETH Zurich Research Collection", "Etsin", "Integrated Resource for Reproducibility in Macromolecular Crystallography", "International Union of Crystallography", "KAUST Repository", "Keele Data Repository", "MAXIV Public Data Repository", "MX-RDR (Macromolecular Xtallography Raw Data Repository)", "Manchester eScholar Services", "Mendeley Data", "PSI Public Data Repository", "ProteinDiffraction", "RMIT University Figshare", "SBGrid Data Bank", "Xtal Raw Data Archive", "Zenodo"]).optional(), details: z.string().optional(), metadata_reference: z.string().optional()}); export const pdbxSerialCrystallographyDataReduction = z.object({crystal_hits: z.number().int().optional(), diffrn_id: z.string(), droplet_hits: z.number().int().optional(), frame_hits: z.number().int().optional(), frames_failed_index: z.number().int().optional(), frames_indexed: z.number().int().optional(), frames_total: z.number().int().optional(), lattices_indexed: z.number().int().optional(), lattices_merged: z.number().int().optional(), xfel_pulse_events: z.number().int().optional(), xfel_run_numbers: z.string().optional()}); export const pdbxSerialCrystallographyMeasurement = z.object({collection_time_total: z.number().optional(), collimation: z.string().optional(), diffrn_id: z.string(), focal_spot_size: z.number().optional(), photons_per_pulse: z.number().optional(), pulse_duration: z.number().optional(), pulse_energy: z.number().optional(), pulse_photon_energy: z.number().optional(), source_distance: z.number().optional(), source_size: z.number().optional(), xfel_pulse_repetition_rate: z.number().optional()}); export const pdbxSerialCrystallographySampleDelivery = z.object({description: z.string().optional(), diffrn_id: z.string(), method: z.enum(["fixed target", "injection", "other"]).optional()}); export const pdbxSerialCrystallographySampleDeliveryFixedTarget = z.object({crystals_per_unit: z.number().int().optional(), description: z.string().optional(), details: z.string().optional(), diffrn_id: z.string(), motion_control: z.string().optional(), sample_dehydration_prevention: z.string().optional(), sample_holding: z.string().optional(), sample_solvent: z.string().optional(), sample_unit_size: z.number().optional(), support_base: z.string().optional(), velocity_horizontal: z.number().optional(), velocity_vertical: z.number().optional()}); export const pdbxSerialCrystallographySampleDeliveryInjection = z.object({carrier_solvent: z.string().optional(), crystal_concentration: z.number().optional(), description: z.string().optional(), diffrn_id: z.string(), filter_size: z.number().optional(), flow_rate: z.number().optional(), injector_diameter: z.number().optional(), injector_nozzle: z.string().optional(), injector_pressure: z.number().optional(), injector_temperature: z.number().optional(), jet_diameter: z.number().optional(), power_by: z.string().optional(), preparation: z.string().optional()}); export const pdbxSolnScatter = z.object({buffer_name: z.string().optional(), concentration_range: z.string().optional(), data_analysis_software_list: z.string().optional(), data_reduction_software_list: z.string().optional(), detector_specific: z.string().optional(), detector_type: z.string().optional(), id: z.string(), max_mean_cross_sectional_radii_gyration: z.number().optional(), max_mean_cross_sectional_radii_gyration_esd: z.number().optional(), mean_guiner_radius: z.number().optional(), mean_guiner_radius_esd: z.number().optional(), min_mean_cross_sectional_radii_gyration: z.number().optional(), min_mean_cross_sectional_radii_gyration_esd: z.number().optional(), num_time_frames: z.number().int().optional(), protein_length: z.string().optional(), sample_pH: z.number().optional(), source_beamline: z.string().optional(), source_beamline_instrument: z.string().optional(), source_class: z.string().optional(), source_type: z.string().optional(), temperature: z.number().optional(), type: z.enum(["modelling", "neutron", "x-ray"]).optional()}); export const pdbxSolnScatterModel = z.object({conformer_selection_criteria: z.string().optional(), details: z.string().optional(), entry_fitting_list: z.string().optional(), id: z.string(), method: z.string().optional(), num_conformers_calculated: z.number().int().optional(), num_conformers_submitted: z.number().int().optional(), representative_conformer: z.number().int().optional(), scatter_id: z.string(), software_author_list: z.string().optional(), software_list: z.string().optional()}); export const pdbxVrptSummary = z.object({RNA_suiteness: z.number().optional(), attempted_validation_steps: z.string().optional(), ligands_for_buster_report: z.enum(["N", "Y"]).optional(), report_creation_date: z.string().optional(), restypes_notchecked_for_bond_angle_geometry: z.array(z.string()).optional()}); export const pdbxVrptSummaryDiffraction = z.object({B_factor_type: z.enum(["FULL", "PARTIAL"]).optional(), Babinet_b: z.number().optional(), Babinet_k: z.number().optional(), CCP4_version: z.string().optional(), DCC_R: z.number().optional(), DCC_Rfree: z.number().optional(), EDS_R: z.number().optional(), EDS_R_warning: z.string().optional(), EDS_res_high: z.number().optional(), EDS_res_low: z.number().optional(), Fo_Fc_correlation: z.number().optional(), I_over_sigma: z.string().optional(), Padilla_Yeates_L2_mean: z.number().optional(), Padilla_Yeates_L_mean: z.number().optional(), Q_score: z.number().optional(), Wilson_B_aniso: z.string().optional(), Wilson_B_estimate: z.number().optional(), acentric_outliers: z.number().int().optional(), bulk_solvent_b: z.number().optional(), bulk_solvent_k: z.number().optional(), centric_outliers: z.number().int().optional(), data_anisotropy: z.number().optional(), data_completeness: z.number().optional(), density_fitness_version: z.string().optional(), exp_method: z.string().optional(), num_miller_indices: z.number().int().optional(), number_reflns_R_free: z.number().int().optional(), percent_RSRZ_outliers: z.number().optional(), percent_free_reflections: z.number().optional(), servalcat_version: z.string().optional(), trans_NCS_details: z.string().optional(), twin_fraction: z.string().optional()}); export const pdbxVrptSummaryEm = z.object({Q_score: z.number().optional(), atom_inclusion_all_atoms: z.number().optional(), atom_inclusion_backbone: z.number().optional(), author_provided_fsc_resolution_by_cutoff_halfbit: z.number().optional(), author_provided_fsc_resolution_by_cutoff_onebit: z.number().optional(), author_provided_fsc_resolution_by_cutoff_pt_143: z.number().optional(), author_provided_fsc_resolution_by_cutoff_pt_333: z.number().optional(), author_provided_fsc_resolution_by_cutoff_pt_5: z.number().optional(), author_provided_fsc_resolution_by_cutoff_threesigma: z.number().optional(), calculated_fsc_resolution_by_cutoff_halfbit: z.number().optional(), calculated_fsc_resolution_by_cutoff_onebit: z.number().optional(), calculated_fsc_resolution_by_cutoff_pt_143: z.number().optional(), calculated_fsc_resolution_by_cutoff_pt_333: z.number().optional(), calculated_fsc_resolution_by_cutoff_pt_5: z.number().optional(), calculated_fsc_resolution_by_cutoff_threesigma: z.number().optional(), contour_level_primary_map: z.number().optional(), exp_method: z.string().optional()}); export const pdbxVrptSummaryGeometry = z.object({angles_RMSZ: z.number().optional(), bonds_RMSZ: z.number().optional(), clashscore: z.number().optional(), clashscore_full_length: z.number().optional(), num_H_reduce: z.number().int().optional(), num_angles_RMSZ: z.number().int().optional(), num_bonds_RMSZ: z.number().int().optional(), percent_ramachandran_outliers: z.number().optional(), percent_ramachandran_outliers_full_length: z.number().optional(), percent_rotamer_outliers: z.number().optional(), percent_rotamer_outliers_full_length: z.number().optional()}); export const pdbxVrptSummaryNmr = z.object({chemical_shift_completeness: z.number().optional(), chemical_shift_completeness_full_length: z.number().optional(), cyrange_error: z.string().optional(), cyrange_number_of_domains: z.number().int().optional(), exp_method: z.string().optional(), medoid_model: z.number().int().optional(), nmr_models_consistency_flag: z.string().optional(), nmrclust_error: z.string().optional(), nmrclust_number_of_clusters: z.number().int().optional(), nmrclust_number_of_models: z.number().int().optional(), nmrclust_number_of_outliers: z.number().int().optional(), nmrclust_representative_model: z.number().int().optional()}); export const rcsbAccessionInfo = z.object({deposit_date: z.string().optional(), has_released_experimental_data: z.enum(["N", "Y"]).optional(), initial_release_date: z.string().optional(), major_revision: z.number().int().optional(), minor_revision: z.number().int().optional(), revision_date: z.string().optional(), status_code: z.enum(["AUCO", "AUTH", "HOLD", "HPUB", "POLC", "PROC", "REFI", "REL", "REPL", "WAIT", "WDRN"]).optional()}); export const rcsbBindingAffinity = z.object({comp_id: z.string(), link: z.string(), provenance_code: z.enum(["Binding MOAD", "BindingDB", "PDBBind"]), reference_sequence_identity: z.number().int().optional(), symbol: z.string().optional(), type: z.enum(["ΔG", "ΔH", "-TΔS", "EC50", "IC50", "Ka", "Kd", "Ki"]), unit: z.string(), value: z.number()}); export const rcsbCompModelProvenance = z.object({entry_id: z.string(), source_db: z.enum(["AlphaFoldDB", "ModelArchive"]).optional(), source_filename: z.string().optional(), source_pae_url: z.string().optional(), source_url: z.string().optional()}); export const rcsbEntryContainerIdentifiers = z.object({assembly_ids: z.array(z.string()).optional(), branched_entity_ids: z.array(z.string()).optional(), emdb_ids: z.array(z.string()).optional(), entity_ids: z.array(z.string()).optional(), entry_id: z.string(), model_ids: z.array(z.number().int()).optional(), non_polymer_entity_ids: z.array(z.string()).optional(), polymer_entity_ids: z.array(z.string()).optional(), pubmed_id: z.number().int().optional(), rcsb_id: z.string().optional(), related_emdb_ids: z.array(z.string()).optional(), water_entity_ids: z.array(z.string()).optional()}); export const rcsbEntryGroupMembership = z.object({aggregation_method: z.literal("matching_deposit_group_id"), group_id: z.string()}); export const rcsbEntryInfoDiffrnResolutionHigh = z.object({provenance_source: z.enum(["Depositor assigned", "From refinement resolution cutoff", "From the high resolution shell"]).optional(), value: z.number().optional()}); export const rcsbEntryInfo = z.object({assembly_count: z.number().int().optional(), branched_entity_count: z.number().int().optional(), branched_molecular_weight_maximum: z.number().optional(), branched_molecular_weight_minimum: z.number().optional(), cis_peptide_count: z.number().int().optional(), deposited_atom_count: z.number().int().optional(), deposited_branched_entity_instance_count: z.number().int().optional(), deposited_deuterated_water_count: z.number().int().optional(), deposited_hydrogen_atom_count: z.number().int().optional(), deposited_model_count: z.number().int().optional(), deposited_modeled_polymer_monomer_count: z.number().int().optional(), deposited_nonpolymer_entity_instance_count: z.number().int().optional(), deposited_polymer_entity_instance_count: z.number().int().optional(), deposited_polymer_monomer_count: z.number().int().optional(), deposited_solvent_atom_count: z.number().int().optional(), deposited_unmodeled_polymer_monomer_count: z.number().int().optional(), diffrn_radiation_wavelength_maximum: z.number().optional(), diffrn_radiation_wavelength_minimum: z.number().optional(), disulfide_bond_count: z.number().int().optional(), entity_count: z.number().int().optional(), experimental_method: z.enum(["EM", "Integrative", "Multiple methods", "NMR", "Neutron", "Other", "X-ray"]).optional(), experimental_method_count: z.number().int().optional(), ihm_multi_scale_flag: z.enum(["N", "Y"]).optional(), ihm_multi_state_flag: z.enum(["N", "Y"]).optional(), ihm_ordered_state_flag: z.enum(["N", "Y"]).optional(), ihm_structure_description: z.string().optional(), inter_mol_covalent_bond_count: z.number().int().optional(), inter_mol_metalic_bond_count: z.number().int().optional(), molecular_weight: z.number().optional(), na_polymer_entity_types: z.enum(["DNA (only)", "DNA/RNA (only)", "NA-hybrid (only)", "Other", "RNA (only)"]).optional(), ndb_struct_conf_na_feature_combined: z.array(z.enum(["a-form double helix", "b-form double helix", "bulge loop", "double helix", "four-way junction", "hairpin loop", "internal loop", "mismatched base pair", "other right-handed double helix", "parallel strands", "quadruple helix", "tetraloop", "three-way junction", "triple helix", "two-way junction", "z-form double helix"])).optional(), nonpolymer_bound_components: z.array(z.string()).optional(), nonpolymer_entity_count: z.number().int().optional(), nonpolymer_molecular_weight_maximum: z.number().optional(), nonpolymer_molecular_weight_minimum: z.number().optional(), polymer_composition: z.enum(["DNA", "DNA/RNA", "NA-hybrid", "NA/oligosaccharide", "RNA", "heteromeric protein", "homomeric protein", "oligosaccharide", "other", "other type composition", "other type pair", "protein/NA", "protein/NA/oligosaccharide", "protein/oligosaccharide"]).optional(), polymer_entity_count: z.number().int().optional(), polymer_entity_count_DNA: z.number().int().optional(), polymer_entity_count_RNA: z.number().int().optional(), polymer_entity_count_nucleic_acid: z.number().int().optional(), polymer_entity_count_nucleic_acid_hybrid: z.number().int().optional(), polymer_entity_count_protein: z.number().int().optional(), polymer_entity_taxonomy_count: z.number().int().optional(), polymer_molecular_weight_maximum: z.number().optional(), polymer_molecular_weight_minimum: z.number().optional(), polymer_monomer_count_maximum: z.number().int().optional(), polymer_monomer_count_minimum: z.number().int().optional(), representative_model: z.number().int().optional(), resolution_combined: z.array(z.number()).optional(), selected_polymer_entity_types: z.enum(["Nucleic acid (only)", "Oligosaccharide (only)", "Other", "Protein (only)", "Protein/NA", "Protein/Oligosaccharide"]).optional(), software_programs_combined: z.array(z.string()).optional(), solvent_entity_count: z.number().int().optional(), structure_determination_methodology: z.enum(["computational", "experimental", "integrative"]), structure_determination_methodology_priority: z.number().int().optional(), diffrn_resolution_high: rcsbEntryInfoDiffrnResolutionHigh.optional()}); export const rcsbExternalReferences = z.object({id: z.string(), link: z.string().optional(), type: z.enum(["BMRB", "EM DATA RESOURCE", "NAKB", "NDB", "OLDERADO", "PROTEIN DIFFRACTION", "SB GRID"])}); export const rcsbIhmDatasetList = z.object({count: z.number().int().optional(), name: z.enum(["2DEM class average", "3DEM volume", "CX-MS data", "Comparative model", "Crosslinking-MS data", "DNA footprinting data", "De Novo model", "EM raw micrographs", "EPR data", "Ensemble FRET data", "Experimental model", "H/D exchange data", "Hydroxyl radical footprinting data", "Integrative model", "Mass Spectrometry data", "Mutagenesis data", "NMR data", "Other", "Predicted contacts", "Quantitative measurements of genetic interactions", "SAS data", "Single molecule FRET data", "X-ray diffraction data", "Yeast two-hybrid screening data"]), type: z.enum(["Computed restraints", "Experimental data", "Other", "Starting model"]).optional()}); export const rcsbIhmDatasetSourceDbReference = z.object({accession_code: z.string(), db_name: z.enum(["AlphaFoldDB", "BMRB", "BMRbig", "BioGRID", "EMDB", "EMPIAR", "MASSIVE", "ModelArchive", "Other", "PDB", "PDB-Dev", "PRIDE", "ProXL", "ProteomeXchange", "SASBDB", "iProX", "jPOSTrepo"])}); export const rcsbMaQaMetricGlobalMaQaMetricGlobal = z.object({description: z.string().optional(), name: z.string(), type: z.enum(["PAE", "contact probability", "distance", "energy", "ipTM", "normalized score", "other", "pLDDT", "pLDDT all-atom", "pLDDT all-atom in [0,1]", "pLDDT in [0,1]", "pTM", "zscore"]), type_other_details: z.string().optional(), value: z.number()}); export const rcsbMaQaMetricGlobal = z.object({model_id: z.number().int(), ma_qa_metric_global: z.array(rcsbMaQaMetricGlobalMaQaMetricGlobal).optional()}); export const rcsbPrimaryCitation = z.object({book_id_ISBN: z.string().optional(), book_publisher: z.string().optional(), book_publisher_city: z.string().optional(), book_title: z.string().optional(), coordinate_linkage: z.enum(["n", "no", "y", "yes"]).optional(), country: z.string().optional(), id: z.string(), journal_abbrev: z.string().optional(), journal_id_ASTM: z.string().optional(), journal_id_CSD: z.string().optional(), journal_id_ISSN: z.string().optional(), journal_issue: z.string().optional(), journal_volume: z.string().optional(), language: z.string().optional(), page_first: z.string().optional(), page_last: z.string().optional(), pdbx_database_id_DOI: z.string().optional(), pdbx_database_id_PubMed: z.number().int().optional(), rcsb_ORCID_identifiers: z.array(z.string()).optional(), rcsb_authors: z.array(z.string()).optional(), rcsb_journal_abbrev: z.string().optional(), title: z.string().optional(), year: z.number().int().optional()}); export const refine = z.object({B_iso_max: z.number().optional(), B_iso_mean: z.number().optional(), B_iso_min: z.number().optional(), aniso_B_1_1: z.number().optional(), aniso_B_1_2: z.number().optional(), aniso_B_1_3: z.number().optional(), aniso_B_2_2: z.number().optional(), aniso_B_2_3: z.number().optional(), aniso_B_3_3: z.number().optional(), correlation_coeff_Fo_to_Fc: z.number().optional(), correlation_coeff_Fo_to_Fc_free: z.number().optional(), details: z.string().optional(), ls_R_factor_R_free: z.number().optional(), ls_R_factor_R_free_error: z.number().optional(), ls_R_factor_R_free_error_details: z.string().optional(), ls_R_factor_R_work: z.number().optional(), ls_R_factor_all: z.number().optional(), ls_R_factor_obs: z.number().optional(), ls_d_res_high: z.number().optional(), ls_d_res_low: z.number().optional(), ls_matrix_type: z.enum(["atomblock", "diagonal", "full", "fullcycle", "sparse", "userblock"]).optional(), ls_number_parameters: z.number().int().optional(), ls_number_reflns_R_free: z.number().int().optional(), ls_number_reflns_R_work: z.number().int().optional(), ls_number_reflns_all: z.number().int().optional(), ls_number_reflns_obs: z.number().int().optional(), ls_number_restraints: z.number().int().optional(), ls_percent_reflns_R_free: z.number().optional(), ls_percent_reflns_obs: z.number().optional(), ls_redundancy_reflns_all: z.number().optional(), ls_redundancy_reflns_obs: z.number().optional(), ls_wR_factor_R_free: z.number().optional(), ls_wR_factor_R_work: z.number().optional(), occupancy_max: z.number().optional(), occupancy_min: z.number().optional(), overall_FOM_free_R_set: z.number().optional(), overall_FOM_work_R_set: z.number().optional(), overall_SU_B: z.number().optional(), overall_SU_ML: z.number().optional(), overall_SU_R_Cruickshank_DPI: z.number().optional(), overall_SU_R_free: z.number().optional(), pdbx_R_Free_selection_details: z.string().optional(), pdbx_TLS_residual_ADP_flag: z.enum(["LIKELY RESIDUAL", "UNVERIFIED"]).optional(), pdbx_average_fsc_free: z.number().optional(), pdbx_average_fsc_overall: z.number().optional(), pdbx_average_fsc_work: z.number().optional(), pdbx_data_cutoff_high_absF: z.number().optional(), pdbx_data_cutoff_high_rms_absF: z.number().optional(), pdbx_data_cutoff_low_absF: z.number().optional(), pdbx_diffrn_id: z.array(z.string()).optional(), pdbx_isotropic_thermal_model: z.string().optional(), pdbx_ls_cross_valid_method: z.string().optional(), pdbx_ls_sigma_F: z.number().optional(), pdbx_ls_sigma_Fsqd: z.number().optional(), pdbx_ls_sigma_I: z.number().optional(), pdbx_method_to_determine_struct: z.string().optional(), pdbx_overall_ESU_R: z.number().optional(), pdbx_overall_ESU_R_Free: z.number().optional(), pdbx_overall_SU_R_Blow_DPI: z.number().optional(), pdbx_overall_SU_R_free_Blow_DPI: z.number().optional(), pdbx_overall_SU_R_free_Cruickshank_DPI: z.number().optional(), pdbx_overall_phase_error: z.number().optional(), pdbx_refine_id: z.string(), pdbx_solvent_ion_probe_radii: z.number().optional(), pdbx_solvent_shrinkage_radii: z.number().optional(), pdbx_solvent_vdw_probe_radii: z.number().optional(), pdbx_starting_model: z.string().optional(), pdbx_stereochem_target_val_spec_case: z.string().optional(), pdbx_stereochemistry_target_values: z.string().optional(), solvent_model_details: z.string().optional(), solvent_model_param_bsol: z.number().optional(), solvent_model_param_ksol: z.number().optional()}); export const refineAnalyze = z.object({Luzzati_coordinate_error_free: z.number().optional(), Luzzati_coordinate_error_obs: z.number().optional(), Luzzati_d_res_low_free: z.number().optional(), Luzzati_d_res_low_obs: z.number().optional(), Luzzati_sigma_a_free: z.number().optional(), Luzzati_sigma_a_obs: z.number().optional(), number_disordered_residues: z.number().optional(), occupancy_sum_hydrogen: z.number().optional(), occupancy_sum_non_hydrogen: z.number().optional(), pdbx_Luzzati_d_res_high_obs: z.number().optional(), pdbx_refine_id: z.string()}); export const refineHist = z.object({cycle_id: z.string(), d_res_high: z.number().optional(), d_res_low: z.number().optional(), number_atoms_solvent: z.number().int().optional(), number_atoms_total: z.number().int().optional(), pdbx_B_iso_mean_ligand: z.number().optional(), pdbx_B_iso_mean_solvent: z.number().optional(), pdbx_number_atoms_ligand: z.number().int().optional(), pdbx_number_atoms_nucleic_acid: z.number().int().optional(), pdbx_number_atoms_protein: z.number().int().optional(), pdbx_number_residues_total: z.number().int().optional(), pdbx_refine_id: z.string()}); export const refineLsRestr = z.object({dev_ideal: z.number().optional(), dev_ideal_target: z.number().optional(), number: z.number().int().optional(), pdbx_refine_id: z.string(), pdbx_restraint_function: z.string().optional(), type: z.string(), weight: z.number().optional()}); export const reflns = z.object({B_iso_Wilson_estimate: z.number().optional(), R_free_details: z.string().optional(), Rmerge_F_all: z.number().optional(), Rmerge_F_obs: z.number().optional(), d_resolution_high: z.number().optional(), d_resolution_low: z.number().optional(), data_reduction_details: z.string().optional(), data_reduction_method: z.string().optional(), details: z.string().optional(), limit_h_max: z.number().int().optional(), limit_h_min: z.number().int().optional(), limit_k_max: z.number().int().optional(), limit_k_min: z.number().int().optional(), limit_l_max: z.number().int().optional(), limit_l_min: z.number().int().optional(), number_all: z.number().int().optional(), number_obs: z.number().int().optional(), observed_criterion: z.string().optional(), observed_criterion_F_max: z.number().optional(), observed_criterion_F_min: z.number().optional(), observed_criterion_I_max: z.number().optional(), observed_criterion_I_min: z.number().optional(), observed_criterion_sigma_F: z.number().optional(), observed_criterion_sigma_I: z.number().optional(), pdbx_CC_half: z.number().optional(), pdbx_R_split: z.number().optional(), pdbx_Rmerge_I_obs: z.number().optional(), pdbx_Rpim_I_all: z.number().optional(), pdbx_Rrim_I_all: z.number().optional(), pdbx_Rsym_value: z.number().optional(), pdbx_chi_squared: z.number().optional(), pdbx_diffrn_id: z.array(z.string()).optional(), pdbx_netI_over_av_sigmaI: z.number().optional(), pdbx_netI_over_sigmaI: z.number().optional(), pdbx_number_measured_all: z.number().int().optional(), pdbx_ordinal: z.number().int(), pdbx_redundancy: z.number().optional(), pdbx_scaling_rejects: z.number().int().optional(), percent_possible_obs: z.number().optional(), phase_calculation_details: z.string().optional()}); export const reflnsShell = z.object({Rmerge_F_all: z.number().optional(), Rmerge_F_obs: z.number().optional(), Rmerge_I_all: z.number().optional(), Rmerge_I_obs: z.number().optional(), d_res_high: z.number().optional(), d_res_low: z.number().optional(), meanI_over_sigI_all: z.number().optional(), meanI_over_sigI_obs: z.number().optional(), meanI_over_uI_all: z.number().optional(), number_measured_all: z.number().int().optional(), number_measured_obs: z.number().int().optional(), number_possible: z.number().int().optional(), number_unique_all: z.number().int().optional(), number_unique_obs: z.number().int().optional(), pdbx_CC_half: z.number().optional(), pdbx_R_split: z.number().optional(), pdbx_Rpim_I_all: z.number().optional(), pdbx_Rrim_I_all: z.number().optional(), pdbx_Rsym_value: z.number().optional(), pdbx_chi_squared: z.number().optional(), pdbx_diffrn_id: z.array(z.string()).optional(), pdbx_netI_over_sigmaI_all: z.number().optional(), pdbx_netI_over_sigmaI_obs: z.number().optional(), pdbx_ordinal: z.number().int(), pdbx_redundancy: z.number().optional(), pdbx_rejects: z.number().int().optional(), percent_possible_all: z.number().optional(), percent_possible_obs: z.number().optional()}); export const software = z.object({citation_id: z.string().optional(), classification: z.string().optional(), contact_author: z.string().optional(), contact_author_email: z.string().optional(), date: z.string().optional(), description: z.string().optional(), language: z.enum(["Ada", "Awk", "Basic", "C", "C++", "C/C++", "Fortran", "Fortran 77", "Fortran 90", "Fortran_77", "Java", "Java & Fortran", "Other", "Pascal", "Perl", "Python", "Python/C++", "Tcl", "assembler", "csh", "ksh", "sh"]).optional(), location: z.string().optional(), name: z.string().optional(), os: z.string().optional(), pdbx_ordinal: z.number().int(), type: z.enum(["filter", "jiffy", "library", "other", "package", "program"]).optional(), version: z.string().optional()}); export const struct = z.object({pdbx_CASP_flag: z.enum(["N", "Y"]).optional(), pdbx_descriptor: z.string().optional(), pdbx_model_details: z.string().optional(), pdbx_model_type_details: z.string().optional(), title: z.string().optional()}); export const structKeywords = z.object({pdbx_keywords: z.string().optional(), text: z.string().optional()}); export const symmetry = z.object({Int_Tables_number: z.number().int().optional(), cell_setting: z.enum(["cubic", "hexagonal", "monoclinic", "orthorhombic", "rhombohedral", "tetragonal", "triclinic", "trigonal"]).optional(), pdbx_full_space_group_name_H_M: z.string().optional(), space_group_name_H_M: z.string().optional(), space_group_name_Hall: z.string().optional()}); export const coreEntry = z.object({audit_author: z.array(auditAuthor).optional(), cell: cell.optional(), citation: z.array(citation).optional(), database_2: z.array(database2).optional(), diffrn: z.array(diffrn).optional(), diffrn_detector: z.array(diffrnDetector).optional(), diffrn_radiation: z.array(diffrnRadiation).optional(), diffrn_source: z.array(diffrnSource).optional(), em_2d_crystal_entity: z.array(em2dCrystalEntity).optional(), em_3d_crystal_entity: z.array(em3dCrystalEntity).optional(), em_3d_fitting: z.array(em3dFitting).optional(), em_3d_fitting_list: z.array(em3dFittingList).optional(), em_3d_reconstruction: z.array(em3dReconstruction).optional(), em_ctf_correction: z.array(emCtfCorrection).optional(), em_diffraction: z.array(emDiffraction).optional(), em_diffraction_shell: z.array(emDiffractionShell).optional(), em_diffraction_stats: z.array(emDiffractionStats).optional(), em_embedding: z.array(emEmbedding).optional(), em_entity_assembly: z.array(emEntityAssembly).optional(), em_experiment: emExperiment.optional(), em_helical_entity: z.array(emHelicalEntity).optional(), em_image_recording: z.array(emImageRecording).optional(), em_imaging: z.array(emImaging).optional(), em_particle_selection: z.array(emParticleSelection).optional(), em_single_particle_entity: z.array(emSingleParticleEntity).optional(), em_software: z.array(emSoftware).optional(), em_specimen: z.array(emSpecimen).optional(), em_staining: z.array(emStaining).optional(), em_vitrification: z.array(emVitrification).optional(), entry: entry.optional(), exptl: z.array(exptl).optional(), exptl_crystal: z.array(exptlCrystal).optional(), exptl_crystal_grow: z.array(exptlCrystalGrow).optional(), ihm_entry_collection_mapping: z.array(ihmEntryCollectionMapping).optional(), ihm_external_reference_info: z.array(ihmExternalReferenceInfo).optional(), ma_data: z.array(maData).optional(), pdbx_SG_project: z.array(pdbxSGProject).optional(), pdbx_audit_revision_category: z.array(pdbxAuditRevisionCategory).optional(), pdbx_audit_revision_details: z.array(pdbxAuditRevisionDetails).optional(), pdbx_audit_revision_group: z.array(pdbxAuditRevisionGroup).optional(), pdbx_audit_revision_history: z.array(pdbxAuditRevisionHistory).optional(), pdbx_audit_revision_item: z.array(pdbxAuditRevisionItem).optional(), pdbx_audit_support: z.array(pdbxAuditSupport).optional(), pdbx_database_PDB_obs_spr: z.array(pdbxDatabasePDBObsSpr).optional(), pdbx_database_related: z.array(pdbxDatabaseRelated).optional(), pdbx_database_status: pdbxDatabaseStatus.optional(), pdbx_deposit_group: z.array(pdbxDepositGroup).optional(), pdbx_initial_refinement_model: z.array(pdbxInitialRefinementModel).optional(), pdbx_molecule_features: z.array(pdbxMoleculeFeatures).optional(), pdbx_nmr_details: pdbxNmrDetails.optional(), pdbx_nmr_ensemble: pdbxNmrEnsemble.optional(), pdbx_nmr_exptl: z.array(pdbxNmrExptl).optional(), pdbx_nmr_exptl_sample_conditions: z.array(pdbxNmrExptlSampleConditions).optional(), pdbx_nmr_refine: z.array(pdbxNmrRefine).optional(), pdbx_nmr_representative: pdbxNmrRepresentative.optional(), pdbx_nmr_sample_details: z.array(pdbxNmrSampleDetails).optional(), pdbx_nmr_software: z.array(pdbxNmrSoftware).optional(), pdbx_nmr_spectrometer: z.array(pdbxNmrSpectrometer).optional(), pdbx_reflns_twin: z.array(pdbxReflnsTwin).optional(), pdbx_related_exp_data_set: z.array(pdbxRelatedExpDataSet).optional(), pdbx_serial_crystallography_data_reduction: z.array(pdbxSerialCrystallographyDataReduction).optional(), pdbx_serial_crystallography_measurement: z.array(pdbxSerialCrystallographyMeasurement).optional(), pdbx_serial_crystallography_sample_delivery: z.array(pdbxSerialCrystallographySampleDelivery).optional(), pdbx_serial_crystallography_sample_delivery_fixed_target: z.array(pdbxSerialCrystallographySampleDeliveryFixedTarget).optional(), pdbx_serial_crystallography_sample_delivery_injection: z.array(pdbxSerialCrystallographySampleDeliveryInjection).optional(), pdbx_soln_scatter: z.array(pdbxSolnScatter).optional(), pdbx_soln_scatter_model: z.array(pdbxSolnScatterModel).optional(), pdbx_vrpt_summary: pdbxVrptSummary.optional(), pdbx_vrpt_summary_diffraction: z.array(pdbxVrptSummaryDiffraction).optional(), pdbx_vrpt_summary_em: z.array(pdbxVrptSummaryEm).optional(), pdbx_vrpt_summary_geometry: z.array(pdbxVrptSummaryGeometry).optional(), pdbx_vrpt_summary_nmr: z.array(pdbxVrptSummaryNmr).optional(), rcsb_accession_info: rcsbAccessionInfo.optional(), rcsb_binding_affinity: z.array(rcsbBindingAffinity).optional(), rcsb_comp_model_provenance: rcsbCompModelProvenance.optional(), rcsb_entry_container_identifiers: rcsbEntryContainerIdentifiers, rcsb_entry_group_membership: z.array(rcsbEntryGroupMembership).optional(), rcsb_entry_info: rcsbEntryInfo, rcsb_external_references: z.array(rcsbExternalReferences).optional(), rcsb_ihm_dataset_list: z.array(rcsbIhmDatasetList).optional(), rcsb_ihm_dataset_source_db_reference: z.array(rcsbIhmDatasetSourceDbReference).optional(), rcsb_ma_qa_metric_global: z.array(rcsbMaQaMetricGlobal).optional(), rcsb_primary_citation: rcsbPrimaryCitation.optional(), refine: z.array(refine).optional(), refine_analyze: z.array(refineAnalyze).optional(), refine_hist: z.array(refineHist).optional(), refine_ls_restr: z.array(refineLsRestr).optional(), reflns: z.array(reflns).optional(), reflns_shell: z.array(reflnsShell).optional(), software: z.array(software).optional(), struct: struct.optional(), struct_keywords: structKeywords.optional(), symmetry: symmetry.optional(), rcsb_id: z.string()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Get structure by ENTRY ID. * * GET /rest/v1/core/entry/{entry_id} */ export const getApiRestV1CoreEntryEntryId = async (args: GetApiRestV1CoreEntryEntryIdArgs, options: GetApiRestV1CoreEntryEntryIdOptions) => { const {baseUrl, fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json;charset=utf-8") const url = `${baseUrl.replace(/\/+$/, '')}/rest/v1/core/entry/${encodeURIComponent(String(args.entry_id))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(coreEntry, await res.json()) };