Git Product home page Git Product logo

auspice's Introduction

Logo

This repository is archived and contains the content used to build the documentation and splash page found in nextstrain.org. This content can now be found here.

License and copyright

Copyright 2014-2018 Trevor Bedford and Richard Neher.

Source code to Nextstrain is made available under the terms of the GNU Affero General Public License (AGPL). Nextstrain is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

auspice's People

Contributors

andressrudqvist avatar anouarh avatar bcoe avatar camerondevine avatar clouradev avatar colinmegill avatar crwilcox avatar dependabot[bot] avatar eharkins avatar emmahodcroft avatar evogytis avatar frogsquire avatar huddlej avatar hydrosquall avatar ivan-aksamentov avatar jameshadfield avatar joachimschmidt557 avatar joverlee521 avatar kairstenfay avatar lukas-eu avatar marcaaron avatar mingiryu avatar rleir avatar rneher avatar salvatore-fxpig avatar slavkoder avatar trvrb avatar tsibley avatar victorlin avatar yuryu avatar

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

auspice's Issues

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.

Reconcile d3.tip & react

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

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.

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

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

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

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)

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.