informatics-isi-edu / pdb-ihm

Deriva Protein Database Project
2 stars 1 forks source link

Composite key naming conventions #42

Open brindakv opened 4 years ago

brindakv commented 4 years ago

Composite key names need to be modified to follow conventions:

Option 1: <table_name>_column_name_1_column_name_2_fkey

Option 2: <table_name>_<leaf_table_name>_denorm_fkey (if the name is too long)

A dry run can be done to figure out if we want to follow option 1 or 2 above depending upon how many composite foreign key column have long names.

I am wondering whether should modify fks that have structure_id as part of the composite keys consistently; the same way we did with citation in the software table.. i.e.

hongsudt commented 4 years ago

Main_table

Leaf_table

svoinea commented 4 years ago

For the ihm_entity_poly_segment table I have:

Due to the fact that the column entity_poly_seq_RID is always NULL, the inner join would produce no rows for those FK having it, because NULL = anything is null, not true. That means for example that in the compact context no values will be displayed for the columns entity id , comp id begin , comp id end , seq id begin , seq id end , polymeric residue begin , polymeric residue end

svoinea commented 4 years ago

By setting the column entity_poly_seq_RID to NOT NULL, the foreign keys:

ihm_entity_poly_segment(entity_poly_seq_RID, structure_id, entity_id, seq_id_begin, comp_id_begin) --> entity_poly_seq(RID, structure_id, entity_id, num, mon_id)
ihm_entity_poly_segment(entity_poly_seq_RID, structure_id, entity_id, seq_id_end, comp_id_end) --> entity_poly_seq(RID, structure_id, entity_id, num, mon_id) 

will refer the same row in the entity_poly_seq table. That means that ALL the rows of the ihm_entity_poly_segment table will have seq_id_begin=seq_id_end and comp_id_begin=comp_id_end. This condition is not met.

brindakv commented 4 years ago

@svoinea it is not clear to me what the issue is. seq_id_begin and seq_id_end can be the same sometimes, depending upon the case. But they can be different too. Can entity_poly_seq_RID not point to different rows in the entity_poly_seq table depending upon the value in seq_id_begin and seq_id_end?

hongsudt commented 4 years ago

The keys on the entity_poly_seq look fine to me (though combo2 will not be needed if `` is not required)

This is what we should do for the ihm_entity_poly_segment table.

Note: the following should be deleted.

svoinea commented 4 years ago

For the ihm_entity_poly_segment table I have created the following new columns:

 Entity_Poly_Seq_RID_Begin | text               |           | not null | 
 Entity_Poly_Seq_RID_End   | text               |           | not null | 

and updated the following FK to:

    "ihm_entity_poly_segment_mm_poly_res_label_begin_fkey" FOREIGN KEY ("Entity_Poly_Seq_RID_Begin", structure_id, comp_id_begin, entity_id, seq_id_begin) REFERENCES entity_poly_seq("RID", structure_id, mon_id, entity_id, num) ON UPDATE CASCADE ON DELETE SET NULL
    "ihm_entity_poly_segment_mm_poly_res_label_end_fkey" FOREIGN KEY ("Entity_Poly_Seq_RID_End", seq_id_end, structure_id, comp_id_end, entity_id) REFERENCES entity_poly_seq("RID", num, structure_id, mon_id, entity_id) ON UPDATE CASCADE ON DELETE SET NULL

I have loaded the Entity_Poly_Seq_RID_Begin and Entity_Poly_Seq_RID_End columns with RID values from the entity_poly_seq table, such as now none of those columns has a NULL value.

hongsudt commented 4 years ago

For software and citation tables: These should be the relevant fks.

hongsudt commented 4 years ago

suffix with _1 and _2

ihm_predicted_contact_restraint (mandatory) (comp_id_2,structure_id,seq_id_2,entity_id_2) --> entity_poly_seq(mon_id,structure_id,num,entity_id) (entity_id_1,comp_id_1,seq_id_1,structure_id) --> entity_poly_seq(entity_id,mon_id,num,structure_id) ihm_cross_link_list (mandatory) (seq_id_1,comp_id_1,entity_id_1,structure_id) --> entity_poly_seq(num,mon_id,entity_id,structure_id) (entity_id_2,seq_id_2,comp_id_2,structure_id) --> entity_poly_seq(entity_id,num,mon_id,structure_id) ihm_cross_link_restraint (mandatory) (comp_id_2,entity_id_2,structure_id,seq_id_2) --> entity_poly_seq(mon_id,entity_id,structure_id,num) (seq_id_1,entity_id_1,comp_id_1,structure_id) --> entity_poly_seq(num,entity_id,mon_id,structure_id) ihm_derived_distance_restraint (mandatory) "ihm_derived_distance_restraint_feature_id_1_fkey" : (structure_id, feature_id_1) --> "PDB".ihm_feature_list(structure_id, feature_id) "ihm_derived_distance_restraint_feature_id_2_fkey" : (structure_id, feature_id_2) --> "PDB".ihm_feature_list(structure_id, feature_id)



To solve the changes of structure_id arbitrarily (only works with mandatory fks): ---> proof of concept (can be done after release)
  - Instead of (structure_id) -> Entry(id), change it to (structure_id, structure_rid) -> Entry(id, rid) 
    - need to apply to all tables or at least the tables with mandatory fks that users will interact with through chaise. 
hongsudt commented 4 years ago

To summarize where we are on 08/14/2020:

Todos:

svoinea commented 3 years ago

Below is the list of renaming the FK based on the pattern:

Option 1: <table_name>_column_name_1_column_name_2_fkey
Option 2: <table_name>_<leaf_table_name>_denorm_fkey (if the name is too long)

There are a total of 203 FK to be renamed. If the length is too long for Option 2, the is truncated.

        "ihm_localization_density_files_ensemble_id_fkey": "ihm_localization_density_files_structure_id_ensemble_id_fkey",
        "ihm_localization_density_files_file_id_fkey": "ihm_localization_density_files_file_id_structure_id_fkey",
        "ihm_localization_density_files_asym_id_fk": "ihm_localization_density_files_structure_id_asym_id_fkey",
        "ihm_localization_density_files_asym_id_fkey": "ihm_localization_density_files_Asym_RID_asym_id_fkey",
        "ihm_localization_density_files_entity_poly_segment_id_fk": "ihm_localization_density_files_ihm_entity_poly_denorm1_fkey",
        "ihm_localization_density_files_entity_poly_segment_id_fkey": "ihm_localization_density_files_ihm_entity_poly_denorm2_fkey",
        "ihm_localization_density_files_entity_id_fk": "ihm_localization_density_files_entity_id_structure_id_fkey",
        "ihm_localization_density_files_entity_id_fkey": "ihm_localization_density_files_Entity_RID_entity_id_fkey",
        "ihm_model_representative_model_id_fkey": "ihm_model_representative_model_id_structure_id_fkey",
        "ihm_model_representative_model_group_id_fkey": "ihm_model_representative_structure_id_model_group_id_fkey",
        "ihm_dataset_external_reference_dataset_list_id_fkey": "ihm_dataset_external_reference_ihm_dataset_list_denorm1_fkey",
        "ihm_dataset_external_reference_file_id_fkey": "ihm_dataset_external_reference_structure_id_file_id_fkey",
        "ihm_cross_link_list_dataset_list_id_fkey": "ihm_cross_link_list_dataset_list_id_structure_id_fkey",
        "ihm_cross_link_list_mm_poly_res_label_1_fkey": "ihm_cross_link_list_entity_poly_seq_denorm1_fkey",
        "ihm_cross_link_list_mm_poly_res_label_2_fkey": "ihm_cross_link_list_entity_poly_seq_denorm2_fkey",
        "ihm_cross_link_list_linker_chem_comp_descriptor_id_fk": "ihm_cross_link_list_ihm_chemical_component_denorm3_fkey",
        "ihm_cross_link_list_linker_chem_comp_descriptor_id_fkey": "ihm_cross_link_list_ihm_chemical_component_denorm4_fkey",
        "ihm_probe_list_probe_chem_comp_descriptor_id_fk": "ihm_probe_list_probe_chem_comp_descriptor_id_structure_id_fkey",
        "ihm_probe_list_reactive_probe_chem_comp_descriptor_id_fk": "ihm_probe_list_ihm_chemical_component_descriptor_denorm1_fkey",
        "ihm_probe_list_reactive_probe_chem_comp_descriptor_id_fkey": "ihm_probe_list_ihm_chemical_component_descriptor_denorm2_fkey",
        "ihm_probe_list_probe_chem_comp_descriptor_id_fkey": "ihm_probe_list_ihm_chemical_component_descriptor_denorm3_fkey",
        "ihm_epr_restraint_dataset_list_id_fkey": "ihm_epr_restraint_structure_id_dataset_list_id_fkey",
        "ihm_epr_restraint_fitting_software_id_fkey": "ihm_epr_restraint_fitting_software_id_structure_id_fkey",
        "ihm_epr_restraint_model_id_fkey": "ihm_epr_restraint_structure_id_model_id_fkey",
        "ihm_epr_restraint_fitting_method_citation_id_fk": "ihm_epr_restraint_structure_id_fitting_method_citation_id_fkey",
        "ihm_epr_restraint_fitting_method_citation_id_fkey": "ihm_epr_restraint_citation_denorm1_fkey",
        "ihm_2dem_class_average_fitting_model_id_fkey": "ihm_2dem_class_average_fitting_structure_id_model_id_fkey",
        "ihm_2dem_class_average_fitting_restraint_id_fkey": "ihm_2dem_class_average_fitting_structure_id_restraint_id_fkey",
        "ihm_poly_probe_conjugate_position_id_fkey": "ihm_poly_probe_conjugate_structure_id_position_id_fkey",
        "ihm_poly_probe_conjugate_probe_id_fkey": "ihm_poly_probe_conjugate_structure_id_probe_id_fkey",
        "ihm_poly_probe_conjugate_dataset_list_id_fkey": "ihm_poly_probe_conjugate_dataset_list_id_structure_id_fkey",
        "ihm_poly_probe_conjugate_chem_comp_descriptor_id_fk": "ihm_poly_probe_conjugate_ihm_chemical_component_denorm1_fkey",
        "ihm_poly_probe_conjugate_chem_comp_descriptor_id_fkey": "ihm_poly_probe_conjugate_ihm_chemical_component_denorm2_fkey",
        "ihm_model_list_assembly_id_fkey": "ihm_model_list_assembly_id_structure_id_fkey",
        "ihm_model_list_representation_id_fkey": "ihm_model_list_representation_id_structure_id_fkey",
        "ihm_model_list_protocol_id_fkey": "ihm_model_list_structure_id_protocol_id_fkey",
        "pdbx_entity_poly_na_type_entity_id_fkey": "pdbx_entity_poly_na_type_structure_id_entity_id_fkey",
        "ihm_ordered_ensemble_model_group_id_begin_fkey": "ihm_ordered_ensemble_model_group_id_begin_structure_id_fkey",
        "ihm_ordered_ensemble_model_group_id_end_fkey": "ihm_ordered_ensemble_model_group_id_end_structure_id_fkey",
        "ihm_geometric_object_sphere_object_id_fkey": "ihm_geometric_object_sphere_structure_id_object_id_fkey",
        "ihm_geometric_object_sphere_center_id_fkey": "ihm_geometric_object_sphere_structure_id_center_id_fkey",
        "ihm_geometric_object_sphere_transformation_id_fk": "ihm_geometric_object_sphere_transformation_id_structure_id_fkey",
        "ihm_geometric_object_sphere_transformation_id_fkey": "ihm_geometric_object_sphere_ihm_geometric_object_denorm1_fkey",
        "ihm_poly_residue_feature_mm_poly_res_label_end_fkey": "ihm_poly_residue_feature_entity_poly_seq_denorm1_fkey",
        "ihm_poly_residue_feature_feature_id_fkey": "ihm_poly_residue_feature_structure_id_feature_id_fkey",
        "ihm_poly_residue_feature_mm_poly_res_label_begin_fkey": "ihm_poly_residue_feature_entity_poly_seq_denorm2_fkey",
        "ihm_poly_residue_feature_asym_id_fk": "ihm_poly_residue_feature_structure_id_asym_id_fkey",
        "ihm_poly_residue_feature_asym_id_fkey": "ihm_poly_residue_feature_Asym_RID_asym_id_fkey",
        "ihm_related_datasets_dataset_list_id_primary_fkey": "ihm_related_datasets_dataset_list_id_primary_structure_id_fkey",
        "ihm_related_datasets_dataset_list_id_derived_fkey": "ihm_related_datasets_structure_id_dataset_list_id_derived_fkey",
        "ihm_interface_residue_feature_feature_id_fkey": "ihm_interface_residue_feature_feature_id_structure_id_fkey",
        "ihm_interface_residue_feature_binding_partner_entity_id_fkey": "ihm_interface_residue_feature_entity_denorm1_fkey",
        "ihm_interface_residue_feature_dataset_list_id_fkey": "ihm_interface_residue_feature_dataset_list_id_structure_id_fkey",
        "ihm_interface_residue_feature_binding_partner_asym_id_fk": "ihm_interface_residue_feature_struct_asym_denorm2_fkey",
        "ihm_interface_residue_feature_binding_partner_asym_id_fkey": "ihm_interface_residue_feature_struct_asym_denorm3_fkey",
        "ihm_geometric_object_plane_object_id_fkey": "ihm_geometric_object_plane_structure_id_object_id_fkey",
        "ihm_geometric_object_plane_transformation_id_fk": "ihm_geometric_object_plane_transformation_id_structure_id_fkey",
        "ihm_geometric_object_plane_transformation_id_fkey": "ihm_geometric_object_plane_ihm_geometric_object_denorm1_fkey",
        "ihm_predicted_contact_restraint_asym_id_2_fkey": "ihm_predicted_contact_restraint_structure_id_asym_id_2_fkey",
        "ihm_predicted_contact_restraint_asym_id_1_fkey": "ihm_predicted_contact_restraint_structure_id_asym_id_1_fkey",
        "ihm_predicted_contact_restraint_mm_poly_res_label_2_fkey": "ihm_predicted_contact_restraint_entity_poly_seq_denorm1_fkey",
        "ihm_predicted_contact_restraint_dataset_list_id_fkey": "ihm_predicted_contact_restraint_ihm_dataset_list_denorm2_fkey",
        "ihm_predicted_contact_restraint_mm_poly_res_label_1_fkey": "ihm_predicted_contact_restraint_entity_poly_seq_denorm3_fkey",
        "ihm_predicted_contact_restraint_software_id_fk": "ihm_predicted_contact_restraint_software_id_structure_id_fkey",
        "ihm_predicted_contact_restraint_software_id_fkey": "ihm_predicted_contact_restraint_Software_RID_software_id_fkey",
        "ihm_3dem_restraint_struct_assembly_id_fkey": "ihm_3dem_restraint_struct_assembly_id_structure_id_fkey",
        "ihm_3dem_restraint_model_id_fkey": "ihm_3dem_restraint_model_id_structure_id_fkey",
        "ihm_3dem_restraint_dataset_list_id_fkey": "ihm_3dem_restraint_structure_id_dataset_list_id_fkey",
        "ihm_3dem_restraint_fitting_method_citation_id_fk": "ihm_3dem_restraint_structure_id_fitting_method_citation_id_fkey",
        "ihm_3dem_restraint_fitting_method_citation_id_fkey": "ihm_3dem_restraint_citation_denorm1_fkey",
        "ihm_derived_distance_restraint_dataset_list_id_fkey": "ihm_derived_distance_restraint_ihm_dataset_list_denorm1_fkey",
        "ihm_derived_distance_restraint_feature_id_2_fkey": "ihm_derived_distance_restraint_structure_id_feature_id_2_fkey",
        "ihm_derived_distance_restraint_feature_id_1_fkey": "ihm_derived_distance_restraint_structure_id_feature_id_1_fkey",
        "ihm_sas_restraint_dataset_list_id_fkey": "ihm_sas_restraint_structure_id_dataset_list_id_fkey",
        "ihm_sas_restraint_model_id_fkey": "ihm_sas_restraint_structure_id_model_id_fkey",
        "ihm_sas_restraint_struct_assembly_id_fkey": "ihm_sas_restraint_structure_id_struct_assembly_id_fkey",
        "ihm_hydroxyl_radical_fp_restraint_mm_poly_res_label_fkey": "ihm_hydroxyl_radical_fp_restraint_entity_poly_seq_denorm1_fkey",
        "ihm_hydroxyl_radical_fp_restraint_asym_id_fkey": "ihm_hydroxyl_radical_fp_restraint_structure_id_asym_id_fkey",
        "ihm_hydroxyl_radical_fp_restraint_dataset_list_id_fkey": "ihm_hydroxyl_radical_fp_restraint_ihm_dataset_list_denorm2_fkey",
        "ihm_hydroxyl_radical_fp_restraint_software_id_fk": "ihm_hydroxyl_radical_fp_restraint_software_id_structure_id_fkey",
        "ihm_hydroxyl_radical_fp_restraint_software_id_fkey": "ihm_hydroxyl_radical_fp_restraint_software_id_Software_RID_fkey",
        "ihm_geometric_object_distance_restraint_dataset_list_id_fkey": "ihm_geometric_object_distance_restraint_ihm_denorm1_fkey",
        "ihm_geometric_object_distance_restraint_feature_id_fkey": "ihm_geometric_object_distance_restraint_ihm_denorm2_fkey",
        "ihm_geometric_object_distance_restraint_object_id_fkey": "ihm_geometric_object_distance_restraint_ihm_denorm3_fkey",
        "ihm_external_files_reference_id_fkey": "ihm_external_files_reference_id_structure_id_fkey",
        "ihm_2dem_class_average_restraint_struct_assembly_id_fkey": "ihm_2dem_class_average_restraint_ihm_struct_denorm1_fkey",
        "ihm_2dem_class_average_restraint_dataset_list_id_fkey": "ihm_2dem_class_average_restraint_ihm_dataset_list_denorm2_fkey",
        "ihm_residues_not_modeled_mm_poly_res_label_begin_fkey": "ihm_residues_not_modeled_entity_poly_seq_denorm1_fkey",
        "ihm_residues_not_modeled_mm_poly_res_label_end_fkey": "ihm_residues_not_modeled_entity_poly_seq_denorm2_fkey",
        "ihm_residues_not_modeled_asym_id_fkey": "ihm_residues_not_modeled_structure_id_asym_id_fkey",
        "ihm_residues_not_modeled_model_id_fkey": "ihm_residues_not_modeled_structure_id_model_id_fkey",
        "ihm_dataset_related_db_reference_dataset_list_id_fkey": "ihm_dataset_related_db_reference_ihm_dataset_list_denorm1_fkey",
        "ihm_geometric_object_axis_object_id_fkey": "ihm_geometric_object_axis_structure_id_object_id_fkey",
        "ihm_geometric_object_axis_transformation_id_fk": "ihm_geometric_object_axis_transformation_id_structure_id_fkey",
        "ihm_geometric_object_axis_transformation_id_fkey": "ihm_geometric_object_axis_ihm_geometric_object_denorm1_fkey",
        "ihm_non_poly_feature_feature_id_fkey": "ihm_non_poly_feature_structure_id_feature_id_fkey",
        "ihm_non_poly_feature_entity_id_fkey": "ihm_non_poly_feature_entity_id_structure_id_fkey",
        "ihm_non_poly_feature_comp_id_fkey": "ihm_non_poly_feature_comp_id_structure_id_fkey",
        "ihm_non_poly_feature_asym_id_fk": "ihm_non_poly_feature_structure_id_asym_id_fkey",
        "ihm_non_poly_feature_asym_id_fkey": "ihm_non_poly_feature_Asym_RID_asym_id_fkey",
        "ihm_geometric_object_half_torus_object_id_fkey": "ihm_geometric_object_half_torus_object_id_structure_id_fkey",
        "ihm_geometric_object_torus_object_id_fkey": "ihm_geometric_object_torus_structure_id_object_id_fkey",
        "ihm_geometric_object_torus_center_id_fkey": "ihm_geometric_object_torus_structure_id_center_id_fkey",
        "ihm_geometric_object_torus_transformation_id_fk": "ihm_geometric_object_torus_transformation_id_structure_id_fkey",
        "ihm_geometric_object_torus_transformation_id_fkey": "ihm_geometric_object_torus_ihm_geometric_object_denorm1_fkey",
        "ihm_pseudo_site_feature_feature_id_fkey": "ihm_pseudo_site_feature_feature_id_structure_id_fkey",
        "ihm_cross_link_result_parameters_model_id_fkey": "ihm_cross_link_result_parameters_structure_id_model_id_fkey",
        "ihm_cross_link_result_parameters_restraint_id_fkey": "ihm_cross_link_result_parameters_structure_id_restraint_id_fkey",
        "ihm_ensemble_info_post_process_id_fk": "ihm_ensemble_info_post_process_id_structure_id_fkey",
        "ihm_ensemble_info_post_process_id_fkey": "ihm_ensemble_info_post_process_id_Post_process_RID_fkey",
        "ihm_ensemble_info_ensemble_file_id_fk": "ihm_ensemble_info_structure_id_ensemble_file_id_fkey",
        "ihm_ensemble_info_ensemble_file_id_fkey": "ihm_ensemble_info_Ensemble_file_RID_ensemble_file_id_fkey",
        "ihm_ensemble_info_model_group_id_fk": "ihm_ensemble_info_structure_id_model_group_id_fkey",
        "ihm_ensemble_info_model_group_id_fkey": "ihm_ensemble_info_model_group_id_Model_group_RID_fkey",
        "ihm_poly_probe_position_mm_poly_res_label_fkey": "ihm_poly_probe_position_entity_poly_seq_denorm1_fkey",
        "ihm_poly_probe_position_mut_res_chem_comp_id_fk": "ihm_poly_probe_position_mut_res_chem_comp_id_structure_id_fkey",
        "ihm_poly_probe_position_mut_res_chem_comp_id_fkey": "ihm_poly_probe_position_chem_comp_denorm2_fkey",
        "ihm_poly_probe_position_mod_res_chem_comp_descriptor_id_fk": "ihm_poly_probe_position_ihm_chemical_component_denorm3_fkey",
        "ihm_poly_probe_position_mod_res_chem_comp_descriptor_id_fkey": "ihm_poly_probe_position_ihm_chemical_component_denorm4_fkey",
        "ihm_ligand_probe_entity_id_fkey": "ihm_ligand_probe_entity_id_structure_id_fkey",
        "ihm_ligand_probe_probe_id_fkey": "ihm_ligand_probe_probe_id_structure_id_fkey",
        "ihm_ligand_probe_dataset_list_id_fkey": "ihm_ligand_probe_structure_id_dataset_list_id_fkey",
        "software_citation_id_fk": "software_citation_id_structure_id_fkey",
        "software_citation_id_fkey": "software_Citation_RID_citation_id_fkey",
        "chem_comp_atom_comp_id_fkey": "chem_comp_atom_structure_id_comp_id_fkey",
        "entity_poly_seq_entity_id_fkey": "entity_poly_seq_structure_id_entity_id_fkey",
        "entity_poly_seq_mon_id_fkey": "entity_poly_seq_mon_id_structure_id_fkey",
        "citation_author_citation_id_fkey": "citation_author_citation_id_structure_id_fkey",
        "ihm_struct_assembly_details_entity_id_fkey": "ihm_struct_assembly_details_structure_id_entity_id_fkey",
        "ihm_struct_assembly_details_asym_id_fkey": "ihm_struct_assembly_details_asym_id_structure_id_fkey",
        "ihm_struct_assembly_details_parent_assembly_id_fkey": "ihm_struct_assembly_details_ihm_struct_assembly_denorm1_fkey",
        "ihm_struct_assembly_details_assembly_id_fkey": "ihm_struct_assembly_details_structure_id_assembly_id_fkey",
        "ihm_struct_assembly_details_entity_poly_segment_id_fk": "ihm_struct_assembly_details_ihm_entity_poly_denorm2_fkey",
        "ihm_struct_assembly_details_entity_poly_segment_id_fkey": "ihm_struct_assembly_details_ihm_entity_poly_denorm3_fkey",
        "entity_src_gen_entity_id_fkey": "entity_src_gen_entity_id_structure_id_fkey",
        "entity_name_com_entity_id_fkey": "entity_name_com_entity_id_structure_id_fkey",
        "struct_asym_entity_id_fkey": "struct_asym_entity_id_structure_id_fkey",
        "ihm_model_representation_details_representation_id_fkey": "ihm_model_representation_details_ihm_model_denorm1_fkey",
        "ihm_model_representation_details_entity_asym_id_fkey": "ihm_model_representation_details_struct_asym_denorm2_fkey",
        "ihm_model_representation_details_entity_id_fkey": "ihm_model_representation_details_entity_id_structure_id_fkey",
        "ihm_model_representation_details_starting_model_id_fk": "ihm_model_representation_details_ihm_starting_denorm3_fkey",
        "ihm_model_representation_details_starting_model_id_fkey": "ihm_model_representation_details_ihm_starting_denorm4_fkey",
        "ihm_model_representation_details_entity_poly_segment_id_fk": "ihm_model_representation_details_ihm_entity_poly_denorm5_fkey",
        "ihm_model_representation_details_entity_poly_segment_id_fkey": "ihm_model_representation_details_ihm_entity_poly_denorm6_fkey",
        "ihm_entity_poly_segment_mm_poly_res_label_begin_fkey": "ihm_entity_poly_segment_entity_poly_seq_denorm1_fkey",
        "ihm_entity_poly_segment_mm_poly_res_label_end_fkey": "ihm_entity_poly_segment_entity_poly_seq_denorm2_fkey",
        "entity_poly_entity_id_fkey": "entity_poly_structure_id_entity_id_fkey",
        "entity_name_sys_entity_id_fkey": "entity_name_sys_structure_id_entity_id_fkey",
        "pdbx_entity_nonpoly_entity_id_fkey": "pdbx_entity_nonpoly_entity_id_structure_id_fkey",
        "pdbx_entity_nonpoly_comp_id_fk": "pdbx_entity_nonpoly_comp_id_structure_id_fkey",
        "pdbx_entity_nonpoly_comp_id_fkey": "pdbx_entity_nonpoly_comp_id_Comp_RID_fkey",
        "ihm_multi_state_model_group_link_model_group_id_fkey": "ihm_multi_state_model_group_link_ihm_model_group_denorm1_fkey",
        "ihm_multi_state_model_group_link_state_id_fkey": "ihm_multi_state_model_group_link_structure_id_state_id_fkey",
        "ihm_cross_link_restraint_asym_id_1_fkey": "ihm_cross_link_restraint_asym_id_1_structure_id_fkey",
        "ihm_cross_link_restraint_group_id_fkey": "ihm_cross_link_restraint_structure_id_group_id_fkey",
        "ihm_cross_link_restraint_mm_poly_res_label_2_fkey": "ihm_cross_link_restraint_entity_poly_seq_denorm1_fkey",
        "ihm_cross_link_restraint_mm_poly_res_label_1_fkey": "ihm_cross_link_restraint_entity_poly_seq_denorm2_fkey",
        "ihm_cross_link_restraint_asym_id_2_fkey": "ihm_cross_link_restraint_asym_id_2_structure_id_fkey",
        "ihm_model_group_link_model_id_fkey": "ihm_model_group_link_structure_id_model_id_fkey",
        "ihm_model_group_link_group_id_fkey": "ihm_model_group_link_structure_id_group_id_fkey",
        "ihm_poly_atom_feature_feature_id_fkey": "ihm_poly_atom_feature_structure_id_feature_id_fkey",
        "ihm_poly_atom_feature_mm_poly_res_label_fkey": "ihm_poly_atom_feature_entity_poly_seq_denorm1_fkey",
        "ihm_poly_atom_feature_asym_id_fk": "ihm_poly_atom_feature_structure_id_asym_id_fkey",
        "ihm_poly_atom_feature_asym_id_fkey": "ihm_poly_atom_feature_asym_id_Asym_RID_fkey",
        "ihm_starting_model_seq_dif_starting_model_id_fkey": "ihm_starting_model_seq_dif_structure_id_starting_model_id_fkey",
        "ihm_starting_model_seq_dif_asym_id_fkey": "ihm_starting_model_seq_dif_asym_id_structure_id_fkey",
        "ihm_starting_model_seq_dif_mm_poly_res_label_fkey": "ihm_starting_model_seq_dif_entity_poly_seq_denorm1_fkey",
        "ihm_modeling_post_process_protocol_id_fkey": "ihm_modeling_post_process_protocol_id_structure_id_fkey",
        "ihm_modeling_post_process_struct_assembly_id_fk": "ihm_modeling_post_process_structure_id_struct_assembly_id_fkey",
        "ihm_modeling_post_process_struct_assembly_id_fkey": "ihm_modeling_post_process_ihm_struct_assembly_denorm1_fkey",
        "ihm_modeling_post_process_dataset_group_id_fk": "ihm_modeling_post_process_structure_id_dataset_group_id_fkey",
        "ihm_modeling_post_process_dataset_group_id_fkey": "ihm_modeling_post_process_ihm_dataset_group_denorm2_fkey",
        "ihm_modeling_post_process_script_file_id_fk": "ihm_modeling_post_process_structure_id_script_file_id_fkey",
        "ihm_modeling_post_process_script_file_id_fkey": "ihm_modeling_post_process_script_file_id_Script_file_RID_fkey",
        "ihm_modeling_post_process_software_id_fk": "ihm_modeling_post_process_software_id_structure_id_fkey",
        "ihm_modeling_post_process_software_id_fkey": "ihm_modeling_post_process_Software_RID_software_id_fkey",
        "ihm_cross_link_result_ensemble_id_fkey": "ihm_cross_link_result_structure_id_ensemble_id_fkey",
        "ihm_cross_link_result_restraint_id_fkey": "ihm_cross_link_result_structure_id_restraint_id_fkey",
        "ihm_starting_computational_models_script_file_id_fkey": "ihm_starting_computational_models_ihm_external_denorm1_fkey",
        "ihm_starting_computational_models_starting_model_id_fkey": "ihm_starting_computational_models_ihm_starting_denorm2_fkey",
        "ihm_starting_computational_models_software_id_fkey": "ihm_starting_computational_models_structure_id_software_id_fkey",
        "ihm_starting_comparative_models_starting_model_id_fkey": "ihm_starting_comparative_models_ihm_starting_model_denorm1_fkey",
        "ihm_starting_comparative_models_template_dataset_list_id_fkey": "ihm_starting_comparative_models_ihm_dataset_list_denorm2_fkey",
        "ihm_starting_comparative_models_alignment_file_id_fk": "ihm_starting_comparative_models_ihm_external_files_denorm3_fkey",
        "ihm_starting_comparative_models_alignment_file_id_fkey": "ihm_starting_comparative_models_ihm_external_files_denorm4_fkey",
        "ihm_modeling_protocol_details_protocol_id_fkey": "ihm_modeling_protocol_details_protocol_id_structure_id_fkey",
        "ihm_modeling_protocol_details_software_id_fk": "ihm_modeling_protocol_details_structure_id_software_id_fkey",
        "ihm_modeling_protocol_details_software_id_fkey": "ihm_modeling_protocol_details_Software_RID_software_id_fkey",
        "ihm_modeling_protocol_details_struct_assembly_id_fk": "ihm_modeling_protocol_details_ihm_struct_assembly_denorm1_fkey",
        "ihm_modeling_protocol_details_struct_assembly_id_fkey": "ihm_modeling_protocol_details_ihm_struct_assembly_denorm2_fkey",
        "ihm_modeling_protocol_details_script_file_id_fk": "ihm_modeling_protocol_details_script_file_id_structure_id_fkey",
        "ihm_modeling_protocol_details_script_file_id_fkey": "ihm_modeling_protocol_details_ihm_external_files_denorm3_fkey",
        "ihm_modeling_protocol_details_dataset_group_id_fk": "ihm_modeling_protocol_details_ihm_dataset_group_denorm4_fkey",
        "ihm_modeling_protocol_details_dataset_group_id_fkey": "ihm_modeling_protocol_details_ihm_dataset_group_denorm5_fkey",
        "ihm_dataset_group_link_dataset_list_id_fkey": "ihm_dataset_group_link_structure_id_dataset_list_id_fkey",
        "ihm_dataset_group_link_group_id_fkey": "ihm_dataset_group_link_group_id_structure_id_fkey",
        "ihm_starting_model_details_asym_id_fkey": "ihm_starting_model_details_structure_id_asym_id_fkey",
        "ihm_starting_model_details_dataset_list_id_fkey": "ihm_starting_model_details_structure_id_dataset_list_id_fkey",
        "ihm_starting_model_details_entity_id_fkey": "ihm_starting_model_details_entity_id_structure_id_fkey",
        "ihm_starting_model_details_entity_poly_segment_id_fk": "ihm_starting_model_details_ihm_entity_poly_segment_denorm1_fkey",
        "ihm_starting_model_details_entity_poly_segment_id_fkey": "ihm_starting_model_details_ihm_entity_poly_segment_denorm2_fkey",
        "ihm_struct_assembly_class_link_class_id_fkey": "ihm_struct_assembly_class_link_class_id_structure_id_fkey",
        "ihm_struct_assembly_class_link_assembly_id_fkey": "ihm_struct_assembly_class_link_assembly_id_structure_id_fkey"
svoinea commented 3 years ago

Current list of PK and FK for the PDB schema of the catalog 99: PDB_Keys.txt

svoinea commented 3 years ago

PRIMARY KEYS: current naming scheme

mmcif tables

Deriva tables

See the breakdowns below.

(col1), Pattern: Table_col1_unique_key, (Total: 1) ==> mmcif normal key. Change to follow primary_key if easy.

entry
    entry_id_unique_key: (id)

(RID, structure_id), Pattern: Table_RID_structure_id_key, (Total: 1) ==> for mandatory denormalization (combo1), change to use combo1 in name.

entity_poly_seq
    entity_poly_seq_RID_structure_id_key: (RID, structure_id)

(RID, col1), Pattern: Table_RID_col1_key, (Total: 14) ==> for optional denormalization (combo2), change to use combo2 in name.

software
    software_RID_pdbx_ordinal_key: (RID, pdbx_ordinal)
citation
    citation_id_RID_key: (id, RID)
ihm_geometric_object_transformation
    ihm_geometric_object_transformation_RID_id_key: (id, RID)
chem_comp
    chem_comp_id_RID_key: (id, RID)
struct_asym
    struct_asym_RID_id_key: (id, RID)
entity
    entity_id_RID_key: (id, RID)
ihm_entity_poly_segment
    ihm_entity_poly_segment_RID_id_key: (RID, id)
ihm_modeling_post_process
    ihm_modeling_post_process_RID_id_key: (id, RID)
ihm_model_group
    ihm_model_group_RID_id_key: (RID, id)
ihm_starting_model_details
    ihm_starting_model_details_RID_starting_model_id_key: (starting_model_id, RID)
ihm_struct_assembly
    ihm_struct_assembly_RID_id_key: (RID, id)
ihm_chemical_component_descriptor
    ihm_chemical_component_descriptor_id_RID_key: (id, RID)
ihm_dataset_group
    ihm_dataset_group_RID_id_key: (id, RID)
ihm_external_files
    ihm_external_files_id_RID_key: (id, RID)

(structure_id, col1), Pattern: Table_primary_key, (Total: 77) ==> mmcif normal key

audit_author
    audit_author_primary_key: (structure_id, pdbx_ordinal)
software
    software_primary_key: (pdbx_ordinal, structure_id)
citation
    citation_primary_key: (structure_id, id)
ihm_pseudo_site
    ihm_pseudo_site_primary_key: (structure_id, id)
ihm_cross_link_pseudo_site
    ihm_cross_link_pseudo_site_primary_key: (structure_id, id)
ihm_dataset_related_db_reference
    ihm_dataset_related_db_reference_primary_key: (id, structure_id)
ihm_geometric_object_axis
    ihm_geometric_object_axis_primary_key: (object_id, structure_id)
ihm_non_poly_feature
    ihm_non_poly_feature_primary_key: (ordinal_id, structure_id)
ihm_geometric_object_half_torus
    ihm_geometric_object_half_torus_primary_key: (object_id, structure_id)
pdbx_protein_info
    pdbx_protein_info_primary_key: (id, structure_id)
ihm_geometric_object_torus
    ihm_geometric_object_torus_primary_key: (structure_id, object_id)
ihm_pseudo_site_feature
    ihm_pseudo_site_feature_primary_key: (structure_id, feature_id)
ihm_cross_link_result_parameters
    ihm_cross_link_result_parameters_primary_key: (id, structure_id)
ihm_poly_probe_position
    ihm_poly_probe_position_primary_key: (structure_id, id)
ihm_ligand_probe
    ihm_ligand_probe_primary_key: (probe_id, structure_id)
ihm_geometric_object_transformation
    ihm_geometric_object_transformation_primary_key: (structure_id, id)
chem_comp
    chem_comp_primary_key: (structure_id, id)
entity_name_com
    entity_name_com_primary_key: (entity_id, structure_id)
struct_asym
    struct_asym_primary_key: (structure_id, id)
entity
    entity_primary_key: (id, structure_id)
ihm_entity_poly_segment
    ihm_entity_poly_segment_primary_key: (structure_id, id)
entity_name_sys
    entity_name_sys_primary_key: (structure_id, entity_id)
ihm_multi_state_model_group_link
    ihm_multi_state_model_group_link_primary_key: (model_group_id, structure_id)
ihm_cross_link_restraint
    ihm_cross_link_restraint_primary_key: (id, structure_id)
ihm_poly_atom_feature
    ihm_poly_atom_feature_primary_key: (structure_id, ordinal_id)
ihm_modeling_post_process
    ihm_modeling_post_process_primary_key: (id, structure_id)
ihm_cross_link_result
    ihm_cross_link_result_primary_key: (structure_id, id)
ihm_modeling_protocol_details
    ihm_modeling_protocol_details_primary_key: (id, structure_id)
pdbx_entry_details
    pdbx_entry_details_primary_key: (structure_id, entry_id)
ihm_multi_state_modeling
    ihm_multi_state_modeling_primary_key: (structure_id, state_id)
ihm_2dem_class_average_restraint
    ihm_2dem_class_average_restraint_primary_key: (id, structure_id)
ihm_geometric_object_center
    ihm_geometric_object_center_primary_key: (id, structure_id)
ihm_ensemble_info
    ihm_ensemble_info_primary_key: (structure_id, ensemble_id)
ihm_struct_assembly_details
    ihm_struct_assembly_details_primary_key: (id, structure_id)
ihm_model_representation
    ihm_model_representation_primary_key: (structure_id, id)
atom_type
    atom_type_primary_key: (symbol, structure_id)
ihm_model_representation_details
    ihm_model_representation_details_primary_key: (structure_id, id)
entity_poly
    entity_poly_primary_key: (structure_id, entity_id)
pdbx_entity_nonpoly
    pdbx_entity_nonpoly_primary_key: (structure_id, entity_id)
ihm_model_group
    ihm_model_group_primary_key: (id, structure_id)
ihm_model_representative
    ihm_model_representative_primary_key: (id, structure_id)
ihm_starting_model_seq_dif
    ihm_starting_model_seq_dif_primary_key: (structure_id, id)
ihm_starting_computational_models
    ihm_starting_computational_models_primary_key: (starting_model_id, structure_id)
ihm_modeling_protocol
    ihm_modeling_protocol_primary_key: (id, structure_id)
ihm_starting_comparative_models
    ihm_starting_comparative_models_primary_key: (id, structure_id)
ihm_starting_model_details
    ihm_starting_model_details_primary_key: (structure_id, starting_model_id)
ihm_struct_assembly
    ihm_struct_assembly_primary_key: (id, structure_id)
ihm_struct_assembly_class
    ihm_struct_assembly_class_primary_key: (structure_id, id)
ihm_localization_density_files
    ihm_localization_density_files_primary_key: (structure_id, id)
ihm_chemical_component_descriptor
    ihm_chemical_component_descriptor_primary_key: (id, structure_id)
pdbx_inhibitor_info
    pdbx_inhibitor_info_primary_key: (structure_id, id)
ihm_dataset_external_reference
    ihm_dataset_external_reference_primary_key: (structure_id, id)
ihm_cross_link_list
    ihm_cross_link_list_primary_key: (structure_id, id)
ihm_probe_list
    ihm_probe_list_primary_key: (structure_id, probe_id)
ihm_epr_restraint
    ihm_epr_restraint_primary_key: (structure_id, ordinal_id)
ihm_2dem_class_average_fitting
    ihm_2dem_class_average_fitting_primary_key: (structure_id, id)
ihm_poly_probe_conjugate
    ihm_poly_probe_conjugate_primary_key: (structure_id, id)
ihm_model_list
    ihm_model_list_primary_key: (model_id, structure_id)
ihm_feature_list
    ihm_feature_list_primary_key: (structure_id, feature_id)
ihm_geometric_object_list
    ihm_geometric_object_list_primary_key: (structure_id, object_id)
pdbx_ion_info
    pdbx_ion_info_primary_key: (id, structure_id)
ihm_geometric_object_sphere
    ihm_geometric_object_sphere_primary_key: (object_id, structure_id)
ihm_poly_residue_feature
    ihm_poly_residue_feature_primary_key: (structure_id, ordinal_id)
ihm_dataset_group
    ihm_dataset_group_primary_key: (structure_id, id)
ihm_interface_residue_feature
    ihm_interface_residue_feature_primary_key: (ordinal_id, structure_id)
ihm_dataset_list
    ihm_dataset_list_primary_key: (structure_id, id)
ihm_geometric_object_plane
    ihm_geometric_object_plane_primary_key: (object_id, structure_id)
ihm_predicted_contact_restraint
    ihm_predicted_contact_restraint_primary_key: (structure_id, id)
ihm_3dem_restraint
    ihm_3dem_restraint_primary_key: (structure_id, id)
ihm_derived_distance_restraint
    ihm_derived_distance_restraint_primary_key: (id, structure_id)
ihm_sas_restraint
    ihm_sas_restraint_primary_key: (id, structure_id)
ihm_hydroxyl_radical_fp_restraint
    ihm_hydroxyl_radical_fp_restraint_primary_key: (id, structure_id)
ihm_geometric_object_distance_restraint
    ihm_geometric_object_distance_restraint_primary_key: (structure_id, id)
ihm_external_files
    ihm_external_files_primary_key: (structure_id, id)
ihm_external_reference_info
    ihm_external_reference_info_primary_key: (structure_id, reference_id)
ihm_residues_not_modeled
    ihm_residues_not_modeled_primary_key: (id, structure_id)
ihm_ensemble_sub_sample
    ihm_ensemble_sub_sample_primary_key: (structure_id, id)

(col1, col2), Pattern: Table_col1_col2_key, (Total: 1) ==> (deriva) normal key

Entry_mmCIF_File
    Entry_mmCIF_File_Structure_Id_mmCIF_Schema_Version_key: (Structure_Id, mmCIF_Schema_Version)

(structure_id, col1, col2), Pattern: Table_primary_key, (Total: 9) ==> mmcif normal key

ihm_model_group_link
    ihm_model_group_link_primary_key: (structure_id, group_id, model_id)
audit_conform
    audit_conform_primary_key: (dict_name, dict_version, structure_id)
chem_comp_atom
    chem_comp_atom_primary_key: (structure_id, atom_id, comp_id)
entity_src_gen
    entity_src_gen_primary_key: (pdbx_src_id, structure_id, entity_id)
ihm_dataset_group_link
    ihm_dataset_group_link_primary_key: (structure_id, group_id, dataset_list_id)
ihm_struct_assembly_class_link
    ihm_struct_assembly_class_link_primary_key: (structure_id, class_id, assembly_id)
pdbx_entity_poly_na_type
    pdbx_entity_poly_na_type_primary_key: (entity_id, structure_id, type)
ihm_ordered_ensemble
    ihm_ordered_ensemble_primary_key: (edge_id, structure_id, process_id)
ihm_related_datasets
    ihm_related_datasets_primary_key: (structure_id, dataset_list_id_derived, dataset_list_id_primary)

(RID, col1, col2, col3), Pattern: Table_combo2_key, (Total: 1) ==> optional denormalized key

entity_poly_seq
    entity_poly_seq_combo2_key: (num, RID, entity_id, mon_id)

(structure_id, col1, col2, col3), Pattern: Table_primary_key, (Total: 2) ==> mmcif normal key

citation_author
    citation_author_primary_key: (citation_id, ordinal, structure_id, name)
entity_poly_seq
    entity_poly_seq_primary_key: (structure_id, entity_id, num, mon_id)

(RID, structure_id, col1, col2, col3), Pattern: Table_combo1_key, (Total: 1) mandatory denormalized key

entity_poly_seq
    entity_poly_seq_combo1_key: (mon_id, num, structure_id, entity_id, RID)
svoinea commented 3 years ago

FOREIGN KEYS

(structure_id) --> (col1), Pattern: Table_Child_structure_id__fkey, (Total: 89) ==> structure_id fkey (only 1 with inconsistent naming convention but it is in the non-mmcif table)

Entry_Related_File
    *Entry_Related_File_entry_id_fkey: (structure_id) --> entry(id)  ==> change to use `structure_id` in the name
citation_author
    citation_author_structure_id_fkey: (structure_id) --> entry(id)
audit_author
    audit_author_structure_id_fkey: (structure_id) --> entry(id)
software
    software_structure_id_fkey: (structure_id) --> entry(id)
citation
    citation_structure_id_fkey: (structure_id) --> entry(id)
ihm_pseudo_site
    ihm_pseudo_site_structure_id_fkey: (structure_id) --> entry(id)
ihm_cross_link_pseudo_site
    ihm_cross_link_pseudo_site_structure_id_fkey: (structure_id) --> entry(id)
ihm_dataset_related_db_reference
    ihm_dataset_related_db_reference_structure_id_fkey: (structure_id) --> entry(id)
ihm_geometric_object_axis
    ihm_geometric_object_axis_structure_id_fkey: (structure_id) --> entry(id)
ihm_non_poly_feature
    ihm_non_poly_feature_structure_id_fkey: (structure_id) --> entry(id)
ihm_geometric_object_half_torus
    ihm_geometric_object_half_torus_structure_id_fkey: (structure_id) --> entry(id)
pdbx_protein_info
    pdbx_protein_info_structure_id_fkey: (structure_id) --> entry(id)
ihm_geometric_object_torus
    ihm_geometric_object_torus_structure_id_fkey: (structure_id) --> entry(id)
ihm_pseudo_site_feature
    ihm_pseudo_site_feature_structure_id_fkey: (structure_id) --> entry(id)
ihm_cross_link_result_parameters
    ihm_cross_link_result_parameters_structure_id_fkey: (structure_id) --> entry(id)
