瀏覽代碼

fix label_seq_id assignment when undefined column

Alexander Rose 4 年之前
父節點
當前提交
fb7456286a
共有 2 個文件被更改,包括 3 次插入4 次删除
  1. 2 2
      src/mol-model-formats/structure/basic/atomic.ts
  2. 1 2
      src/mol-model-formats/structure/pdb/atom-site.ts

+ 2 - 2
src/mol-model-formats/structure/basic/atomic.ts

@@ -74,11 +74,11 @@ function createHierarchyData(atom_site: AtomSite, sourceIndex: Column<number>, o
         let cI = 0;
         let seqId = 0;
         for (let i = 0, il = seqIds.length; i < il; ++i) {
-            if (chainOffsets[cI] > residueOffsets[i]) {
+            if (residueOffsets[i] > chainOffsets[cI + 1]) {
                 cI += 1;
                 seqId = 0;
             }
-            seqIds[i] = ++seqId;
+            seqIds[i] = ++seqId; // start id on one
         }
         residues.label_seq_id = Column.ofIntArray(seqIds);
     }

+ 1 - 2
src/mol-model-formats/structure/pdb/atom-site.ts

@@ -17,7 +17,6 @@ export function getAtomSiteTemplate(data: string, count: number) {
     const ts = () => TokenBuilder.create(data, 2 * count);
     return {
         index: 0,
-        count,
         group_PDB: ts(),
         id: str(),
         auth_atom_id: ts(),
@@ -61,7 +60,7 @@ export function getAtomSite(sites: AtomSiteTemplate): { [K in keyof mmCIF_Schema
         label_asym_id: auth_asym_id,
         label_atom_id: auth_atom_id,
         label_comp_id: auth_comp_id,
-        label_seq_id: CifField.ofUndefined(sites.count, Column.Schema.int),
+        label_seq_id: CifField.ofUndefined(sites.index, Column.Schema.int),
         label_entity_id: CifField.ofStrings(sites.label_entity_id),
 
         occupancy: CifField.ofTokens(sites.occupancy),