o
    Rŀg                     @   sf   d Z ddlm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r1dd	lm	Z	 e	  d
S d
S )zJCommand line wrapper for the multiple sequence alignment program MSAProbs.    )	_Argument)_Option)_Switch)AbstractCommandlinec                   @   s   e Zd ZdZdddZdS )MSAProbsCommandlineaV  Command line wrapper for MSAProbs.

    http://msaprobs.sourceforge.net

    Notes
    -----
    Last checked against version: 0.9.7

    References
    ----------
    Yongchao Liu, Bertil Schmidt, Douglas L. Maskell: "MSAProbs: multiple
    sequence alignment based on pair hidden Markov models and partition
    function posterior probabilities". Bioinformatics, 2010, 26(16): 1958 -1964

    Examples
    --------
    >>> from Bio.Align.Applications import MSAProbsCommandline
    >>> in_file = "unaligned.fasta"
    >>> out_file = "aligned.cla"
    >>> cline = MSAProbsCommandline(infile=in_file, outfile=out_file, clustalw=True)
    >>> print(cline)
    msaprobs -o aligned.cla -clustalw unaligned.fasta

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

    msaprobsc                 K   s   t g dddddt ddgdd	d
 dtddgdt ddgddd
 dt g dddd
 dtddgdt ddgdddtg ddt dd gd!td"gd#ddg
| _tj| |fi | d$S )%zInitialize the class.)z-oz	--outfileoutfilez0specify the output file name (STDOUT by default)TF)filenameequatez-num_threads
numthreadszFspecify the number of threads used, and otherwise detect automaticallyc                 S   s
   t | tS )N
isinstanceintx r   T/var/www/html/myenv/lib/python3.10/site-packages/Bio/Align/Applications/_MSAProbs.py<lambda>9   s   
 z.MSAProbsCommandline.__init__.<locals>.<lambda>)checker_functionz	-clustalwclustalwz2use CLUSTALW output format instead of FASTA formatz-cconsistencyzDuse 0 <= REPS <= 5 (default: 2) passes of consistency transformationc                 S   "   t | tod|   kodkS   S )Nr      r   r   r   r   r   r   B      " )z-irz--iterative-refinementiterative_refinementzBuse 0 <= REPS <= 1000 (default: 10) passes of iterative-refinementc                 S   r   )Nr   i  r   r   r   r   r   r   G   r   z-vverbosez-report progress while aligning (default: off)z-annotannotz3write annotation for multiple alignment to FILENAME)r	   )z-az--alignment-orderalignment_orderzIprint sequences in alignment order rather than input order (default: off)z-versionversionzprint out version of MSAPROBSinfilezMultiple sequence input fileN)r   r   r   
parametersr   __init__)selfcmdkwargsr   r   r   r!   ,   sN   'zMSAProbsCommandline.__init__N)r   )__name__
__module____qualname____doc__r!   r   r   r   r   r      s    r   __main__)run_doctestN)
r(   Bio.Applicationr   r   r   r   r   r%   
Bio._utilsr*   r   r   r   r   <module>   s   J
