|
@@ -112,19 +112,33 @@ const branchedConnectedOnly = MS.struct.modifier.union([
|
|
|
])
|
|
|
|
|
|
const ligand = MS.struct.modifier.union([
|
|
|
- MS.struct.generator.atomGroups({
|
|
|
- 'entity-test': MS.core.logic.and([
|
|
|
- MS.core.rel.eq([MS.ammp('entityType'), 'non-polymer']),
|
|
|
- MS.core.logic.not([MS.core.str.match([
|
|
|
- MS.re('oligosaccharide', 'i'),
|
|
|
- MS.ammp('entitySubtype')
|
|
|
- ])])
|
|
|
+ MS.struct.combinator.merge([
|
|
|
+ MS.struct.modifier.union([
|
|
|
+ MS.struct.generator.atomGroups({
|
|
|
+ 'entity-test': MS.core.logic.and([
|
|
|
+ MS.core.rel.eq([MS.ammp('entityType'), 'non-polymer']),
|
|
|
+ MS.core.logic.not([MS.core.str.match([
|
|
|
+ MS.re('oligosaccharide', 'i'),
|
|
|
+ MS.ammp('entitySubtype')
|
|
|
+ ])])
|
|
|
+ ]),
|
|
|
+ 'chain-test': MS.core.rel.eq([MS.ammp('objectPrimitive'), 'atomistic']),
|
|
|
+ 'residue-test': MS.core.logic.not([
|
|
|
+ MS.core.str.match([MS.re('saccharide', 'i'), MS.ammp('chemCompType')])
|
|
|
+ ])
|
|
|
+ })
|
|
|
]),
|
|
|
- 'chain-test': MS.core.rel.eq([MS.ammp('objectPrimitive'), 'atomistic']),
|
|
|
- 'residue-test': MS.core.logic.not([
|
|
|
- MS.core.str.match([MS.re('saccharide', 'i'), MS.ammp('chemCompType')])
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ MS.struct.modifier.union([
|
|
|
+ MS.struct.generator.atomGroups({
|
|
|
+ 'entity-test': MS.core.rel.eq([MS.ammp('entityType'), 'polymer']),
|
|
|
+ 'chain-test': MS.core.rel.eq([MS.ammp('objectPrimitive'), 'atomistic']),
|
|
|
+ 'residue-test': MS.core.str.match([MS.re('non-polymer', 'i'), MS.ammp('chemCompType')])
|
|
|
+ })
|
|
|
])
|
|
|
- })
|
|
|
+ ]),
|
|
|
])
|
|
|
|
|
|
|