From fd4bc60c1ab6a128973088eb0a9cd89891701fe4 Mon Sep 17 00:00:00 2001 From: Chunyu Ma Date: Tue, 5 Nov 2024 19:00:37 -0500 Subject: [PATCH] use ".sig" instead of ".sig.gz" --- src/yacht/hypothesis_recovery_src.py | 15 ++- src/yacht/make_training_data_from_sketches.py | 6 ++ src/yacht/run_yacht_train_core | Bin 332488 -> 0 bytes src/yacht/utils.py | 92 +++++------------- 4 files changed, 42 insertions(+), 71 deletions(-) delete mode 100755 src/yacht/run_yacht_train_core diff --git a/src/yacht/hypothesis_recovery_src.py b/src/yacht/hypothesis_recovery_src.py index 8c95096..7f3d3dd 100644 --- a/src/yacht/hypothesis_recovery_src.py +++ b/src/yacht/hypothesis_recovery_src.py @@ -9,8 +9,9 @@ from tqdm import tqdm from multiprocessing import Pool import sourmash +import glob from typing import List, Set, Tuple -from .utils import load_signature_with_ksize +from .utils import load_signature_with_ksize, decompress_all_sig_files # Configure Loguru logger from loguru import logger @@ -23,7 +24,7 @@ sys.stdout, format="{time:YYYY-MM-DD HH:mm:ss} - {level} - {message}", level="INFO" ) -SIG_SUFFIX = ".sig.gz" +SIG_SUFFIX = ".sig" def get_organisms_with_nonzero_overlap( @@ -61,6 +62,12 @@ def get_organisms_with_nonzero_overlap( logger.info("Unzipping the sample signature zip file") with zipfile.ZipFile(sample_file, "r") as sample_zip_file: sample_zip_file.extractall(path_to_sample_temp_dir) + all_gz_files = glob.glob(f"{path_to_sample_temp_dir}/signatures/*.sig.gz") + + # decompress all signature files + logger.info(f"Decompressing {len(all_gz_files)} .sig.gz files using {num_threads} threads.") + decompress_all_sig_files(all_gz_files, num_threads) + sample_sig_file = pd.DataFrame( [ @@ -141,7 +148,7 @@ def __find_exclusive_hashes( ) -> Set[int]: # load genome signature sig = load_signature_with_ksize( - os.path.join(path_to_temp_dir, "signatures", md5sum + ".sig.gz"), ksize + os.path.join(path_to_temp_dir, "signatures", md5sum + SIG_SUFFIX), ksize ) return {hash for hash in sig.minhash.hashes if hash in single_occurrence_hashes} @@ -155,7 +162,7 @@ def __find_exclusive_hashes( multiple_occurrence_hashes: Set[int] = set() for md5sum in tqdm(organism_md5sum_list, desc="Processing organism signatures"): sig = load_signature_with_ksize( - os.path.join(path_to_genome_temp_dir, "signatures", md5sum + ".sig.gz"), + os.path.join(path_to_genome_temp_dir, "signatures", md5sum + SIG_SUFFIX), ksize, ) for hash in sig.minhash.hashes: diff --git a/src/yacht/make_training_data_from_sketches.py b/src/yacht/make_training_data_from_sketches.py index 3699470..8971911 100644 --- a/src/yacht/make_training_data_from_sketches.py +++ b/src/yacht/make_training_data_from_sketches.py @@ -7,6 +7,7 @@ from loguru import logger import json import shutil +import glob from . import utils # Configure Loguru logger @@ -107,6 +108,11 @@ def main(args): logger.info("Unzipping the sourmash signature file to the temporary directory") with zipfile.ZipFile(ref_file, "r") as sourmash_db: sourmash_db.extractall(path_to_temp_dir) + all_gz_files = glob.glob(f"{path_to_temp_dir}/signatures/*.sig.gz") + + # decompress all signature files + logger.info(f"Decompressing {len(all_gz_files)} .sig.gz files using {num_threads} threads.") + utils.decompress_all_sig_files(all_gz_files, num_threads) # Extract signature information logger.info("Extracting signature information") diff --git a/src/yacht/run_yacht_train_core b/src/yacht/run_yacht_train_core deleted file mode 100755 index dd9715b1d1b330f123f91eb2a89a11185bd7be02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 332488 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 Tuple[pd.DataFrame, pd.DataFrame]: +def _decompress_and_remove(file_path: str) -> None: """ - Temporary Helper function that generates the required input for `yacht run`. - :param selected_genomes_file_path: Path to a file containing all the genome file path. - :param num_threads: Number of threads to use for multiprocessing when reading the comparison files. Default is 16. - :param sig_info_dict: - A dictionary mapping each genome signature name to a tuple containing metadata: - (md5sum, minhash mean abundance, minhash hashes length, minhash scaled). - - md5sum: Checksum for data integrity. - - minhash mean abundance: The mean abundance for the genome's minhash. - - minhash hashes length: The length of minhash hashes. - - minhash scaled: The scaling factor for the minhash. - :return - manifest_df: a dataframe containing the processed reference signature information + Decompresses a GZIP-compressed file and removes the original compressed file. + :param file_path: The path to the .sig.gz file that needs to be decompressed and deleted. + :return: None """ - # get info from the signature files of selected genomes - selected_sig_files = pd.read_csv(selected_genomes_file_path, sep="\t", header=None) - selected_sig_files = selected_sig_files[0].to_list() - - # get the genome name from the signature files using multiprocessing - with Pool(num_threads) as p: - result_list = p.starmap(_temp_get_genome_name, [(sig_file_path, ksize) for sig_file_path in selected_sig_files]) - selected_genome_names_set = set([x for x in result_list if x]) + try: + output_filename = os.path.splitext(file_path)[0] + with gzip.open(file_path, 'rb') as f_in: + with open(output_filename, 'wb') as f_out: + f_out.write(f_in.read()) - # remove the close related organisms from the reference genome list - manifest_df = [] - for sig_name, ( - md5sum, - minhash_mean_abundance, - minhash_hashes_len, - minhash_scaled, - ) in tqdm(sig_info_dict.items(), desc="Removing close related organisms from the reference genome list"): - if sig_name in selected_genome_names_set: - manifest_df.append( - ( - sig_name, - md5sum, - minhash_hashes_len, - get_num_kmers( - minhash_mean_abundance, - minhash_hashes_len, - minhash_scaled, - False, - ), - minhash_scaled, - ) - ) - manifest_df = pd.DataFrame( - manifest_df, - columns=[ - "organism_name", - "md5sum", - "num_unique_kmers_in_genome_sketch", - "num_total_kmers_in_genome_sketch", - "genome_scale_factor", - ], - ) + os.remove(file_path) - return manifest_df \ No newline at end of file + except Exception as e: + logger.info(f"Failed to process {file_path}: {e}") + +def decompress_all_sig_files(sig_files: List[str], num_threads: int) -> None: + """ + Decompresses all .sig.gz files in the list using multiple threads. + :param sig_files: List of .sig.gz files that need to be decompressed. + :param num_threads: Number of threads to use for decompression. + :return: None + """ + with Pool(num_threads) as p: + p.map(_decompress_and_remove, sig_files) + + logger.info("All .sig.gz files have been decompressed.") \ No newline at end of file