Giter VIP home page Giter VIP logo

biogrid-viewer's Introduction

BioGRID 4.3

This repository contains the entire codebase for the BioGRID 4.3 web application.

STATUS

  • IN PROGRESS
  • ALPHA 0.0.5

Requirements

.env file variables

  • VUE_APP_AUTH_URL (url to authentication API)
  • VUE_APP_ACE_WEBSOCKET (url to websocket API)
  • VUE_APP_ACE_URL (url to curation API)
  • VUE_APP_ANNOTATION_URL (url to annotation API)
  • VUE_APP_SEARCH_URL (url to search API)

Project Setup for Development

  1. Manually install all of the requirements listed above
  2. Create a directory for development
  3. Clone this repository git clone [email protected]:BioGRID/BioGRID.git
  4. Create a .env.development.local and .env.production.local file to match your setup using the descriptions above in the .env file variables section
  5. Run npm install to install all dependencies
  6. Run npm run dev to launch the application with hotloading
  7. Run npm run build to compile the application for your platform

Build Setup

# install dependencies
$ npm install

# serve with hot reload at localhost:3000
$ npm run dev

# build for production and launch server
$ npm run build
$ npm run start

# generate static project
$ npm run generate

For detailed explanation on how things work, check out Nuxt.js docs.

biogrid-viewer's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

jennrust

biogrid-viewer's Issues

Number of interactions to display?

We need make a decision about the number of interactions to display in the SVG network image.

The "External SVG" only shows a default of up to 1000 interactions and those that are displayed are the first 1000 randomly returned by the REST service, whereas on the BIogrid website the interactions seem to be ranked based on the number of interactions. There should probably be a brief note about this right on the SVG image, e.g. "Network display limited to 1000 interactions". Otherwise, people might think they're viewing and/or downloading an image with all of the interactions. Alternatively, in the first release, maybe we could only show the SVG network for those genes/proteins that have 1000 or fewer interactions (or whatever number we decide). That way there wouldn't be any inconsistencies between the Biogrid display and the SVG network.

It would also be less confusing for users, because even with the "physical" and "genetic" options in the top left corner, if you deselect the genetic one, for example, then only the remaining physical or genetic interactions out of the original 1000 ones are shown. It doesn't send a new query to get up to a 1000 physical interactions for those cases where there are thousands of interactions.

Ranked results

rank the results like it’s done in the Biogrid summary display with greater weight given to physical interactions and also based on number of interactions, in descending order, make the whole look/feel as much like BioGRID as possible for eventual integration.

Limit interactors (nodes) in display

The circle can only accomodate a reasonable number of nodes (maybe 300?) before it's unreadable, e.g. see UBI4 (Affinity Capture-MS). I realize the cut off from REST is based on a limit of 1000 interactions/edges, but I think you might need to add a node cut off for your display. Maybe the node cut-off could be a bit higher (>300?) if you enlarged the circle to accommodate more of them? There's still room for a larger circle on a laptop diplay. We can help test the number of nodes that would be reasonable for the display.

Dealing with Many Edges

At the retreat the choice was made to have no limit on the number of interactions returned. It turns out that this slows down a browsers to a crawl for queries like Human UBC. Kara suggested that if we hit some threshold only Low Throughput edges should be displayed.

open table and image in new window

