Scientist Spotlight: Meet Dr Yee Mey Seah!

17 Oct

YeeMeySYee Mey is a postdoctoral researcher at the University of Washington Bothell in the lab of Dr Kristina Hillesland. A postdoctoral researcher is someone who has their PhD and works in research (so she is Dr Seah!).

Pleuni: Hi Yee Mey, thanks for answering some questions! When did you first learn to code?

Yee Mey: My first experience was through a required class on C++ programming in my pre-university program. I struggled to understand the material, and after the semester ended, I thought programming isn’t for me.

When I started grad school at Rutgers University, I was given a small programming project during a rotation in a protein design lab, and was advised to learn Python. Thanks to a peer mentor who taught me to first write pseudocode, and the fact that Python is so readable, and has many online learning resources and tutorials, made the learning experience a lot less intimidating. I actually started to enjoy coding! Even though I ultimately joined a different lab, I was hooked, and found reasons to code in Python, e.g., cleaning and formatting metadata of GenBank virus sequences.

Pleuni: What kind of work do you do?

Yee Mey: In both my last and current positions after grad school, I work with high-throughput whole genome and metagenomic sequencing data from microbes. Knowing Python (and bash) has been useful for me to set up workflows with different bioinformatic tools to batch process the GBs of sequencing data. I’m currently working on the genomics of experimentally co-evolving microbial mutualists, and I use the Snakemake program to manage my bioinformatics workflow.

Snakemake workflows are constructed using a Python-based language, so knowing Python is helping me manage the execution of my workflows. Coding in Python also allows me to explore my variant-calling data; I can compare and plot mutation frequencies in various genomic regions, across different replicates, evolution conditions, and variant-calling software.

Pleuni: How did learning Python impact your career?

Yee Mey: Learning Python gave me the confidence to explore other computational skills, thanks to the abundant resources and helpful communities like PyLadies and Software Carpentry.

Pleuni: You did your undergraduate degree at Penn State – how did you choose that school?

Yee Mey: I grew up in Malaysia, and was put in science classes in high school because I got good grades. After high school, I graduated with good enough scores in the national exams to be offered a STEM scholarship for college in the US. I did not know much about US colleges at the time, and had funding to apply to four schools. Penn State was the only one that accepted me, and so that’s where I went!

Pleuni: How did you end up working on evolution in microbes?

Yee Mey: I did a degree in Clinical Lab Science and got interested in microbiology during my coursework and hospital practicum, but it wasn’t until grad school that I started getting fascinated with virology and evolution when I rotated in Siobain Duffy’s lab. I love how viruses are a major influence in all branches of life, and though seemingly simple, have endless variety in form and processes, and often defy the rules and boxes that we like to impose on them.

Yee Mey’s Google Scholar website (it has links to her publications and her PhD thesis!):

Lab website:…

Yee Mey on twitter:

Pyladies website:

Scientist spotlight: Graham Larue, PhD student UC Merced

23 Sep


Pleuni: Hi Graham, when did you first learn to program?

Graham: I took one C++ class in my early twenties (at a community college, shortly after finishing my B.S.). After that, I didn’t do any programming at all until I started working in Scott’s lab* in 2013 for my Master’s. I chose Python primarily because I knew it was used for some bioinformatics research, and was more multi-purpose than R.

* Scott’s lab is Scott Roy’s group here at SF State.

Pleuni: What do you work on? Why is python useful for that?

Graham: My primary language for the last 6 years has been Python, which I’ve used to write all of the analyses I’ve done for my research. In my graduate work, I use comparative genomics to investigate various aspects of eukaryotic gene structure evolution, with a specific focus on a sub-group of spliceosomal introns. The longest single script I’ve ever written is ~6,000 lines long, and was the first big project I started during my graduate studies. Over the course of working in bioinformatics, I’ve built up a collection of Python scripts that I use very regularly in my work.

