Episode 287: Alan Rubin on MaveDB ![rw-book-cover](https://wsrv.nl/?url=https%3A%2F%2Fmedia24.fireside.fm%2Ffile%2Ffireside-images-2024%2Fpodcasts%2Fimages%2F2%2F27729c65-f4a6-4496-8c86-820e7f13b285%2Fcover.jpg%3Fv%3D6&w=512&h=512) šŸ”— **Source:** [Episode 287: Alan Rubin on MaveDB](https://share.snipd.com/episode/87cd3391-e676-41b0-85fe-fd4c7ef491ba) ## Highlights - **Database To Rescue Buried Variant Data** - MaveDB stores high-throughput variant effect data to make dispersed supplemental tables discoverable and reusable. - Alan Rubin built the database using Python, Django and pandas, converting a scattered literature of experiment tables into a searchable resource. Transcript: Alan Rubin Is a project to create a research database for medical researchers, biological researchers, biochemists, people that are interested in molecular biology and protein science and Things like that. And then we've recently expanded to try to make the data much more accessible to clinicians, so doctors and people that are involved in clinical genetic testing and interpreting the Results of those tests, which has been a big jump, at least to me, and it certainly was a big jump in terms of what was needed. So that's been kind of an interesting journey. So if we try to remember back to, say, high school biology, you may remember that all of the activities that are being carried out and all the cells in your body are mediated by proteins. So proteins are the little machines that do everything inside your cells. And the protein's function is determined by its sequence. So it's a sequence of amino acid that folds up into some shape that then does a job. And that sequence of amino acids that determines the shape is in turn determined by the DNA sequence that's in your genome. And this is why if there is genetic change, whether that just happens like randomly and is passed on from parent to child or happens in a cancer cell and it changes the DNA, which leads To a change in the amino acid and the protein, which then changes how the protein folds up, that protein then may have a different function. And most of the time, it just breaks. Like if you think about if you had a complex little machine like gears and clockwork and you swapped out a part, the chances are it's just going to catastrophically fail. And then you don't have that little machine anymore, which is probably bad if that machine is responsible for some important step of a more complex process. But you might also end up... Richard Littauer It's kind of like dependencies breaking in a long chain of software dependencies, right? It's like you need the little time dependencies back. Alan Rubin If a bug gets introduced in the dependency, and of course, you don't have stack tracing tools in biology, so it's pretty difficult to figure out what's going on. So we essentially have to try to figure it out by observing the output of the entire system. If you do make a change, the little machine might still work, but in a slightly different way. That protein may now bind to different proteins, or it might cause the cells to grow much faster, or make it so that it now has no ability for the cell to stop it. And that's how, you know, sometimes that can lead to cancer because you now have a lack of regulation in the system. So if what we need to do to understand what these changes do, because we can't really directly observe what's going on inside the cell, one of the ways that we can figure out what these Individual changes do is we can make them in the lab and test them. But now for each amino acid, you've got 20 different options at each position. So now you've got a 20N combinatorial problem, which means you have to be able to measure many, many thousands of these changes at once if you want to measure all of them. Now, fortunately, researchers about 15 years ago developed a way to do this where you can make essentially synthesized DNA molecules, engineer them into cells, make every different Variant of a protein, test it in a single pool where they can kind of like compete against each other or all be measured like in parallel. And then you can use high throughput DNA sequencing to essentially count how many times you see each variant when you started the experiment and how many times you see the variant at The end of the experiment. And if you're measuring something like the cell's ability to survive with that variant in it, that will give you a quantitative measurement of what I'm hearing is lots and lots of data. So there's lots and lots of data. And basically what we're doing is to put it in software terms is we're essentially doing fuzz testing in the genome. Cool. Okay. Awesome. And then we're measuring like all of those different little tweaks that you can make and seeing whether it affects the viability of the system. Richard Littauer So MaeveDB is a database which allows you to store all the different types of variants and then to analyze them easily to figure things out? Alan Rubin Yeah, that's right. So when we started the project about 10 years ago, the field had been around for five or so years. There were starting to be quite a few papers in this area that were describing this very new kind of data where you've done one of these assays, you've measured thousands of unique variants In a given protein, they all go together, and there wasn't really anywhere to store the data. Obviously, people would share their data, but it would go in a supplemental table attached to a scientific paper. So I don't know if for people who are not familiar with the academic literature, when you publish your paper in a journal, there's like the paper that describes the research. And then they're often depending on the field. There are many, many ancillary files called the supplement, which may include extra detail for the methods or raw data files or important technical information that you would need To reproduce the experiment. If you were lucky, there would be a table of all of the scores that were calculated for all of the variants in the assays. And the issue was that these were very difficult to discover. They were all in very different formats. And it was kind of getting out of control. And other fields had databases to store all of the data of a specific type. And our field didn't have that. And we thought that it might be a good idea if we did. When you say we, who are the people who helped you out? Is this you and a post-grad student? Yeah. So I was collaborating very closely and still do with Professor Douglas Fowler at the University of Washington, who actually started the field. And we've been friends for a long time. And we were talking about this challenge. And he had a meeting with Dan Bolan at University of Massachusetts. And they were sort of talking about this. And they're like, okay, so we started this thing. And where is it going? And how are we doing? And like, oh, yeah, data discoverability is a real problem. And we don't even know how many assets there are. And we can't get the data and all of this stuff. And me being the guy that knew software who was around thought that we could do this. And actually, it's a nice kind of tie-in to your previous episode. Just the reason why I took on this project was actually because of HikonAU. Because I went to one of these regional conferences. And I remember I saw a talk from Russell Keith McGee about Django. And I never heard of Django before. But I was like, wow, sounds like it's actually not as hard as I thought to develop a data-driven web application. And so with great hubris, I told Doug that I could solve this problem. And then I knew how to do it using these open source tools. So there was a guy, Daniel Esposito, ([TimeĀ 0:02:50](https://share.snipd.com/snip/d03c3240-c788-4901-b0a2-acab68d49485)) - **PyCon AU Talk Sparked The Project** - Alan credits a PyCon AU talk about Django for giving him the confidence to build MaveDB with a small team. - A collaborator Daniel Esposito and a Django Girls tutorial helped them rapidly prototype a production research database. Transcript: Alan Rubin Because I went to one of these regional conferences. And I remember I saw a talk from Russell Keith McGee about Django. And I never heard of Django before. But I was like, wow, sounds like it's actually not as hard as I thought to develop a data-driven web application. And so with great hubris, I told Doug that I could solve this problem. And then I knew how to do it using these open source tools. So there was a guy, Daniel Esposito, who had just finished his master's, didn't want to do a PhD. He wanted to get some job experience. And so I pitched this idea to him. And I was like, Do you know about Django? He's like, Yeah, I've heard of Django. I was like, All right, let's do it. So let's give this a go. And so we quite literally followed the Django Girls tutorial. But instead of building a blog, we built a database for research scientists. And it worked very well. It was a very capable system. And Django lived up to the promise of being this sort of batteries included kind of thing. And it worked out quite well. We were able to do all the things that we wanted. And because everything was built in Python, we could bring in a lot of our expert knowledge. And we could bring in tools like pandas to handle data frames. And we could write custom validators that were needed for the specific type of data that we had. And we could put all of that in there. So it was relatively seamless in terms of we were able to approach the problem and how much of our existing expertise we were able to bring. ([TimeĀ 0:09:19](https://share.snipd.com/snip/fa587e1f-1d16-4f1d-b952-1feba89437ee)) - **Infrastructure Is Wanted But Underfunded** - Funding for scientific infrastructure is scarce because most grants prioritise novel discovery over maintenance and shared tools. - Alan notes infrastructure is widely desired but rarely funded, making database sustainability a persistent challenge. Transcript: Alan Rubin There's a lot of funding opportunities, especially compared to other academics. I don't want to downplay how good we have it in health and medical research. But essentially, all of the funding opportunities are oriented around discovery-based or like hypothesis-based projects. And this is not one of those. This is infrastructure. And infrastructure is just like infrastructure in our public lives. Infrastructure is something that everybody wants to have it exist, and nobody really wants to pay for it. And so we face a lot of those same sort of struggles in this area. There are relatively few funding opportunities directly for infrastructure and for software infrastructure. Chan Zuckerberg used to run one. I think they don't run it anymore, which is a shame. There are occasional opportunities from larger funders like the National Institutes of Health, the National Human Genome Research Institute, historically has been pretty good About funding these kinds of projects directly. But those specific funding calls are few and far between and highly competitive because as you can imagine, every database is trying to get in on that. So I think that there is a problem and that there just isn't enough resources directed towards this specific problem. And it's generally a bad fit for standard research grants. ([TimeĀ 0:12:10](https://share.snipd.com/snip/a8581da6-a001-499f-b09f-95d540c89e2a)) - **Clinicians Drove A Major Product Pivot** - Clinical geneticists demanded variant-centric access, forcing MaveDB to pivot from dataset downloads to per-variant queries. - That shift led to MaveMD, a clinical-facing interface focused on answering 'what do we know about this specific DNA change?'. Transcript: Alan Rubin And the clinical genetics community came to us with an overwhelming amount of enthusiasm because they were saying, well, we see these genetic variants in patients and we don't know What they do. So we don't know whether we can use them to help guide diagnosis or treatment or anything else. You've actually measured in an experimental system what that variant does. And that is incredibly valuable evidence for us to use when we're trying to determine what that genetic variant does. Yeah. And they're like, and you have like millions of measurements, like you need to give that to us immediately. But of course, the way that they wanted to experience the data was really different to the way researchers wanted to. We had built a system where people would like upload and download entire datasets from a whole experiment. But they really wanted to know, tell me everything you know about this specific DNA change. That's how they wanted to experience the data. So that kind of started me on this process where over the last several years, I've essentially been learning all about clinical genetics from readers on conference calls and trying My best to not offend anyone with my ignorance. Was your background in informatics? Was your background not in... I mean, my background is in computational biology and genetics, but much more sort of like classical model organism genetics and kind of computational biology, mathematical modeling Kind of stuff. So nothing clinical. Once you start talking about clinical applications, like all the vocabulary changes, the mission changes, because it's not about this kind of abstract idea of creating new knowledge For humanity, which is laudable. It's very much about how can we help individual people? And what is very motivating to me talking to my clinical colleagues is that when they're thinking about these problems, they have this very real experience of a person who needs their Help, who is sitting in front of them, who is the reason why they're doing this. Because when they're trying to diagnose a genetic change in a patient, like that's a real person for them. And because of my background, that was very abstract. And so that has been quite interesting to kind of think about those problems in a different way. But I will say that it took the project in a whole different direction because they needed a completely different interface. We needed to try to come up with some answers to some challenging questions about data quality, which again, very challenging because the field is so varied in terms of what kinds of Things they're doing, what kind of experiments they're performing. You can't really directly compare them. So yeah, so that took us in a completely different direction. And we've now a new interface for the MavDB database, which we've called MavMD, which is Mavs for Medicine, which is an interface that is entirely designed for clinical geneticists Who want to learn more about a specific variant and learn about whether they can use it to help resolve their patient case. And so that was a huge pivot for us. ([TimeĀ 0:18:22](https://share.snipd.com/snip/bb8baac9-d62d-4431-8016-b6efcc22adb5)) - **Scientific OSS Operates Like Small Product Teams** - Research software projects often behave like small commercial product teams with paid core contributors rather than thriving on hobbyist OSS contributions. - Alan struggled to attract community contributors and relies on a distributed paid team for development and priorities. Transcript: Alan Rubin So I think like a lot of academic projects, everyone's wearing a lot of hats all the time. And we don't have the luxury of the headcount to have a different person who could be a project manager. I'd say I'm not a project manager because I'm not really responsible for setting timelines and deliverables and things like that. It's more setting the high-level agenda and saying like, this is something that we ought to prioritize, or I talk to these folks and they really want a feature that does this, or using My own knowledge of the field and the history of the field and the project and everything like that to say, well, this is something we should prioritize, or this is something else that We should deprioritize. So that's a lot of my role now. And going to conferences, engaging with people, and things like that. We have a team of four people. So we have a senior developer whose primary job it is to work on MaeveDB. And then we have other people who contribute in their roles as they can. We don't really get community contributions. It's just not that kind of project. This is something that I had always thought would be easier to sell to the broader open source community. But I think it's a combination of open source hobbyists are intimidated about contributing to a project like this that has this kind of real-world application. I think we as people that run the project, don't really know how to engage with hobbyists. And we aren't really doing the usual like big open source project thing, like tagging issues as good for new contributors and leaving them there. We're just very focused on the mission and like getting stuff done. I think the other thing is that when people are choosing a hobby project, they want something that is maybe more fun or that's more related to a hobby that they have. And while they may be strongly aligned with the mission that we have, we're trying to cure cancer is a pretty compelling story. That's ultimately like not where they want to spend their hours when they could, you know, like build a robot or something like that. Honestly, I don't blame them. The dynamics of the project are it's much more like a kind of commercial software project in that like, we have a team of people that are paid salaries to work on it and we do that. I have never been successful in engaging the broader open source community, despite having tried many times to contribute to this or any other scientific project. ([TimeĀ 0:23:51](https://share.snipd.com/snip/94507638-5577-445a-9eee-2cc004264353)) - **Attend Technical Conferences To Improve Research Software** - Go to domain-adjacent technical conferences to improve your research software craft rather than only discipline conferences. - Alan learned practical skills like testing and tool choices at PyCon and Linux Conf that directly improved his lab's software work. Transcript: Alan Rubin I feel very strongly about. So if I, as a computational biologist, go to a biology conference, I'm going to see a bunch of new science. I'm going to learn a lot of new things, but it's all going to be applications. I'm going to learn new applications, new areas that I could get into, new things that I could study. I'm not going to learn anything about how to do what I do on a day-to basis, which is mostly write software, do data science. I'm not going to learn how to do those things better. It's not a way for me to work on my craft in a way that it is for people that are at the bench doing wet lab experiments where they would learn about new techniques at one of those biology conferences. I need to go to where the software engineering and data science people are talking about how to improve their craft. And that is places like PyCon AU. I went to Linux Conf in Australia back when that was still running. And that was where I really learned a lot about things that are kind of basic concepts, probably for a lot of your listeners, like things like how to write a unit test suite that isn't a Mess. Right. I remember there was like a long tutorial talk about like how to actually write a good unit test. And it talked about using standard library unit test versus using PyTest. And it talked about test runners. I did most of like an undergraduate computer science degree. You don't learn about that there either. And so one of the things that I've really tried to convince my colleagues of is that going to something like PyCon AU is incredibly valuable in terms of making your science better because You will learn more about open source tools that can help you be more efficient. And I think that especially as we've seen the rise of data science in industry, we were doing data science the whole time. Just nobody called it data science because nobody was really talking about it. We had large data frames with millions of rows and thousands of columns, and we had to figure out how to do stuff. We were there the whole time, plugging along in Pandas when Excel broke. And now there's all of this great support from the open source community. And so going and hearing about when should I use Pandas or Polars or something that's based on Arrow or any of the other proliferation of options that are there, I think that's something That more scientists need to get exposed to. And, you know, these open source conferences and open source meetups and things like that, that's the place to go to do that. ([TimeĀ 0:27:50](https://share.snipd.com/snip/a8125a8e-2dd4-48e2-9e81-1f4b75226891)) - **Leverage Mature OSS Libraries And Engage Locally** - Recognise and celebrate how general open source tools enable academic projects and engage with local scientific stakeholders. - Alan switched frameworks (Django to FastAPI) and relied on mature docs and libraries to iterate efficiently without paid licenses. Transcript: Alan Rubin Conferences. I think people that work in open source should really be excited about the kind of stuff that their work is enabling, even if they don't really hear about it. I think that for every large company website that is running using their tools, there are hundreds of other like little academic projects that only exist because all of this stuff is Freely available and well documented there for people to leverage. So like we started on Django, then we switched over to FastAPI. I mean, it was a full rewrite, but it was a relatively straightforward process because these tools are like very and very well documented. We have no resources in academia to go and purchase software, license software, in general. Everything that I use that's licensed is licensed at the level of my institution. So that's things like Microsoft Office. They're not going to buy anything for me, and I'm not going to be able to request it. So I think that it is hugely enabling and people should be excited about that and consider, you know, checking out public lectures and things like that, other sorts of ways to engage With their local scientific community. ([TimeĀ 0:31:00](https://share.snipd.com/snip/e4feeb13-3363-4326-9429-731cdbefd77d)) - **Prioritise Open Data Standards For Interoperability** - Support and adopt open data standards to enable secure, privacy-aware sharing across clinical and research systems. - Alan highlights GA4GH's standards work as essential but unglamorous infrastructure for a connected digital health future. Transcript: Alan Rubin But I think I want to spotlight something which we didn't really get into, which is the importance of open data standards. And in particular, the work that's being done by a group called the Global Alliance for Genomics and Health, or GA4GH, which is an international volunteer body for maintaining and Evangelizing data standards for genomics. And it's really important work, very unglamorous. But the standards that they're developing are completely essential for all of the stuff that we would want for this sort of digital health future, of which much has been written about And which we're trying to realize, but it's very hard. And this is essentially, what are the data standards that are going to allow APIs to securely and in a privacy-minded way share health information about individuals between providers And hospitals and subsets of it with researchers and allowing all of these different systems to talk to each other. Somebody's got to do that work. Doing it across national boundaries is incredibly challenging. Doing it in an environment that is as complicated as biology and human health is incredibly challenging. And so I just wanted to spotlight the good work that they're doing. ([TimeĀ 0:36:39](https://share.snipd.com/snip/6ebffb20-375d-453e-ad02-011a0d86ae81))