nextstrain / auspice Goto Github PK
View Code? Open in Web Editor NEWWeb app for visualizing pathogen evolution
Home Page: https://docs.nextstrain.org/projects/auspice/
License: GNU Affero General Public License v3.0
Web app for visualizing pathogen evolution
Home Page: https://docs.nextstrain.org/projects/auspice/
License: GNU Affero General Public License v3.0
Zoom to selection - put viewport on bounding box of existing nodes
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
Lower right on tree. Move map so that it's in the lower right when this is done.
What?
If you move the bottom handle on the date slider, on http://nextstrain.org/zika/, it removes nodes. Move it back, and not all of them return.
It's trivial to precompute radial and unrooted trees. X and Y values from these layouts can be added as node attributes in nextstrain-augur. We can then add buttons to switch layouts in auspice. Animation will be good to have.
search the node in the tree with the closest sequence. In general, this requires pairwise alignment. I implemented a banded pairwise alignment here:
https://github.com/neherlab/timetree_viewer/blob/master/js/alignPairwise.js
not tested extensively but in contrast to our current version, this should be able to handle gaps.
Each virus (tip) should have an "item page". Each virus has attributes:
d3.json(path + file_prefix + "frequencies.json", function(error, json){
console.log(error);
frequencies = json;
pivots = frequencies["mutations"]["global"]["pivots"].map(function (d) {
return Math.round(parseFloat(d)*100)/100;
});
http://nextstrain.org/data/Zika_frequencies.json
there is no ["mutations"], is this the right request url?
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.
Looks like we need to either:
/!/
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.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.Some discussion here: http://stackoverflow.com/questions/16267339/s3-static-website-hosting-route-all-paths-to-index-html
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:
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.
Maybe:
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.
Include multiple tree layout options.
I think this is one dropdown with multiple layout options.
Only show epitope for flu, for instance
(controls, ie., what things you can click on, what options there are to click on)
Zoom level should adjust to number of nodes on tree at outset so that the appropriate sizes are shown by default
@trvrb will update meta.json with panels to display
treeplot.call(virusTooltip)
invocation seems to be at issue. Within the d3.tip
library, el
is null
. To investigate.
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.
For geo, attr, etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.