Over time, some things that I used to do in Python (largely file format manipulation, etc.) have been replaced by Bash, but otherwise, I still use Python fairly exclusively.

“Python is easier to pick up then other options”

Pleuni: Why did you pick Python?

Graham: I have found Python useful for a number of reasons. First and most pragmatically, the syntax is fairly straightforward and arguably less intimidating than some other languages, and I think that makes it easier to pick up than many other options. Second, it functions well as a “glue” language, which is essentially the role Perl used to occupy in previous decades. You can write Python code to perform statistical analyses, plot data, organize/manage files, and also to tie together existing software into more complicated pipelines.

Finally, I think that for students thinking about learning to code, Python offers the advantage that even if they don’t end up working in research science, learning Python is very likely to still be of some benefit. From what I understand this would be less true of, say, R—R is incredibly important and dominant in certain fields of academic research, but outside of those applications it is not as heavily used.

Pleuni: What do you work on in your PhD?

Graham: I use comparative genomics combined with next-generation sequencing to help to understand the evolution of different aspects of eukaryotic gene structure.

“I am studying a rare form of spliceosomal intron”

I am studying a rare form of spliceosomal intron which has undergone many instances of complete loss in many different eukaryotic genomes. By comparing the conservation of these introns across the eukaryotic tree, I can address questions related to their likely origins and dynamics within different genomic contexts.

Pleuni: Does this mean that you study introns and you compare their occurrence / their sequences / their locations in genomes of many different eukaryotic species to try and learn about their evolutionary history?

Graham: Yes!

Here you can see the code that he is working on. Many programmers share their code on Github. Graham on Github:

Graham is a co-author on several published papers. He lives in Merced, CA, and has a 2-year old kid.


Link to paper:

Nostalgic for the 18 jobs I had

29 Apr

I love this thing on Twitter where people share what jobs they’ve had! For example, I love knowing that Maria Orive worked at McDonald’s (just like me). I also love knowing that Dmitri Petrov used to work as a taxi driver or that Natalie Tellis worked as a cashier.

The meme is about sharing five jobs you’ve had, but it makes me nostalgic about all the 18 jobs I had when I was in school, in college and after college.


I started working summer jobs when I was 12 or 13. I don’t think we needed the money, but in my family, it was considered normal to work in the summer. My first job was peeling tulip (and other) bulbs, because I lived in the bulb area of The Netherlands. These agricultural jobs were available for 12, 13 and 14-year-olds while you had to be 15 for most other jobs like working in a supermarket. So, during several weeks in the summer, I would take my bike early in the morning and ride to one of the farms near the coast, often together with my older sister. We’d work all day getting paid per crate of bulbs peeled. We worked hard and got blisters on our hands. Occasionally, my mom would come to say hi and maybe work with us for an hour or so. Even though we were pretty good at this job, my mom was much faster, because she did this work throughout her youth on her parents’ farm each summer. She would sometimes remind us that when she worked in the summer she wouldn’t get paid unless all the work on their farm was done and she and her siblings had time left to work on other people’s farms.

These first summers that I worked, the money I made would be split 50-50. I had to use half of it to buy my school supplies and the other half I could spend however I wanted. From early on I spent my money on trips. We’d take our bikes or the train and go camping for a few days easily spending the money we had earned.

Later when I was 15 or 16, I had other jobs. One summer I worked in a nice supermarket in our town, mostly behind the bread or cheese counter, which I really liked. Sometimes I had a job just for the two-week Christmas break. I remember one winter I worked as a cleaner in a small pharmaceutical plant in a nearby town. I hated it. For a while, I also cleaned the local table-tennis clubhouse on weekends with a friend.


The summer before I went to university I had a job in an industrial laundromat where they washed sheets and towels from hotels and homes for old people. The work was monotonous but not hard. It was fun to see the machines fold towels. I had never realized that there were machines that did that! We also folded some of the towels by hand, and I still fold my towels the way I was taught there. I was one of the few high school students who worked there that summer and I remember having to explain why I would want to leave town to go to a university somewhere else. I found it hard to imagine why someone would want to stay.


