A case for using Google Colab notebooks as an alternative to web servers for scientific software

Google Colab
Jupyter Notebooks
Scientific Software
Maintaining a web server is complex, expensive, and probably unnecessary for many purposes. A Google Colab notebook provides an alternative that may speed up scientific software’s dissemination and upkeep.
Author

Rohit Farmer

Published

October 17, 2022

2022-10-18 Typo correction and included a list of links to learn more about Google Colab.
2022-10-20 The title and description changed. A PDF version of the article is uploaded to Zenodo at https://doi.org/10.5281/zenodo.7232109

I recently came across ColabFold (Mirdita et al. 2022), a slimmer and faster implementation of AlphaFold2 (Jumper et al. 2021) (the famous protein structure prediction software from DeepMind) implemented on Google Colab in the form of a Jupyter notebook, giving it an easy-to-use web server-like interface. I found this idea intriguing as it removes the overhead of maintaining a webserver while providing a web-based graphical user interface.

Google Colab is a free (with options for pro subscriptions) Jupyter notebook environment for Python (R indirectly) provided by Google that runs on unoccupied Google servers. This free resource also includes access to GPU and TPU making it attractive to various machine learning and data science tasks. For the most part, Google Colab is utilized in machine learning and data science education. However, following the example of ColabFold and my implementation of ColabHDStIM, I want to make a case that it can also be used for providing an easy-to-use interface or live demo for scientific software without maintaining the complex infrastructure of a web server.

Coming from a bioinformatics/computational biology background, I know there is a craze for developing web servers worldwide. However, although many web servers are created yearly, many groups, especially in developing countries, lack the resources to build one. On the flip side, many of these initially well-funded web servers are either of low quality, are not kept updated, or go offline soon after the publication, thus squandering the resources (Veretnik, Fink, and Bourne 2008; Schultheiss et al. 2011; Kern, Fehlmann, and Keller 2020). Therefore, there is a need for an alternative where scientists can distribute their software in an easy-to-use interface like interactive notebooks. Even if the notebook environments are limited in executing production-scale software, they can still be utilized to provide a live demo on a minimal dataset. In my opinion, it is better than the vignettes accompanying software. 

Below are some pros and cons of using Google Colab.

Pros

Cons

Learn more about Google Colab

  1. Google Colab frequently asked questions
  2. Welcome to Colab!
  3. Practical introduction to Google Colab for data science (YouTube video)

References

Jumper, John, Richard Evans, Alexander Pritzel, Tim Green, Michael Figurnov, Olaf Ronneberger, Kathryn Tunyasuvunakool, et al. 2021. “Highly Accurate Protein Structure Prediction with AlphaFold.” Nature 596 (7873): 583–89. https://doi.org/10.1038/s41586-021-03819-2.
Kern, Fabian, Tobias Fehlmann, and Andreas Keller. 2020. “On the Lifetime of Bioinformatics Web Services.” Nucleic Acids Research 48 (22): 12523–33. https://doi.org/10.1093/nar/gkaa1125.
Mirdita, Milot, Konstantin Schütze, Yoshitaka Moriwaki, Lim Heo, Sergey Ovchinnikov, and Martin Steinegger. 2022. “ColabFold: Making Protein Folding Accessible to All.” Nature Methods 19 (6): 679–82. https://doi.org/10.1038/s41592-022-01488-1.
Schultheiss, Sebastian J., Marc-Christian Münch, Gergana D. Andreeva, and Gunnar Rätsch. 2011. “Persistence and Availability of Web Services in Computational Biology.” Edited by Dongxiao Zhu. PLoS ONE 6 (9): e24914. https://doi.org/10.1371/journal.pone.0024914.
Veretnik, Stella, J. Lynn Fink, and Philip E. Bourne. 2008. “Computational Biology Resources Lack Persistence and Usability.” Edited by Barbara Bryant. PLoS Computational Biology 4 (7): e1000136. https://doi.org/10.1371/journal.pcbi.1000136.
Back to top

Citation

BibTeX citation:
@misc{farmer2022,
  author = {Farmer, Rohit},
  publisher = {Zenodo},
  title = {A Case for Using {Google} {Colab} Notebooks as an Alternative
    to Web Servers for Scientific Software},
  date = {2022-10-17},
  url = {https://doi.org/10.5281/zenodo.7232109},
  doi = {10.5281/zenodo.7232109},
  langid = {en}
}
For attribution, please cite this work as:
Farmer, Rohit. 2022. “A Case for Using Google Colab Notebooks as an Alternative to Web Servers for Scientific Software.” Zenodo. https://doi.org/10.5281/zenodo.7232109.