mirror of
https://github.com/molstar/molstar.git
synced 2026-06-04 13:30:24 +08:00
added ihm extension to mmcif schema
This commit is contained in:
590
data/mmcif-field-names.csv
Normal file
590
data/mmcif-field-names.csv
Normal 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,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
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -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({
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)}`
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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> {}
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user