ihm_poly_probe_position
    ihm_poly_probe_position_structure_id_fkey: (structure_id) --> entry(id)
ihm_ligand_probe
    ihm_ligand_probe_structure_id_fkey: (structure_id) --> entry(id)
ihm_geometric_object_transformation
    ihm_geometric_object_transformation_structure_id_fkey: (structure_id) --> entry(id)
chem_comp
    chem_comp_structure_id_fkey: (structure_id) --> entry(id)
entity_name_com
    entity_name_com_structure_id_fkey: (structure_id) --> entry(id)
struct_asym
    struct_asym_structure_id_fkey: (structure_id) --> entry(id)
entity
    entity_structure_id_fkey: (structure_id) --> entry(id)
ihm_entity_poly_segment
    ihm_entity_poly_segment_structure_id_fkey: (structure_id) --> entry(id)
entity_name_sys
    entity_name_sys_structure_id_fkey: (structure_id) --> entry(id)
ihm_multi_state_model_group_link
    ihm_multi_state_model_group_link_structure_id_fkey: (structure_id) --> entry(id)
ihm_cross_link_restraint
    ihm_cross_link_restraint_structure_id_fkey: (structure_id) --> entry(id)
ihm_model_group_link
    ihm_model_group_link_structure_id_fkey: (structure_id) --> entry(id)
ihm_poly_atom_feature
    ihm_poly_atom_feature_structure_id_fkey: (structure_id) --> entry(id)
ihm_modeling_post_process
    ihm_modeling_post_process_structure_id_fkey: (structure_id) --> entry(id)
ihm_cross_link_result
    ihm_cross_link_result_structure_id_fkey: (structure_id) --> entry(id)
ihm_modeling_protocol_details
    ihm_modeling_protocol_details_structure_id_fkey: (structure_id) --> entry(id)
audit_conform
    audit_conform_structure_id_fkey: (structure_id) --> entry(id)
pdbx_entry_details
    pdbx_entry_details_structure_id_fkey: (structure_id) --> entry(id)
ihm_multi_state_modeling
    ihm_multi_state_modeling_structure_id_fkey: (structure_id) --> entry(id)
ihm_2dem_class_average_restraint
    ihm_2dem_class_average_restraint_structure_id_fkey: (structure_id) --> entry(id)
ihm_geometric_object_center
    ihm_geometric_object_center_structure_id_fkey: (structure_id) --> entry(id)
ihm_ensemble_info
    ihm_ensemble_info_structure_id_fkey: (structure_id) --> entry(id)
chem_comp_atom
    chem_comp_atom_structure_id_fkey: (structure_id) --> entry(id)
entity_poly_seq
    entity_poly_seq_structure_id_fkey: (structure_id) --> entry(id)
ihm_struct_assembly_details
    ihm_struct_assembly_details_structure_id_fkey: (structure_id) --> entry(id)
entity_src_gen
    entity_src_gen_structure_id_fkey: (structure_id) --> entry(id)
ihm_model_representation
    ihm_model_representation_structure_id_fkey: (structure_id) --> entry(id)
atom_type
    atom_type_structure_id_fkey: (structure_id) --> entry(id)
ihm_model_representation_details
    ihm_model_representation_details_structure_id_fkey: (structure_id) --> entry(id)
entity_poly
    entity_poly_structure_id_fkey: (structure_id) --> entry(id)
pdbx_entity_nonpoly
    pdbx_entity_nonpoly_structure_id_fkey: (structure_id) --> entry(id)
ihm_model_group
    ihm_model_group_structure_id_fkey: (structure_id) --> entry(id)
ihm_model_representative
    ihm_model_representative_structure_id_fkey: (structure_id) --> entry(id)
ihm_starting_model_seq_dif
    ihm_starting_model_seq_dif_structure_id_fkey: (structure_id) --> entry(id)
ihm_starting_computational_models
    ihm_starting_computational_models_structure_id_fkey: (structure_id) --> entry(id)
ihm_modeling_protocol
    ihm_modeling_protocol_structure_id_fkey: (structure_id) --> entry(id)
ihm_starting_comparative_models
    ihm_starting_comparative_models_structure_id_fkey: (structure_id) --> entry(id)
ihm_dataset_group_link
    ihm_dataset_group_link_structure_id_fkey: (structure_id) --> entry(id)
ihm_starting_model_details
    ihm_starting_model_details_structure_id_fkey: (structure_id) --> entry(id)
ihm_struct_assembly
    ihm_struct_assembly_structure_id_fkey: (structure_id) --> entry(id)
ihm_struct_assembly_class
    ihm_struct_assembly_class_structure_id_fkey: (structure_id) --> entry(id)
ihm_struct_assembly_class_link
    ihm_struct_assembly_class_link_structure_id_fkey: (structure_id) --> entry(id)
ihm_localization_density_files
    ihm_localization_density_files_structure_id_fkey: (structure_id) --> entry(id)
ihm_chemical_component_descriptor
    ihm_chemical_component_descriptor_structure_id_fkey: (structure_id) --> entry(id)
pdbx_inhibitor_info
    pdbx_inhibitor_info_structure_id_fkey: (structure_id) --> entry(id)
ihm_dataset_external_reference
    ihm_dataset_external_reference_structure_id_fkey: (structure_id) --> entry(id)
ihm_cross_link_list
    ihm_cross_link_list_structure_id_fkey: (structure_id) --> entry(id)
ihm_probe_list
    ihm_probe_list_structure_id_fkey: (structure_id) --> entry(id)
ihm_epr_restraint
    ihm_epr_restraint_structure_id_fkey: (structure_id) --> entry(id)
ihm_2dem_class_average_fitting
    ihm_2dem_class_average_fitting_structure_id_fkey: (structure_id) --> entry(id)
ihm_poly_probe_conjugate
    ihm_poly_probe_conjugate_structure_id_fkey: (structure_id) --> entry(id)
ihm_model_list
    ihm_model_list_structure_id_fkey: (structure_id) --> entry(id)
ihm_feature_list
    ihm_feature_list_structure_id_fkey: (structure_id) --> entry(id)
pdbx_entity_poly_na_type
    pdbx_entity_poly_na_type_structure_id_fkey: (structure_id) --> entry(id)
ihm_ordered_ensemble
    ihm_ordered_ensemble_structure_id_fkey: (structure_id) --> entry(id)
ihm_geometric_object_list
    ihm_geometric_object_list_structure_id_fkey: (structure_id) --> entry(id)
pdbx_ion_info
    pdbx_ion_info_structure_id_fkey: (structure_id) --> entry(id)
ihm_geometric_object_sphere
    ihm_geometric_object_sphere_structure_id_fkey: (structure_id) --> entry(id)
ihm_poly_residue_feature
    ihm_poly_residue_feature_structure_id_fkey: (structure_id) --> entry(id)
ihm_related_datasets
    ihm_related_datasets_structure_id_fkey: (structure_id) --> entry(id)
ihm_dataset_group
    ihm_dataset_group_structure_id_fkey: (structure_id) --> entry(id)
ihm_interface_residue_feature
    ihm_interface_residue_feature_structure_id_fkey: (structure_id) --> entry(id)
ihm_dataset_list
    ihm_dataset_list_structure_id_fkey: (structure_id) --> entry(id)
ihm_geometric_object_plane
    ihm_geometric_object_plane_structure_id_fkey: (structure_id) --> entry(id)
ihm_predicted_contact_restraint
    ihm_predicted_contact_restraint_structure_id_fkey: (structure_id) --> entry(id)
ihm_3dem_restraint
    ihm_3dem_restraint_structure_id_fkey: (structure_id) --> entry(id)
ihm_derived_distance_restraint
    ihm_derived_distance_restraint_structure_id_fkey: (structure_id) --> entry(id)
ihm_sas_restraint
    ihm_sas_restraint_structure_id_fkey: (structure_id) --> entry(id)
ihm_hydroxyl_radical_fp_restraint
    ihm_hydroxyl_radical_fp_restraint_structure_id_fkey: (structure_id) --> entry(id)
ihm_geometric_object_distance_restraint
    ihm_geometric_object_distance_restraint_structure_id_fkey: (structure_id) --> entry(id)
ihm_external_files
    ihm_external_files_structure_id_fkey: (structure_id) --> entry(id)
ihm_external_reference_info
    ihm_external_reference_info_structure_id_fkey: (structure_id) --> entry(id)
ihm_residues_not_modeled
    ihm_residues_not_modeled_structure_id_fkey: (structure_id) --> entry(id)
ihm_ensemble_sub_sample
    ihm_ensemble_sub_sample_structure_id_fkey: (structure_id) --> entry(id)

(col1) --> (Parent_RID), Pattern: Table_Child_col1_fkey, (Total: 22) ==> non mmcif table (all point to RID)

Entry_mmCIF_File
    * Entry_mmCIF_File_Structure_Id_fkey: (Structure_Id) --> entry(id)  ** doesn't belong? Where should it be?
struct
    * struct_entry_id_fkey: (entry_id) --> entry(id)  ** doesn't belong?
ihm_pseudo_site
    ihm_pseudo_site_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
ihm_cross_link_pseudo_site
    ihm_cross_link_pseudo_site_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
ihm_non_poly_feature
    ihm_non_poly_feature_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
ihm_pseudo_site_feature
    ihm_pseudo_site_feature_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
ihm_cross_link_result_parameters
    ihm_cross_link_result_parameters_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
ihm_poly_probe_position
    ihm_poly_probe_position_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
ihm_ligand_probe
    ihm_ligand_probe_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
ihm_cross_link_restraint
    ihm_cross_link_restraint_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
ihm_poly_atom_feature
    ihm_poly_atom_feature_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
ihm_cross_link_result
    ihm_cross_link_result_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
pdbx_entry_details
    pdbx_entry_details_entry_id_fkey: (entry_id) --> entry(id)
ihm_cross_link_list
    ihm_cross_link_list_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
ihm_poly_probe_conjugate
    ihm_poly_probe_conjugate_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
ihm_feature_list
    ihm_feature_list_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
ihm_poly_residue_feature
    ihm_poly_residue_feature_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
ihm_interface_residue_feature
    ihm_interface_residue_feature_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
ihm_predicted_contact_restraint
    ihm_predicted_contact_restraint_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
ihm_derived_distance_restraint
    ihm_derived_distance_restraint_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
ihm_hydroxyl_radical_fp_restraint
    ihm_hydroxyl_radical_fp_restraint_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)
ihm_geometric_object_distance_restraint
    geometric_object_distance_restraint_Entry_Related_File_fkey: (Entry_Related_File) --> Entry_Related_File(RID)

(structure_id, col1) --> (structure_id, col1), Pattern: Table_Child_col1__fkey, (Total: 155) ==> normal fkey (Should all be replaced)

citation_author
    citation_author_citation_id_fkey: (citation_id, structure_id) --> citation(id, structure_id)
software
    software_citation_id_fk: (citation_id, structure_id) --> citation(id, structure_id)
ihm_cross_link_pseudo_site
    ihm_cross_link_pseudo_site_restraint_id_fkey: (structure_id, restraint_id) --> ihm_cross_link_restraint(structure_id, id)
    ihm_cross_link_pseudo_site_model_id_fkey: (model_id, structure_id) --> ihm_model_list(model_id, structure_id)
    ihm_cross_link_pseudo_site_pseudo_site_id_fkey: (pseudo_site_id, structure_id) --> ihm_pseudo_site(id, structure_id)
ihm_dataset_related_db_reference
    ihm_dataset_related_db_reference_dataset_list_id_fkey: (dataset_list_id, structure_id) --> ihm_dataset_list(id, structure_id)
ihm_geometric_object_axis
    ihm_geometric_object_axis_object_id_fkey: (structure_id, object_id) --> ihm_geometric_object_list(structure_id, object_id)
    ihm_geometric_object_axis_transformation_id_fk: (structure_id, transformation_id) --> ihm_geometric_object_transformation(structure_id, id)
ihm_non_poly_feature
    ihm_non_poly_feature_feature_id_fkey: (feature_id, structure_id) --> ihm_feature_list(feature_id, structure_id)
    ihm_non_poly_feature_entity_id_fkey: (entity_id, structure_id) --> entity(id, structure_id)
    ihm_non_poly_feature_asym_id_fk: (asym_id, structure_id) --> struct_asym(id, structure_id)
    ihm_non_poly_feature_comp_id_fkey: (structure_id, comp_id) --> chem_comp(structure_id, id)
ihm_geometric_object_half_torus
    ihm_geometric_object_half_torus_object_id_fkey: (object_id, structure_id) --> ihm_geometric_object_torus(object_id, structure_id)
ihm_geometric_object_torus
    ihm_geometric_object_torus_transformation_id_fk: (transformation_id, structure_id) --> ihm_geometric_object_transformation(id, structure_id)
    ihm_geometric_object_torus_object_id_fkey: (object_id, structure_id) --> ihm_geometric_object_list(object_id, structure_id)
    ihm_geometric_object_torus_center_id_fkey: (center_id, structure_id) --> ihm_geometric_object_center(id, structure_id)
ihm_pseudo_site_feature
    ihm_pseudo_site_feature_pseudo_site_id_fkey: (structure_id, pseudo_site_id) --> ihm_pseudo_site(structure_id, id)
    ihm_pseudo_site_feature_feature_id_fkey: (structure_id, feature_id) --> ihm_feature_list(structure_id, feature_id)
ihm_cross_link_result_parameters
    ihm_cross_link_result_parameters_model_id_fkey: (structure_id, model_id) --> ihm_model_list(structure_id, model_id)
    ihm_cross_link_result_parameters_restraint_id_fkey: (structure_id, restraint_id) --> ihm_cross_link_restraint(structure_id, id)
ihm_poly_probe_position
    ihm_poly_probe_position_mut_res_chem_comp_id_fk: (mut_res_chem_comp_id, structure_id) --> chem_comp(id, structure_id)
    ihm_poly_probe_position_mod_res_chem_comp_descriptor_id_fk: (structure_id, mod_res_chem_comp_descriptor_id) --> ihm_chemical_component_descriptor(structure_id, id)
ihm_ligand_probe
    ihm_ligand_probe_probe_id_fkey: (probe_id, structure_id) --> ihm_probe_list(probe_id, structure_id)
    ihm_ligand_probe_entity_id_fkey: (structure_id, entity_id) --> entity(structure_id, id)
    ihm_ligand_probe_dataset_list_id_fkey: (structure_id, dataset_list_id) --> ihm_dataset_list(structure_id, id)
entity_name_com
    entity_name_com_entity_id_fkey: (structure_id, entity_id) --> entity(structure_id, id)
struct_asym
    struct_asym_entity_id_fkey: (structure_id, entity_id) --> entity(structure_id, id)
entity_name_sys
    entity_name_sys_entity_id_fkey: (entity_id, structure_id) --> entity(id, structure_id)
ihm_multi_state_model_group_link
    ihm_multi_state_model_group_link_state_id_fkey: (state_id, structure_id) --> ihm_multi_state_modeling(state_id, structure_id)
    ihm_multi_state_model_group_link_model_group_id_fkey: (structure_id, model_group_id) --> ihm_model_group(structure_id, id)
ihm_cross_link_restraint
    ihm_cross_link_restraint_asym_id_1_fkey: (asym_id_1, structure_id) --> struct_asym(id, structure_id)
    ihm_cross_link_restraint_group_id_fkey: (structure_id, group_id) --> ihm_cross_link_list(structure_id, id)
    ihm_cross_link_restraint_asym_id_2_fkey: (structure_id, asym_id_2) --> struct_asym(structure_id, id)
ihm_model_group_link
    ihm_model_group_link_model_id_fkey: (structure_id, model_id) --> ihm_model_list(structure_id, model_id)
    ihm_model_group_link_group_id_fkey: (group_id, structure_id) --> ihm_model_group(id, structure_id)
ihm_poly_atom_feature
    ihm_poly_atom_feature_feature_id_fkey: (feature_id, structure_id) --> ihm_feature_list(feature_id, structure_id)
    ihm_poly_atom_feature_asym_id_fk: (asym_id, structure_id) --> struct_asym(id, structure_id)
ihm_modeling_post_process
    ihm_modeling_post_process_dataset_group_id_fk: (dataset_group_id, structure_id) --> ihm_dataset_group(id, structure_id)
    ihm_modeling_post_process_software_id_fk: (software_id, structure_id) --> software(pdbx_ordinal, structure_id)
    ihm_modeling_post_process_script_file_id_fk: (script_file_id, structure_id) --> ihm_external_files(id, structure_id)
    ihm_modeling_post_process_protocol_id_fkey: (protocol_id, structure_id) --> ihm_modeling_protocol(id, structure_id)
    ihm_modeling_post_process_struct_assembly_id_fk: (struct_assembly_id, structure_id) --> ihm_struct_assembly(id, structure_id)
ihm_cross_link_result
    ihm_cross_link_result_ensemble_id_fkey: (ensemble_id, structure_id) --> ihm_ensemble_info(ensemble_id, structure_id)
    ihm_cross_link_result_restraint_id_fkey: (structure_id, restraint_id) --> ihm_cross_link_restraint(structure_id, id)
ihm_modeling_protocol_details
    ihm_modeling_protocol_details_dataset_group_id_fk: (structure_id, dataset_group_id) --> ihm_dataset_group(structure_id, id)
    ihm_modeling_protocol_details_script_file_id_fk: (structure_id, script_file_id) --> ihm_external_files(structure_id, id)
    ihm_modeling_protocol_details_software_id_fk: (structure_id, software_id) --> software(structure_id, pdbx_ordinal)
    ihm_modeling_protocol_details_protocol_id_fkey: (structure_id, protocol_id) --> ihm_modeling_protocol(structure_id, id)
    ihm_modeling_protocol_details_struct_assembly_id_fk: (structure_id, struct_assembly_id) --> ihm_struct_assembly(structure_id, id)
ihm_2dem_class_average_restraint
    ihm_2dem_class_average_restraint_struct_assembly_id_fkey: (struct_assembly_id, structure_id) --> ihm_struct_assembly(id, structure_id)
    ihm_2dem_class_average_restraint_dataset_list_id_fkey: (structure_id, dataset_list_id) --> ihm_dataset_list(structure_id, id)
ihm_ensemble_info
    ihm_ensemble_info_ensemble_file_id_fk: (structure_id, ensemble_file_id) --> ihm_external_files(structure_id, id)
    ihm_ensemble_info_post_process_id_fk: (structure_id, post_process_id) --> ihm_modeling_post_process(structure_id, id)
    ihm_ensemble_info_model_group_id_fk: (model_group_id, structure_id) --> ihm_model_group(id, structure_id)
chem_comp_atom
    chem_comp_atom_comp_id_fkey: (comp_id, structure_id) --> chem_comp(id, structure_id)
entity_poly_seq
    entity_poly_seq_entity_id_fkey: (entity_id, structure_id) --> entity_poly(entity_id, structure_id)
    entity_poly_seq_mon_id_fkey: (mon_id, structure_id) --> chem_comp(id, structure_id)
ihm_struct_assembly_details
    ihm_struct_assembly_details_parent_assembly_id_fkey: (parent_assembly_id, structure_id) --> ihm_struct_assembly(id, structure_id)
    ihm_struct_assembly_details_asym_id_fkey: (asym_id, structure_id) --> struct_asym(id, structure_id)
    ihm_struct_assembly_details_entity_poly_segment_id_fk: (entity_poly_segment_id, structure_id) --> ihm_entity_poly_segment(id, structure_id)
    ihm_struct_assembly_details_entity_id_fkey: (structure_id, entity_id) --> entity(structure_id, id)
    ihm_struct_assembly_details_assembly_id_fkey: (assembly_id, structure_id) --> ihm_struct_assembly(id, structure_id)
entity_src_gen
    entity_src_gen_entity_id_fkey: (structure_id, entity_id) --> entity(structure_id, id)
ihm_model_representation_details
    ihm_model_representation_details_starting_model_id_fk: (structure_id, starting_model_id) --> ihm_starting_model_details(structure_id, starting_model_id)
    ihm_model_representation_details_entity_poly_segment_id_fk: (structure_id, entity_poly_segment_id) --> ihm_entity_poly_segment(structure_id, id)
    ihm_model_representation_details_representation_id_fkey: (structure_id, representation_id) --> ihm_model_representation(structure_id, id)
    ihm_model_representation_details_entity_asym_id_fkey: (entity_asym_id, structure_id) --> struct_asym(id, structure_id)
    ihm_model_representation_details_entity_id_fkey: (structure_id, entity_id) --> entity(structure_id, id)
entity_poly
    entity_poly_entity_id_fkey: (structure_id, entity_id) --> entity(structure_id, id)
pdbx_entity_nonpoly
    pdbx_entity_nonpoly_entity_id_fkey: (structure_id, entity_id) --> entity(structure_id, id)
    pdbx_entity_nonpoly_comp_id_fk: (structure_id, comp_id) --> chem_comp(structure_id, id)
ihm_model_representative
    ihm_model_representative_model_id_fkey: (model_id, structure_id) --> ihm_model_list(model_id, structure_id)
    ihm_model_representative_model_group_id_fkey: (structure_id, model_group_id) --> ihm_model_group(structure_id, id)
ihm_starting_model_seq_dif
    ihm_starting_model_seq_dif_asym_id_fkey: (structure_id, asym_id) --> struct_asym(structure_id, id)
    ihm_starting_model_seq_dif_starting_model_id_fkey: (starting_model_id, structure_id) --> ihm_starting_model_details(starting_model_id, structure_id)
ihm_starting_computational_models
    ihm_starting_computational_models_script_file_id_fkey: (structure_id, script_file_id) --> ihm_external_files(structure_id, id)
    ihm_starting_computational_models_starting_model_id_fkey: (structure_id, starting_model_id) --> ihm_starting_model_details(structure_id, starting_model_id)
    ihm_starting_computational_models_software_id_fkey: (structure_id, software_id) --> software(structure_id, pdbx_ordinal)
ihm_starting_comparative_models
    ihm_starting_comparative_models_alignment_file_id_fk: (structure_id, alignment_file_id) --> ihm_external_files(structure_id, id)
    ihm_starting_comparative_models_template_dataset_list_id_fkey: (structure_id, template_dataset_list_id) --> ihm_dataset_list(structure_id, id)
    ihm_starting_comparative_models_starting_model_id_fkey: (starting_model_id, structure_id) --> ihm_starting_model_details(starting_model_id, structure_id)
ihm_dataset_group_link
    ihm_dataset_group_link_group_id_fkey: (structure_id, group_id) --> ihm_dataset_group(structure_id, id)
    ihm_dataset_group_link_dataset_list_id_fkey: (structure_id, dataset_list_id) --> ihm_dataset_list(structure_id, id)
ihm_starting_model_details
    ihm_starting_model_details_asym_id_fkey: (structure_id, asym_id) --> struct_asym(structure_id, id)
    ihm_starting_model_details_dataset_list_id_fkey: (dataset_list_id, structure_id) --> ihm_dataset_list(id, structure_id)
    ihm_starting_model_details_entity_id_fkey: (structure_id, entity_id) --> entity(structure_id, id)
    ihm_starting_model_details_entity_poly_segment_id_fk: (structure_id, entity_poly_segment_id) --> ihm_entity_poly_segment(structure_id, id)
ihm_struct_assembly_class_link
    ihm_struct_assembly_class_link_class_id_fkey: (class_id, structure_id) --> ihm_struct_assembly_class(id, structure_id)
    ihm_struct_assembly_class_link_assembly_id_fkey: (structure_id, assembly_id) --> ihm_struct_assembly(structure_id, id)
