
    XfF                     P    d Z ddlmZ ddlmZ ddlmZ  G d de          Zd Z	dS )	zParsing AlignACE output files.    )	Alignment)Motif)Seqc                       e Zd ZdZd ZdS )Recordz*AlignACE record (subclass of Python list).c                     d| _         dS )zInitialize the class.N)
parameters)selfs    3lib/python3.11/site-packages/Bio/motifs/alignace.py__init__zRecord.__init__   s        N)__name__
__module____qualname____doc__r    r   r   r   r      s)        44    r   r   c                 4   t                      }t          |           }|                                |_        t          |           }|                                |_        d}d}| D ]1}|                                }|dk    r|dd         dk    ri |_        4|d         dk    r6|                    d          d         }|j                            |           vd	|v rK|                    d	          \  }}|                                }|                                }||j        |<   |dd
         dk    rg |_        |dd
         dk    r;|                                }|d         dk    sJ t          |d                   }g }	$|dd         dk    rrd}
t          |	          }t          |
|          }t          |                                d                   |_        ||_        ||_        |                    |           t!          |                    d                    dk    r?t#          |                    d          d                   }|	                    |           	d|v r|                    d          }$t%          |          |S )z3Parse an AlignACE format handle as a Record object.N    Parar   #	   =   Inputr      MAPACGT*z
)r   nextstripversioncommandr	   split	sequencesappendintr   r   floatscorenumbermasklenr   
ValueError)handlerecordliner-   r,   seq_namepar_name	par_valuewords	instancesalphabet	alignmentmotifseqs                 r   readr<      sv   XXF<<DZZ\\FN<<DZZ\\FNDF ## ##zz||2::"1"X "F!W^^zz$''*H##H----D[["&**S//Hi~~''H!))I*3Fh''"1"X  !F"1"X  JJLLE8w&&&&q]]FII"1"XH!),,I(I..E

R 011EK!ELEJMM%    D!!""a''djj&&q)**CS!!!!D[[::f%%DDT"""Mr   N)
r   	Bio.Alignr   
Bio.motifsr   Bio.Seqr   listr   r<   r   r   r   <module>rA      s    % $                      T   - - - - -r   