My first year at university I spent in Aberdeen, Scotland, which was a foreign country for me but part of the EU so I could easily study there. If I remember correctly, I paid almost no tuition fees. I was supported by my parents who would each send me money every month and by the Dutch government. I also wanted to find a job but my English was not very good and the only job I was able to get was at McDonald’s. Because of my bad English I usually mopped floors and emptied the trash. On good days, I was allowed to fry fries in the kitchen. It may be hard to believe, but I didn’t mind the job at McDonalds and I enjoyed learning how a fast food restaurant works. At McDonald’s I met people who needed two jobs to pay the rent and buy food for their kids. I didn’t know that was possible. Later that year in Scotland I worked in a store that sold cookies and I waited tables in a cafe that served traditional greasy food prepared by a cook who smoked while she cooked.


After a year in Scotland I went back home to The Netherlands and enrolled at the University of Amsterdam. I don’t remember what my first job was back in The Netherlands, but I slowly moved on to doing some more interesting jobs. I worked in a supermarket again, this time as a cashier. I was also a receptionist for a while at the school where my mom worked (by then as a principle). The school was a kind of community college that mostly taught Dutch as a second language to immigrants. One of the things I learned the first day on the job was that I could never give any information about any student to the police. The school’s policy was that everyone, even those considered “illegal” in the country, should be able to learn and feel safe at school.

I got a job selling newspapers on the phone, cold-calling people to ask if they wanted to receive a newspaper for 3 weeks for almost no money! This was early in the telemarketing boom and most people still answered the phone. The job was okay, and I was quite good at it. It was nice that my younger sister was doing the same job and we sometimes worked the same shift and went home together afterwards.


I also worked for a while in an office of a start-up that sold data about events – like how many people came to a festival and what age groups were represented – to people who wanted to advertise at those events. I liked data even then and seeing that someone could make money off of collecting and selling data was intriguing. Previously, I had worked for the Department of Biology analyzing student evaluations of classes in Excel. It was fun to learn to use Excel and later it turned out to be a useful skill that most students didn’t have at the time. I also created a brochure for the Department of Biology with short stories about all of our full professors. I don’t think it really registered with me at the time that only one of them was a woman. It was really exciting that I got to talk to all these professors, the photographer, the designer and the printer! I still have a copy of that brochure.


I liked traveling, but going places costs money. I held a job for a while at a company that organized outdoor adventures. This meant driving to Belgium to the hills and the forests (Ardennen) and preparing activities for groups of school kids or teams from a company who would arrive the next day and then working with these groups for a day or two. I really enjoyed the hikes, the camping and the kayaking. One year I went on a trip to Israel and handed out flyers for a hostel in exchange for a place to stay. I also got paid one summer to map out hikes for tourists on a Greek island.


The only jobs I had with a clear relevance to my current career were the teaching jobs I had at the University of Amsterdam. I was a TA many times for a mathematical biology class and a biostatistics class. I liked those jobs and they made me feel like I was part of the department. I was often teaching together with some very good friends. One of them later became one of the co-founders with me of a start-up. She now works as a math teacher and we still hang out together.


When I dropped out of my first attempt to do a PhD, I needed a job again to pay my rent.  I ended up being a bartender at the best jazz club in Amsterdam, Het Bimhuis. I mostly made cappuccinos or poured beers for the people who arrived early for an 8PM concert, and then I got to enjoy some jazz. I felt a little out of place here because I knew almost nothing about jazz and nothing about alcohol. But I liked the music and it paid the rent for a while in the fall of 2001 until our start-up started making money early in 2002. In 2003, I became a PhD student again and I have been employed by universities ever since.


The Code Lab visits Tel Aviv!

8 Apr

