def _subset_meta(full_meta, subset, incremented=False):
if not subset:<EOL><INDENT>return full_meta, False<EOL><DEDENT>meta = {}  <EOL>for key, val in full_meta.items():<EOL><INDENT>meta[key] = copy.deepcopy(dict(val))<EOL><DEDENT>conditions = subset.replace('<STR_LIT:U+0020>','<STR_LIT>').split('<STR_LIT:;>')<EOL>inc = False<EOL>for condition in conditions:<EOL><INDENT>condition_list = re.split('<STR_LIT>', condition)<EOL>col = condition_list[<NUM_LIT:0>]<EOL>val = condition_list[-<NUM_LIT:1>]<EOL>try:<EOL><INDENT>col_step = meta[col]['<STR_LIT>']<EOL><DEDENT>except:  <EOL><INDENT>continue<EOL><DEDENT>operator = re.sub('<STR_LIT>', '<STR_LIT>', condition)<EOL>if operator == '<STR_LIT>':<EOL><INDENT>meta[col]['<STR_LIT>'] = val<EOL>meta[col]['<STR_LIT>'] = val<EOL><DEDENT>elif operator == '<STR_LIT>':<EOL><INDENT>meta[col]['<STR_LIT>'] = val<EOL><DEDENT>elif operator == '<STR_LIT:>>':<EOL><INDENT>if incremented:<EOL><INDENT>meta[col]['<STR_LIT>'] = val<EOL><DEDENT>else:<EOL><INDENT>meta[col]['<STR_LIT>'] = str(eval(val) + eval(col_step))<EOL><DEDENT>inc = True<EOL><DEDENT>elif operator == '<STR_LIT>':<EOL><INDENT>meta[col]['<STR_LIT>'] = val<EOL><DEDENT>elif operator == '<STR_LIT:<>':<EOL><INDENT>if incremented:<EOL><INDENT>meta[col]['<STR_LIT>'] = val<EOL><DEDENT>else:<EOL><INDENT>meta[col]['<STR_LIT>'] = str(eval(val) - eval(col_step))<EOL><DEDENT>inc = True<EOL><DEDENT>else:<EOL><INDENT>raise ValueError("<STR_LIT>" % condition)<EOL><DEDENT><DEDENT>return meta, inc<EOL>
Return metadata reflecting all conditions in subset

Parameters
----------
full_meta : ConfigParser obj
    Metadata object
subset : str
    String describing subset of data to use for analysis
incremented : bool
    If True, the metadata has already been incremented

Returns
-------
Configparser object or dict
    Updated version of full_meta accounting for subset string