Skip to content

Commit

Permalink
Merge pull request #270 from Ensembl/mbarba/fix_integrity
Browse files Browse the repository at this point in the history
Mbarba/fix integrity
  • Loading branch information
JAlvarezJarreta authored Jan 18, 2024
2 parents ecae24e + 369559e commit 19072d9
Showing 1 changed file with 24 additions and 14 deletions.
38 changes: 24 additions & 14 deletions src/python/ensembl/io/genomio/manifest/check_integrity.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,22 +78,32 @@ def __init__(self, manifest_path: PathLike) -> None:
self.brc_mode = False

def has_lengths(self, name: str) -> bool:
"""Check if a given name has lengths records."""
if name in self.lengths:
return True
return False
"""Check if a given name has lengths records.
Raise KeyError if the name is not supported.
"""
try:
if self.lengths[name]:
return True
return False
except KeyError as err:
raise KeyError(f"There is no length record for {name}") from err


def get_lengths(self, name: str) -> Dict[str, Any]:
"""Returns a dict associating IDs with their length from a given file name."""
if name in self.lengths:
try:
return self.lengths[name]
raise KeyError(f"No length available for key {name}")
except KeyError as err:
raise KeyError(f"There is no length record for {name}") from err

def get_circular(self, name: str) -> Dict[str, Any]:
"""Returns a dict associating IDs with their is_circular flag from a given file name."""
if name in self.circular:
try:
return self.circular[name]
raise KeyError(f"No length available for key {name}")
except KeyError as err:
raise KeyError(f"No length available for key {name}") from err

def _add_error(self, error: str) -> None:
self.errors.append(error)
Expand Down Expand Up @@ -430,12 +440,12 @@ def check_integrity(self):
self._check_genome(genome)

# Check gff3
if manifest.has_lengths("gff_genes"):
gff_genes = manifest.get_lengths("gff_genes")
gff_seq_regions = manifest.get_lengths("gff_seq_regions")
gff_translations = manifest.get_lengths("gff_translations")
gff_all_translations = manifest.get_lengths("gff_all_translations")
gff_transposable_elements = manifest.get_lengths("gff_transposable_elements")
if manifest.has_lengths("gff3_genes"):
gff_genes = manifest.get_lengths("gff3_genes")
gff_seq_regions = manifest.get_lengths("gff3_seq_regions")
gff_translations = manifest.get_lengths("gff3_translations")
gff_all_translations = manifest.get_lengths("gff3_all_translations")
gff_transposable_elements = manifest.get_lengths("gff3_transposable_elements")

ann_genes = manifest.get_lengths("ann_genes")
ann_translations = manifest.get_lengths("ann_translations")
Expand Down

0 comments on commit 19072d9

Please sign in to comment.