moltimate / moltimate-frontend Goto Github PK
View Code? Open in Web Editor NEWMoltimate's frontend source code.
License: GNU General Public License v2.0
Moltimate's frontend source code.
License: GNU General Public License v2.0
We should be able to provide the IP & Port of the backend to the frontend at run time so that each of them can be run on independent instances while they are deployed.
List provided by sponsors
Publications (undergraduates with *)
1. Hanson B*, Westin C*, Rosa M*, Grier A, Osipovitch M, MacDonald ML*, Dodge G*, Boli, PM*, Corwin CW*, Kessler H*, McKay T*, Bernstein HJ, Craig PA. Estimation of Protein Function Using Template-Based Alignment of Enzyme Active Sites. BMC Bioinformatics, 15:87 (2014), DOI:10.1186/1471-2105-15-87.
2. Osipovitch M, Lambrecht M*, Baker C*, Madha S*, Mills JL, Craig PA, Bernstein HJ. Automated protein motif generation in the structure-based protein function prediction tool ProMOL, Journal of Structural and Functional Genomics 16:101-11 (2015) DOI: 10.1007/s10969-015-9199-0.
3. McKay T*, Hart K*, Horn A*, Kessler H*, Dodge G*, Bardhi K*, Bardhi K*, Mills JL, Bernstein, HJ, Craig PA. Annotation of Proteins of Unknown Function: Initial Enzyme Results, Journal of Structural and Functional Genomics 16:43-54 (2015) DOI: 10.1007/s10969-015-9194-5.
4. Craig, PA. A survey on faculty perspectives on the transition to a biochemistry course‐based undergraduate research experience laboratory. Biochemistry and Molecular Biology Education 45, 426-436 (2017) DOI: 10.1002/bmb.21060.
5. Craig PA, Anderson T, Bernstein HJ, Daubner C, Goodman A, Irby SM, Koeppe J, Mills JL, Pikaart M, Ringer McDonald A, O’Handley SF, Roberts R, and Stewart R. Using Protein Function Prediction to Promote Hypothesis-Driven Thinking in Undergraduate Biochemistry Education. The Chemist 91:1-8 (2018).
6. Craig, PA. Lessons from my undergraduate research students. Journal of Biological Chemistry, 293, 10447-10452, 2018, DOI: 10.1074/jbc.RA118.003722.
In #10 it was identified as an option, this is the implementation of the feature
List provided by sponsors
Funding sources
NSF-DUE 0402408, NIGMS 1R15GM078077, NIGMS 2R15GM078077-02, NIGMS 3R15GM078077-02S1, NSF 1503811, NSF 1709170, Dowling College and RIT.
Coders
RIT: Cameron Baker, Michael Bryan, Cyprian Corwin, Alexander Grier, Brett Hanson, Amanda Hartung, Venkata Kovuri, Shariq Madha, Madolyn MacDonald, Scott Mottarella, Mikhail Osipovitch, Mario Rosa, Charles Westin
Dowling College: Mogjan Asadi, Isaac Asiamah, Darina Boycheva, Richky Chachra, Clarice Chigbo, Georgi Darakev, Nikolay Darakev, Damian Glinojecki, Jonathon Ihm, John Jemilawon, Nan Jia, Kedian Jimenez, Mia Jurivec, Petko Kamburov, Barry LaPierre, Ming Li, Stavros Louris, Gregory McQuillan, Kostadin Mitev, Daniel O'Brian, Stojan Regodic, Matt Rousseau, Paul Sussman, Georgi Todorov, Rohit Tripathi, Peter Zhivkov,.
Testers
RIT: Eno Akpovwa, Majied Albalwi, Nicole Arroyo, Abdul Bangura, Daniel Bobo, Paule Boli, Sean Bourne, Chantelle Brown, Greg Dodge, Luticha Doucette, Chanelle Francis, Kaitlin Hart, Katrina Henry, Alison Horn, Carly Keenan, MaryEd Kenney, Haeja Kessler, Desiree Matthews, Talia McKay, Victoria McNees, Tananda Richards, Weinishet Tedla-Boyd.
Dowling College: Kethi Bardhi, Kostandina Bardhi, Limone Rosa, Elena Zlateva
Project Oversight
Herbert J. Bernstein, Jeffrey L. Mills, and Paul A. Craig
Size: M
Upload multiple motifs during the search flow so users can search against their custom motifs.
Size Estimation: S
Add ESLint to the frontend repo using the Airbnb rules.
Acceptance Criteria:
In the options for the visualization, it would be helpful to be able to toggle on and off (default off) the full protein structure.
By default when it loads in it should be in the Cartoon
style and the active sites should remain in the Ball & Stick
style.
Using the previously created “Generate Motif” code from Release 2, take input from a controller call and create a motif which is returned as a file on the endpoint.
This should handle the case of a custom PDB file and a standard PDB id.
Acceptance Criteria:
Include the rotation matrix for the query protein & the motif protein so that it is easy to replicate the current orientation/alignment in another program, even if it doesn't have superimpose functionality.
Currently when we deploy we are using Port 3000, adding a deployment profile that switches the port used to a standard port (80) would make reaching the site easier
Provide a feedback form off of the Splash page for users to fill out about their satisfaction.
Size Estimation: M
Displaying two proteins at the same time in the NGL viewer and filtering the display so that only the correct information from each of the active sites is apart of the presentation.
Acceptance Criteria:
This came up during a session with a sponsor. We also want to disable the rotation of a single protein since the value is in their superposition.
We should support testing against:
Displaying the RMSD values that result from the testing
Visualization
Acceptance Criteria:
In the cloud deployment we missed hover labels for ngl items. This was when Paul tested on his local machine
Size Estimation: M
Base addition of LiteMol to the project. This can be a set protein loading in every time or it can be "searched" for as it is done in the LiteMol project examples using their controls.
Acceptance Criteria:
The Clear
button does not remove the entered PDB ids from the search parameters.
Give the user a button that creates a screenshot of the current visualization and downloads it as a JPEG/PNG.
Details of project
Development team
Github repo
Some project history
Funding
We need a landing page experience to let people know what we have to offer, and how this project is being funded
Our application should only ever be the size of the window's viewport. Can we please disable scrolling on the page (unless the user is scrolling a side panel such as a form or results) so that all actions are directed at the visualization as zoom or panning commands.
The form interface for Motif Maker, this should take in all of the appropriate inputs to create a custom motif.
Form validation to be confirmed with the sponsor, since this field is rapidly evolving it is unlikely that we will be able to do much form validation because it could become an obstacle to creating motifs in the future
Acceptance Criteria:
When results are returned (after searching with multiple proteins) it is unclear until after selecting a result entry what query residue is being included in the visualization.
This would group the results by the query protein so that it is easier to look through as a researcher.
Size Estimation: _
Setup UI testing for the project using Selenium.
Acceptance Criteria:
According to NGL issue 303 and exploring the demo application you can set the view to "Stereo" which appears to match the sponsor's expectations.
If we can easily include all of the view options in our visualization menu that would be a nice plus.
Size Estimation: S
Add Material UI
Acceptance Criteria:
The PDB has a list of visualization options that would be nice to include for the frontend.
Example: 8GCH Visualization Page on the PDB
In Maker Results there are currently options for the following filters, they should also be able to be applied to the results for a search:
Results, after filtering, should still be divided up by the results headers (#55) so that they are with the associated query term.
Size Estimation: S
Add some structure to the ReadMe with initial information
Acceptance Criteria:
After discussing with the sponsor it would be handy to have an "alignment details" bar across the bottom of the visualization. It should include the following information:
Empty state behavior (when no active visualization):
Acceptance Criteria:
Size Estimation: S
We discussed that we were going to use Jasmine for unit testing
Acceptance Criteria:
Since we are providing a list of the residues in a list format on the details card, the sponsors would like the ability to hover (or click) on the residues and have them been highlighted.
Highlighting:
We should be able to accomplish this with NGL selection queries and changing the color of the residue accordingly or putting a box around the residue in the visualization.
Hover:
Select:
BLOCKED BY: #5
Size Estimation: S
Configure PRs so that they are required to pass the tests in the repo before they can be merged.
Acceptance Criteria:
Size: M
Users should be able to show or hide certain features, like NGL Viewer's command console. These preferences should be saved to a cookie so the user doesn't have to repeatedly show or hide the features they like and don't like.
What happens when a negative precision factor is given to the alignment search endpoint currently?
Expected behavior: Throws an error indicating that the precision factor must be positive.
If EC Class is set to "unknown", null, or is blank we need to throw an error for a HOMOLOG to the user, currently, I believe we will call the PDB with whatever is given which could give us inconsistent results.
There are multiple terms or items that are displayed on our interface that are not totally clear on how what they mean to someone who isn't well informed.
Format of following suggestions:
* Item/Term to receive tooltip
* Suggested location
* Suggested content, in quotes
* Context of suggestion (why its needed)
\n
A lower RMSD indicates a better alignment"\n
Filter the motifs to only those with a certain EC Class. There are a few motifs with an unknown EC Class and they will always be included in the results."\n
Increasing the precision factor increases the acceptable distance between a set of atoms when doing an alignment."\n
Upload a custom structure to be included in the alignment. The PDB id will be parsed out of the structure to be included in the response. A custom structure will be listed with any motifs we were able to match to it."\n
Compare custom motifs with PDB structures inputted, as well as any custom structures uploaded. We will list for every query structure if a custom motif found an alignment, or if it did not."[This form element needs a title]
[SECTION NAME CHANGE: there is only one active site, but there are multiple residues]
\n
If there are alternate positions available in the structure for a residue in the active site, please do not indicate an option. At the time of alignment, we will identify the alternative positions and compare them with the structure to find the best alignment."(These are to set appropriate expectations for the user about what each option does)
Blocked by: moltimate/moltimate-backend#13
Size Estimation: M
From the UI complete a UI request and display the results.
Acceptance Criteria:
Size Estimation: S
Make a simple get request of the backend in order to get dummy data back.
Acceptance Criteria:
Users should be able to select an atom and then select a second atom, which will display a ruler between them.
Looking at the NGL demo app this is possible (Version: 2.0.0-dev.35) when using "test/1blu". Right click
an atom to select the first atom and then double right click
the second and a dark green dotted line appears with the distance in Å. This seems to match the sponsor expectations. I checked Moltimate on 79c9414 and it doesn't appear to work, it might simply require activating or mapping the mouse click to the function
Appears to be linked to this function measurepick in NGL.
Minimum:
Enhancements:
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.