
    tf"                        d dl Z d dlmZ d dlZd dlZddlmZ ddlmZ ddl	m
Z
  ej                          ej                  dd	       ej                  d
d	       ej                  dd	       ej                  ddd       ej                  dddddd       ej                  dd ej                  ddg      d       e
d      d                                                         Zy)    N   )util   )cli)exit_on_broken_pipe
chromsizesCHROMSIZES_PATH)metavarfasta
FASTA_PATHenzymeENZYMEz--outz-oz Output file (defaults to stdout))helpz--headerz-Hz2Print the header of column names as the first row.TF)r   is_flagdefaultshow_defaultz	--rel-idsz-i01ziInclude a column of relative bin IDs for each chromosome. Choose whether to report them as 0- or 1-based.)typer   c                    t        j                  | d      } t        | j                               }t	        j
                  |      rbt        j                  t	        j                  |d            }|j                  t        j                  t	        j                  |d                   n|g}t        j                  |g| }t        j                  ||      }	|=|	j                  d      j                         |	d<   t        |      dk(  r|	dxx   dz  cc<   |t        j                  }
nt!        |d	      }
|r|	d
d
 j#                  |
dddd       |	j#                  |
dddd       |
j%                          y)ab  
    Generate fragment-delimited genomic bins.

    Output a genome segmentation of restriction fragments as a BED file.

    CHROMSIZES_PATH : UCSC-like chromsizes file, with chromosomes in desired
    order.

    FASTA_PATH : Genome assembly FASTA file or folder containing FASTA files
    (uncompressed).

    ENZYME : Name of restriction enzyme

    T)	all_namesz*.faz*.fastaNchromidr   wr   	
F)seplineterminatorindexheader)r   read_chromsizeslistkeysopisdirglobjoinextend
load_fastadigestgroupbycumcountintsysstdoutopento_csvflush)r   r   r   outr    rel_idschroms	filepathsfasta_recordsfragsfs              [/var/www/html/software/conda/envs/higlass/lib/python3.12/site-packages/cooler/cli/digest.pyr*   r*      s:   H %%jDAJ*//#$F 
xxIIbggeV45	2775)#<=>G	OOF7Y7M KKv.EmmG,557dw<1$K1K {JJcNa
4E$ 	 	
 
LLTuLMGGI    )r&   os.pathpathr$   r.   click r   r   _utilr   commandargumentoptionChoicer*    r;   r:   <module>rF      s      
    & &78.(+gt"DE	= 	sCj	!
6	 Q-  F , / 9 *-r;   