Git Product home page Git Product logo

auspice's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

auspice's Issues

Standard format for JSON filenames?

The nextstrain app route to dataset pipeline will look like this:

nextstrain.org/:virus/:strain/:timeperiod, thus: nextstrain.org/flu/h3n2/3y

How we map this to a REST route on the server, and then to string names on s3 is an open question

Item pages

Each virus (tip) should have an "item page". Each virus has attributes:

  • Strain
  • Genome string
  • Collection date
  • Collection location
  • Accessions to link out to
  • HI assay data
  • Multiple sequence alignment with reference viruses
  • Tree context
  • Papers associated with the virus

Changelog for viruses as they are added

Done by auger as a similar fashion to controls, updates list that is provided by auger.

Have a route with path="changelog" that will be hit first and then everything else will fall back on splat.

Figure out S3 routing

Looks like we need to either:

  1. Reroute from error pages via CloudFront. This has the disadvantage of not being indexed by seach engines, so bad.
  2. Redirect through an intermediary, like nextstrain.org/zika/ -> nextstrain.org/!/zika/ -> nextstrain.org/zika/, so that S3 puts a /!/ before the path and serves index.html. Not a bad solution. Has extra URL bar action and further hijacks the back button, which isn't good.
  3. Drop a bunch of index.html files in the S3 bucket ebola/index.html, zika/index.html, etc... This will result in clean behavior I believe. Just slightly messy in the code base.
  4. Spin up a server somewhere.

Some discussion here: http://stackoverflow.com/questions/16267339/s3-static-website-hosting-route-all-paths-to-index-html

CORS error requesting s3 resources from client

I'm not sure if this is still a problem or not, but we should revisit now that we're structuring data fetching. This is the only reason we have routes in the dev server - to proxy resources to avoid CORS. In the dev server, the solution to #4 will look something like:

image

But we could also construct this on the client and request to s3 directly if we solve the CORS issue, which will work in both dev and production. It will require getting localhost:4000 and nextstrain.org requests directly to s3 working.

Datasets and query params

We should have a config JSON that gives all the options for which datasets can be loaded. This will look something like:

{
"viruses": {
  "flu": {
    "lineage": {
      "H3N2": {
        "duration": {
        "3y",
        "6y",
        "12y" }
      },
     "H1N1pdm": {
        "duration": {
        "3y",
        "6y",
        "12y" }
      }      
    }
  },
  "zika": {}
  }
}

This should be used to create a dataset file string. If this string changes then data should be refetched.

Whenever query params come in, go through this JSON and build dataset.

Layouts

Include multiple tree layout options.

  • Rooted tree
    • as mutation count vs Y as layout (current default)
    • as time vs Y as layout (timetree)
    • as time vs Y as mutation count (Path-O-Gen plot)
    • as mutation count vs Y as antigenic distance
  • Unrooted tree
  • Radial tree

I think this is one dropdown with multiple layout options.

Add meta options to metadata.json

  • Colors
  • Authors

Only show epitope for flu, for instance

(controls, ie., what things you can click on, what options there are to click on)

Zoom & pan & maybe lasso

Zoom level should adjust to number of nodes on tree at outset so that the appropriate sizes are shown by default

Reconcile d3.tip & react

treeplot.call(virusTooltip) invocation seems to be at issue. Within the d3.tip library, el is null. To investigate.

Allow data versioning

Version datasets with augur: /data/43922349852/flu_h2n2_3y_tree.json, etc...

Then keep the version ID 43922349852 in auspice params. This would allow deep-linking back to a previous augur build.

Developing this would work like custom augur builds.

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.