Giter Club home page Giter Club logo

candig-server's People

Contributors

adamnovak avatar alipski avatar andrewjesaitis avatar andrewyatz avatar bwalsh avatar cassiedoll avatar daisieh avatar david4096 avatar dcolligan avatar ejacox avatar ellmen avatar fcoralsasso avatar gabrielsaldana avatar hershman avatar jeromekelleher avatar jimmyhli avatar kerrydc avatar kozbo avatar ljdursi avatar macieksmuga avatar melaniedc avatar mollyzhang avatar naburimannu avatar pashields avatar pcingola avatar peterolph avatar poquirion avatar saupchurch avatar shajoezhu avatar skeenan avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

candig-server's Issues

Clear page contents after dataset switch

After a user selects a new dataset, data should be reloaded on the page. Currently on the Sample Analysis page, old data persists and can be seen by the user. We should try to clear and reload all page contents after a dataset change.

Prepare Flask server for 1.0 release

This issue can be closed when the server is ready for 1.0 release

  • No remaining security advisories
  • Python 3
  • No remaining issues labelled [science support] or [marker paper]
  • Repos renamed from ga4gh-* to something else
  • Clean up branches of ga4gh-*, PROFYLE_ingest, and any other needed repos
  • API docs
  • Documentation

Unhandled exceptions when file get removed after ingestion

More details TBA


July.18th:

This problem occurs for all of the file-based endpoints, including /reads, /variants, and some other ones we don't necessarily use a lot; the exception occurs after you ingest the files, and have the files somehow removed; this would raise a OSError due to the file not found for the /variants endpoint; and a custom exception class called 'FileNotFoundException' for the /reads endpoint, which does not have a toProtocolElement because it was not designed to be a runtime-level exception, but instead a ingest-level exception.

Update master branch to latest

Master branch has been out of date for quite some time now. We will merge the authz into it and fix any required dependency issues

Improved visualization on certain types of graphs

It would be great if the graph that displays the relationship between the cancer type and the treatment drugs can display the period of the usage of the drugs in the drilldown graph. This would involve the calculation of the period of the usage of the drugs.

Publish candig-server as a Pypi package to avoid confusion

Sometimes, users may do a pip install on the ga4gh-server by accident and run into all sorts of problems. It would be good that we have our own to reduce confusion I think.

The published candig-server package could require other candig service package as a dependency so users do not need to run multiple pip install commands.

Clarify the commit/push procedures to the master branch

Now that we have all existing tests and flake8 checks passing, and authz being merged into the master branch, it may be the time to clarify what we should do to ensure the new master branch is passing our existing/newly-added tests and flake8 checks.

Some of the things we could do is:

To push to the master branch

  1. When new changes are being made, run the flake8 locally to ensure the code is following the style guide.
  2. Run corresponding unit tests (if any).
  3. Push the changes into a newly-created branch, make a PR to request the merge of these changes into the master branch.
  4. Request a reviewer. Reviewer will review the code and give feedback.
  5. Ensure Travis tests are passing, this includes both nosetests and flake8.
  6. Reviewer merges the changes into the master branch.
  7. Delete the branches created for the purpose of making PR. These branches are only good for one-time use.

Create an auth-free config for testing

Create a 'no auth required' config for the flask app to run the latest versions without needing tyk or keycloak. Would be useful for testing and development cases where we don't need the gateway or want to use login tokens.

Clean stale branches

We have quite a few stale branches, it would be good if we can take a look at them and do a bit of clean-up.

Stale branches can be found here: https://github.com/CanDIG/candig-server/branches/stale, if you wish to look at 'your' branches, see https://github.com/CanDIG/candig-server/branches/yours

If one of you started a particular branch yourself, and is certain that this particular branch will not be of use, feel free to delete it yourself. Otherwise please comment on this issue so we can discuss.

If you think your branch could be of potential use in future, leave them as it is! :)

support searching across variantsets in a dataset without specifying the varintaSetIds

We weren't aware of this issue until recently we ingested ~100 variantsets, indicating a list of 100 variantsets just doesn't seem like a feasible way to do this type of query in the long run

might be helpful to just specify the datasetid in the query, which would then trigger a backend search that returns a list of variantsets which can be used for further search

some questions remained:

  1. how to validate query with some or all of datasetId, variantSetId and variantSetIds present? variantSetId and variantSetIds are a one-of, while currently, including datasetId itself doesn't do anything.
  2. when theres a lot of variantsets to be searched, the app just silently quits. Reasons unknown as of now.

Make the travis passable

Currently, travis only succeeds when the nosetests and the flake8 are commented out.

