':param options_string: samtools options in string form (flags separated
by spaces)
Optional: defaults to \'\'
:type options_string: str
:param options_dict: dictionary of samtools options
Optional: defaults to None
:type options_dict: dict or None
:param regions: list of samtools regions strings
Optional: defaults to None
:type regions: list of str or None'

def __init__(self, dataset, options_string='', options_dict=None, regions=None, **kwargs):

    self.dataset = dataset
    options_dict = (options_dict or {})
    regions = ([str(r) for r in regions] if regions else [])
    subcommand = 'view'
    subproc_args = self.build_command_list(subcommand, options_string, options_dict, regions)
    subproc_provider = external.SubprocessDataProvider(*subproc_args)
    super(SamtoolsDataProvider, self).__init__(subproc_provider, **kwargs)
