|
@@ -58,7 +58,7 @@ export class PolymerSequenceWrapper extends SequenceWrapper<StructureUnit> {
|
|
|
}
|
|
|
|
|
|
getLoci(seqIdx: number) {
|
|
|
- const query = createResidueQuery(this.data.units[0].chainGroupId, this.seqId(seqIdx));
|
|
|
+ const query = createResidueQuery(this.data.units[0].chainGroupId, this.data.units[0].conformation.operator.name, this.seqId(seqIdx));
|
|
|
return StructureSelection.toLociWithSourceUnits(StructureQuery.run(query, this.data.structure));
|
|
|
}
|
|
|
|
|
@@ -88,10 +88,13 @@ export class PolymerSequenceWrapper extends SequenceWrapper<StructureUnit> {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-function createResidueQuery(chainGroupId: number, label_seq_id: number) {
|
|
|
+function createResidueQuery(chainGroupId: number, operatorName: string, label_seq_id: number) {
|
|
|
return Queries.generators.atoms({
|
|
|
unitTest: ctx => {
|
|
|
- return SP.unit.chainGroupId(ctx.element) === chainGroupId
|
|
|
+ return (
|
|
|
+ SP.unit.chainGroupId(ctx.element) === chainGroupId &&
|
|
|
+ SP.unit.operator_name(ctx.element) === operatorName
|
|
|
+ )
|
|
|
},
|
|
|
residueTest: ctx => {
|
|
|
if (ctx.element.unit.kind === Unit.Kind.Atomic) {
|