#define NBIN 100
#define INI -99999

typedef struct
{
    char *  id;
}SYMMETRY_EQUIV;

typedef struct
{
     int Int_Tables_number;
     char  cell_setting[40];
    char  entry_id[40];
    char  pdbx_full_space_group_name_H_M[40];
    char  space_group_name_H_M[40];
    char  space_group_name_Hall[40];
}SYMMETRY;

typedef struct
{
    char *  details;
    char *  id;
    float rot_matrix11;
    float rot_matrix12;
    float rot_matrix13;
    float rot_matrix21;
    float rot_matrix22;
    float rot_matrix23;
    float rot_matrix31;
    float rot_matrix32;
    float rot_matrix33;
    char * site_id;
}STRUCT_SITE_VIEW;

typedef struct
{
    char * site_id;
    char *  text;
}STRUCT_SITE_KEYWORDS;

typedef struct
{
    char * auth_asym_id;
    char * auth_atom_id;
    char * auth_comp_id;
    char * auth_seq_id;
    char *  details;
    char *  id;
    char * label_alt_id;
    char * label_asym_id;
    char * label_atom_id;
    char * label_comp_id;
    char * label_seq_id;
    char *  pdbx_auth_ins_code;
    int pdbx_num_res;
    char * site_id;
    char *  symmetry;
}STRUCT_SITE_GEN;

typedef struct
{
    char *  details;
    char *  id;
    int pdbx_num_residues;
}STRUCT_SITE;

typedef struct
{
    int offset;
    char * range_id_1;
    char * range_id_2;
    char *  sense;
    char * sheet_id;
}STRUCT_SHEET_TOPOLOGY;

typedef struct
{
    char * beg_auth_asym_id;
    char * beg_auth_comp_id;
    char * beg_auth_seq_id;
    char * beg_label_asym_id;
    char * beg_label_comp_id;
    char * beg_label_seq_id;
    char * end_auth_asym_id;
    char * end_auth_comp_id;
    char * end_auth_seq_id;
    char * end_label_asym_id;
    char * end_label_comp_id;
    char * end_label_seq_id;
    char *  id;
    char *  pdbx_beg_PDB_ins_code;
    char *  pdbx_end_PDB_ins_code;
    char * sheet_id;
    char *  symmetry;
}STRUCT_SHEET_RANGE;

typedef struct
{
    int offset;
    char * range_id_1;
    char * range_id_2;
    char *  sense;
    char * sheet_id;
}STRUCT_SHEET_ORDER;

typedef struct
{
    char *  pdbx_range_1_beg_PDB_ins_code;
    char *  pdbx_range_1_beg_auth_asym_id;
    char *  pdbx_range_1_beg_auth_comp_id;
    char *  pdbx_range_1_beg_label_asym_id;
    char *  pdbx_range_1_beg_label_comp_id;
    char *  pdbx_range_1_end_PDB_ins_code;
    char *  pdbx_range_1_end_auth_asym_id;
    char *  pdbx_range_1_end_auth_comp_id;
    char *  pdbx_range_1_end_label_asym_id;
    char *  pdbx_range_1_end_label_comp_id;
    char *  pdbx_range_2_beg_PDB_ins_code;
    char *  pdbx_range_2_beg_label_asym_id;
    char *  pdbx_range_2_beg_label_comp_id;
    char *  pdbx_range_2_end_label_asym_id;
    char *  pdbx_range_2_end_label_comp_id;
    char *  pdbx_range_2_end_label_ins_code;
    char * range_1_beg_auth_atom_id;
    char * range_1_beg_auth_seq_id;
    char * range_1_beg_label_atom_id;
    char * range_1_beg_label_seq_id;
    char * range_1_end_auth_atom_id;
    char * range_1_end_auth_seq_id;
    char * range_1_end_label_atom_id;
    char * range_1_end_label_seq_id;
    char * range_2_beg_auth_atom_id;
    char * range_2_beg_auth_seq_id;
    char * range_2_beg_label_atom_id;
    char * range_2_beg_label_seq_id;
    char * range_2_end_auth_atom_id;
    char * range_2_end_auth_seq_id;
    char * range_2_end_label_atom_id;
    char * range_2_end_label_seq_id;
    char * range_id_1;
    char * range_id_2;
    char * sheet_id;
}STRUCT_SHEET_HBOND;

typedef struct
{
    char *  details;
    char *  id;
    int number_strands;
    char *  type;
}STRUCT_SHEET;

typedef struct
{
    char * align_id;
    char * db_mon_id;
    char *  details;
    char * mon_id;
    char *  pdbx_auth_seq_num;
    char *  pdbx_pdb_id_code;
    char *  pdbx_pdb_ins_code;
    char *  pdbx_pdb_strand_id;
    char *  pdbx_seq_db_accession_code;
    char *  pdbx_seq_db_name;
    char *  pdbx_seq_db_seq_num;
    int seq_num;
}STRUCT_REF_SEQ_DIF;

typedef struct
{
    char *  align_id;
    int db_align_beg;
    int db_align_end;
    char *  details;
    char *  pdbx_PDB_id_code;
    char *  pdbx_auth_seq_align_beg;
    char *  pdbx_auth_seq_align_end;
    char *  pdbx_db_accession;
    char *  pdbx_db_align_beg_ins_code;
    char *  pdbx_db_align_end_ins_code;
    char *  pdbx_seq_align_beg_ins_code;
    char *  pdbx_seq_align_end_ins_code;
    char *  pdbx_strand_id;
    char * ref_id;
    char * seq_align_beg;
    char * seq_align_end;
}STRUCT_REF_SEQ;

typedef struct
{
    char * biol_id;
    char *  db_code;
    char *  db_name;
    char *  details;
    char * entity_id;
    char *  id;
    char *  pdbx_align_begin;
    char *  pdbx_db_accession;
    char *  pdbx_seq_one_letter_code;
    char *  seq_align;
    char *  seq_dif;
}STRUCT_REF;

typedef struct
{
    char *  code;
    char *  details;
    char *  id;
    float matrix11;
    float matrix12;
    float matrix13;
    float matrix21;
    float matrix22;
    float matrix23;
    float matrix31;
    float matrix32;
    float matrix33;
    float vector1;
    float vector2;
    float vector3;
}STRUCT_NCS_OPER;

typedef struct
{
    char * dom_id_1;
    char * dom_id_2;
    char * ens_id;
    char * oper_id;
}STRUCT_NCS_ENS_GEN;

typedef struct
{
    char *  details;
    char *  id;
    char *  point_group;
}STRUCT_NCS_ENS;

typedef struct
{
    char  dom_id[20];
    char * beg_auth_asym_id;
    char *  beg_auth_comp_id;
    char *  beg_auth_seq_id;
    char *  beg_label_alt_id;
    char   beg_label_asym_id[10];
    char *  beg_label_comp_id;
    char *  end_auth_asym_id;
    char *  end_auth_comp_id;
    char *  end_auth_seq_id;
    char *  end_label_alt_id;
    char   end_label_asym_id[10];
    char *  end_label_comp_id;
    char * pdbx_component_id;
    char * pdbx_refine_code;
    int  beg_label_seq_id;
    int pdbx_component;
    int  end_label_seq_id;
    
}STRUCT_NCS_DOM_LIM;

typedef struct
{
    char  details[256];
    char  id[20];
}STRUCT_NCS_DOM;

typedef struct
{
    char  auth_asym_id[20];
    char  auth_comp_id[20];
    char  auth_seq_id[20];
    char  label_alt_id[20];
    char  label_asym_id[20];
    char  label_comp_id[20];
    char  label_seq_id[20];
    char   pdbx_PDB_ins_code_2[20];
    char   pdbx_PDB_ins_code[20];
    char   pdbx_PDB_model_num[20];
    char   pdbx_auth_asym_id_2[20];
    char   pdbx_auth_comp_id_2[20];
    char   pdbx_auth_seq_id_2[20];
    char   pdbx_id[20];
    char   pdbx_label_asym_id_2[20];
    char   pdbx_label_comp_id_2[20];
    char   pdbx_label_seq_id_2[20];
    char   pdbx_omega_angle[20];
}STRUCT_MON_PROT_CIS;

typedef struct
{
    float RSCC_all;
    float RSCC_main;
    float RSCC_side;
    float RSR_all;
    float RSR_main;
    float RSR_side;
    char * auth_asym_id;
    char * auth_comp_id;
    char * auth_seq_id;
    float chi1;
    float chi2;
    float chi3;
    float chi4;
    float chi5;
    float details;
    char * label_alt_id;
    char * label_asym_id;
    char * label_comp_id;
    char * label_seq_id;
    float mean_B_all;
    float mean_B_main;
    float mean_B_side;
    float omega;
    float phi;
    float psi;
}STRUCT_MON_PROT;

typedef struct
{
    float P;
    float RSCC_all;
    float RSCC_base;
    float RSCC_phos;
    float RSCC_sugar;
    float RSR_all;
    float RSR_base;
    float RSR_phos;
    float RSR_sugar;
    float alpha;
    char * auth_asym_id;
    char * auth_comp_id;
    char * auth_seq_id;
    float beta;
    float chi1;
    float chi2;
    float delta;
    float details;
    float epsilon;
    float gamma;
    char * label_alt_id;
    char * label_asym_id;
    char * label_comp_id;
    char * label_seq_id;
    float mean_B_all;
    float mean_B_base;
    float mean_B_phos;
    float mean_B_sugar;
    float nu0;
    float nu1;
    float nu2;
    float nu3;
    float nu4;
    float tau0;
    float tau1;
    float tau2;
    float tau3;
    float tau4;
    float taum;
    float zeta;
}STRUCT_MON_NUCL;

typedef struct
{
    char *  RSCC;
    char *  RSR;
    char * entry_id;
    float prot_cis;
}STRUCT_MON_DETAILS;

typedef struct
{
    char * entry_id;
    char *  pdbx_keywords;
    char *  text;
}STRUCT_KEYWORDS;

typedef struct
{
    char *  criteria;
    char *  id;
    char *  reference;
}STRUCT_CONN_TYPE;

typedef struct
{
    char   conn_type_id[20];
    char   details[512];
    char   id[20];
    char   pdbx_PDB_id[20];
    char   pdbx_ptnr1_PDB_ins_code[20];
    char   pdbx_ptnr1_auth_alt_id[20];
    char   pdbx_ptnr1_label_alt_id[20];
    char   pdbx_ptnr1_standard_comp_id[20];
    char   pdbx_ptnr2_PDB_ins_code[20];
    char   pdbx_ptnr2_auth_alt_id[20];
    char   pdbx_ptnr2_label_alt_id[20];
    char   pdbx_ptnr3_PDB_ins_code[20];
    char   pdbx_ptnr3_auth_alt_id[20];
    char   pdbx_ptnr3_auth_asym_id[20];
    char   pdbx_ptnr3_auth_atom_id[20];
    char   pdbx_ptnr3_auth_comp_id[20];
    char   pdbx_ptnr3_auth_seq_id[20];
    char   pdbx_ptnr3_label_alt_id[20];
    char   pdbx_ptnr3_label_asym_id[20];
    char   pdbx_ptnr3_label_atom_id[20];
    char   pdbx_ptnr3_label_comp_id[20];
    char   pdbx_ptnr3_label_seq_id[20];
    char  ptnr1_auth_asym_id[20];
    char  ptnr1_auth_atom_id[20];
    char  ptnr1_auth_comp_id[20];
    char  ptnr1_auth_seq_id[20];
    char  ptnr1_label_alt_id[20];
    char  ptnr1_label_asym_id[20];
    char  ptnr1_label_atom_id[20];
    char  ptnr1_label_comp_id[20];
    char  ptnr1_label_seq_id[20];
    char  ptnr1_role[80];
    char  ptnr1_symmetry[20];
    char  ptnr2_auth_asym_id[20];
    char  ptnr2_auth_atom_id[20];
    char  ptnr2_auth_comp_id[20];
    char  ptnr2_auth_seq_id[20];
    char  ptnr2_label_alt_id[20];
    char  ptnr2_label_asym_id[20];
    char  ptnr2_label_atom_id[20];
    char  ptnr2_label_comp_id[20];
    char  ptnr2_label_seq_id[20];
    char   ptnr2_role[80];
    char   ptnr2_symmetry[20];
}STRUCT_CONN;

typedef struct
{
    char *  criteria;
    char *  id;
    char *  reference;
}STRUCT_CONF_TYPE;

typedef struct
{
    char * beg_auth_asym_id;
    char * beg_auth_comp_id;
    char * beg_auth_seq_id;
    char * beg_label_asym_id;
    char * beg_label_comp_id;
    char * beg_label_seq_id;
    char * conf_type_id;
    char *  details;
    char * end_auth_asym_id;
    char * end_auth_comp_id;
    char * end_auth_seq_id;
    char * end_label_asym_id;
    char * end_label_comp_id;
    char * end_label_seq_id;
    char *  id;
    char *  pdbx_PDB_helix_class;
    char *  pdbx_PDB_helix_id;
    char *  pdbx_PDB_helix_length;
    char *  pdbx_beg_PDB_ins_code;
    char * pdbx_end_PDB_ins_code;
}STRUCT_CONF;

