def __init__(self, filepath):
self.filepath = filepath<EOL>self.filename = os.path.basename(filepath)<EOL>self.system_id = self.filename.split("<STR_LIT:.>")[<NUM_LIT:0>]<EOL>self.frames = {}<EOL>self.analysis_output = {}<EOL>self._map_trajectory()<EOL>
A container for an PDB type trajectory.

This function takes an PDB trajectory file and maps it for the
binary points in the file where each frame starts/ends. This way the
process is fast, as it not require loading the trajectory into computer
memory. When a frame is being extracted, it is only this frame that gets
loaded to the memory.

Frames can be accessed individually and loaded as an unmodified string,
returned as a :class:`pywindow.molecular.MolecularSystem` (and analysed),
dumped as PDB or XYZ or JSON (if dumped as a
:attr:`pywindow.molecular.MolecularSystem.system`)

Attributes
----------
filepath : :class:`str`
    The filepath.

filename : :class:`str`
    The filename.

system_id : :class:`str`
    The system id inherited from the filename.

frames : :class:`dict`
    A dictionary that is populated, on the fly, with the extracted frames.

analysis_output : :class:`dict`
    A dictionary that is populated, on the fly, with the analysis output.