Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

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

Release files for uta-tools 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uta-tools 0.1.3
File Size Uploaded
uta_tools-0.1.3.tar.gz 4.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for uta-tools 0.1.3
File Interpreter ABI Platform
uta_tools-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 8.0 MB

Release files / uta_tools-0.1.3.tar.gz

Download URL uta_tools-0.1.3.tar.gz
Size 4.0 MB
Tags Source
SHA-256 checksum
How to use checksums
0a5ea339632766cc5b1028289bb1d96048fe0e89d94893819e0726b7e1ea3675
BLAKE2b-256 checksum
How to use checksums
0f2ea2900cde4e37800211dbd1b9bc366854d23a0a4d8323958119495d002c8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.7

Release files / uta_tools-0.1.3-py3-none-any.whl

Download URL uta_tools-0.1.3-py3-none-any.whl
Size 4.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
1f58255dc61318367afeb4aa5c31f37a319fb292565bc214e1ebc78d3ee163f5
BLAKE2b-256 checksum
How to use checksums
7e2d2f1e1fbcac85283823e2c7d0c5aec5de172ba4053105009d747d2425b510
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.10.7
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page