From 655b334b0a81c50e13552e40ee07bca79a17d8a5 Mon Sep 17 00:00:00 2001
From: yakomaxa <47655565+yakomaxa@users.noreply.github.com>
Date: Sun, 21 Aug 2022 17:14:29 +0900
Subject: [PATCH] Updated rasmol parser and spec

---
 src/mol-script/transpilers/_spec/rasmol.spec.ts | 6 ++++--
 src/mol-script/transpilers/rasmol/parser.ts     | 4 +---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/mol-script/transpilers/_spec/rasmol.spec.ts b/src/mol-script/transpilers/_spec/rasmol.spec.ts
index c8d70cd07..c7d3c662d 100644
--- a/src/mol-script/transpilers/_spec/rasmol.spec.ts
+++ b/src/mol-script/transpilers/_spec/rasmol.spec.ts
@@ -32,10 +32,12 @@ const general = {
         'within (   5 ,  [HEM] ) ',
         // un-braketed residue name
         'LEU and ILE',
+        // un-parenthesized residue index range
+        '100-120,220',
+        // un-parenthesized residue index
+        '20',
     ],
     unsupported: [
-        // un-parenthesized residue index
-        '100-120',
         // within in the head or the middle of sentence
         'within (   5 ,  [HEM] ) and backbone',
     ]
diff --git a/src/mol-script/transpilers/rasmol/parser.ts b/src/mol-script/transpilers/rasmol/parser.ts
index 886798156..818ccd8f3 100644
--- a/src/mol-script/transpilers/rasmol/parser.ts
+++ b/src/mol-script/transpilers/rasmol/parser.ts
@@ -92,12 +92,10 @@ function atomExpressionQuery(x: any[]) {
     }
 
     const resnoRangeProps: any = [];
-    console.log(resnorange);
     if (resnorange) {
         resnorange.forEach((x: number) =>{
             resnoRangeProps.push(B.core.rel.eq([B.ammp('auth_seq_id'), x]));
         });
-        console.log(resnoRangeProps);
     };
     if (resnoRangeProps.length) tests['residue-test'] = h.orExpr(resnoRangeProps);
 
@@ -127,7 +125,7 @@ const lang = P.MonadicParser.createLanguage({
             r.Parens,
             r.Operator,
             r.Expression
-        ).wrap(P.MonadicParser.string('('), P.MonadicParser.string(')'));
+        ).wrap(P.MonadicParser.regexp(/\(\s*/), P.MonadicParser.regexp(/\s*\)/));
     },
 
     Expression: function (r: any) {
-- 
GitLab