def __init__(self, f, sub=slice(None), skip_equi_period=True,<EOL>pos_unit=angstrom, time_unit=picosecond, angle_unit=deg,<EOL>e_unit=amu/(angstrom/picosecond)**<NUM_LIT:2><EOL>):
SlicedReader.__init__(self, f, sub)<EOL>self._counter = <NUM_LIT:1> <EOL>self.skip_equi_period = skip_equi_period<EOL>self._conv = [<EOL><NUM_LIT:1>,         e_unit,      <NUM_LIT:1>, e_unit, e_unit, e_unit,     e_unit,     e_unit,     e_unit, e_unit,<EOL>time_unit, e_unit,      <NUM_LIT:1>, e_unit, e_unit, e_unit,     e_unit,     e_unit,     e_unit, e_unit,<EOL><NUM_LIT:1>,         pos_unit**<NUM_LIT:3>, <NUM_LIT:1>, e_unit, e_unit, angle_unit, angle_unit, angle_unit, e_unit, <NUM_LIT:1000>*atm,<EOL>]<EOL>try:<EOL><INDENT>while True:<EOL><INDENT>line = next(self._f)<EOL>if line.startswith("<STR_LIT>"):<EOL><INDENT>self.equi_period = int(line[<NUM_LIT:30>:])<EOL>break<EOL><DEDENT><DEDENT><DEDENT>except StopIteration:<EOL><INDENT>raise FileFormatError("<STR_LIT>")<EOL><DEDENT>except ValueError:<EOL><INDENT>raise FileFormatError("<STR_LIT>")<EOL><DEDENT>
Arguments:
 | ``f``  --  a filename or a file-like object

Optional arguments:
 | ``sub``  --  a slice indicating the frames to be skipped/selected
 | ``skip_equi_period``  -- When True, the equilibration period is
                            not read [default=True]
 | ``pos_unit``, ``time_unit``, ``angle_unit``, ``e_unit`` --  The
    conversion factors for the unit conversion from the units in the
    data file to atomic units. The defaults of these optional
    arguments correspond to the defaults of dlpoly.