Skip to content

Commit

Permalink
Merge pull request #51 from Clinical-Genomics/rename_function
Browse files Browse the repository at this point in the history
Rename fetch_ensembl_exon_lines function to fetch_ensembl_exons
  • Loading branch information
northwestwitch authored Oct 9, 2023
2 parents f3ff6ad + aaa45fc commit a670027
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 23 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
- Typo in instructions to download genes in README document
### Changed
- Code formatted with black and black check GitHub action
- Renamed `schug.load.ensembl.fetch_ensembl_exon_lines` function to `schug.load.ensembl.fetch_ensembl_exons`

## [1.2]
### Added
Expand Down
3 changes: 1 addition & 2 deletions schug/cli/fetch.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import typer
from schug.load.biomart import EnsemblBiomartClient
from schug.load.ensembl import (
fetch_ensembl_exon_lines,
fetch_ensembl_exons,
fetch_ensembl_genes,
fetch_ensembl_transcripts,
Expand Down Expand Up @@ -42,7 +41,7 @@ def ensembl_transcripts(build: str = typer.Option("37", "-b", "--build")):
@app.command()
def ensembl_exons(build: str = typer.Option("37", "-b", "--build")):
"""Fetch genes from ensembl"""
ensembl_client: EnsemblBiomartClient = fetch_ensembl_exon_lines(
ensembl_client: EnsemblBiomartClient = fetch_ensembl_exons(
build=build, chromosomes=["Y"]
)
for line in ensembl_client:
Expand Down
4 changes: 2 additions & 2 deletions schug/cli/load.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from pydantic import parse_obj_as
from schug.database.genes import create_gene_item
from schug.load.ensembl import (
fetch_ensembl_exon_lines,
fetch_ensembl_exons,
fetch_ensembl_genes,
fetch_ensembl_transcripts,
)
Expand All @@ -24,7 +24,7 @@ def exons(
"""Load exon data"""
typer.echo("Loading exons")
if not exons_file:
exons_file = fetch_ensembl_exon_lines(build=build, chromosomes=["Y"])
exons_file = fetch_ensembl_exons(build=build, chromosomes=["Y"])
parsed_exons = parse_obj_as(
List[EnsemblExon],
[parsed_line for parsed_line in csv.DictReader(exons_file, delimiter="\t")],
Expand Down
4 changes: 2 additions & 2 deletions schug/endpoints/exons.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from fastapi import APIRouter, Depends, HTTPException, Query, status
from fastapi.responses import StreamingResponse
from schug.database.session import get_session
from schug.load.ensembl import fetch_ensembl_exon_lines
from schug.load.ensembl import fetch_ensembl_exons
from schug.load.fetch_resource import stream_resource
from schug.models import Exon, ExonRead
from schug.models.common import Build
Expand All @@ -27,7 +27,7 @@ def read_exons(
async def ensembl_exons(build: Build):
"""A proxy to the Ensembl Biomart that retrieves exons in a specific genome build."""

ensembl_client: EnsemblBiomartClient = fetch_ensembl_exon_lines(build=build)
ensembl_client: EnsemblBiomartClient = fetch_ensembl_exons(build=build)
url: str = ensembl_client.build_url(xml=ensembl_client.xml)

return StreamingResponse(stream_resource(url), media_type="text/tsv")
19 changes: 2 additions & 17 deletions schug/load/ensembl.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,10 @@ def fetch_ensembl_transcripts(
return fetch_ensembl_biomart(attributes=attributes, filters=filters, build=build)


def fetch_ensembl_exon_lines(
def fetch_ensembl_exons(
build: str, chromosomes: Optional[List[str]] = None
) -> EnsemblBiomartClient:
"""Fetch the ensembl exons"""
"""Fetch the ensembl exons."""
chromosomes = chromosomes or CHROMOSOMES
LOG.info("Fetching ensembl exons")

Expand All @@ -109,18 +109,3 @@ def fetch_ensembl_exon_lines(
filters = {"chromosome_name": chromosomes}

return fetch_ensembl_biomart(attributes=attributes, filters=filters, build=build)


def fetch_ensembl_exons(
build: str, chromosomes: Optional[List[str]] = None
) -> List[EnsemblExon]:
"""Fetch ensembl exon objects"""
exon_lines: EnsemblBiomartClient = fetch_ensembl_exon_lines(
build=build, chromosomes=chromosomes
)

parsed_exons = parse_obj_as(
List[EnsemblExon],
[exon_info for exon_info in csv.DictReader(exon_lines, delimiter="\t")],
)
return parsed_exons

0 comments on commit a670027

Please sign in to comment.