#-------------- TYPE DEFINITION MACROS -------------- TYPEDEF GENBANK_ORIGIN: STRING CHOICE_OF [humhbb_orig, human_beta_cap, human_Agamma_cap, human_Ggamma_cap, human_epsilon_cap, rabbit_orig, rabbit_beta_cap, rabbit_gamma_cap, rabbit_epsilon_cap, rabbit_LCR_orig, rabbit_HS4_orig, mouse_orig, mouse_beta_maj_cap] TYPEDEF SPECIES_NAME: STRING CHOICE_OF [human, galago, cow, goat, rabbit, mouse, firefly, yeast, E._coli, SV40, HSV, adenovirus] TYPEDEF GENE_NAME: STRING CHOICE_OF [epsilon_globin, Ggamma_globin, Agamma_globin, delta_globin, beta_globin, alpha_globin, zeta_globin, epsilon_y_globin, beta_h1_globin, beta_major_globin, beta_minor_globin, beta_S_globin, beta_galactosidase, chloramphenicol_acetyltransferase, growth_hormone, H2, luciferase, PBGD, PGK, SV40_early, SV40_late, thymidine_kinase] TYPEDEF CELL_TYPE: STRING CHOICE_OF [3T6, 5G2, 8866, adult_erythroid_liver_cells, BJA-B, DAUDI, F259, fetal_erythroid_liver_cells, GM3552, HEL, HeLa, HepG2, HL60, HU11, human_erythroblasts, K562, KG1a, L-cells, L-MEL, M11-X, MANCA, marrow, MEL, MOLT4, NAMALWA, NT2/D1, Raji, sea_urchin_blastula] TYPEDEF INDUCTION_AGENT: STRING CHOICE_OF [butyrate, DMEM, DMSO, erythropoietin, hemin, HMBA, non_induced] TYPEDEF REGION_DESCRIPTOR: RECORD ( origin: GENBANK_ORIGIN start: INTEGER stop: INTEGER ) #RESTRICT stop >= start TYPEDEF FRAGMENT_DESCRIPTOR: VARIANT [ => region: REGION_DESCRIPTOR mutation: SET_OF { region: REGION_DESCRIPTOR OPTIONAL type: STRING CHOICE_OF [substitution, insertion, deletion] description: STRING TEXT } OPTIONAL => species: SPECIES_NAME OPTIONAL description: STRING TEXT abbrev: STRING GenBankID: STRING OPTIONAL #RESTRICT ??? length_basepairs: INTEGER OPTIONAL #RESTRICT >0 => sequence: STRING #REGEXP '[ACGT]+' ] TYPEDEF SEGMENT_DESCRIPTOR: RECORD ( DNA_fragment: FRAGMENT_DESCRIPTOR orientation: STRING CHOICE_OF [native, reversed] feature: SET_OF { feature_element: VARIANT [ => core: STRING OPTIONAL CHOICE_OF [ alpha_HS_minus_40, beta_HS1, beta_HS1_3_prime, beta_HS2, beta_HS3, beta_HS4, beta_HS5, beta_HS6 ] => name: STRING OPTIONAL CHOICE_OF [ chicken_beta_epsilon_enh, human_beta_3_prime_enh, human_gamma_3_prime_enh, MMTV, MPV, SV40 ] => gene: GENE_NAME OPTIONAL => name: STRING OPTIONAL CHOICE_OF [ chicken_beta_5_prime_HS4, drosophila_SCS, human_beta_5_prime_HS5 ] => gene: GENE_NAME OPTIONAL => gene: STRING OPTIONAL CHOICE_OF [ EKLF, GATA1, Sp1, TBP, YY1 ] => gene: GENE_NAME OPTIONAL intron: LIST_OF { intron_number: INTEGER } OPTIONAL <3_prime_end_former> => gene: GENE_NAME OPTIONAL => name: STRING OPTIONAL CHOICE_OF [lambda] => name: STRING OPTIONAL CHOICE_OF [linker, adaptor] => name: STRING OPTIONAL CHOICE_OF [ beta_YAC, pBluescript, pBR322, pCATbasic, pGEM, pGL2basic, pRS406, pRS406_-117_Agamma_m, pUC, pUC19_Agamma_m_-117, YAC, YACy_Neo_Beta_g, YIP ] => gene: STRING OPTIONAL CHOICE_OF [neomycin_resistance] => EMPTY => EMPTY ] } OPTIONAL ) TYPEDEF PROTEIN_SOURCE: VARIANT [ => cell: CELL_TYPE induction: INDUCTION_AGENT => process: STRING CHOICE_OF [purified_protein, in_vitro_transcription_translation] protein: SET_OF { name: STRING source: STRING } ] TYPEDEF PROTEIN_ID_EVIDENCE: VARIANT [ => name: STRING DNA_fragment: FRAGMENT_DESCRIPTOR fold_over_probe: REAL effect: STRING OPTIONAL CHOICE_OF [completely_competed, competed_a_lot, competed_a_little, not_competed] => name: STRING type: STRING CHOICE_OF [monoclonal, polyclonal] effect: STRING CHOICE_OF [super_shift, disrupt_complex, no_effect] => name: STRING source: STRING effect: STRING ] TYPEDEF EXPR_UNIT_TERM: RECORD ( source: STRING CHOICE_OF [endogenous, exogenous] construct: VARIANT [ => species: SPECIES_NAME gene: GENE_NAME => component: LIST_OF { species: SPECIES_NAME gene: GENE_NAME } => species: SPECIES_NAME chromosome_no: STRING type: STRING OPTIONAL CHOICE_OF [single, diffuse] gene: GENE_NAME => parent: STRING #FOREIGN_KEY parent_construct_info ] assay_product: STRING CHOICE_OF [mRNA, protein, activity] note: STRING OPTIONAL TEXT ) TYPEDEF LAB_UNIT: STRING CHOICE_OF [g/L, ug/L, g/dL, mg/dL, umol/L, '10^(12)/L', '10^(9)/L', fL, pg, L/L, %, fraction, none] TYPEDEF HEMATOLOGY_VALUE: RECORD ( value: REAL unit: LAB_UNIT ) TYPEDEF HEMATOLOGY_RANGE: RECORD ( mean: REAL stddev: REAL OPTIONAL unit: LAB_UNIT ) #-------------- SPECIFICATIONS FOR DATA TABLES -------------- DNA_transfer_experiment: SET_OF { reference: STRING #FOREIGN_KEY reference_info item_no: INTEGER OPTIONAL description: STRING OPTIONAL TEXT corrections: STRING OPTIONAL TEXT contributor: STRING construct: SET_OF { construct_segment: LIST_OF { segment: SEGMENT_DESCRIPTOR } parent: STRING OPTIONAL #FOREIGN_KEY parent_construct_info } OPTIONAL experiment: SET_OF { type_of_assay: VARIANT [ => assay: STRING CHOICE_OF [stable, transient] cell: CELL_TYPE induction: INDUCTION_AGENT OPTIONAL result: SET_OF { measurement: VARIANT [ => value: REAL unit: RECORD ( numerator_term: SET_OF { term: EXPR_UNIT_TERM } denominator_term: SET_OF { term: EXPR_UNIT_TERM } adjustment: STRING OPTIONAL CHOICE_OF [copy_number, cotransfection_control, protein_amount] copy_number: INTEGER OPTIONAL #(does not apply to transient assays) scale: STRING CHOICE_OF [percent, fold_change] ) error: VARIANT [ => err_val: REAL err_unit: STRING CHOICE_OF [std_dev, std_error] => EMPTY ] => value: REAL => nature: STRING CHOICE_OF [continuous, intermittent] => position: STRING CHOICE_OF [at_centromere, near_centromere, away_from_centromere, unknown] => value: STRING CHOICE_OF [inducible, non_inducible] => value: REAL ] } => mouse_line: STRING OPTIONAL #REGEXP '[A-Z]+[0-9]+' age: VARIANT [ => days_pc: REAL OPTIONAL #RESTRICT < 12.5 => days_pc: REAL OPTIONAL #RESTRICT >= 12.5 => days_ab: REAL OPTIONAL ] tissue: STRING CHOICE_OF [blood, bone_marrow, brain, liver, spleen, whole_embryo, yolk_sac] result: SET_OF { measurement: VARIANT [ => value: REAL unit: RECORD ( numerator_term: SET_OF { term: EXPR_UNIT_TERM } denominator_term: SET_OF { term: EXPR_UNIT_TERM } adjustment: STRING OPTIONAL CHOICE_OF [copy_number] copy_number: INTEGER OPTIONAL scale: STRING CHOICE_OF [percent, fold_change] ) error: VARIANT [ => err_val: REAL err_unit: STRING CHOICE_OF [std_dev, std_error] => EMPTY ] => value: REAL => value: REAL => nature: STRING CHOICE_OF [continuous, intermittent] => position: STRING CHOICE_OF [at_centromere, near_centromere, away_from_centromere, unknown] => value: REAL ] } ] } } OPTIONAL parent_construct_info: SET_OF { name: STRING KEY construct_segment: LIST_OF { segment: SEGMENT_DESCRIPTOR } } OPTIONAL binding_assay: SET_OF { reference: STRING #FOREIGN_KEY reference_info item_no: INTEGER OPTIONAL description: STRING OPTIONAL TEXT corrections: STRING OPTIONAL TEXT contributor: STRING assay: VARIANT [ => probe: FRAGMENT_DESCRIPTOR source: PROTEIN_SOURCE protein_amount_ug: REAL react_salt_mM: REAL binding_temp_celsius: REAL complex: SET_OF { name: STRING #REGEXP '[A-Za-z0-9_ -]+' relative_mobility: STRING #REGEXP '[A-Z]' band_intensity: STRING CHOICE_OF [strong, medium, weak] protein: SET_OF { name: STRING #FOREIGN_KEY protein_info specificity: STRING CHOICE_OF [sequence_specific, non_sequence_specific, unknown] identification: SET_OF { evidence: PROTEIN_ID_EVIDENCE } OPTIONAL } } OPTIONAL mutation_effect: STRING OPTIONAL TEXT => probe: FRAGMENT_DESCRIPTOR source: PROTEIN_SOURCE cleavage_agent: STRING CHOICE_OF [DNaseI, exonucleaseIII, MPE_Fe, orthophenanthroline_Cu] protein_amount_ug: REAL react_salt_mM: REAL binding_temp_celsius: REAL regional_effect: SET_OF { region: REGION_DESCRIPTOR strand: STRING CHOICE_OF [upper, lower] effect: STRING CHOICE_OF [protection, enhanced_cleavage, block_to_exonuclease] protein: SET_OF { name: STRING #FOREIGN_KEY protein_info identification: SET_OF { evidence: PROTEIN_ID_EVIDENCE } OPTIONAL } } mutation_effect: STRING OPTIONAL TEXT => probe: FRAGMENT_DESCRIPTOR source: PROTEIN_SOURCE protein_amount_ug: REAL react_salt_mM: REAL binding_temp_celsius: REAL complex_name: STRING #REGEXP '[A-Za-z0-9_ -]+' regional_effect: SET_OF { region: REGION_DESCRIPTOR strand: STRING CHOICE_OF [upper, lower] effect: STRING CHOICE_OF [protection, enhanced_cleavage] protein: SET_OF { name: STRING #FOREIGN_KEY protein_info } nucleotide_effect: SET_OF { nucleotide: REGION_DESCRIPTOR effect: STRING CHOICE_OF [protection, enhanced_cleavage] reactivity_value: REAL OPTIONAL reactivity_units: STRING OPTIONAL } } mutation_effect: STRING OPTIONAL TEXT => cell: CELL_TYPE induction: INDUCTION_AGENT regional_effect: SET_OF { region: REGION_DESCRIPTOR strand: STRING CHOICE_OF [upper, lower] effect: STRING CHOICE_OF [protection, enhanced_cleavage] protein: SET_OF { name: STRING #FOREIGN_KEY protein_info } nucleotide_effect: SET_OF { nucleotide: REGION_DESCRIPTOR effect: STRING CHOICE_OF [protection, enhanced_cleavage] reactivity_value: REAL OPTIONAL reactivity_units: STRING OPTIONAL } } ] } OPTIONAL protein_info: SET_OF { name: STRING KEY index: INTEGER } OPTIONAL hypersensitive_site: SET_OF { reference: STRING #FOREIGN_KEY reference_info item_no: INTEGER OPTIONAL description: STRING OPTIONAL TEXT corrections: STRING OPTIONAL TEXT contributor: STRING region: REGION_DESCRIPTOR strand: STRING OPTIONAL CHOICE_OF [upper, lower] cell: CELL_TYPE DNA_transfer: STRING CHOICE_OF [transgenic, transfected, non_transfected] transfer_details: STRING OPTIONAL TEXT induction: INDUCTION_AGENT band_intensity: STRING CHOICE_OF [strong, medium, weak] } OPTIONAL patient_data: SET_OF { patient_id: STRING KEY demography: RECORD ( date_of_birth: INTEGER OPTIONAL sex: STRING OPTIONAL CHOICE_OF [M, F] ethnic_group: STRING OPTIONAL #FOREIGN_KEY ethnic_info ?? ) OPTIONAL globin_diagnosis: STRING OPTIONAL CHOICE_OF [hydrops_fetalis, Hb_H_disease, A_thal_minor, B_thal_major, B_thal_intermedia, B_thal_minor, sickle_cell_disease, sickle_cell_trait, other] diagnosis_details: STRING OPTIONAL TEXT genotype: RECORD ( date_of_analysis: INTEGER OPTIONAL mutation: SET_OF { mutation_name: STRING #FOREIGN_KEY Hb_mutation chain: STRING CHOICE_OF [alpha, beta, gamma, delta, zeta_alpha, delta_beta] chromosome: STRING CHOICE_OF [maternal, paternal, de_novo, heterozygous, homozygous] } OPTIONAL ) OPTIONAL laboratory_findings: SET_OF { date_of_analysis: INTEGER OPTIONAL hematology: RECORD ( Hb: HEMATOLOGY_VALUE OPTIONAL Hct: HEMATOLOGY_VALUE OPTIONAL RBC: HEMATOLOGY_VALUE OPTIONAL MCV: HEMATOLOGY_VALUE OPTIONAL MCH: HEMATOLOGY_VALUE OPTIONAL RDW: HEMATOLOGY_VALUE OPTIONAL retic_count: HEMATOLOGY_VALUE OPTIONAL RBC_morph: STRING OPTIONAL ) OPTIONAL Hb_electrophoresis: RECORD ( Hb_A: HEMATOLOGY_VALUE OPTIONAL Hb_A2: HEMATOLOGY_VALUE OPTIONAL Hb_F: HEMATOLOGY_VALUE OPTIONAL Hb_H: HEMATOLOGY_VALUE OPTIONAL Hb_H_incl_bodies: STRING OPTIONAL CHOICE_OF [negative, positive, occasional, many] Hb_variant: SET_OF { type: STRING level: HEMATOLOGY_VALUE } OPTIONAL ) OPTIONAL iron_studies: RECORD ( serum_ferritin: HEMATOLOGY_VALUE OPTIONAL serum_Fe: HEMATOLOGY_VALUE OPTIONAL TIBC: HEMATOLOGY_VALUE OPTIONAL Fe_saturation: HEMATOLOGY_VALUE OPTIONAL ) OPTIONAL other: SET_OF { assay: STRING level: HEMATOLOGY_VALUE } OPTIONAL comment: STRING OPTIONAL TEXT } OPTIONAL clinical_presentation: SET_OF { date_of_presentation: INTEGER OPTIONAL other_medical_diagnosis: STRING OPTIONAL TEXT clinical_history: STRING OPTIONAL TEXT physical_findings: STRING OPTIONAL TEXT } OPTIONAL therapy: SET_OF { date_of_treatment: INTEGER OPTIONAL treatment: STRING CHOICE_OF [transfusion, HU, drug, splenectomy, bone_marrow_transplant, other] treatment_details: STRING OPTIONAL TEXT response: STRING OPTIONAL CHOICE_OF [excellent, good, fair, minimal, negative] complication: STRING OPTIONAL TEXT } OPTIONAL family_member: SET_OF { relationship: STRING CHOICE_OF [self, father, mother, son, daughter, brother, sister, twin_brother, twin_sister, paternal_grandfather, paternal_grandmother, maternal_grandfather, maternal_grandmother, paternal_uncle/aunt, maternal_uncle/aunt] profile: VARIANT [ => patient_id: STRING #FOREIGN_KEY patient_data => characteristics: STRING TEXT ] } OPTIONAL reference: STRING OPTIONAL #FOREIGN_KEY reference_info corrections: STRING OPTIONAL TEXT } OPTIONAL confidential: SET_OF { patient_id: STRING #FOREIGN_KEY patient_data clinic_or_lab_id: STRING birth_date: STRING OPTIONAL clinic_or_lab: STRING contributor: STRING } OPTIONAL Hb_mutation: SET_OF { mutation_name: STRING KEY haplotype: STRING OPTIONAL mutation: RECORD ( location: REGION_DESCRIPTOR type: STRING CHOICE_OF [substitution, insertion, deletion] description: STRING OPTIONAL TEXT effect: STRING OPTIONAL ) ethnic_data: SET_OF { group: STRING #FOREIGN_KEY ethnic_info ?? frequency: RECORD ( percent: REAL among: STRING ) OPTIONAL heterozygous_hematology: RECORD ( Hb: HEMATOLOGY_RANGE OPTIONAL Hct: HEMATOLOGY_RANGE OPTIONAL RBC: HEMATOLOGY_RANGE OPTIONAL MCV: HEMATOLOGY_RANGE OPTIONAL MCH: HEMATOLOGY_RANGE OPTIONAL RDW: HEMATOLOGY_RANGE OPTIONAL retic_count: HEMATOLOGY_RANGE OPTIONAL RBC_morph: STRING OPTIONAL ) OPTIONAL heterozygous_Hb_electrophoresis: RECORD ( Hb_A: HEMATOLOGY_RANGE OPTIONAL Hb_A2: HEMATOLOGY_RANGE OPTIONAL Hb_F: HEMATOLOGY_RANGE OPTIONAL Hb_H: HEMATOLOGY_RANGE OPTIONAL Hb_H_incl_bodies: STRING OPTIONAL CHOICE_OF [negative, positive, occasional, many] Hb_variant: SET_OF { type: STRING range: HEMATOLOGY_RANGE } OPTIONAL ) OPTIONAL heterozygous_iron_studies: RECORD ( serum_ferritin: HEMATOLOGY_RANGE OPTIONAL serum_Fe: HEMATOLOGY_RANGE OPTIONAL TIBC: HEMATOLOGY_RANGE OPTIONAL Fe_saturation: HEMATOLOGY_RANGE OPTIONAL ) OPTIONAL reference: STRING #FOREIGN_KEY reference_info } OPTIONAL diagnostic_assay: SET_OF { type: VARIANT [ => assay: STRING CHOICE_OF [F_cells] => assay: STRING CHOICE_OF [gel_electrophoresis, immunology] => assay: STRING CHOICE_OF [southern_blot, PCR] ] description: STRING OPTIONAL TEXT reference: STRING #FOREIGN_KEY reference_info } OPTIONAL corrections: STRING OPTIONAL TEXT contributor: STRING } OPTIONAL reference_info: SET_OF { id: STRING KEY #REGEXP '[A-Z][a-z]*[0-9][0-9]' author: LIST_OF { name: STRING #REGEXP '[A-Za-z,. -]+' } title: STRING TEXT note: STRING OPTIONAL TEXT journal: STRING year: INTEGER #RESTRICT >1900 vol: INTEGER #RESTRICT >0 num: STRING OPTIONAL #REGEXP '[A-Za-z0-9]+' pp: STRING #REGEXP '[0-9]+(" "*"-"" "*[0-9]+)?' } OPTIONAL origin_info: SET_OF { name: GENBANK_ORIGIN KEY species: STRING CHOICE_OF [human, rabbit, mouse] file: STRING offset: INTEGER } OPTIONAL conserved: SET_OF { reference: STRING OPTIONAL #FOREIGN_KEY reference_info item_no: INTEGER OPTIONAL description: STRING OPTIONAL TEXT corrections: STRING OPTIONAL TEXT contributor: STRING region: REGION_DESCRIPTOR consensus_seq: STRING #REGEXP '[ACGT]+' } OPTIONAL landmark: SET_OF { reference: STRING OPTIONAL #FOREIGN_KEY reference_info item_no: INTEGER OPTIONAL description: STRING OPTIONAL TEXT corrections: STRING OPTIONAL TEXT contributor: STRING region: REGION_DESCRIPTOR label: STRING label_position: STRING OPTIONAL CHOICE_OF [above, below] } OPTIONAL enzyme: SET_OF { name: STRING KEY sequence: STRING #REGEXP '[ACGTRYWSKMBVDHXN]+' cut_site: INTEGER inverse_cut: INTEGER note: STRING OPTIONAL TEXT } OPTIONAL