Browse Source

force int type for some mmcif fields

Alexander Rose 7 years ago
parent
commit
a8f665916d
2 changed files with 14 additions and 9 deletions
  1. 14 0
      src/apps/schema-generator/util/cif-dic.ts
  2. 0 9
      src/mol-io/reader/cif/schema/mmcif.ts

+ 14 - 0
src/apps/schema-generator/util/cif-dic.ts

@@ -130,6 +130,18 @@ function getSubCategory (d: Data.Frame, ctx: FrameData): string|undefined {
     }
 }
 
+const FORCE_INT_FIELDS = [
+    '_struct_conf.beg_auth_seq_id',
+    '_struct_conf.end_auth_seq_id',
+    '_struct_sheet_range.beg_auth_seq_id',
+    '_struct_sheet_range.end_auth_seq_id',
+    '_struct_conn.ptnr1_auth_seq_id',
+    '_struct_conn.ptnr2_auth_seq_id',
+    '_pdbx_struct_mod_residue.auth_seq_id',
+    '_atom_site.id',
+    '_atom_site.auth_seq_id'
+];
+
 export function generateSchema (dic: Data.Block) {
     const schema: Database = {}
 
@@ -174,6 +186,8 @@ export function generateSchema (dic: Data.Block) {
         const subCategory = getSubCategory(d, ctx)
         if (subCategory === 'cartesian_coordinate' || subCategory === 'fractional_coordinate') {
             fields[itemName] = 'coord'
+        } else if (FORCE_INT_FIELDS.includes(d.header)) {
+            fields[itemName] = 'int'
         } else if (subCategory === 'matrix') {
             fields[itemName.replace(/\[[1-3]\]\[[1-3]\]/, '')] = { 'matrix': [ 3, 3 ] }
         } else if (subCategory === 'vector') {

+ 0 - 9
src/mol-io/reader/cif/schema/mmcif.ts

@@ -24,14 +24,12 @@ export const mmCIF_Schema = {
         auth_asym_id: str,
         auth_atom_id: str,
         auth_comp_id: str,
-        // auth_seq_id: str,
         auth_seq_id: int,
         B_iso_or_equiv: float,
         Cartn_x: coord,
         Cartn_y: coord,
         Cartn_z: coord,
         group_PDB: str,
-        // id: str,
         id: int,
         label_alt_id: str,
         label_asym_id: str,
@@ -87,7 +85,6 @@ export const mmCIF_Schema = {
         beg_label_seq_id: int,
         beg_auth_asym_id: str,
         beg_auth_comp_id: str,
-        // beg_auth_seq_id: str,
         beg_auth_seq_id: int,
         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),
         details: str,
@@ -96,7 +93,6 @@ export const mmCIF_Schema = {
         end_label_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,
         pdbx_beg_PDB_ins_code: str,
@@ -115,7 +111,6 @@ export const mmCIF_Schema = {
         ptnr1_label_seq_id: int,
         ptnr1_auth_asym_id: str,
         ptnr1_auth_comp_id: str,
-        // ptnr1_auth_seq_id: str,
         ptnr1_auth_seq_id: int,
         ptnr1_symmetry: str,
         ptnr2_label_asym_id: str,
@@ -123,7 +118,6 @@ export const mmCIF_Schema = {
         ptnr2_label_seq_id: int,
         ptnr2_auth_asym_id: str,
         ptnr2_auth_comp_id: str,
-        // ptnr2_auth_seq_id: str,
         ptnr2_auth_seq_id: int,
         ptnr2_symmetry: str,
         pdbx_ptnr1_PDB_ins_code: str,
@@ -155,11 +149,9 @@ export const mmCIF_Schema = {
         end_label_seq_id: int,
         beg_auth_asym_id: str,
         beg_auth_comp_id: str,
-        // beg_auth_seq_id: str,
         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,
         sheet_id: str,
@@ -184,7 +176,6 @@ export const mmCIF_Schema = {
         id: int,
         auth_asym_id: str,
         auth_comp_id: str,
-        // auth_seq_id: str,
         auth_seq_id: int,
         PDB_ins_code: str,
         label_asym_id: str,