typedef struct
{
    char * biol_id;
    char *  details;
    char *  id;
    float rot_matrix11;
    float rot_matrix12;
    float rot_matrix13;
    float rot_matrix21;
    float rot_matrix22;
    float rot_matrix23;
    float rot_matrix31;
    float rot_matrix32;
    float rot_matrix33;
}STRUCT_BIOL_VIEW;

typedef struct
{
    char * biol_id;
    char *  text;
}STRUCT_BIOL_KEYWORDS;

typedef struct
{
    char * asym_id;
    char * biol_id;
    char *  details;
    char *  pdbx_full_symmetry_operation;
    char *  symmetry;
}STRUCT_BIOL_GEN;

typedef struct
{
    char *  details;
    char *  id;
    char *  pdbx_parent_biol_id;
}STRUCT_BIOL;

typedef struct
{
    char *  details;
    char * entity_id;
    char *  id;
    char *  pdbx_blank_PDB_chainid_flag;
    char *  pdbx_modified;
}STRUCT_ASYM;

typedef struct
{
    char * entry_id;
    char *  pdbx_descriptor;
    char *  pdbx_model_details;
    char *  title;
}STRUCT_;

typedef struct
{
    char * citation_id;
    char *  classification;
    char *  compiler_name;
    char *  compiler_version;
    char *  contact_author_email;
    char *  contact_author;
    char *  date;
    char *  dependencies;
    char *  description;
    char *  hardware;
    char *  language;
    char *  location;
    char *  mods;
    char *  name;
    char *  os_version;
    char *  os;
    char *  type;
    char *  version;
}SOFTWARE;

typedef struct
{
    int nbin;
    float Rmerge_F_all[NBIN];
    float Rmerge_F_obs[NBIN];
    float Rmerge_I_all[NBIN];
    float Rmerge_I_obs[NBIN];
    float d_res_high[NBIN];
    float d_res_low[NBIN];
    float meanI_over_sigI_all[NBIN];
    float meanI_over_sigI_obs[NBIN];
    int number_measured_all[NBIN];
    int number_measured_obs[NBIN];
    int number_possible[NBIN];
    int number_unique_all[NBIN];
    int number_unique_obs[NBIN];
    int pdbx_rejects[NBIN];
    float pdbx_Rsym_value[NBIN];
    float pdbx_chi_squared[NBIN];
    float pdbx_redundancy[NBIN];
    float percent_possible_all[NBIN];
    float percent_possible_obs[NBIN];
}REFLNS_SHELL;

typedef struct
{
    char *  group_code;
    float meas_F_squared;
    float meas_F;
    float meas_intensity;
}REFLNS_SCALE;

typedef struct
{
    float B_iso_Wilson_estimate;
    char *  R_free_details;
    float Rmerge_F_all;
    float Rmerge_F_obs;
    float d_resolution_high;
    float d_resolution_low;
    char *  data_reduction_details;
    char *  data_reduction_method;
    char *  details;
    char * entry_id;
    int limit_h_max;
    int limit_h_min;
    int limit_k_max;
    int limit_k_min;
    int limit_l_max;
    int limit_l_min;
    int number_all;
    int number_obs;
    float observed_criterion_F_max;
    float observed_criterion_F_min;
    float observed_criterion_I_max;
    float observed_criterion_I_min;
    float observed_criterion_sigma_F;
    float observed_criterion_sigma_I;
    char *  observed_criterion;
    float pdbx_Rmerge_I_obs;
    float pdbx_Rsym_value;
    float pdbx_chi_squared;
    float pdbx_d_res_high_opt;
    float pdbx_d_res_low_opt;
    char *  pdbx_d_res_opt_method;
    float pdbx_netI_over_av_sigmaI;
    float pdbx_redundancy;
    int pdbx_scaling_rejects;
    float percent_possible_obs;
}REFLNS;

typedef struct
{
    float I_over_sigmaI;
    float I;
    int index_h;
    int index_k;
    int index_l;
    float sigmaI;
}REFLN_SYS_ABS;

typedef struct
{
    float A_calc_au;
    float A_calc;
    float A_meas_au;
    float A_meas;
    float B_calc_au;
    float B_calc;
    float B_meas_au;
    float B_meas;
    float F_calc_au;
    float F_calc;
    float F_meas_au;
    float F_meas_sigma_au;
    float F_meas_sigma;
    float F_meas;
    float F_squared_calc;
    float F_squared_meas;
    float F_squared_sigma;
    char * crystal_id;
    float fom;
    int index_h;
    int index_k;
    int index_l;
    float intensity_calc;
    float intensity_meas;
    float intensity_sigma;
    float mean_path_length_tbar;
    float pdbx_F_calc_part_solvent;
    float pdbx_F_calc_with_solvent;
    float pdbx_phase_calc_part_solvent;
    float pdbx_phase_calc_with_solvent;
    float phase_calc;
    float phase_meas;
    char *  refinement_status;
    char * scale_group_code;
    float sint_over_lambda;
    char *  status;
    int symmetry_epsilon;
    int symmetry_multiplicity;
    float wavelength_id;
    float wavelength;
}REFLN;

typedef struct
{
    char *  class_;
    char *  details;
    char *  treatment;
    float value;
}REFINE_OCCUPANCY;

typedef struct
{
    int nbin;
    int pdbx_total_number_of_bins_used[NBIN];
    float R_factor_R_free_error[NBIN];
    float R_factor_R_free[NBIN];
    float R_factor_R_work[NBIN];
    float R_factor_all[NBIN];
    float R_factor_obs[NBIN];
    float d_res_high[NBIN];
    float d_res_low[NBIN];
    int number_reflns_R_free[NBIN];
    int number_reflns_R_work[NBIN];
    int number_reflns_all[NBIN];
    int number_reflns_obs[NBIN];
    float percent_reflns_R_free[NBIN];
    float percent_reflns_obs[NBIN];
    int redundancy_reflns_all[NBIN];
    int redundancy_reflns_obs[NBIN];
    float wR_factor_R_free[NBIN];
    float wR_factor_R_work[NBIN];
    float wR_factor_all[NBIN];
    float wR_factor_obs[NBIN];
}REFINE_LS_SHELL;

typedef struct
{
    float distance_cutoff_high;
    float distance_cutoff_low;
    char *  type;
}REFINE_LS_RESTR_TYPE;

typedef struct
{
    char dom_id[20];
    char ncs_model_details[512];
    char pdbx_asym_id[10];
    int pdbx_number;
    float pdbx_rms;
    char pdbx_type[80];
    float pdbx_weight;
    float rms_dev_B_iso;
    float rms_dev_position;
    float weight_B_iso;
    float weight_position;
}REFINE_LS_RESTR_NCS;

typedef struct
{
    char  criterion[256];
    float dev_ideal_target;
    float dev_ideal;
    int number;
    int rejects;
    char type[80];
    float weight;
}REFINE_LS_RESTR;

typedef struct
{
    float R_factor_R_free;
    float R_factor_R_work;
    float R_factor_all;
    float R_factor_obs;
    char *  cycle_id;
    float d_res_high;
    float d_res_low;
    char *  details;
    int number_atoms_solvent;
    int number_atoms_total;
    int number_reflns_R_free;
    int number_reflns_R_work;
    int number_reflns_all;
    int number_reflns_obs;
    int pdbx_number_atoms_carb;
    int pdbx_number_atoms_ligand;
    int pdbx_number_atoms_lipid;
    int pdbx_number_atoms_nucleic_acid;
    int pdbx_number_atoms_protein;
    char *  pdbx_pseudo_atom_details;
}REFINE_HIST;

typedef struct
{
    int number_terms;
    float residual;
    char *  type;
    float weight;
}REFINE_FUNCT_MINIMIZED;

typedef struct
{
    float Luzzati_coordinate_error_free;
    float Luzzati_coordinate_error_obs;
    float Luzzati_d_res_low_free;
    float Luzzati_d_res_low_obs;
    char *  Luzzati_sigma_a_free_details;
    float Luzzati_sigma_a_free;
    char *  Luzzati_sigma_a_obs_details;
    float Luzzati_sigma_a_obs;
    float RG_d_res_high;
    float RG_d_res_low;
    float RG_free_work_ratio;
    float RG_free;
    float RG_work;
    char * entry_id;
    float number_disordered_residues;
    float occupancy_sum_hydrogen;
    float occupancy_sum_non_hydrogen;
    float pdbx_Luzzati_d_res_high_obs;
}REFINE_ANALYZE;

typedef struct
{
    char *  class_;
    char *  details;
    char *  treatment;
    float value;
}REFINE_B_ISO;

typedef struct
{
    float B_iso_max;
    float B_iso_mean;
    float B_iso_min;
    float aniso_B11;
    float aniso_B12;
    float aniso_B13;
    float aniso_B22;
    float aniso_B23;
    float aniso_B33;
    float correlation_coeff_Fo_to_Fc_free;
    float correlation_coeff_Fo_to_Fc;
    char *  details;
    float diff_density_max_esd;
    float diff_density_max;
    float diff_density_min_esd;
    float diff_density_min;
    float diff_density_rms_esd;
    float diff_density_rms;
    char * entry_id;
    float ls_R_Fsqd_factor_obs;
    float ls_R_I_factor_obs;
    char *  ls_R_factor_R_free_error_details;
    float ls_R_factor_R_free_error;
    float ls_R_factor_R_free;
    float ls_R_factor_R_work;
    float ls_R_factor_all;
    float ls_R_factor_obs;
    float ls_abs_structure_Flack_esd;
    float ls_abs_structure_Flack;
    float ls_abs_structure_Rogers_esd;
    float ls_abs_structure_Rogers;
    char *  ls_abs_structure_details;
    float ls_d_res_high;
    float ls_d_res_low;
    float ls_extinction_coef_esd;
    float ls_extinction_coef;
    char *  ls_extinction_expression;
    char *  ls_extinction_method;
    float ls_goodness_of_fit_all_esd;
    float ls_goodness_of_fit_all;
    float ls_goodness_of_fit_obs_esd;
    float ls_goodness_of_fit_obs;
    char *  ls_hydrogen_treatment;
    char *  ls_matrix_type;
    int ls_number_constraints;
    int ls_number_parameters;
    int ls_number_reflns_R_free;
    int ls_number_reflns_R_work;
    int ls_number_reflns_all;
    int ls_number_reflns_obs;
    int ls_number_restraints;
    float ls_percent_reflns_R_free;
    float ls_percent_reflns_obs;
    int ls_redundancy_reflns_all;
    int ls_redundancy_reflns_obs;
    float ls_restrained_S_all;
    float ls_restrained_S_obs;
    float ls_shift_over_esd_max;
    float ls_shift_over_esd_mean;
    char *  ls_structure_factor_coef;
    float ls_wR_factor_R_free;
    float ls_wR_factor_R_work;
    float ls_wR_factor_all;
    float ls_wR_factor_obs;
    char *  ls_weighting_details;
    char *  ls_weighting_scheme;
    float occupancy_max;
    float occupancy_min;
    float overall_FOM_free_R_set;
    float overall_FOM_work_R_set;
    float overall_SU_B;
    float overall_SU_ML;
    float overall_SU_R_Cruickshank_DPI;
    float overall_SU_R_free;
    char *  pdbx_R_Free_selection_details;
    float pdbx_data_cutoff_high_absF;
    float pdbx_data_cutoff_high_rms_absF;
    float pdbx_data_cutoff_low_absF;
    char *  pdbx_isotropic_thermal_model;
    char *  pdbx_ls_cross_valid_method;
    float pdbx_ls_sigma_F;
    float pdbx_ls_sigma_I;
    char *  pdbx_method_to_determine_struct;
    float pdbx_overall_ESU_R_Free;
    float pdbx_overall_ESU_R;
    float pdbx_solvent_ion_probe_radii;
    float pdbx_solvent_shrinkage_radii;
    float pdbx_solvent_vdw_probe_radii;
    char *  pdbx_starting_model;
    char *  pdbx_stereochem_target_val_spec_case;
    char *  pdbx_stereochemistry_target_values;
    char *  solvent_model_details;
    float solvent_model_param_bsol;
    float solvent_model_param_ksol;
}REFINE;

typedef struct
{
    int WWW_Report_Criteria;
    int WWW_Selection_Criteria;
    int column_serial_no;
    char *  description;
    char *  group_name;
    int table_serial_no;
    char *  tablename;
    int type;
}RCSB_TABLEINFO;

typedef struct
{
    int WWW_Report_Criteria;
    int WWW_Selection_Criteria;
    int column_serial_no;
    char *  columnname;
    char *  description;
    char *  example;
    int table_serial_no;
    char *  tablename;
    int type;
}RCSB_COLUMNINFO;

typedef struct
{
    char * entry_id;
    char *  extra_defn;
    char *  extra_info;
    char *  extra_item;
}PUBL_MANUSCRIPT_INCL;

typedef struct
{
    char *  contents;
    char *  element;
    char *  format;
    char *  label;
    char *  title;
}PUBL_BODY;

typedef struct
{
    char *  address;
    char *  footnote;
    char *  name;
}PUBL_AUTHOR;

typedef struct
{
    char *  contact_author_address;
    char *  contact_author_email;
    char *  contact_author_fax;
    char *  contact_author_name;
    char *  contact_author_phone;
    char *  contact_author;
    char *  contact_letter;
    char * entry_id;
    char *  manuscript_creation;
    char *  manuscript_processed;
    char *  manuscript_text;
    char *  requested_category;
    char *  requested_coeditor_name;
    char *  requested_journal;
    char *  section_abstract;
    char *  section_acknowledgements;
    char *  section_comment;
    char *  section_discussion;
    char *  section_experimental;
    char *  section_exptl_prep;
    char *  section_exptl_refinement;
    char *  section_exptl_solution;
    char *  section_figure_captions;
    char *  section_introduction;
    char *  section_references;
    char *  section_synopsis;
    char *  section_table_legends;
    char *  section_title_footnote;
    char *  section_title;
}PUBL;

typedef struct
{
    float F_meas_au;
    float F_meas_sigma_au;
    float F_meas_sigma;
    float F_meas;
    int index_h;
    int index_k;
    int index_l;
    char * set_id;
}PHASING_SET_REFLN;

typedef struct
{
    float cell_angle_alpha;
    float cell_angle_beta;
    float cell_angle_gamma;
    float cell_length_a;
    float cell_length_b;
    float cell_length_c;
    char *  detector_specific;
    char *  detector_type;
    char *  id;
    char *  radiation_source_specific;
    float radiation_wavelength;
    float temp;
}PHASING_SET;

typedef struct
{
    char *  details;
    char * entry_id;
    char *  method;
    char *  parent;
}PHASING_ISOMORPHOUS;

typedef struct
{
    char *  details;
    char * entry_id;
    char *  method;
}PHASING_AVERAGING;

typedef struct
{
    float FOM_acentric[NBIN];
    float FOM_centric[NBIN];
    float R_cullis[NBIN];
    float R_kraut[NBIN];
    float d_res_high[NBIN];
    float d_res_low[NBIN];
    float fom[NBIN];
    float loc[NBIN];
    float mean_phase[NBIN];
    float pdbx_R_cullis_acentric[NBIN];
    float pdbx_R_cullis_centric[NBIN];
    float pdbx_R_kraut_acentric[NBIN];
    float pdbx_R_kraut_centric[NBIN];
    float pdbx_loc_acentric[NBIN];
    float pdbx_loc_centric[NBIN];
    float pdbx_power_acentric[NBIN];
    float pdbx_power_centric[NBIN];
    float power[NBIN];
    int reflns_acentric[NBIN];
    int reflns_anomalous[NBIN];
    int reflns_centric[NBIN];
    int reflns[NBIN];
    int nbin;
}PHASING_MIR_SHELL;

typedef struct
{
    float B_iso_esd;
    float B_iso;
    float Cartn_x_esd;
    float Cartn_x;
    float Cartn_y_esd;
    float Cartn_y;
    float Cartn_z_esd;
    float Cartn_z;
    char * atom_type_symbol;
    char * der_id;
    char *  details;
    float fract_x_esd;
    float fract_x;
    float fract_y_esd;
    float fract_y;
    float fract_z_esd;
    float fract_z;
    char *  id;
    float occupancy_anom_su;
    float occupancy_anom;
    float occupancy_iso_su;
    float occupancy_iso;
    float occupancy;
}PHASING_MIR_DER_SITE;

typedef struct
{
    char der_id[80];
    int number_bin;
    float R_cullis[NBIN];
    float R_kraut[NBIN];
    float d_res_high[NBIN];
    float d_res_low[NBIN];
    float fom[NBIN];
    float ha_ampl[NBIN];
    float loc[NBIN];
    float pdbx_R_cullis_acentric[NBIN];
    float pdbx_R_cullis_centric[NBIN];
    float pdbx_R_kraut_acentric[NBIN];
    float pdbx_R_kraut_centric[NBIN];
    float pdbx_fom_acentric[NBIN];
    float pdbx_fom_centric[NBIN];
    float pdbx_loc_acentric[NBIN];
    float pdbx_loc_centric[NBIN];
    float pdbx_power_acentric[NBIN];
    float pdbx_power_centric[NBIN];
    float pdbx_reflns_acentric[NBIN];
    float pdbx_reflns_centric[NBIN];
    float phase[NBIN];
    float power[NBIN];
    int reflns[NBIN];
}PHASING_MIR_DER_SHELL;

typedef struct
{
    float F_calc_au;
    float F_calc;
    float F_meas_au;
    float F_meas_sigma_au;
    float F_meas_sigma;
    float F_meas;
    float HL_A_iso;
    float HL_B_iso;
    float HL_C_iso;
    float HL_D_iso;
    char * der_id;
    int index_h;
    int index_k;
    int index_l;
    float phase_calc;
    char * set_id;
}PHASING_MIR_DER_REFLN;

typedef struct
{
    float R_cullis_acentric;
    float R_cullis_anomalous;
    float R_cullis_centric;
    float d_res_high;
    float d_res_low;
    char * der_set_id;
    char *  details;
    char *  id;
    char * native_set_id;
    int number_of_sites;
    float pdbx_R_cullis;
    float pdbx_R_kraut_acentric;
    float pdbx_R_kraut_centric;
    float pdbx_R_kraut;
    float pdbx_fom_acentric;
    float pdbx_fom_centric;
    float pdbx_fom;
    float pdbx_loc_acentric;
    float pdbx_loc_centric;
    float pdbx_loc;
    float pdbx_power;
    float pdbx_reflns;
    float power_acentric;
    float power_centric;
    int reflns_acentric;
    int reflns_anomalous;
    int reflns_centric;
    char *  reflns_criteria;
}PHASING_MIR_DER;

typedef struct
{
    float FOM_acentric;
    float FOM_centric;
    float FOM;
    float d_res_high;
    float d_res_low;
    char *  details;
    char * entry_id;
    char *  method;
    int reflns_acentric;
    int reflns_centric;
    char *  reflns_criterion;
    int reflns;
}PHASING_MIR;

typedef struct
{
    char * clust_id;
    float d_res_high;
    float d_res_low;
    char * expt_id;
    float f_double_prime;
    float f_prime;
    char *  pdbx_atom_type;
    float pdbx_f_double_prime_refined;
    float pdbx_f_prime_refined;
    char * set_id;
    char *  wavelength_details;
    float wavelength;
}PHASING_MAD_SET;

typedef struct
{
    char * clust_id;
    float d_res_high;
    float d_res_low;
    char * expt_id;
    float ratio_one_wl_centric;
    float ratio_one_wl;
    float ratio_two_wl;
    float wavelength_1;
    float wavelength_2;
}PHASING_MAD_RATIO;

typedef struct
{
    float R_normal_all;
    float R_normal_anom_scat;
    float delta_delta_phi;
    float delta_phi_sigma;
    float delta_phi;
    char *  id;
    float mean_fom;
    int number_clust;
}PHASING_MAD_EXPT;

typedef struct
{
    char * expt_id;
    char *  id;
    int number_set;
}PHASING_MAD_CLUST;

typedef struct
{
    char *  details;
    char * entry_id;
    char *  method;
    float pdbx_R_cullis_acentric;
    float pdbx_R_cullis_centric;
    float pdbx_R_cullis;
    float pdbx_R_kraut_acentric;
    float pdbx_R_kraut_centric;
    float pdbx_R_kraut;
    float pdbx_d_res_high;
    float pdbx_d_res_low;
    float pdbx_fom_acentric;
    float pdbx_fom_centric;
    float pdbx_fom;
    float pdbx_loc_acentric;
    float pdbx_loc_centric;
    float pdbx_loc;
    float pdbx_power_acentric;
    float pdbx_power_centric;
    float pdbx_power;
    float pdbx_reflns_acentric;
    float pdbx_reflns_centric;
    float pdbx_reflns;
}PHASING_MAD;

typedef struct
{
    char *  method;
}PHASING;

typedef struct
{
    int ntop;
    int nparam; 
    char *  param_file;
    char *  serial_no;
    char *  topol_file;
}PDBX_XPLOR_FILE;

typedef struct
{
    char *  range_1_PDB_ins_code;
    char *  range_1_auth_asym_id;
    char *  range_1_auth_atom_id;
    char *  range_1_auth_comp_id;
    char *  range_1_auth_seq_id;
    char *  range_1_label_asym_id;
    char *  range_1_label_atom_id;
    char *  range_1_label_comp_id;
    char *  range_1_label_seq_id;
    char *  range_2_PDB_ins_code;
    char *  range_2_auth_asym_id;
    char *  range_2_auth_atom_id;
    char *  range_2_auth_comp_id;
    char *  range_2_auth_seq_id;
    char *  range_2_label_asym_id;
    char *  range_2_label_atom_id;
    char *  range_2_label_comp_id;
    char *  range_2_label_seq_id;
    char *  range_id_1;
    char *  range_id_2;
    char *  sheet_id;
}PDBX_STRUCT_SHEET_HBOND;

typedef struct
{
    char *  id;
    char *  manufacturer;
    char *  model;
    char *  type;
}PDBX_ROBOT_SYSTEM;

typedef struct
{
    char  beg_auth_seq_id[10];
    char  beg_label_asym_id[10];
    char  beg_label_seq_id[10];
    char  end_auth_seq_id[10];
    char  end_label_asym_id[10];
    char  end_label_seq_id[10];
    char  id[10];
    char  refine_tls_id[10];
    char  *selection;
}PDBX_REFINE_TLS_GROUP;

typedef struct
{
    float L11_esd;
    float L11;
    float L12_esd;
    float L12;
    float L13_esd;
    float L13;
    float L22_esd;
    float L22;
    float L23_esd;
    float L23;
    float L33_esd;
    float L33;
    float S11_esd;
    float S11;
    float S12_esd;
    float S12;
    float S13_esd;
    float S13;
    float S21_esd;
    float S21;
    float S22_esd;
    float S22;
    float S23_esd;
    float S23;
    float S31_esd;
    float S31;
    float S32_esd;
    float S32;
    float S33_esd;
    float S33;
    float T11_esd;
    float T11;
    float T12_esd;
    float T12;
    float T13_esd;
    float T13;
    float T22_esd;
    float T22;
    float T23_esd;
    float T23;
    float T33_esd;
    float T33;
    char  details[256];
    char  id[10];
    char  method[256];
    float origin_x;
    float origin_y;
    float origin_z;
    float S22_S11;
    float S11_S33;
}PDBX_REFINE_TLS;

typedef struct
{
    char *  file_name;
    char *  file_type;
    char *  serial_no;
}PDBX_REFINE_AUX_FILE;

typedef struct
{
    float R_factor_all_4sig_cutoff;
    float R_factor_all_no_cutoff;
    float R_factor_obs_4sig_cutoff;
    float R_factor_obs_no_cutoff;
    char * entry_id;
    float free_R_factor_4sig_cutoff;
    float free_R_factor_no_cutoff;
    float free_R_val_4sig_cutoff;
    float free_R_val_test_set_size_perc_4sig_cutoff;
    float free_R_val_test_set_size_perc_no_cutoff;
    int   free_R_val_test_set_ct_4sig_cutoff;
    int   free_R_val_test_set_ct_no_cutoff;
    int   number_reflns_obs_4sig_cutoff;
    int   number_reflns_obs_no_cutoff;
}PDBX_REFINE;

typedef struct
{
    char *  entity_id;
    char *  seq_one_letter_code;
}PDBX_PRERELEASE_SEQ;

typedef struct
{
    char *  asym_id;
    char *  auth_mon_id;
    char *  auth_seq_num;
    char *  entity_id;
    char *  mon_id;
    char *  ndb_seq_num;
    char *  pdb_ins_code;
    char *  pdb_mon_id;
    char *  pdb_seq_num;
    char *  pdb_strand_id;
    char *  seq_id;
}PDBX_POLY_SEQ_SCHEME;

typedef struct
{
    int number_bin;
    float d_res_high[NBIN];
    float d_res_low[NBIN];
    float delta_phi_final[NBIN];
    float delta_phi_initial[NBIN];
    float fom_acentric[NBIN];
    float fom_centric[NBIN];
    float fom[NBIN];
    int reflns_acentric[NBIN];
    int reflns_centric[NBIN];
    int reflns[NBIN];
    float prior_map_CC_acentric[NBIN];
    float prior_map_CC_centric[NBIN];
    float prior_map_CC[NBIN];
    
}PDBX_PHASING_DM_SHELL;

typedef struct
{
    char  entry_id[40];
    char method[256];
    char  mask_type[256];
    
    int reflns_acentric;
    int reflns_centric;
    int reflns;
    
    float delta_phi_final;
    float delta_phi_initial;
    float fom_acentric;
    float fom_centric;
    float fom;

    float mask_radius;
    float d_res_high;
    float d_res_low;
    float protein_percent_sol;
    float protein_min_density;
    float protein_max_density;
    float protein_mean_density;
    float protein_mean_density_esd;
    
    float solvent_percent_sol;
    float solvent_min_density;
    float solvent_max_density;
    float solvent_mean_density;
    float solvent_mean_density_esd;

    float prior_map_CC_acentric;
    float prior_map_CC_centric;
    float prior_map_CC;
    
}PDBX_PHASING_DM;

