
     i                     <    d Z ddlmZ  G d dej                  ZdS )aP  INPCRD structure files in MDAnalysis --- :mod:`MDAnalysis.coordinates.INPCRD`
================================================================================

Read coordinates in Amber_ coordinate/restart file (suffix "inpcrd").

.. _Amber: https://ambermd.org/FileFormats.php


Classes
-------

.. autoclass:: INPReader
   :members:

   )basec                   >    e Zd ZdZddgZddiZd Zed             ZdS )		INPReaderzReader for Amber restart files.INPCRDRESTRTlengthAngstromc                    t          | j        d          5 }|                                                                | _        |                                                                }t          |d                   | _         | j        | j        fi | j	        | _
        	 t          |d                   }|| j
        _        n# t          $ r Y nw xY wd| j
        _        t          | j        dz            D ]}|                                }t!          d|z  dfd|z  dfd|z  dfd|z  dz   dfd|z  dz   dfd|z  dz   dfg          D ]2\  }}t          ||dz  |dz   dz                     | j
        j        |<   3| j        dz  rU|                                }t          d          D ]1}t          ||dz  |dz   dz                     | j
        j        d|f<   2d d d            d S # 1 swxY w Y   d S )Nr    r            )openfilenamereadlinestriptitlesplitintn_atoms	_Timestep
_ts_kwargstsfloattime
IndexErrorframerange	enumerate_pos)selfinfliner   pidests          g/srv/www/vhosts/g4struct/public_html/venv/lib/python3.11/site-packages/MDAnalysis/coordinates/INPCRD.py_read_first_framezINPReader._read_first_frame2   sz   $-%%  	M--//DJ<<>>''))DtAw<<DL$dnT\EET_EEDG$T!W~~  $     DGM4<1,-- L L||~~(Q
Q
Q
QAQAQA	  	  
L 
LGAt */tAFa!er\4I/J)K)KDGL&&
L |a M||~~q M MA*/QVq1ul5J0K*L*LDGLQ''A 	M  	M  	M  	M  	M  	M  	M  	M  	M  	M  	M  	M  	M  	M  	M  	M  	M  	Ms7   B	G' C5G'
CG'CDG''G+.G+c                     t          | d          5 }|                                 t          |                                                                d                   }d d d            n# 1 swxY w Y   |S )Nr   r   )r   r   r   r   )r   kwargsfr   s       r)   parse_n_atomszINPReader.parse_n_atomsV   s    (C   	3AJJLLL!**,,,,..q122G	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 s   AA++A/2A/N)	__name__
__module____qualname____doc__formatunitsr*   staticmethodr.        r)   r   r   ,   s\        ))!Fz"E"M "M "MH   \  r7   r   N)r2    r   SingleFrameReaderBaser   r6   r7   r)   <module>r:      sZ   2        / / / / /* / / / / /r7   