diff --git a/bedboss/_version.py b/bedboss/_version.py index af46754..de77196 100644 --- a/bedboss/_version.py +++ b/bedboss/_version.py @@ -1 +1 @@ -__version__ = "0.8.5" +__version__ = "0.8.6" diff --git a/bedboss/refgenome_validator/refgenie_chrom_sizes.py b/bedboss/refgenome_validator/refgenie_chrom_sizes.py index 3bd3363..e2b0334 100644 --- a/bedboss/refgenome_validator/refgenie_chrom_sizes.py +++ b/bedboss/refgenome_validator/refgenie_chrom_sizes.py @@ -40,7 +40,7 @@ class Genomes(BaseModel): genomes: List[SeqColGenome] -def run_requests(url, timeout=10) -> Any: +def run_requests(url, timeout=60) -> Any: """ Run a GET request to the specified URL and return the response. """ @@ -61,8 +61,10 @@ def get_genome_list() -> List[dict]: """ genome_data = run_requests(GENOMES_URL) - return genome_data.get("items", []) - + if genome_data: + return genome_data.get("items", []) + warnings.warn("Failed to fetch genomes from Refgenie, returning empty list.") + return [] def seq_col_from_digest(digest: str) -> List[SeqCol]: """ @@ -128,6 +130,7 @@ def save_seq_col_to_json(genomes: Genomes, output_path: str = "genome_seqcol.jso """ _LOGGER.info("Saving Refgenie genomes for later reuse...") + os.makedirs(os.path.dirname(output_path), exist_ok=True) with open(output_path, "w") as f: json.dump(genomes.model_dump(), f, indent=4) _LOGGER.info(f"Saved sequence collections to {output_path}") @@ -143,6 +146,8 @@ def read_seq_col_from_json(input_path: str = "genome_seqcol.json") -> Genomes: Returns: Genomes object containing the sequence collections """ + + # os.makedirs(os.path.dirname(input_path), exist_ok=True) with open(input_path, "r") as f: data = json.load(f) return Genomes(**data)