Git Product home page Git Product logo

hgvs-eval's Introduction

This project exists only to ensure that the top-level biocommons namespace is correctly declared as a namespace package.

This trivial package was pushed to pypi in order to reserve the biocommons namespace (contributions are welcome!).

Steps:

pyvenv venv
source venv/bin/activate
pip install wheel
python setup.py register
python setup.py sdist bdist bdist_egg bdist_wheel upload

hgvs-eval's People

Contributors

bwalsh avatar cchng avatar dandanxu avatar davecap avatar jpdna avatar reece avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hgvs-eval's Issues

Problem with install

Following the current README, I got various errors when running make devready, the first being
a problem with install pysam.

I ended up manually running:
pip install -r
on etc/develop.reqs and etc/install.reqs
and then make devready

after that I could run
python app.py &
successfully.

Has anyone else had success with the README in a fresh virtualenv

can't connect to UTA/biocommons

While previously it worked for me, on both Master and nicole_wor1 branches
currently when I run the setup instructions in the README'and run
python app.y &

I get the below

(venv) paschallj@jplap:~/hgvs-eval7/hgvs-eval$ python app.py 
Traceback (most recent call last):
  File "app.py", line 9, in <module>
    from hgvseval.testservice.biocommonsService import BiocommonsService
  File "/home/paschallj/hgvs-eval7/hgvs-eval/hgvseval/testservice/biocommonsService.py", line 10, in <module>
    class BiocommonsService(HGVSTestService):
  File "/home/paschallj/hgvs-eval7/hgvs-eval/hgvseval/testservice/biocommonsService.py", line 12, in BiocommonsService
    hdp = hgvs.dataproviders.uta.connect()
  File "/home/paschallj/hgvs-eval7/hgvs-eval/venv/local/lib/python2.7/site-packages/hgvs/dataproviders/uta.py", line 108, in connect
    conn = UTA_postgresql(url=url, pooling=pooling, application_name=application_name)
  File "/home/paschallj/hgvs-eval7/hgvs-eval/venv/local/lib/python2.7/site-packages/hgvs/dataproviders/uta.py", line 473, in __init__
    super(UTA_postgresql, self).__init__(url)
  File "/home/paschallj/hgvs-eval7/hgvs-eval/venv/local/lib/python2.7/site-packages/hgvs/dataproviders/uta.py", line 183, in __init__
    self._connect()
  File "/home/paschallj/hgvs-eval7/hgvs-eval/venv/local/lib/python2.7/site-packages/hgvs/dataproviders/uta.py", line 488, in _connect
    self._conn = psycopg2.connect(**conn_args)
  File "/home/paschallj/hgvs-eval7/hgvs-eval/venv/local/lib/python2.7/site-packages/psycopg2/__init__.py", line 130, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: invalid port number: "None"

Any ideas @reece or @nicoleruiz ?

Develop HGVS evaluation framework

Difficulty Expected Duration Possible Mentors
Medium 175h or 350h depending on scope @reece

Summary

HGVS Nomenclature is the lingua franca for presenting sequence variants to humans in databases, scientific literature, and clinical reports. Unfortunately, some implementations of the standard are buggy and/or incomplete. The purpose of this project is to develop an framework for evaluating implementations of HGVS Nomenclature to help users understand the limitations of packages, to help package developers improve their packages, and ultimately to increase the fidelity of data sharing. As a byproduct of the proposed plan, an OpenAPI specification would be developed and, if adopted, enable easier migration between tools.

Community Benefits

The primary beneficiaries of this work would be the users of specific implementations who would be able to make well-informed decisions about gaps or issues. Since these users often work with clinicians, scientists, or adjacent professionals, it is expected that they would develop greater confidence that HGVS variant descriptions and manipulations were being performed consistently.

Required and Desired Skills

  • Python: very good-excellent
  • OpenAPI: some experience is ideal

Expected Results / Deliverables

  • An OpenAPI specification for HGVS Nomenclature variant descriptions and manipulation
  • A set of classified tests that exercise all aspects of HGVS Nomenclature
  • A framework for executing/evaluating packages, storing and publishing results, and comparing within and across implementations
  • Demonstration of the framework using at least one publicly available implementation (ideally more)
  • Package the project so that it can be used in CI/CD testing and by a public evaluation server
  • Develop a full-stack app to store and display evaluation results.

Benefits to Intern

This project is well-suited to individuals who have experience with REST interface design and testing methodology. Implementation will be in Python, and applicants should have strong Python skills. Exposure to HGVS and genetic variants is desirable but not required. This project has enormous opportunities to learn and to have significant impact in the scientific community. At a minimum, the intern would:

  • become familiar with HGVS Nomenclature and some of the challenges when writing standards
  • learn how to design a REST interface and use it to create a façade over different software packages
  • develop software architecture skills

This project could be simple, but also offers many avenues for extensions and learning. For example, the student might seek to build a web interface with authentication to store results.

How to apply

Students applying to this project should briefly describe their vision for this project, highlight their existing skills and the skills they would need to learn, and estimate an implementation timeline.

swagger doc

investigate protobuf -> swagger documentation

develop strategy to handle services that lack transcript-specific g to c

Some services (e.g. Counsyl and SolveBio) lack a function that maps a genomic HGVS to a specific transcript passed in as a parameter, but rather return a list of all transcripts which a genomic position maps to.

There are two ways to deal with this in context of a test defined for a g. to c. expecting a specific transcript:

  1. Require that in implementing the REST API all services implement such an accession parameterized g to c. function

  2. Allow "set membership" matches where a test will succeed if any of a list of returned HGVS expressions matches the expected output.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.