The Rfam database has been a cornerstone resource for RNA sequence families for over two decades. When the team began planning a redesign, they saw an opportunity to put AI tools to the test. Philippa Muston, Full Stack Developer at EMBL-EBI shares her team’s experience and learnings from the process.
About Rfam
The Rfam database is a collection of RNA sequence families of structural RNAs including non-coding RNA genes and cis-regulatory elements. Each family is represented by a multiple sequence alignment, a consensus secondary structure, and a covariance model.
Rfam serves as a valuable resource for annotating and exploring the structure and distribution of ncRNAs, and as a data source for training AI models to predict functions, structure and interactions of ncRNAs.
Users can browse data and genome annotations on the website, download the full dataset from the FTP site, or access it programmatically through the Rfam API.
Tell me a little bit about the Rfam website. Why and when was it set up?
The Rfam website was set up over 20 years ago, written in a programming language that was very popular at the time called Perl, and using an old framework called Catalyst. The website was overdue for a refresh as it was getting harder to maintain and update.
What are the main goals of the redesign?
We wanted to move to Python and update to the EMBL-EBI visual framework, a shared design that aligns our look and feel with the larger ‘family’ of biodata resources at EMBL-EBI. This redesign vastly improves the website visually. The new layouts are much more modern, accessible, intuitive and user-friendly to navigate, while also allowing the website to be fully responsive across different browsers and devices.
The front end got a big makeover. The challenge was the backend, as it has to maintain the legacy API URLs that people’s scripts interact with.
The code has to be deployed to Kubernetes, a platform that automates the deployment and scaling of containerised applications.
What was the driver for using AI to redesign the website?
Mostly efficiency. For a small team like ours, the full end-to-end redesign of the website would have taken up to two years to complete.
With the help of AI, I was able to build the backend in four weeks. I used unit tests to identify the API endpoints and fed them to the AI so it would build a Python application. The whole process was remarkably fast. After a few iterations, the product was ready for Kubernetes.
With the help of AI, we’ve reduced the project redesign from 24 months to about five.
Can you give an example where AI suggested a solution you hadn’t thought of?
We fed the AI the Rfam release notes, and it checked them and created tags for each of our different releases. It was a good idea, and we are going to use them. AI does very well at adding “quality-of-life” features that make the outcome more engaging and easier for the user.
On the downside, sometimes it can “hallucinate” errors. This is where the role of the human developer remains essential.
How are you ensuring that AI-code doesn’t have vulnerabilities?
We develop internal reviews and collaborate with technical communities to maintain a secure environment. In addition, we are using security scanning pipelines in code-hosting platforms in combination with AI-powered tools to detect vulnerabilities.
With these changes, what’s the role of software developers in organisations like EMBL-EBI today, and how do you think it would evolve?
AI should not work alone. It’s essential that developers understand which part of the codebase the AI is modifying and why, rather than blindly trusting it and giving it unlimited access and permissions. We need experienced software developers to control it. We must ask ourselves: if all the AIs stopped working tomorrow, would we be able to maintain the website and build new features? If the answer is no, to me that says we cannot depend solely on AI.
I think in the future, software developers will have a more holistic role. Imagine the AI as an overconfident but eager programmer. As a software developer you are its manager, ensuring it produces quality work. The human-in-the-loop is still essential, even if our job will shift more toward being “gatekeepers”.
Still, it’s essential to discuss approaches with colleagues. I find it very rewarding to learn from colleagues with wider experience, here a special mention to my colleague Isaac Jandalala is deserved.
The new Rfam website is now live and available to explore.
Edit