Using Chrome on a PC and Firefox on a Mac (could be browser specific as Jenn doesn't have the same problem with Firefox - possibly diff version or on PC?)
-When "External REST" and "External SVG" are clicked on, it opens in the same window. Then if you want to click "back" on the browser to go back to the original page, it resets the search and the image is blank.

Remove edges

option to view/remove ‘genetic’ or ‘physical’

Serve up final network image

Have the external SVG serve up the final network image rather than a moving image, i.e, run the algorithm, then display the network to users.

query using GO term

query using GO terms (MF, CC, PB) --- Return interactions where interactors are curated with certain GO terms, e.g. ‘cell cycle’?

evidence list - unclickable/deactivate

When the evidence list is unchecked, the list is grayed out, but the items in the list are still clickable. Can they be deactivated so you can't click on them? Also same for the "select all: physical or genetic interactions" that is immediately below.

Data Table Organization

-ideally the data table should show non-redundant interactions under each is a list of its redundant interactions

Put Table View Back

Where’s the feature where you can see the list of interactions as a table? -MSL

Interactor (Node) Count

We need to add an "Interactor Count" (i.e. node count), which would cover genes/proteins. They'd probably have to be separated by physical or genetic types. I could be wrong, but right now I think you're displaying the number of interactions without any information about the number of interactors. Often two interactors have several interactions noted (e.g. two-hybrid, AC-MS, etc.) so the total number of interactions can easily be greater than the total number of actual nodes/interactors.

Saving interaction image and annotation/query info

Would be good to be able to save the interaction image to a file on the desktop with some annotation info, e.g. gene/protein IDs, interaction type, etc.. Maybe this could include the table with the query results info. There's also a browser issue ----"Save as PDF" works in Firefox, but not Safari.

Sortable/filterable Results Table

scrollable and sortable/filterable results table below (only display some relevant columns, species name instead of ID, PubMed linkout)

node information/link box not always viewable on screen

This may be a minor issue that won't be a problem when the image is integrated into the BioGRID website, but:

currently if you click on one of the nodes at the bottom of the image the information box and links that pop up are off screen and I can't scroll to them or move them on-screen. I can un-stick the node, move the entire node up on the page and then click on it again to see all the info, but that seems like a round about way. Is there away the info could pop up above the node for nodes at the bottom of the image or a way to make the image scrollable so people can look at the info without unsticking the node?

Secondary interactions

Make "false" the default for the "Include Interactor Interactions" in order to limit the size of the graph.

Graphle-like display

mimic the look of the graphle tool diagram as much as possible in terms of font, layout, color, etc.

query and control panels on left and right side of visualization window?

Don't overlap multiple networks

if the query results in multiple disconnected networks (e.g., all E. coli proteins), draw the networks so they don’t overlap. -MSL

Different color node for query gene

This might have been suggested before, but it would be good to use a different color for the node of the query gene/protein so that users can see it clearly in the network image. Maybe in red? They'll be accessing the SVG through he Biogrid page which is gene/protein-based, so this would clearly highlight their query gene in the network.

node like outs

node link-outs to MOD gene/protein pages or else mini-display window with pertinent info like Graphle?

Number of interactions (total, phys, gen)

Currently, the "External SVG" image only shows a default of up to 1000 interactions and so giving the total number of interactions would probably be useful for users. In the upper left physical or genetic options, should we give the total number of interactions in parentheses (e.g. "Total interactions (384)", "Physical (231)", "Genetic (153)") ?

Reset query and SVG network

The Reset button in the "REST query" section only clears the query, not the SVG image. Any additional results seem to be added on to the original SVG interaction image. There should be a button to clear the whole query + network image, rather than having to reload the page to clear everything.

Refloat stuck node

Currently, if you move a node, it stays anchored in place where you drop it. Is there a way to release the anchor if you want to let it float again? -MSL

Visualization suggestion from AW

-current look and feel (mobile like IMP), not static-like image (my preference would be for the default behaviour to be that the layout algorithm is applied then the network displayed, and not reapplied if user moves a node (AW))

Scrollbars

-add scrollbars to image for large networks that have nodes off-screen

clickable edge

For R2-Standalone:

Clickable edges similar to the clickable nodes - to show a list of the different types of interaction that the edge represents (for example, affinity capture-western, synthetic lethal, etc).

directionality

directionality (arrows pointing to targets)

show/hide directionality arrows

color edges

color coding (e.g. edges --- genetic: green, physical: yellow)

Large Search Returns

-if a person limits their search results by applying a limit in the “Max” box is there a way they could then view the eliminated results without having to perform the search again (ex. if there are 400 results, but I only want 100 displayed can you go to another display that has 101-200, 201-300, 301-400). Could a user page through their results?

-would it be possible to present the user with how many results their search would return (if it's over a certain limit),and then allow them to modify their original search and narrow it down if their initial search yielded too many results to practically visualize?

Filter by interaction type (in vitro, in vivo)

It's useful to be able to select certain types of interactions like what's listed in the "evidence list" of the standalone version. In this evidence list, it would be better to have them divided into "in vitro" and "in vivo" options under the "physical" category. The "in vitro" types include: Biochemical Activity, Co-crystal Structure, Far Western, Protein-peptide, Protein-RNA, Reconstituted Complex. The rest of the physical ones are "in vivo" interaction types.

Selecting items

is it going to be possible to interact with the graph? e.g. select a bunch of nodes and move them as one unit, click on an edge and get a list of options like view evidence codes, pmids etc

graph control panel (filtering for edges and nodes) similar to Graphle, i.e. edges based on scores, nodes based on number of interactions (“virutal bait” calculations)?

-remove checked (how to add back in?)
have a check-box column ‘hidden’ and if checked the interaction is not visible

Change node colors by criteria

color nodes according to shared GO curation terms: Comment KD: While it’d be a great feature, I think this would be difficult to do on the fly in the first iteration of this tool.

Reorder form

-MSL: Would prefer to have the query panel arranged as follows:
-Start with brief instructions: “Show interactions for the following proteins, genes, or papers:”
-”Genes/Proteins” box as-is
-”Pubmed ID” box
-(Question: Would it be possible to allow spaces as separators?)
-Another instruction: “Optional filters:”
-”Evidence list” box
-This would be easier to use if it were presented as 2 columns of checkboxes with a hierarchy, for example:
PI’s GI’s
2-hybrid Dosage Lethality
Aff Capture-Western Dosage Rescue
Aff Capture-RNA Negative Genetic
… …
(This is just a rough demo of layout.)
-Checkbox for “Include secondary interactions”
-Now, show total rows as “Interactions:____”
-This is where you put the “Paging Controls,” but call it “Show at most ___ interactions.” 1000 interactions is too many to show, though. Maybe lower the default max to 500 or 250. Also, instead of having to type in which interaction # to start at, maybe it could have more Google-like controls, with arrows for “Next page” and “Previous page” and numbers to jump to a specific page.

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.