docs: def reg_select(self, predicate=None, semiJoinDataset=None, semiJoinMeta=None):
          """
          *Wrapper of* ``SELECT``
  
          Wrapper of the :meth:`~.select` function filtering regions only based on region attributes.
  
          :param predicate: logical predicate on the values of the regions
          :param semiJoinDataset: an other GMQLDataset 
          :param semiJoinMeta: a list of metadata
          :return: a new GMQLDataset
  
          An example of usage::
  
              new_dataset = dataset.reg_select((dataset.chr == 'chr1') | (dataset.pValue < 0.9))
  
          You can also use Metadata attributes in selection::
  
              new_dataset = dataset.reg_select(dataset.score > dataset['size'])
  
          This statement selects all the regions whose field score is strictly higher than the sample
          metadata attribute size.
  
          The region selection predicate can use all the classical equalities and disequalities
          {>, <, >=, <=, ==, !=} and predicates can be connected by the classical logical symbols
          {& (AND), | (OR), ~ (NOT)} plus the *isin* function.
  
          In order to be sure about the correctness of the expression, please use parenthesis to delimit
          the various predicates.
          """
          return self.select(region_predicate=predicate, semiJoinMeta=semiJoinMeta, semiJoinDataset=semiJoinDataset)