
    DUf                         d dl Z d dlZd dlmc mZ d dlZd dlZddlmZ d Zd Z	d Z
d Zd Zd	 Zd
 Zd Zd Zd Zd ZdS )    N   )test_tempdirc                      t           j                            t                    st          j        dt          z             t          j        t                     d S )Nzmkdir -p %s)ospathexistsr   system
pybedtoolsset_tempdir     ^/var/www/html/software/conda/lib/python3.11/site-packages/pybedtools/test/test_gzip_support.pysetup_moduler   
   sD    7>>,'' 0
	-,.///<(((((r   c                      t           j                            t                    rt          j        dt          z             t          j                     d S )Nzrm -r %s)r   r   r   r   r	   r
   cleanupr   r   r   teardown_moduler      sB    	w~~l## -
	*|+,,,r   c                 |   t           j        j        }dt           j        _        t           j                                        }|t           j        _        t          j        |d          5 }t          | d          5 }|                    |           ddd           n# 1 swxY w Y   ddd           n# 1 swxY w Y   |S )z
    Make a gzip file on the fly
    :param bed_filename: Filename of bed file to gzip
    :return: filename of gzipped file
    .gzwbrbN)r
   settingstempfile_suffixBedTool_tmpgzipopen
writelines)bed_filenameorig_suffixgz_filenameout_in_s        r   _make_temporary_gzipr#      s    %5K*/J'$))++K*5J'	;	%	% !,%% 	!OOC   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! s6   'B18BB1B	B1!B	"B11B58B5c                      t          t          j        d                    } t          j        |           } d| j        k    sJ d S )Na.bedbed)r#   r
   example_filenamer   	file_type)agzs    r   test_gzipped_file_types_are_bedr*   $   sC    
z:7CC
D
DC

S
!
!CCM!!!!!!r   c                     t          t          j        d                    } t          t          j        d                    }t          j        |           } t          j        |          }t          j        d          }t          j        d          }|                    |          |                     |          cxk    r3|                    |          cxk    r|                     |          k    sn J d S )Nr%   zb.bed)r#   r
   r'   r   example_bedtool	intersect)r)   bgzabs       r   %test_gzipped_files_can_be_intersectedr1   +   s    
z:7CC
D
DC
z:7CC
D
DC

S
!
!C

S
!
!C"7++A"7++A;;q>>S]]3//WWWW1;;s3C3CWWWWs}}UVGWGWWWWWWWWWr   c                     t          t          j        d                    } t          j        |           } t          j        d          }| D ]}t          |           t          |          t          |           k    sJ d S Nr%   )r#   r
   r'   r   r,   printlist)r)   r/   is      r   )test_gzipped_files_are_iterable_as_normalr7   7   sy    
z:7CC
D
DC

S
!
!C"7++A  a77d3iir   c                      t          t          j        d                    } t          j        |           } t          j        d          }t          |          t          |           k    sJ d S r3   )r#   r
   r'   r   r,   strr)   r/   s     r   >test_str_representation_of_gzipped_files_is_the_same_as_normalr;   @   s]    
z:7CC
D
DC

S
!
!C"7++Aq66SXXr   c                      t          t          j        d                    } t          j        |           } t          j        d          }|                                 |                                k    sJ d S r3   )r#   r
   r'   r   r,   headr:   s     r   0test_head_of_gzipped_files_is_the_same_as_normalr>   G   sa    
z:7CC
D
DC

S
!
!C"7++A88::!!!!!!r   c                     t          j        d          } t          j        |                               d          }t	          j        |j        d          5 }|                                }d d d            n# 1 swxY w Y   t          |           5 }|                                }d d d            n# 1 swxY w Y   ||k    sJ d S )Nr%   T)
compressedrt)r
   r'   r   saveasr   r   fnread)	_filenamecompressed_filegfuncompressed_contentforiginal_contents         r   test_gzipped_outputrK   N   s2   +G44I (33::d:KKO 
?%t	,	, )!wwyy) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 
i $A6688$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 3333333s$   A88A<?A<B33B7:B7c                     t          j        d          } t          |           5 }|                                }d d d            n# 1 swxY w Y   t	          j        d          \  }}	 t          j        |           }|                    |           t          j        |d          5 }|                                }d d d            n# 1 swxY w Y   ||k    sJ 	 t          j
                            |          rt          j        |           d S d S # t          j
                            |          rt          j        |           w w xY w)Nr%   r   suffix)rC   rA   )r
   r'   r   rD   tempfilemkstempr   rB   r   r   r   isfileunlink)rE   rI   expected_content__temp_filenamebedtoolrG   actual_contents           r   1test_gzipping_is_default_when_extension_is_dot_gzrX   \   s   +G44I	i $A6688$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ !(666B%$Y//-(((Y}d++ 	'rWWYYN	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	'  >111117>>-(( 	%Im$$$$$	% 	%27>>-(( 	%Im$$$$	%sA   AA	A	)?D (C	=D 	CD CD 6E
c                     t          j        d          } t          |           5 }|                                }d d d            n# 1 swxY w Y   t	          j        d          \  }}	 t          j        |           }|                    |d           t          |          5 }|                                }d d d            n# 1 swxY w Y   ||k    sJ 	 t          j	        
                    |          rt          j        |           d S d S # t          j	        
                    |          rt          j        |           w w xY w)Nr%   r   rM   F)rC   r@   )r
   r'   r   rD   rO   rP   r   rB   r   r   rQ   rR   )rE   rI   rS   rT   rU   rV   non_gz_frW   s           r   /test_gzipping_can_be_turned_off_even_for_dot_gzr[   p   s   +G44I	i $A6688$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ !(666B%$Y//-E:::-   	-H%]]__N	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-  >111117>>-(( 	%Im$$$$$	% 	%27>>-(( 	%Im$$$$	%sA   AA	A	):D #C8D CD CD 6E)r   rO   pybedtools.test.tfuncstesttfuncsr
   r   r   r   r   r#   r*   r1   r7   r;   r>   rK   rX   r[   r   r   r   <module>r_      s   				  ' ' ' ' ' ' ' ' '                 ) ) )
  
   " " "	X 	X 	X       " " "4 4 4% % %(% % % % %r   