Browse Source

struct_conn tweaks

Alexander Rose 6 years ago
parent
commit
1c51f77369
1 changed files with 5 additions and 4 deletions
  1. 5 4
      src/mol-model-formats/structure/mmcif/bonds/struct_conn.ts

+ 5 - 4
src/mol-model-formats/structure/mmcif/bonds/struct_conn.ts

@@ -138,8 +138,6 @@ export namespace StructConn {
         partners: { residueIndex: ResidueIndex, atomIndex: ElementIndex, symmetry: string }[]
     }
 
-    type StructConnType = typeof mmCIF_Schema.struct_conn.conn_type_id.T
-
     export function attachFromMmCif(model: Model): boolean {
         if (model.customProperties.has(Descriptor)) return true;
         if (model.sourceData.kind !== 'mmCIF') return false;
@@ -213,7 +211,7 @@ export namespace StructConn {
             const partners = _ps(i);
             if (partners.length < 2) continue;
 
-            const type = conn_type_id.value(i)! as StructConnType;
+            const type = conn_type_id.value(i) as typeof mmCIF_Schema.struct_conn_type.id.T; // TODO workaround for dictionary inconsistency
             const orderType = (pdbx_value_order.value(i) || '').toLowerCase();
             let flags = LinkType.Flag.None;
             let order = 1;
@@ -234,7 +232,10 @@ export namespace StructConn {
                     flags = LinkType.Flag.Covalent;
                     break;
                 case 'disulf': flags = LinkType.Flag.Covalent | LinkType.Flag.Sulfide; break;
-                case 'hydrog': flags = LinkType.Flag.Hydrogen; break;
+                case 'hydrog':
+                case 'mismat':
+                    flags = LinkType.Flag.Hydrogen;
+                    break;
                 case 'metalc': flags = LinkType.Flag.MetallicCoordination; break;
                 case 'saltbr': flags = LinkType.Flag.Ionic; break;
             }