added ihm extension to mmcif schema

This commit is contained in:
Alexander Rose
2018-04-24 18:12:43 -07:00
parent 5d022ffed5
commit 47c1ac3b77
10 changed files with 1025 additions and 4779 deletions

590
data/mmcif-field-names.csv Normal file
View File

@@ -0,0 +1,590 @@
atom_site.group_PDB
atom_site.id
atom_site.type_symbol
atom_site.label_atom_id
atom_site.label_alt_id
atom_site.label_comp_id
atom_site.label_asym_id
atom_site.label_entity_id
atom_site.label_seq_id
atom_site.pdbx_PDB_ins_code
atom_site.pdbx_formal_charge
atom_site.Cartn_x
atom_site.Cartn_y
atom_site.Cartn_z
atom_site.occupancy
atom_site.B_iso_or_equiv
atom_site.auth_atom_id
atom_site.auth_comp_id
atom_site.auth_asym_id
atom_site.auth_seq_id
atom_site.pdbx_PDB_model_num
atom_site.ihm_model_id
chem_comp.id
chem_comp.type
chem_comp.mon_nstd_flag
chem_comp.name
chem_comp.pdbx_synonyms
chem_comp.formula
chem_comp.formula_weight
chem_comp_bond.comp_id
chem_comp_bond.pdbx_stereo_config
chem_comp_bond.pdbx_ordinal
chem_comp_bond.pdbx_aromatic_flag
chem_comp_bond.atom_id_1
chem_comp_bond.atom_id_2
chem_comp_bond.value_order
cell.entry_id
cell.length_a
cell.length_b
cell.length_c
cell.angle_alpha
cell.angle_beta
cell.angle_gamma
cell.Z_PDB
cell.pdbx_unique_axis
entity.id
entity.type
entity.src_method
entity.pdbx_description
entity.formula_weight
entity.pdbx_number_of_molecules
entity.details
entity.pdbx_mutation
entity.pdbx_fragment
entity.pdbx_ec
entry.id
exptl.entry_id
exptl.method
struct.entry_id
struct.title
struct_asym.id
struct_asym.pdbx_blank_PDB_chainid_flag
struct_asym.pdbx_modified
struct_asym.entity_id
struct_asym.details
struct_conf.conf_type_id
struct_conf.id
struct_conf.pdbx_PDB_helix_id
struct_conf.beg_label_comp_id
struct_conf.beg_label_asym_id
struct_conf.beg_label_seq_id
struct_conf.pdbx_beg_PDB_ins_code
struct_conf.end_label_comp_id
struct_conf.end_label_asym_id
struct_conf.end_label_seq_id
struct_conf.pdbx_end_PDB_ins_code
struct_conf.beg_auth_comp_id
struct_conf.beg_auth_asym_id
struct_conf.beg_auth_seq_id
struct_conf.end_auth_comp_id
struct_conf.end_auth_asym_id
struct_conf.end_auth_seq_id
struct_conf.pdbx_PDB_helix_class
struct_conf.details
struct_conf.pdbx_PDB_helix_length
struct_conn.id
struct_conn.conn_type_id
struct_conn.pdbx_PDB_id
struct_conn.ptnr1_label_asym_id
struct_conn.ptnr1_label_comp_id
struct_conn.ptnr1_label_seq_id
struct_conn.ptnr1_label_atom_id
struct_conn.pdbx_ptnr1_label_alt_id
struct_conn.pdbx_ptnr1_PDB_ins_code
struct_conn.pdbx_ptnr1_standard_comp_id
struct_conn.ptnr1_symmetry
struct_conn.ptnr2_label_asym_id
struct_conn.ptnr2_label_comp_id
struct_conn.ptnr2_label_seq_id
struct_conn.ptnr2_label_atom_id
struct_conn.pdbx_ptnr2_label_alt_id
struct_conn.pdbx_ptnr2_PDB_ins_code
struct_conn.ptnr1_auth_asym_id
struct_conn.ptnr1_auth_comp_id
struct_conn.ptnr1_auth_seq_id
struct_conn.ptnr2_auth_asym_id
struct_conn.ptnr2_auth_comp_id
struct_conn.ptnr2_auth_seq_id
struct_conn.ptnr2_symmetry
struct_conn.pdbx_ptnr3_label_atom_id
struct_conn.pdbx_ptnr3_label_seq_id
struct_conn.pdbx_ptnr3_label_comp_id
struct_conn.pdbx_ptnr3_label_asym_id
struct_conn.pdbx_ptnr3_label_alt_id
struct_conn.pdbx_ptnr3_PDB_ins_code
struct_conn.details
struct_conn.pdbx_dist_value
struct_conn.pdbx_value_order
struct_conn_type.id
struct_conn_type.criteria
struct_conn_type.reference
struct_keywords.entry_id
struct_keywords.pdbx_keywords
struct_keywords.text
struct_sheet_range.sheet_id
struct_sheet_range.id
struct_sheet_range.beg_label_comp_id
struct_sheet_range.beg_label_asym_id
struct_sheet_range.beg_label_seq_id
struct_sheet_range.pdbx_beg_PDB_ins_code
struct_sheet_range.end_label_comp_id
struct_sheet_range.end_label_asym_id
struct_sheet_range.end_label_seq_id
struct_sheet_range.pdbx_end_PDB_ins_code
struct_sheet_range.beg_auth_comp_id
struct_sheet_range.beg_auth_asym_id
struct_sheet_range.beg_auth_seq_id
struct_sheet_range.end_auth_comp_id
struct_sheet_range.end_auth_asym_id
struct_sheet_range.end_auth_seq_id
struct_site.id
struct_site.pdbx_evidence_code
struct_site.pdbx_auth_asym_id
struct_site.pdbx_auth_comp_id
struct_site.pdbx_auth_seq_id
struct_site.pdbx_auth_ins_code
struct_site.pdbx_num_residues
struct_site.details
struct_site_gen.id
struct_site_gen.site_id
struct_site_gen.pdbx_num_res
struct_site_gen.label_comp_id
struct_site_gen.label_asym_id
struct_site_gen.label_seq_id
struct_site_gen.pdbx_auth_ins_code
struct_site_gen.auth_comp_id
struct_site_gen.auth_asym_id
struct_site_gen.auth_seq_id
struct_site_gen.label_atom_id
struct_site_gen.label_alt_id
struct_site_gen.symmetry
struct_site_gen.details
symmetry.entry_id
symmetry.space_group_name_H-M
symmetry.pdbx_full_space_group_name_H
symmetry.cell_setting
symmetry.Int_Tables_number
symmetry.space_group_name_Hall
pdbx_molecule.instance_id
pdbx_molecule.prd_id
pdbx_molecule.asym_id
pdbx_molecule_features.prd_id
pdbx_molecule_features.name
pdbx_molecule_features.type
pdbx_molecule_features.class
pdbx_molecule_features.details
pdbx_reference_entity_link.prd_id
pdbx_reference_entity_link.link_id
pdbx_reference_entity_link.link_class
pdbx_reference_entity_link.ref_entity_id_1
pdbx_reference_entity_link.entity_seq_num_1
pdbx_reference_entity_link.comp_id_1
pdbx_reference_entity_link.atom_id_1
pdbx_reference_entity_link.ref_entity_id_2
pdbx_reference_entity_link.entity_seq_num_2
pdbx_reference_entity_link.comp_id_2
pdbx_reference_entity_link.atom_id_2
pdbx_reference_entity_link.value_order
pdbx_reference_entity_link.component_1
pdbx_reference_entity_link.component_2
pdbx_reference_entity_link.details
pdbx_reference_entity_list.prd_id
pdbx_reference_entity_list.ref_entity_id
pdbx_reference_entity_list.component_id
pdbx_reference_entity_list.type
pdbx_reference_entity_list.details
pdbx_reference_entity_poly_link.prd_id
pdbx_reference_entity_poly_link.ref_entity_id
pdbx_reference_entity_poly_link.link_id
pdbx_reference_entity_poly_link.atom_id_1
pdbx_reference_entity_poly_link.comp_id_1
pdbx_reference_entity_poly_link.entity_seq_num_1
pdbx_reference_entity_poly_link.atom_id_2
pdbx_reference_entity_poly_link.comp_id_2
pdbx_reference_entity_poly_link.entity_seq_num_2
pdbx_reference_entity_poly_link.value_order
pdbx_reference_entity_poly_link.component_id
pdbx_struct_assembly.id
pdbx_struct_assembly.details
pdbx_struct_assembly.method_details
pdbx_struct_assembly.oligomeric_details
pdbx_struct_assembly.oligomeric_count
pdbx_struct_assembly_gen.assembly_id
pdbx_struct_assembly_gen.oper_expression
pdbx_struct_assembly_gen.asym_id_list
pdbx_struct_oper_list.id
pdbx_struct_oper_list.type
pdbx_struct_oper_list.name
pdbx_struct_oper_list.symmetry_operation
pdbx_struct_oper_list.matrix
pdbx_struct_oper_list.vector
pdbx_struct_mod_residue.id
pdbx_struct_mod_residue.label_asym_id
pdbx_struct_mod_residue.label_seq_id
pdbx_struct_mod_residue.label_comp_id
pdbx_struct_mod_residue.auth_asym_id
pdbx_struct_mod_residue.auth_seq_id
pdbx_struct_mod_residue.auth_comp_id
pdbx_struct_mod_residue.PDB_ins_code
pdbx_struct_mod_residue.parent_comp_id
pdbx_struct_mod_residue.details
ihm_struct_assembly.ordinal_id
ihm_struct_assembly.assembly_id
ihm_struct_assembly.parent_assembly_id
ihm_struct_assembly.entity_description
ihm_struct_assembly.entity_id
ihm_struct_assembly.asym_id
ihm_struct_assembly.seq_id_begin
ihm_struct_assembly.seq_id_end
ihm_struct_assembly_details.assembly_id
ihm_struct_assembly_details.assembly_name
ihm_struct_assembly_details.assembly_description
ihm_model_representation.ordinal_id
ihm_model_representation.representation_id
ihm_model_representation.segment_id
ihm_model_representation.entity_id
ihm_model_representation.entity_description
ihm_model_representation.entity_asym_id
ihm_model_representation.seq_id_begin
ihm_model_representation.seq_id_end
ihm_model_representation.model_object_primitive
ihm_model_representation.starting_model_id
ihm_model_representation.model_mode
ihm_model_representation.model_granularity
ihm_model_representation.model_object_count
ihm_external_reference_info.reference_id
ihm_external_reference_info.reference_provider
ihm_external_reference_info.reference_type
ihm_external_reference_info.reference
ihm_external_reference_info.refers_to
ihm_external_reference_info.associated_url
ihm_external_files.id
ihm_external_files.reference_id
ihm_external_files.file_path
ihm_external_files.content_type
ihm_external_files.file_size_bytes
ihm_external_files.details
ihm_dataset_list.id
ihm_dataset_list.data_type
ihm_dataset_list.database_hosted
ihm_dataset_group.ordinal_id
ihm_dataset_group.group_id
ihm_dataset_group.dataset_list_id
ihm_dataset_external_reference.id
ihm_dataset_external_reference.dataset_list_id
ihm_dataset_external_reference.file_id
ihm_dataset_related_db_reference.id
ihm_dataset_related_db_reference.dataset_list_id
ihm_dataset_related_db_reference.db_name
ihm_dataset_related_db_reference.accession_code
ihm_dataset_related_db_reference.version
ihm_dataset_related_db_reference.details
ihm_related_datasets.ordinal_id
ihm_related_datasets.dataset_list_id_derived
ihm_related_datasets.dataset_list_id_primary
ihm_poly_residue_feature.ordinal_id
ihm_poly_residue_feature.feature_id
ihm_poly_residue_feature.entity_id
ihm_poly_residue_feature.asym_id
ihm_poly_residue_feature.seq_id_begin
ihm_poly_residue_feature.comp_id_begin
ihm_poly_residue_feature.seq_id_end
ihm_poly_residue_feature.comp_id_end
ihm_feature_list.feature_id
ihm_feature_list.feature_type
ihm_feature_list.entity_type
ihm_cross_link_list.id
ihm_cross_link_list.group_id
ihm_cross_link_list.entity_description_1
ihm_cross_link_list.entity_id_1
ihm_cross_link_list.seq_id_1
ihm_cross_link_list.comp_id_1
ihm_cross_link_list.entity_description_2
ihm_cross_link_list.entity_id_2
ihm_cross_link_list.seq_id_2
ihm_cross_link_list.comp_id_2
ihm_cross_link_list.linker_type
ihm_cross_link_list.dataset_list_id
ihm_cross_link_restraint.id
ihm_cross_link_restraint.group_id
ihm_cross_link_restraint.entity_id_1
ihm_cross_link_restraint.asym_id_1
ihm_cross_link_restraint.seq_id_1
ihm_cross_link_restraint.comp_id_1
ihm_cross_link_restraint.entity_id_2
ihm_cross_link_restraint.asym_id_2
ihm_cross_link_restraint.seq_id_2
ihm_cross_link_restraint.comp_id_2
ihm_cross_link_restraint.restraint_type
ihm_cross_link_restraint.conditional_crosslink_flag
ihm_cross_link_restraint.model_granularity
ihm_cross_link_restraint.distance_threshold
ihm_cross_link_restraint.psi
ihm_cross_link_restraint.sigma_1
ihm_cross_link_restraint.sigma_2
ihm_cross_link_result_parameters.ordinal_id
ihm_cross_link_result_parameters.restraint_id
ihm_cross_link_result_parameters.model_id
ihm_cross_link_result_parameters.psi
ihm_cross_link_result_parameters.sigma_1
ihm_cross_link_result_parameters.sigma_2
ihm_sas_restraint.ordinal_id
ihm_sas_restraint.dataset_list_id
ihm_sas_restraint.model_id
ihm_sas_restraint.struct_assembly_id
ihm_sas_restraint.profile_segment_flag
ihm_sas_restraint.fitting_atom_type
ihm_sas_restraint.fitting_method
ihm_sas_restraint.fitting_state
ihm_sas_restraint.radius_of_gyration
ihm_sas_restraint.chi_value
ihm_sas_restraint.details
ihm_derived_distance_restraint.id
ihm_derived_distance_restraint.group_id
ihm_derived_distance_restraint.feature_id_1
ihm_derived_distance_restraint.feature_id_2
ihm_derived_distance_restraint.group_conditionality
ihm_derived_distance_restraint.restraint_type
ihm_derived_distance_restraint.distance_upper_limit
ihm_derived_distance_restraint.random_exclusion_fraction
ihm_derived_distance_restraint.dataset_list_id
ihm_2dem_class_average_restraint.id
ihm_2dem_class_average_restraint.dataset_list_id
ihm_2dem_class_average_restraint.number_raw_micrographs
ihm_2dem_class_average_restraint.pixel_size_width
ihm_2dem_class_average_restraint.pixel_size_height
ihm_2dem_class_average_restraint.image_resolution
ihm_2dem_class_average_restraint.image_segment_flag
ihm_2dem_class_average_restraint.number_of_projections
ihm_2dem_class_average_restraint.struct_assembly_id
ihm_2dem_class_average_restraint.details
ihm_2dem_class_average_fitting.ordinal_id
ihm_2dem_class_average_fitting.restraint_id
ihm_2dem_class_average_fitting.model_id
ihm_2dem_class_average_fitting.cross_correlation_coefficient
ihm_2dem_class_average_fitting.rot_matrix
ihm_2dem_class_average_fitting.tr_vector
ihm_3dem_restraint.ordinal_id
ihm_3dem_restraint.dataset_list_id
ihm_3dem_restraint.fitting_method
ihm_3dem_restraint.struct_assembly_id
ihm_3dem_restraint.number_of_gaussians
ihm_3dem_restraint.model_id
ihm_3dem_restraint.cross_correlation_coefficient
ihm_predicted_contact_restraint.id
ihm_predicted_contact_restraint.entity_id_1
ihm_predicted_contact_restraint.asym_id_1
ihm_predicted_contact_restraint.seq_id_1
ihm_predicted_contact_restraint.comp_id_1
ihm_predicted_contact_restraint.atom_id_1
ihm_predicted_contact_restraint.entity_id_2
ihm_predicted_contact_restraint.asym_id_2
ihm_predicted_contact_restraint.seq_id_2
ihm_predicted_contact_restraint.comp_id_2
ihm_predicted_contact_restraint.atom_id_2
ihm_predicted_contact_restraint.restraint_type
ihm_predicted_contact_restraint.distance_upper_limit
ihm_predicted_contact_restraint.probability
ihm_predicted_contact_restraint.model_granularity
ihm_predicted_contact_restraint.dataset_list_id
ihm_predicted_contact_restraint.software_id
ihm_starting_model_details.starting_model_id
ihm_starting_model_details.entity_id
ihm_starting_model_details.entity_description
ihm_starting_model_details.asym_id
ihm_starting_model_details.seq_id_begin
ihm_starting_model_details.seq_id_end
ihm_starting_model_details.starting_model_source
ihm_starting_model_details.starting_model_auth_asym_id
ihm_starting_model_details.starting_model_sequence_offset
ihm_starting_model_details.dataset_list_id
ihm_starting_comparative_models.ordinal_id
ihm_starting_comparative_models.starting_model_id
ihm_starting_comparative_models.starting_model_auth_asym_id
ihm_starting_comparative_models.starting_model_seq_id_begin
ihm_starting_comparative_models.starting_model_seq_id_end
ihm_starting_comparative_models.template_auth_asym_id
ihm_starting_comparative_models.template_seq_id_begin
ihm_starting_comparative_models.template_seq_id_end
ihm_starting_comparative_models.template_sequence_identity
ihm_starting_comparative_models.template_sequence_identity_denominator
ihm_starting_comparative_models.template_dataset_list_id
ihm_starting_comparative_models.alignment_file_id
ihm_starting_model_coord.starting_model_id
ihm_starting_model_coord.group_PDB
ihm_starting_model_coord.id
ihm_starting_model_coord.type_symbol
ihm_starting_model_coord.atom_id
ihm_starting_model_coord.comp_id
ihm_starting_model_coord.entity_id
ihm_starting_model_coord.asym_id
ihm_starting_model_coord.seq_id
ihm_starting_model_coord.Cartn_x
ihm_starting_model_coord.Cartn_y
ihm_starting_model_coord.Cartn_z
ihm_starting_model_coord.B_iso_or_equiv
ihm_starting_model_coord.ordinal_id
ihm_starting_model_seq_dif.ordinal_id
ihm_starting_model_seq_dif.entity_id
ihm_starting_model_seq_dif.asym_id
ihm_starting_model_seq_dif.seq_id
ihm_starting_model_seq_dif.comp_id
ihm_starting_model_seq_dif.starting_model_id
ihm_starting_model_seq_dif.db_asym_id
ihm_starting_model_seq_dif.db_seq_id
ihm_starting_model_seq_dif.db_comp_id
ihm_starting_model_seq_dif.details
ihm_modeling_protocol.ordinal_id
ihm_modeling_protocol.protocol_id
ihm_modeling_protocol.step_id
ihm_modeling_protocol.struct_assembly_id
ihm_modeling_protocol.dataset_group_id
ihm_modeling_protocol.struct_assembly_description
ihm_modeling_protocol.protocol_name
ihm_modeling_protocol.step_name
ihm_modeling_protocol.step_method
ihm_modeling_protocol.num_models_begin
ihm_modeling_protocol.num_models_end
ihm_modeling_protocol.multi_scale_flag
ihm_modeling_protocol.multi_state_flag
ihm_modeling_protocol.ordered_flag
ihm_modeling_post_process.id
ihm_modeling_post_process.protocol_id
ihm_modeling_post_process.analysis_id
ihm_modeling_post_process.step_id
ihm_modeling_post_process.type
ihm_modeling_post_process.feature
ihm_modeling_post_process.num_models_begin
ihm_modeling_post_process.num_models_end
ihm_ensemble_info.ensemble_id
ihm_ensemble_info.ensemble_name
ihm_ensemble_info.post_process_id
ihm_ensemble_info.model_group_id
ihm_ensemble_info.ensemble_clustering_method
ihm_ensemble_info.ensemble_clustering_feature
ihm_ensemble_info.num_ensemble_models
ihm_ensemble_info.num_ensemble_models_deposited
ihm_ensemble_info.ensemble_precision_value
ihm_ensemble_info.ensemble_file_id
ihm_localization_density_files.id
ihm_localization_density_files.file_id
ihm_localization_density_files.ensemble_id
ihm_localization_density_files.entity_id
ihm_localization_density_files.asym_id
ihm_localization_density_files.seq_id_begin
ihm_localization_density_files.seq_id_end
ihm_model_list.ordinal_id
ihm_model_list.model_id
ihm_model_list.model_group_id
ihm_model_list.model_name
ihm_model_list.model_group_name
ihm_model_list.assembly_id
ihm_model_list.protocol_id
ihm_model_list.representation_id
ihm_model_representative.id
ihm_model_representative.model_group_id
ihm_model_representative.model_id
ihm_model_representative.selection_criteria
ihm_sphere_obj_site.ordinal_id
ihm_sphere_obj_site.entity_id
ihm_sphere_obj_site.seq_id_begin
ihm_sphere_obj_site.seq_id_end
ihm_sphere_obj_site.asym_id
ihm_sphere_obj_site.Cartn_x
ihm_sphere_obj_site.Cartn_y
ihm_sphere_obj_site.Cartn_z
ihm_sphere_obj_site.object_radius
ihm_sphere_obj_site.rmsf
ihm_sphere_obj_site.model_id
ihm_gaussian_obj_site.ordinal_id
ihm_gaussian_obj_site.entity_id
ihm_gaussian_obj_site.seq_id_begin
ihm_gaussian_obj_site.seq_id_end
ihm_gaussian_obj_site.asym_id
ihm_gaussian_obj_site.mean_Cartn_x
ihm_gaussian_obj_site.mean_Cartn_y
ihm_gaussian_obj_site.mean_Cartn_z
ihm_gaussian_obj_site.weight
ihm_gaussian_obj_site.covariance_matrix
ihm_gaussian_obj_site.model_id
ihm_gaussian_obj_ensemble.ordinal_id
ihm_gaussian_obj_ensemble.entity_id
ihm_gaussian_obj_ensemble.seq_id_begin
ihm_gaussian_obj_ensemble.seq_id_end
ihm_gaussian_obj_ensemble.asym_id
ihm_gaussian_obj_ensemble.mean_Cartn_x
ihm_gaussian_obj_ensemble.mean_Cartn_y
ihm_gaussian_obj_ensemble.mean_Cartn_z
ihm_gaussian_obj_ensemble.weight
ihm_gaussian_obj_ensemble.covariance_matrix
ihm_gaussian_obj_ensemble.ensemble_id
ihm_multi_state_modeling.ordinal_id
ihm_multi_state_modeling.state_id
ihm_multi_state_modeling.state_group_id
ihm_multi_state_modeling.population_fraction
ihm_multi_state_modeling.state_type
ihm_multi_state_modeling.state_name
ihm_multi_state_modeling.model_group_id
ihm_multi_state_modeling.experiment_type
ihm_multi_state_modeling.details
1 atom_site.group_PDB
2 atom_site.id
3 atom_site.type_symbol
4 atom_site.label_atom_id
5 atom_site.label_alt_id
6 atom_site.label_comp_id
7 atom_site.label_asym_id
8 atom_site.label_entity_id
9 atom_site.label_seq_id
10 atom_site.pdbx_PDB_ins_code
11 atom_site.pdbx_formal_charge
12 atom_site.Cartn_x
13 atom_site.Cartn_y
14 atom_site.Cartn_z
15 atom_site.occupancy
16 atom_site.B_iso_or_equiv
17 atom_site.auth_atom_id
18 atom_site.auth_comp_id
19 atom_site.auth_asym_id
20 atom_site.auth_seq_id
21 atom_site.pdbx_PDB_model_num
22 atom_site.ihm_model_id
23 chem_comp.id
24 chem_comp.type
25 chem_comp.mon_nstd_flag
26 chem_comp.name
27 chem_comp.pdbx_synonyms
28 chem_comp.formula
29 chem_comp.formula_weight
30 chem_comp_bond.comp_id
31 chem_comp_bond.pdbx_stereo_config
32 chem_comp_bond.pdbx_ordinal
33 chem_comp_bond.pdbx_aromatic_flag
34 chem_comp_bond.atom_id_1
35 chem_comp_bond.atom_id_2
36 chem_comp_bond.value_order
37 cell.entry_id
38 cell.length_a
39 cell.length_b
40 cell.length_c
41 cell.angle_alpha
42 cell.angle_beta
43 cell.angle_gamma
44 cell.Z_PDB
45 cell.pdbx_unique_axis
46 entity.id
47 entity.type
48 entity.src_method
49 entity.pdbx_description
50 entity.formula_weight
51 entity.pdbx_number_of_molecules
52 entity.details
53 entity.pdbx_mutation
54 entity.pdbx_fragment
55 entity.pdbx_ec
56 entry.id
57 exptl.entry_id
58 exptl.method
59 struct.entry_id
60 struct.title
61 struct_asym.id
62 struct_asym.pdbx_blank_PDB_chainid_flag
63 struct_asym.pdbx_modified
64 struct_asym.entity_id
65 struct_asym.details
66 struct_conf.conf_type_id
67 struct_conf.id
68 struct_conf.pdbx_PDB_helix_id
69 struct_conf.beg_label_comp_id
70 struct_conf.beg_label_asym_id
71 struct_conf.beg_label_seq_id
72 struct_conf.pdbx_beg_PDB_ins_code
73 struct_conf.end_label_comp_id
74 struct_conf.end_label_asym_id
75 struct_conf.end_label_seq_id
76 struct_conf.pdbx_end_PDB_ins_code
77 struct_conf.beg_auth_comp_id
78 struct_conf.beg_auth_asym_id
79 struct_conf.beg_auth_seq_id
80 struct_conf.end_auth_comp_id
81 struct_conf.end_auth_asym_id
82 struct_conf.end_auth_seq_id
83 struct_conf.pdbx_PDB_helix_class
84 struct_conf.details
85 struct_conf.pdbx_PDB_helix_length
86 struct_conn.id
87 struct_conn.conn_type_id
88 struct_conn.pdbx_PDB_id
89 struct_conn.ptnr1_label_asym_id
90 struct_conn.ptnr1_label_comp_id
91 struct_conn.ptnr1_label_seq_id
92 struct_conn.ptnr1_label_atom_id
93 struct_conn.pdbx_ptnr1_label_alt_id
94 struct_conn.pdbx_ptnr1_PDB_ins_code
95 struct_conn.pdbx_ptnr1_standard_comp_id
96 struct_conn.ptnr1_symmetry
97 struct_conn.ptnr2_label_asym_id
98 struct_conn.ptnr2_label_comp_id
99 struct_conn.ptnr2_label_seq_id
100 struct_conn.ptnr2_label_atom_id
101 struct_conn.pdbx_ptnr2_label_alt_id
102 struct_conn.pdbx_ptnr2_PDB_ins_code
103 struct_conn.ptnr1_auth_asym_id
104 struct_conn.ptnr1_auth_comp_id
105 struct_conn.ptnr1_auth_seq_id
106 struct_conn.ptnr2_auth_asym_id
107 struct_conn.ptnr2_auth_comp_id
108 struct_conn.ptnr2_auth_seq_id
109 struct_conn.ptnr2_symmetry
110 struct_conn.pdbx_ptnr3_label_atom_id
111 struct_conn.pdbx_ptnr3_label_seq_id
112 struct_conn.pdbx_ptnr3_label_comp_id
113 struct_conn.pdbx_ptnr3_label_asym_id
114 struct_conn.pdbx_ptnr3_label_alt_id
115 struct_conn.pdbx_ptnr3_PDB_ins_code
116 struct_conn.details
117 struct_conn.pdbx_dist_value
118 struct_conn.pdbx_value_order
119 struct_conn_type.id
120 struct_conn_type.criteria
121 struct_conn_type.reference
122 struct_keywords.entry_id
123 struct_keywords.pdbx_keywords
124 struct_keywords.text
125 struct_sheet_range.sheet_id
126 struct_sheet_range.id
127 struct_sheet_range.beg_label_comp_id
128 struct_sheet_range.beg_label_asym_id
129 struct_sheet_range.beg_label_seq_id
130 struct_sheet_range.pdbx_beg_PDB_ins_code
131 struct_sheet_range.end_label_comp_id
132 struct_sheet_range.end_label_asym_id
133 struct_sheet_range.end_label_seq_id
134 struct_sheet_range.pdbx_end_PDB_ins_code
135 struct_sheet_range.beg_auth_comp_id
136 struct_sheet_range.beg_auth_asym_id
137 struct_sheet_range.beg_auth_seq_id
138 struct_sheet_range.end_auth_comp_id
139 struct_sheet_range.end_auth_asym_id
140 struct_sheet_range.end_auth_seq_id
141 struct_site.id
142 struct_site.pdbx_evidence_code
143 struct_site.pdbx_auth_asym_id
144 struct_site.pdbx_auth_comp_id
145 struct_site.pdbx_auth_seq_id
146 struct_site.pdbx_auth_ins_code
147 struct_site.pdbx_num_residues
148 struct_site.details
149 struct_site_gen.id
150 struct_site_gen.site_id
151 struct_site_gen.pdbx_num_res
152 struct_site_gen.label_comp_id
153 struct_site_gen.label_asym_id
154 struct_site_gen.label_seq_id
155 struct_site_gen.pdbx_auth_ins_code
156 struct_site_gen.auth_comp_id
157 struct_site_gen.auth_asym_id
158 struct_site_gen.auth_seq_id
159 struct_site_gen.label_atom_id
160 struct_site_gen.label_alt_id
161 struct_site_gen.symmetry
162 struct_site_gen.details
163 symmetry.entry_id
164 symmetry.space_group_name_H-M
165 symmetry.pdbx_full_space_group_name_H
166 symmetry.cell_setting
167 symmetry.Int_Tables_number
168 symmetry.space_group_name_Hall
169 pdbx_molecule.instance_id
170 pdbx_molecule.prd_id
171 pdbx_molecule.asym_id
172 pdbx_molecule_features.prd_id
173 pdbx_molecule_features.name
174 pdbx_molecule_features.type
175 pdbx_molecule_features.class
176 pdbx_molecule_features.details
177 pdbx_reference_entity_link.prd_id
178 pdbx_reference_entity_link.link_id
179 pdbx_reference_entity_link.link_class
180 pdbx_reference_entity_link.ref_entity_id_1
181 pdbx_reference_entity_link.entity_seq_num_1
182 pdbx_reference_entity_link.comp_id_1
183 pdbx_reference_entity_link.atom_id_1
184 pdbx_reference_entity_link.ref_entity_id_2
185 pdbx_reference_entity_link.entity_seq_num_2
186 pdbx_reference_entity_link.comp_id_2
187 pdbx_reference_entity_link.atom_id_2
188 pdbx_reference_entity_link.value_order
189 pdbx_reference_entity_link.component_1
190 pdbx_reference_entity_link.component_2
191 pdbx_reference_entity_link.details
192 pdbx_reference_entity_list.prd_id
193 pdbx_reference_entity_list.ref_entity_id
194 pdbx_reference_entity_list.component_id
195 pdbx_reference_entity_list.type
196 pdbx_reference_entity_list.details
197 pdbx_reference_entity_poly_link.prd_id
198 pdbx_reference_entity_poly_link.ref_entity_id
199 pdbx_reference_entity_poly_link.link_id
200 pdbx_reference_entity_poly_link.atom_id_1
201 pdbx_reference_entity_poly_link.comp_id_1
202 pdbx_reference_entity_poly_link.entity_seq_num_1
203 pdbx_reference_entity_poly_link.atom_id_2
204 pdbx_reference_entity_poly_link.comp_id_2
205 pdbx_reference_entity_poly_link.entity_seq_num_2
206 pdbx_reference_entity_poly_link.value_order
207 pdbx_reference_entity_poly_link.component_id
208 pdbx_struct_assembly.id
209 pdbx_struct_assembly.details
210 pdbx_struct_assembly.method_details
211 pdbx_struct_assembly.oligomeric_details
212 pdbx_struct_assembly.oligomeric_count
213 pdbx_struct_assembly_gen.assembly_id
214 pdbx_struct_assembly_gen.oper_expression
215 pdbx_struct_assembly_gen.asym_id_list
216 pdbx_struct_oper_list.id
217 pdbx_struct_oper_list.type
218 pdbx_struct_oper_list.name
219 pdbx_struct_oper_list.symmetry_operation
220 pdbx_struct_oper_list.matrix
221 pdbx_struct_oper_list.vector
222 pdbx_struct_mod_residue.id
223 pdbx_struct_mod_residue.label_asym_id
224 pdbx_struct_mod_residue.label_seq_id
225 pdbx_struct_mod_residue.label_comp_id
226 pdbx_struct_mod_residue.auth_asym_id
227 pdbx_struct_mod_residue.auth_seq_id
228 pdbx_struct_mod_residue.auth_comp_id
229 pdbx_struct_mod_residue.PDB_ins_code
230 pdbx_struct_mod_residue.parent_comp_id
231 pdbx_struct_mod_residue.details
232 ihm_struct_assembly.ordinal_id
233 ihm_struct_assembly.assembly_id
234 ihm_struct_assembly.parent_assembly_id
235 ihm_struct_assembly.entity_description
236 ihm_struct_assembly.entity_id
237 ihm_struct_assembly.asym_id
238 ihm_struct_assembly.seq_id_begin
239 ihm_struct_assembly.seq_id_end
240 ihm_struct_assembly_details.assembly_id
241 ihm_struct_assembly_details.assembly_name
242 ihm_struct_assembly_details.assembly_description
243 ihm_model_representation.ordinal_id
244 ihm_model_representation.representation_id
245 ihm_model_representation.segment_id
246 ihm_model_representation.entity_id
247 ihm_model_representation.entity_description
248 ihm_model_representation.entity_asym_id
249 ihm_model_representation.seq_id_begin
250 ihm_model_representation.seq_id_end
251 ihm_model_representation.model_object_primitive
252 ihm_model_representation.starting_model_id
253 ihm_model_representation.model_mode
254 ihm_model_representation.model_granularity
255 ihm_model_representation.model_object_count
256 ihm_external_reference_info.reference_id
257 ihm_external_reference_info.reference_provider
258 ihm_external_reference_info.reference_type
259 ihm_external_reference_info.reference
260 ihm_external_reference_info.refers_to
261 ihm_external_reference_info.associated_url
262 ihm_external_files.id
263 ihm_external_files.reference_id
264 ihm_external_files.file_path
265 ihm_external_files.content_type
266 ihm_external_files.file_size_bytes
267 ihm_external_files.details
268 ihm_dataset_list.id
269 ihm_dataset_list.data_type
270 ihm_dataset_list.database_hosted
271 ihm_dataset_group.ordinal_id
272 ihm_dataset_group.group_id
273 ihm_dataset_group.dataset_list_id
274 ihm_dataset_external_reference.id
275 ihm_dataset_external_reference.dataset_list_id
276 ihm_dataset_external_reference.file_id
277 ihm_dataset_related_db_reference.id
278 ihm_dataset_related_db_reference.dataset_list_id
279 ihm_dataset_related_db_reference.db_name
280 ihm_dataset_related_db_reference.accession_code
281 ihm_dataset_related_db_reference.version
282 ihm_dataset_related_db_reference.details
283 ihm_related_datasets.ordinal_id
284 ihm_related_datasets.dataset_list_id_derived
285 ihm_related_datasets.dataset_list_id_primary
286 ihm_poly_residue_feature.ordinal_id
287 ihm_poly_residue_feature.feature_id
288 ihm_poly_residue_feature.entity_id
289 ihm_poly_residue_feature.asym_id
290 ihm_poly_residue_feature.seq_id_begin
291 ihm_poly_residue_feature.comp_id_begin
292 ihm_poly_residue_feature.seq_id_end
293 ihm_poly_residue_feature.comp_id_end
294 ihm_feature_list.feature_id
295 ihm_feature_list.feature_type
296 ihm_feature_list.entity_type
297 ihm_cross_link_list.id
298 ihm_cross_link_list.group_id
299 ihm_cross_link_list.entity_description_1
300 ihm_cross_link_list.entity_id_1
301 ihm_cross_link_list.seq_id_1
302 ihm_cross_link_list.comp_id_1
303 ihm_cross_link_list.entity_description_2
304 ihm_cross_link_list.entity_id_2
305 ihm_cross_link_list.seq_id_2
306 ihm_cross_link_list.comp_id_2
307 ihm_cross_link_list.linker_type
308 ihm_cross_link_list.dataset_list_id
309 ihm_cross_link_restraint.id
310 ihm_cross_link_restraint.group_id
311 ihm_cross_link_restraint.entity_id_1
312 ihm_cross_link_restraint.asym_id_1
313 ihm_cross_link_restraint.seq_id_1
314 ihm_cross_link_restraint.comp_id_1
315 ihm_cross_link_restraint.entity_id_2
316 ihm_cross_link_restraint.asym_id_2
317 ihm_cross_link_restraint.seq_id_2
318 ihm_cross_link_restraint.comp_id_2
319 ihm_cross_link_restraint.restraint_type
320 ihm_cross_link_restraint.conditional_crosslink_flag
321 ihm_cross_link_restraint.model_granularity
322 ihm_cross_link_restraint.distance_threshold
323 ihm_cross_link_restraint.psi
324 ihm_cross_link_restraint.sigma_1
325 ihm_cross_link_restraint.sigma_2
326 ihm_cross_link_result_parameters.ordinal_id
327 ihm_cross_link_result_parameters.restraint_id
328 ihm_cross_link_result_parameters.model_id
329 ihm_cross_link_result_parameters.psi
330 ihm_cross_link_result_parameters.sigma_1
331 ihm_cross_link_result_parameters.sigma_2
332 ihm_sas_restraint.ordinal_id
333 ihm_sas_restraint.dataset_list_id
334 ihm_sas_restraint.model_id
335 ihm_sas_restraint.struct_assembly_id
336 ihm_sas_restraint.profile_segment_flag
337 ihm_sas_restraint.fitting_atom_type
338 ihm_sas_restraint.fitting_method
339 ihm_sas_restraint.fitting_state
340 ihm_sas_restraint.radius_of_gyration
341 ihm_sas_restraint.chi_value
342 ihm_sas_restraint.details
343 ihm_derived_distance_restraint.id
344 ihm_derived_distance_restraint.group_id
345 ihm_derived_distance_restraint.feature_id_1
346 ihm_derived_distance_restraint.feature_id_2
347 ihm_derived_distance_restraint.group_conditionality
348 ihm_derived_distance_restraint.restraint_type
349 ihm_derived_distance_restraint.distance_upper_limit
350 ihm_derived_distance_restraint.random_exclusion_fraction
351 ihm_derived_distance_restraint.dataset_list_id
352 ihm_2dem_class_average_restraint.id
353 ihm_2dem_class_average_restraint.dataset_list_id
354 ihm_2dem_class_average_restraint.number_raw_micrographs
355 ihm_2dem_class_average_restraint.pixel_size_width
356 ihm_2dem_class_average_restraint.pixel_size_height
357 ihm_2dem_class_average_restraint.image_resolution
358 ihm_2dem_class_average_restraint.image_segment_flag
359 ihm_2dem_class_average_restraint.number_of_projections
360 ihm_2dem_class_average_restraint.struct_assembly_id
361 ihm_2dem_class_average_restraint.details
362 ihm_2dem_class_average_fitting.ordinal_id
363 ihm_2dem_class_average_fitting.restraint_id
364 ihm_2dem_class_average_fitting.model_id
365 ihm_2dem_class_average_fitting.cross_correlation_coefficient
366 ihm_2dem_class_average_fitting.rot_matrix
367 ihm_2dem_class_average_fitting.tr_vector
368 ihm_3dem_restraint.ordinal_id
369 ihm_3dem_restraint.dataset_list_id
370 ihm_3dem_restraint.fitting_method
371 ihm_3dem_restraint.struct_assembly_id
372 ihm_3dem_restraint.number_of_gaussians
373 ihm_3dem_restraint.model_id
374 ihm_3dem_restraint.cross_correlation_coefficient
375 ihm_predicted_contact_restraint.id
376 ihm_predicted_contact_restraint.entity_id_1
377 ihm_predicted_contact_restraint.asym_id_1
378 ihm_predicted_contact_restraint.seq_id_1
379 ihm_predicted_contact_restraint.comp_id_1
380 ihm_predicted_contact_restraint.atom_id_1
381 ihm_predicted_contact_restraint.entity_id_2
382 ihm_predicted_contact_restraint.asym_id_2
383 ihm_predicted_contact_restraint.seq_id_2
384 ihm_predicted_contact_restraint.comp_id_2
385 ihm_predicted_contact_restraint.atom_id_2
386 ihm_predicted_contact_restraint.restraint_type
387 ihm_predicted_contact_restraint.distance_upper_limit
388 ihm_predicted_contact_restraint.probability
389 ihm_predicted_contact_restraint.model_granularity
390 ihm_predicted_contact_restraint.dataset_list_id
391 ihm_predicted_contact_restraint.software_id
392 ihm_starting_model_details.starting_model_id
393 ihm_starting_model_details.entity_id
394 ihm_starting_model_details.entity_description
395 ihm_starting_model_details.asym_id
396 ihm_starting_model_details.seq_id_begin
397 ihm_starting_model_details.seq_id_end
398 ihm_starting_model_details.starting_model_source
399 ihm_starting_model_details.starting_model_auth_asym_id
400 ihm_starting_model_details.starting_model_sequence_offset
401 ihm_starting_model_details.dataset_list_id
402 ihm_starting_comparative_models.ordinal_id
403 ihm_starting_comparative_models.starting_model_id
404 ihm_starting_comparative_models.starting_model_auth_asym_id
405 ihm_starting_comparative_models.starting_model_seq_id_begin
406 ihm_starting_comparative_models.starting_model_seq_id_end
407 ihm_starting_comparative_models.template_auth_asym_id
408 ihm_starting_comparative_models.template_seq_id_begin
409 ihm_starting_comparative_models.template_seq_id_end
410 ihm_starting_comparative_models.template_sequence_identity
411 ihm_starting_comparative_models.template_sequence_identity_denominator
412 ihm_starting_comparative_models.template_dataset_list_id
413 ihm_starting_comparative_models.alignment_file_id
414 ihm_starting_model_coord.starting_model_id
415 ihm_starting_model_coord.group_PDB
416 ihm_starting_model_coord.id
417 ihm_starting_model_coord.type_symbol
418 ihm_starting_model_coord.atom_id
419 ihm_starting_model_coord.comp_id
420 ihm_starting_model_coord.entity_id
421 ihm_starting_model_coord.asym_id
422 ihm_starting_model_coord.seq_id
423 ihm_starting_model_coord.Cartn_x
424 ihm_starting_model_coord.Cartn_y
425 ihm_starting_model_coord.Cartn_z
426 ihm_starting_model_coord.B_iso_or_equiv
427 ihm_starting_model_coord.ordinal_id
428 ihm_starting_model_seq_dif.ordinal_id
429 ihm_starting_model_seq_dif.entity_id
430 ihm_starting_model_seq_dif.asym_id
431 ihm_starting_model_seq_dif.seq_id
432 ihm_starting_model_seq_dif.comp_id
433 ihm_starting_model_seq_dif.starting_model_id
434 ihm_starting_model_seq_dif.db_asym_id
435 ihm_starting_model_seq_dif.db_seq_id
436 ihm_starting_model_seq_dif.db_comp_id
437 ihm_starting_model_seq_dif.details
438 ihm_modeling_protocol.ordinal_id
439 ihm_modeling_protocol.protocol_id
440 ihm_modeling_protocol.step_id
441 ihm_modeling_protocol.struct_assembly_id
442 ihm_modeling_protocol.dataset_group_id
443 ihm_modeling_protocol.struct_assembly_description
444 ihm_modeling_protocol.protocol_name
445 ihm_modeling_protocol.step_name
446 ihm_modeling_protocol.step_method
447 ihm_modeling_protocol.num_models_begin
448 ihm_modeling_protocol.num_models_end
449 ihm_modeling_protocol.multi_scale_flag
450 ihm_modeling_protocol.multi_state_flag
451 ihm_modeling_protocol.ordered_flag
452 ihm_modeling_post_process.id
453 ihm_modeling_post_process.protocol_id
454 ihm_modeling_post_process.analysis_id
455 ihm_modeling_post_process.step_id
456 ihm_modeling_post_process.type
457 ihm_modeling_post_process.feature
458 ihm_modeling_post_process.num_models_begin
459 ihm_modeling_post_process.num_models_end
460 ihm_ensemble_info.ensemble_id
461 ihm_ensemble_info.ensemble_name
462 ihm_ensemble_info.post_process_id
463 ihm_ensemble_info.model_group_id
464 ihm_ensemble_info.ensemble_clustering_method
465 ihm_ensemble_info.ensemble_clustering_feature
466 ihm_ensemble_info.num_ensemble_models
467 ihm_ensemble_info.num_ensemble_models_deposited
468 ihm_ensemble_info.ensemble_precision_value
469 ihm_ensemble_info.ensemble_file_id
470 ihm_localization_density_files.id
471 ihm_localization_density_files.file_id
472 ihm_localization_density_files.ensemble_id
473 ihm_localization_density_files.entity_id
474 ihm_localization_density_files.asym_id
475 ihm_localization_density_files.seq_id_begin
476 ihm_localization_density_files.seq_id_end
477 ihm_model_list.ordinal_id
478 ihm_model_list.model_id
479 ihm_model_list.model_group_id
480 ihm_model_list.model_name
481 ihm_model_list.model_group_name
482 ihm_model_list.assembly_id
483 ihm_model_list.protocol_id
484 ihm_model_list.representation_id
485 ihm_model_representative.id
486 ihm_model_representative.model_group_id
487 ihm_model_representative.model_id
488 ihm_model_representative.selection_criteria
489 ihm_sphere_obj_site.ordinal_id
490 ihm_sphere_obj_site.entity_id
491 ihm_sphere_obj_site.seq_id_begin
492 ihm_sphere_obj_site.seq_id_end
493 ihm_sphere_obj_site.asym_id
494 ihm_sphere_obj_site.Cartn_x
495 ihm_sphere_obj_site.Cartn_y
496 ihm_sphere_obj_site.Cartn_z
497 ihm_sphere_obj_site.object_radius
498 ihm_sphere_obj_site.rmsf
499 ihm_sphere_obj_site.model_id
500 ihm_gaussian_obj_site.ordinal_id
501 ihm_gaussian_obj_site.entity_id
502 ihm_gaussian_obj_site.seq_id_begin
503 ihm_gaussian_obj_site.seq_id_end
504 ihm_gaussian_obj_site.asym_id
505 ihm_gaussian_obj_site.mean_Cartn_x
506 ihm_gaussian_obj_site.mean_Cartn_y
507 ihm_gaussian_obj_site.mean_Cartn_z
508 ihm_gaussian_obj_site.weight
509 ihm_gaussian_obj_site.covariance_matrix
510 ihm_gaussian_obj_site.model_id
511 ihm_gaussian_obj_ensemble.ordinal_id
512 ihm_gaussian_obj_ensemble.entity_id
513 ihm_gaussian_obj_ensemble.seq_id_begin
514 ihm_gaussian_obj_ensemble.seq_id_end
515 ihm_gaussian_obj_ensemble.asym_id
516 ihm_gaussian_obj_ensemble.mean_Cartn_x
517 ihm_gaussian_obj_ensemble.mean_Cartn_y
518 ihm_gaussian_obj_ensemble.mean_Cartn_z
519 ihm_gaussian_obj_ensemble.weight
520 ihm_gaussian_obj_ensemble.covariance_matrix
521 ihm_gaussian_obj_ensemble.ensemble_id
522 ihm_multi_state_modeling.ordinal_id
523 ihm_multi_state_modeling.state_id
524 ihm_multi_state_modeling.state_group_id
525 ihm_multi_state_modeling.population_fraction
526 ihm_multi_state_modeling.state_type
527 ihm_multi_state_modeling.state_name
528 ihm_multi_state_modeling.model_group_id
529 ihm_multi_state_modeling.experiment_type
530 ihm_multi_state_modeling.details

