B
    8b                 @   s  d Z ddlZddlZddlZeejdk rJedej	ejd d   ej
ejdd Ze Ze Ze Ze Zxej D ]\ZZed dkred dkreeekrqe eed ed f< eed ed f< eee qeeekrqeee< eee qW edeeeef  xe D ]\ZZed ed fZeekrZq4ee Zd	d
 eD Zdd
 eD Zee Zeedkr4eded ed ed ed d dd e!eD f  q4W dS )z
This script will validate the torsions specified in a particular database and
will highlight any specific torsions that need additional terms to explicitly
override generic torsions
    N   z1%s <param_file> [<param_file> [<param_file> ...]]   X   z2Found %d generic torsions and %d specific torsionsc             C   s   h | ]}t |jqS  )intper).0xr   r   "dat/leap/parm/validate_torsions.py	<setcomp>/   s    r   c             C   s   h | ]}t |jqS r   )r   r   )r	   r
   r   r   r   r   0   s    z:%-2s-%-2s-%-2s-%-2s is missing overriding periodicities %sz, c             c   s   | ]}t |V  qd S )N)str)r	   r
   r   r   r   	<genexpr>5   s    r   )"__doc__osZparmedZpmdsyslenargvexitpathsplitZamberZAmberParameterSetZparamsdictZgenericssetZgeneric_type_idsZ	specificsZspecific_type_idsZdihedral_typesitemskeyZdihtypeidaddprintZspecific_keyZgenkeyZgdihtypeZgenperZspeperZdiffjoinsortedr   r   r   r   <module>   sF   (