ihm_localization_density_files
    ihm_localization_density_files_ensemble_id_fkey: (ensemble_id, structure_id) --> ihm_ensemble_info(ensemble_id, structure_id)
    ihm_localization_density_files_entity_poly_segment_id_fk: (entity_poly_segment_id, structure_id) --> ihm_entity_poly_segment(id, structure_id)
    ihm_localization_density_files_asym_id_fk: (structure_id, asym_id) --> struct_asym(structure_id, id)
    ihm_localization_density_files_file_id_fkey: (structure_id, file_id) --> ihm_external_files(structure_id, id)
    ihm_localization_density_files_entity_id_fk: (entity_id, structure_id) --> entity(id, structure_id)
ihm_dataset_external_reference
    ihm_dataset_external_reference_dataset_list_id_fkey: (structure_id, dataset_list_id) --> ihm_dataset_list(structure_id, id)
    ihm_dataset_external_reference_file_id_fkey: (structure_id, file_id) --> ihm_external_files(structure_id, id)
ihm_cross_link_list
    ihm_cross_link_list_dataset_list_id_fkey: (structure_id, dataset_list_id) --> ihm_dataset_list(structure_id, id)
    ihm_cross_link_list_linker_chem_comp_descriptor_id_fk: (structure_id, linker_chem_comp_descriptor_id) --> ihm_chemical_component_descriptor(structure_id, id)
ihm_probe_list
    ihm_probe_list_reactive_probe_chem_comp_descriptor_id_fk: (reactive_probe_chem_comp_descriptor_id, structure_id) --> ihm_chemical_component_descriptor(id, structure_id)
    ihm_probe_list_probe_chem_comp_descriptor_id_fk: (probe_chem_comp_descriptor_id, structure_id) --> ihm_chemical_component_descriptor(id, structure_id)
ihm_epr_restraint
    ihm_epr_restraint_fitting_method_citation_id_fk: (fitting_method_citation_id, structure_id) --> citation(id, structure_id)
    ihm_epr_restraint_dataset_list_id_fkey: (structure_id, dataset_list_id) --> ihm_dataset_list(structure_id, id)
    ihm_epr_restraint_model_id_fkey: (structure_id, model_id) --> ihm_model_list(structure_id, model_id)
    ihm_epr_restraint_fitting_software_id_fkey: (structure_id, fitting_software_id) --> software(structure_id, pdbx_ordinal)
ihm_2dem_class_average_fitting
    ihm_2dem_class_average_fitting_model_id_fkey: (model_id, structure_id) --> ihm_model_list(model_id, structure_id)
    ihm_2dem_class_average_fitting_restraint_id_fkey: (restraint_id, structure_id) --> ihm_2dem_class_average_restraint(id, structure_id)
ihm_poly_probe_conjugate
    ihm_poly_probe_conjugate_dataset_list_id_fkey: (dataset_list_id, structure_id) --> ihm_dataset_list(id, structure_id)
    ihm_poly_probe_conjugate_chem_comp_descriptor_id_fk: (structure_id, chem_comp_descriptor_id) --> ihm_chemical_component_descriptor(structure_id, id)
    ihm_poly_probe_conjugate_probe_id_fkey: (structure_id, probe_id) --> ihm_probe_list(structure_id, probe_id)
    ihm_poly_probe_conjugate_position_id_fkey: (structure_id, position_id) --> ihm_poly_probe_position(structure_id, id)
ihm_model_list
    ihm_model_list_protocol_id_fkey: (structure_id, protocol_id) --> ihm_modeling_protocol(structure_id, id)
    ihm_model_list_assembly_id_fkey: (assembly_id, structure_id) --> ihm_struct_assembly(id, structure_id)
    ihm_model_list_representation_id_fkey: (representation_id, structure_id) --> ihm_model_representation(id, structure_id)
pdbx_entity_poly_na_type
    pdbx_entity_poly_na_type_entity_id_fkey: (structure_id, entity_id) --> entity(structure_id, id)
ihm_ordered_ensemble
    ihm_ordered_ensemble_model_group_id_begin_fkey: (model_group_id_begin, structure_id) --> ihm_model_group(id, structure_id)
    ihm_ordered_ensemble_model_group_id_end_fkey: (model_group_id_end, structure_id) --> ihm_model_group(id, structure_id)
ihm_geometric_object_sphere
    ihm_geometric_object_sphere_transformation_id_fk: (structure_id, transformation_id) --> ihm_geometric_object_transformation(structure_id, id)
    ihm_geometric_object_sphere_object_id_fkey: (structure_id, object_id) --> ihm_geometric_object_list(structure_id, object_id)
    ihm_geometric_object_sphere_center_id_fkey: (structure_id, center_id) --> ihm_geometric_object_center(structure_id, id)
ihm_poly_residue_feature
    ihm_poly_residue_feature_asym_id_fk: (asym_id, structure_id) --> struct_asym(id, structure_id)
    ihm_poly_residue_feature_feature_id_fkey: (feature_id, structure_id) --> ihm_feature_list(feature_id, structure_id)
ihm_related_datasets
    ihm_related_datasets_dataset_list_id_derived_fkey: (structure_id, dataset_list_id_derived) --> ihm_dataset_list(structure_id, id)
    ihm_related_datasets_dataset_list_id_primary_fkey: (structure_id, dataset_list_id_primary) --> ihm_dataset_list(structure_id, id)
ihm_interface_residue_feature
    ihm_interface_residue_feature_binding_partner_asym_id_fk: (structure_id, binding_partner_asym_id) --> struct_asym(structure_id, id)
    ihm_interface_residue_feature_dataset_list_id_fkey: (structure_id, dataset_list_id) --> ihm_dataset_list(structure_id, id)
    ihm_interface_residue_feature_binding_partner_entity_id_fkey: (binding_partner_entity_id, structure_id) --> entity(id, structure_id)
    ihm_interface_residue_feature_feature_id_fkey: (structure_id, feature_id) --> ihm_feature_list(structure_id, feature_id)
ihm_geometric_object_plane
    ihm_geometric_object_plane_object_id_fkey: (object_id, structure_id) --> ihm_geometric_object_list(object_id, structure_id)
    ihm_geometric_object_plane_transformation_id_fk: (structure_id, transformation_id) --> ihm_geometric_object_transformation(structure_id, id)
ihm_predicted_contact_restraint
    ihm_predicted_contact_restraint_asym_id_1_fkey: (asym_id_1, structure_id) --> struct_asym(id, structure_id)
    ihm_predicted_contact_restraint_dataset_list_id_fkey: (structure_id, dataset_list_id) --> ihm_dataset_list(structure_id, id)
    ihm_predicted_contact_restraint_asym_id_2_fkey: (asym_id_2, structure_id) --> struct_asym(id, structure_id)
    ihm_predicted_contact_restraint_software_id_fk: (software_id, structure_id) --> software(pdbx_ordinal, structure_id)
ihm_3dem_restraint
    ihm_3dem_restraint_model_id_fkey: (structure_id, model_id) --> ihm_model_list(structure_id, model_id)
    ihm_3dem_restraint_fitting_method_citation_id_fk: (structure_id, fitting_method_citation_id) --> citation(structure_id, id)
    ihm_3dem_restraint_struct_assembly_id_fkey: (structure_id, struct_assembly_id) --> ihm_struct_assembly(structure_id, id)
    ihm_3dem_restraint_dataset_list_id_fkey: (structure_id, dataset_list_id) --> ihm_dataset_list(structure_id, id)
ihm_derived_distance_restraint
    ihm_derived_distance_restraint_dataset_list_id_fkey: (structure_id, dataset_list_id) --> ihm_dataset_list(structure_id, id)
    ihm_derived_distance_restraint_feature_id_1_fkey: (structure_id, feature_id_1) --> ihm_feature_list(structure_id, feature_id)
    ihm_derived_distance_restraint_feature_id_2_fkey: (structure_id, feature_id_2) --> ihm_feature_list(structure_id, feature_id)
ihm_sas_restraint
    ihm_sas_restraint_model_id_fkey: (structure_id, model_id) --> ihm_model_list(structure_id, model_id)
    ihm_sas_restraint_struct_assembly_id_fkey: (structure_id, struct_assembly_id) --> ihm_struct_assembly(structure_id, id)
    ihm_sas_restraint_dataset_list_id_fkey: (structure_id, dataset_list_id) --> ihm_dataset_list(structure_id, id)
ihm_hydroxyl_radical_fp_restraint
    ihm_hydroxyl_radical_fp_restraint_asym_id_fkey: (structure_id, asym_id) --> struct_asym(structure_id, id)
    ihm_hydroxyl_radical_fp_restraint_software_id_fk: (software_id, structure_id) --> software(pdbx_ordinal, structure_id)
    ihm_hydroxyl_radical_fp_restraint_dataset_list_id_fkey: (structure_id, dataset_list_id) --> ihm_dataset_list(structure_id, id)
ihm_geometric_object_distance_restraint
    ihm_geometric_object_distance_restraint_object_id_fkey: (structure_id, object_id) --> ihm_geometric_object_list(structure_id, object_id)
    ihm_geometric_object_distance_restraint_feature_id_fkey: (structure_id, feature_id) --> ihm_feature_list(structure_id, feature_id)
    ihm_geometric_object_distance_restraint_dataset_list_id_fkey: (dataset_list_id, structure_id) --> ihm_dataset_list(id, structure_id)
ihm_external_files
    ihm_external_files_reference_id_fkey: (reference_id, structure_id) --> ihm_external_reference_info(reference_id, structure_id)
ihm_residues_not_modeled
    ihm_residues_not_modeled_model_id_fkey: (structure_id, model_id) --> ihm_model_list(structure_id, model_id)
    ihm_residues_not_modeled_asym_id_fkey: (structure_id, asym_id) --> struct_asym(structure_id, id)
ihm_ensemble_sub_sample
    ihm_ensemble_sub_sample_ensemble_id_fkey: (structure_id, ensemble_id) --> ihm_ensemble_info(structure_id, ensemble_id)
    ihm_ensemble_sub_sample_model_group_id_fkey: (structure_id, model_group_id) --> ihm_model_group(structure_id, id)
    ihm_ensemble_sub_sample_file_id_fkey: (structure_id, file_id) --> ihm_external_files(structure_id, id)

(col1, col2) --> (Parent_RID, col2), Pattern: Table_Child_col2_fkey, (Total: 39) ==> optional denormalized fkeys

software
    software_citation_id_fkey: (citation_id, Citation_RID) --> citation(id, RID)
ihm_geometric_object_axis
    ihm_geometric_object_axis_transformation_id_fkey: (Transformation_RID, transformation_id) --> ihm_geometric_object_transformation(RID, id)
ihm_non_poly_feature
    ihm_non_poly_feature_asym_id_fkey: (asym_id, Asym_RID) --> struct_asym(id, RID)
ihm_geometric_object_torus
    ihm_geometric_object_torus_transformation_id_fkey: (transformation_id, Transformation_RID) --> ihm_geometric_object_transformation(id, RID)
ihm_poly_probe_position
    ihm_poly_probe_position_mut_res_chem_comp_id_fkey: (Mut_res_chem_comp_RID, mut_res_chem_comp_id) --> chem_comp(RID, id)
    ihm_poly_probe_position_mod_res_chem_comp_descriptor_id_fkey: (Mod_res_chem_comp_descriptor_RID, mod_res_chem_comp_descriptor_id) --> ihm_chemical_component_descriptor(RID, id)
ihm_poly_atom_feature
    ihm_poly_atom_feature_asym_id_fkey: (Asym_RID, asym_id) --> struct_asym(RID, id)
ihm_modeling_post_process
    ihm_modeling_post_process_software_id_fkey: (software_id, Software_RID) --> software(pdbx_ordinal, RID)
    ihm_modeling_post_process_script_file_id_fkey: (script_file_id, Script_file_RID) --> ihm_external_files(id, RID)
    ihm_modeling_post_process_dataset_group_id_fkey: (dataset_group_id, Dataset_group_RID) --> ihm_dataset_group(id, RID)
    ihm_modeling_post_process_struct_assembly_id_fkey: (Struct_assembly_RID, struct_assembly_id) --> ihm_struct_assembly(RID, id)
ihm_modeling_protocol_details
    ihm_modeling_protocol_details_struct_assembly_id_fkey: (struct_assembly_id, Struct_assembly_RID) --> ihm_struct_assembly(id, RID)
    ihm_modeling_protocol_details_script_file_id_fkey: (script_file_id, Script_file_RID) --> ihm_external_files(id, RID)
    ihm_modeling_protocol_details_software_id_fkey: (software_id, Software_RID) --> software(pdbx_ordinal, RID)
    ihm_modeling_protocol_details_dataset_group_id_fkey: (dataset_group_id, Dataset_group_RID) --> ihm_dataset_group(id, RID)
ihm_ensemble_info
    ihm_ensemble_info_ensemble_file_id_fkey: (ensemble_file_id, Ensemble_file_RID) --> ihm_external_files(id, RID)
    ihm_ensemble_info_post_process_id_fkey: (Post_process_RID, post_process_id) --> ihm_modeling_post_process(RID, id)
    ihm_ensemble_info_model_group_id_fkey: (Model_group_RID, model_group_id) --> ihm_model_group(RID, id)
ihm_struct_assembly_details
    ihm_struct_assembly_details_entity_poly_segment_id_fkey: (entity_poly_segment_id, Entity_poly_segment_RID) --> ihm_entity_poly_segment(id, RID)
ihm_model_representation_details
    ihm_model_representation_details_starting_model_id_fkey: (Starting_model_RID, starting_model_id) --> ihm_starting_model_details(RID, starting_model_id)
    ihm_model_representation_details_entity_poly_segment_id_fkey: (entity_poly_segment_id, Entity_poly_segment_RID) --> ihm_entity_poly_segment(id, RID)
pdbx_entity_nonpoly
    pdbx_entity_nonpoly_comp_id_fkey: (Comp_RID, comp_id) --> chem_comp(RID, id)
ihm_starting_comparative_models
    ihm_starting_comparative_models_alignment_file_id_fkey: (alignment_file_id, Alignment_file_RID) --> ihm_external_files(id, RID)
ihm_starting_model_details
    ihm_starting_model_details_entity_poly_segment_id_fkey: (entity_poly_segment_id, Entity_poly_segment_RID) --> ihm_entity_poly_segment(id, RID)
ihm_localization_density_files
    ihm_localization_density_files_asym_id_fkey: (asym_id, Asym_RID) --> struct_asym(id, RID)
    ihm_localization_density_files_entity_poly_segment_id_fkey: (Entity_poly_segment_RID, entity_poly_segment_id) --> ihm_entity_poly_segment(RID, id)
    ihm_localization_density_files_entity_id_fkey: (entity_id, Entity_RID) --> entity(id, RID)
ihm_cross_link_list
    ihm_cross_link_list_linker_chem_comp_descriptor_id_fkey: (linker_chem_comp_descriptor_id, Linker_chem_comp_descriptor_RID) --> ihm_chemical_component_descriptor(id, RID)
ihm_probe_list
    ihm_probe_list_probe_chem_comp_descriptor_id_fkey: (probe_chem_comp_descriptor_id, Probe_chem_comp_descriptor_RID) --> ihm_chemical_component_descriptor(id, RID)
    ihm_probe_list_reactive_probe_chem_comp_descriptor_id_fkey: (reactive_probe_chem_comp_descriptor_id, Reactive_probe_chem_comp_descriptor_RID) --> ihm_chemical_component_descriptor(id, RID)
ihm_epr_restraint
    ihm_epr_restraint_fitting_method_citation_id_fkey: (fitting_method_citation_id, Fitting_method_citation_RID) --> citation(id, RID)
ihm_poly_probe_conjugate
    ihm_poly_probe_conjugate_chem_comp_descriptor_id_fkey: (Chem_comp_descriptor_RID, chem_comp_descriptor_id) --> ihm_chemical_component_descriptor(RID, id)
ihm_geometric_object_sphere
    ihm_geometric_object_sphere_transformation_id_fkey: (Transformation_RID, transformation_id) --> ihm_geometric_object_transformation(RID, id)
ihm_poly_residue_feature
    ihm_poly_residue_feature_asym_id_fkey: (asym_id, Asym_RID) --> struct_asym(id, RID)
ihm_interface_residue_feature
    ihm_interface_residue_feature_binding_partner_asym_id_fkey: (binding_partner_asym_id, Binding_partner_asym_RID) --> struct_asym(id, RID)
ihm_geometric_object_plane
    ihm_geometric_object_plane_transformation_id_fkey: (transformation_id, Transformation_RID) --> ihm_geometric_object_transformation(id, RID)
ihm_predicted_contact_restraint
    ihm_predicted_contact_restraint_software_id_fkey: (Software_RID, software_id) --> software(RID, pdbx_ordinal)
ihm_3dem_restraint
    ihm_3dem_restraint_fitting_method_citation_id_fkey: (fitting_method_citation_id, Fitting_method_citation_RID) --> citation(id, RID)
ihm_hydroxyl_radical_fp_restraint
    ihm_hydroxyl_radical_fp_restraint_software_id_fkey: (software_id, Software_RID) --> software(pdbx_ordinal, RID)

(structure_id, col1, col2, col3) --> (structure_id, col1, col2, col3), Pattern: TableChild..., (Total: 14) ==> normal mmcif fkeys

ihm_poly_probe_position
    ihm_poly_probe_position_mm_poly_res_label_fkey: (entity_id, seq_id, structure_id, comp_id) --> entity_poly_seq(entity_id, num, structure_id, mon_id)
ihm_cross_link_restraint
    ihm_cross_link_restraint_mm_poly_res_label_1_fkey: (entity_id_1, structure_id, seq_id_1, comp_id_1) --> entity_poly_seq(entity_id, structure_id, num, mon_id)
    ihm_cross_link_restraint_mm_poly_res_label_2_fkey: (structure_id, seq_id_2, entity_id_2, comp_id_2) --> entity_poly_seq(structure_id, num, entity_id, mon_id)
ihm_poly_atom_feature
    ihm_poly_atom_feature_mm_poly_res_label_fkey: (seq_id, structure_id, entity_id, comp_id) --> entity_poly_seq(num, structure_id, entity_id, mon_id)
ihm_starting_model_seq_dif
    ihm_starting_model_seq_dif_mm_poly_res_label_fkey: (structure_id, seq_id, comp_id, entity_id) --> entity_poly_seq(structure_id, num, mon_id, entity_id)
ihm_cross_link_list
    ihm_cross_link_list_mm_poly_res_label_1_fkey: (entity_id_1, comp_id_1, structure_id, seq_id_1) --> entity_poly_seq(entity_id, mon_id, structure_id, num)
    ihm_cross_link_list_mm_poly_res_label_2_fkey: (entity_id_2, structure_id, comp_id_2, seq_id_2) --> entity_poly_seq(entity_id, structure_id, mon_id, num)
ihm_poly_residue_feature
    ihm_poly_residue_feature_mm_poly_res_label_begin_fkey: (structure_id, entity_id, seq_id_begin, comp_id_begin) --> entity_poly_seq(structure_id, entity_id, num, mon_id)
    ihm_poly_residue_feature_mm_poly_res_label_end_fkey: (structure_id, entity_id, comp_id_end, seq_id_end) --> entity_poly_seq(structure_id, entity_id, mon_id, num)
ihm_predicted_contact_restraint
    ihm_predicted_contact_restraint_mm_poly_res_label_1_fkey: (structure_id, seq_id_1, entity_id_1, comp_id_1) --> entity_poly_seq(structure_id, num, entity_id, mon_id)
    ihm_predicted_contact_restraint_mm_poly_res_label_2_fkey: (structure_id, seq_id_2, comp_id_2, entity_id_2) --> entity_poly_seq(structure_id, num, mon_id, entity_id)
ihm_hydroxyl_radical_fp_restraint
    ihm_hydroxyl_radical_fp_restraint_mm_poly_res_label_fkey: (comp_id, entity_id, structure_id, seq_id) --> entity_poly_seq(mon_id, entity_id, structure_id, num)
ihm_residues_not_modeled
    ihm_residues_not_modeled_mm_poly_res_label_end_fkey: (entity_id, comp_id_end, structure_id, seq_id_end) --> entity_poly_seq(entity_id, mon_id, structure_id, num)
    ihm_residues_not_modeled_mm_poly_res_label_begin_fkey: (comp_id_begin, entity_id, seq_id_begin, structure_id) --> entity_poly_seq(mon_id, entity_id, num, structure_id)

(structure_id, col1, col2, col3, col4) --> (structure_id, col1, col2, col3, col4), Pattern: TableChild..., (Total: 2) ==> normal mmcif fkeys

ihm_entity_poly_segment
    ihm_entity_poly_segment_mm_poly_res_label_end_fkey: (structure_id, comp_id_end, Entity_Poly_Seq_RID_End, entity_id, seq_id_end) --> entity_poly_seq(structure_id, mon_id, RID, entity_id, num)
    ihm_entity_poly_segment_mm_poly_res_label_begin_fkey: (seq_id_begin, structure_id, comp_id_begin, entity_id, Entity_Poly_Seq_RID_Begin) --> entity_poly_seq(num, structure_id, mon_id, entity_id, RID)
brindakv commented 3 years ago

@hongsudt @svoinea the tag mm_poly_res_label comes from the dictionary and is present in the original json schema.

svoinea commented 3 years ago

PRIMARY KEYS TO BE RENAMED (TOTAL 106)

COMPOSITE KEYS (TOTAL 17)

Entry_mmCIF_File(Structure_Id,mmCIF_Schema_Version): Entry_mmCIF_File_Structure_Id_mmCIF_Schema_Version_key --> Entry_mmCIF_File_primary_key
software(RID,pdbx_ordinal): software_RID_pdbx_ordinal_key --> software_combo2_key
entry(id): entry_id_unique_key --> entry_primary_key
citation(id,RID): citation_id_RID_key --> citation_combo2_key
ihm_geometric_object_transformation(id,RID): ihm_geometric_object_transformation_RID_id_key --> ihm_geometric_object_transformation_combo2_key
chem_comp(id,RID): chem_comp_id_RID_key --> chem_comp_combo2_key
struct_asym(id,RID): struct_asym_RID_id_key --> struct_asym_combo2_key
entity(id,RID): entity_id_RID_key --> entity_combo2_key
ihm_entity_poly_segment(RID,id): ihm_entity_poly_segment_RID_id_key --> ihm_entity_poly_segment_combo2_key
ihm_modeling_post_process(id,RID): ihm_modeling_post_process_RID_id_key --> ihm_modeling_post_process_combo2_key
entity_poly_seq(RID,structure_id): entity_poly_seq_RID_structure_id_key --> entity_poly_seq_combo1_key
ihm_model_group(RID,id): ihm_model_group_RID_id_key --> ihm_model_group_combo2_key
ihm_starting_model_details(starting_model_id,RID): ihm_starting_model_details_RID_starting_model_id_key --> ihm_starting_model_details_combo2_key
ihm_struct_assembly(RID,id): ihm_struct_assembly_RID_id_key --> ihm_struct_assembly_combo2_key
ihm_chemical_component_descriptor(id,RID): ihm_chemical_component_descriptor_id_RID_key --> ihm_chemical_component_descriptor_combo2_key
ihm_dataset_group(id,RID): ihm_dataset_group_RID_id_key --> ihm_dataset_group_combo2_key
ihm_external_files(id,RID): ihm_external_files_id_RID_key --> ihm_external_files_combo2_key

