cancervariants / fusor

Data classes and constructor tools supporting the VICC Gene Fusion Curation project
MIT License
0 stars 0 forks source link

FUSOR

image image image Actions status

FUSOR (FUSion Object Representation) provides modeling and validation tools for representing gene fusions in a flexible, computable structure.

Installation

Package

To install FUSOR:

python3 -m pip install fusor

SeqRepo and UTA

FUSOR relies on data from SeqRepo and the Universal Transcript Archive (UTA), supplied via Cool-Seq-Tool. See the Cool-Seq-Tool installation instructions for specifics on setting up SeqRepo and UTA.

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 FUSOR 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.

Gene Normalizer

FUSOR also relies on data from the Gene Normalizer, which you must download yourself. See the README for deploying the gene database.

Development

Setup

Clone the repo:

git clone https://github.com/cancervariants/fusor
cd fusor

Create a virtual environment, and activate it:

python3 -m virtualenv venv
source venv/bin/activate

Install test and dev dependencies:

python3 -m pip install -e '.[dev,tests]'

Style

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

python3 -m ruff format . && python3 -m ruff check --fix .

We use pre-commit to run conformance tests.

This performs checks for:

Before your first commit, run:

pre-commit install

Unit tests

Unit testing is provided via pytest:

pytest