Skip to content

Latest commit

 

History

History
108 lines (78 loc) · 2.57 KB

README.md

File metadata and controls

108 lines (78 loc) · 2.57 KB

Adobe Firefly generated logo. "Ensembl" word rendered with DNA double helices

Introduction

EnsemQuery is a command line tool that serves as a convenient interface for fetching and saving specific genetic data points from Ensembl endpoints. Designed with extensibility in mind, the tool is currently focused on the VEP endpoint but aims to incorporate other Ensembl services in the future. It's a useful utility for researchers, healthcare professionals, and anyone interested in genetic data analysis.

How to Install

Prerequisites

  • Python 3.10 or higher
  • Poetry for dependency management

Installation Steps

From source code

  1. Clone the repository:
git clone git@github.com:Tiffany8/EnsemQuery.git
  1. Navigate to the project directory:
cd EnsemQuery
  1. Install the package using Poetry:
poetry install
  1. Activate the virtual environment:
poetry shell
  1. Now you can run the CLI tool:
eqry --help

Directly from private repo

  1. This only works if you don't have 2fa setup on your github account (though, I do recomend 2fa setup 😅)
poetry add git+https://[username]:[password]@github.com/tiffany8/EnsemQuery.git

👩‍🍳 Cookbook

See available commands

eqry --help

** Note: currently only one, vep, is available

See available variant consequences subcommands

eqry vep --help

Get variant consequences from ids (Note: a variants.txt can be found here)

eqry vep ids variants.txt

Get variant consequences from ids with custom output file name

eqry vep ids variants.txt --output-fn mycustomfilename.tsv

Get variant consequences from ids with custom output file name and output directory

eqry vep ids variants.txt --output-fn=mycustomfilename.tsv --output-dir=/complete/path/to/existing/folder

Developer Notes

Testing

  1. Setup environment
poetry shell
poetry install
  1. Run tests
  • To run all tests (note '-s' flag needed to for stdout)
pytest -s
  • To run unittests
pytest -m "not e2e"
  • To run e2e tests
pytest -m e2e -s

Development kanban

This is my kanban I used to track work (link expires 9/26/23).