typedef struct
{
    char  entry_id[80];
    char  method_rotation[256];
    char  method_translation[256];
    char * model_details;
    float  R_rigid_body;
    float  correlation_coeff_Fo_to_Fc;
    float  correlation_coeff_Io_to_Ic;
    float  d_res_high_rotation;
    float  d_res_low_rotation;
    float  d_res_high_translation;
    float  d_res_low_translation;
    float  d_res_high_fit;
    float  d_res_low_fit;
    float  R_factor;
    float  packing;
    float  reflns_percent_rotation;
    float  reflns_percent_translation;
    float  sigma_F_rotation;
    float  sigma_F_translation;
    float  sigma_I_rotation;
    float  sigma_I_translation;
    float  angle_alpha;
    float  angle_beta;
    float  angle_gamma;

    float Cartn_x;
    float Cartn_y;
    float Cartn_z;
    float fract_x;
    float fract_y;
    float fract_z;
    
}PDBX_PHASING_MR;

typedef struct
{
    int number_bin;
    
    float R_cullis_acentric[NBIN];
    float R_cullis_centric[NBIN];
    float R_cullis[NBIN];
    float R_kraut_acentric[NBIN];
    float R_kraut_centric[NBIN];
    float R_kraut[NBIN];
    float d_res_high[NBIN];
    float d_res_low[NBIN];
    float fom_acentric[NBIN];
    float fom_centric[NBIN];
    float fom[NBIN];
    float loc_acentric[NBIN];
    float loc_centric[NBIN];
    float loc[NBIN];
    float power_acentric[NBIN];
    float power_centric[NBIN];
    float power[NBIN];
    float reflns_acentric[NBIN];
    float reflns_centric[NBIN];
    float reflns[NBIN];
}PDBX_PHASING_MAD_SHELL;

typedef struct
{
    float Cartn_x_esd;
    float Cartn_x;
    float Cartn_y_esd;
    float Cartn_y;
    float Cartn_z_esd;
    float Cartn_z;
    float atom_type_symbol;
    float b_iso_esd;
    float b_iso;
    float fract_x_esd;
    float fract_x;
    float fract_y_esd;
    float fract_y;
    float fract_z_esd;
    float fract_z;
    float id;
    float occupancy_esd;
    float occupancy_iso;
    float occupancy;
    char *  set_id;
}PDBX_PHASING_MAD_SET_SITE;

typedef struct
{
    char id[80];
    int number_bin;
    float R_cullis_acentric[NBIN];
    float R_cullis_centric[NBIN];
    float R_cullis[NBIN];
    float R_kraut_acentric[NBIN];
    float R_kraut_centric[NBIN];
    float R_kraut[NBIN];
    float d_res_high[NBIN];
    float d_res_low[NBIN];
    float fom_acentric[NBIN];
    float fom_centric[NBIN];
    float fom[NBIN];
    float loc_acentric[NBIN];
    float loc_centric[NBIN];
    float loc[NBIN];
    float power_acentric[NBIN];
    float power_centric[NBIN];
    float power[NBIN];
    float reflns_acentric[NBIN];
    float reflns_centric[NBIN];
    float reflns[NBIN];
}PDBX_PHASING_MAD_SET_SHELL;

typedef struct
{
    float R_cullis_acentric;
    float R_cullis_centric;
    float R_cullis;
    float R_kraut_acentric;
    float R_kraut_centric;
    float R_kraut;
    float d_res_high;
    float d_res_low;
    float fom_acentric;
    float fom_centric;
    float fom;
    char *  id;
    float loc_acentric;
    float loc_centric;
    float loc;
    float number_of_sites;
    float power_acentric;
    float power_centric;
    float power;
    float reflns_acentric;
    float reflns_centric;
    float reflns;
}PDBX_PHASING_MAD_SET;

typedef struct
{
    char *  asym_id;
    char *  auth_mon_id;
    char *  auth_seq_num;
    char *  entity_id;
    int id;
    char *  mon_id;
    char *  ndb_seq_num;
    char *  pdb_ins_code;
    char *  pdb_mon_id;
    char *  pdb_seq_num;
    char *  pdb_strand_id;
}PDBX_NONPOLY_SCHEME;

typedef struct
{
    float field_strength;
    char *  manufacturer;
    char *  model;
    char *  spectrometer_id;
    char *  type;
}PDBX_NMR_SPECTROMETER;

typedef struct
{
    char *  authors;
    char *  classification;
    char *  name;
    char *  version;
}PDBX_NMR_SOFTWARE;

typedef struct
{
    char *  contents;
    char *  solution_id;
    char *  solvent_system;
}PDBX_NMR_SAMPLE_DETAILS;

typedef struct
{
    int conformer_id;
    char *  entry_id;
    char *  selection_criteria;
}PDBX_NMR_REPRESENTATIVE;

typedef struct
{
    char *  details;
    char *  entry_id;
    char *  method;
}PDBX_NMR_REFINE;

typedef struct
{
    char *  covalent_geom_angles_term_units;
    float covalent_geom_angles_term;
    char *  covalent_geom_bond_term_units;
    float covalent_geom_bond_term;
    char *  covalent_geom_impropers_term_units;
    float covalent_geom_impropers_term;
    char *  entry_id;
    char *  exptl_13C_shift_term_units;
    float exptl_13C_shift_term;
    char *  exptl_1H_shift_term_units;
    float exptl_1H_shift_term;
    char *  exptl_D_isotope_shift_term_units;
    float exptl_D_isotope_shift_term;
    char *  exptl_J_coupling_term_units;
    float exptl_J_coupling_term;
    char *  exptl_dipolar_coupling_term_units;
    float exptl_dipolar_coupling_term;
    char *  exptl_distance_term_units;
    float exptl_distance_term;
    char *  exptl_torsion_angles_term_units;
    float exptl_torsion_angles_term;
    float non_bonded_inter_conf_db_potential_term;
    char *  non_bonded_inter_radius_of_gyration_term_units;
    float non_bonded_inter_radius_of_gyration_term;
    char *  non_bonded_inter_van_der_Waals_term_type;
    char *  non_bonded_inter_van_der_Waals_term_units;
    float non_bonded_inter_van_der_Waals_term;
}PDBX_NMR_FORCE_CONSTANTS;

typedef struct
{
    char *  conditions_id;
    char *  ionic_strength;
    float pH;
    char *  pressure_units;
    char *  pressure;
    float temperature;
}PDBX_NMR_EXPTL_SAMPLE_CONDITIONS;

typedef struct
{
    char *  component;
    char *  concentration_units;
    float concentration;
    char *  isotopic_labeling;
    char *  solution_id;
}PDBX_NMR_EXPTL_SAMPLE;

typedef struct
{
    char *  conditions_id;
    char *  experiment_id;
    char *  solution_id;
    char *  type;
}PDBX_NMR_EXPTL;

typedef struct
{
    char *  atom_type;
    float bond_angle_rms_dev_error;
    float bond_angle_rms_dev;
    char *  chain_range_begin;
    char *  chain_range_end;
    char *  coord_average_rmsd_method;
    float covalent_bond_rms_dev_error;
    float covalent_bond_rms_dev;
    float dihedral_angles_rms_dev_error;
    float dihedral_angles_rms_dev;
    float distance_rms_dev_error;
    float distance_rms_dev;
    char *  entry_id;
    float improper_torsion_angle_rms_dev_error;
    float improper_torsion_angle_rms_dev;
    float peptide_planarity_rms_dev_error;
    float peptide_planarity_rms_dev;
    int residue_range_begin;
    int residue_range_end;
}PDBX_NMR_ENSEMBLE_RMS;

typedef struct
{
    int average_constraint_violations_per_residue;
    int average_constraints_per_residue;
    float average_distance_constraint_violation;
    float average_torsion_angle_constraint_violation;
    char *  conformer_selection_criteria;
    int conformers_calculated_total_number;
    int conformers_submitted_total_number;
    char *  distance_constraint_violation_method;
    char *  entry_id;
    float maximum_distance_constraint_violation;
    float maximum_lower_distance_constraint_violation;
    float maximum_torsion_angle_constraint_violation;
    float maximum_upper_distance_constraint_violation;
    int representative_conformer;
    char *  torsion_angle_constraint_violation_method;
}PDBX_NMR_ENSEMBLE;

typedef struct
{
    char *  entry_id;
    char *  text;
}PDBX_NMR_DETAILS;

typedef struct
{
    int NA_alpha_angle_constraints_total_count;
    int NA_beta_angle_constraints_total_count;
    int NA_chi_angle_constraints_total_count;
    int NA_delta_angle_constraints_total_count;
    int NA_epsilon_angle_constraints_total_count;
    int NA_gamma_angle_constraints_total_count;
    int NA_other_angle_constraints_total_count;
    int NA_sugar_pucker_constraints_total_count;
    int NOE_constraints_total;
    int NOE_interentity_total_count;
    char *  NOE_interproton_distance_evaluation;
    int NOE_intraresidue_total_count;
    int NOE_long_range_total_count;
    int NOE_medium_range_total_count;
    char *  NOE_motional_averaging_correction;
    char *  NOE_pseudoatom_corrections;
    int NOE_sequential_total_count;
    int disulfide_bond_constraints_total_count;
    char *  entry_id;
    int hydrogen_bond_constraints_total_count;
    int protein_chi_angle_constraints_total_count;
    int protein_other_angle_constraints_total_count;
    int protein_phi_angle_constraints_total_count;
    int protein_psi_angle_constraints_total_count;
}PDBX_NMR_CONSTRAINTS;

typedef struct
{
    char *  details;
    char *  entity_id;
}PDBX_ENTITY_SRC_SYN;

typedef struct
{
    char *  date;
    char * denature_buffer_id;
    char *  details;
    char * end_construct_id;
    char * entity_id;
    char * entry_id;
    int next_step_id;
    char * refold_buffer_id;
    char * robot_id;
    int step_id;
    char * storage_buffer_id;
    float temperature;
    float time;
}PDBX_ENTITY_SRC_GEN_REFOLD;

typedef struct
{
    char *  conc_assay_method;
    char *  conc_details;
    char * conc_device_id;
    char *  date;
    char * entity_id;
    char * entry_id;
    char *  product_id;
    float protein_concentration;
    int protein_oligomeric_state;
    float protein_purity;
    float protein_yield;
    int step_id;
    char * storage_buffer_id;
    float storage_temperature;
    char *  summary;
}PDBX_ENTITY_SRC_GEN_PURE;

typedef struct
{
    char * cleavage_buffer_id;
    float cleavage_temperature;
    float cleavage_time;
    char *  date;
    char *  details;
    char * end_construct_id;
    char * entity_id;
    char * entry_id;
    int next_step_id;
    char *  protease;
    float protein_protease_ratio;
    char * robot_id;
    int step_id;
}PDBX_ENTITY_SRC_GEN_PROTEOLYSIS;

typedef struct
{
    char *  date;
    char * end_construct_id;
    char * entity_id;
    char * entry_id;
    char * forward_primer_id;
    int next_step_id;
    char *  purification_details;
    char *  reaction_details;
    char * reverse_primer_id;
    char * robot_id;
    int step_id;
    char *  summary;
}PDBX_ENTITY_SRC_GEN_PROD_PCR;

typedef struct
{
    char *  details;
    char * entity_id;
    char * entry_id;
    char *  parameter;
    char * step_id;
    char *  value;
}PDBX_ENTITY_SRC_GEN_PROD_OTHER_PARAMETER;

typedef struct
{
    char *  date;
    char *  details;
    char * end_construct_id;
    char * entity_id;
    char * entry_id;
    int next_step_id;
    char *  process_name;
    char * robot_id;
    int step_id;
}PDBX_ENTITY_SRC_GEN_PROD_OTHER;

typedef struct
{
    char *  date;
    char * end_construct_id;
    char * entity_id;
    char * entry_id;
    int next_step_id;
    char *  purification_details;
    char *  restriction_enzyme_1;
    char *  restriction_enzyme_2;
    char *  robot_id;
    int step_id;
    char *  summary;
}PDBX_ENTITY_SRC_GEN_PROD_DIGEST;

typedef struct
{
    char *  buffer_id;
    float buffer_volume;
    char *  date;
    char *  details;
    char * end_construct_id;
    char * entity_id;
    char * entry_id;
    char *  method;
    int next_step_id;
    char * robot_id;
    int step_id;
    float temperature;
    float time;
}PDBX_ENTITY_SRC_GEN_LYSIS;

typedef struct
{
    char *  date;
    char *  details;
    char * end_construct_id;
    char * entity_id;
    char * entry_id;
    char *  method;
    int next_step_id;
    char *  protein_location;
    float protein_volume;
    char *  protein_yield_method;
    float protein_yield;
    char * robot_id;
    int step_id;
    float temperature;
}PDBX_ENTITY_SRC_GEN_FRACT;

typedef struct
{
    int OD;
    char * entity_id;
    char * entry_id;
    int serial;
    char * step_id;
    int time;
}PDBX_ENTITY_SRC_GEN_EXPRESS_TIMEPOINT;

typedef struct
{
    char *  C_terminal_seq_tag;
    char *  N_terminal_seq_tag;
    char *  culture_additives;
    char *  culture_base_media;
    float culture_temperature;
    float culture_time;
    float culture_volume;
    char *  date;
    int end_construct_id;
    char *  entity_id;
    char *  entry_id;
    char *  harvesting_details;
    char *  host_org_cell_line;
    char *  host_org_common_name;
    char *  host_org_culture_collection;
    char *  host_org_details;
    char *  host_org_scientific_name;
    char *  host_org_strain;
    char *  host_org_tax_id;
    char *  host_org_tissue;
    char *  host_org_variant;
    float inducer_concentration;
    char *  inducer;
    char *  induction_details;
    float induction_temperature;
    float induction_timepoint;
    float multiplicity_of_infection;
    int next_step_id;
    char *  plasmid_id;
    char *  promoter_type;
    char * robot_id;
    int step_id;
    char *  storage_details;
    char *  summary;
    char *  vector_type;
}PDBX_ENTITY_SRC_GEN_EXPRESS;

