dondi / grnsight Goto Github PK
View Code? Open in Web Editor NEWWeb app and service for modeling and visualizing gene regulatory networks.
Home Page: http://dondi.github.io/GRNsight
License: BSD 3-Clause "New" or "Revised" License
Web app and service for modeling and visualizing gene regulatory networks.
Home Page: http://dondi.github.io/GRNsight
License: BSD 3-Clause "New" or "Revised" License
In keeping with the idea of "What would Adobe Illustrator do?" we are going to implement a multi-level undo/redo function.
Key design issues:
How many levels? 5-10?
What actions can be undone/redone?
--moving positions of force graph parameter sliders
--moving positions of nodes
We think this is mostly done; we are creating it as an issue just to do some testing and make sure.
The code is ready to show some real GRNs.
Distinct from automatic grid (Issue #25), we can just snap to grid as the user drags a node.
We need to be more focused on the kinds of errors that can be encountered when uploading a spreadsheet. Those errors should be reported by the web service with the appropriate status codes, and the embedded web panel should relay those errors to the user.
Sometimes the node gets stuck on the mouse pointer even though the mouse has unclicked. The node then gets dragged around when the mouse is moved. It seems that clicking on another node fixes the problem.
Implement the file upload web service as described in the milestone. Accompany the implementation with a unit test.
This will require some collaborative work with britainjs.
This is a switch on the file input plugin, should not be hard to do.
Pick an appropriate starting point from one of the d3 samples and adapt it to display the JSON representation returned by the file upload web service.
Occasionally when the files "del_of_yap1_estimation_input.xlsx" or "Dahlquist_wt_estimation_output.xlsx", it causes a undraggable box to show in the upper right hand corner. After this, no new files can be submitted. The error doesn't happen all the time, but when it does, the message "Uncaught TypeError: Cannot read property 'getAttribute' of null" shows up in the console.
Implement the web page as described in the associated milestone. For now, it will be sufficient to display the returned JSON on the console. The next milestone will concern itself with visualization.
Possibly shift to Nicole if needed.
It looks like the excel parser only works with xlsx files and not plain xls files. From what I can gather, the reason seems to be that xlsx is XML based whereas xls is not. Would it be possible to change GRNmap so that the output spreadsheet is an xlsx file instead of an xls file?
Write up documentation on how to get the GRNsight parts up and running.
title
attribute)This will probably require getting underneath the force layout algorithm.
Ask Masao for help here. Use screen
to keep a long-running instance of node without having to stay logged in.
I have a proposal for a different color for the web site that is more in the green/blue range instead of the green/yellow range: #006633
see http://www.color-hex.com/color/006633#
In that family, I also like:
Here are some initial comments on content on the web site that needs to be added/edited.
Probably doable as a 3/4 circle positioned appropriately around the rectangular node.
We need a standalone web page that shows a sample GRN graph with a user interface to the full set of d3 force layout parameters. This way a user can interactively experiment with the settings in order to determine the best way to initially lay out a graph.
Some documentation that describes what makes a valid spreadsheet format would be useful.
How do we want to handle uploaded files? It seems that the normal ways to do it are to either stream the file directly or to save them as temporary files. Both methods have their own hitch that we should discuss during tomorrows meeting. I will write a preliminary implementation tonight that will likely use the first method.
After a user invokes parameter estimation on GRNmap, the resulting Excel worksheet file can then be given to the web service in order to be displayed.
Do some exploration of different styles/looks and converge on an appropriate one for the GRNsight website. Preliminary target on 2/6, prelude to completing Issue #1.
Set gene names to a 12-character limit; if we detect genes that exceed this, we stop the visualization. We will need a mechanism for returning the error; web page should be set up to detect the error and notify the user appropriately.
Let's put the website header, sidebar, and footer in centralized files so that they are easier to update.
Additional items not previously transcribed from Thursday whiteboard:
Is there a specific definition of gene regulatory network I should use in the abstract?
Populate and customize the current boilerplate GRNsight information page with information about our project. The site is driven by the GitHub Pages infrastructure, so there will also be some learning involved.
This is an issue with Firefox only it seems (Chrome is working). When loading a file, only the nodes show up with invisible (or white) edges. The mouse pointer also seems to have a charge, moving the nodes without clicking on anything.
Initial GRNsight logo, for use wherever appropriate.
Some items that were not already transcribed from Thursday’s whiteboard notes:
Create checkbox that determines whether the positions of the nodes are locked into place or unlocked and can be dragged by the user.
This function is part of the undo/redo sequence.
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.