The server setup itself passed. Previously it didn't pass because we have out-of-date pip installed, ensure the pip install pip --upgrade is run so the latest pip in installed.

TODO:

  1. Flake8 is the tool that checks the styling and the syntax of our code, and we can choose to ignore certain warning if we feel like so.

  2. nosetest is the unit-test package, and currently, all tests that call one of our endpoints will fail due to the new federation. It looks like we might need to rewrite these tests for them to work with federation.

Create some sort of API documentation

Swagger is certainly an option, but it does introduce a bunch of unnecessary stuff into the doc (as its compiled from the proto). All of the tier information and the additional_props, if they are of no use, we can/should probably not communicate that back to the users

Codebase Freeze

Effectively immediately, the codebase currently sitting in master and develop branches will be freezed until further notice. During the freezing period, no new pull requests or commits will be accepted into these two branches. Security patches will continue to be added into the them, however.

Ensure the candig-* dependencies are running in 3.6 or above

Part of the codebase upgrade project

Master ticket for candig packages update

This issue can be closed when all of the candig-* dependencies, in our case, includes candig-schemas, candig-ingest, and ga4gh-common are all functioning in 3.6 or above.

This is the master ticket for the corresponding codebase upgrade tickets in candig-schemas, candig-ingest, and ga4gh-common.

This issue can be closed when:

  • candig-schemas is running okay under 3.6 or above.
    Assignee: @HaoYuanLi
  • ga4gh-common is running okay under 3.6 or above, and its project, namespace be changed to candig.
    Assignee: @dashaylan
  • candig-ingest is running okay under 3.6 or above.
    Assignee: TBD

Check if IGV should be consuming multiple readgroups

igv 2.0.0-rc3: Line 39171: "readGroupIds": [self.config.readGroupIds],

it seems to have been written to consume a string, supposedly one readGroupId, our server can certainly handle more - need to look into this

2to3 on candig-server: progress and problems

This will be the ticket that will used down the road for candig-server's codebase migration.

Total Skip Error Fail Success Fail rate Build #
788 82 175 12 519 23.73% 912
822 82 46 23 671 8.39% 913
822 82 30 33 677 7.66% 916
822 82 26 32 682 7.06% 917
822 82 11 33 696 5.35% 918
822 82 6 32 702 4.62% 921
822 82 7 31 702 4.62% 922
822 82 6 28 706 4.14% 923
822 82 6 20 714 3.16% 927
822 82 6 19 715 3.04% 928
822 82 6 16 718 2.68% 930
822 82 5 7 728 1.46% 931
822 82 5 5 730 1.22% 932
863 123 2 7 731 1.04% 934
863 123 1 5 734 0.70% 942
863 123 1 3 736 0.46% 945
863 124 0 2 737 0.23% 948
863 124 0 0 739 0.00% 953

Remove candig-client related tests from the candig-server test suite

This is because in the short-term plan, there is no plan to migrate the candig-client to python 3. In future, if time and dev resources permit, we can revisit this topic.

For now, this issue can be closed when

  • All of the candig-client related tests are removed from the test suite.

Initial support for discovery via GenAP portal

Work with GenAP team to demonstrate PoC for data discovery with search API via GenAP portal. This is a stepping stone to a censored discovery API for the CHORD grant. This issue can be closed when the PoC is demonstrated.

Support multi-field query search for POST endpoints

Currently, the only querying parameters supported for most POST endpoints are the datasetId and some key (e.g., patient_id), this can be expanded by extending the related request object schema, as well as related Generator method in backend.py; the data model might need some changes as well.

To avoid duplication no further issues will be made under ga4gh-schema

Multiple issues in dashboard

The following issues have been reported:

  1. The new table with scrolling bar doesn't work well when zoomed out
  2. Sometimes the initial load the the table would have their thead and tbody misaligned.
  3. The sample analysis table's column has names that are hard to read

Upgrade pysam to 0.15.0

  • Part of the codebase upgrade project

According to the past experience, this is the most difficult part of our upgrade project. There are quite a few things that broke on python 2 when running 0.15.0, needless to mention its compatibility when we run it on python 3.

This issue can be closed when:

  • Running pysam==0.15.0

  • All the of tests are passing

  • Related endpoints are running, this might include some manual testing, e.g., all of the pysam related endpoints are functional

Wrap VariantsByGeneSearch with generator

This involves the update of front-end javascript, backend.py and variants_services.proto,

  1. in backend.py, a new function would be needed as an entry point to call the generator.
  2. after the changes, the front end will no longer consume a stringified body, so the related JSON.parse function needs to be deleted

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.