typedef struct
{
    char *  details;
    char * entity_id;
    char * entry_id;
    char *  recombination_enzymes;
    char * step_id;
    char *  system;
}PDBX_ENTITY_SRC_GEN_CLONE_RECOMBINATION;

typedef struct
{
    char *  cleavage_enzymes;
    char *  details;
    char * entity_id;
    char * entry_id;
    char *  ligation_enzymes;
    char * step_id;
    float temperature;
    int time;
}PDBX_ENTITY_SRC_GEN_CLONE_LIGATION;

typedef struct
{
    char *  date;
    char * end_construct_id;
    char * entity_id;
    char * entry_id;
    char *  gene_insert_method;
    char *  marker;
    int next_step_id;
    char *  purification_details;
    char * robot_id;
    int step_id;
    char *  summary;
    char *  transformation_method;
    char *  vector_details;
    char *  vector_name;
    char *  verification_method;
}PDBX_ENTITY_SRC_GEN_CLONE;

typedef struct
{
    float column_temperature;
    char *  column_type;
    float column_volume;
    char *  date;
    char * elution_buffer_id;
    char *  elution_protocol;
    char * end_construct_id;
    char * entity_id;
    char * entry_id;
    char * equilibration_buffer_id;
    float flow_rate;
    int next_step_id;
    char *  post_treatment;
    char * robot_id;
    char *  sample_conc_method;
    float sample_concentration;
    char *  sample_prep_details;
    float sample_volume;
    int step_id;
    float volume_pooled_fractions;
    char *  yield_method;
    float yield_pooled_fractions;
}PDBX_ENTITY_SRC_GEN_CHROM;

typedef struct
{
    char *  date;
    char *  details;
    char * entity_id;
    char * entry_id;
    char *  method;
    char *  result;
    char * robot_id;
    int step_id;
}PDBX_ENTITY_SRC_GEN_CHARACTER;

typedef struct
{
    char *  entity_id;
    char *  name_type;
    char *  name;
}PDBX_ENTITY_NAME;

typedef struct
{
    char *  biol_id;
    char *  entity_id;
    char *  id;
    int num_copies;
}PDBX_ENTITY_ASSEMBLY;

typedef struct
{
    char *  author_approval_type;
    char *  author_release_status_code;
    char *  date_author_approval;
    char *  date_coordinates;
    char *  date_deposition_form;
    char *  date_hold_coordinates;
    char *  date_hold_nmr_constraints;
    char *  date_hold_struct_fact;
    char *  date_manuscript;
    char *  date_nmr_constraints;
    char *  date_of_PDB_release;
    char *  date_struct_fact;
    char *  date_submitted;
    char *  dep_release_code_coordinates;
    char *  dep_release_code_nmr_constraints;
    char *  dep_release_code_sequence;
    char *  dep_release_code_struct_fact;
    char *  deposit_site;
    char *  entry_id;
    char *  hold_for_publication;
    char *  name_depositor;
    char *  pdb_date_of_author_approval;
    char *  process_site;
    char *  rcsb_annotator;
    char *  recvd_author_approval;
    char *  recvd_coordinates;
    char *  recvd_deposit_form;
    char *  recvd_initial_deposition_date;
    char *  recvd_internal_approval;
    char *  recvd_manuscript;
    char *  recvd_nmr_constraints;
    char *  recvd_struct_fact;
    char *  status_code;
}PDBX_DATABASE_STATUS;

typedef struct
{
    int id;
    char *  text;
}PDBX_DATABASE_REMARK;

typedef struct
{
    char *  content_type;
    char *  db_id;
    char *  db_name;
    char *  details;
}PDBX_DATABASE_RELATED;

typedef struct
{
    char *  cycle_id;
    char *  date_begin_cycle;
    char *  date_end_cycle;
    char *  details;
    char *  entry_id;
}PDBX_DATABASE_PROC;

typedef struct
{
    char *  content_type;
    char *  date;
    char *  entry_id;
    char *  message_id;
    char *  message_type;
    char *  message;
    char *  receiver_address_email;
    char *  receiver_address_fax;
    char *  receiver_address_mail;
    char *  receiver_address_phone;
    char *  receiver;
    char *  sender_address_email;
    char *  sender_address_fax;
    char *  sender_address_mail;
    char *  sender_address_phone;
    char *  sender;
}PDBX_DATABASE_MESSAGE;

typedef struct
{
    char *  date;
    char *  id;
    char *  pdb_id;
    char *  replace_pdb_id;
}PDBX_DATABASE_PDB_OBS_SPR;

typedef struct
{
    char * construct_id;
    char *  details;
    int end_seq;
    char * entry_id;
    char *  id;
    int start_seq;
    char *  type;
}PDBX_CONSTRUCT_FEATURE;

typedef struct
{
    char *  class_;
    char *  date;
    char *  details;
    char * entity_id;
    char * entry_id;
    char *  id;
    char *  name;
    char *  organisation;
    char * robot_id;
    char *  seq;
    char *  type;
}PDBX_CONSTRUCT;

typedef struct
{
    char * buffer_id;
    char *  conc_units;
    char *  conc;
    char *  details;
    char *  id;
    char *  isotopic_labeling;
    char *  name;
    char *  volume;
}PDBX_BUFFER_COMPONENTS;

typedef struct
{
    char *  details;
    char *  id;
    char *  name;
}PDBX_BUFFER;

typedef struct
{
    char *  current_version;
    char *  entry_id;
}PDBX_AUDIT;

typedef struct
{
    char * atom_site_auth_asym_id_1;
    char * atom_site_auth_asym_id_2;
    char * atom_site_auth_asym_id_3;
    char * atom_site_auth_asym_id_4;
    char * atom_site_auth_atom_id_1;
    char * atom_site_auth_atom_id_2;
    char * atom_site_auth_atom_id_3;
    char * atom_site_auth_atom_id_4;
    char * atom_site_auth_comp_id_1;
    char * atom_site_auth_comp_id_2;
    char * atom_site_auth_comp_id_3;
    char * atom_site_auth_comp_id_4;
    char * atom_site_auth_seq_id_1;
    char * atom_site_auth_seq_id_2;
    char * atom_site_auth_seq_id_3;
    char * atom_site_auth_seq_id_4;
    char * atom_site_id_1;
    char * atom_site_id_2;
    char * atom_site_id_3;
    char * atom_site_id_4;
    char * atom_site_label_alt_id_1;
    char * atom_site_label_alt_id_2;
    char * atom_site_label_alt_id_3;
    char * atom_site_label_alt_id_4;
    char * atom_site_label_asym_id_1;
    char * atom_site_label_asym_id_2;
    char * atom_site_label_asym_id_3;
    char * atom_site_label_asym_id_4;
    char * atom_site_label_atom_id_1;
    char * atom_site_label_atom_id_2;
    char * atom_site_label_atom_id_3;
    char * atom_site_label_atom_id_4;
    char * atom_site_label_comp_id_1;
    char * atom_site_label_comp_id_2;
    char * atom_site_label_comp_id_3;
    char * atom_site_label_comp_id_4;
    char * atom_site_label_seq_id_1;
    char * atom_site_label_seq_id_2;
    char * atom_site_label_seq_id_3;
    char * atom_site_label_seq_id_4;
    int model_id;
    char *  site_symmetry_1;
    char *  site_symmetry_2;
    char *  site_symmetry_3;
    char *  site_symmetry_4;
    float value_esd;
    float value;
}NDB_VIRTUAL_TORSION;

typedef struct
{
    char * atom_site_auth_asym_id_1;
    char * atom_site_auth_asym_id_2;
    char * atom_site_auth_atom_id_1;
    char * atom_site_auth_atom_id_2;
    char * atom_site_auth_comp_id_1;
    char * atom_site_auth_comp_id_2;
    char * atom_site_auth_seq_id_1;
    char * atom_site_auth_seq_id_2;
    char * atom_site_id_1;
    char * atom_site_id_2;
    char * atom_site_label_alt_id_1;
    char * atom_site_label_alt_id_2;
    char * atom_site_label_asym_id_1;
    char * atom_site_label_asym_id_2;
    char * atom_site_label_atom_id_1;
    char * atom_site_label_atom_id_2;
    char * atom_site_label_comp_id_1;
    char * atom_site_label_comp_id_2;
    char * atom_site_label_seq_id_1;
    char * atom_site_label_seq_id_2;
    float dist_esd;
    float dist;
    int model_id;
    char *  site_symmetry_1;
    char *  site_symmetry_2;
}NDB_VIRTUAL_BOND;

typedef struct
{
    char * atom_site_auth_asym_id_1;
    char * atom_site_auth_asym_id_2;
    char * atom_site_auth_asym_id_3;
    char * atom_site_auth_atom_id_1;
    char * atom_site_auth_atom_id_2;
    char * atom_site_auth_atom_id_3;
    char * atom_site_auth_comp_id_1;
    char * atom_site_auth_comp_id_2;
    char * atom_site_auth_comp_id_3;
    char * atom_site_auth_seq_id_1;
    char * atom_site_auth_seq_id_2;
    char * atom_site_auth_seq_id_3;
    char * atom_site_id_1;
    char * atom_site_id_2;
    char * atom_site_id_3;
    char * atom_site_label_alt_id_1;
    char * atom_site_label_alt_id_2;
    char * atom_site_label_alt_id_3;
    char * atom_site_label_asym_id_1;
    char * atom_site_label_asym_id_2;
    char * atom_site_label_asym_id_3;
    char * atom_site_label_atom_id_1;
    char * atom_site_label_atom_id_2;
    char * atom_site_label_atom_id_3;
    char * atom_site_label_comp_id_1;
    char * atom_site_label_comp_id_2;
    char * atom_site_label_comp_id_3;
    char * atom_site_label_seq_id_1;
    char * atom_site_label_seq_id_2;
    char * atom_site_label_seq_id_3;
    int model_id;
    char *  site_symmetry_1;
    char *  site_symmetry_2;
    char *  site_symmetry_3;
    float value_esd;
    float value;
}NDB_VIRTUAL_ANGLE;

typedef struct
{
    char *  entry_id;
    char *  flag_id;
    char *  flag_value;
}NDB_SUMMARY_FLAGS;

typedef struct
{
    char *  auth_asym_id;
    char *  auth_seq_id;
    float c1_c2_c3_c4;
    float c1_c2_c3;
    float c1_c2;
    float c1_n1_9_c2_4;
    float c1_n1_9_c6_8;
    float c1_n9_1;
    float c2_c1_n1_9;
    float c2_c3_c4_o4;
    float c2_c3_c4;
    float c2_c3_o3;
    float c2_c3;
    float c3_c4_o4_c1;
    float c3_c4_o4;
    float c3_c4;
    float c3_o3_p_o5;
    float c3_o3_p;
    float c3_o3;
    float c4_c3_o3_p;
    float c4_c3_o3;
    float c4_o4_c1_c2;
    float c4_o4_c1_n1_9;
    float c4_o4_c1;
    float c4_o4;
    float c5_c4_c3_c2;
    float c5_c4_c3_o3;
    float c5_c4_c3;
    float c5_c4_o4;
    float c5_c4;
    int id;
    char *  label_asym_id;
    char *  label_comp_id;
    char *  label_seq_id;
    float maxtorsion;
    int model_id;
    float n1_c2;
    float n1_c6;
    float n9_c4;
    float n9_c8;
    char *  neighbor_comp_id_3prime;
    char *  neighbor_comp_id_5prime;
    float next_c3_o3_p_o5;
    float next_c4_c3_o3_p;
    float next_c4_o4_c1_n1_9;
    float next_c5_c4_c3_o3;
    float next_label_comp_id;
    float next_label_seq_id;
    float next_o3_p_o5_c5;
    float next_o4_c1_n1_9_c2_4;
    float next_o5_c5_c4_c3;
    float next_p_o5_c5_c4;
    float o1p_p_o2p;
    float o3_c3_c2_o2;
    float o3_p_o5_c5;
    float o3_p_o5;
    float o3_p;
    float o4_c1_c2_c3;
    float o4_c1_c2;
    float o4_c1_n1_9_c2_4;
    float o4_c1_n1_9_c6_8;
    float o4_c1_n1_9;
    float o4_c1;
    float o4_c4_c3_o3;
    float o5_c5_c4_c3;
    float o5_c5_c4_o4;
    float o5_c5_c4;
    float o5_c5;
    float p_o1p;
    float p_o2p;
    float p_o5_c5_c4;
    float p_o5_c5;
    float p_o5;
    float pseudorot;
}NDB_SUGAR_PHOSPHATE_GEOMETRY;

