Skip to main content

Service for querying the biocommons.uta database

Project description

uta-tools

Service for querying the UTA database

Installation

pip

pip install uta-tools

Development

Clone the repo:

git clone https://github.com/cancervariants/uta-tools
cd uta_tools

Install Pipenv if necessary.

Install backend dependencies and enter Pipenv environment:

pipenv shell
pipenv lock && pipenv sync
pipenv install --dev

UTA Database Installation

uta-tools uses intalls local UTA database. For other ways to install, visit biocommons.uta.

Local Installation

The following commands will likely need modification appropriate for the installation environment.

  1. Install PostgreSQL

  2. Create user and database.

    $ createuser -U postgres uta_admin
    $ createuser -U postgres anonymous
    $ createdb -U postgres -O uta_admin uta
    
  3. To install locally, from the uta_tools/data directory:

export UTA_VERSION=uta_20210129.pgd.gz
curl -O http://dl.biocommons.org/uta/$UTA_VERSION
gzip -cdq ${UTA_VERSION} | grep -v "^REFRESH MATERIALIZED VIEW" | psql -h localhost -U uta_admin --echo-errors --single-transaction -v ON_ERROR_STOP=1 -d uta -p 5433
UTA Installation Issues

If you have trouble installing UTA, you can visit these two READMEs.

Connecting to the database

To connect to the UTA database, you can use the default url (postgresql://uta_admin@localhost:5433/uta/uta_20210129). If you use the default url, you must either set the password using environment variable UTA_PASSWORD or setting the parameter db_pwd in the UTA class.

If you do not wish to use the default, you must set the environment variable UTA_DB_URL which has the format of driver://user:pass@host:port/database/schema.

Data Downloads

SeqRepo

uta-tools relies on seqrepo, which you must download yourself.

From the root directory:

pip install seqrepo
sudo mkdir /usr/local/share/seqrepo
sudo chown $USER /usr/local/share/seqrepo
seqrepo pull -i 2021-01-29  # Replace with latest version using `seqrepo list-remote-instances` if outdated

If you get an error similar to the one below:

PermissionError: [Error 13] Permission denied: '/usr/local/share/seqrepo/2021-01-29._fkuefgd' -> '/usr/local/share/seqrepo/2021-01-29'

You will want to do the following:
(Might not be ._fkuefgd, so replace with your error message path)

sudo mv /usr/local/share/seqrepo/2021-01-29._fkuefgd /usr/local/share/seqrepo/2021-01-29
exit

transcript_mappings.tsv

uta-tools uses Ensembl BioMart to retrieve uta_tools/data/transcript_mappings.tsv. We currently use Human Genes (GRCh38.p13) for the dataset and the following attributes we use are: Gene stable ID, Gene stable ID version, Transcript stable ID, Transcript stable ID version, Protein stable ID, Protein stable ID version, RefSeq match transcript (MANE Select), Gene name.

image

LRG_RefSeqGene

uta-tools fetches the latest version of LRG_RefSeqGene. This file is found can be found here.

MANE Summary Data

uta-tools fetches the latest version of MANE.GRCh38.*.summary.txt.gz. This file is found can be found here.

Starting the UTA Tools Service Locally

To start the service, run the following:

uvicorn uta_tools.main:app --reload

Next, view the FastAPI on your local machine: http://127.0.0.1:8000/uta_tools

Init coding style tests

Code style is managed by flake8 and checked prior to commit.

We use pre-commit to run conformance tests.

This ensures:

  • Check code style
  • Check for added large files
  • Detect AWS Credentials
  • Detect Private Key

Before first commit run:

pre-commit install

Testing

From the root directory of the repository:

pytest

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

uta_tools-0.1.2.tar.gz (4.0 MB view details)

Uploaded Source

Built Distribution

uta_tools-0.1.2-py3-none-any.whl (4.0 MB view details)

Uploaded Python 3

File details

Details for the file uta_tools-0.1.2.tar.gz.

File metadata

  • Download URL: uta_tools-0.1.2.tar.gz
  • Upload date:
  • Size: 4.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for uta_tools-0.1.2.tar.gz
Algorithm Hash digest
SHA256 f03823c8f7339fb15eb9041ab786d0c5664dee97de5c80dad52f838374dd5fac
MD5 6d6329aec9649315f41ab0a3e5191fef
BLAKE2b-256 072053000960140dc8f91c31752a63915c490130eb3144ef86561e650bd2f294

See more details on using hashes here.

File details

Details for the file uta_tools-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: uta_tools-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for uta_tools-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bf2d451202b115b84829964b2ef6ae1f6c0b814c718d4dd3f281a20da20e95e7
MD5 79b188a430f326d1eee37ec7ee02772c
BLAKE2b-256 b99d55c0ac1780d72135e1c91f4ce75c74befb23c63f4ee0d2fd44db8ab5955a

See more details on using hashes here.

Supported by

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