View File

@@ -1,255 +0,0 @@
atom_site.group_PDB
atom_site.id
atom_site.type_symbol
atom_site.label_atom_id
atom_site.label_alt_id
atom_site.label_comp_id
atom_site.label_asym_id
atom_site.label_entity_id
atom_site.label_seq_id
atom_site.pdbx_PDB_ins_code
atom_site.pdbx_formal_charge
atom_site.Cartn_x
atom_site.Cartn_y
atom_site.Cartn_z
atom_site.occupancy
atom_site.B_iso_or_equiv
atom_site.auth_atom_id
atom_site.auth_comp_id
atom_site.auth_asym_id
atom_site.auth_seq_id
atom_site.pdbx_PDB_model_num
chem_comp.id
chem_comp.type
chem_comp.mon_nstd_flag
chem_comp.name
chem_comp.pdbx_synonyms
chem_comp.formula
chem_comp.formula_weight
chem_comp_bond.comp_id
chem_comp_bond.pdbx_stereo_config
chem_comp_bond.pdbx_ordinal
chem_comp_bond.pdbx_aromatic_flag
chem_comp_bond.atom_id_1
chem_comp_bond.atom_id_2
chem_comp_bond.value_order
cell.entry_id
cell.length_a
cell.length_b
cell.length_c
cell.angle_alpha
cell.angle_beta
cell.angle_gamma
cell.Z_PDB
cell.pdbx_unique_axis
entity.id
entity.type
entity.src_method
entity.pdbx_description
entity.formula_weight
entity.pdbx_number_of_molecules
entity.details
entity.pdbx_mutation
entity.pdbx_fragment
entity.pdbx_ec
entry.id
exptl.entry_id
exptl.method
struct.entry_id
struct.title
struct_asym.id
struct_asym.pdbx_blank_PDB_chainid_flag
struct_asym.pdbx_modified
struct_asym.entity_id
struct_asym.details
struct_conf.conf_type_id
struct_conf.id
struct_conf.pdbx_PDB_helix_id
struct_conf.beg_label_comp_id
struct_conf.beg_label_asym_id
struct_conf.beg_label_seq_id
struct_conf.pdbx_beg_PDB_ins_code
struct_conf.end_label_comp_id
struct_conf.end_label_asym_id
struct_conf.end_label_seq_id
struct_conf.pdbx_end_PDB_ins_code
struct_conf.beg_auth_comp_id
struct_conf.beg_auth_asym_id
struct_conf.beg_auth_seq_id
struct_conf.end_auth_comp_id
struct_conf.end_auth_asym_id
struct_conf.end_auth_seq_id
struct_conf.pdbx_PDB_helix_class
struct_conf.details
struct_conf.pdbx_PDB_helix_length
struct_conn.id
struct_conn.conn_type_id
struct_conn.pdbx_PDB_id
struct_conn.ptnr1_label_asym_id
struct_conn.ptnr1_label_comp_id
struct_conn.ptnr1_label_seq_id
struct_conn.ptnr1_label_atom_id
struct_conn.pdbx_ptnr1_label_alt_id
struct_conn.pdbx_ptnr1_PDB_ins_code
struct_conn.pdbx_ptnr1_standard_comp_id
struct_conn.ptnr1_symmetry
struct_conn.ptnr2_label_asym_id
struct_conn.ptnr2_label_comp_id
struct_conn.ptnr2_label_seq_id
struct_conn.ptnr2_label_atom_id
struct_conn.pdbx_ptnr2_label_alt_id
struct_conn.pdbx_ptnr2_PDB_ins_code
struct_conn.ptnr1_auth_asym_id
struct_conn.ptnr1_auth_comp_id
struct_conn.ptnr1_auth_seq_id
struct_conn.ptnr2_auth_asym_id
struct_conn.ptnr2_auth_comp_id
struct_conn.ptnr2_auth_seq_id
struct_conn.ptnr2_symmetry
struct_conn.pdbx_ptnr3_label_atom_id
struct_conn.pdbx_ptnr3_label_seq_id
struct_conn.pdbx_ptnr3_label_comp_id
struct_conn.pdbx_ptnr3_label_asym_id
struct_conn.pdbx_ptnr3_label_alt_id
struct_conn.pdbx_ptnr3_PDB_ins_code
struct_conn.details
struct_conn.pdbx_dist_value
struct_conn.pdbx_value_order
struct_conn_type.id
struct_conn_type.criteria
struct_conn_type.reference
struct_keywords.entry_id
struct_keywords.pdbx_keywords
struct_keywords.text
struct_sheet_range.sheet_id
struct_sheet_range.id
struct_sheet_range.beg_label_comp_id
struct_sheet_range.beg_label_asym_id
struct_sheet_range.beg_label_seq_id
struct_sheet_range.pdbx_beg_PDB_ins_code
struct_sheet_range.end_label_comp_id
struct_sheet_range.end_label_asym_id
struct_sheet_range.end_label_seq_id
struct_sheet_range.pdbx_end_PDB_ins_code
struct_sheet_range.beg_auth_comp_id
struct_sheet_range.beg_auth_asym_id
struct_sheet_range.beg_auth_seq_id
struct_sheet_range.end_auth_comp_id
struct_sheet_range.end_auth_asym_id
struct_sheet_range.end_auth_seq_id
struct_site.id
struct_site.pdbx_evidence_code
struct_site.pdbx_auth_asym_id
struct_site.pdbx_auth_comp_id
struct_site.pdbx_auth_seq_id
struct_site.pdbx_auth_ins_code
struct_site.pdbx_num_residues
struct_site.details
struct_site_gen.id
struct_site_gen.site_id
struct_site_gen.pdbx_num_res
struct_site_gen.label_comp_id
struct_site_gen.label_asym_id
struct_site_gen.label_seq_id
struct_site_gen.pdbx_auth_ins_code
struct_site_gen.auth_comp_id
struct_site_gen.auth_asym_id
struct_site_gen.auth_seq_id
struct_site_gen.label_atom_id
struct_site_gen.label_alt_id
struct_site_gen.symmetry
struct_site_gen.details
symmetry.entry_id
symmetry.space_group_name_H-M
symmetry.pdbx_full_space_group_name_H
symmetry.cell_setting
symmetry.Int_Tables_number
symmetry.space_group_name_Hall
pdbx_molecule.instance_id
pdbx_molecule.prd_id
pdbx_molecule.asym_id
pdbx_molecule_features.prd_id
pdbx_molecule_features.name
pdbx_molecule_features.type
pdbx_molecule_features.class
pdbx_molecule_features.details
pdbx_reference_entity_link.prd_id
pdbx_reference_entity_link.link_id
pdbx_reference_entity_link.link_class
pdbx_reference_entity_link.ref_entity_id_1
pdbx_reference_entity_link.entity_seq_num_1
pdbx_reference_entity_link.comp_id_1
pdbx_reference_entity_link.atom_id_1
pdbx_reference_entity_link.ref_entity_id_2
pdbx_reference_entity_link.entity_seq_num_2
pdbx_reference_entity_link.comp_id_2
pdbx_reference_entity_link.atom_id_2
pdbx_reference_entity_link.value_order
pdbx_reference_entity_link.component_1
pdbx_reference_entity_link.component_2
pdbx_reference_entity_link.details
pdbx_reference_entity_list.prd_id
pdbx_reference_entity_list.ref_entity_id
pdbx_reference_entity_list.component_id
pdbx_reference_entity_list.type
pdbx_reference_entity_list.details
pdbx_reference_entity_poly_link.prd_id
pdbx_reference_entity_poly_link.ref_entity_id
pdbx_reference_entity_poly_link.link_id
pdbx_reference_entity_poly_link.atom_id_1
pdbx_reference_entity_poly_link.comp_id_1
pdbx_reference_entity_poly_link.entity_seq_num_1
pdbx_reference_entity_poly_link.atom_id_2
pdbx_reference_entity_poly_link.comp_id_2
pdbx_reference_entity_poly_link.entity_seq_num_2
pdbx_reference_entity_poly_link.value_order
pdbx_reference_entity_poly_link.component_id
pdbx_struct_assembly.id
pdbx_struct_assembly.details
pdbx_struct_assembly.method_details
pdbx_struct_assembly.oligomeric_details
pdbx_struct_assembly.oligomeric_count
pdbx_struct_assembly_gen.assembly_id
pdbx_struct_assembly_gen.oper_expression
pdbx_struct_assembly_gen.asym_id_list
pdbx_struct_oper_list.id
pdbx_struct_oper_list.type
pdbx_struct_oper_list.name
pdbx_struct_oper_list.symmetry_operation
pdbx_struct_oper_list.matrix
pdbx_struct_oper_list.vector
pdbx_struct_mod_residue.id
pdbx_struct_mod_residue.label_asym_id
pdbx_struct_mod_residue.label_seq_id
pdbx_struct_mod_residue.label_comp_id
pdbx_struct_mod_residue.auth_asym_id
pdbx_struct_mod_residue.auth_seq_id
pdbx_struct_mod_residue.auth_comp_id
pdbx_struct_mod_residue.PDB_ins_code
pdbx_struct_mod_residue.parent_comp_id
pdbx_struct_mod_residue.details
1 atom_site.group_PDB
2 atom_site.id
3 atom_site.type_symbol
4 atom_site.label_atom_id
5 atom_site.label_alt_id
6 atom_site.label_comp_id
7 atom_site.label_asym_id
8 atom_site.label_entity_id
9 atom_site.label_seq_id
10 atom_site.pdbx_PDB_ins_code
11 atom_site.pdbx_formal_charge
12 atom_site.Cartn_x
13 atom_site.Cartn_y
14 atom_site.Cartn_z
15 atom_site.occupancy
16 atom_site.B_iso_or_equiv
17 atom_site.auth_atom_id
18 atom_site.auth_comp_id
19 atom_site.auth_asym_id
20 atom_site.auth_seq_id
21 atom_site.pdbx_PDB_model_num
22 chem_comp.id
23 chem_comp.type
24 chem_comp.mon_nstd_flag
25 chem_comp.name
26 chem_comp.pdbx_synonyms
27 chem_comp.formula
28 chem_comp.formula_weight
29 chem_comp_bond.comp_id
30 chem_comp_bond.pdbx_stereo_config
31 chem_comp_bond.pdbx_ordinal
32 chem_comp_bond.pdbx_aromatic_flag
33 chem_comp_bond.atom_id_1
34 chem_comp_bond.atom_id_2
35 chem_comp_bond.value_order
36 cell.entry_id
37 cell.length_a
38 cell.length_b
39 cell.length_c
40 cell.angle_alpha
41 cell.angle_beta
42 cell.angle_gamma
43 cell.Z_PDB
44 cell.pdbx_unique_axis
45 entity.id
46 entity.type
47 entity.src_method
48 entity.pdbx_description
49 entity.formula_weight
50 entity.pdbx_number_of_molecules
51 entity.details
52 entity.pdbx_mutation
53 entity.pdbx_fragment
54 entity.pdbx_ec
55 entry.id
56 exptl.entry_id
57 exptl.method
58 struct.entry_id
59 struct.title
60 struct_asym.id
61 struct_asym.pdbx_blank_PDB_chainid_flag
62 struct_asym.pdbx_modified
63 struct_asym.entity_id
64 struct_asym.details
65 struct_conf.conf_type_id
66 struct_conf.id
67 struct_conf.pdbx_PDB_helix_id
68 struct_conf.beg_label_comp_id
69 struct_conf.beg_label_asym_id
70 struct_conf.beg_label_seq_id
71 struct_conf.pdbx_beg_PDB_ins_code
72 struct_conf.end_label_comp_id
73 struct_conf.end_label_asym_id
74 struct_conf.end_label_seq_id
75 struct_conf.pdbx_end_PDB_ins_code
76 struct_conf.beg_auth_comp_id
77 struct_conf.beg_auth_asym_id
78 struct_conf.beg_auth_seq_id
79 struct_conf.end_auth_comp_id
80 struct_conf.end_auth_asym_id
81 struct_conf.end_auth_seq_id
82 struct_conf.pdbx_PDB_helix_class
83 struct_conf.details
84 struct_conf.pdbx_PDB_helix_length
85 struct_conn.id
86 struct_conn.conn_type_id
87 struct_conn.pdbx_PDB_id
88 struct_conn.ptnr1_label_asym_id
89 struct_conn.ptnr1_label_comp_id
90 struct_conn.ptnr1_label_seq_id
91 struct_conn.ptnr1_label_atom_id
92 struct_conn.pdbx_ptnr1_label_alt_id
93 struct_conn.pdbx_ptnr1_PDB_ins_code
94 struct_conn.pdbx_ptnr1_standard_comp_id
95 struct_conn.ptnr1_symmetry
96 struct_conn.ptnr2_label_asym_id
97 struct_conn.ptnr2_label_comp_id
98 struct_conn.ptnr2_label_seq_id
99 struct_conn.ptnr2_label_atom_id
100 struct_conn.pdbx_ptnr2_label_alt_id
101 struct_conn.pdbx_ptnr2_PDB_ins_code
102 struct_conn.ptnr1_auth_asym_id
103 struct_conn.ptnr1_auth_comp_id
104 struct_conn.ptnr1_auth_seq_id
105 struct_conn.ptnr2_auth_asym_id
106 struct_conn.ptnr2_auth_comp_id
107 struct_conn.ptnr2_auth_seq_id
108 struct_conn.ptnr2_symmetry
109 struct_conn.pdbx_ptnr3_label_atom_id
110 struct_conn.pdbx_ptnr3_label_seq_id
111 struct_conn.pdbx_ptnr3_label_comp_id
112 struct_conn.pdbx_ptnr3_label_asym_id
113 struct_conn.pdbx_ptnr3_label_alt_id
114 struct_conn.pdbx_ptnr3_PDB_ins_code
115 struct_conn.details
116 struct_conn.pdbx_dist_value
117 struct_conn.pdbx_value_order
118 struct_conn_type.id
119 struct_conn_type.criteria
120 struct_conn_type.reference
121 struct_keywords.entry_id
122 struct_keywords.pdbx_keywords
123 struct_keywords.text
124 struct_sheet_range.sheet_id
125 struct_sheet_range.id
126 struct_sheet_range.beg_label_comp_id
127 struct_sheet_range.beg_label_asym_id
128 struct_sheet_range.beg_label_seq_id
129 struct_sheet_range.pdbx_beg_PDB_ins_code
130 struct_sheet_range.end_label_comp_id
131 struct_sheet_range.end_label_asym_id
132 struct_sheet_range.end_label_seq_id
133 struct_sheet_range.pdbx_end_PDB_ins_code
134 struct_sheet_range.beg_auth_comp_id
135 struct_sheet_range.beg_auth_asym_id
136 struct_sheet_range.beg_auth_seq_id
137 struct_sheet_range.end_auth_comp_id
138 struct_sheet_range.end_auth_asym_id
139 struct_sheet_range.end_auth_seq_id
140 struct_site.id
141 struct_site.pdbx_evidence_code
142 struct_site.pdbx_auth_asym_id
143 struct_site.pdbx_auth_comp_id
144 struct_site.pdbx_auth_seq_id
145 struct_site.pdbx_auth_ins_code
146 struct_site.pdbx_num_residues
147 struct_site.details
148 struct_site_gen.id
149 struct_site_gen.site_id
150 struct_site_gen.pdbx_num_res
151 struct_site_gen.label_comp_id
152 struct_site_gen.label_asym_id
153 struct_site_gen.label_seq_id
154 struct_site_gen.pdbx_auth_ins_code
155 struct_site_gen.auth_comp_id
156 struct_site_gen.auth_asym_id
157 struct_site_gen.auth_seq_id
158 struct_site_gen.label_atom_id
159 struct_site_gen.label_alt_id
160 struct_site_gen.symmetry
161 struct_site_gen.details
162 symmetry.entry_id
163 symmetry.space_group_name_H-M
164 symmetry.pdbx_full_space_group_name_H
165 symmetry.cell_setting
166 symmetry.Int_Tables_number
167 symmetry.space_group_name_Hall
168 pdbx_molecule.instance_id
169 pdbx_molecule.prd_id
170 pdbx_molecule.asym_id
171 pdbx_molecule_features.prd_id
172 pdbx_molecule_features.name
173 pdbx_molecule_features.type
174 pdbx_molecule_features.class
175 pdbx_molecule_features.details
176 pdbx_reference_entity_link.prd_id
177 pdbx_reference_entity_link.link_id
178 pdbx_reference_entity_link.link_class
179 pdbx_reference_entity_link.ref_entity_id_1
180 pdbx_reference_entity_link.entity_seq_num_1
181 pdbx_reference_entity_link.comp_id_1
182 pdbx_reference_entity_link.atom_id_1
183 pdbx_reference_entity_link.ref_entity_id_2
184 pdbx_reference_entity_link.entity_seq_num_2
185 pdbx_reference_entity_link.comp_id_2
186 pdbx_reference_entity_link.atom_id_2
187 pdbx_reference_entity_link.value_order
188 pdbx_reference_entity_link.component_1
189 pdbx_reference_entity_link.component_2
190 pdbx_reference_entity_link.details
191 pdbx_reference_entity_list.prd_id
192 pdbx_reference_entity_list.ref_entity_id
193 pdbx_reference_entity_list.component_id
194 pdbx_reference_entity_list.type
195 pdbx_reference_entity_list.details
196 pdbx_reference_entity_poly_link.prd_id
197 pdbx_reference_entity_poly_link.ref_entity_id
198 pdbx_reference_entity_poly_link.link_id
199 pdbx_reference_entity_poly_link.atom_id_1
200 pdbx_reference_entity_poly_link.comp_id_1
201 pdbx_reference_entity_poly_link.entity_seq_num_1
202 pdbx_reference_entity_poly_link.atom_id_2
203 pdbx_reference_entity_poly_link.comp_id_2
204 pdbx_reference_entity_poly_link.entity_seq_num_2
205 pdbx_reference_entity_poly_link.value_order
206 pdbx_reference_entity_poly_link.component_id
207 pdbx_struct_assembly.id
208 pdbx_struct_assembly.details
209 pdbx_struct_assembly.method_details
210 pdbx_struct_assembly.oligomeric_details
211 pdbx_struct_assembly.oligomeric_count
212 pdbx_struct_assembly_gen.assembly_id
213 pdbx_struct_assembly_gen.oper_expression
214 pdbx_struct_assembly_gen.asym_id_list
215 pdbx_struct_oper_list.id
216 pdbx_struct_oper_list.type
217 pdbx_struct_oper_list.name
218 pdbx_struct_oper_list.symmetry_operation
219 pdbx_struct_oper_list.matrix
220 pdbx_struct_oper_list.vector
221 pdbx_struct_mod_residue.id
222 pdbx_struct_mod_residue.label_asym_id
223 pdbx_struct_mod_residue.label_seq_id
224 pdbx_struct_mod_residue.label_comp_id
225 pdbx_struct_mod_residue.auth_asym_id
226 pdbx_struct_mod_residue.auth_seq_id
227 pdbx_struct_mod_residue.auth_comp_id
228 pdbx_struct_mod_residue.PDB_ins_code
229 pdbx_struct_mod_residue.parent_comp_id
230 pdbx_struct_mod_residue.details

