code: public  void parseOperatorExpressionString(String operatorExpression) throws IllegalArgumentException {
  		String expression = operatorExpression.trim();
  
  		// remove single quotes, i.e. '(1-49)' in 1CGM
  		expression = expression.replaceAll("'", "");
  
  		if (BioAssemblyTools.isUnaryExpression(expression)) {
  			unaryOperators = BioAssemblyTools.parseUnaryOperatorExpression(expression);
  		} else {
  			binaryOperators = BioAssemblyTools.parseBinaryOperatorExpression(expression);
  		}
  
  		//System.out.println("OperatorResolver: unary: " + unaryOperators + " | binary: " + binaryOperators);
  	}
docs: Parses the operator expression and save the operators as a list
  of unary or binary operators (i.e. matrix multiplication, see below).
  Operation expressions are given in a compact notation and specify
  matrices from the operations list.
  An operation expression can be a comma-separated list 1, 5, 9,
  a dash-delimited range 1-60 or a matrix multiplication involving two
  or more lists or ranges. For instance, (X0)(1-20) specifies the
  portion of the X174 procapsid crystal asymmetric unit belonging to
  the first independent virus particle and corresponds
  to the 20 transformations [X0][1], [X0][2], ... , [X0][20].
  See C. Lawson, Acta Cryst., D64, 874-882, 2008.
  
  @param operatorExpression the operator expression to be parsed