https://github.com/clinical-genomics/preclinvar

A ClinVar API submission helper written in FastAPI

https://github.com/clinical-genomics/preclinvar

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: ncbi.nlm.nih.gov
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.8%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

A ClinVar API submission helper written in FastAPI

Basic Info
  • Host: GitHub
  • Owner: Clinical-Genomics
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 407 KB
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • Open Issues: 7
  • Releases: 18
Created about 4 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog License

README.md

PreClinVar

A ClinVar API submission helper written in FastAPI.

Coverage Status GitHub Release Date Woke

Availability:

A running instance of the service is available at https://preclinvar.scilifelab.se/docs

Available endpoints:

tsv2json

Transforms tsv submission files from a germline submission (Variant.tsv and CaseData.tsv) into a json submission object, ready to be used to submit via the ClinVar API. This document is validated against the ClinVar API submission schema

csv2json

Transforms csv submission files from a germline submission (Variant.csv and CaseData.csv) into a json submission object, ready to be used to submit via the ClinVar API. This document is validated against the ClinVar API submission schema

dry_run

Proxy endpoint to the ClinVar submissions API (dry-run): https://submit.ncbi.nlm.nih.gov/api/v1/submissions/?dry-run=true. Requires a valid API key and a json file containing a submission object. If the request is valid (and the json submission object is validated) returns a response with code 200 and json body with the message value "success".

apitest

Proxy endpoint to the validation API endpoint: (apitest) "https://submit.ncbi.nlm.nih.gov/apitest/v1/submissions". Requires a valid API key and a json file containing a submission object. If the json submission document is valid returns a submission ID which can be used for a real submission. If the json submission document is not validated, the endpoint returns a list of errors which will help fixing the document.

Running the application using Docker-compose

An example containing a demo setup for the app is included in the docker-compose file. Start the docker-compose demo using this command: docker-compose up -d The server will be running and accepting requests sent from outside the container (another terminal or a web browser) on port 7000 (http://0.0.0.0:7000)

Installing the application on a local conda environment

Given a conda environment containing Python 3.9 and poetry, clone the repository from Github with the following command:

git clone https://github.com/Clinical-Genomics/preClinVar.git

The command will create a folder named preClinVar in your current working directory. Move inside this directory:

cd preClinVar

And install the software with poetry:

poetry install

You can run an instance of the server by typing:

uvicorn preClinVar.main:app --reload --log-level debug

The server will run on localhost and default port 8000 (http://127.0.0.1:8000)

Testing the endpoints

The endpoints will be available under the docs: http://127.0.0.1:8000/docs (http://127.0.0.1:7000/docs if you are running the dockerized version of the app). They can be tested with files provided in this repository, in the demo folder: https://github.com/Clinical-Genomics/preClinVar/tree/main/preClinVar/demo

Owner

  • Name: Clinical Genomics
  • Login: Clinical-Genomics
  • Kind: organization
  • Location: Stockholm, Sweden

GitHub Events

Total
  • Create event: 15
  • Release event: 3
  • Issues event: 18
  • Delete event: 15
  • Issue comment event: 28
  • Push event: 43
  • Pull request event: 27
Last Year
  • Create event: 15
  • Release event: 3
  • Issues event: 18
  • Delete event: 15
  • Issue comment event: 28
  • Push event: 43
  • Pull request event: 27

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 48
  • Total pull requests: 71
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 1 day
  • Total issue authors: 3
  • Total pull request authors: 2
  • Average comments per issue: 1.06
  • Average comments per pull request: 1.27
  • Merged pull requests: 62
  • Bot issues: 0
  • Bot pull requests: 4
Past Year
  • Issues: 12
  • Pull requests: 21
  • Average time to close issues: about 1 month
  • Average time to close pull requests: about 4 hours
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 0.75
  • Average comments per pull request: 1.19
  • Merged pull requests: 16
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • northwestwitch (45)
  • dnil (2)
  • Jakob37 (1)
Pull Request Authors
  • northwestwitch (86)
  • dependabot[bot] (6)
  • dnil (1)
Top Labels
Issue Labels
Bug (14) Enhancement (6) dependencies (2)
Pull Request Labels
dependencies (6) python (1) Bug (1)

Dependencies

.github/workflows/black.yml actions
  • actions/checkout v2 composite
  • actions/setup-python master composite
.github/workflows/dockerhub_prod_push.yml actions
  • actions/checkout v2 composite
  • elgohr/Publish-Docker-Github-Action master composite
.github/workflows/dockerhub_stage_push.yml actions
  • actions/checkout v2 composite
  • docker/build-push-action v2 composite
  • docker/login-action v1 composite
  • docker/setup-buildx-action v1 composite
  • tj-actions/branch-names v5 composite
.github/workflows/keep_changelog.yml actions
  • actions/checkout v1 composite
  • dangoslen/changelog-enforcer v1.1.1 composite
.github/workflows/lint.yml actions
  • actions/checkout v2 composite
  • actions/setup-python master composite
.github/workflows/test_n_coverage.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • codecov/codecov-action v2 composite
.github/workflows/vulture.yml actions
  • Ana06/get-changed-files v2.0.0 composite
  • actions/checkout v2 composite
  • anaynayak/python-vulture-action v1.0 composite
.github/workflows/woke.yml actions
  • actions/checkout v2 composite
  • get-woke/woke-action v0 composite
Dockerfile docker
  • clinicalgenomics/python3.8-venv 1.0 build
poetry.lock pypi
  • atomicwrites 1.4.0 develop
  • coverage 6.4.4 develop
  • iniconfig 1.1.1 develop
  • packaging 21.3 develop
  • pluggy 1.0.0 develop
  • py 1.11.0 develop
  • pyparsing 3.0.9 develop
  • pytest 7.1.2 develop
  • pytest-cov 3.0.0 develop
  • anyio 3.6.1
  • attrs 21.4.0
  • black 22.6.0
  • certifi 2022.6.15
  • charset-normalizer 2.0.12
  • click 8.1.3
  • colorama 0.4.5
  • fastapi 0.78.0
  • gunicorn 20.1.0
  • h11 0.13.0
  • idna 3.3
  • importlib-resources 5.8.0
  • isort 5.10.1
  • jsonschema 4.6.1
  • mypy-extensions 0.4.3
  • pathspec 0.9.0
  • platformdirs 2.5.2
  • pydantic 1.9.1
  • pyrsistent 0.18.1
  • python-multipart 0.0.5
  • requests 2.28.0
  • responses 0.21.0
  • six 1.16.0
  • sniffio 1.2.0
  • starlette 0.19.1
  • tomli 2.0.1
  • typing-extensions 4.2.0
  • urllib3 1.26.9
  • uvicorn 0.18.2
  • zipp 3.8.0
pyproject.toml pypi
  • pytest ^7.1.2 develop
  • pytest-cov ^3.0.0 develop
  • requests ^2.28.0 develop
  • black ^22.6.0
  • fastapi ^0.78.0
  • gunicorn ^20.1.0
  • isort ^5.10.1
  • jsonschema ^4.6.1
  • python ^3.8
  • python-multipart ^0.0.5
  • responses ^0.21.0
  • uvicorn ^0.18.2
docker-compose.yml docker