docs: def refine(self, filelist, regex, filterdir='out', **kwargs):
          ''' Returns a list of files filterd by a regular expression
  
          Parameters
          ----------
          filelist : list
              A list of files to filter on.
  
          regex : str
              The regular expression string to filter your list
  
          filterdir: {'in', 'out'}
              Indicates the filter to be inclusive or exclusive
              'out' removes the items satisfying the regular expression
              'in' keeps the items satisfying the regular expression
  
          Returns
          -------
          refine : list
              A file list refined by an input regular expression.
  
          '''
          assert filelist, 'Must provide a list of filenames to refine on'
          assert regex, 'Must provide a regular expression to refine the file list'
          r = re.compile(regex)
  
          # icheck filter direction; default is out
          assert filterdir in ['in', 'out'], 'Filter direction must be either "in" or "out"'
          if filterdir == 'out':
              subset = list(filter(lambda i: r.search(i), filelist))
          elif filterdir == 'in':
              subset = list(filter(lambda i: not r.search(i), filelist))
          return subset