Skip to main content

Common Operations On Lots-of Sequences Tool.

Project description

Common Operations On Lots-of Sequences Tool

The cool-seq-tool provides:

  • Transcript alignment data from the UTA database
  • Fast access to sequence data using SeqRepo
  • Liftover between assemblies (GRCh38 <--> GRCh37) from PyLiftover
  • Lifting over to preferred MANE compatible transcript. See here for more information.

Installation

pip

pip install cool-seq-tool

Development

Clone the repo:

git clone https://github.com/GenomicMedLab/cool-seq-tool
cd cool_seq_tool

Install Pipenv if necessary.

Install backend dependencies and enter Pipenv environment:

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

UTA Database Installation

cool-seq-tool 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 cool_seq_tool/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

cool-seq-tool 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

cool-seq-tool uses Ensembl BioMart to retrieve cool_seq_tool/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

cool-seq-tool fetches the latest version of LRG_RefSeqGene. This file is found can be found here.

MANE Summary Data

cool-seq-tool 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 cool_seq_tool.main:app --reload

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

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

cool_seq_tool-0.1.7.tar.gz (4.0 MB view details)

Uploaded Source

Built Distribution

cool_seq_tool-0.1.7-py3-none-any.whl (4.0 MB view details)

Uploaded Python 3

File details

Details for the file cool_seq_tool-0.1.7.tar.gz.

File metadata

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

File hashes

Hashes for cool_seq_tool-0.1.7.tar.gz
Algorithm Hash digest
SHA256 e80cd6730f860f7db33045621416245da8c49a84101962987b6537d392b878f2
MD5 762a1b41002f8a783fb09a31f8bf44ad
BLAKE2b-256 4bdf488b4dfef14e53f0968a58917733cc8793f4b52217d13c3a5a07ec771c55

See more details on using hashes here.

File details

Details for the file cool_seq_tool-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for cool_seq_tool-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 0d4df591de039d5dbded900c270c66abd88a7a56c71ca80ab226700659fa2d2c
MD5 78068232a407c4aaa0caae3d78ab1731
BLAKE2b-256 67b9d4fbb005cfdbde80a5a6262754d6f0dff38ec200b33f4887c0390ea9d28d

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