SINGLE RID (Total 89)

Entry_Related_File(RID): Entry_Related_File_RIDkey1 --> Entry_Related_File_RID_key
citation_author(RID): citation_author_RIDkey1 --> citation_author_RID_key
struct(RID): struct_RIDkey1 --> struct_RID_key
audit_author(RID): audit_author_RIDkey1 --> audit_author_RID_key
software(RID): software_RIDkey1 --> software_RID_key
entry(RID): entry_RIDkey1 --> entry_RID_key
citation(RID): citation_RIDkey1 --> citation_RID_key
ihm_dataset_related_db_reference(RID): ihm_dataset_related_db_reference_RIDkey1 --> ihm_dataset_related_db_reference_RID_key
ihm_geometric_object_axis(RID): ihm_geometric_object_axis_RIDkey1 --> ihm_geometric_object_axis_RID_key
ihm_non_poly_feature(RID): ihm_non_poly_feature_RIDkey1 --> ihm_non_poly_feature_RID_key
ihm_geometric_object_half_torus(RID): ihm_geometric_object_half_torus_RIDkey1 --> ihm_geometric_object_half_torus_RID_key
pdbx_protein_info(RID): pdbx_protein_info_RIDkey1 --> pdbx_protein_info_RID_key
ihm_geometric_object_torus(RID): ihm_geometric_object_torus_RIDkey1 --> ihm_geometric_object_torus_RID_key
ihm_pseudo_site_feature(RID): ihm_pseudo_site_feature_RIDkey1 --> ihm_pseudo_site_feature_RID_key
ihm_cross_link_result_parameters(RID): ihm_cross_link_result_parameters_RIDkey1 --> ihm_cross_link_result_parameters_RID_key
ihm_poly_probe_position(RID): ihm_poly_probe_position_RIDkey1 --> ihm_poly_probe_position_RID_key
ihm_ligand_probe(RID): ihm_ligand_probe_RIDkey1 --> ihm_ligand_probe_RID_key
ihm_geometric_object_transformation(RID): ihm_geometric_object_transformation_RIDkey1 --> ihm_geometric_object_transformation_RID_key
chem_comp(RID): chem_comp_RIDkey1 --> chem_comp_RID_key
entity_name_com(RID): entity_name_com_RIDkey1 --> entity_name_com_RID_key
struct_asym(RID): struct_asym_RIDkey1 --> struct_asym_RID_key
entity(RID): entity_RIDkey1 --> entity_RID_key
ihm_entity_poly_segment(RID): ihm_entity_poly_segment_RIDkey1 --> ihm_entity_poly_segment_RID_key
entity_name_sys(RID): entity_name_sys_RIDkey1 --> entity_name_sys_RID_key
ihm_multi_state_model_group_link(RID): ihm_multi_state_model_group_link_RIDkey1 --> ihm_multi_state_model_group_link_RID_key
ihm_cross_link_restraint(RID): ihm_cross_link_restraint_RIDkey1 --> ihm_cross_link_restraint_RID_key
ihm_model_group_link(RID): ihm_model_group_link_RIDkey1 --> ihm_model_group_link_RID_key
ihm_poly_atom_feature(RID): ihm_poly_atom_feature_RIDkey1 --> ihm_poly_atom_feature_RID_key
ihm_modeling_post_process(RID): ihm_modeling_post_process_RIDkey1 --> ihm_modeling_post_process_RID_key
ihm_cross_link_result(RID): ihm_cross_link_result_RIDkey1 --> ihm_cross_link_result_RID_key
ihm_modeling_protocol_details(RID): ihm_modeling_protocol_details_RIDkey1 --> ihm_modeling_protocol_details_RID_key
audit_conform(RID): audit_conform_RIDkey1 --> audit_conform_RID_key
pdbx_entry_details(RID): pdbx_entry_details_RIDkey1 --> pdbx_entry_details_RID_key
ihm_multi_state_modeling(RID): ihm_multi_state_modeling_RIDkey1 --> ihm_multi_state_modeling_RID_key
ihm_2dem_class_average_restraint(RID): ihm_2dem_class_average_restraint_RIDkey1 --> ihm_2dem_class_average_restraint_RID_key
ihm_geometric_object_center(RID): ihm_geometric_object_center_RIDkey1 --> ihm_geometric_object_center_RID_key
ihm_ensemble_info(RID): ihm_ensemble_info_RIDkey1 --> ihm_ensemble_info_RID_key
chem_comp_atom(RID): chem_comp_atom_RIDkey1 --> chem_comp_atom_RID_key
entity_poly_seq(RID): entity_poly_seq_RIDkey1 --> entity_poly_seq_RID_key
ihm_struct_assembly_details(RID): ihm_struct_assembly_details_RIDkey1 --> ihm_struct_assembly_details_RID_key
entity_src_gen(RID): entity_src_gen_RIDkey1 --> entity_src_gen_RID_key
ihm_model_representation(RID): ihm_model_representation_RIDkey1 --> ihm_model_representation_RID_key
atom_type(RID): atom_type_RIDkey1 --> atom_type_RID_key
ihm_model_representation_details(RID): ihm_model_representation_details_RIDkey1 --> ihm_model_representation_details_RID_key
entity_poly(RID): entity_poly_RIDkey1 --> entity_poly_RID_key
pdbx_entity_nonpoly(RID): pdbx_entity_nonpoly_RIDkey1 --> pdbx_entity_nonpoly_RID_key
ihm_model_group(RID): ihm_model_group_RIDkey1 --> ihm_model_group_RID_key
ihm_model_representative(RID): ihm_model_representative_RIDkey1 --> ihm_model_representative_RID_key
ihm_starting_model_seq_dif(RID): ihm_starting_model_seq_dif_RIDkey1 --> ihm_starting_model_seq_dif_RID_key
ihm_starting_computational_models(RID): ihm_starting_computational_models_RIDkey1 --> ihm_starting_computational_models_RID_key
ihm_modeling_protocol(RID): ihm_modeling_protocol_RIDkey1 --> ihm_modeling_protocol_RID_key
ihm_starting_comparative_models(RID): ihm_starting_comparative_models_RIDkey1 --> ihm_starting_comparative_models_RID_key
ihm_dataset_group_link(RID): ihm_dataset_group_link_RIDkey1 --> ihm_dataset_group_link_RID_key
ihm_starting_model_details(RID): ihm_starting_model_details_RIDkey1 --> ihm_starting_model_details_RID_key
ihm_struct_assembly(RID): ihm_struct_assembly_RIDkey1 --> ihm_struct_assembly_RID_key
ihm_struct_assembly_class(RID): ihm_struct_assembly_class_RIDkey1 --> ihm_struct_assembly_class_RID_key
ihm_struct_assembly_class_link(RID): ihm_struct_assembly_class_link_RIDkey1 --> ihm_struct_assembly_class_link_RID_key
ihm_localization_density_files(RID): ihm_localization_density_files_RIDkey1 --> ihm_localization_density_files_RID_key
ihm_chemical_component_descriptor(RID): ihm_chemical_component_descriptor_RIDkey1 --> ihm_chemical_component_descriptor_RID_key
pdbx_inhibitor_info(RID): pdbx_inhibitor_info_RIDkey1 --> pdbx_inhibitor_info_RID_key
ihm_dataset_external_reference(RID): ihm_dataset_external_reference_RIDkey1 --> ihm_dataset_external_reference_RID_key
ihm_cross_link_list(RID): ihm_cross_link_list_RIDkey1 --> ihm_cross_link_list_RID_key
ihm_probe_list(RID): ihm_probe_list_RIDkey1 --> ihm_probe_list_RID_key
ihm_epr_restraint(RID): ihm_epr_restraint_RIDkey1 --> ihm_epr_restraint_RID_key
ihm_2dem_class_average_fitting(RID): ihm_2dem_class_average_fitting_RIDkey1 --> ihm_2dem_class_average_fitting_RID_key
ihm_poly_probe_conjugate(RID): ihm_poly_probe_conjugate_RIDkey1 --> ihm_poly_probe_conjugate_RID_key
ihm_model_list(RID): ihm_model_list_RIDkey1 --> ihm_model_list_RID_key
ihm_feature_list(RID): ihm_feature_list_RIDkey1 --> ihm_feature_list_RID_key
pdbx_entity_poly_na_type(RID): pdbx_entity_poly_na_type_RIDkey1 --> pdbx_entity_poly_na_type_RID_key
ihm_ordered_ensemble(RID): ihm_ordered_ensemble_RIDkey1 --> ihm_ordered_ensemble_RID_key
ihm_geometric_object_list(RID): ihm_geometric_object_list_RIDkey1 --> ihm_geometric_object_list_RID_key
pdbx_ion_info(RID): pdbx_ion_info_RIDkey1 --> pdbx_ion_info_RID_key
ihm_geometric_object_sphere(RID): ihm_geometric_object_sphere_RIDkey1 --> ihm_geometric_object_sphere_RID_key
ihm_poly_residue_feature(RID): ihm_poly_residue_feature_RIDkey1 --> ihm_poly_residue_feature_RID_key
ihm_related_datasets(RID): ihm_related_datasets_RIDkey1 --> ihm_related_datasets_RID_key
ihm_dataset_group(RID): ihm_dataset_group_RIDkey1 --> ihm_dataset_group_RID_key
ihm_interface_residue_feature(RID): ihm_interface_residue_feature_RIDkey1 --> ihm_interface_residue_feature_RID_key
ihm_dataset_list(RID): ihm_dataset_list_RIDkey1 --> ihm_dataset_list_RID_key
ihm_geometric_object_plane(RID): ihm_geometric_object_plane_RIDkey1 --> ihm_geometric_object_plane_RID_key
ihm_predicted_contact_restraint(RID): ihm_predicted_contact_restraint_RIDkey1 --> ihm_predicted_contact_restraint_RID_key
ihm_3dem_restraint(RID): ihm_3dem_restraint_RIDkey1 --> ihm_3dem_restraint_RID_key
ihm_derived_distance_restraint(RID): ihm_derived_distance_restraint_RIDkey1 --> ihm_derived_distance_restraint_RID_key
ihm_sas_restraint(RID): ihm_sas_restraint_RIDkey1 --> ihm_sas_restraint_RID_key
ihm_hydroxyl_radical_fp_restraint(RID): ihm_hydroxyl_radical_fp_restraint_RIDkey1 --> ihm_hydroxyl_radical_fp_restraint_RID_key
ihm_geometric_object_distance_restraint(RID): ihm_geometric_object_distance_restraint_RIDkey1 --> ihm_geometric_object_distance_restraint_RID_key
ihm_external_files(RID): ihm_external_files_RIDkey1 --> ihm_external_files_RID_key
ihm_external_reference_info(RID): ihm_external_reference_info_RIDkey1 --> ihm_external_reference_info_RID_key
ihm_residues_not_modeled(RID): ihm_residues_not_modeled_RIDkey1 --> ihm_residues_not_modeled_RID_key
Entry_Related_File_Templates(RID): Entry_Template_File_RID_key --> Entry_Related_File_Templates_RID_key
svoinea commented 3 years ago

FOREIGN KEYS TO BE RENAMED (TOTAL: 222)

WITH combo1 (TOTAL: 169)

