def reg_project(self, field_list=None, all_but=None, new_field_dict=None):
        """
        *Wrapper of* ``PROJECT``

        Project the region data based on a list of field names

        :param field_list: list of the fields to select
        :param all_but: keep only the region fields different from the ones
               specified
        :param new_field_dict: an optional dictionary of the form {'new_field_1':
               function1, 'new_field_2': function2, ...} in which every function
               computes the new field based on the values of the others
        :return: a new GMQLDataset

        An example of usage::

            new_dataset = dataset.reg_project(['pValue', 'name'],
                                            {'new_field': dataset.pValue / 2})

            new_dataset = dataset.reg_project(field_list=['peak', 'pvalue'],
                                              new_field_dict={'new_field': dataset.pvalue * dataset['cell_age', 'float']})

        Notice that you can use metadata attributes for building new region fields.
        The only thing to remember when doing so is to define also the type of the output region field
        in the metadata attribute definition (for example, :code:`dataset['cell_age', 'float']` is
        required for defining the new attribute :code:`new_field` as float).
        In particular, the following type names are accepted: 'string', 'char', 'long', 'integer',
        'boolean', 'float', 'double'.

        """
        return self.project(projected_regs=field_list, all_but_regs=all_but, new_field_dict=new_field_dict)
def reg_project ( self , field_list = None , all_but = None , new_field_dict = None ) : return self . project ( projected_regs = field_list , all_but_regs = all_but , new_field_dict = new_field_dict )
*Wrapper of* ``PROJECT``

        Project the region data based on a list of field names

        :param field_list: list of the fields to select
        :param all_but: keep only the region fields different from the ones
               specified
        :param new_field_dict: an optional dictionary of the form {'new_field_1':
               function1, 'new_field_2': function2, ...} in which every function
               computes the new field based on the values of the others
        :return: a new GMQLDataset

        An example of usage::

            new_dataset = dataset.reg_project(['pValue', 'name'],
                                            {'new_field': dataset.pValue / 2})

            new_dataset = dataset.reg_project(field_list=['peak', 'pvalue'],
                                              new_field_dict={'new_field': dataset.pvalue * dataset['cell_age', 'float']})

        Notice that you can use metadata attributes for building new region fields.
        The only thing to remember when doing so is to define also the type of the output region field
        in the metadata attribute definition (for example, :code:`dataset['cell_age', 'float']` is
        required for defining the new attribute :code:`new_field` as float).
        In particular, the following type names are accepted: 'string', 'char', 'long', 'integer',
        'boolean', 'float', 'double'.