From ccf0c5c848dd0222b1355d3df612b2183bd49021 Mon Sep 17 00:00:00 2001 From: Donald Campbell <125581724+donaldcampbelljr@users.noreply.github.com> Date: Tue, 17 Sep 2024 14:11:44 -0400 Subject: [PATCH] fix row skipping during file opening --- bedboss/refgenome_validator/utils.py | 25 +++++++++++++++++-- .../ref_genome_validating/validate_genome.py | 6 +++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/bedboss/refgenome_validator/utils.py b/bedboss/refgenome_validator/utils.py index 038dccd..68cb66e 100644 --- a/bedboss/refgenome_validator/utils.py +++ b/bedboss/refgenome_validator/utils.py @@ -41,11 +41,32 @@ def _read_file_pd(*args, **kwargs) -> pd.DataFrame: f"Skipped {row_count} rows while standardization. File: '{args}'" ) df = df.dropna(axis=1) - return df + for index, row in df.iterrows(): + if ( + isinstance(row[0], str) + and isinstance(row[1], int) + and isinstance(row[2], int) + ): + return df + else: + if isinstance(row[1], str): + try: + _ = int(row[1]) + df[1] = pd.to_numeric(df[1]) + except Exception: + row_count += 1 + break + if isinstance(row[2], str): + try: + _ = int(row[2]) + df[2] = pd.to_numeric(df[2]) + except Exception: + row_count += 1 + break + return df except (pd.errors.ParserError, pd.errors.EmptyDataError) as _: if row_count <= max_rows: row_count += 1 - # if can't open file after 5 attempts try to open it with gzip return _read_gzipped_file(*args) diff --git a/scripts/ref_genome_validating/validate_genome.py b/scripts/ref_genome_validating/validate_genome.py index 0ee7dea..4e1ea6b 100644 --- a/scripts/ref_genome_validating/validate_genome.py +++ b/scripts/ref_genome_validating/validate_genome.py @@ -109,6 +109,11 @@ def main(): chrom_sizes_file="/home/drc/GITHUB/bedboss/bedboss/bedboss/refgenome_validator/chrom_sizes/ucsc_mm10.chrom.sizes", ) + ucsc_mm39 = GenomeModel( + genome_alias="ucsc_mm10", + chrom_sizes_file="/home/drc/GITHUB/bedboss/bedboss/bedboss/refgenome_validator/chrom_sizes/ucsc_mm39.chrom.sizes", + ) + ucsc_pantro6 = GenomeModel( genome_alias="ucsc_pantro6", chrom_sizes_file="/home/drc/GITHUB/bedboss/bedboss/bedboss/refgenome_validator/chrom_sizes/ucsc_panTro6.chrom.sizes", @@ -117,6 +122,7 @@ def main(): all_genome_models.append(ucsc_hg38) all_genome_models.append(ncbi_hg38) all_genome_models.append(ucsc_mm10) + all_genome_models.append(ucsc_mm39) all_genome_models.append(ucsc_hg19) all_genome_models.append(ensembl_hg38) all_genome_models.append(ucsc_pantro6)