In February, 10 of us from the Code Lab visited Adi Stern’s lab in Tel Aviv, Israel. It was stressful to organize the trip (filling out so many forms, waiting for permission, finding reasonably priced tickets…), but now that we’ve done it I think it was totally worth it. The trip was really good for the lab and for our research. We are grateful to NSF for funding the trip (as part of a collaborative grant between the two labs), to everyone in Adi Stern’s group for hosting us and to the folks at SFSU who helped us (and are still helping us) with the administrative side of this trip!

Here are the best things from the trip:

1. We bonded as a lab!

Emily: One of the things I enjoyed the most about our trip was getting to know and meet people. There are many different individuals in our lab who I don’t know very well and this trip was a great opportunity to spend time with them!

Anjani: We were mostly together as a group during the trip and it made our bonding stronger than what we had when we left SFO.


Jasmeen, Anjani, Caroline, Geo, Stuart, Ryan (all SF)

2. We got to know our current and future collaborators from Tel Aviv and learned about their research.

Caroline: One thing I really liked about the trip was how welcoming and organized the Stern lab was even though we arrived sooner than initially planned. I got really excited seeing the HeLa cells and hearing about the different projects revolving around them. Olivia: I really enjoyed talking to Talia about her research on the Tilapia virus. This virus is found in both wild and farmed tilapia. I found the questions she was asking interesting because it affects people all over the world.

Ryan: Everyone was very cool and super nice.  


Caroline Solis (SF), Talia Kustin (Tel Aviv), Moran Meir (Tel Aviv), Anjani Pradhananga (SF), Jasmeen Kaur (SF).

3. We presented our work and got useful feedback.

Olivia: Sometimes it feels like I haven’t been able to finish or see a product, but I used my old poster that I had created for the COSE showcase (…) and found that I actually accomplished the aims/next steps. It was a nice feeling to learn that I have done something as I was updating my poster.

Kaho: I really enjoyed talking to Adi, Maoz and Sherry about research. The discussion we had was helpful and gave me clearer directions for the next steps of my research, and it was great to find out we have such cool collaborators!

Ryan: I also loved meeting the Tel Aviv lab because it made me see out research, not only from the dry lab perspective, but also from the wet lab side too.


Oded Kushnir (Tel Aviv) and Ryan Winstead (SF) look at a poster.

4. Visiting new cities and a foreign country

Emily: I was glad to see that Tel Aviv had a vibrant and openly queer community.

Getting to see the historical sites was equally important to me. Though I am not a fan or organized religion, (…), I learned many of the stories from the old and new testament, so seeing the actual places where they occurred was really cool. My grandma would have been so happy to see my pictures and hear about everything, and though she is gone now, she was in my heart the whole time.

Ryan: At first, I was very nervous about traveling so far from home. However, as soon as I was on board the plane, I felt excited about it. Tel Aviv was an amazing city and seeing it and the university was rewarding.


The Code Lab with our Tel Aviv guides Danielle Miller and Omer Tirosh from the Stern Lab. Clockwise from Anjani (taking the selfie), Caroline, Olivia, Geo, Emily, Danielle Miller, Omer Tirosh, Ryan, Stuart, Jasmeen, Kaho.

5. We enjoyed the food!

Stuart: Trying out new foods and deserts were a blast at dinner.


Shakshouka is a dish of eggs poached in a sauce of tomatoes, chili peppers, and garlic, commonly spiced with cumin, paprika, cayenne pepper, and nutmeg.

What we didn’t like as much

There were only a few things we didn’t like. Some of the students had never had a jet lag before and they hated it. We also didn’t like when we felt cheated by taxi-drivers or bartenders and we were sad to see and feel the tension between different groups in Jerusalem. One thing that we’ll keep in mind for our next trip is to schedule more time for the posters.

But all in all it was a fun, interesting and memorable trip!


