o
    Rŀg!                     @   sZ   d Z ddlmZ ddlmZ ddlmZ G dd deZedkr+ddlmZ e  d	S d	S )
z@Command line wrapper for the multiple alignment program TCOFFEE.    )_Option)_Switch)AbstractCommandlinec                   @   s"   e Zd ZdZg dZdddZdS )TCoffeeCommandlinea  Commandline object for the TCoffee alignment program.

    http://www.tcoffee.org/Projects_home_page/t_coffee_home_page.html

    The T-Coffee command line tool has a lot of switches and options.
    This wrapper implements a VERY limited number of options - if you
    would like to help improve it please get in touch.

    Notes
    -----
    Last checked against: Version_6.92

    References
    ----------
    T-Coffee: A novel method for multiple sequence alignments.
    Notredame, Higgins, Heringa, JMB,302(205-217) 2000

    Examples
    --------
    To align a FASTA file (unaligned.fasta) with the output in ClustalW
    format (file aligned.aln), and otherwise default settings, use:

    >>> from Bio.Align.Applications import TCoffeeCommandline
    >>> tcoffee_cline = TCoffeeCommandline(infile="unaligned.fasta",
    ...                                    output="clustalw",
    ...                                    outfile="aligned.aln")
    >>> print(tcoffee_cline)
    t_coffee -output clustalw -infile unaligned.fasta -outfile aligned.aln

    You would typically run the command line with tcoffee_cline() or via
    the Python subprocess module, as described in the Biopython tutorial.

    )dnaproteindna_proteint_coffeec                    s   t ddgdddt ddgdd	d	dd
t ddgdd	ddtddgdt ddgd fddddt ddgdddt ddgdddt ddgd d!d ddt d"d#gd$d%d ddtd&d'gd(t d)d*gd+ddg _tj |fi | d,S )-zInitialize the class.z-outputoutputzSpecify the output type.

                One (or more separated by a comma) of:
                'clustalw_aln', 'clustalw', 'gcg', 'msf_aln',
                'pir_aln', 'fasta_aln', 'phylip', 'pir_seq', 'fasta_seq'
                F)equatez-infileinfilezSpecify the input file.T)filenameis_requiredr   z-outfileoutfilez6Specify the output file. Default: <your sequences>.aln)r   r   z-convertconvertz-Specify you want to perform a file conversionz-typetypez*Specify the type of sequence being alignedc                    s
   |  j v S N)	SEQ_TYPESxself S/var/www/html/myenv/lib/python3.10/site-packages/Bio/Align/Applications/_TCoffee.py<lambda>U      
 z-TCoffeeCommandline.__init__.<locals>.<lambda>)checker_functionr   z	-outorderoutorderzpSpecify the order of sequence to outputEither 'input', 'aligned' or <filename> of Fasta file with sequence orderz-matrixmatrixzKSpecify the filename of the substitution matrix to use. Default: blosum62mtz-gapopengapopenzBIndicates the penalty applied for opening a gap (negative integer)c                 S   
   t | tS r   
isinstanceintr   r   r   r   r   h   r   z-gapextgapextzDIndicates the penalty applied for extending a gap (negative integer)c                 S   r    r   r!   r   r   r   r   r   n   r   z-quietquietzTurn off log outputz-modemodez:Specifies a special mode: genome, quickaln, dali, 3dcoffeeN)r   r   
parametersr   __init__)r   cmdkwargsr   r   r   r(   3   sr   
	
CzTCoffeeCommandline.__init__N)r	   )__name__
__module____qualname____doc__r   r(   r   r   r   r   r      s    "r   __main__)run_doctestN)	r.   Bio.Applicationr   r   r   r   r+   
Bio._utilsr0   r   r   r   r   <module>   s   m
