<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def from_pandas(regs, meta=None, chr_name=None, start_name=None, stop_name=None, strand_name=None, sample_name=None):
 """ Creates a GDataframe from a pandas dataframe of region and a pandas dataframe of metadata :param regs: a pandas Dataframe of regions that is coherent with the GMQL data model :param meta: (optional) a pandas Dataframe of metadata that is coherent with the regions :param chr_name: (optional) which column of :attr:`~.regs` is the chromosome :param start_name: (optional) which column of :attr:`~.regs` is the start :param stop_name: (optional) which column of :attr:`~.regs` is the stop :param strand_name: (optional) which column of :attr:`~.regs` is the strand :param sample_name: (optional) which column of :attr:`~.regs` represents the sample name of that region. If nothing is provided, all the region will be put in a single sample. :return: a GDataframe """

    regs = check_regs(regs, chr_name, start_name, stop_name, strand_name, sample_name)
    regs = to_gmql_regions(regs)
    if meta is not None:
        if not check_meta(meta, regs):
            raise ValueError("Error. Meta dataframe is not GMQL standard")
    else:
        meta = empty_meta(regs)
    return GDataframe(regs, meta)