Inspiration
Our dear biologists are working hard day and night in order to find new protein. A lot of protein patents are hard to read and novel protein developers have to spend hours sifting through legal jumbo to find out if their protein falls under the patent. Our app, as the name suggests, will make the job of the biologists easier by scanning all the patents for the user, checking the percentage identity in order to determine if the protein is novel or not.What it does
Altruistic can directly access the BLAST Protein Patent Database and sort entries based on percentage identity and also extract the patent number and resolve a URL for the online patent. Based on a study of patents, we also developed a recommendation system to provide insight on whether a sequence can be patented or not. *note: this program is only focusing on protein composition patents and not method patents, which are more ambiguous **note: This program is only focused on analysing the primary protein structure and not the secondary, or tertiary structure as folding is much more complicated and can be examined through helpful modelling programs like Rosetta or SwiftHow we built it
The web app was built with ASP.NET core using HTML/CSS/JS/SASS/C# The web app works as follows:1) User enters FASTA Protein Sequence and clicks submit
2) The app downloads a txt file (generated dynamically) which is reset every time submit is clicked
3) The API reads the sequence and queries the BLAST Database to obtain a request ID. It creates an endpoint to be accessed. 4) The frontend accesses the request ID via AJAX and creates a GET Request in the BLAST API
5) The frontend processes the data given by BLAST and displays final output note: link in page opens to static page to see our ui
Challenges we ran into
The BLAST API is deprecated and we believe it hasn't been maintained since 2009. Furthermore, unlike most APIS, this API had 3 steps (POST, GET, GET) which made it a bit difficult since we had to also extract a request id to access the data. Furthermore, due to BLAST's guidelines we has to wait a lot to test the app since our requests were being queued in a slower channel frequently, which delayed development.Accomplishments that we're proud of
Our backend successfully extracted the request id from BLAST which took hours of work and we were able to use the key with JavaScript via AJAX in the frontend to extract the final data.What we learned
We have successfully configured our way to coordinate with our teammate which are working across 3 different time zones across the world. This was the first time our backend built a production-grade API and the frontend learnt to use it with ASP.NET core to create a two-way communication system.What's next for Altruistic
In the future, our program will be able to provide a 3D model of the novel protein, a list of its domains, its hydrophobic and hydrophilic regions, amine groups, and many other chemical features!Video
Google Drive LinkYouTube Video