citation_author(citation_id,structure_id)-->citation(id,structure_id) citation_author_citation_id_fkey-->citation_author_citation_combo1_fkey
software(citation_id,structure_id)-->citation(id,structure_id) software_citation_id_fk-->software_citation_combo1_fkey
ihm_cross_link_pseudo_site(restraint_id,structure_id)-->ihm_cross_link_restraint(id,structure_id) ihm_cross_link_pseudo_site_restraint_id_fkey-->ihm_cross_link_pseudo_site_ihm_cross_link_restraint_combo1_fkey
ihm_cross_link_pseudo_site(structure_id,model_id)-->ihm_model_list(structure_id,model_id) ihm_cross_link_pseudo_site_model_id_fkey-->ihm_cross_link_pseudo_site_ihm_model_list_combo1_fkey
ihm_cross_link_pseudo_site(structure_id,pseudo_site_id)-->ihm_pseudo_site(structure_id,id) ihm_cross_link_pseudo_site_pseudo_site_id_fkey-->ihm_cross_link_pseudo_site_ihm_pseudo_site_combo1_fkey
ihm_dataset_related_db_reference(structure_id,dataset_list_id)-->ihm_dataset_list(structure_id,id) ihm_dataset_related_db_reference_dataset_list_id_fkey-->ihm_dataset_related_db_reference_ihm_dataset_list_combo1_fkey
ihm_geometric_object_axis(object_id,structure_id)-->ihm_geometric_object_list(object_id,structure_id) ihm_geometric_object_axis_object_id_fkey-->ihm_geometric_object_axis_ihm_geometric_object_list_combo1_fkey
ihm_geometric_object_axis(transformation_id,structure_id)-->ihm_geometric_object_transformation(id,structure_id) ihm_geometric_object_axis_transformation_id_fk-->ihm_geometric_object_axis_ihm_geometric_object_transformation_combo1_fkey
ihm_non_poly_feature(structure_id,feature_id)-->ihm_feature_list(structure_id,feature_id) ihm_non_poly_feature_feature_id_fkey-->ihm_non_poly_feature_ihm_feature_list_combo1_fkey
ihm_non_poly_feature(structure_id,entity_id)-->entity(structure_id,id) ihm_non_poly_feature_entity_id_fkey-->ihm_non_poly_feature_entity_combo1_fkey
ihm_non_poly_feature(asym_id,structure_id)-->struct_asym(id,structure_id) ihm_non_poly_feature_asym_id_fk-->ihm_non_poly_feature_struct_asym_combo1_fkey
ihm_non_poly_feature(comp_id,structure_id)-->chem_comp(id,structure_id) ihm_non_poly_feature_comp_id_fkey-->ihm_non_poly_feature_chem_comp_combo1_fkey
ihm_geometric_object_half_torus(object_id,structure_id)-->ihm_geometric_object_torus(object_id,structure_id) ihm_geometric_object_half_torus_object_id_fkey-->ihm_geometric_object_half_torus_ihm_geometric_object_torus_combo1_fkey
ihm_geometric_object_torus(transformation_id,structure_id)-->ihm_geometric_object_transformation(id,structure_id) ihm_geometric_object_torus_transformation_id_fk-->ihm_geometric_object_torus_ihm_geometric_object_transformation_combo1_fkey
ihm_geometric_object_torus(structure_id,object_id)-->ihm_geometric_object_list(structure_id,object_id) ihm_geometric_object_torus_object_id_fkey-->ihm_geometric_object_torus_ihm_geometric_object_list_combo1_fkey
ihm_geometric_object_torus(structure_id,center_id)-->ihm_geometric_object_center(structure_id,id) ihm_geometric_object_torus_center_id_fkey-->ihm_geometric_object_torus_ihm_geometric_object_center_combo1_fkey
ihm_pseudo_site_feature(structure_id,pseudo_site_id)-->ihm_pseudo_site(structure_id,id) ihm_pseudo_site_feature_pseudo_site_id_fkey-->ihm_pseudo_site_feature_ihm_pseudo_site_combo1_fkey
ihm_pseudo_site_feature(structure_id,feature_id)-->ihm_feature_list(structure_id,feature_id) ihm_pseudo_site_feature_feature_id_fkey-->ihm_pseudo_site_feature_ihm_feature_list_combo1_fkey
ihm_cross_link_result_parameters(structure_id,model_id)-->ihm_model_list(structure_id,model_id) ihm_cross_link_result_parameters_model_id_fkey-->ihm_cross_link_result_parameters_ihm_model_list_combo1_fkey
ihm_cross_link_result_parameters(restraint_id,structure_id)-->ihm_cross_link_restraint(id,structure_id) ihm_cross_link_result_parameters_restraint_id_fkey-->ihm_cross_link_result_parameters_ihm_cross_link_restraint_combo1_fkey
ihm_poly_probe_position(comp_id,entity_id,structure_id,seq_id)-->entity_poly_seq(mon_id,entity_id,structure_id,num) ihm_poly_probe_position_mm_poly_res_label_fkey-->ihm_poly_probe_position_entity_poly_seq_combo1_fkey
ihm_poly_probe_position(mut_res_chem_comp_id,structure_id)-->chem_comp(id,structure_id) ihm_poly_probe_position_mut_res_chem_comp_id_fk-->ihm_poly_probe_position_chem_comp_combo1_fkey
ihm_poly_probe_position(mod_res_chem_comp_descriptor_id,structure_id)-->ihm_chemical_component_descriptor(id,structure_id) ihm_poly_probe_position_mod_res_chem_comp_descriptor_id_fk-->ihm_poly_probe_position_ihm_chemical_component_descriptor_combo1_fkey
ihm_ligand_probe(structure_id,probe_id)-->ihm_probe_list(structure_id,probe_id) ihm_ligand_probe_probe_id_fkey-->ihm_ligand_probe_ihm_probe_list_combo1_fkey
ihm_ligand_probe(structure_id,entity_id)-->entity(structure_id,id) ihm_ligand_probe_entity_id_fkey-->ihm_ligand_probe_entity_combo1_fkey
ihm_ligand_probe(structure_id,dataset_list_id)-->ihm_dataset_list(structure_id,id) ihm_ligand_probe_dataset_list_id_fkey-->ihm_ligand_probe_ihm_dataset_list_combo1_fkey
entity_name_com(entity_id,structure_id)-->entity(id,structure_id) entity_name_com_entity_id_fkey-->entity_name_com_entity_combo1_fkey
struct_asym(structure_id,entity_id)-->entity(structure_id,id) struct_asym_entity_id_fkey-->struct_asym_entity_combo1_fkey
entity_name_sys(structure_id,entity_id)-->entity(structure_id,id) entity_name_sys_entity_id_fkey-->entity_name_sys_entity_combo1_fkey
ihm_multi_state_model_group_link(structure_id,state_id)-->ihm_multi_state_modeling(structure_id,state_id) ihm_multi_state_model_group_link_state_id_fkey-->ihm_multi_state_model_group_link_ihm_multi_state_modeling_combo1_fkey
ihm_multi_state_model_group_link(model_group_id,structure_id)-->ihm_model_group(id,structure_id) ihm_multi_state_model_group_link_model_group_id_fkey-->ihm_multi_state_model_group_link_ihm_model_group_combo1_fkey
ihm_cross_link_restraint(structure_id,asym_id_1)-->struct_asym(structure_id,id) ihm_cross_link_restraint_asym_id_1_fkey-->ihm_cross_link_restraint_struct_asym_combo1_fkey
ihm_cross_link_restraint(group_id,structure_id)-->ihm_cross_link_list(id,structure_id) ihm_cross_link_restraint_group_id_fkey-->ihm_cross_link_restraint_ihm_cross_link_list_combo1_fkey
ihm_cross_link_restraint(seq_id_1,comp_id_1,entity_id_1,structure_id)-->entity_poly_seq(num,mon_id,entity_id,structure_id) ihm_cross_link_restraint_mm_poly_res_label_1_fkey-->ihm_cross_link_restraint_entity_poly_seq_combo1_fkey
ihm_cross_link_restraint(comp_id_2,entity_id_2,structure_id,seq_id_2)-->entity_poly_seq(mon_id,entity_id,structure_id,num) ihm_cross_link_restraint_mm_poly_res_label_2_fkey-->ihm_cross_link_restraint_entity_poly_seq_combo1_fkey
ihm_cross_link_restraint(asym_id_2,structure_id)-->struct_asym(id,structure_id) ihm_cross_link_restraint_asym_id_2_fkey-->ihm_cross_link_restraint_struct_asym_combo1_fkey
ihm_model_group_link(structure_id,model_id)-->ihm_model_list(structure_id,model_id) ihm_model_group_link_model_id_fkey-->ihm_model_group_link_ihm_model_list_combo1_fkey
ihm_model_group_link(group_id,structure_id)-->ihm_model_group(id,structure_id) ihm_model_group_link_group_id_fkey-->ihm_model_group_link_ihm_model_group_combo1_fkey
ihm_poly_atom_feature(structure_id,feature_id)-->ihm_feature_list(structure_id,feature_id) ihm_poly_atom_feature_feature_id_fkey-->ihm_poly_atom_feature_ihm_feature_list_combo1_fkey
ihm_poly_atom_feature(structure_id,asym_id)-->struct_asym(structure_id,id) ihm_poly_atom_feature_asym_id_fk-->ihm_poly_atom_feature_struct_asym_combo1_fkey
ihm_poly_atom_feature(structure_id,seq_id,comp_id,entity_id)-->entity_poly_seq(structure_id,num,mon_id,entity_id) ihm_poly_atom_feature_mm_poly_res_label_fkey-->ihm_poly_atom_feature_entity_poly_seq_combo1_fkey
ihm_modeling_post_process(dataset_group_id,structure_id)-->ihm_dataset_group(id,structure_id) ihm_modeling_post_process_dataset_group_id_fk-->ihm_modeling_post_process_ihm_dataset_group_combo1_fkey
ihm_modeling_post_process(software_id,structure_id)-->software(pdbx_ordinal,structure_id) ihm_modeling_post_process_software_id_fk-->ihm_modeling_post_process_software_combo1_fkey
ihm_modeling_post_process(script_file_id,structure_id)-->ihm_external_files(id,structure_id) ihm_modeling_post_process_script_file_id_fk-->ihm_modeling_post_process_ihm_external_files_combo1_fkey
ihm_modeling_post_process(structure_id,protocol_id)-->ihm_modeling_protocol(structure_id,id) ihm_modeling_post_process_protocol_id_fkey-->ihm_modeling_post_process_ihm_modeling_protocol_combo1_fkey
ihm_modeling_post_process(structure_id,struct_assembly_id)-->ihm_struct_assembly(structure_id,id) ihm_modeling_post_process_struct_assembly_id_fk-->ihm_modeling_post_process_ihm_struct_assembly_combo1_fkey
ihm_cross_link_result(ensemble_id,structure_id)-->ihm_ensemble_info(ensemble_id,structure_id) ihm_cross_link_result_ensemble_id_fkey-->ihm_cross_link_result_ihm_ensemble_info_combo1_fkey
ihm_cross_link_result(restraint_id,structure_id)-->ihm_cross_link_restraint(id,structure_id) ihm_cross_link_result_restraint_id_fkey-->ihm_cross_link_result_ihm_cross_link_restraint_combo1_fkey
ihm_modeling_protocol_details(structure_id,dataset_group_id)-->ihm_dataset_group(structure_id,id) ihm_modeling_protocol_details_dataset_group_id_fk-->ihm_modeling_protocol_details_ihm_dataset_group_combo1_fkey
ihm_modeling_protocol_details(structure_id,script_file_id)-->ihm_external_files(structure_id,id) ihm_modeling_protocol_details_script_file_id_fk-->ihm_modeling_protocol_details_ihm_external_files_combo1_fkey
ihm_modeling_protocol_details(structure_id,software_id)-->software(structure_id,pdbx_ordinal) ihm_modeling_protocol_details_software_id_fk-->ihm_modeling_protocol_details_software_combo1_fkey
ihm_modeling_protocol_details(structure_id,protocol_id)-->ihm_modeling_protocol(structure_id,id) ihm_modeling_protocol_details_protocol_id_fkey-->ihm_modeling_protocol_details_ihm_modeling_protocol_combo1_fkey
ihm_modeling_protocol_details(struct_assembly_id,structure_id)-->ihm_struct_assembly(id,structure_id) ihm_modeling_protocol_details_struct_assembly_id_fk-->ihm_modeling_protocol_details_ihm_struct_assembly_combo1_fkey
ihm_2dem_class_average_restraint(structure_id,struct_assembly_id)-->ihm_struct_assembly(structure_id,id) ihm_2dem_class_average_restraint_struct_assembly_id_fkey-->ihm_2dem_class_average_restraint_ihm_struct_assembly_combo1_fkey
ihm_2dem_class_average_restraint(dataset_list_id,structure_id)-->ihm_dataset_list(id,structure_id) ihm_2dem_class_average_restraint_dataset_list_id_fkey-->ihm_2dem_class_average_restraint_ihm_dataset_list_combo1_fkey
ihm_ensemble_info(structure_id,ensemble_file_id)-->ihm_external_files(structure_id,id) ihm_ensemble_info_ensemble_file_id_fk-->ihm_ensemble_info_ihm_external_files_combo1_fkey
ihm_ensemble_info(structure_id,post_process_id)-->ihm_modeling_post_process(structure_id,id) ihm_ensemble_info_post_process_id_fk-->ihm_ensemble_info_ihm_modeling_post_process_combo1_fkey
ihm_ensemble_info(model_group_id,structure_id)-->ihm_model_group(id,structure_id) ihm_ensemble_info_model_group_id_fk-->ihm_ensemble_info_ihm_model_group_combo1_fkey
chem_comp_atom(comp_id,structure_id)-->chem_comp(id,structure_id) chem_comp_atom_comp_id_fkey-->chem_comp_atom_chem_comp_combo1_fkey
entity_poly_seq(entity_id,structure_id)-->entity_poly(entity_id,structure_id) entity_poly_seq_entity_id_fkey-->entity_poly_seq_entity_poly_combo1_fkey
entity_poly_seq(mon_id,structure_id)-->chem_comp(id,structure_id) entity_poly_seq_mon_id_fkey-->entity_poly_seq_chem_comp_combo1_fkey
ihm_struct_assembly_details(parent_assembly_id,structure_id)-->ihm_struct_assembly(id,structure_id) ihm_struct_assembly_details_parent_assembly_id_fkey-->ihm_struct_assembly_details_ihm_struct_assembly_combo1_fkey
ihm_struct_assembly_details(structure_id,asym_id)-->struct_asym(structure_id,id) ihm_struct_assembly_details_asym_id_fkey-->ihm_struct_assembly_details_struct_asym_combo1_fkey
ihm_struct_assembly_details(structure_id,entity_poly_segment_id)-->ihm_entity_poly_segment(structure_id,id) ihm_struct_assembly_details_entity_poly_segment_id_fk-->ihm_struct_assembly_details_ihm_entity_poly_segment_combo1_fkey
ihm_struct_assembly_details(entity_id,structure_id)-->entity(id,structure_id) ihm_struct_assembly_details_entity_id_fkey-->ihm_struct_assembly_details_entity_combo1_fkey
ihm_struct_assembly_details(structure_id,assembly_id)-->ihm_struct_assembly(structure_id,id) ihm_struct_assembly_details_assembly_id_fkey-->ihm_struct_assembly_details_ihm_struct_assembly_combo1_fkey
entity_src_gen(entity_id,structure_id)-->entity(id,structure_id) entity_src_gen_entity_id_fkey-->entity_src_gen_entity_combo1_fkey
ihm_model_representation_details(structure_id,starting_model_id)-->ihm_starting_model_details(structure_id,starting_model_id) ihm_model_representation_details_starting_model_id_fk-->ihm_model_representation_details_ihm_starting_model_details_combo1_fkey
ihm_model_representation_details(structure_id,entity_poly_segment_id)-->ihm_entity_poly_segment(structure_id,id) ihm_model_representation_details_entity_poly_segment_id_fk-->ihm_model_representation_details_ihm_entity_poly_segment_combo1_fkey
ihm_model_representation_details(representation_id,structure_id)-->ihm_model_representation(id,structure_id) ihm_model_representation_details_representation_id_fkey-->ihm_model_representation_details_ihm_model_representation_combo1_fkey
ihm_model_representation_details(entity_asym_id,structure_id)-->struct_asym(id,structure_id) ihm_model_representation_details_entity_asym_id_fkey-->ihm_model_representation_details_struct_asym_combo1_fkey
ihm_model_representation_details(structure_id,entity_id)-->entity(structure_id,id) ihm_model_representation_details_entity_id_fkey-->ihm_model_representation_details_entity_combo1_fkey
entity_poly(structure_id,entity_id)-->entity(structure_id,id) entity_poly_entity_id_fkey-->entity_poly_entity_combo1_fkey
pdbx_entity_nonpoly(entity_id,structure_id)-->entity(id,structure_id) pdbx_entity_nonpoly_entity_id_fkey-->pdbx_entity_nonpoly_entity_combo1_fkey
pdbx_entity_nonpoly(structure_id,comp_id)-->chem_comp(structure_id,id) pdbx_entity_nonpoly_comp_id_fk-->pdbx_entity_nonpoly_chem_comp_combo1_fkey
ihm_model_representative(structure_id,model_id)-->ihm_model_list(structure_id,model_id) ihm_model_representative_model_id_fkey-->ihm_model_representative_ihm_model_list_combo1_fkey
ihm_model_representative(model_group_id,structure_id)-->ihm_model_group(id,structure_id) ihm_model_representative_model_group_id_fkey-->ihm_model_representative_ihm_model_group_combo1_fkey
ihm_starting_model_seq_dif(structure_id,comp_id,entity_id,seq_id)-->entity_poly_seq(structure_id,mon_id,entity_id,num) ihm_starting_model_seq_dif_mm_poly_res_label_fkey-->ihm_starting_model_seq_dif_entity_poly_seq_combo1_fkey
ihm_starting_model_seq_dif(structure_id,asym_id)-->struct_asym(structure_id,id) ihm_starting_model_seq_dif_asym_id_fkey-->ihm_starting_model_seq_dif_struct_asym_combo1_fkey
ihm_starting_model_seq_dif(starting_model_id,structure_id)-->ihm_starting_model_details(starting_model_id,structure_id) ihm_starting_model_seq_dif_starting_model_id_fkey-->ihm_starting_model_seq_dif_ihm_starting_model_details_combo1_fkey
ihm_starting_computational_models(structure_id,script_file_id)-->ihm_external_files(structure_id,id) ihm_starting_computational_models_script_file_id_fkey-->ihm_starting_computational_models_ihm_external_files_combo1_fkey
ihm_starting_computational_models(structure_id,starting_model_id)-->ihm_starting_model_details(structure_id,starting_model_id) ihm_starting_computational_models_starting_model_id_fkey-->ihm_starting_computational_models_ihm_starting_model_details_combo1_fkey
ihm_starting_computational_models(structure_id,software_id)-->software(structure_id,pdbx_ordinal) ihm_starting_computational_models_software_id_fkey-->ihm_starting_computational_models_software_combo1_fkey
ihm_starting_comparative_models(structure_id,alignment_file_id)-->ihm_external_files(structure_id,id) ihm_starting_comparative_models_alignment_file_id_fk-->ihm_starting_comparative_models_ihm_external_files_combo1_fkey
ihm_starting_comparative_models(structure_id,template_dataset_list_id)-->ihm_dataset_list(structure_id,id) ihm_starting_comparative_models_template_dataset_list_id_fkey-->ihm_starting_comparative_models_ihm_dataset_list_combo1_fkey
ihm_starting_comparative_models(structure_id,starting_model_id)-->ihm_starting_model_details(structure_id,starting_model_id) ihm_starting_comparative_models_starting_model_id_fkey-->ihm_starting_comparative_models_ihm_starting_model_details_combo1_fkey
ihm_dataset_group_link(structure_id,group_id)-->ihm_dataset_group(structure_id,id) ihm_dataset_group_link_group_id_fkey-->ihm_dataset_group_link_ihm_dataset_group_combo1_fkey
ihm_dataset_group_link(structure_id,dataset_list_id)-->ihm_dataset_list(structure_id,id) ihm_dataset_group_link_dataset_list_id_fkey-->ihm_dataset_group_link_ihm_dataset_list_combo1_fkey
ihm_starting_model_details(structure_id,asym_id)-->struct_asym(structure_id,id) ihm_starting_model_details_asym_id_fkey-->ihm_starting_model_details_struct_asym_combo1_fkey
ihm_starting_model_details(structure_id,dataset_list_id)-->ihm_dataset_list(structure_id,id) ihm_starting_model_details_dataset_list_id_fkey-->ihm_starting_model_details_ihm_dataset_list_combo1_fkey
ihm_starting_model_details(entity_id,structure_id)-->entity(id,structure_id) ihm_starting_model_details_entity_id_fkey-->ihm_starting_model_details_entity_combo1_fkey
ihm_starting_model_details(structure_id,entity_poly_segment_id)-->ihm_entity_poly_segment(structure_id,id) ihm_starting_model_details_entity_poly_segment_id_fk-->ihm_starting_model_details_ihm_entity_poly_segment_combo1_fkey
ihm_struct_assembly_class_link(class_id,structure_id)-->ihm_struct_assembly_class(id,structure_id) ihm_struct_assembly_class_link_class_id_fkey-->ihm_struct_assembly_class_link_ihm_struct_assembly_class_combo1_fkey
ihm_struct_assembly_class_link(structure_id,assembly_id)-->ihm_struct_assembly(structure_id,id) ihm_struct_assembly_class_link_assembly_id_fkey-->ihm_struct_assembly_class_link_ihm_struct_assembly_combo1_fkey
ihm_localization_density_files(ensemble_id,structure_id)-->ihm_ensemble_info(ensemble_id,structure_id) ihm_localization_density_files_ensemble_id_fkey-->ihm_localization_density_files_ihm_ensemble_info_combo1_fkey
ihm_localization_density_files(structure_id,entity_poly_segment_id)-->ihm_entity_poly_segment(structure_id,id) ihm_localization_density_files_entity_poly_segment_id_fk-->ihm_localization_density_files_ihm_entity_poly_segment_combo1_fkey
ihm_localization_density_files(asym_id,structure_id)-->struct_asym(id,structure_id) ihm_localization_density_files_asym_id_fk-->ihm_localization_density_files_struct_asym_combo1_fkey
ihm_localization_density_files(structure_id,file_id)-->ihm_external_files(structure_id,id) ihm_localization_density_files_file_id_fkey-->ihm_localization_density_files_ihm_external_files_combo1_fkey
ihm_localization_density_files(structure_id,entity_id)-->entity(structure_id,id) ihm_localization_density_files_entity_id_fk-->ihm_localization_density_files_entity_combo1_fkey
ihm_dataset_external_reference(structure_id,dataset_list_id)-->ihm_dataset_list(structure_id,id) ihm_dataset_external_reference_dataset_list_id_fkey-->ihm_dataset_external_reference_ihm_dataset_list_combo1_fkey
ihm_dataset_external_reference(file_id,structure_id)-->ihm_external_files(id,structure_id) ihm_dataset_external_reference_file_id_fkey-->ihm_dataset_external_reference_ihm_external_files_combo1_fkey
ihm_cross_link_list(structure_id,dataset_list_id)-->ihm_dataset_list(structure_id,id) ihm_cross_link_list_dataset_list_id_fkey-->ihm_cross_link_list_ihm_dataset_list_combo1_fkey
ihm_cross_link_list(linker_chem_comp_descriptor_id,structure_id)-->ihm_chemical_component_descriptor(id,structure_id) ihm_cross_link_list_linker_chem_comp_descriptor_id_fk-->ihm_cross_link_list_ihm_chemical_component_descriptor_combo1_fkey
ihm_cross_link_list(seq_id_1,comp_id_1,entity_id_1,structure_id)-->entity_poly_seq(num,mon_id,entity_id,structure_id) ihm_cross_link_list_mm_poly_res_label_1_fkey-->ihm_cross_link_list_entity_poly_seq_combo1_fkey
ihm_cross_link_list(entity_id_2,comp_id_2,seq_id_2,structure_id)-->entity_poly_seq(entity_id,mon_id,num,structure_id) ihm_cross_link_list_mm_poly_res_label_2_fkey-->ihm_cross_link_list_entity_poly_seq_combo1_fkey
ihm_probe_list(structure_id,reactive_probe_chem_comp_descriptor_id)-->ihm_chemical_component_descriptor(structure_id,id) ihm_probe_list_reactive_probe_chem_comp_descriptor_id_fk-->ihm_probe_list_ihm_chemical_component_descriptor_combo1_fkey
ihm_probe_list(structure_id,probe_chem_comp_descriptor_id)-->ihm_chemical_component_descriptor(structure_id,id) ihm_probe_list_probe_chem_comp_descriptor_id_fk-->ihm_probe_list_ihm_chemical_component_descriptor_combo1_fkey
ihm_epr_restraint(structure_id,fitting_method_citation_id)-->citation(structure_id,id) ihm_epr_restraint_fitting_method_citation_id_fk-->ihm_epr_restraint_citation_combo1_fkey
ihm_epr_restraint(structure_id,dataset_list_id)-->ihm_dataset_list(structure_id,id) ihm_epr_restraint_dataset_list_id_fkey-->ihm_epr_restraint_ihm_dataset_list_combo1_fkey
ihm_epr_restraint(structure_id,model_id)-->ihm_model_list(structure_id,model_id) ihm_epr_restraint_model_id_fkey-->ihm_epr_restraint_ihm_model_list_combo1_fkey
ihm_epr_restraint(structure_id,fitting_software_id)-->software(structure_id,pdbx_ordinal) ihm_epr_restraint_fitting_software_id_fkey-->ihm_epr_restraint_software_combo1_fkey
ihm_2dem_class_average_fitting(structure_id,model_id)-->ihm_model_list(structure_id,model_id) ihm_2dem_class_average_fitting_model_id_fkey-->ihm_2dem_class_average_fitting_ihm_model_list_combo1_fkey
ihm_2dem_class_average_fitting(restraint_id,structure_id)-->ihm_2dem_class_average_restraint(id,structure_id) ihm_2dem_class_average_fitting_restraint_id_fkey-->ihm_2dem_class_average_fitting_ihm_2dem_class_average_restraint_combo1_fkey
ihm_poly_probe_conjugate(structure_id,dataset_list_id)-->ihm_dataset_list(structure_id,id) ihm_poly_probe_conjugate_dataset_list_id_fkey-->ihm_poly_probe_conjugate_ihm_dataset_list_combo1_fkey
ihm_poly_probe_conjugate(chem_comp_descriptor_id,structure_id)-->ihm_chemical_component_descriptor(id,structure_id) ihm_poly_probe_conjugate_chem_comp_descriptor_id_fk-->ihm_poly_probe_conjugate_ihm_chemical_component_descriptor_combo1_fkey
ihm_poly_probe_conjugate(structure_id,probe_id)-->ihm_probe_list(structure_id,probe_id) ihm_poly_probe_conjugate_probe_id_fkey-->ihm_poly_probe_conjugate_ihm_probe_list_combo1_fkey
ihm_poly_probe_conjugate(position_id,structure_id)-->ihm_poly_probe_position(id,structure_id) ihm_poly_probe_conjugate_position_id_fkey-->ihm_poly_probe_conjugate_ihm_poly_probe_position_combo1_fkey
ihm_model_list(protocol_id,structure_id)-->ihm_modeling_protocol(id,structure_id) ihm_model_list_protocol_id_fkey-->ihm_model_list_ihm_modeling_protocol_combo1_fkey
ihm_model_list(structure_id,assembly_id)-->ihm_struct_assembly(structure_id,id) ihm_model_list_assembly_id_fkey-->ihm_model_list_ihm_struct_assembly_combo1_fkey
ihm_model_list(structure_id,representation_id)-->ihm_model_representation(structure_id,id) ihm_model_list_representation_id_fkey-->ihm_model_list_ihm_model_representation_combo1_fkey
pdbx_entity_poly_na_type(structure_id,entity_id)-->entity(structure_id,id) pdbx_entity_poly_na_type_entity_id_fkey-->pdbx_entity_poly_na_type_entity_combo1_fkey
ihm_ordered_ensemble(structure_id,model_group_id_begin)-->ihm_model_group(structure_id,id) ihm_ordered_ensemble_model_group_id_begin_fkey-->ihm_ordered_ensemble_ihm_model_group_combo1_fkey
ihm_ordered_ensemble(structure_id,model_group_id_end)-->ihm_model_group(structure_id,id) ihm_ordered_ensemble_model_group_id_end_fkey-->ihm_ordered_ensemble_ihm_model_group_combo1_fkey
ihm_geometric_object_sphere(structure_id,transformation_id)-->ihm_geometric_object_transformation(structure_id,id) ihm_geometric_object_sphere_transformation_id_fk-->ihm_geometric_object_sphere_ihm_geometric_object_transformation_combo1_fkey
ihm_geometric_object_sphere(object_id,structure_id)-->ihm_geometric_object_list(object_id,structure_id) ihm_geometric_object_sphere_object_id_fkey-->ihm_geometric_object_sphere_ihm_geometric_object_list_combo1_fkey
ihm_geometric_object_sphere(structure_id,center_id)-->ihm_geometric_object_center(structure_id,id) ihm_geometric_object_sphere_center_id_fkey-->ihm_geometric_object_sphere_ihm_geometric_object_center_combo1_fkey
ihm_poly_residue_feature(structure_id,asym_id)-->struct_asym(structure_id,id) ihm_poly_residue_feature_asym_id_fk-->ihm_poly_residue_feature_struct_asym_combo1_fkey
ihm_poly_residue_feature(structure_id,entity_id,seq_id_begin,comp_id_begin)-->entity_poly_seq(structure_id,entity_id,num,mon_id) ihm_poly_residue_feature_mm_poly_res_label_begin_fkey-->ihm_poly_residue_feature_entity_poly_seq_combo1_fkey
ihm_poly_residue_feature(feature_id,structure_id)-->ihm_feature_list(feature_id,structure_id) ihm_poly_residue_feature_feature_id_fkey-->ihm_poly_residue_feature_ihm_feature_list_combo1_fkey
ihm_poly_residue_feature(structure_id,comp_id_end,entity_id,seq_id_end)-->entity_poly_seq(structure_id,mon_id,entity_id,num) ihm_poly_residue_feature_mm_poly_res_label_end_fkey-->ihm_poly_residue_feature_entity_poly_seq_combo1_fkey
ihm_related_datasets(structure_id,dataset_list_id_derived)-->ihm_dataset_list(structure_id,id) ihm_related_datasets_dataset_list_id_derived_fkey-->ihm_related_datasets_ihm_dataset_list_combo1_fkey
ihm_related_datasets(structure_id,dataset_list_id_primary)-->ihm_dataset_list(structure_id,id) ihm_related_datasets_dataset_list_id_primary_fkey-->ihm_related_datasets_ihm_dataset_list_combo1_fkey
ihm_interface_residue_feature(binding_partner_asym_id,structure_id)-->struct_asym(id,structure_id) ihm_interface_residue_feature_binding_partner_asym_id_fk-->ihm_interface_residue_feature_struct_asym_combo1_fkey
ihm_interface_residue_feature(structure_id,dataset_list_id)-->ihm_dataset_list(structure_id,id) ihm_interface_residue_feature_dataset_list_id_fkey-->ihm_interface_residue_feature_ihm_dataset_list_combo1_fkey
ihm_interface_residue_feature(structure_id,binding_partner_entity_id)-->entity(structure_id,id) ihm_interface_residue_feature_binding_partner_entity_id_fkey-->ihm_interface_residue_feature_entity_combo1_fkey
ihm_interface_residue_feature(structure_id,feature_id)-->ihm_feature_list(structure_id,feature_id) ihm_interface_residue_feature_feature_id_fkey-->ihm_interface_residue_feature_ihm_feature_list_combo1_fkey
ihm_geometric_object_plane(structure_id,object_id)-->ihm_geometric_object_list(structure_id,object_id) ihm_geometric_object_plane_object_id_fkey-->ihm_geometric_object_plane_ihm_geometric_object_list_combo1_fkey
ihm_geometric_object_plane(transformation_id,structure_id)-->ihm_geometric_object_transformation(id,structure_id) ihm_geometric_object_plane_transformation_id_fk-->ihm_geometric_object_plane_ihm_geometric_object_transformation_combo1_fkey
ihm_predicted_contact_restraint(entity_id_1,comp_id_1,structure_id,seq_id_1)-->entity_poly_seq(entity_id,mon_id,structure_id,num) ihm_predicted_contact_restraint_mm_poly_res_label_1_fkey-->ihm_predicted_contact_restraint_entity_poly_seq_combo1_fkey
ihm_predicted_contact_restraint(comp_id_2,seq_id_2,structure_id,entity_id_2)-->entity_poly_seq(mon_id,num,structure_id,entity_id) ihm_predicted_contact_restraint_mm_poly_res_label_2_fkey-->ihm_predicted_contact_restraint_entity_poly_seq_combo1_fkey
ihm_predicted_contact_restraint(asym_id_1,structure_id)-->struct_asym(id,structure_id) ihm_predicted_contact_restraint_asym_id_1_fkey-->ihm_predicted_contact_restraint_struct_asym_combo1_fkey
ihm_predicted_contact_restraint(structure_id,dataset_list_id)-->ihm_dataset_list(structure_id,id) ihm_predicted_contact_restraint_dataset_list_id_fkey-->ihm_predicted_contact_restraint_ihm_dataset_list_combo1_fkey
ihm_predicted_contact_restraint(asym_id_2,structure_id)-->struct_asym(id,structure_id) ihm_predicted_contact_restraint_asym_id_2_fkey-->ihm_predicted_contact_restraint_struct_asym_combo1_fkey
ihm_predicted_contact_restraint(structure_id,software_id)-->software(structure_id,pdbx_ordinal) ihm_predicted_contact_restraint_software_id_fk-->ihm_predicted_contact_restraint_software_combo1_fkey
ihm_3dem_restraint(structure_id,model_id)-->ihm_model_list(structure_id,model_id) ihm_3dem_restraint_model_id_fkey-->ihm_3dem_restraint_ihm_model_list_combo1_fkey
ihm_3dem_restraint(structure_id,fitting_method_citation_id)-->citation(structure_id,id) ihm_3dem_restraint_fitting_method_citation_id_fk-->ihm_3dem_restraint_citation_combo1_fkey
ihm_3dem_restraint(struct_assembly_id,structure_id)-->ihm_struct_assembly(id,structure_id) ihm_3dem_restraint_struct_assembly_id_fkey-->ihm_3dem_restraint_ihm_struct_assembly_combo1_fkey
ihm_3dem_restraint(structure_id,dataset_list_id)-->ihm_dataset_list(structure_id,id) ihm_3dem_restraint_dataset_list_id_fkey-->ihm_3dem_restraint_ihm_dataset_list_combo1_fkey
ihm_derived_distance_restraint(structure_id,dataset_list_id)-->ihm_dataset_list(structure_id,id) ihm_derived_distance_restraint_dataset_list_id_fkey-->ihm_derived_distance_restraint_ihm_dataset_list_combo1_fkey
ihm_derived_distance_restraint(structure_id,feature_id_1)-->ihm_feature_list(structure_id,feature_id) ihm_derived_distance_restraint_feature_id_1_fkey-->ihm_derived_distance_restraint_ihm_feature_list_combo1_fkey
ihm_derived_distance_restraint(structure_id,feature_id_2)-->ihm_feature_list(structure_id,feature_id) ihm_derived_distance_restraint_feature_id_2_fkey-->ihm_derived_distance_restraint_ihm_feature_list_combo1_fkey
ihm_sas_restraint(structure_id,model_id)-->ihm_model_list(structure_id,model_id) ihm_sas_restraint_model_id_fkey-->ihm_sas_restraint_ihm_model_list_combo1_fkey
ihm_sas_restraint(struct_assembly_id,structure_id)-->ihm_struct_assembly(id,structure_id) ihm_sas_restraint_struct_assembly_id_fkey-->ihm_sas_restraint_ihm_struct_assembly_combo1_fkey
ihm_sas_restraint(structure_id,dataset_list_id)-->ihm_dataset_list(structure_id,id) ihm_sas_restraint_dataset_list_id_fkey-->ihm_sas_restraint_ihm_dataset_list_combo1_fkey
ihm_hydroxyl_radical_fp_restraint(asym_id,structure_id)-->struct_asym(id,structure_id) ihm_hydroxyl_radical_fp_restraint_asym_id_fkey-->ihm_hydroxyl_radical_fp_restraint_struct_asym_combo1_fkey
ihm_hydroxyl_radical_fp_restraint(structure_id,software_id)-->software(structure_id,pdbx_ordinal) ihm_hydroxyl_radical_fp_restraint_software_id_fk-->ihm_hydroxyl_radical_fp_restraint_software_combo1_fkey
ihm_hydroxyl_radical_fp_restraint(entity_id,seq_id,comp_id,structure_id)-->entity_poly_seq(entity_id,num,mon_id,structure_id) ihm_hydroxyl_radical_fp_restraint_mm_poly_res_label_fkey-->ihm_hydroxyl_radical_fp_restraint_entity_poly_seq_combo1_fkey
ihm_hydroxyl_radical_fp_restraint(structure_id,dataset_list_id)-->ihm_dataset_list(structure_id,id) ihm_hydroxyl_radical_fp_restraint_dataset_list_id_fkey-->ihm_hydroxyl_radical_fp_restraint_ihm_dataset_list_combo1_fkey
ihm_geometric_object_distance_restraint(object_id,structure_id)-->ihm_geometric_object_list(object_id,structure_id) ihm_geometric_object_distance_restraint_object_id_fkey-->ihm_geometric_object_distance_restraint_ihm_geometric_object_list_combo1_fkey
ihm_geometric_object_distance_restraint(structure_id,feature_id)-->ihm_feature_list(structure_id,feature_id) ihm_geometric_object_distance_restraint_feature_id_fkey-->ihm_geometric_object_distance_restraint_ihm_feature_list_combo1_fkey
ihm_geometric_object_distance_restraint(structure_id,dataset_list_id)-->ihm_dataset_list(structure_id,id) ihm_geometric_object_distance_restraint_dataset_list_id_fkey-->ihm_geometric_object_distance_restraint_ihm_dataset_list_combo1_fkey
ihm_external_files(reference_id,structure_id)-->ihm_external_reference_info(reference_id,structure_id) ihm_external_files_reference_id_fkey-->ihm_external_files_ihm_external_reference_info_combo1_fkey
ihm_residues_not_modeled(entity_id,comp_id_end,seq_id_end,structure_id)-->entity_poly_seq(entity_id,mon_id,num,structure_id) ihm_residues_not_modeled_mm_poly_res_label_end_fkey-->ihm_residues_not_modeled_entity_poly_seq_combo1_fkey
ihm_residues_not_modeled(structure_id,model_id)-->ihm_model_list(structure_id,model_id) ihm_residues_not_modeled_model_id_fkey-->ihm_residues_not_modeled_ihm_model_list_combo1_fkey
ihm_residues_not_modeled(entity_id,structure_id,seq_id_begin,comp_id_begin)-->entity_poly_seq(entity_id,structure_id,num,mon_id) ihm_residues_not_modeled_mm_poly_res_label_begin_fkey-->ihm_residues_not_modeled_entity_poly_seq_combo1_fkey
ihm_residues_not_modeled(asym_id,structure_id)-->struct_asym(id,structure_id) ihm_residues_not_modeled_asym_id_fkey-->ihm_residues_not_modeled_struct_asym_combo1_fkey
ihm_ensemble_sub_sample(structure_id,ensemble_id)-->ihm_ensemble_info(structure_id,ensemble_id) ihm_ensemble_sub_sample_ensemble_id_fkey-->ihm_ensemble_sub_sample_ihm_ensemble_info_combo1_fkey
ihm_ensemble_sub_sample(model_group_id,structure_id)-->ihm_model_group(id,structure_id) ihm_ensemble_sub_sample_model_group_id_fkey-->ihm_ensemble_sub_sample_ihm_model_group_combo1_fkey
ihm_ensemble_sub_sample(structure_id,file_id)-->ihm_external_files(structure_id,id) ihm_ensemble_sub_sample_file_id_fkey-->ihm_ensemble_sub_sample_ihm_external_files_combo1_fkey

