<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def load(self, _path, regs=['chr', 'left', 'right', 'strand'], meta=[], values=[], full_load=False, file_extension="gdm"):
 """Parses and loads the data into instance attributes. The indexes of the data and meta dataframes should be the same. :param path: The path to the dataset on the filesystem :param regs: the regions that are to be analyzed :param meta: the meta-data that are to be analyzed :param values: the values that are to be selected :param full_load: Specifies the method of parsing the data. If False then parser omits the parsing of zero(0) values in order to speed up and save memory. However, while creating the matrix, those zero values are going to be put into the matrix. (unless a row contains "all zero columns". This parsing is strongly recommended for sparse datasets. If the full_load parameter is True then all the zero(0) data are going to be read. """

        if not full_load:
            warnings.warn("\n\nYou are using the optimized loading technique. "
                          "All-zero rows are not going to be loaded into memory. "
                          "To load all the data please set the full_load parameter equal to True.")
        p = Parser(_path)
        self.meta = p.parse_meta(meta)
        self.data = p.parse_data(regs, values, full_load=full_load, extension=file_extension)
        self._path = _path