From e36d483f95a89b6f755ec2f464e1373d6899b1a1 Mon Sep 17 00:00:00 2001
From: David Sehnal <david.sehnal@gmail.com>
Date: Thu, 11 Oct 2018 15:15:23 +0200
Subject: [PATCH] model-server: added residueSurroundings query

---
 src/servers/model/server/api.ts | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/servers/model/server/api.ts b/src/servers/model/server/api.ts
index ac0e7147c..7744f3489 100644
--- a/src/servers/model/server/api.ts
+++ b/src/servers/model/server/api.ts
@@ -126,6 +126,16 @@ const QueryMap = {
         },
         params: [ AtomSiteTestParams, RadiusParam ]
     }),
+    'residueSurroundings': Q<{ atom_site: AtomSiteSchema, radius: number }>({
+        niceName: 'Residue Surroundings',
+        description: 'Identifies all residues within the given radius from the source residue.',
+        query(p) {
+            const tests = getAtomsTests(p.atom_site);
+            const center = Queries.combinators.merge(tests.map(test => Queries.generators.atoms(test)));
+            return Queries.modifiers.includeSurroundings(center, { radius: p.radius, wholeResidues: true });
+        },
+        params: [ AtomSiteTestParams, RadiusParam ]
+    })
 };
 
 export type QueryName = keyof typeof QueryMap
-- 
GitLab