class_docstr: A GenomicsReader that dispatches based on the file extension.
  
  If '.tfrecord' is present in the filename, a TFRecordReader is used.
  Otherwise, a native reader is.
  
  Subclasses of DispatchingGenomicsReader must define the following methods:
    * _native_reader()
    * _record_proto()
class_docstr_tok: ["A","GenomicsReader","that","dispatches","based","on","the","file","extension",".","If","'.tfrecord","'","is","present","in","the","filename",",","a","TFRecordReader","is","used",".","Otherwise",",","a","native","reader","is",".","Subclasses","of","DispatchingGenomicsReader","must","define","the","following","methods",":","*","_native_reader","(",")","*","_record_proto","(",")"]
docstr: Returns a GenomicsReader for reading the records `natively`.
  
  Args:
    input_path: The path to the native file to read.
    **kwargs:  Zero or more keyword arguments.
  
  Returns:
    A GenomicsReader.
docstr_tok: ["Returns","a","GenomicsReader","for","reading","the","records","`","natively","`",".","Args",":","input_path",":","The","path","to","the","native","file","to","read",".","*","*","kwargs",":","Zero","or","more","keyword","arguments",".","Returns",":","A","GenomicsReader","."]
code: def _native_reader(self, input_path, **kwargs):
      """Returns a GenomicsReader for reading the records `natively`.
  
      Args:
        input_path: The path to the native file to read.
        **kwargs:  Zero or more keyword arguments.
  
      Returns:
        A GenomicsReader.
      """
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import abc
  import errno
  from absl import logging
  import six
  from third_party.nucleus.io.python import tfrecord_reader
label_desc: Use image node_id 2 for calling the DispatchingGenomicsReader obj's underlying member method code with example usage: obj._native_reader(input_path) without return types