diff --git a/src/mol-script/transpilers/_spec/rasmol.spec.ts b/src/mol-script/transpilers/_spec/rasmol.spec.ts index c8d70cd07010a8e57a8cceafadb9f16a5ddb8d38..c7d3c662da320240a785c459a9f11ab3302d430f 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 886798156c19b2beb32dea9c0e2016fb9c8de5c1..818ccd8f39fa199a2f86d80f069312885566c59d 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) {