
Pzbc           @  s  d  d l  m Z d  d l Z d  d l m Z d  d l m Z m Z d  d l m Z m	 Z	 m
 Z
 m Z d  d l Z d  d l m Z m Z d  d l m Z m Z m Z m Z d  d l m Z d	 Z e e j e  Z e e  r e e  r e	 e  Z n  e e d
  Z e e d  g Z e e d  g Z e d e e d  f g  Z e e d  g Z e e d  e e d  g Z  e e d  e e d  e e d  g Z! e e d  e e d  g Z" d e f d     YZ# d   Z$ d   Z% d   Z& d   Z' d   Z( d   Z) d d d  Z+ d    Z, d d! e- d"  d#  Z. d d$  Z/ e0 d%  Z1 d&   Z2 d'   Z3 d(   Z4 d)   Z5 d*   Z6 d+   Z7 e0 d,  Z8 d-   Z9 d S(.   i(   t   with_statementN(   t   copy(   t   OptionParsert   Option(   t   joint   abspatht   isfilet   isdir(   t   qconfigt   qutils(   t   assert_file_existst   set_up_output_dirt   check_dirpatht   is_non_empty_file(   t   get_modet	   test_datas   reference.fasta.gzs   reads1.fastq.gzs   reads2.fastq.gzt   genes	   genes.gffs   operons.gffs   contigs_1.fastas   contigs_2.fastas   meta_ref_1.fastas   meta_ref_2.fastas   meta_ref_3.fastas   meta_contigs_1.fastas   meta_contigs_2.fastat   QuastOptionc           B  st   e  Z d    Z e j d Z e e j  Z e e d <e j d Z e j d Z e j	 d Z	 e j
 d Z
 d   Z RS(	   c         C  s   t  | |  j  t |  S(   N(   R
   t   destR   (   t   optiont   optt   value(    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt
   check_file)   s    t   filet   extendc         C  sZ   | d k r7 | j  d  } t t | g   j |  n t j |  | | | | t |  d  S(   NR   t   ,(   t   splitt   ensure_valueR   R   R   t   take_action(   t   selft   actionR   R   R   t   valuest   parsert   split_value(    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyR   5   s
    (   s   file(   s   extend(   s   extend(   s   extend(   s   extend(   t   __name__t
   __module__R   R   t   TYPESR   t   TYPE_CHECKERt   ACTIONSt   STORE_ACTIONSt   TYPED_ACTIONSt   ALWAYS_TYPED_ACTIONSR   (    (    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyR   (   s   	
c         C  sE   t  |  |  s% t |  |  d  k r8 t |  | |  n  t |  |  S(   N(   t   hasattrt   getattrt   Nonet   setattr(   R   t   attrR   (    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyR   >   s    %c         C  sG   t  j j |  } t t |  j |  t t j d t |  d  d  S(   Ns   You have specified s6    as an output path.
Please, use a different directory.(	   t   ost   pathR   R-   R   R   R   t   output_dirpatht   str(   R   t   opt_strR   R    t   loggerR1   (    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   check_output_dirD   s    c         C  sI   | t  j k  r2 | j d t  j d t d d n  t t  |  j |  d  S(   Ns^   --extensive-mis-size should be equal to or greater than minimal local misassembly length (%d)!t	   to_stderrt   exit_with_codei   (   R   t   local_misassembly_min_lengtht   errort   TrueR-   R   (   R   R3   R   R    R4   (    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   set_extensive_mis_sizeK   s    	c           C  s-   t  j d  k r& t  j r t  j St  j St  j S(   N(   R   t   extensive_misassembly_thresholdR,   t   large_genomet   LARGE_EXTENSIVE_MIS_THRESHOLDt   DEFAULT_EXT_MIS_SIZE(    (    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt+   get_current_extensive_misassembly_thresholdR   s    c         C  sa   | t  j k s | t   k rJ | j d t  j t   f d t d d n  t t  |  j |  d  S(   NsZ   --local-mis-size should be between short indel size (>%d) and --extensive-mis-size (<=%d)!R6   R7   i   (   R   t   SHORT_INDEL_THRESHOLDR@   R9   R:   R-   R   (   R   R3   R   R    R4   (    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   set_local_mis_sizeX   s
    	c         C  sH   t  j d k  s! t  j t  j k rD |  j d t  j d t d d n  d  S(   Ni    sJ   --fragmented-max-indent should be between 0 and --extensive-mis-size (%d)!R6   R7   i   (   R   t   fragmented_max_indentR<   R9   R:   (   R4   (    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   check_fragmented_max_indent`   s    !	c         C  sd   | d  k	 r0 x! | D] } t t | t  q Wn  | d  k	 r` x! | D] } t t | t  qC Wn  d  S(   N(   R,   R-   R   R:   t   False(   R   R3   R   R    t   store_true_valuest   store_false_valuest   v(    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   set_multiple_variablesf   s    c         C  sn   | j    | k r. t t |  j | j     n< | j d | d t |  d d j |  d t d d d  S(   Ns   incorrect value for s    (s+   )! Please use one of the following values: s   , R6   R7   i   (   t   lowerR-   R   R   R9   R2   R   R:   (   R   R3   R   R    R4   t   available_values(    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   check_str_arg_valueo   s
    )i    t   Infc         C  s   | t  |  k o | k n rN t t |  j |  t | j |  j |  n | rj t t |  j |  n | r | j d | d t |  d t |  d t |  d t d d n9 | j d | d t |  d t |  d t d d d  S(	   Ns   incorrect value for s    (s#   )! Please specify a number between s    and R6   R7   i   s(   )! Please specify a number greater than (   t   floatR-   R   R   R   R9   R2   R:   (   R   R3   R   R    R4   t   default_valuet	   min_valuet	   max_value(    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   check_arg_valuex   s    "4&c         C  s   g  } d } xv t  |   D]h \ } } | | k rA | j |  q | j |  r t |  | k r | j |  t |  } q q q Wx5 t | d t D]! } | r |  | d =n  |  | =q W|  S(   Nit   reversei   (   t	   enumeratet   appendt
   startswitht   lent   sortedR:   (   t   quast_py_argsR   t   argt   opt_idxst   common_lengtht   idxt   ot   opt_idx(    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   remove_from_quast_py_args   s    c   	      C  s   | r> | } t  | d  t d | f g  } | j d  nV d | k rb | j d  \ } } n t j | } } t  | d  t | | f g  } t t d t    j |  d  S(   Ns   genomic featureR   s{  Option -G is deprecated! Please use --features (or -g) to specify a file with genomic features.
If you want QUAST to extract only a specific genomic feature from the file, 
you should prepend the filepath with the feature name and a colon, for example:
--features CDS:genes.gff --features transcript:transcripts.bed
Otherwise, all features would be counted:
--features genes.gff
t   :t   features(   R
   t   dictt   warningR   R   t   ALL_FEATURES_TYPER   t   update(	   R   R3   R   R    R4   t   is_old_formatt   fpathRb   t   feature(    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   parse_features   s    c         C  s   g  } | j  d  } x t |  D] \ } } t j j |  r g  t j |  D]@ \ }	 }
 } | D]* } t j | d | rc t |	 |  ^ qc qP } | j	 t
 |   q" t | d  | j |  q" Wt t |  j g   j	 |  d  S(   NR   R4   t	   reference(   R   RT   R/   R0   R   t   walkR	   t   check_is_fasta_fileR   R   RX   R
   RU   R   R   R   (   R   R3   R   R    R4   t
   ref_fpathst
   ref_valuest   it	   ref_valueR0   t   dirst   filesR   t
   references(    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   parse_meta_references   s    )-c   	      C  s   g  } | j  d  } x t |  D]w \ } } | j |  rd t | | j   d  | j |  q" | j d | j   d t |  d d t d d q" Wt	 t
 |  j g   j |  d  S(	   NR   s    files   incorrect extension for s    file (s   )! R6   R7   i   (   R   RT   t   endswithR
   t   upperRU   R9   R2   R:   R   R   R   R   (	   R   R3   R   R    t	   extensionR4   t   fpathsR   Rp   (    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   parse_files_list   s    (c         C  sx   | r: t  |   t  |  k r: | j d d t d d n  | rt t  |   t  |  k rt | j d d t d d n  d  S(   NsC   Number of SAM files does not match the number of files with contigsR6   R7   i   sC   Number of BAM files does not match the number of files with contigs(   RW   R9   R:   (   t   contigs_fpathst
   sam_fpathst
   bam_fpathsR4   (    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   check_sam_bam_files   s    c           C  s   t  t _ t  t _ t  t _ d  S(   N(   RE   R   t
   prokaryotet   analyze_gapst	   show_snps(    (    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   set_large_genome_parameters   s    		c         C  s1   |  j  |  t j d t j  t j d  d  S(   Nt   streami   (   R9   R   t   usaget   syst   stderrt   exit(   R4   t   msg(    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   wrong_test_option   s    c      
   C  s   d d d d d d d d d	 d
 g
 } d d d d d g } x* | D]" } | |  k r@ |  j  |  q@ q@ Wx! | D] } t |  | d t qm Wx | D] } t |  |  q W|  S(   Ns   -os   --output-dirs   -rs   -Rs   --references   --max-ref-numbers   -ls   --labelss   --references-lists
   --blast-dbs   -Ls   --tests   --test-no-refs   --unique-mappings   --reuse-combined-alignmentsRZ   (   t   removeR`   R:   (   RY   R{   t   opts_with_args_to_removet   opts_to_removet   contigs_fpathR   (    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   clean_metaquast_args   s    c   
   
   C  sg  d d g } d d d g } x! | D] } t  |  | d t q" Wx | D] } t  |  |  qF W|  d g 7}  d j g  t j D]! } | t j k rz t |  ^ qz  t _ t j s d	 t _ n  |  d g 7}  |  t j g 7}  t j j | t j	  } t
 j t j  } t j p"t j j | | d
  t _ t j pGt j j | | d  t _ t j plt j j | | d  t _ t j rt t j  r|  d g 7}  |  t j g 7}  n  t j rt t j  r|  d g 7}  |  t j g 7}  n  t j rt t j  r|  d g 7}  |  t j g 7}  n  t j j | t j t j  }	 | rct j j |	  rc|  d |	 g 7}  n  d  S(   Ns   --contig-thresholdss   --sv-beds   -ss   --split-scaffoldss   --combined-refRZ   s   --no-check-metaR   R,   s   .beds   .covs   .physical.covs   --covs
   --phys-covs   --aligns-for-reuse(   R`   R:   R   R   t   contig_thresholdst
   min_contigR2   R/   R0   t   reads_stats_dirnameR	   t   name_from_fpatht   combined_ref_namet   bedt	   cov_fpatht   phys_cov_fpathR   t    detailed_contigs_reports_dirnamet   aligner_output_dirnameR   (
   RY   t   combined_output_dirpatht   reuse_combined_alignmentsR   R   R   t	   thresholdt   reads_stats_dirpatht   reference_namet   alignments_for_reuse_dirpath(    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   prepare_regular_quast_args   s<    =	%%%c      b   C  s  t  | d  } | d k r" t n t } | d k r: t n t t _ d | k sg d | k sg d | k r t j d | k d | d t t j d  n  d	 | k s d
 | k r t j |  t j d  n  | d } d g t	 d d d d  f d g t	 d d d d  f d g t	 d d d d  f d g t	 d d d d  f d g t	 d d d d  f d d g t	 d d d d d d d t
 d  |  f  f d! d" g t	 d d# d d$ d d d t d  |  f d% i d d& 6d d' 6 f d( d) d* g t	 d d+ d | rd n d, d | rd n d- d  | r!|  f n d  d | r3t n d   f d. d/ g t	 d d0 d d, d d1  f d2 d3 g t	 d d4 d d d d d  |  t f d t  f d5 d6 g t	 d d7 d d d d d  |  f d t  f d8 d9 g t	 d d: d d, d d1  f d; d< g t	 d d= d d, d d1  f d> g t	 d d: d d, d d1  f d? g t	 d d= d d, d d1  f d@ g t	 d dA d d, d d1  f dB g t	 d dC d d, d d1  f dD g t	 d dE d d, d d1  f dF g t	 d dE d d, d d1  f dG g t	 d dH d d, d d1  f dI g t	 d dJ d d, d d1  f dK g t	 d dL d d, d d1  f dM g t	 d dN d d, d d1  f dO g t	 d dP d d,  f dQ g t	 d dR d d,  f dS g t	 d dT d d d d d  dU |  f d t  f dV g t	 d dW d d d d d  dX |  f d t  f dY g t	 d dZ d d,  f d[ g t	 d d\ d d,  f d] g t	 d d^ d d,  f d_ g t	 d d` d d  f da db g t	 d dc d d  f dd g t	 d de d d  f df g t	 d dg d d d t d% i dh dg g di 6dj t  f dk dl g t	 d dm d d  f dn do g t	 d dp d d  f dq g t	 d dr d d d t d% i dr g di 6dp g ds 6 f dt g t	 d du d d  f dv dw g t	 d dh d d  f dx g t	 d dy d d  f dz g t	 d d{ d d  f d| g t	 d d} d d$  f d~ d g t	 d d d d dj t j d d d t d  |  f d% i d d d g d 6 f d g t	 d d d d d d d t d  |  f d% i d d' 6d d 6 f d d g t	 d d d d  f d g t	 d d d d  f d g t	 d d d t  f d g t	 d d d d d d  f d d g t	 d d d d$ dj t j d d d t d  |  f  f d g t	 d d d d$ dj t j d d d t d  |  f  f d g t	 d d d t  f d d g t	 d d d d$  f d d g t	 d d d d$  f d g t	 d d d d dj t j d d d t d  |  f d% i d d' 6d d 6 f d g t	 d d d d$  f d g t	 d d  f d g t	 d d d d$ dj t j d d d t d  |  f d% i d d' 6d d 6 f d g t	 d d  f d g t	 d d d d dj t  f d d g t	 d d d d dj t  f d d g t	 d d d d dj t  f d g t	 d d d d$  f d g t	 d d d d  f d g t	 d d d d$ d d d t d  |  f d% i d d' 6 f d g t	 d d d d$ d d d t d  |  f d% i t j d' 6t j d 6 f d g t	 d d d d  f d g t	 d d d d d d d t d  |  f d% i t j d 6 f d g t	 d d d d  f d g t	 d d d d  f d g t	 d d d d  f d g t	 d d d d d t d% i d d d g di 6d d d d d g ds 6dj t  f d g t	 d d d d  f d g t	 d d d d d t d% i d d g di 6 f d g t	 d d d d  f d g t	 d d d d  f d g t	 d d d d d t d% i d d g ds 6 f d g t	 d d d d  f d g t	 d d d d  f d g t	 d d d d  f d g t	 d d d d  f d g t	 d d d d d t d% i d g di 6d d g ds 6 f d g t	 d d d d  f d g t	 d d d d  f d g t	 d d d d1  f d g t	 d d d d1  f d d g t	 d d d d  f d d g t	 d d  f d g t	 d d  f d g t	 d d d d  f d g t	 d d d d  f gZ } | r| d g t	 d d d d  f d g t	 d d d d  f d g t	 d d d d$ d d d t d  |  f d% i t j d& 6d d' 6 f d g t	 d d  f d g t	 d d  f g 7} n  t d t  } x$ | D] \ } } | j  | |   qW| j! | d  \ }	 }
 t j" r6| r6d} t# |  |  n  t j$ r\| r\d} t# |  |  n  t j% rt j& r|  j' dt j( rdf n dw dddn  t j) rt j* r|  j' ddddn  t+ t j,  t+ t j-  k r|  j' d	ddn  t+ t j.  t+ t j/  k r/|  j' d
ddn  t j0 rt j1 sW|  j' dddn  t j2 rt j3 rt j. pzt j4 r|  j' dddqn  t j5 st j$ st j" rt6 t j7  t _8 t9 t j8 dt: t; j< j= t j8   dd t j5 st j" rX| rt> n t? t _1 | sXt@ t _A tB t _C t t _% t j sUt t _& qUqXn  t j" rvtD t _, tE t _- n  |
 | rtF n tG 7}
 t t _5 tH d  |
 D  stH d  t j, D  stH d  t j- D  r|  jI d t j d qn  |
 s9|  j' ddt t j dt jJ  t j d n  t j rLtK   n  tL   t _ t jM rntN |   n  t jO d  k rt j rt jP n t jQ t _O n  t jR d  k rt j rt jS n t jT t _R n  t j d  k r| rt jU t _ n  x |
 D] } tV | d qWt jW r&t t _X n  t j8 s]t9 t; jY   dt: t; jY    dd n  tZ t j8 t jW t j8 | st jX n d   \ t _8 t _W } |  j[ t j8 t j\  |  j] d t j^  |  j_ | dd  dt |  j`   | r|  ja d tb jc t j8  n  t jd r0tb je t jd |
  t _d n  tb jf |
 t jd t jg  t _d t jh dk rig  t _h n. g  t jh ji d D] } t |  ^ q|t _h t jj dk rg  t _j n. g  t jj ji d D] } t |  ^ qt _j t jk |   | jl jm r$t j d k r$d t _ |  jn d q$n  t jo rXt jp sHt jC sHt jA rX|  jn d  n  | rptq | |
  } n  t jr st js rtt |
 t jr t js |   n  | |
 f S(!  Ni    t   metat   larges   -hs   --helps   --help-hiddent   modet   shorts   -vs	   --versioni   s   --debugR   t   debugR   t
   store_trues   --no-portable-htmlt   portable_htmlt   store_falses   --testt   tests	   --test-svt   test_svs   --test-no-reft   test_no_refs   -os   --output-dirR1   t   typet   stringt   callbackt   callback_argss   -ts	   --threadst   max_threadst   intt   callback_kwargsRO   RP   s   -rs   -Rs   --referenceRk   R   t   stores   -Os	   --operonst   operonsR   s   -Gs   --genest   geness   -gs
   --featuresRb   s   -1s   --reads1t   forward_readss   -2s   --reads2t   reverse_readss   --pe1s   --pe2s   --mp1t   mp_forward_readss   --mp2t   mp_reverse_readss   --12t   interlaced_readss   --pe12s   --mp12t   mp_interlaced_readss   --singlet   unpaired_readss   --pacbiot   pacbio_readss
   --nanoporet   nanopore_readss	   --ref-samt   reference_sams	   --ref-bamt   reference_bams   --samR|   s   .sams   --bamR}   s   .bams
   --sv-bedpeR   s   --covR   s
   --phys-covR   s   --aligns-for-reuseR   s   -ls   --labelst   labelss   -Lt   all_labels_from_dirss   --mgmt   metagenemarkt   gene_findingRF   t   defaults   -ss   --split-scaffoldst   split_scaffoldss   -es   --eukaryoteR   s   --fungust	   is_fungusRG   s   --largeR=   s   -fs   --gene-findings   --rna-findingt   rna_gene_findings   --fragmentedt   check_for_fragmented_refs   --fragmented-max-indentRC   s   -as   --ambiguity-usaget   ambiguity_usaget   nonet   onet   allRK   s   --ambiguity-scoret   ambiguity_scoreRN   g?g      ?RQ   s   -us   --use-all-alignmentst   use_all_alignmentss   --strict-NAt	   strict_NAs   --unaligned-part-sizet   unaligned_part_sizes   --skip-unaligned-mis-contigst   unaligned_mis_thresholdt   store_constt   constg        s   -xs   --extensive-mis-sizeR<   s   --local-mis-sizeR8   s   --scaffold-gap-max-sizet   scaffolds_gap_thresholds   -ms   --min-contigR   s   -is   --min-alignmentt   min_alignments   --min-identityt   min_IDYg      T@g      Y@s   --est-ref-sizet   estimated_reference_sizes   --contig-thresholdsR   s
   --x-for-Nxt   x_for_additional_Nxid   s   --gene-thresholdst   genes_lengthss	   --glimmert   glimmers   -bs   --conserved-genes-findingt	   run_buscos   -ks   --k-mer-statst   use_kmcs   --k-mer-sizet   unique_kmer_lens   --upper-bound-assemblyt   optimal_assemblys   --upper-bound-min-cont   upperbound_min_connectionss   --est-insert-sizet   optimal_assembly_insert_sizes   --report-all-metricst   report_all_metricss   --plots-formatt   plot_extensions   --use-input-ref-ordert   use_input_ref_orders   --circost   draw_circoss   --no-read-statst   no_read_statss   --fastt   fastt   no_gct   no_svR   t
   draw_plotst   html_reportt   create_icarus_htmlR   s
   --no-checkt   no_checks   --no-check-metat   no_check_metas	   --no-snpss
   --no-plotss	   --no-htmls   --no-icaruss   --no-gcs   --no-svs   --memory-efficientt   memory_efficients   --space-efficientt   space_efficients   --silentt   silents   --combined-reft   is_combined_refs   --colorst   used_colorss   --lst   used_lss   -js   --save-jsont	   save_jsons   -Js   --save-json-tot   json_output_dirpaths   --err-fpatht   error_log_fpaths   --read-supportt   calculate_read_supports   --agbt   is_agb_modes   --unique-mappingt   unique_mappings   --reuse-combined-alignmentsR   s   --max-ref-numbert   max_referencess   --references-listt   references_txts
   --blast-dbt   custom_blast_db_fpatht   option_classs,   Option --test-sv can be used for QUAST only
s4   Option --test-no-ref can be used for MetaQUAST only
s   You cannot use --glimmer and s    simultaneously!R7   i   sT   You cannot use --use-all-alignments and --reuse-combined-alignments simultaneously! sG   Reused alignments are always filtered, i.e. a subset of all alignments.s  Use the SAME number of files with forward and reverse reads for paired-end libraries (-1 <filepath> -2 <filepath>).
Use --pe12 option to specify a file with interlaced forward and reverse paired-end reads.
Use --single option to specify a file with unpaired (single-end) reads.s   Use the SAME number of files with forward and reverse reads for mate-pair libraries (--mp1 <filepath> --mp2 <filepath>).
Use --mp12 option to specify a file with interlaced forward and reverse mate-pair reads.s   UpperBound assembly is reference-based by design, so you cannot use --upper-bound-assembly option without specifying a reference (-r)!s   UpperBound assembly construction requires mate-pairs or long reads (Pacbio SMRT or Oxford Nanopore), so you cannot use --upper-bound-assembly without specifying them!s!   You are trying to run QUAST from s   .
s/   Please, rerun QUAST from a different directory.c         s  s   |  ] } t  |  Vq d  S(   N(   R   (   t   .0Rh   (    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pys	   <genexpr><  s    c         s  s   |  ] } t  |  Vq d  S(   N(   R   (   R   Rh   (    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pys	   <genexpr>=  s    s  
You are probably running QUAST installed via pip, which does not include test data.
This is fine, just start using QUAST on your own data!

If you still want to run tests, please download and unpack test data to CWD:
  wget quast.sf.net/test_data.tar.gz && tar xzf test_data.tar.gz
i   s3   You should specify at least one file with contigs!
R6   R   t   contigssL   An output path was not specified manually. You are trying to run QUAST from s6   Please, specify a different directory using -o option.t
   wrap_aftert   is_mains   Output directory already exists and looks like a QUAST output dir. Existing results can be reused (e.g. previously generated alignments)!R,   R   sV   --ambiguity-usage was set to 'all' because not default --ambiguity-score was specifieds   Analysis of genes and/or operons files (provided with -g and -O) requires extensive RAM usage, consider running QUAST without them if memory consumption is critical.(u   R   R:   RE   R   R=   R   R   R   t   print_versionRc   R5   RR   R,   Ru   Rj   Rz   RI   R   RL   R   R<   R;   R8   RB   R   R   t   optimal_assembly_min_ISt   optimal_assembly_max_ISt   supported_plot_extensionsR   R   R   t
   add_optiont
   parse_argsR   R   R   R   R   R9   R   R   R   RW   R   R   R   R   R   Rk   R   R   R   R   R   t   test_output_dirnameR1   R   R2   R/   R0   t   dirnamet   meta_test_referencest   test_referencet   test_featuresRb   t   test_operonsR   t   test_forward_readst   test_reverse_readst   meta_test_contigs_fpathst   test_contigs_fpathst   anyt   infoR   R   R@   RC   RD   R   t   LARGE_MIN_CONTIGt   DEFAULT_MIN_CONTIGR   t   LARGE_MIN_ALIGNMENTt   DEFAULT_MIN_ALIGNMENTt   DEFAULT_MIN_IDYR
   R   R   t   getcwdR   t   set_up_file_handlerR   t   set_up_console_handlerR   t   print_command_linet   startt   noticeR	   t   remove_reportsR   t   parse_labelst   process_labelsR   R   R   R   t   set_max_threadsR   R   Rd   R   R   R   R|   R}   R~   (   R4   t
   quast_argsR   t   is_metaquastRY   t   optionsR    t   argst   kwargst   optsR{   R   t   c_fpatht   existing_quast_dirt   x(    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   parse_options  s   $
																																																																																												

		
)							2	
	!!		#'
	..	$(:   t
   __future__R    R/   R   t   optparseR   R   t   os.pathR   R   R   R   R   t
   quast_libsR   R	   t   quast_libs.qutilsR
   R   R   R   t   quast_libs.qconfigR   t   test_data_dir_basenamet
   QUAST_HOMEt   test_data_dirR  R  R  Rc   R  R  R  R
  R  R   R   R5   R;   R@   RB   RD   R,   RI   RL   RN   RR   R`   RE   Rj   Ru   Rz   R~   R   R   R   R   R,  (    (    (    sG   /home/psgendb/BIRCHDEV/install/quast-5.2.0/quast_libs/options_parser.pyt   <module>   sX   ""															$