typedef struct
{
    float helical_rise;
    float helical_twist;
    char *  i_PDB_ins_code_1;
    char *  i_PDB_ins_code_2;
    char *  i_auth_asym_id_1;
    char *  i_auth_asym_id_2;
    char *  i_auth_seq_id_1;
    char *  i_auth_seq_id_2;
    char *  i_label_asym_id_1;
    char *  i_label_asym_id_2;
    char *  i_label_comp_id_1;
    char *  i_label_comp_id_2;
    char *  i_label_seq_id_1;
    char *  i_label_seq_id_2;
    char *  i_symmetry_1;
    char *  i_symmetry_2;
    float inclination;
    char *  j_PDB_ins_code_1;
    char *  j_PDB_ins_code_2;
    char *  j_auth_asym_id_1;
    char *  j_auth_asym_id_2;
    char *  j_auth_seq_id_1;
    char *  j_auth_seq_id_2;
    char *  j_label_asym_id_1;
    char *  j_label_asym_id_2;
    char *  j_label_comp_id_1;
    char *  j_label_comp_id_2;
    char *  j_label_seq_id_1;
    char *  j_label_seq_id_2;
    char *  j_symmetry_1;
    char *  j_symmetry_2;
    char *  model_number;
    float rise;
    float roll;
    float shift;
    float slide;
    char *  step_name;
    int step_number;
    float tilt;
    float tip;
    float twist;
    float x_displacement;
    float y_displacement;
}NDB_STRUCT_NA_BASE_PAIR_STEP;

typedef struct
{
    float buckle;
    int hbond_type_12;
    int hbond_type_28;
    char *  i_PDB_ins_code;
    char *  i_auth_asym_id;
    char *  i_auth_seq_id;
    char *  i_label_asym_id;
    char *  i_label_comp_id;
    char *  i_label_seq_id;
    char *  i_symmetry;
    char *  j_PDB_ins_code;
    char *  j_auth_asym_id;
    char *  j_auth_seq_id;
    char *  j_label_asym_id;
    char *  j_label_comp_id;
    char *  j_label_seq_id;
    char *  j_symmetry;
    char *  model_number;
    float opening;
    char *  pair_name;
    int pair_number;
    float propel;
    float shear;
    float stagger;
    float stretch;
}NDB_STRUCT_NA_BASE_PAIR;

typedef struct
{
    char * entry_id;
    int feature_count;
    char *  feature;
}NDB_STRUCT_FEATURE_NA;

typedef struct
{
    char * entry_id;
    int feature_count;
    char *  feature;
}NDB_STRUCT_CONF_NA;

typedef struct
{
    float angle_out_of_plane;
    char *  auth_asym_id;
    char *  auth_seq_id;
    int id;
    char *  label_alt_id_u;
    char *  label_alt_id_v;
    char *  label_alt_id_w;
    char *  label_alt_id;
    char *  label_asym_id;
    char *  label_atom_id_u;
    char *  label_atom_id_v;
    char *  label_atom_id_w;
    char *  label_atom_id;
    char *  label_comp_id;
    char *  label_seq_id;
    int model_id;
    float volume3;
}NDB_STEREOCHEMISTRY;

typedef struct
{
    char *  auth_asym_id;
    char *  label_asym_id;
    int pattern_count;
    char *  sequence_pattern;
}NDB_SEQUENCE_PATTERN;

typedef struct
{
    char *  entry_id;
    int num_angles_base;
    int num_angles_phosphate;
    int num_angles_sugar;
    int num_angles;
    int num_bonds_base;
    int num_bonds_phosphate;
    int num_bonds_sugar;
    int num_bonds;
    float rms_angles_base;
    float rms_angles_phosphate;
    float rms_angles_sugar;
    float rms_angles;
    float rms_bonds_base;
    float rms_bonds_phosphate;
    float rms_bonds_sugar;
    float rms_bonds;
}NDB_RMS_DEVS_COVALENT;

typedef struct
{
    char *  auth_asym_id;
    char *  auth_seq_id;
    int id;
    char *  label_asym_id;
    char *  label_comp_id;
    char *  label_seq_id;
    int model_id;
    int num_angles;
    int num_bonds;
    float rms_angles;
    float rms_bonds;
}NDB_RMS_DEVS_COV_BY_MONOMER;

typedef struct
{
    char *  coord_section;
}NDB_ORIGINAL_NDB_COORDINATES;

typedef struct
{
    char *  conformation_type;
    char * entry_id;
    char *  special_feature;
    char *  strand_description;
}NDB_NA_STRUCT_KEYWDS;

typedef struct
{
    char * entity_id;
    char *  type;
}NDB_ENTITY_POLY_NA_TYPE;

typedef struct
{
    char * entity_id;
    char *  feature;
}NDB_ENTITY_POLY_NA_NONSTANDARD;

typedef struct
{
    char *  begin_mon_id;
    int begin_seq_num;
    char *  end_mon_id;
    int end_seq_num;
    char * entity_id;
    char * id;
}NDB_ENTITY_POLY_DOMAIN;

typedef struct
{
    char * bind_mode_id;
    char *  type;
}NDB_ENTITY_FUNC_STRUCTURAL;

typedef struct
{
    char * bind_mode_id;
    char *  type;
}NDB_ENTITY_FUNC_REGULATORY;

typedef struct
{
    char * bind_mode_id;
    char *  type;
}NDB_ENTITY_FUNC_OTHER;

typedef struct
{
    char * bind_mode_id;
    char *  type;
}NDB_ENTITY_FUNC_ENZYME;

typedef struct
{
    char * domain_id;
    char * entity_id;
    char *  id;
    char *  protein_binds_to;
    char *  type;
}NDB_ENTITY_FUNC_BIND_MODE;

typedef struct
{
    char *  entry_id;
    int page_id;
    char *  page_name;
}NDB_ATLAS;

typedef struct
{
    char *  subterm;
    char *  term;
    char *  type;
}JOURNAL_INDEX;

typedef struct
{
    char *  coden_ASTM;
    char *  coden_Cambridge;
    char *  coeditor_address;
    char *  coeditor_code;
    char *  coeditor_email;
    char *  coeditor_fax;
    char *  coeditor_name;
    char *  coeditor_notes;
    char *  coeditor_phone;
    char *  data_validation_number;
    char *  date_accepted;
    char *  date_from_coeditor;
    char *  date_printers_final;
    char *  date_printers_first;
    char *  date_proofs_in;
    char *  date_proofs_out;
    char *  date_recd_copyright;
    char *  date_recd_electronic;
    char *  date_recd_hard_copy;
    char *  date_to_coeditor;
    char * entry_id;
    char *  issue;
    char *  language;
    char *  name_full;
    char *  page_first;
    char *  page_last;
    char *  paper_category;
    char *  suppl_publ_number;
    char *  suppl_publ_pages;
    char *  techeditor_address;
    char *  techeditor_code;
    char *  techeditor_email;
    char *  techeditor_fax;
    char *  techeditor_name;
    char *  techeditor_notes;
    char *  techeditor_phone;
    char *  volume;
    char *  year;
}JOURNAL;

typedef struct
{
    char * atom_site_auth_asym_id_1;
    char * atom_site_auth_asym_id_2;
    char * atom_site_auth_asym_id_3;
    char * atom_site_auth_asym_id_4;
    char * atom_site_auth_atom_id_1;
    char * atom_site_auth_atom_id_2;
    char * atom_site_auth_atom_id_3;
    char * atom_site_auth_atom_id_4;
    char * atom_site_auth_comp_id_1;
    char * atom_site_auth_comp_id_2;
    char * atom_site_auth_comp_id_3;
    char * atom_site_auth_comp_id_4;
    char * atom_site_auth_seq_id_1;
    char * atom_site_auth_seq_id_2;
    char * atom_site_auth_seq_id_3;
    char * atom_site_auth_seq_id_4;
    char * atom_site_id_1;
    char * atom_site_id_2;
    char * atom_site_id_3;
    char * atom_site_id_4;
    char * atom_site_label_alt_id_1;
    char * atom_site_label_alt_id_2;
    char * atom_site_label_alt_id_3;
    char * atom_site_label_alt_id_4;
    char * atom_site_label_asym_id_1;
    char * atom_site_label_asym_id_2;
    char * atom_site_label_asym_id_3;
    char * atom_site_label_asym_id_4;
    char * atom_site_label_atom_id_1;
    char * atom_site_label_atom_id_2;
    char * atom_site_label_atom_id_3;
    char * atom_site_label_atom_id_4;
    char * atom_site_label_comp_id_1;
    char * atom_site_label_comp_id_2;
    char * atom_site_label_comp_id_3;
    char * atom_site_label_comp_id_4;
    char * atom_site_label_seq_id_1;
    char * atom_site_label_seq_id_2;
    char * atom_site_label_seq_id_3;
    char * atom_site_label_seq_id_4;
    char *  pdbx_PDB_model_num;
    char *  pdbx_atom_site_PDB_ins_code_1;
    char *  pdbx_atom_site_PDB_ins_code_2;
    char *  pdbx_atom_site_PDB_ins_code_3;
    char *  pdbx_atom_site_PDB_ins_code_4;
    char *  publ_flag;
    char *  site_symmetry_1;
    char *  site_symmetry_2;
    char *  site_symmetry_3;
    char *  site_symmetry_4;
    float value_esd;
    float value;
}GEOM_TORSION;

typedef struct
{
    float angle_DHA_esd;
    float angle_DHA;
    char * atom_site_auth_asym_id_A;
    char * atom_site_auth_asym_id_D;
    char * atom_site_auth_asym_id_H;
    char * atom_site_auth_atom_id_A;
    char * atom_site_auth_atom_id_D;
    char * atom_site_auth_atom_id_H;
    char * atom_site_auth_comp_id_A;
    char * atom_site_auth_comp_id_D;
    char * atom_site_auth_comp_id_H;
    char * atom_site_auth_seq_id_A;
    char * atom_site_auth_seq_id_D;
    char * atom_site_auth_seq_id_H;
    char * atom_site_id_A;
    char * atom_site_id_D;
    char * atom_site_id_H;
    char * atom_site_label_alt_id_A;
    char * atom_site_label_alt_id_D;
    char * atom_site_label_alt_id_H;
    char * atom_site_label_asym_id_A;
    char * atom_site_label_asym_id_D;
    char * atom_site_label_asym_id_H;
    char * atom_site_label_atom_id_A;
    char * atom_site_label_atom_id_D;
    char * atom_site_label_atom_id_H;
    char * atom_site_label_comp_id_A;
    char * atom_site_label_comp_id_D;
    char * atom_site_label_comp_id_H;
    char * atom_site_label_seq_id_A;
    char * atom_site_label_seq_id_D;
    char * atom_site_label_seq_id_H;
    float dist_DA_esd;
    float dist_DA;
    float dist_DH_esd;
    float dist_DH;
    float dist_HA_esd;
    float dist_HA;
    char *  publ_flag;
    char *  site_symmetry_A;
    char *  site_symmetry_D;
    char *  site_symmetry_H;
}GEOM_HBOND;

typedef struct
{
    char * atom_site_auth_asym_id_1;
    char * atom_site_auth_asym_id_2;
    char * atom_site_auth_atom_id_1;
    char * atom_site_auth_atom_id_2;
    char * atom_site_auth_comp_id_1;
    char * atom_site_auth_comp_id_2;
    char * atom_site_auth_seq_id_1;
    char * atom_site_auth_seq_id_2;
    char * atom_site_id_1;
    char * atom_site_id_2;
    char * atom_site_label_alt_id_1;
    char * atom_site_label_alt_id_2;
    char * atom_site_label_asym_id_1;
    char * atom_site_label_asym_id_2;
    char * atom_site_label_atom_id_1;
    char * atom_site_label_atom_id_2;
    char * atom_site_label_comp_id_1;
    char * atom_site_label_comp_id_2;
    char * atom_site_label_seq_id_1;
    char * atom_site_label_seq_id_2;
    float dist_esd;
    float dist;
    char *  pdbx_PDB_model_num;
    char *  pdbx_atom_site_PDB_ins_code_1;
    char *  pdbx_atom_site_PDB_ins_code_2;
    char *  publ_flag;
    char *  site_symmetry_1;
    char *  site_symmetry_2;
}GEOM_CONTACT;

typedef struct
{
    char * atom_site_auth_asym_id_1;
    char * atom_site_auth_asym_id_2;
    char * atom_site_auth_atom_id_1;
    char * atom_site_auth_atom_id_2;
    char * atom_site_auth_comp_id_1;
    char * atom_site_auth_comp_id_2;
    char * atom_site_auth_seq_id_1;
    char * atom_site_auth_seq_id_2;
    char * atom_site_id_1;
    char * atom_site_id_2;
    char * atom_site_label_alt_id_1;
    char * atom_site_label_alt_id_2;
    char * atom_site_label_asym_id_1;
    char * atom_site_label_asym_id_2;
    char * atom_site_label_atom_id_1;
    char * atom_site_label_atom_id_2;
    char * atom_site_label_comp_id_1;
    char * atom_site_label_comp_id_2;
    char * atom_site_label_seq_id_1;
    char * atom_site_label_seq_id_2;
    float dist_esd;
    float dist;
    char *  pdbx_PDB_model_num;
    char *  pdbx_atom_site_PDB_ins_code_1;
    char *  pdbx_atom_site_PDB_ins_code_2;
    char *  publ_flag;
    char *  site_symmetry_1;
    char *  site_symmetry_2;
}GEOM_BOND;

