Code meets the Lab: An interface for automated protein quantification analysis

Nadir Sarigul
Analytics Vidhya
Published in
3 min readSep 23, 2021

--

My very first blog post was about a tool I built using python to be implemented in biomedical research. When I started my current job at the Moffitt Cancer Center, I was surprised that many aspects of the everyday tasks are done manually and no automated tools do not exist for the most basic tasks. The advantages are obvious: save time and effort so that researchers can focus on their actual research and scientific questions. In my everyday life, I always think of how can I use my skills to improve what I and others around me need to do, so with the very first biological technique I learned in the lab I put myself to work and coded a small program that automates protein quantification data analysis (here). With this, any scientist could clone my git repository and calculate protein quantification on their own. But then I realized that lab scientists don’ really use python or code in their daily activities and many do not know python at all. So I decided to build an app for it so that one just needs to upload their data and click on a button to get the result.

To build this app, I used Streamlit. Streamlit is a library that allows building data dashboard web apps. In addition to Streamlit, there are a few other data dashboarding tools and frameworks including Dash, Voila, and Shiny. Of these, Streamlit and Dash are the most popular. Both are based on python, open-source software that runs on the Tornado and Flask web frameworks. Dash is also compatible with other languages, such as R and Julia. Dash focuses on the enterprise market and is more adaptable. On the other hand, Streamlit is geared towards rapid prototyping and focuses on simplicity. Streamlit doesn’t require any knowledge of web development and it’s easy to install and run — the perfect tool to make data science accessible to non-technical teams.

So, let’s try my protein quantification app to see how it works!

When entering the app this is the interface that you will see

All you need to do is upload your file (CSV or XLSX is good)

Once you upload the file you can use the interface to select the data points that are for your standard curve on the dropdown menu. Once you do that the app gives you the average absorbance, the r squared, and the graph of the standard curve. Let’s see how the graph of my standard curve looks like.

Looks like my standard curve is pretty good :)

Now let’s quantify the samples!

As with the standard curve, all one needs to do is to select from the dropdown menu the data points for the samples, and voila: average absorbance and protein quantification is done!

Oh one last thing, in case the samples were diluted before quantification, I also added a function to adjust the quantification by the dilution factor used.

And that’s it! Pretty simple and takes less than 5 minutes ;)

Go to my Github for the code and this link to directly access the app.

--

--