WITH combo2 (TOTAL: 2)

ihm_entity_poly_segment(comp_id_end,Entity_Poly_Seq_RID_End,structure_id,entity_id,seq_id_end)-->entity_poly_seq(mon_id,RID,structure_id,entity_id,num) ihm_entity_poly_segment_mm_poly_res_label_end_fkey-->ihm_entity_poly_segment_entity_poly_seq_combo2_fkey
ihm_entity_poly_segment(structure_id,Entity_Poly_Seq_RID_Begin,entity_id,seq_id_begin,comp_id_begin)-->entity_poly_seq(structure_id,RID,entity_id,num,mon_id) ihm_entity_poly_segment_mm_poly_res_label_begin_fkey-->ihm_entity_poly_segment_entity_poly_seq_combo2_fkey

WITH structure_id (TOTAL: 1)

Entry_Related_File(structure_id)-->entry(id) Entry_Related_File_entry_id_fkey-->Entry_Related_File_structure_id_fkey

WITH denorm (TOTAL: 24)

ihm_geometric_object_axis(transformation_id,Transformation_RID)-->ihm_geometric_object_transformation(id,RID) ihm_geometric_object_axis_transformation_id_fkey-->ihm_geometric_object_axis_ihm_geometric_object_transformation_denorm_fkey
ihm_geometric_object_torus(Transformation_RID,transformation_id)-->ihm_geometric_object_transformation(RID,id) ihm_geometric_object_torus_transformation_id_fkey-->ihm_geometric_object_torus_ihm_geometric_object_transformation_denorm_fkey
ihm_poly_probe_position(mut_res_chem_comp_id,Mut_res_chem_comp_RID)-->chem_comp(id,RID) ihm_poly_probe_position_mut_res_chem_comp_id_fkey-->ihm_poly_probe_position_chem_comp_denorm_fkey
ihm_poly_probe_position(mod_res_chem_comp_descriptor_id,Mod_res_chem_comp_descriptor_RID)-->ihm_chemical_component_descriptor(id,RID) ihm_poly_probe_position_mod_res_chem_comp_descriptor_id_fkey-->ihm_poly_probe_position_ihm_chemical_component_descriptor_denorm_fkey
ihm_modeling_post_process(dataset_group_id,Dataset_group_RID)-->ihm_dataset_group(id,RID) ihm_modeling_post_process_dataset_group_id_fkey-->ihm_modeling_post_process_ihm_dataset_group_denorm_fkey
ihm_modeling_post_process(struct_assembly_id,Struct_assembly_RID)-->ihm_struct_assembly(id,RID) ihm_modeling_post_process_struct_assembly_id_fkey-->ihm_modeling_post_process_ihm_struct_assembly_denorm_fkey
ihm_modeling_protocol_details(struct_assembly_id,Struct_assembly_RID)-->ihm_struct_assembly(id,RID) ihm_modeling_protocol_details_struct_assembly_id_fkey-->ihm_modeling_protocol_details_ihm_struct_assembly_denorm_fkey
ihm_modeling_protocol_details(Script_file_RID,script_file_id)-->ihm_external_files(RID,id) ihm_modeling_protocol_details_script_file_id_fkey-->ihm_modeling_protocol_details_ihm_external_files_denorm_fkey
ihm_modeling_protocol_details(dataset_group_id,Dataset_group_RID)-->ihm_dataset_group(id,RID) ihm_modeling_protocol_details_dataset_group_id_fkey-->ihm_modeling_protocol_details_ihm_dataset_group_denorm_fkey
ihm_struct_assembly_details(entity_poly_segment_id,Entity_poly_segment_RID)-->ihm_entity_poly_segment(id,RID) ihm_struct_assembly_details_entity_poly_segment_id_fkey-->ihm_struct_assembly_details_ihm_entity_poly_segment_denorm_fkey
ihm_model_representation_details(starting_model_id,Starting_model_RID)-->ihm_starting_model_details(starting_model_id,RID) ihm_model_representation_details_starting_model_id_fkey-->ihm_model_representation_details_ihm_starting_model_details_denorm_fkey
ihm_model_representation_details(Entity_poly_segment_RID,entity_poly_segment_id)-->ihm_entity_poly_segment(RID,id) ihm_model_representation_details_entity_poly_segment_id_fkey-->ihm_model_representation_details_ihm_entity_poly_segment_denorm_fkey
ihm_starting_comparative_models(alignment_file_id,Alignment_file_RID)-->ihm_external_files(id,RID) ihm_starting_comparative_models_alignment_file_id_fkey-->ihm_starting_comparative_models_ihm_external_files_denorm_fkey
ihm_starting_model_details(Entity_poly_segment_RID,entity_poly_segment_id)-->ihm_entity_poly_segment(RID,id) ihm_starting_model_details_entity_poly_segment_id_fkey-->ihm_starting_model_details_ihm_entity_poly_segment_denorm_fkey
ihm_localization_density_files(Entity_poly_segment_RID,entity_poly_segment_id)-->ihm_entity_poly_segment(RID,id) ihm_localization_density_files_entity_poly_segment_id_fkey-->ihm_localization_density_files_ihm_entity_poly_segment_denorm_fkey
ihm_cross_link_list(Linker_chem_comp_descriptor_RID,linker_chem_comp_descriptor_id)-->ihm_chemical_component_descriptor(RID,id) ihm_cross_link_list_linker_chem_comp_descriptor_id_fkey-->ihm_cross_link_list_ihm_chemical_component_descriptor_denorm_fkey
ihm_probe_list(probe_chem_comp_descriptor_id,Probe_chem_comp_descriptor_RID)-->ihm_chemical_component_descriptor(id,RID) ihm_probe_list_probe_chem_comp_descriptor_id_fkey-->ihm_probe_list_ihm_chemical_component_descriptor_denorm_fkey
ihm_probe_list(reactive_probe_chem_comp_descriptor_id,Reactive_probe_chem_comp_descriptor_RID)-->ihm_chemical_component_descriptor(id,RID) ihm_probe_list_reactive_probe_chem_comp_descriptor_id_fkey-->ihm_probe_list_ihm_chemical_component_descriptor_denorm_fkey
ihm_epr_restraint(Fitting_method_citation_RID,fitting_method_citation_id)-->citation(RID,id) ihm_epr_restraint_fitting_method_citation_id_fkey-->ihm_epr_restraint_citation_denorm_fkey
ihm_poly_probe_conjugate(chem_comp_descriptor_id,Chem_comp_descriptor_RID)-->ihm_chemical_component_descriptor(id,RID) ihm_poly_probe_conjugate_chem_comp_descriptor_id_fkey-->ihm_poly_probe_conjugate_ihm_chemical_component_descriptor_denorm_fkey
ihm_geometric_object_sphere(Transformation_RID,transformation_id)-->ihm_geometric_object_transformation(RID,id) ihm_geometric_object_sphere_transformation_id_fkey-->ihm_geometric_object_sphere_ihm_geometric_object_transformation_denorm_fkey
ihm_interface_residue_feature(Binding_partner_asym_RID,binding_partner_asym_id)-->struct_asym(RID,id) ihm_interface_residue_feature_binding_partner_asym_id_fkey-->ihm_interface_residue_feature_struct_asym_denorm_fkey
ihm_geometric_object_plane(transformation_id,Transformation_RID)-->ihm_geometric_object_transformation(id,RID) ihm_geometric_object_plane_transformation_id_fkey-->ihm_geometric_object_plane_ihm_geometric_object_transformation_denorm_fkey
ihm_3dem_restraint(fitting_method_citation_id,Fitting_method_citation_RID)-->citation(id,RID) ihm_3dem_restraint_fitting_method_citation_id_fkey-->ihm_3dem_restraint_citation_denorm_fkey

No keyword (TOTAL: 26)

Entry_Related_File(Process_Status)-->process_status(Name) Entry_Related_File_process_status_fkey-->Entry_Related_File_Process_Status_fkey
Entry_Related_File(Workflow_Status)-->workflow_status(Name) Entry_Related_File_workflow_status_fkey-->Entry_Related_File_Workflow_Status_fkey
software(citation_id,Citation_RID)-->citation(id,RID) software_citation_id_fkey-->software_citation_id,Citation_RID_fkey
entry(Process_Status)-->process_status(Name) entry_process_status_fkey-->entry_Process_Status_fkey
entry(Workflow_Status)-->workflow_status(Name) entry_workflow_status_fkey-->entry_Workflow_Status_fkey
ihm_non_poly_feature(Asym_RID,asym_id)-->struct_asym(RID,id) ihm_non_poly_feature_asym_id_fkey-->ihm_non_poly_feature_Asym_RID,asym_id_fkey
ihm_poly_atom_feature(Asym_RID,asym_id)-->struct_asym(RID,id) ihm_poly_atom_feature_asym_id_fkey-->ihm_poly_atom_feature_Asym_RID,asym_id_fkey
ihm_modeling_post_process(Software_RID,software_id)-->software(RID,pdbx_ordinal) ihm_modeling_post_process_software_id_fkey-->ihm_modeling_post_process_Software_RID,software_id_fkey
ihm_modeling_post_process(Script_file_RID,script_file_id)-->ihm_external_files(RID,id) ihm_modeling_post_process_script_file_id_fkey-->ihm_modeling_post_process_Script_file_RID,script_file_id_fkey
ihm_modeling_protocol_details(software_id,Software_RID)-->software(pdbx_ordinal,RID) ihm_modeling_protocol_details_software_id_fkey-->ihm_modeling_protocol_details_software_id,Software_RID_fkey
ihm_ensemble_info(Ensemble_file_RID,ensemble_file_id)-->ihm_external_files(RID,id) ihm_ensemble_info_ensemble_file_id_fkey-->ihm_ensemble_info_Ensemble_file_RID,ensemble_file_id_fkey
ihm_ensemble_info(Post_process_RID,post_process_id)-->ihm_modeling_post_process(RID,id) ihm_ensemble_info_post_process_id_fkey-->ihm_ensemble_info_Post_process_RID,post_process_id_fkey
ihm_ensemble_info(model_group_id,Model_group_RID)-->ihm_model_group(id,RID) ihm_ensemble_info_model_group_id_fkey-->ihm_ensemble_info_model_group_id,Model_group_RID_fkey
ihm_model_representation_details(model_object_primitive)-->model_representation_details_model_object_primitive(Name) model_representation_details_model_object_primitive_fkey-->ihm_model_representation_details_model_object_primitive_fkey
pdbx_entity_nonpoly(comp_id,Comp_RID)-->chem_comp(id,RID) pdbx_entity_nonpoly_comp_id_fkey-->pdbx_entity_nonpoly_comp_id,Comp_RID_fkey
ihm_starting_comparative_models(template_sequence_identity_denominator)-->starting_comparative_models_template_sequence_id_denom(Name) starting_comparative_models_template_sequence_id_denom_fkey-->ihm_starting_comparative_models_template_sequence_identity_denominator_fkey
ihm_localization_density_files(Asym_RID,asym_id)-->struct_asym(RID,id) ihm_localization_density_files_asym_id_fkey-->ihm_localization_density_files_Asym_RID,asym_id_fkey
ihm_localization_density_files(Entity_RID,entity_id)-->entity(RID,id) ihm_localization_density_files_entity_id_fkey-->ihm_localization_density_files_Entity_RID,entity_id_fkey
ihm_poly_residue_feature(Asym_RID,asym_id)-->struct_asym(RID,id) ihm_poly_residue_feature_asym_id_fkey-->ihm_poly_residue_feature_Asym_RID,asym_id_fkey
ihm_predicted_contact_restraint(Software_RID,software_id)-->software(RID,pdbx_ordinal) ihm_predicted_contact_restraint_software_id_fkey-->ihm_predicted_contact_restraint_Software_RID,software_id_fkey
ihm_hydroxyl_radical_fp_restraint(Software_RID,software_id)-->software(RID,pdbx_ordinal) ihm_hydroxyl_radical_fp_restraint_software_id_fkey-->ihm_hydroxyl_radical_fp_restraint_Software_RID,software_id_fkey
ihm_geometric_object_distance_restraint(object_characteristic)-->geometric_object_distance_restraint_object_character(Name) geometric_object_distance_restraint_object_character_fkey-->ihm_geometric_object_distance_restraint_object_characteristic_fkey
ihm_geometric_object_distance_restraint(group_conditionality)-->geometric_object_distance_restraint_group_condition(Name) geometric_object_distance_restraint_group_condition_fkey-->ihm_geometric_object_distance_restraint_group_conditionality_fkey
ihm_geometric_object_distance_restraint(Entry_Related_File)-->Entry_Related_File(RID) geometric_object_distance_restraint_Entry_Related_File_fkey-->ihm_geometric_object_distance_restraint_Entry_Related_File_fkey
Entry_Related_File_Templates(File_Type)-->File_Type(Name) Entry_Template_File_File_Type_fkey-->Entry_Related_File_Templates_File_Type_fkey
Entry_Related_File_Templates(Owner)-->Catalog_Group(ID) Entry_Template_File_Owner_fkey-->Entry_Related_File_Templates_Owner_fkey

TOO LONG NAMES (TOTAL: 42)

ihm_geometric_object_axis_transformation_id_fk --> ihm_geometric_object_axis_ihm_geometric_object_transformation_combo1_fkey
ihm_geometric_object_axis_transformation_id_fkey --> ihm_geometric_object_axis_ihm_geometric_object_transformation_denorm_fkey
ihm_geometric_object_half_torus_object_id_fkey --> ihm_geometric_object_half_torus_ihm_geometric_object_torus_combo1_fkey
ihm_geometric_object_torus_transformation_id_fk --> ihm_geometric_object_torus_ihm_geometric_object_transformation_combo1_fkey
ihm_geometric_object_torus_transformation_id_fkey --> ihm_geometric_object_torus_ihm_geometric_object_transformation_denorm_fkey
ihm_geometric_object_torus_object_id_fkey --> ihm_geometric_object_torus_ihm_geometric_object_list_combo1_fkey
ihm_geometric_object_torus_center_id_fkey --> ihm_geometric_object_torus_ihm_geometric_object_center_combo1_fkey
ihm_cross_link_result_parameters_restraint_id_fkey --> ihm_cross_link_result_parameters_ihm_cross_link_restraint_combo1_fkey
ihm_poly_probe_position_mod_res_chem_comp_descriptor_id_fkey --> ihm_poly_probe_position_ihm_chemical_component_descriptor_denorm_fkey
ihm_poly_probe_position_mod_res_chem_comp_descriptor_id_fk --> ihm_poly_probe_position_ihm_chemical_component_descriptor_combo1_fkey
ihm_multi_state_model_group_link_state_id_fkey --> ihm_multi_state_model_group_link_ihm_multi_state_modeling_combo1_fkey
ihm_2dem_class_average_restraint_struct_assembly_id_fkey --> ihm_2dem_class_average_restraint_ihm_struct_assembly_combo1_fkey
ihm_model_representation_details_starting_model_id_fk --> ihm_model_representation_details_ihm_starting_model_details_combo1_fkey
ihm_model_representation_details_entity_poly_segment_id_fk --> ihm_model_representation_details_ihm_entity_poly_segment_combo1_fkey
ihm_model_representation_details_representation_id_fkey --> ihm_model_representation_details_ihm_model_representation_combo1_fkey
ihm_model_representation_details_starting_model_id_fkey --> ihm_model_representation_details_ihm_starting_model_details_denorm_fkey
ihm_model_representation_details_entity_poly_segment_id_fkey --> ihm_model_representation_details_ihm_entity_poly_segment_denorm_fkey
ihm_starting_model_seq_dif_starting_model_id_fkey --> ihm_starting_model_seq_dif_ihm_starting_model_details_combo1_fkey
ihm_starting_computational_models_script_file_id_fkey --> ihm_starting_computational_models_ihm_external_files_combo1_fkey
ihm_starting_computational_models_starting_model_id_fkey --> ihm_starting_computational_models_ihm_starting_model_details_combo1_fkey
ihm_starting_comparative_models_starting_model_id_fkey --> ihm_starting_comparative_models_ihm_starting_model_details_combo1_fkey
starting_comparative_models_template_sequence_id_denom_fkey --> ihm_starting_comparative_models_template_sequence_identity_denominator_fkey
ihm_struct_assembly_class_link_class_id_fkey --> ihm_struct_assembly_class_link_ihm_struct_assembly_class_combo1_fkey
ihm_localization_density_files_entity_poly_segment_id_fk --> ihm_localization_density_files_ihm_entity_poly_segment_combo1_fkey
ihm_localization_density_files_entity_poly_segment_id_fkey --> ihm_localization_density_files_ihm_entity_poly_segment_denorm_fkey
ihm_cross_link_list_linker_chem_comp_descriptor_id_fk --> ihm_cross_link_list_ihm_chemical_component_descriptor_combo1_fkey
ihm_cross_link_list_linker_chem_comp_descriptor_id_fkey --> ihm_cross_link_list_ihm_chemical_component_descriptor_denorm_fkey
ihm_2dem_class_average_fitting_restraint_id_fkey --> ihm_2dem_class_average_fitting_ihm_2dem_class_average_restraint_combo1_fkey
ihm_poly_probe_conjugate_chem_comp_descriptor_id_fk --> ihm_poly_probe_conjugate_ihm_chemical_component_descriptor_combo1_fkey
ihm_poly_probe_conjugate_chem_comp_descriptor_id_fkey --> ihm_poly_probe_conjugate_ihm_chemical_component_descriptor_denorm_fkey
ihm_geometric_object_sphere_transformation_id_fk --> ihm_geometric_object_sphere_ihm_geometric_object_transformation_combo1_fkey
ihm_geometric_object_sphere_object_id_fkey --> ihm_geometric_object_sphere_ihm_geometric_object_list_combo1_fkey
ihm_geometric_object_sphere_transformation_id_fkey --> ihm_geometric_object_sphere_ihm_geometric_object_transformation_denorm_fkey
ihm_geometric_object_sphere_center_id_fkey --> ihm_geometric_object_sphere_ihm_geometric_object_center_combo1_fkey
ihm_geometric_object_plane_transformation_id_fkey --> ihm_geometric_object_plane_ihm_geometric_object_transformation_denorm_fkey
ihm_geometric_object_plane_object_id_fkey --> ihm_geometric_object_plane_ihm_geometric_object_list_combo1_fkey
ihm_geometric_object_plane_transformation_id_fk --> ihm_geometric_object_plane_ihm_geometric_object_transformation_combo1_fkey
geometric_object_distance_restraint_object_character_fkey --> ihm_geometric_object_distance_restraint_object_characteristic_fkey
geometric_object_distance_restraint_group_condition_fkey --> ihm_geometric_object_distance_restraint_group_conditionality_fkey
ihm_geometric_object_distance_restraint_object_id_fkey --> ihm_geometric_object_distance_restraint_ihm_geometric_object_list_combo1_fkey
ihm_geometric_object_distance_restraint_feature_id_fkey --> ihm_geometric_object_distance_restraint_ihm_feature_list_combo1_fkey
ihm_geometric_object_distance_restraint_dataset_list_id_fkey --> ihm_geometric_object_distance_restraint_ihm_dataset_list_combo1_fkey
svoinea commented 3 years ago