The Code Lab and the Stern Lab. Front: Pleuni Pennings(SF), Yaara Ben Ari (Tel Aviv), Gal Goldman (Tel Aviv), Jasmeen Kaur (SF), Kaho Tisthammer (SF), Adi Stern (Tel Aviv), Tal Zinger (Tel Aviv), Olivia Pham (SF). Standing: Danielle Miller (Tel Aviv), Sherry Harari (Tel Aviv), Talia Kustin (Tel Aviv), Maoz Gelbart (Tel Aviv), Oded Kushnir (Tel Aviv), Caroline Solis (SF), Ryan Winstead (SF), Stuart Castaneda (SF), Anjani Pradhananga (SF), Geo Pineda (SF), Emily Fryer (SF)


The magic 8 ball in Python

28 Feb

When different people go into computer science, different tools will be built!

Maybe you have heard of the Tampon Run game? Tampon Run is a game that was built by two teenage girls who learned coding in a summer program. Obviously, you are more likely to get computer games about tampons when women or girls build games then when men build games! This is just one reason why we need more diversity in computer science.

In my Intro to Programming class last semester, students could make a video as a final project. Natasha Crawford, Destinee Lanns and Niquo Ceberio are Master’s students in the Biology Department at SFSU. As their final project, they made a video about a a computer program that works like a Magic 8 Ball. They ask: “Will my boyfriend propose to me?”


Niquo told me that she got the idea for the Magic 8 Ball program from her mom who used to have a Magic 8 Ball a long time ago. Now she can use the Python version!

In the video, Niquo, Destinee and Natasha first explain how to use the Python Magic 8 Ball. Then they go on to explain how they use strings and functions in the program.

I love love love how they created this program and made a video about it. They connected the CS class to things that are important or fun to them and with an audience in mind that is probably young and female.

I hope you enjoy the video and share it with a budding coder in your world.

Wu and Watterson’s Theta*?

10 Feb

If you are doing population genetics, you probably heard of Watterson’s theta.
The paper where Watterson introduced theta is a classic. It is cited more that 3000 times.

Even if Watterson (1975) was a single-author paper, Watterson wasn’t working alone on this project. In the acknowledgments he says “I thank Mrs. M. Wu for help with the numerical work, and in particular for computing Table I.” In a similar situation in 2019, she would have likely gotten co-authorship on this paper and a PhD after a few papers. We would all have known the paper as Wu and Watterson (1975).

Screenshot 2019-02-10 16.04.53

I only know this story because a group of researchers from SF State and Brown University, including my amazing friend and office neighbor Dr Rori Rohlfs, did a study on “Acknowledged Programmers.”

Professor Margaret Wu

Margaret Wu was a programmer in the 70s, at a time when programming was often a job for women. She didn’t get authorship on Watterson (1975) and other papers she worked on, but much later, she did get a PhD and became a very successful professor.

If you would like to learn more about Margaret Wu, have a look at this insightful interview:

Here is a video with her about the PISA rankings for countries’ educational systems: .

Paper and video on acknowledged programmers in theoretical population genetics

If you’d like to read more on acknowledged programmers in theoretical population genetics, have a look at the paper by Rori Rohlfs, Emilia Huerta-Sanchez and their students Samantha Dung, Andrea López, Ezequiel Lopez-Barragan, Rochelle-Jan Reyes, Ricky Thu, Edgar Castellanos and Francisca Catalan.

Plus!!! They made a really neat video about their project:


Here is a picture with most of the authors of the Genetics paper.


Authors of the paper in Genetics on Acknowledged Programmers: Illuminating Women’s Hidden Contribution to Historical Theoretical Population Genetics, Dung et al 2019.


* “Wu and Watterson’s Theta” was suggested by Tim Downing in a tweet.

Sequential evolution of HIV drug resistance against two-drug treatments

1 Feb

Together with Alison Feder (UC Berkeley), I am writing a paper about the history of HIV drug resistance evolution. In the paper, we focus on triple-drug therapies and we decided to leave out a nice story about two-drug therapies. It’s one of those cases where I really like the story and the data, but it just doesn’t fit in the paper we are trying to write. So, here it is, not peer-reviewed, not even on the BioRxiv, just on my blog.


