diff --git a/src/mol-model-formats/structure/basic/atomic.ts b/src/mol-model-formats/structure/basic/atomic.ts index e489ce8967a57d199e83c8466499cba8acc94653..cdd9b052ec1d83324a7d2fe047d6acadc1bcf978 100644 --- a/src/mol-model-formats/structure/basic/atomic.ts +++ b/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); } diff --git a/src/mol-model-formats/structure/pdb/atom-site.ts b/src/mol-model-formats/structure/pdb/atom-site.ts index 933499f755aa3e6cc2697996d348a371a90af13e..94aa82e7110f4b448cce2be92801c8b6ba86e52d 100644 --- a/src/mol-model-formats/structure/pdb/atom-site.ts +++ b/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),