Sage Bionetworks collaborated with GenUI to modernize their Synapse R Client and achieve several key milestones:
Sage Bionetworks is the company behind Synapse, an open-source knowledge-sharing platform that allows scientific and medical teams to share data, track analyses, and collaborate. This platform offers transformative collaboration capabilities, including hosting knowledge portals for Alzheimer’s disease, cancer research, digital health, and more.
Sage Bionetworks maintains clients that allow customers to interact with cloud-hosted Synapse data using Python, R, Java, or a web interface. In order to minimize maintenance costs across multiple Synapse clients, Sage Bionetworks decided to use the Synapse Python client as the foundation of the R client for Synapse and developed a custom package to bridge calls between R and Python. Over time, it became apparent that this code was difficult to maintain as Python itself developed. Recently, a new option developed as the industry standard to use Python-based technologies alongside R: the open-source R-package Reticulate.
However, the synapse R client didn’t work with Reticulate due to conflicts with Sage Bionetworks’ custom bridge, meaning customers could not take advantage of this additional functionality. The R client was also complex to maintain because of the rapid pace of advancement in the Python community.
Sage Bionetworks turned to GenUI to overcome these challenges and modernize the synapse R client. GenUI worked with Sage Bionetworks on iAtlas, an immuno-oncology portal that uses Synapse. Since GenUI was already familiar with the platform, it was well poised to help Sage Bionetworks modernize Synapse’s R client.
Starting out, GenUI and Sage Bionetworks saw three paths forward. They could either update the existing PythonEmbedInR-based synapser solution by fixing current issues one at a time. They could also create a pure-R Synapse client from scratch. Last, they could modernize the existing Python-client-as-a-foundation strategy using the relatively new Reticulate package.
The Reticulate option was the preferred option since it had the potential to minimize development and maintenance costs while also addressing all the import issues in the current version of synapser, if it could be made to work seamlessly with the Python Synapse client. It would provide customers with more functionality than PythonEmbedInR—plus the Sage Bionetworks team would no longer need to invest so much time and effort in maintaining the R client themselves as Reticulate is kept in sync with Python by its robust community.
Reticulate - R Interface to Python
GenUI got to work testing Reticulate. The goal was to identify roadblocks before committing to one path.
Within two weeks of the project start date, not only did the GenUI team have the Reticulate solution up and running, but they had an example that was working with live code. After deciding to move forward with Reticulate, the team rapidly progressed to a fully modernized version of synapser.
Implementing with Reticulate achieved both of Sage Bionetworks’ primary goals: minimize maintenance costs and address critical issues in the aging synapser client. Reticulate is a well-maintained and well supported standard many customers are already familiar with. Once they have Reticulate, installing the new synapser is fast and seamless.
“I have never installed the client as quickly in the past five years as I have since we implemented this. My hope is that our customers using the new client not only save time during installation but also have the flexibility to install on newer Mac and R versions, as well as interface with other Python packages using Reticulate.”
- Thomas Yu, Associate Director at Sage Bionetworks.
The modern synapser integrates seamlessly with the entire Reticulate ecosystem allowing customers to use it in conjunction with any modern Python package. synapser can now be used with a huge range of powerful tools such as TensorFlow to create machine-learning models and SciPy for science and math-oriented programming tasks.
Reticulate also made it dramatically easier to keep synapser up to date with the latest versions of R and Python, giving customer access to the latest technology. Beyond the advantages to customers, the switch to Reticulate presents Sage Bionetworks with the major business benefit of no longer needing to spend time and resources on maintaining a separate framework.
By modernizing synapser with Reticulate, Sage Bionetworks continues to fulfill its mission of empowering collaboration that saves lives. Now, Sage Bionetworks can concentrate on its core offering while enabling customers to use Synapse in new ways, driving research innovation worldwide.
Can we help you apply these ideas on your project? Send us a message! You'll get to talk with our awesome delivery team on your very first call.