Based on data from Picard et al 2001. Viral populations in patients acquire 3TC resistance first and AZT resistance later when treated with AZT and 3TC.

In 1987, the first RT inhibitor for treatment of HIV was FDA approved: zidovudine or AZT. Its claim to fame is mostly that it didn’t work. The virus became resistant quickly in almost every patient. In the first half of the 1990, other RT inhibitors were approved: DDI, D4T and 3TC. Now it was possible to combine drugs in two-drug (and even 3-drug) combinations. I want to focus here on the two-drug combinations.

One combination that was used was 3TC+AZT. HIV needs two mutations to become resistant to both drugs (there is no single mutation that makes the virus resistant to both).

Prediction: double mutants take over

Evolutionary biologists who were working on HIV drug resistance at the time predicted that drug resistance would evolve easily against these two-drug treatments (Ribeiro et al 1998), and this was indeed what happened. However, the reasoning for their prediction doesn’t hold. Let me explain. They made their prediction based on ideas about mutation-selection balance: with a large enough population size and high enough mutation rate, they expected that double mutants would be present as standing genetic variation in all patients. Therefore, they predicted that doubly resistant strains would take over the viral populations quickly. However, if we look at data from patients in clinical trials, this is not what we see happening.

What do the data show?

The dynamics of acquired drug resistance among patients on 3TC+AZT is evident from clinical trial data. In a study from 2001 (Picard et al, JID), all 21 patients treated with 3TC+AZT had developed resistance to 3TC (but not AZT!) after 24 weeks of treatment (see figure). By week 48, half of the patients who were still in the study had also acquired various AZT resistance mutations. Similar results were reported in another study (Larder, Kemp and Harrigan, 1995): after 8 weeks, 95% of patients were 3TC resistant (M184V), but none were AZT resistant. However, after 24 weeks, 25% of the patients had AZT resistance as well. In both of these examples, drug resistance mutations were fixed sequentially, with 3TC resistance arising before AZT resistance.

Two surprises

So, while the predictions based on evolutionary theory predicted rapid spread of double mutants, what we saw was first, the rapid spread of a single mutant and later, the spread of the second mutant on the background of the first. There are two surprises here. First, there is the surprise that the double mutant was not present as standing genetic variation in most patients (I think this is because early pop gen papers on HIV overestimated the effective population size of HIV), and second, there is the surprise that it was possible for a single mutant to spread in the face of two-drug treatment. We think that this last phenomenon has to do with the existence of compartments in the human body (Moreno-Gamez, 2015), where some drugs do not penetrate in all compartments. The drug that has the best penetration into compartments like the brain or the lymphatic tissue is therefore vulnerable to drug resistance evolution when it encounters the virus without the support of the second or third drug.

Take-home message

A model that makes the correct prediction may still be wrong.

Thanks to Sarina Qin for making the figure for me!


Larder, B. A., Kemp, S. D. and Harrigan, P. R. (1995) ‘Potential mechanism for sustained antiretroviral efficacy of AZT-3TC combination therapy.’, Science (New York, N.Y.). American Association for the Advancement of Science, 269(5224), pp. 696–9. doi: 10.1126/SCIENCE.7542804.

Moreno-Gamez, S., Hill, A.L., Rosenbloom, D.I.S., Petrov, D.A., Nowak, M.A., Pennings, P.S. 2015. Imperfect drug penetration leads to spatial monotherapy and rapid evolution of multi-drug resistance. PNAS. (22 citations)

Picard V, Angelini E, Maillard A, et al. Comparison of genotypic and phenotypic resistance patterns of human immunodeficiency virus type 1 isolates from patients treated with stavudine and didanosine or zidovudine and lamivudine. J Infect Dis. 2001;184:781–784.

Ribeiro RM, Bonhoeffer S, Nowak MA. The frequency of resistant mutant virus before antiviral therapy. Aids. 1998;12(5):461–5.