File diff suppressed because it is too large Load Diff

View File

@@ -11,7 +11,7 @@ import { generate } from './util/generate'
function generateSchema (name: string, path: string) {
const str = fs.readFileSync(path, 'utf8')
return generate(name, JSON.parse(str))
return generate(name, '', JSON.parse(str))
}
const parser = new argparse.ArgumentParser({

View File

@@ -10,34 +10,30 @@ import * as fs from 'fs'
import fetch from 'node-fetch'
import Csv from 'mol-io/reader/csv/parser'
import CIF from 'mol-io/reader/cif'
import CIF, { Frame } from 'mol-io/reader/cif'
import { generateSchema } from './util/cif-dic'
import { generate } from './util/generate'
import { Filter, mergeFilters } from './util/json-schema'
import { Run } from 'mol-task';
import { Filter } from './util/json-schema'
import { Run } from 'mol-task'
async function runGenerateSchema(name: string, fieldNamesPath?: string, minCount = 0, typescript = false, out?: string) {
async function runGenerateSchema(name: string, fieldNamesPath?: string, typescript = false, out?: string) {
await ensureMmcifDicAvailable()
const comp = CIF.parseText(fs.readFileSync(MMCIF_DIC_PATH, 'utf8'))
const parsed = await Run(comp);
if (parsed.isError) throw parsed
const mmcifDic = await Run(CIF.parseText(fs.readFileSync(MMCIF_DIC_PATH, 'utf8')));
if (mmcifDic.isError) throw mmcifDic
// console.log(fieldNamesPath, minCount)
await ensureIhmDicAvailable()
const ihmDic = await Run(CIF.parseText(fs.readFileSync(IHM_DIC_PATH, 'utf8')));
if (ihmDic.isError) throw ihmDic
let filter: Filter | undefined
if (minCount && fieldNamesPath) {
filter = mergeFilters(
await getUsageCountsFilter(minCount),
await getFieldNamesFilter(fieldNamesPath)
)
} else if (minCount) {
filter = await getUsageCountsFilter(minCount)
} else if (fieldNamesPath) {
filter = await getFieldNamesFilter(fieldNamesPath)
}
const mmcifDicVersion = CIF.schema.dic(mmcifDic.result.blocks[0]).dictionary.version.value(0)
const ihmDicVersion = CIF.schema.dic(ihmDic.result.blocks[0]).dictionary.version.value(0)
const version = `Dictionary versions: mmCIF ${mmcifDicVersion}, IHM ${ihmDicVersion}.`
const schema = generateSchema(parsed.result.blocks[0])
const output = typescript ? generate(name, schema, filter) : JSON.stringify(schema, undefined, 4)
const frames: Frame[] = [...mmcifDic.result.blocks[0].saveFrames, ...ihmDic.result.blocks[0].saveFrames]
const schema = generateSchema(frames)
const filter = fieldNamesPath ? await getFieldNamesFilter(fieldNamesPath) : undefined
const output = typescript ? generate(name, version, schema, filter) : JSON.stringify(schema, undefined, 4)
if (out) {
fs.writeFileSync(out, output)
@@ -67,44 +63,31 @@ async function getFieldNamesFilter(fieldNamesPath: string): Promise<Filter> {
return filter
}
async function getUsageCountsFilter(minCount: number): Promise<Filter> {
const usageCountsStr = fs.readFileSync(MMCIF_USAGE_COUNTS_PATH, 'utf8')
const parsed = await Run(Csv(usageCountsStr, { delimiter: ' ' }));
if (parsed.isError) throw parser.error
const csvFile = parsed.result;
const fieldNamesCol = csvFile.table.getColumn('field_name')
const usageCountsCol = csvFile.table.getColumn('usage_count')
if (!fieldNamesCol || !usageCountsCol) throw 'error getting usage columns'
const fieldNames = fieldNamesCol.toStringArray()
const usageCounts = usageCountsCol.toIntArray()
const filter: Filter = {}
fieldNames.forEach((name, i) => {
if (usageCounts[i] < minCount) return
const [ category, field ] = name.substr(1).split('.')
if (!filter[ category ]) filter[ category ] = {}
filter[ category ][ field ] = true
})
return filter
async function ensureMmcifDicAvailable() {
await ensureDicAvailable(MMCIF_DIC_PATH, MMCIF_DIC_URL)
}
async function ensureMmcifDicAvailable() {
if (FORCE_MMCIF_DOWNLOAD || !fs.existsSync(MMCIF_DIC_PATH)) {
async function ensureIhmDicAvailable() {
await ensureDicAvailable(IHM_DIC_PATH, IHM_DIC_URL)
}
async function ensureDicAvailable(dicPath: string, dicUrl: string) {
if (FORCE_DIC_DOWNLOAD || !fs.existsSync(dicPath)) {
console.log('downloading mmcif dic...')
const data = await fetch(MMCIF_DIC_URL)
if (!fs.existsSync(MMCIF_DIC_DIR)) {
fs.mkdirSync(MMCIF_DIC_DIR);
const data = await fetch(dicUrl)
if (!fs.existsSync(DIC_DIR)) {
fs.mkdirSync(DIC_DIR);
}
fs.writeFileSync(MMCIF_DIC_PATH, await data.text())
fs.writeFileSync(dicPath, await data.text())
console.log('done downloading mmcif dic')
}
}
const MMCIF_USAGE_COUNTS_PATH = './data/mmcif-usage-counts.txt'
const MMCIF_DIC_DIR = './build/dics'
const MMCIF_DIC_PATH = `${MMCIF_DIC_DIR}/mmcif_pdbx_v50.dic`
const DIC_DIR = './build/dics'
const MMCIF_DIC_PATH = `${DIC_DIR}/mmcif_pdbx_v50.dic`
const MMCIF_DIC_URL = 'http://mmcif.wwpdb.org/dictionaries/ascii/mmcif_pdbx_v50.dic'
const IHM_DIC_PATH = `${DIC_DIR}/ihm-extension.dic`
const IHM_DIC_URL = 'https://raw.githubusercontent.com/ihmwg/IHM-dictionary/master/ihm-extension.dic'
const parser = new argparse.ArgumentParser({
addHelp: true,
@@ -121,31 +104,25 @@ parser.addArgument([ '--typescript', '-ts' ], {
action: 'storeTrue',
help: 'Output schema as TypeScript instead of as JSON'
});
parser.addArgument([ '--minFieldUsageCount', '-mc' ], {
defaultValue: 0,
type: parseInt,
help: 'Minimum mmcif field usage counts'
});
parser.addArgument([ '--fieldNamesPath', '-fn' ], {
defaultValue: '',
help: 'Field names to include'
});
parser.addArgument([ '--forceMmcifDicDownload', '-f' ], {
parser.addArgument([ '--forceDicDownload', '-f' ], {
action: 'storeTrue',
help: 'Force download of mmcif dictionary'
help: 'Force download of dictionaries'
});
interface Args {
name: string
forceMmcifDicDownload: boolean
forceDicDownload: boolean
fieldNamesPath: string
minFieldUsageCount: number
typescript: boolean
out: string
}
const args: Args = parser.parseArgs();
const FORCE_MMCIF_DOWNLOAD = args.forceMmcifDicDownload
const FORCE_DIC_DOWNLOAD = args.forceDicDownload
if (args.name) {
runGenerateSchema(args.name, args.fieldNamesPath, args.minFieldUsageCount, args.typescript, args.out)
runGenerateSchema(args.name, args.fieldNamesPath, args.typescript, args.out)
}

View File

@@ -6,6 +6,7 @@
import { Database, ValueColumn, ListColumn } from './json-schema'
import * as Data from 'mol-io/reader/cif/data-model'
import { Frame } from 'mol-io/reader/cif/data-model';
export function getFieldType (type: string, values?: string[]): ValueColumn|ListColumn {
switch (type) {
@@ -92,7 +93,12 @@ function getField ( category: string, field: string, d: Data.Frame, ctx: FrameDa
return cat.getField(field)
} else {
if (d.header in links) {
return getField(category, field, categories[links[d.header]], ctx)
const linkName = links[d.header]
if (linkName in categories) {
return getField(category, field, categories[linkName], ctx)
} else {
console.log(`link '${linkName}' not found`)
}
} else {
// console.log(`no links found for '${d.header}'`)
}
@@ -172,14 +178,14 @@ const SPACE_SEPARATED_LIST_FIELDS = [
'_pdbx_soln_scatter.data_analysis_software_list', // SCTPL5 GNOM
];
export function generateSchema (dic: Data.Block) {
export function generateSchema (frames: Frame[]) {
const schema: Database = {}
const categories: FrameCategories = {}
const links: FrameLinks = {}
const ctx = { categories, links }
dic.saveFrames.forEach(d => {
frames.forEach(d => {
if (d.header[0] !== '_') return
categories[d.header] = d
const item_linked = d.categories['item_linked']
@@ -201,6 +207,10 @@ export function generateSchema (dic: Data.Block) {
Object.keys(categories).forEach(fullName => {
const d = categories[fullName]
if (!d) {
console.log('foo', fullName)
return
}
const categoryName = d.header.substring(1, d.header.indexOf('.'))
const itemName = d.header.substring(d.header.indexOf('.') + 1)
let fields

View File

@@ -7,11 +7,11 @@
import { validate } from './validate'
import { Database, getTypeAndArgs, Filter } from './json-schema'
function header (name: string, importDatabasePath = 'mol-data/db') {
function header (name: string, info: string, importDatabasePath = 'mol-data/db') {
return `/**
* Copyright (c) 2017-2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* Code-generated '${name}' schema file
* Code-generated '${name}' schema file. ${info}
*
* @author mol-star package (src/apps/schema-generator/generate)
*/
@@ -39,7 +39,7 @@ export interface ${name}_Database extends Database<${name}_Schema> {}`
const value: { [k: string]: (...args: any[]) => string } = {
enum: function (type: string, values: string[]) {
return `Aliased<'${values.join(`' | '`)}'>(${type})`
return `Aliased<'${values.map(v => v.replace(/'/g, '\\\'')).join(`' | '`)}'>(${type})`
},
matrix: function (rows: number, cols: number) {
return `Matrix(${rows}, ${cols})`
@@ -63,7 +63,7 @@ function safePropertyString(name: string) {
return name.match(reSafePropertyName) ? name : `'${name}'`
}
export function generate (name: string, schema: Database, fields?: Filter, importDatabasePath?: string) {
export function generate (name: string, info: string, schema: Database, fields?: Filter, importDatabasePath?: string) {
const validationResult = validate(schema)
if (validationResult !== true) {
throw validationResult
@@ -92,5 +92,5 @@ export function generate (name: string, schema: Database, fields?: Filter, impor
})
codeLines.push('}')
return `${header(name, importDatabasePath)}\n\n${codeLines.join('\n')}\n${footer(name)}`
return `${header(name, info, importDatabasePath)}\n\n${codeLines.join('\n')}\n${footer(name)}`
}

View File

@@ -12,6 +12,7 @@ import { toDatabaseCollection, toDatabase } from './cif/schema'
import { mmCIF_Schema, mmCIF_Database } from './cif/schema/mmcif'
import { CCD_Schema, CCD_Database } from './cif/schema/ccd'
import { BIRD_Schema, BIRD_Database } from './cif/schema/bird'
import { dic_Schema, dic_Database } from './cif/schema/dic';
export default {
parse: (data: string|Uint8Array) => typeof data === 'string' ? parseText(data) : parseBinary(data),
@@ -22,7 +23,8 @@ export default {
schema: {
mmCIF: (frame: Frame) => toDatabase<mmCIF_Schema, mmCIF_Database>(mmCIF_Schema, frame),
CCD: (frame: Frame) => toDatabase<CCD_Schema, CCD_Database>(CCD_Schema, frame),
BIRD: (frame: Frame) => toDatabase<BIRD_Schema, BIRD_Database>(BIRD_Schema, frame)
BIRD: (frame: Frame) => toDatabase<BIRD_Schema, BIRD_Database>(BIRD_Schema, frame),
dic: (frame: Frame) => toDatabase<dic_Schema, dic_Database>(dic_Schema, frame)
}
}

View File

@@ -1,5 +1,5 @@
/**
* Copyright (c) 2017 mol* contributors, licensed under MIT, See LICENSE file for more info.
* Copyright (c) 2017-2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
@@ -60,7 +60,7 @@ const item_units_conversion = {
// TODO save frame dic schema
export const CIFDictionary_Schema = {
export const dic_Schema = {
datablock,
dictionary,
dictionary_history,
@@ -71,5 +71,5 @@ export const CIFDictionary_Schema = {
item_units_conversion
}
export type CIFDictionary_Schema = typeof CIFDictionary_Schema;
export type CIFDictionary_Database = Database.Tables<CIFDictionary_Schema>
export type dic_Schema = typeof dic_Schema;
export interface dic_Database extends Database<dic_Schema> {}

View File

@@ -1,7 +1,7 @@
/**
* Copyright (c) 2017-2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* Code-generated 'mmCIF' schema file
* Code-generated 'mmCIF' schema file. Dictionary versions: mmCIF 5.293, IHM 0.130.
*
* @author mol-star package (src/apps/schema-generator/generate)
*/
@@ -43,6 +43,7 @@ export const mmCIF_Schema = {
pdbx_PDB_ins_code: str,
pdbx_PDB_model_num: int,
pdbx_formal_charge: int,
ihm_model_id: int,
},
cell: {
angle_alpha: float,
@@ -302,6 +303,375 @@ export const mmCIF_Schema = {
name: str,
details: str,
},
ihm_starting_model_details: {
starting_model_id: str,
entity_id: str,
entity_description: str,
asym_id: str,
seq_id_begin: int,
seq_id_end: int,
starting_model_source: Aliased<'comparative model' | 'experimental model' | 'integrative model' | 'other ab initio models'>(str),
starting_model_auth_asym_id: str,
starting_model_sequence_offset: int,
dataset_list_id: int,
},
ihm_starting_comparative_models: {
ordinal_id: int,
starting_model_id: str,
starting_model_auth_asym_id: str,
starting_model_seq_id_begin: int,
starting_model_seq_id_end: int,
template_auth_asym_id: str,
template_seq_id_begin: int,
template_seq_id_end: int,
template_sequence_identity: float,
template_sequence_identity_denominator: Aliased<'1' | '2' | '3' | '4' | '5'>(int),
template_dataset_list_id: int,
alignment_file_id: int,
},
ihm_starting_model_seq_dif: {
ordinal_id: int,
entity_id: str,
asym_id: str,
seq_id: int,
comp_id: str,
starting_model_id: str,
db_asym_id: str,
db_seq_id: int,
db_comp_id: str,
details: str,
},
ihm_model_representation: {
ordinal_id: int,
representation_id: int,
segment_id: int,
entity_id: str,
entity_description: str,
entity_asym_id: str,
seq_id_begin: int,
seq_id_end: int,
model_object_primitive: Aliased<'atomistic' | 'sphere' | 'gaussian' | 'other'>(str),
starting_model_id: str,
model_mode: Aliased<'rigid' | 'flexible'>(str),
model_granularity: Aliased<'by-atom' | 'by-residue' | 'multi-residue' | 'by-feature'>(str),
model_object_count: int,
},
ihm_struct_assembly: {
ordinal_id: int,
assembly_id: int,
parent_assembly_id: int,
entity_description: str,
entity_id: str,
asym_id: str,
seq_id_begin: int,
seq_id_end: int,
},
ihm_struct_assembly_details: {
assembly_id: int,
assembly_name: str,
assembly_description: str,
},
ihm_modeling_protocol: {
ordinal_id: int,
protocol_id: int,
step_id: int,
struct_assembly_id: int,
dataset_group_id: int,
struct_assembly_description: str,
protocol_name: str,
step_name: str,
step_method: str,
num_models_begin: int,
num_models_end: int,
multi_scale_flag: Aliased<'YES' | 'NO'>(str),
multi_state_flag: Aliased<'YES' | 'NO'>(str),
ordered_flag: Aliased<'YES' | 'NO'>(str),
},
ihm_multi_state_modeling: {
ordinal_id: int,
state_id: int,
state_group_id: int,
population_fraction: float,
state_type: str,
state_name: str,
model_group_id: int,
experiment_type: Aliased<'Fraction of bulk' | 'Single molecule'>(str),
details: str,
},
ihm_modeling_post_process: {
id: int,
protocol_id: int,
analysis_id: int,
step_id: int,
type: Aliased<'filter' | 'cluster' | 'rescore' | 'validation' | 'other' | 'none'>(str),
feature: Aliased<'energy/score' | 'RMSD' | 'dRMSD' | 'other' | 'none'>(str),
num_models_begin: int,
num_models_end: int,
},
ihm_ensemble_info: {
ensemble_id: int,
ensemble_name: str,
post_process_id: int,
model_group_id: int,
ensemble_clustering_method: Aliased<'Hierarchical' | 'Partitioning (k-means)' | 'Other'>(str),
ensemble_clustering_feature: Aliased<'RMSD' | 'dRMSD' | 'other'>(str),
num_ensemble_models: int,
num_ensemble_models_deposited: int,
ensemble_precision_value: float,
ensemble_file_id: int,
},
ihm_model_list: {
ordinal_id: int,
model_id: int,
model_group_id: int,
model_name: str,
model_group_name: str,
assembly_id: int,
protocol_id: int,
representation_id: int,
},
ihm_model_representative: {
id: int,
model_group_id: int,
model_id: int,
selection_criteria: Aliased<'medoid' | 'closest to the average' | 'lowest energy' | 'target function' | 'fewest violations' | 'minimized average structure' | 'best scoring model' | 'centroid' | 'other selction criteria'>(str),
},
ihm_dataset_list: {
id: int,
data_type: Aliased<'NMR data' | '3DEM volume' | '2DEM class average' | 'EM raw micrographs' | 'SAS data' | 'CX-MS data' | 'Mass Spectrometry data' | 'EPR data' | 'H/D exchange data' | 'Single molecule FRET data' | 'Experimental model' | 'Comparative model' | 'Integrative model' | 'De Novo model' | 'Predicted contacts' | 'Mutagenesis data' | 'DNA footprinting data' | 'Yeast two-hybrid screening data' | 'Other'>(str),
database_hosted: Aliased<'YES' | 'NO'>(str),
},
ihm_dataset_group: {
ordinal_id: int,
group_id: int,
dataset_list_id: int,
},
ihm_related_datasets: {
ordinal_id: int,
dataset_list_id_derived: int,
dataset_list_id_primary: int,
},
ihm_dataset_related_db_reference: {
id: int,
dataset_list_id: int,
db_name: Aliased<'PDB' | 'BMRB' | 'EMDB' | 'EMPIAR' | 'SASBDB' | 'PRIDE' | 'MODEL ARCHIVE' | 'MASSIVE' | 'BioGRID' | 'Other'>(str),
accession_code: str,
version: str,
details: str,
},
ihm_external_reference_info: {
reference_id: int,
reference_provider: str,
reference_type: Aliased<'DOI' | 'Supplementary Files'>(str),
reference: str,
refers_to: Aliased<'File' | 'Archive' | 'Publication' | 'Other'>(str),
associated_url: str,
},
ihm_external_files: {
id: int,
reference_id: int,
file_path: str,
content_type: Aliased<'Input data or restraints' | 'Modeling or post-processing output' | 'Modeling workflow or script' | 'Visualization script' | 'Other'>(str),
file_size_bytes: float,
details: str,
},
ihm_dataset_external_reference: {
id: int,
dataset_list_id: int,
file_id: int,
},
ihm_localization_density_files: {
id: int,
file_id: int,
ensemble_id: int,
entity_id: str,
seq_id_begin: int,
seq_id_end: int,
asym_id: str,
},
ihm_predicted_contact_restraint: {
id: int,
entity_id_1: str,
entity_id_2: str,
asym_id_1: str,
asym_id_2: str,
comp_id_1: str,
comp_id_2: str,
seq_id_1: int,
seq_id_2: int,
atom_id_1: str,
atom_id_2: str,
distance_upper_limit: float,
probability: float,
restraint_type: Aliased<'lower bound' | 'upper bound' | 'lower and upper bound'>(str),
model_granularity: Aliased<'by-residue' | 'by-feature' | 'by-atom'>(str),
dataset_list_id: int,
software_id: int,
},
ihm_cross_link_list: {
id: int,
group_id: int,
entity_description_1: str,
entity_description_2: str,
entity_id_1: str,
entity_id_2: str,
comp_id_1: str,
comp_id_2: str,
seq_id_1: int,
seq_id_2: int,
linker_type: Aliased<'EDC' | 'DSS' | 'EGS' | 'BS3' | 'BS2G' | 'DST' | 'sulfo-SDA' | 'sulfo-SMCC' | 'Other'>(str),
dataset_list_id: int,
},
ihm_cross_link_restraint: {
id: int,
group_id: int,
entity_id_1: str,
entity_id_2: str,
asym_id_1: str,
asym_id_2: str,
comp_id_1: str,
comp_id_2: str,
seq_id_1: int,
seq_id_2: int,
restraint_type: Aliased<'harmonic' | 'upper bound' | 'lower bound'>(str),
conditional_crosslink_flag: Aliased<'ALL' | 'ANY'>(str),
model_granularity: Aliased<'by-residue' | 'by-feature' | 'by-atom'>(str),
distance_threshold: float,
psi: float,
sigma_1: float,
sigma_2: float,
},
ihm_cross_link_result_parameters: {
ordinal_id: int,
restraint_id: int,
model_id: int,
psi: float,
sigma_1: float,
sigma_2: float,
},
ihm_2dem_class_average_restraint: {
id: int,
dataset_list_id: int,
number_raw_micrographs: int,
pixel_size_width: float,
pixel_size_height: float,
image_resolution: float,
image_segment_flag: Aliased<'YES' | 'NO'>(str),
number_of_projections: int,
struct_assembly_id: int,
details: str,
},
ihm_2dem_class_average_fitting: {
ordinal_id: int,
restraint_id: int,
model_id: int,
cross_correlation_coefficient: float,
rot_matrix: Matrix(3, 3),
tr_vector: Vector(3),
},
ihm_3dem_restraint: {
ordinal_id: int,
dataset_list_id: int,
model_id: int,
struct_assembly_id: int,
fitting_method: str,
number_of_gaussians: int,
cross_correlation_coefficient: float,
},
ihm_sas_restraint: {
ordinal_id: int,
dataset_list_id: int,
model_id: int,
struct_assembly_id: int,
profile_segment_flag: Aliased<'YES' | 'NO'>(str),
fitting_atom_type: str,
fitting_method: str,
fitting_state: Aliased<'Single' | 'Multiple'>(str),
radius_of_gyration: float,
chi_value: float,
details: str,
},
ihm_starting_model_coord: {
ordinal_id: int,
starting_model_id: str,
group_PDB: Aliased<'ATOM' | 'HETATM'>(str),
id: int,
type_symbol: str,
entity_id: str,
atom_id: str,
comp_id: str,
seq_id: int,
asym_id: str,
Cartn_x: float,
Cartn_y: float,
Cartn_z: float,
B_iso_or_equiv: float,
},
ihm_sphere_obj_site: {
ordinal_id: int,
entity_id: str,
seq_id_begin: int,
seq_id_end: int,
asym_id: str,
Cartn_x: float,
Cartn_y: float,
Cartn_z: float,
object_radius: float,
rmsf: float,
model_id: int,
},
ihm_gaussian_obj_site: {
ordinal_id: int,
entity_id: str,
seq_id_begin: int,
seq_id_end: int,
asym_id: str,
mean_Cartn_x: float,
mean_Cartn_y: float,
mean_Cartn_z: float,
weight: float,
covariance_matrix: Matrix(3, 3),
model_id: int,
},
ihm_gaussian_obj_ensemble: {
ordinal_id: int,
entity_id: str,
seq_id_begin: int,
seq_id_end: int,
asym_id: str,
mean_Cartn_x: float,
mean_Cartn_y: float,
mean_Cartn_z: float,
weight: float,
covariance_matrix: Matrix(3, 3),
ensemble_id: int,
},
ihm_feature_list: {
feature_id: int,
feature_type: Aliased<'atom' | 'residue' | 'residue range'>(str),
entity_type: Aliased<'polymer' | 'non-polymer' | 'macrolide' | 'water'>(str),
},
ihm_poly_residue_feature: {
ordinal_id: int,
feature_id: int,
entity_id: str,
asym_id: str,
comp_id_begin: str,
comp_id_end: str,
seq_id_begin: int,
seq_id_end: int,
},
ihm_derived_distance_restraint: {
id: int,
group_id: int,
feature_id_1: int,
feature_id_2: int,
group_conditionality: Aliased<'ALL' | 'ANY'>(str),
random_exclusion_fraction: float,
distance_upper_limit: float,
restraint_type: Aliased<'lower bound' | 'upper bound' | 'lower and upper bound'>(str),
dataset_list_id: int,
},
}
export type mmCIF_Schema = typeof mmCIF_Schema;