typedef struct
{
    char * atom_site_auth_asym_id_1;
    char * atom_site_auth_asym_id_2;
    char * atom_site_auth_asym_id_3;
    char * atom_site_auth_atom_id_1;
    char * atom_site_auth_atom_id_2;
    char * atom_site_auth_atom_id_3;
    char * atom_site_auth_comp_id_1;
    char * atom_site_auth_comp_id_2;
    char * atom_site_auth_comp_id_3;
    char * atom_site_auth_seq_id_1;
    char * atom_site_auth_seq_id_2;
    char * atom_site_auth_seq_id_3;
    char * atom_site_id_1;
    char * atom_site_id_2;
    char * atom_site_id_3;
    char * atom_site_label_alt_id_1;
    char * atom_site_label_alt_id_2;
    char * atom_site_label_alt_id_3;
    char * atom_site_label_asym_id_1;
    char * atom_site_label_asym_id_2;
    char * atom_site_label_asym_id_3;
    char * atom_site_label_atom_id_1;
    char * atom_site_label_atom_id_2;
    char * atom_site_label_atom_id_3;
    char * atom_site_label_comp_id_1;
    char * atom_site_label_comp_id_2;
    char * atom_site_label_comp_id_3;
    char * atom_site_label_seq_id_1;
    char * atom_site_label_seq_id_2;
    char * atom_site_label_seq_id_3;
    char *  pdbx_PDB_model_num;
    char *  pdbx_atom_site_PDB_ins_code_1;
    char *  pdbx_atom_site_PDB_ins_code_2;
    char *  pdbx_atom_site_PDB_ins_code_3;
    char *  publ_flag;
    char *  site_symmetry_1;
    char *  site_symmetry_2;
    char *  site_symmetry_3;
    float value_esd;
    float value;
}GEOM_ANGLE;

typedef struct
{
    char *  details;
    char * entry_id;
}GEOM;

typedef struct
{
    char *  conc;
    char * crystal_id;
    char *  details;
    char *  id;
    char *  name;
    char *  sol_id;
    char *  volume;
}EXPTL_CRYSTAL_GROW_COMP;

typedef struct
{
    char *  apparatus;
    char *  atmosphere;
    char * crystal_id;
    char *  details;
    char *  method_ref;
    char *  method;
    float pH;
    char *  pdbx_details;
    char *  pdbx_pH_range;
    float pressure_esd;
    float pressure;
    char *  seeding_ref;
    char *  seeding;
    char *  temp_details;
    float temp_esd;
    float temp;
    char *  time;
}EXPTL_CRYSTAL_GROW;

typedef struct
{
    char * crystal_id;
    float diffr_chi;
    float diffr_kappa;
    float diffr_phi;
    float diffr_psi;
    int index_h;
    int index_k;
    int index_l;
    float perp_dist;
}EXPTL_CRYSTAL_FACE;

typedef struct
{
    int F_000;
    char *  colour;
    float density_Matthews;
    float density_diffrn;
    float density_meas_temp;
    float density_meas;
    char *  density_method;
    float density_percent_sol;
    char *  description;
    int  id;
    char *  pdbx_crystal_image_format;
    char *  pdbx_crystal_image_url;
    char *  preparation;
    float size_max;
    float size_mid;
    float size_min;
    float size_rad;
    float pdbx_mosaicity;
    float pdbx_mosaicity_esd;
    
}EXPTL_CRYSTAL;

typedef struct
{
    float absorpt_coefficient_mu;
    float absorpt_correction_T_max;
    float absorpt_correction_T_min;
    char *  absorpt_correction_type;
    char *  absorpt_process_details;
    int crystals_number;
    char *  details;
    char * entry_id;
    char *  method_details;
    char *  method;
}EXPTL;

typedef struct
{
    char *  details;
    char * entry_id;
    char *  id;
}ENTRY_LINK;

typedef struct
{
    char *  id;
}ENTRY;

typedef struct
{
    char *  common_name;
    char *  details;
    char * entity_id;
    char *  genus;
    char *  pdbx_atcc;
    char *  pdbx_cell_line;
    char *  pdbx_cellular_location;
    char *  pdbx_cell;
    char *  pdbx_fragment;
    char *  pdbx_organelle;
    char *  pdbx_organism_scientific;
    char *  pdbx_organ;
    char *  pdbx_plasmid_details;
    char *  pdbx_plasmid_name;
    char *  pdbx_secretion;
    char *  pdbx_variant;
    char *  species;
    char *  strain;
    char *  tissue_fraction;
    char *  tissue;
}ENTITY_SRC_NAT;

typedef struct
{
    char * entity_id;
    char *  expression_system_id;
    char *  gene_src_common_name;
    char *  gene_src_details;
    char *  gene_src_dev_stage;
    char *  gene_src_genus;
    char *  gene_src_species;
    char *  gene_src_strain;
    char *  gene_src_tissue_fraction;
    char *  gene_src_tissue;
    char *  host_org_common_name;
    char *  host_org_details;
    char *  host_org_genus;
    char *  host_org_species;
    char *  host_org_strain;
    char *  pdbx_description;
    char *  pdbx_gene_src_atcc;
    char *  pdbx_gene_src_cell_line;
    char *  pdbx_gene_src_cellular_location;
    char *  pdbx_gene_src_cell;
    char *  pdbx_gene_src_fragment;
    char *  pdbx_gene_src_gene;
    char *  pdbx_gene_src_organelle;
    char *  pdbx_gene_src_organ;
    char *  pdbx_gene_src_plasmid_name;
    char *  pdbx_gene_src_plasmid;
    char *  pdbx_gene_src_scientific_name;
    char *  pdbx_gene_src_variant;
    char *  pdbx_host_org_atcc;
    char *  pdbx_host_org_cell_line;
    char *  pdbx_host_org_cellular_location;
    char *  pdbx_host_org_cell;
    char *  pdbx_host_org_culture_collection;
    char *  pdbx_host_org_gene;
    char *  pdbx_host_org_organelle;
    char *  pdbx_host_org_organ;
    char *  pdbx_host_org_scientific_name;
    char *  pdbx_host_org_strain;
    char *  pdbx_host_org_tissue_fraction;
    char *  pdbx_host_org_tissue;
    char *  pdbx_host_org_variant;
    char *  pdbx_host_org_vector_type;
    char *  pdbx_host_org_vector;
    char *  plasmid_details;
    char *  plasmid_name;
    char * start_construct_id;
}ENTITY_SRC_GEN;

typedef struct
{
    char * entity_id;
    char *  hetero;
    char * mon_id;
    int num;
}ENTITY_POLY_SEQ;

typedef struct
{
    char * entity_id;
    char *  nstd_chirality;
    char *  nstd_linkage;
    char *  nstd_monomer;
    int number_of_monomers;
    char *  pdbx_seq_one_letter_code_can;
    char *  pdbx_seq_one_letter_code;
    char *  pdbx_strand_id;
    char *  type_details;
    char *  type;
}ENTITY_POLY;

typedef struct
{
    char * entity_id;
    char *  name;
    char *  system;
}ENTITY_NAME_SYS;

typedef struct
{
    char * entity_id;
    char *  name;
}ENTITY_NAME_COM;

typedef struct
{
    char *  details;
    char * entity_id_1;
    char * entity_id_2;
    int entity_seq_num_1;
    int entity_seq_num_2;
    char * link_id;
}ENTITY_LINK;

typedef struct
{
    char * entity_id;
    char *  pdbx_ec;
    char *  pdbx_fragment;
    char *  pdbx_mutation;
    char *  text;
}ENTITY_KEYWORDS;

typedef struct
{
    char *  details;
    float formula_weight;
    char *  id;
    char *  pdbx_description;
    char *  pdbx_ec;
    char *  pdbx_formula_weight_exptl_meth;
    float pdbx_formula_weight_exptl;
    char *  pdbx_fragment;
    char *  pdbx_modification;
    char *  pdbx_mutation;
    float pdbx_number_of_molecules;
    char *  pdbx_parent_entity_id;
    char *  src_method;
    char *  target_id;
    char *  type;
}ENTITY;

typedef struct
{
    float decay_;
    char * diffrn_id;
    int interval_count;
    float interval_time;
    int number;
    float scale_sigma;
}DIFFRN_STANDARDS;

typedef struct
{
    char *  code;
    char * diffrn_id;
    int index_h;
    int index_k;
    int index_l;
}DIFFRN_STANDARD_REFLN;

typedef struct
{
    float current;
    char *  details;
    char * diffrn_id;
    char *  pdbx_synchrotron_beamline;
    char *  pdbx_synchrotron_site;
    float power;
    char *  size;
    char *  source;
    char *  target;
    char *  type;
    float voltage;
}DIFFRN_SOURCE;

typedef struct
{
    float I_net;
    char *  code;
}DIFFRN_SCALE_GROUP;

typedef struct
{
    float av_R_equivalents;
    float av_sigmaI_over_netI;
    char * diffrn_id;
    int limit_h_max;
    int limit_h_min;
    int limit_k_max;
    int limit_k_min;
    int limit_l_max;
    int limit_l_min;
    int number;
    char *  reduction_process;
    float theta_max;
    float theta_min;
    float transf_matrix11;
    float transf_matrix12;
    float transf_matrix13;
    float transf_matrix21;
    float transf_matrix22;
    float transf_matrix23;
    float transf_matrix31;
    float transf_matrix32;
    float transf_matrix33;
}DIFFRN_REFLNS;

typedef struct
{
    float angle_chi;
    float angle_kappa;
    float angle_omega;
    float angle_phi;
    float angle_psi;
    float angle_theta;
    char * attenuator_code;
    int counts_bg_1;
    int counts_bg_2;
    int counts_net;
    int counts_peak;
    int counts_total;
    float detect_slit_horiz;
    float detect_slit_vert;
    char * diffrn_id;
    float elapsed_time;
    char *  id;
    int index_h;
    int index_k;
    int index_l;
    float intensity_net;
    float intensity_sigma;
    char * scale_group_code;
    char *  scan_mode_backgd;
    char *  scan_mode;
    float scan_rate;
    float scan_time_backgd;
    float scan_width;
    float sint_over_lambda;
    char * standard_code;
    float wavelength_id;
    float wavelength;
}DIFFRN_REFLN;

typedef struct
{
    char *  id;
    float wavelength;
    float wt;
}DIFFRN_RADIATION_WAVELENGTH;

typedef struct
{
    char *  collimation;
    char * diffrn_id;
    float filter_edge;
    float inhomogeneity;
    char *  monochromator;
    char *  pdbx_diffrn_protocol;
    char *  pdbx_monochromatic_or_laue_m_l;
    char *  pdbx_wavelength_list;
    char *  pdbx_wavelength;
    float polarisn_norm;
    float polarisn_ratio;
    char *  probe;
    char *  type;
    float wavelength_id;
    char *  xray_symbol;
}DIFFRN_RADIATION;

typedef struct
{
    float angle_chi;
    float angle_kappa;
    float angle_omega;
    float angle_phi;
    float angle_psi;
    float angle_theta;
    char * diffrn_id;
    int index_h;
    int index_k;
    int index_l;
}DIFFRN_ORIENT_REFLN;

typedef struct
{
    float UB11;
    float UB12;
    float UB13;
    float UB21;
    float UB22;
    float UB23;
    float UB31;
    float UB32;
    float UB33;
    char * diffrn_id;
    char *  type;
}DIFFRN_ORIENT_MATRIX;

typedef struct
{
    char *  details;
    char *  device_details;
    char *  device_type;
    char *  device;
    char * diffrn_id;
    char *  method;
    char *  specimen_support;
}DIFFRN_MEASUREMENT;

typedef struct
{
    char *  details;
    char *  detector;
    char * diffrn_id;
    float dtime;
    char *  pdbx_collection_date;
    char *  type;
}DIFFRN_DETECTOR;

typedef struct
{
    char *  code;
    float scale;
}DIFFRN_ATTENUATOR;

typedef struct
{
    char *  ambient_environment;
    float ambient_pressure_esd;
    float ambient_pressure;
    char *  ambient_temp_details;
    float ambient_temp_esd;
    float ambient_temp;
    char * crystal_id;
    char *  crystal_support;
    char *  crystal_treatment;
    char *  details;
    char *  id;
}DIFFRN;

typedef struct
{
    char *  details;
    char *  id;
    float vector1;
    float vector2;
    float vector3;
}DATABASE_PDB_TVECT;

typedef struct
{
    char *  details;
    int rev_num;
    char *  type;
}DATABASE_PDB_REV_RECORD;

typedef struct
{
    char *  author_name;
    char *  date_original;
    char *  date;
    int mod_type;
    int num;
    char *  replaced_by;
    char *  replaces;
    char *  status;
}DATABASE_PDB_REV;

typedef struct
{
    int id;
    char *  text;
}DATABASE_PDB_REMARK;

typedef struct
{
    char * entry_id;
    float origx11;
    float origx12;
    float origx13;
    float origx21;
    float origx22;
    float origx23;
    float origx31;
    float origx32;
    float origx33;
    float origx_vector1;
    float origx_vector2;
    float origx_vector3;
    float scale11;
    float scale12;
    float scale13;
    float scale21;
    float scale22;
    float scale23;
    float scale31;
    float scale32;
    float scale33;
    float scale_vector1;
    float scale_vector2;
    float scale_vector3;
}DATABASE_PDB_MATRIX;

typedef struct
{
    int id;
    char *  text;
}DATABASE_PDB_CAVEAT;

typedef struct
{
    char *  database_code;
    char *  database_id;
}DATABASE_2;

