intermine / bluegenes-protein-visualizer Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
It would be nice to check in the tool if the current page is a Gene or a Protein page, and do the following:
I don't remember if we chose pv over ngl for some specific reason, or we didn't know about ngl.
NGL seems to be actively developed as opposed to abandoned (which pv is) and is used by RCSB. It uses the standard coloring scheme for secondary structure, and also shows a tooltip when hovering over the strands. I subjectively think the models look prettier as well. [=
If it's not too much work, we might swap out pv for ngl.
Here's a comparison between pv and ngl, respectively, using secondary structure coloring of 5VPZ.
This can probably be done in combination with #19 which seems to support it (although not sure what alphafold's public API is like)
https://github.com/nglviewer/ngl/blob/b46c97355e2727d4f162fa27d13f803b05888785/examples/scripts/test/alphafold.js#L4
Sometimes searching for the primaryAccession we receive from intermine doesn't return any results from RCSB's PDB, and the JVA will crash due to passing null data to pv. (The JVA will suddenly disappear while showing the loading indicators.)
Can we show a suitable message when PDB doesn't return any results?
Suggestion: No results found for X in RCSB Protein Data Bank
One protein ID without results you can test with is 20840312
.
Similar to how we let the user select viewer mode, we should also give the user a dropdown to select color operations.
https://pv.readthedocs.io/en/v1.8.1/coloring.html#available-color-operations
We can start by supporting two color operations:
According to the documentation I linked above, you can change to by secondary structure by calling pv.color.bySS()
, and change back to uniform with pv.color.uniform()
.
When we have a color legend (#11) we will need to also update the legend based on the currently active color operation. For the new by secondary structure color operation, use the colors listed in these 3 tables.
Sometimes, when the gene has a lot of proteins, the height of the protein visualizer is too big in BlueGenes. It would be better to have a dropdown to select the protein and a text over it saying something like "Choose a protein to be visualized".
As discussed, you can get the protein information given a PDB ID from https://www.rcsb.org/pdb/json/describePDB?structureId=1d8d. The link would be just https://www.rcsb.org/structure/1D8D
Currently, the react components are not usable if we install the npm package for the tool. This is because JSX is compiled (only under src
) using webpack during the build
process which is fine so we need to export the "built" react component from our package.
It probably requires to re-configure some webpack configuration. This might be a useful link.
For some genes, the protein visualizer keeps "Fetching associated PDB ids", example: http://bluegenes.apps.intermine.org/#/reportpage/humanmine/Gene/6087400
The view defaults to cartoon although the "Select Viewer Mode" dropdown is by default spline. This is confusing; we should have the dropdown show the actual default view cartoon.
If you would like to pick this issue up, please comment on the issue to let us know you're working on it :)
Add preview.png to the root of this repository
npm run dev
and visit http://localhost:3456Context: these previews will be used here: http://bluegenes.apps.intermine.org/default/debug/tool-store - you can look for other repos under intermine to find similar tasks for other bluegenes-* repositories as several tools are missing previews.
Mention @yochannah, tweet @yoyehudi, pop by to say hi on chat or if needed email [email protected] <3
PDB won't return structures for isoforms, so in that case we should query for the canonical protein instead.
Display a link (or legend) explaining what the different colors in the viewer signify.
We would probably have to dig into bio-pv
to find this information.
https://pv.readthedocs.io/en/v1.8.1/
Instead of
Could not download PDB file, please try again later!
it would be useful to distinguish between the case "PDB has been contacted and there is some kind of communication (try again later)" and "we already know there is no relevant PDB (no 'try again later')".
As suggested by Gos.
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.