metaprot's People
Forkers
themathmajormetaprot's Issues
Strain Visualization plots not always displaying all replicas
Replica data exists in source file but some lines do not show up.
Exporting Plot as a high definition PNG, SVG, PDF, etc.
Need to research and implement a high quality image exporter for the plot.
Hide data points that go outside of the x/y axis, at least for plot export
^
SImple Homepage
Minor Bugs with result page UI
Checkboxes + overflow of plot have issues.
Axes Labels need to be added for Pattern Recognition plot
Make drag-to-select the default option for plots
To aid in scrolling (the actual page), it is better to enable drag to select by default and allow users to opt in for zooming + panning. Can use radio buttons for this.
On form submit for cluster # bug
Need to re-highlight highlighted elements after re-analyzing the file with a different number of clusters.
Integrate Howard's data transformation script
- We will have a script that transforms the pre-processed input file(s) into the expected formats for metabolite analysis and temporal pattern recognition. This will be attached to the last step in the processing stage, wherein the user is given both features as options.
Allow users to dynamically change the number of cluster groups for pattern recognition
Probably some Form that allows input and makes an Ajax call to re-analyze the input file.
Unfortunately, this implies we must save the input file server-side...
Semantics of reset
It's a good practice to have a reset button whenever there is user input - however because there can be multiple plots on the same page, wherein all interact via highlighting the same data points, it is up to debate as to how the reset would work.
Simply resetting a single plot might not be semantically correct, as this means the corresponding data points in other plots would be "out-of-sync" and unaffected. That is, points referring to the same metabolite/protein in another plot will still be highlighted, while the ones in the resetted plot will be reverted. This would go against the central idea of tracking the same metabolite/protein across plots.
Writing Tests
Deploy
Integrity checker
Create a Java class that will check for correct file formatting. See Howard for more details + examples.
Normalization
Implement necessary functions for handling data normalization.
Implement interactive graph with D3
Need an interactive plot that affords dragging (updating) threshold values.
Drag multi select
Currently there is code in place that highlights based on dragging from left to right, up and down. Need to generalize this in any direction as well as add a bounding box. Enabling multi select has some start code, but is buggy.
Add a logger to replace all std print statements
Should probably use log4j or an equivalent.
zooming is buggy
Mainly in terms of interactions with other events, such as resetting the plot+form
Research into RServe for multi R instances
^
Upload form thresholds
Need to debug threshold input for the front page upload form - can postpone until after Mongo is completely set up, as this could be a potential solution.
(PatternRecog) Modify x-axis to display the actual x value (time)
Currently, the x-axis displays 2,4,6,...; Howard would like to see only the actual x values (e.g. 0, 1, 3, ..., 14).
Testing Metabolite (Differential) Analysis
need more files to test
Achieve true parallelism with multiple R servers.
Should make a good task scheduling mechanism to make use of the limited pool of R servers for processing of a large number of requests. Temporarily using randomization as a substitute.
Code Review
Mongo setup for metaprot
Setup complete using spring-boot-starter-data-mongodb. Basic functionality such as storing and retrieving tasks is complete locally, but waiting on #10 to be resolved before pushing to remote.
Restructure data table in results page
We should keep the all-items table to allow exporting to CSV and excel. However, see Howard's sketch of the new UI. Multiple panels, threshold input elements, and multiple plots per result page.
Research MetaboAnalyst website
Missing value estimation/handling
Implement necessary functions for handling missing values in input files.
Add zooming out feature to the plot
Need to implement a zoom out (no zoom in) feature that should(?) only allow zooming out on the Y axis.
Allow downloading of plot(s)
See html2canvas.
[For demo] Addition to Pattern Recognition
Aim to implement a rough version of strain visualization before the consortium meeting.
Core features:
- 3 plots, one for each strain of a metabolite
- one main control panel, where clicking a metabolite name plots the appropriate lines in each plot
- there will be ~3 replica lines for each metabolite
Testing Different File Sizes for Pattern Recognition
Running the tests; running Howards different file sizes
Create table representation of metabolite analysis results
As of now, the report page displays the generated volcano plot. We need to display a table representation of the results.
On form submit for cluster #, bug with select all checkbox
Selecting all checkbox state needs to be refreshed whenever the form is submitted.
Exporting results as a CSV file
^
Research Deployment on AWS
Research AWS DynamoDB
Perhaps when the time comes to deploy Metaprot, we should migrate from MongoDB to DynamoDB.
Create front-end to accommodate new site structure
After the landing page, the main page will allow the user to upload a file. After this is complete (and all checks succeed), the user will be directed to a page with filtering, etc. options. After the pre-processing is complete, the user is then given the option to use either feature in Metaprot.
Update hoek
Update hoek to 4.2.1 or greater.
Vulnerabilities:
CVE-2018-3728 Moderate severity
Integrating Dynamo with Metaprot
need to chunk entries
Generalizing paths, separators, etc. for operating systems other than Linux/Mac
At least for Windows.
Add Regression Line to Cluster Plot
Zoom for pattern recognition does not work (OSX)
Hovering over the Y axis and moving the mouse scroll does not zoom in the plot.
High Level Documentation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.