@doc_sub(splits_note)<EOL>def _parse_splits(patch, splits):
split_list = splits.replace('<STR_LIT:U+0020>','<STR_LIT>').split('<STR_LIT:;>')<EOL>subset_list = []  <EOL>for split in split_list:<EOL><INDENT>col, val = split.split('<STR_LIT::>')<EOL>if val == '<STR_LIT>':<EOL><INDENT>uniques = []<EOL>for level in patch.table[col]:<EOL><INDENT>if level not in uniques:<EOL><INDENT>uniques.append(level)<EOL><DEDENT><DEDENT>level_list = [col + '<STR_LIT>' + str(x) + '<STR_LIT>' for x in uniques]<EOL><DEDENT>else:<EOL><INDENT>starts, ends = _col_starts_ends(patch, col, val)<EOL>level_list = [col + '<STR_LIT>' + str(x) + '<STR_LIT>' + col + '<STR_LIT:<>' + str(y)+'<STR_LIT>'<EOL>for x, y in zip(starts, ends)]<EOL><DEDENT>subset_list.append(level_list)<EOL><DEDENT>return ['<STR_LIT>'.join(x)[:-<NUM_LIT:2>] for x in _product(*subset_list)]<EOL>
Parse splits string to get list of all associated subset strings.

Parameters
----------
patch : obj
    Patch object containing data to subset
splits : str
    Specifies how a column of a dataset should be split. See Notes.

Returns
-------
list
    List of subset strings derived from splits string

Notes
-----
{0}