Skip to content
Snippets Groups Projects
Commit c36c3f0d authored by Alexander Rose's avatar Alexander Rose
Browse files

added code generated mmcif schema based on popular fields

parent 6629c0b5
No related branches found
No related tags found
No related merge requests found
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
exptl.entry_id
exptl.method
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
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
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_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_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_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
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
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
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
\ No newline at end of file
/** /**
* 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 David Sehnal <david.sehnal@gmail.com> * Code-generated 'mmCIF' schema file
*
* @author mol-star package (src/apps/schema-generator/generate)
*/ */
import { Database, Column } from 'mol-data/db' import { Database, Column } from 'mol-data/db'
...@@ -11,241 +13,200 @@ import Schema = Column.Schema ...@@ -11,241 +13,200 @@ import Schema = Column.Schema
const str = Schema.str; const str = Schema.str;
const int = Schema.int; const int = Schema.int;
const float = Schema.float; const float = Schema.float;
const coord = Schema.coord;
const entry = { const Aliased = Schema.Aliased;
id: str const Matrix = Schema.Matrix;
} const Vector = Schema.Vector;
type EntityType = 'polymer' | 'non-polymer' | 'water' | 'macrolide'
const entity = { export const mmCIF_Schema = {
id: str, atom_site: {
type: Schema.Aliased<EntityType>(str), auth_asym_id: str,
src_method: str, auth_atom_id: str,
pdbx_description: str, auth_comp_id: str,
formula_weight: float, // auth_seq_id: str,
pdbx_number_of_molecules: int, auth_seq_id: int,
details: str, B_iso_or_equiv: float,
pdbx_mutation: str, Cartn_x: coord,
pdbx_fragment: str, Cartn_y: coord,
pdbx_ec: str Cartn_z: coord,
} group_PDB: str,
// id: str,
const exptl = { id: int,
entry_id: str, label_alt_id: str,
method: str label_asym_id: str,
} label_atom_id: str,
label_comp_id: str,
const cell = { label_entity_id: str,
label_seq_id: int,
occupancy: float,
type_symbol: str,
pdbx_PDB_ins_code: str,
pdbx_PDB_model_num: int,
pdbx_formal_charge: int,
},
cell: {
angle_alpha: float,
angle_beta: float,
angle_gamma: float,
entry_id: str, entry_id: str,
length_a: float, length_a: float,
length_b: float, length_b: float,
length_c: float, length_c: float,
angle_alpha: float,
angle_beta: float,
angle_gamma: float,
Z_PDB: int, Z_PDB: int,
pdbx_unique_axis: str pdbx_unique_axis: str,
} },
chem_comp_bond: {
const symmetry = { atom_id_1: str,
entry_id: str, atom_id_2: str,
'space_group_name_H-M': str, comp_id: str,
'pdbx_full_space_group_name_H': str, value_order: Aliased<'sing' | 'doub' | 'trip' | 'quad' | 'arom' | 'poly' | 'delo' | 'pi'>(str),
cell_setting: str, pdbx_ordinal: int,
Int_Tables_number: int, pdbx_stereo_config: Aliased<'E' | 'Z' | 'N'>(str),
space_group_name_Hall: str pdbx_aromatic_flag: Aliased<'Y' | 'N'>(str),
} },
entity: {
const struct_conf = { details: str,
conf_type_id: str, formula_weight: float,
id: str, id: str,
pdbx_PDB_helix_id: int, src_method: Aliased<'nat' | 'man' | 'syn'>(str),
beg_label_comp_id: str, type: Aliased<'polymer' | 'non-polymer' | 'macrolide' | 'water'>(str),
pdbx_description: str,
pdbx_number_of_molecules: float,
pdbx_mutation: str,
pdbx_fragment: str,
pdbx_ec: str,
},
exptl: {
entry_id: str,
method: str,
},
struct_conf: {
beg_label_asym_id: str, beg_label_asym_id: str,
beg_label_comp_id: str,
beg_label_seq_id: int, beg_label_seq_id: int,
pdbx_beg_PDB_ins_code: str,
end_label_comp_id: str,
end_label_asym_id: str,
end_label_seq_id: int,
pdbx_end_PDB_ins_code: str,
beg_auth_comp_id: str,
beg_auth_asym_id: str, beg_auth_asym_id: str,
beg_auth_comp_id: str,
// beg_auth_seq_id: str,
beg_auth_seq_id: int, beg_auth_seq_id: int,
end_auth_comp_id: str, conf_type_id: Aliased<'HELX_P' | 'HELX_OT_P' | 'HELX_RH_P' | 'HELX_RH_OT_P' | 'HELX_RH_AL_P' | 'HELX_RH_GA_P' | 'HELX_RH_OM_P' | 'HELX_RH_PI_P' | 'HELX_RH_27_P' | 'HELX_RH_3T_P' | 'HELX_RH_PP_P' | 'HELX_LH_P' | 'HELX_LH_OT_P' | 'HELX_LH_AL_P' | 'HELX_LH_GA_P' | 'HELX_LH_OM_P' | 'HELX_LH_PI_P' | 'HELX_LH_27_P' | 'HELX_LH_3T_P' | 'HELX_LH_PP_P' | 'HELX_N' | 'HELX_OT_N' | 'HELX_RH_N' | 'HELX_RH_OT_N' | 'HELX_RH_A_N' | 'HELX_RH_B_N' | 'HELX_RH_Z_N' | 'HELX_LH_N' | 'HELX_LH_OT_N' | 'HELX_LH_A_N' | 'HELX_LH_B_N' | 'HELX_LH_Z_N' | 'TURN_P' | 'TURN_OT_P' | 'TURN_TY1_P' | 'TURN_TY1P_P' | 'TURN_TY2_P' | 'TURN_TY2P_P' | 'TURN_TY3_P' | 'TURN_TY3P_P' | 'STRN'>(str),
end_auth_asym_id: str,
end_auth_seq_id: int,
pdbx_PDB_helix_class: int,
details: str, details: str,
pdbx_PDB_helix_length: int
}
const struct_sheet_range = {
sheet_id: str,
id: int,
beg_label_comp_id: str,
beg_label_asym_id: str,
beg_label_seq_id: int,
pdbx_beg_PDB_ins_code: str,
end_label_comp_id: str,
end_label_asym_id: str, end_label_asym_id: str,
end_label_comp_id: str,
end_label_seq_id: int, end_label_seq_id: int,
pdbx_end_PDB_ins_code: str,
beg_auth_comp_id: str,
beg_auth_asym_id: str,
beg_auth_seq_id: int,
end_auth_comp_id: str,
end_auth_asym_id: str, end_auth_asym_id: str,
end_auth_seq_id: int end_auth_comp_id: str,
} // end_auth_seq_id: str,
end_auth_seq_id: int,
type StructConnTypeId = id: str,
| 'covale' pdbx_beg_PDB_ins_code: str,
| 'covale_base' pdbx_end_PDB_ins_code: str,
| 'covale_phosphate' pdbx_PDB_helix_class: str,
| 'covale_sugar' pdbx_PDB_helix_length: int,
| 'disulf' pdbx_PDB_helix_id: str,
| 'hydrog' },
| 'metalc' struct_conn: {
| 'mismat' conn_type_id: Aliased<'covale' | 'disulf' | 'hydrog' | 'metalc' | 'mismat' | 'saltbr' | 'modres' | 'covale_base' | 'covale_sugar' | 'covale_phosphate'>(str),
| 'modres' details: str,
| 'saltbr'
type BondValueOrder =
| 'SING'
| 'DOUB'
| 'TRIP'
| 'QUAD'
const struct_conn = {
id: str, id: str,
conn_type_id: Schema.Aliased<StructConnTypeId>(str),
pdbx_PDB_id: str,
ptnr1_label_asym_id: str, ptnr1_label_asym_id: str,
ptnr1_label_atom_id: str,
ptnr1_label_comp_id: str, ptnr1_label_comp_id: str,
ptnr1_label_seq_id: int, ptnr1_label_seq_id: int,
ptnr1_label_atom_id: str,
pdbx_ptnr1_label_alt_id: str,
pdbx_ptnr1_PDB_ins_code: str,
pdbx_ptnr1_standard_comp_id: str,
ptnr1_symmetry: str,
ptnr2_label_asym_id: str,
ptnr2_label_comp_id: str,
ptnr2_label_seq_id: int,
ptnr2_label_atom_id: str,
pdbx_ptnr2_label_alt_id: str,
pdbx_ptnr2_PDB_ins_code: str,
ptnr1_auth_asym_id: str, ptnr1_auth_asym_id: str,
ptnr1_auth_comp_id: str, ptnr1_auth_comp_id: str,
// ptnr1_auth_seq_id: str,
ptnr1_auth_seq_id: int, ptnr1_auth_seq_id: int,
ptnr1_symmetry: str,
ptnr2_label_asym_id: str,
ptnr2_label_atom_id: str,
ptnr2_label_seq_id: int,
ptnr2_auth_asym_id: str, ptnr2_auth_asym_id: str,
ptnr2_auth_comp_id: str, ptnr2_auth_comp_id: str,
// ptnr2_auth_seq_id: str,
ptnr2_auth_seq_id: int, ptnr2_auth_seq_id: int,
ptnr2_symmetry: str, ptnr2_symmetry: str,
pdbx_ptnr1_PDB_ins_code: str,
pdbx_ptnr1_label_alt_id: str,
pdbx_ptnr1_standard_comp_id: str,
pdbx_ptnr2_PDB_ins_code: str,
pdbx_ptnr2_label_alt_id: str,
pdbx_ptnr3_PDB_ins_code: str,
pdbx_ptnr3_label_alt_id: str,
pdbx_ptnr3_label_asym_id: str,
pdbx_ptnr3_label_atom_id: str, pdbx_ptnr3_label_atom_id: str,
pdbx_ptnr3_label_seq_id: int,
pdbx_ptnr3_label_comp_id: str, pdbx_ptnr3_label_comp_id: str,
pdbx_ptnr3_label_asym_id: str, pdbx_ptnr3_label_seq_id: int,
pdbx_ptnr3_label_alt_id: str, pdbx_PDB_id: str,
pdbx_ptnr3_PDB_ins_code: str,
details: str,
pdbx_dist_value: float, pdbx_dist_value: float,
pdbx_value_order: Schema.Aliased<BondValueOrder>(str) pdbx_value_order: Aliased<'sing' | 'doub' | 'trip' | 'quad'>(str),
} },
struct_conn_type: {
const struct_conn_type = {
id: Schema.Aliased<StructConnTypeId>(str),
criteria: str, criteria: str,
reference: str id: Aliased<'covale' | 'disulf' | 'hydrog' | 'metalc' | 'mismat' | 'saltbr' | 'modres' | 'covale_base' | 'covale_sugar' | 'covale_phosphate'>(str),
} reference: str,
},
const chem_comp_bond = { struct_sheet_range: {
comp_id: str, beg_label_asym_id: str,
pdbx_stereo_config: str, beg_label_comp_id: str,
pdbx_ordinal: int, beg_label_seq_id: int,
pdbx_aromatic_flag: Schema.Aliased<'Y' | 'N'>(str), end_label_asym_id: str,
atom_id_1: str, end_label_comp_id: str,
atom_id_2: str, end_label_seq_id: int,
value_order: Schema.Aliased<BondValueOrder>(str) beg_auth_asym_id: str,
} beg_auth_comp_id: str,
// beg_auth_seq_id: str,
const pdbx_struct_assembly = { beg_auth_seq_id: int,
end_auth_asym_id: str,
end_auth_comp_id: str,
// end_auth_seq_id: str,
end_auth_seq_id: int,
id: str, id: str,
details: str, sheet_id: str,
pdbx_beg_PDB_ins_code: str,
pdbx_end_PDB_ins_code: str,
},
symmetry: {
entry_id: str,
cell_setting: Aliased<'triclinic' | 'monoclinic' | 'orthorhombic' | 'tetragonal' | 'rhombohedral' | 'trigonal' | 'hexagonal' | 'cubic'>(str),
Int_Tables_number: int,
space_group_name_Hall: str,
'space_group_name_H-M': str,
},
pdbx_struct_assembly: {
method_details: str, method_details: str,
oligomeric_details: str, oligomeric_details: str,
oligomeric_count: int oligomeric_count: int,
} details: str,
const pdbx_struct_assembly_gen = {
assembly_id: str,
oper_expression: str,
asym_id_list: str
}
const pdbx_struct_oper_list = {
id: str, id: str,
type: str, },
name: str, pdbx_struct_mod_residue: {
symmetry_operation: str,
matrix: Schema.Matrix(3, 3),
vector: Schema.Vector(3)
}
const pdbx_struct_mod_residue = {
id: int, id: int,
label_asym_id: str,
label_seq_id: int,
label_comp_id: str,
auth_asym_id: str, auth_asym_id: str,
auth_seq_id: int,
auth_comp_id: str, auth_comp_id: str,
// auth_seq_id: str,
auth_seq_id: int,
PDB_ins_code: str, PDB_ins_code: str,
parent_comp_id: str,
details: str
}
const atom_site = {
group_PDB: str,
id: int,
type_symbol: str,
label_atom_id: str,
label_alt_id: str,
label_comp_id: str,
label_asym_id: str, label_asym_id: str,
label_entity_id: str, label_comp_id: str,
label_seq_id: int, label_seq_id: int,
pdbx_PDB_ins_code: str, parent_comp_id: str,
pdbx_formal_charge: str, details: str,
Cartn_x: Schema.coord, },
Cartn_y: Schema.coord, pdbx_struct_oper_list: {
Cartn_z: Schema.coord, id: str,
occupancy: float, type: str,
B_iso_or_equiv: float, name: str,
auth_atom_id: str, symmetry_operation: str,
auth_comp_id: str, matrix: Matrix(3, 3),
auth_asym_id: str, vector: Vector(3),
auth_seq_id: int, },
pdbx_PDB_model_num: int pdbx_struct_assembly_gen: {
asym_id_list: str,
assembly_id: str,
oper_expression: str,
},
} }
export const mmCIF_Schema = {
entry,
entity,
exptl,
cell,
symmetry,
struct_conf,
struct_sheet_range,
struct_conn,
struct_conn_type,
chem_comp_bond,
pdbx_struct_assembly,
pdbx_struct_assembly_gen,
pdbx_struct_oper_list,
pdbx_struct_mod_residue,
atom_site
};
export type mmCIF_Schema = typeof mmCIF_Schema; export type mmCIF_Schema = typeof mmCIF_Schema;
export interface mmCIF_Database extends Database<mmCIF_Schema> { } export interface mmCIF_Database extends Database<mmCIF_Schema> { }
\ No newline at end of file
...@@ -111,7 +111,7 @@ const atom_site: Encoder.CategoryDefinition<Atom.Location> = { ...@@ -111,7 +111,7 @@ const atom_site: Encoder.CategoryDefinition<Atom.Location> = {
float('Cartn_y', P.atom.y), float('Cartn_y', P.atom.y),
float('Cartn_z', P.atom.z), float('Cartn_z', P.atom.z),
float('occupancy', P.atom.occupancy), float('occupancy', P.atom.occupancy),
str('pdbx_formal_charge', P.atom.pdbx_formal_charge), int('pdbx_formal_charge', P.atom.pdbx_formal_charge),
str('auth_atom_id', P.atom.auth_atom_id), str('auth_atom_id', P.atom.auth_atom_id),
str('auth_comp_id', P.residue.auth_comp_id), str('auth_comp_id', P.residue.auth_comp_id),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment