"""
Utility modules for gpathex 
"""
from .fasta import read_fasta, write_fasta, fasta_to_dataframe, dataframe_to_fasta
from .kegg import (
    kegg_api_get, kegg_list, kegg_find, kegg_conv, kegg_link,
    parse_kegg_response, download_kegg_file,
    get_organism_list, get_ncbi_ftp_url,
    get_organism_info, construct_ncbi_urls  # Added new functions
)
from .parsers import (
    parse_org_file, parse_kegg_file, parse_ko_file,
    parse_pathway_file, parse_compound_file,
    parse_ko_file_to_gene_dict  # Add this new function
)
from .polars_utils import (
    create_dataframe, save_dataframe, load_dataframe,
    filter_dataframe, merge_dataframes, group_dataframe,
    check_polars_available, check_biopython_available,
    POLARS_AVAILABLE, BIOPYTHON_AVAILABLE, POLARS_BIO_AVAILABLE
)
from .downloader import (
    DownloadError,
    download_with_progress,
    batch_download,
    simple_download
)

__all__ = [
    'read_fasta', 'write_fasta', 'fasta_to_dataframe', 'dataframe_to_fasta',
    'kegg_api_get', 'kegg_list', 'kegg_find', 'kegg_conv', 'kegg_link',
    'parse_kegg_response', 'download_kegg_file',
    'get_organism_list', 'get_ncbi_ftp_url',
    'get_organism_info', 'construct_ncbi_urls',  # Added
    'parse_org_file', 'parse_kegg_file', 'parse_ko_file',
    'parse_pathway_file', 'parse_compound_file',
    'parse_ko_file_to_gene_dict',  # Add this
    'create_dataframe', 'save_dataframe', 'load_dataframe',
    'filter_dataframe', 'merge_dataframes', 'group_dataframe',
    'check_polars_available', 'check_biopython_available',
    'POLARS_AVAILABLE', 'BIOPYTHON_AVAILABLE', 'POLARS_BIO_AVAILABLE',
    'DownloadError', 'download_with_progress', 'batch_download', 'simple_download'
]