Skip to main content

Keep track of genes, transcripts and exons from different sources

Project description

Schug

Schug :stew: is a service that gather data about genes, transcripts and exons from multiple sources and merge the information. Clinical Genomics Stockholm is currently maintaining an instance of Schug which can be used for downloading data. Here is the REST API with relevant endpoints.

Test the app using Docker

You can test Schug on your local computer using Docker. Make sure you have Docker installed and type the following commands in a terminal window:

git clone https://github.com/Clinical-Genomics/schug
cd schug
docker compose up

Then the app endpoints should be listed available at the following address http://localhost:8000/docs

The command to stop the demo is docker compose down.

Installation (development)

Make sure poetry is installed

git clone https://github.com/Clinical-Genomics/schug
cd schug
poetry install
schug serve --reload

Go to http://localhost:8000/docs and check out the API.

Ready-to-use endpoints

Once having set up an instance of Schug, you can use the following endpoints:

  • /genes/ensembl_genes/

    Downloads genes from Ensembl in text format. Specify a genome build by using the parameters 37 or 38.

    Usage: curl -X 'GET' 'http://0.0.0.0:8000/genes/ensembl_genes/?build=38' > ensembl_genes_38.txt

  • /transcripts/ensembl_transcripts/

    Downloads gene transcripts from Ensembl in text format. Specify a genome build by using the parameters 37 or 38.

    Usage: curl -X 'GET' 'http://0.0.0.0:8000/transcripts/ensembl_transcripts/?build=38' > ensembl_transcripts_38.txt

  • /exons/ensembl_exons/

    Downloads gene exons from Ensembl in text format. Specify a genome build by using the parameters 37 or 38.

    Usage: curl -X 'GET' 'http://0.0.0.0:8000/exons/ensembl_exons/?build=38' > ensembl_exons_38.txt

Issues While Downloading Genes, Transcripts, or Exons

You might encounter errors while downloading genes, transcripts, or exons, such as the following error:

httpx.RemoteProtocolError: peer closed connection without sending complete message body (incomplete chunked read)

This error often occurs when the external service prematurely closes the connection during data streaming. To address this issue, you can try increasing the max_tries parameter in your request, which otherwise defaults to 5. Increasing the number of retries can help handle intermittent network issues or temporary interruptions from the service.

Here’s an example of how to modify the request:

curl -X 'GET' 'http://0.0.0.0:8000/exons/ensembl_exons/?build=37&max_retries=10' > ensembl_exons_37.txt`

What is left to do?

The basic structure is outlined and implemented, however there are many details left to implement before this can be used. Some of the basic endpoints are in place but these need to be extended according to the needs of the users. Also the gene information needs to be completed, this will be done in a similar fashion as in Scout.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

schug-1.14.0.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

schug-1.14.0-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

File details

Details for the file schug-1.14.0.tar.gz.

File metadata

  • Download URL: schug-1.14.0.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.0 CPython/3.12.3 Linux/6.17.0-1010-azure

File hashes

Hashes for schug-1.14.0.tar.gz
Algorithm Hash digest
SHA256 cce519e50ebe92b93e3dec684c4465cb533e412c1faaef2d916f22dd1a00687a
MD5 3b3cfd966920b4aa9d9c3efd632d1dc0
BLAKE2b-256 8d9431d04861d775868512b33fc983754c360f1368d769bc31bedf9768dfa050

See more details on using hashes here.

File details

Details for the file schug-1.14.0-py3-none-any.whl.

File metadata

  • Download URL: schug-1.14.0-py3-none-any.whl
  • Upload date:
  • Size: 30.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.0 CPython/3.12.3 Linux/6.17.0-1010-azure

File hashes

Hashes for schug-1.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 55b4f37269f7aceacb2ec21c9f512bc5c0e9407872c774e4a866f46ab799c785
MD5 ba77625005324b32ebb2f867ab6b798f
BLAKE2b-256 80928a6b5dbebb0eae6354b6ea20a4ca793187c78dd3735a75e7063d7011844e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page