typedef struct
{
    char *  code_CAS;
    char *  code_CSD;
    char *  code_ICSD;
    char *  code_MDF;
    char *  code_NBS;
    char *  code_PDF;
    char * entry_id;
    char *  journal_ASTM;
    char *  journal_CSD;
}DATABASE;

typedef struct
{
    char   cell_refinement[80];
    char   data_collection[80];
    char   data_reduction[80];
    char   entry_id[80];
    char   molecular_graphics[80];
    char   pdbx_data_reduction_ds[80];
    char  pdbx_data_reduction_ii[80];
    char   pdbx_structure_refinement_method[80];
    char   publication_material[80];
    char   structure_refinement[80];
    char   pdbx_density_modification[80];
    char   structure_solution[80];
}COMPUTING;

typedef struct
{
    char * citation_id;
    char *  name;
    int ordinal;
}CITATION_EDITOR;

typedef struct
{
    char * citation_id;
    char *  name;
    int ordinal;
}CITATION_AUTHOR;

typedef struct
{
    char *  abstract_id_CAS;
    char *  abstract;
    char *  book_id_ISBN;
    char *  book_publisher_city;
    char *  book_publisher;
    char *  book_title;
    char *  coordinate_linkage;
    char *  country;
    int database_id_Medline;
    char *  details;
    char *  id;
    char *  journal_abbrev;
    char *  journal_full;
    char *  journal_id_ASTM;
    char *  journal_id_CSD;
    char *  journal_id_ISSN;
    char *  journal_issue;
    char *  journal_volume;
    char *  language;
    char *  page_first;
    char *  page_last;
    int pdbx_database_id_PubMed;
    char *  title;
    int year;
}CITATION;

typedef struct
{
    char *  analytical;
    char * entry_id;
    char *  iupac;
    char *  moiety;
    char *  structural;
    char *  sum;
    float weight_meas;
    float weight;
}CHEMICAL_FORMULA;

typedef struct
{
    char * atom_1;
    char * atom_2;
    char *  type;
}CHEMICAL_CONN_BOND;

typedef struct
{
    int NCA;
    int NH;
    int charge;
    float display_x;
    float display_y;
    int number;
    char * type_symbol;
}CHEMICAL_CONN_ATOM;

typedef struct
{
    char *  compound_source;
    char * entry_id;
    float melting_point;
    char *  name_common;
    char *  name_mineral;
    char *  name_structure_type;
    char *  name_systematic;
}CHEMICAL;

typedef struct
{
    float angle_esd;
    float angle;
    float dist_esd;
    float dist;
    char * tor_id;
}CHEM_LINK_TOR_VALUE;

typedef struct
{
    char *  atom_1_comp_id;
    char *  atom_2_comp_id;
    char *  atom_3_comp_id;
    char *  atom_4_comp_id;
    char *  atom_id_1;
    char *  atom_id_2;
    char *  atom_id_3;
    char *  atom_id_4;
    char *  id;
    char * link_id;
}CHEM_LINK_TOR;

typedef struct
{
    char *  atom_comp_id;
    char *  atom_id;
    char * plane_id;
}CHEM_LINK_PLANE_ATOM;

typedef struct
{
    char *  id;
    char * link_id;
    int number_atoms_all;
    int number_atoms_nh;
}CHEM_LINK_PLANE;

typedef struct
{
    char *  atom_comp_id;
    char *  atom_id;
    char * chir_id;
    float dev;
}CHEM_LINK_CHIR_ATOM;

typedef struct
{
    char *  atom_comp_id;
    char *  atom_config;
    char *  atom_id;
    char *  id;
    char * link_id;
    int number_atoms_all;
    int number_atoms_nh;
    char *  volume_flag;
    float volume_three_esd;
    float volume_three;
}CHEM_LINK_CHIR;

typedef struct
{
    char *  atom_1_comp_id;
    char *  atom_2_comp_id;
    char *  atom_id_1;
    char *  atom_id_2;
    char * link_id;
    float value_dist_esd;
    float value_dist;
    char *  value_order;
}CHEM_LINK_BOND;

typedef struct
{
    char *  atom_1_comp_id;
    char *  atom_2_comp_id;
    char *  atom_3_comp_id;
    char *  atom_id_1;
    char *  atom_id_2;
    char *  atom_id_3;
    char * link_id;
    float value_angle_esd;
    float value_angle;
    float value_dist_esd;
    float value_dist;
}CHEM_LINK_ANGLE;

typedef struct
{
    char *  details;
    char *  id;
}CHEM_LINK;

typedef struct
{
    float angle_esd;
    float angle;
    char * comp_id;
    float dist_esd;
    float dist;
    char * tor_id;
}CHEM_COMP_TOR_VALUE;

typedef struct
{
    char * atom_id_1;
    char * atom_id_2;
    char * atom_id_3;
    char * atom_id_4;
    char * comp_id;
    char *  id;
}CHEM_COMP_TOR;

typedef struct
{
    char * atom_id;
    char * comp_id;
    float dist_esd;
    char * plane_id;
}CHEM_COMP_PLANE_ATOM;

typedef struct
{
    char * comp_id;
    char *  id;
    int number_atoms_all;
    int number_atoms_nh;
}CHEM_COMP_PLANE;

typedef struct
{
    char *  details;
    char * link_id;
    char * type_comp_1;
    char * type_comp_2;
}CHEM_COMP_LINK;

typedef struct
{
    char * atom_id;
    char * chir_id;
    char * comp_id;
    float dev;
}CHEM_COMP_CHIR_ATOM;

typedef struct
{
    char *  atom_config;
    char * atom_id;
    char * comp_id;
    char *  id;
    int number_atoms_all;
    int number_atoms_nh;
    char *  volume_flag;
    float volume_three_esd;
    float volume_three;
}CHEM_COMP_CHIR;

typedef struct
{
    char * atom_id_1;
    char * atom_id_2;
    char * comp_id;
    float value_dist_esd;
    float value_dist;
    char *  value_order;
}CHEM_COMP_BOND;

typedef struct
{
    char *  alt_atom_id;
    char *  atom_id;
    int charge;
    char * comp_id;
    float model_Cartn_x_esd;
    float model_Cartn_x;
    float model_Cartn_y_esd;
    float model_Cartn_y;
    float model_Cartn_z_esd;
    float model_Cartn_z;
    float partial_charge;
    char *  substruct_code;
    char * type_symbol;
}CHEM_COMP_ATOM;

typedef struct
{
    char * atom_id_1;
    char * atom_id_2;
    char * atom_id_3;
    char * comp_id;
    float value_angle_esd;
    float value_angle;
    float value_dist_esd;
    float value_dist;
}CHEM_COMP_ANGLE;

typedef struct
{
    float formula_weight;
    char *  formula;
    char *  id;
    char *  model_details;
    char *  model_erf;
    char *  model_source;
    char *  mon_nstd_class;
    char *  mon_nstd_details;
    char *  mon_nstd_flag;
    char * mon_nstd_parent_comp_id;
    char *  mon_nstd_parent;
    char *  name;
    int number_atoms_all;
    int number_atoms_nh;
    char *  one_letter_code;
    int pdbx_component_no;
    char *  pdbx_modification_details;
    char *  pdbx_synonyms;
    char *  three_letter_code;
    char *  type;
}CHEM_COMP;

typedef struct
{
    int index_h;
    int index_k;
    int index_l;
    float theta;
}CELL_MEASUREMENT_REFLN;

typedef struct
{
    char * entry_id;
    float pressure_esd;
    float pressure;
    char *  radiation;
    int reflns_used;
    float temp_esd;
    float temp;
    float theta_max;
    float theta_min;
    float wavelength;
}CELL_MEASUREMENT;

typedef struct
{
    int Z_PDB;
    float angle_alpha_esd;
    float angle_alpha;
    float angle_beta_esd;
    float angle_beta;
    float angle_gamma_esd;
    float angle_gamma;
    char *  details;
    char entry_id[80];
    int formula_units_Z;
    float length_a_esd;
    float length_a;
    float length_b_esd;
    float length_b;
    float length_c_esd;
    float length_c;
    char  pdbx_unique_axis[80];
    float volume_esd;
    float volume;
}CELL;

typedef struct
{
    char *  address;
    char *  email;
    char *  fax;
    char *  name;
    char *  phone;
}AUDIT_CONTACT_AUTHOR;

typedef struct
{
    char *  dict_location;
    char *  dict_name;
    char *  dict_version;
}AUDIT_CONFORM;

typedef struct
{
    char *  address;
    char *  name;
}AUDIT_AUTHOR;

typedef struct
{
    char *  creation_date;
    char *  creation_method;
    char *  revision_id;
    char *  update_record;
}AUDIT;

typedef struct
{
    float analytical_mass_percent;
    char *  description;
    int number_in_cell;
    int oxidation_number;
    float radius_bond;
    float radius_contact;
    float scat_Cromer_Mann_a1;
    float scat_Cromer_Mann_a2;
    float scat_Cromer_Mann_a3;
    float scat_Cromer_Mann_a4;
    float scat_Cromer_Mann_b1;
    float scat_Cromer_Mann_b2;
    float scat_Cromer_Mann_b3;
    float scat_Cromer_Mann_b4;
    float scat_Cromer_Mann_c;
    float scat_dispersion_imag;
    float scat_dispersion_real;
    char *  scat_length_neutron;
    char *  scat_source;
    char *  scat_versus_stol_list;
    char *  symbol;
}ATOM_TYPE;

typedef struct
{
    char *  id;
    char *  text;
}ATOM_SITES_FOOTNOTE;

typedef struct
{
    char * alt_id;
    char * ens_id;
}ATOM_SITES_ALT_GEN;

typedef struct
{
    char *  details;
    char *  id;
}ATOM_SITES_ALT_ENS;

typedef struct
{
    char *  details;
    char *  id;
}ATOM_SITES_ALT;

typedef struct
{
    float Cartn_transf_matrix11;
    float Cartn_transf_matrix12;
    float Cartn_transf_matrix13;
    float Cartn_transf_matrix21;
    float Cartn_transf_matrix22;
    float Cartn_transf_matrix23;
    float Cartn_transf_matrix31;
    float Cartn_transf_matrix32;
    float Cartn_transf_matrix33;
    float Cartn_transf_vector1;
    float Cartn_transf_vector2;
    float Cartn_transf_vector3;
    char *  Cartn_transform_axes;
    char * entry_id;
    float fract_transf_matrix11;
    float fract_transf_matrix12;
    float fract_transf_matrix13;
    float fract_transf_matrix21;
    float fract_transf_matrix22;
    float fract_transf_matrix23;
    float fract_transf_matrix31;
    float fract_transf_matrix32;
    float fract_transf_matrix33;
    float fract_transf_vector1;
    float fract_transf_vector2;
    float fract_transf_vector3;
    char *  solution_hydrogens;
    char *  solution_primary;
    char *  solution_secondary;
}ATOM_SITES;

typedef struct
{
    float B11_esd;
    float B11;
    float B12_esd;
    float B12;
    float B13_esd;
    float B13;
    float B22_esd;
    float B22;
    float B23_esd;
    float B23;
    float B33_esd;
    float B33;
    float U11_esd;
    float U11;
    float U12_esd;
    float U12;
    float U13_esd;
    float U13;
    float U22_esd;
    float U22;
    float U23_esd;
    float U23;
    float U33_esd;
    float U33;
    char * id;
    char *  pdbx_PDB_ins_code;
    char *  pdbx_auth_alt_id;
    char *  pdbx_auth_asym_id;
    char *  pdbx_auth_atom_id;
    char *  pdbx_auth_comp_id;
    char *  pdbx_auth_seq_id;
    char *  pdbx_label_alt_id;
    char *  pdbx_label_asym_id;
    char *  pdbx_label_atom_id;
    char *  pdbx_label_comp_id;
    char *  pdbx_label_seq_id;
    float ratio;
    char * type_symbol;
}ATOM_SITE_ANISOTROP;


typedef struct 
{
    float resol_H, resol_H_shell[NBIN], resol_L, resol_L_shell[NBIN];
    float comp, comp_shell[NBIN], Rmerge, Rmerge_shell[NBIN];
    float Rsym, Rsym_shell[NBIN];
    float chi2, chi2_shell[NBIN], I_over_sI, I_over_sI_shell[NBIN];
    float redundancy, redundancy_shell[NBIN], mosaicity;
    float a, b, c,  alpha, beta, gamma;
    int  nrefl, nrefl_shell[NBIN], unique_nrefl, unique_nrefl_shell[NBIN];   
    int  nbin, nset, space_gp_num, reject, reject_shell[NBIN];   
    char id[80], space_gp[80];   
}REFLNS_SF;

typedef struct 
{
    int crystal_id ;
    
    float xbeam;
    float xbeam_esd;
    float ybeam;
    float ybeam_esd ;
    float crysz_beam;
    float crysz_beam_esd;
    float crysy_vertical;
    float crysy_vertical_esd;
    float crysx_spindle;
    float crysx_spindle_esd;
    float crystal_to_detector_distance;
    float crystal_to_detector_distance_esd;
    float crossfire_y;
    float crossfire_y_esd;
    float crossfire_x;
    float crossfire_x_esd;
    float crossfire_xy;
    float crossfire_xy_esd;
}PDBX_CRYSTAL_ALIGNMENT;