FOREIGN KEY COLLISIONS TO BE FIXED (TOTAL: 14)

Duplicate combo2 fk: ihm_entity_poly_segment_entity_poly_seq_combo2_fkey

ihm_entity_poly_segment_mm_poly_res_label_begin_fkey: ihm_entity_poly_segment(seq_id_begin,comp_id_begin,structure_id,Entity_Poly_Seq_RID_Begin,entity_id)-->entity_poly_seq(num,mon_id,structure_id,RID,entity_id)
ihm_entity_poly_segment_mm_poly_res_label_end_fkey, ihm_entity_poly_segment(comp_id_end,seq_id_end,structure_id,Entity_Poly_Seq_RID_End,entity_id)-->entity_poly_seq(mon_id,num,structure_id,RID,entity_id)

Duplicate combo1 fk: ihm_cross_link_restraint_entity_poly_seq_combo1_fkey

ihm_cross_link_restraint_mm_poly_res_label_2_fkey: ihm_cross_link_restraint(structure_id,entity_id_2,seq_id_2,comp_id_2)-->entity_poly_seq(structure_id,entity_id,num,mon_id)
ihm_cross_link_restraint_mm_poly_res_label_1_fkey: ihm_cross_link_restraint(structure_id,comp_id_1,seq_id_1,entity_id_1)-->entity_poly_seq(structure_id,mon_id,num,entity_id)

Duplicate combo1 fk: ihm_cross_link_restraint_struct_asym_combo1_fkey

ihm_cross_link_restraint_asym_id_2_fkey: ihm_cross_link_restraint(structure_id,asym_id_2)-->struct_asym(structure_id,id)
ihm_cross_link_restraint_asym_id_1_fkey: ihm_cross_link_restraint(structure_id,asym_id_1)-->struct_asym(structure_id,id)

Duplicate combo1 fk: ihm_struct_assembly_details_ihm_struct_assembly_combo1_fkey

ihm_struct_assembly_details_assembly_id_fkey: ihm_struct_assembly_details(assembly_id,structure_id)-->ihm_struct_assembly(id,structure_id)
ihm_struct_assembly_details_parent_assembly_id_fkey: ihm_struct_assembly_details(parent_assembly_id,structure_id)-->ihm_struct_assembly(id,structure_id)

Duplicate combo1 fk: ihm_cross_link_list_entity_poly_seq_combo1_fkey

ihm_cross_link_list_mm_poly_res_label_2_fkey: ihm_cross_link_list(structure_id,entity_id_2,seq_id_2,comp_id_2)-->entity_poly_seq(structure_id,entity_id,num,mon_id)
ihm_cross_link_list_mm_poly_res_label_1_fkey: ihm_cross_link_list(seq_id_1,structure_id,comp_id_1,entity_id_1)-->entity_poly_seq(num,structure_id,mon_id,entity_id)

Duplicate combo1 fk: ihm_probe_list_ihm_chemical_component_descriptor_combo1_fkey

ihm_probe_list_probe_chem_comp_descriptor_id_fk: ihm_probe_list(structure_id,probe_chem_comp_descriptor_id)-->ihm_chemical_component_descriptor(structure_id,id)
ihm_probe_list_reactive_probe_chem_comp_descriptor_id_fk: ihm_probe_list(structure_id,reactive_probe_chem_comp_descriptor_id)-->ihm_chemical_component_descriptor(structure_id,id)

Duplicate denorm fk: ihm_probe_list_ihm_chemical_component_descriptor_denorm_fkey

ihm_probe_list_reactive_probe_chem_comp_descriptor_id_fkey: ihm_probe_list(reactive_probe_chem_comp_descriptor_id,Reactive_probe_chem_comp_descriptor_RID)-->ihm_chemical_component_descriptor(id,RID)
ihm_probe_list_probe_chem_comp_descriptor_id_fkey: ihm_probe_list(Probe_chem_comp_descriptor_RID,probe_chem_comp_descriptor_id)-->ihm_chemical_component_descriptor(RID,id)

Duplicate combo1 fk: ihm_ordered_ensemble_ihm_model_group_combo1_fkey

ihm_ordered_ensemble_model_group_id_end_fkey: ihm_ordered_ensemble(structure_id,model_group_id_end)-->ihm_model_group(structure_id,id)
ihm_ordered_ensemble_model_group_id_begin_fkey: ihm_ordered_ensemble(structure_id,model_group_id_begin)-->ihm_model_group(structure_id,id)

Duplicate combo1 fk: ihm_poly_residue_feature_entity_poly_seq_combo1_fkey

ihm_poly_residue_feature_mm_poly_res_label_end_fkey: ihm_poly_residue_feature(seq_id_end,comp_id_end,structure_id,entity_id)-->entity_poly_seq(num,mon_id,structure_id,entity_id)
ihm_poly_residue_feature_mm_poly_res_label_begin_fkey: ihm_poly_residue_feature(comp_id_begin,seq_id_begin,structure_id,entity_id)-->entity_poly_seq(mon_id,num,structure_id,entity_id)

Duplicate combo1 fk: ihm_related_datasets_ihm_dataset_list_combo1_fkey

ihm_related_datasets_dataset_list_id_primary_fkey: ihm_related_datasets(dataset_list_id_primary,structure_id)-->ihm_dataset_list(id,structure_id)
ihm_related_datasets_dataset_list_id_derived_fkey: ihm_related_datasets(structure_id,dataset_list_id_derived)-->ihm_dataset_list(structure_id,id)

Duplicate combo1 fk: ihm_predicted_contact_restraint_entity_poly_seq_combo1_fkey

ihm_predicted_contact_restraint_mm_poly_res_label_2_fkey: ihm_predicted_contact_restraint(seq_id_2,comp_id_2,entity_id_2,structure_id)-->entity_poly_seq(num,mon_id,entity_id,structure_id)
ihm_predicted_contact_restraint_mm_poly_res_label_1_fkey: ihm_predicted_contact_restraint(comp_id_1,seq_id_1,structure_id,entity_id_1)-->entity_poly_seq(mon_id,num,structure_id,entity_id)

Duplicate combo1 fk: ihm_predicted_contact_restraint_struct_asym_combo1_fkey

ihm_predicted_contact_restraint_asym_id_2_fkey: ihm_predicted_contact_restraint(asym_id_2,structure_id)-->struct_asym(id,structure_id)
ihm_predicted_contact_restraint_asym_id_1_fkey: ihm_predicted_contact_restraint(structure_id,asym_id_1)-->struct_asym(structure_id,id)

Duplicate combo1 fk: ihm_derived_distance_restraint_ihm_feature_list_combo1_fkey

ihm_derived_distance_restraint_feature_id_2_fkey: ihm_derived_distance_restraint(feature_id_2,structure_id)-->ihm_feature_list(feature_id,structure_id)
ihm_derived_distance_restraint_feature_id_1_fkey: ihm_derived_distance_restraint(structure_id,feature_id_1)-->ihm_feature_list(structure_id,feature_id)

Duplicate combo1 fk: ihm_residues_not_modeled_entity_poly_seq_combo1_fkey

ihm_residues_not_modeled_mm_poly_res_label_begin_fkey: ihm_residues_not_modeled(comp_id_begin,structure_id,seq_id_begin,entity_id)-->entity_poly_seq(mon_id,structure_id,num,entity_id)
ihm_residues_not_modeled_mm_poly_res_label_end_fkey: ihm_residues_not_modeled(entity_id,structure_id,seq_id_end,comp_id_end)-->entity_poly_seq(entity_id,structure_id,num,mon_id)
svoinea commented 3 years ago

PRIMARY KEY COLLISIONS TO BE FIXED (TOTAL: 1)

Duplicate combo1 pk: entity_poly_seq_combo1_key

entity_poly_seq_combo1_key: entity_poly_seq(mon_id,num,structure_id,entity_id,RID)
entity_poly_seq_RID_structure_id_key: entity_poly_seq(RID,structure_id)
svoinea commented 3 years ago

FOREIGN KEYS WITH TOO LONG NAMES (TOTAL 42)

ihm_geometric_object_axis_ihm_geometric_object_transformation_combo1_fkey: 73

Child_Table: ihm_geometric_object_axis, 25
Parent_Table: ihm_geometric_object_transformation, 35
Columns: (transformation_id,structure_id)-->(id,structure_id)
Current FK constraint name: ihm_geometric_object_axis_transformation_id_fk, 46

ihm_geometric_object_axis_ihm_geometric_object_transformation_denorm_fkey: 73

Child_Table: ihm_geometric_object_axis, 25
Parent_Table: ihm_geometric_object_transformation, 35
Columns: (transformation_id,Transformation_RID)-->(id,RID)
Current FK constraint name: ihm_geometric_object_axis_transformation_id_fkey, 48

ihm_geometric_object_half_torus_ihm_geometric_object_torus_combo1_fkey: 70

Child_Table: ihm_geometric_object_half_torus, 31
Parent_Table: ihm_geometric_object_torus, 26
Columns: (structure_id,object_id)-->(structure_id,object_id)
Current FK constraint name: ihm_geometric_object_half_torus_object_id_fkey, 46

ihm_geometric_object_torus_ihm_geometric_object_transformation_combo1_fkey: 74

Child_Table: ihm_geometric_object_torus, 26
Parent_Table: ihm_geometric_object_transformation, 35
Columns: (structure_id,transformation_id)-->(structure_id,id)
Current FK constraint name: ihm_geometric_object_torus_transformation_id_fk, 47

ihm_geometric_object_torus_ihm_geometric_object_transformation_denorm_fkey: 74

Child_Table: ihm_geometric_object_torus, 26
Parent_Table: ihm_geometric_object_transformation, 35
Columns: (Transformation_RID,transformation_id)-->(RID,id)
Current FK constraint name: ihm_geometric_object_torus_transformation_id_fkey, 49

ihm_geometric_object_torus_ihm_geometric_object_list_combo1_fkey: 64

Child_Table: ihm_geometric_object_torus, 26
Parent_Table: ihm_geometric_object_list, 25
Columns: (structure_id,object_id)-->(structure_id,object_id)
Current FK constraint name: ihm_geometric_object_torus_object_id_fkey, 41

ihm_geometric_object_torus_ihm_geometric_object_center_combo1_fkey: 66

Child_Table: ihm_geometric_object_torus, 26
Parent_Table: ihm_geometric_object_center, 27
Columns: (structure_id,center_id)-->(structure_id,id)
Current FK constraint name: ihm_geometric_object_torus_center_id_fkey, 41

ihm_cross_link_result_parameters_ihm_cross_link_restraint_combo1_fkey: 69

Child_Table: ihm_cross_link_result_parameters, 32
Parent_Table: ihm_cross_link_restraint, 24
Columns: (restraint_id,structure_id)-->(id,structure_id)
Current FK constraint name: ihm_cross_link_result_parameters_restraint_id_fkey, 50

ihm_poly_probe_position_ihm_chemical_component_descriptor_denorm_fkey: 69

Child_Table: ihm_poly_probe_position, 23
Parent_Table: ihm_chemical_component_descriptor, 33
Columns: (Mod_res_chem_comp_descriptor_RID,mod_res_chem_comp_descriptor_id)-->(RID,id)
Current FK constraint name: ihm_poly_probe_position_mod_res_chem_comp_descriptor_id_fkey, 60

ihm_poly_probe_position_ihm_chemical_component_descriptor_combo1_fkey: 69

Child_Table: ihm_poly_probe_position, 23
Parent_Table: ihm_chemical_component_descriptor, 33
Columns: (structure_id,mod_res_chem_comp_descriptor_id)-->(structure_id,id)
Current FK constraint name: ihm_poly_probe_position_mod_res_chem_comp_descriptor_id_fk, 58

ihm_multi_state_model_group_link_ihm_multi_state_modeling_combo1_fkey: 69

Child_Table: ihm_multi_state_model_group_link, 32
Parent_Table: ihm_multi_state_modeling, 24
Columns: (structure_id,state_id)-->(structure_id,state_id)
Current FK constraint name: ihm_multi_state_model_group_link_state_id_fkey, 46

ihm_2dem_class_average_restraint_ihm_struct_assembly_combo1_fkey: 64

Child_Table: ihm_2dem_class_average_restraint, 32
Parent_Table: ihm_struct_assembly, 19
Columns: (struct_assembly_id,structure_id)-->(id,structure_id)
Current FK constraint name: ihm_2dem_class_average_restraint_struct_assembly_id_fkey, 56

ihm_model_representation_details_ihm_starting_model_details_combo1_fkey: 71

Child_Table: ihm_model_representation_details, 32
Parent_Table: ihm_starting_model_details, 26
Columns: (starting_model_id,structure_id)-->(starting_model_id,structure_id)
Current FK constraint name: ihm_model_representation_details_starting_model_id_fk, 53

ihm_model_representation_details_ihm_entity_poly_segment_combo1_fkey: 68

Child_Table: ihm_model_representation_details, 32
Parent_Table: ihm_entity_poly_segment, 23
Columns: (structure_id,entity_poly_segment_id)-->(structure_id,id)
Current FK constraint name: ihm_model_representation_details_entity_poly_segment_id_fk, 58

ihm_model_representation_details_ihm_model_representation_combo1_fkey: 69

Child_Table: ihm_model_representation_details, 32
Parent_Table: ihm_model_representation, 24
Columns: (structure_id,representation_id)-->(structure_id,id)
Current FK constraint name: ihm_model_representation_details_representation_id_fkey, 55

ihm_model_representation_details_ihm_starting_model_details_denorm_fkey: 71

Child_Table: ihm_model_representation_details, 32
Parent_Table: ihm_starting_model_details, 26
Columns: (starting_model_id,Starting_model_RID)-->(starting_model_id,RID)
Current FK constraint name: ihm_model_representation_details_starting_model_id_fkey, 55

ihm_model_representation_details_ihm_entity_poly_segment_denorm_fkey: 68

Child_Table: ihm_model_representation_details, 32
Parent_Table: ihm_entity_poly_segment, 23
Columns: (entity_poly_segment_id,Entity_poly_segment_RID)-->(id,RID)
Current FK constraint name: ihm_model_representation_details_entity_poly_segment_id_fkey, 60

ihm_starting_model_seq_dif_ihm_starting_model_details_combo1_fkey: 65

Child_Table: ihm_starting_model_seq_dif, 26
Parent_Table: ihm_starting_model_details, 26
Columns: (starting_model_id,structure_id)-->(starting_model_id,structure_id)
Current FK constraint name: ihm_starting_model_seq_dif_starting_model_id_fkey, 49

ihm_starting_computational_models_ihm_external_files_combo1_fkey: 64

Child_Table: ihm_starting_computational_models, 33
Parent_Table: ihm_external_files, 18
Columns: (structure_id,script_file_id)-->(structure_id,id)
Current FK constraint name: ihm_starting_computational_models_script_file_id_fkey, 53

ihm_starting_computational_models_ihm_starting_model_details_combo1_fkey: 72

Child_Table: ihm_starting_computational_models, 33
Parent_Table: ihm_starting_model_details, 26
Columns: (structure_id,starting_model_id)-->(structure_id,starting_model_id)
Current FK constraint name: ihm_starting_computational_models_starting_model_id_fkey, 56

ihm_starting_comparative_models_ihm_starting_model_details_combo1_fkey: 70

Child_Table: ihm_starting_comparative_models, 31
Parent_Table: ihm_starting_model_details, 26
Columns: (structure_id,starting_model_id)-->(structure_id,starting_model_id)
Current FK constraint name: ihm_starting_comparative_models_starting_model_id_fkey, 54

ihm_starting_comparative_models_template_sequence_identity_denominator_fkey: 75

Child_Table: ihm_starting_comparative_models, 31
Parent_Table: starting_comparative_models_template_sequence_id_denom, 54
Columns: (template_sequence_identity_denominator)-->(Name)
Current FK constraint name: starting_comparative_models_template_sequence_id_denom_fkey, 59

ihm_struct_assembly_class_link_ihm_struct_assembly_class_combo1_fkey: 68

Child_Table: ihm_struct_assembly_class_link, 30
Parent_Table: ihm_struct_assembly_class, 25
Columns: (class_id,structure_id)-->(id,structure_id)
Current FK constraint name: ihm_struct_assembly_class_link_class_id_fkey, 44

ihm_localization_density_files_ihm_entity_poly_segment_combo1_fkey: 66

Child_Table: ihm_localization_density_files, 30
Parent_Table: ihm_entity_poly_segment, 23
Columns: (entity_poly_segment_id,structure_id)-->(id,structure_id)
Current FK constraint name: ihm_localization_density_files_entity_poly_segment_id_fk, 56

ihm_localization_density_files_ihm_entity_poly_segment_denorm_fkey: 66

Child_Table: ihm_localization_density_files, 30
Parent_Table: ihm_entity_poly_segment, 23
Columns: (entity_poly_segment_id,Entity_poly_segment_RID)-->(id,RID)
Current FK constraint name: ihm_localization_density_files_entity_poly_segment_id_fkey, 58

ihm_cross_link_list_ihm_chemical_component_descriptor_combo1_fkey: 65

Child_Table: ihm_cross_link_list, 19
Parent_Table: ihm_chemical_component_descriptor, 33
Columns: (linker_chem_comp_descriptor_id,structure_id)-->(id,structure_id)
Current FK constraint name: ihm_cross_link_list_linker_chem_comp_descriptor_id_fk, 53

ihm_cross_link_list_ihm_chemical_component_descriptor_denorm_fkey: 65

Child_Table: ihm_cross_link_list, 19
Parent_Table: ihm_chemical_component_descriptor, 33
Columns: (Linker_chem_comp_descriptor_RID,linker_chem_comp_descriptor_id)-->(RID,id)
Current FK constraint name: ihm_cross_link_list_linker_chem_comp_descriptor_id_fkey, 55

ihm_2dem_class_average_fitting_ihm_2dem_class_average_restraint_combo1_fkey: 75

Child_Table: ihm_2dem_class_average_fitting, 30
Parent_Table: ihm_2dem_class_average_restraint, 32
Columns: (structure_id,restraint_id)-->(structure_id,id)
Current FK constraint name: ihm_2dem_class_average_fitting_restraint_id_fkey, 48

ihm_poly_probe_conjugate_ihm_chemical_component_descriptor_combo1_fkey: 70

Child_Table: ihm_poly_probe_conjugate, 24
Parent_Table: ihm_chemical_component_descriptor, 33
Columns: (structure_id,chem_comp_descriptor_id)-->(structure_id,id)
Current FK constraint name: ihm_poly_probe_conjugate_chem_comp_descriptor_id_fk, 51

ihm_poly_probe_conjugate_ihm_chemical_component_descriptor_denorm_fkey: 70

Child_Table: ihm_poly_probe_conjugate, 24
Parent_Table: ihm_chemical_component_descriptor, 33
Columns: (Chem_comp_descriptor_RID,chem_comp_descriptor_id)-->(RID,id)
Current FK constraint name: ihm_poly_probe_conjugate_chem_comp_descriptor_id_fkey, 53

ihm_geometric_object_sphere_ihm_geometric_object_transformation_combo1_fkey: 75

Child_Table: ihm_geometric_object_sphere, 27
Parent_Table: ihm_geometric_object_transformation, 35
Columns: (structure_id,transformation_id)-->(structure_id,id)
Current FK constraint name: ihm_geometric_object_sphere_transformation_id_fk, 48

ihm_geometric_object_sphere_ihm_geometric_object_list_combo1_fkey: 65

Child_Table: ihm_geometric_object_sphere, 27
Parent_Table: ihm_geometric_object_list, 25
Columns: (structure_id,object_id)-->(structure_id,object_id)
Current FK constraint name: ihm_geometric_object_sphere_object_id_fkey, 42

ihm_geometric_object_sphere_ihm_geometric_object_transformation_denorm_fkey: 75

Child_Table: ihm_geometric_object_sphere, 27
Parent_Table: ihm_geometric_object_transformation, 35
Columns: (Transformation_RID,transformation_id)-->(RID,id)
Current FK constraint name: ihm_geometric_object_sphere_transformation_id_fkey, 50

ihm_geometric_object_sphere_ihm_geometric_object_center_combo1_fkey: 67

Child_Table: ihm_geometric_object_sphere, 27
Parent_Table: ihm_geometric_object_center, 27
Columns: (center_id,structure_id)-->(id,structure_id)
Current FK constraint name: ihm_geometric_object_sphere_center_id_fkey, 42

ihm_geometric_object_plane_ihm_geometric_object_transformation_denorm_fkey: 74

Child_Table: ihm_geometric_object_plane, 26
Parent_Table: ihm_geometric_object_transformation, 35
Columns: (Transformation_RID,transformation_id)-->(RID,id)
Current FK constraint name: ihm_geometric_object_plane_transformation_id_fkey, 49

ihm_geometric_object_plane_ihm_geometric_object_list_combo1_fkey: 64

Child_Table: ihm_geometric_object_plane, 26
Parent_Table: ihm_geometric_object_list, 25
Columns: (object_id,structure_id)-->(object_id,structure_id)
Current FK constraint name: ihm_geometric_object_plane_object_id_fkey, 41

ihm_geometric_object_plane_ihm_geometric_object_transformation_combo1_fkey: 74

Child_Table: ihm_geometric_object_plane, 26
Parent_Table: ihm_geometric_object_transformation, 35
Columns: (structure_id,transformation_id)-->(structure_id,id)
Current FK constraint name: ihm_geometric_object_plane_transformation_id_fk, 47

ihm_geometric_object_distance_restraint_object_characteristic_fkey: 66

Child_Table: ihm_geometric_object_distance_restraint, 39
Parent_Table: geometric_object_distance_restraint_object_character, 52
Columns: (object_characteristic)-->(Name)
Current FK constraint name: geometric_object_distance_restraint_object_character_fkey, 57

ihm_geometric_object_distance_restraint_group_conditionality_fkey: 65

Child_Table: ihm_geometric_object_distance_restraint, 39
Parent_Table: geometric_object_distance_restraint_group_condition, 51
Columns: (group_conditionality)-->(Name)
Current FK constraint name: geometric_object_distance_restraint_group_condition_fkey, 56

ihm_geometric_object_distance_restraint_ihm_geometric_object_list_combo1_fkey: 77

Child_Table: ihm_geometric_object_distance_restraint, 39
Parent_Table: ihm_geometric_object_list, 25
Columns: (structure_id,object_id)-->(structure_id,object_id)
Current FK constraint name: ihm_geometric_object_distance_restraint_object_id_fkey, 54

ihm_geometric_object_distance_restraint_ihm_feature_list_combo1_fkey: 68

Child_Table: ihm_geometric_object_distance_restraint, 39
Parent_Table: ihm_feature_list, 16
Columns: (feature_id,structure_id)-->(feature_id,structure_id)
Current FK constraint name: ihm_geometric_object_distance_restraint_feature_id_fkey, 55

ihm_geometric_object_distance_restraint_ihm_dataset_list_combo1_fkey: 68

Child_Table: ihm_geometric_object_distance_restraint, 39
Parent_Table: ihm_dataset_list, 16
Columns: (structure_id,dataset_list_id)-->(structure_id,id)
Current FK constraint name: ihm_geometric_object_distance_restraint_dataset_list_id_fkey, 60