Day 4: A Problem

Today at BGSU I went to a class about data science articles that Dr. Zirbel is teaching for the new data science PhD program at BGSU. For this class, we read and discussed articles in the still-emerging field of data science, which includes machine learning. At this session, we were talking about a paper written last year in which the researcher developed an algorithm to flag insurance claims as fraudulent for a Spanish insurance company. The discussion was very interesting because while the article showed promise with its results, it was very inconsistent in its terminology and barely described its methods. For example, it mentioned that it had ~1400 numerical variables extracted from each insurance claim, but no further information. Additionally, their method involved using principal component analysis to reduce the number of variables to only ~300, but this was also confusing, because there was nothing that suggested the variability in the principal components made it easier to distinguish fraud.

Anyway, we also talked about the RNA research and possible directions to go with that, and I’m beginning to get an idea for the specific problem I want to explore. While we were discussing the TSP for finding path lengths, we were looking at heatmaps and we found some were missing discrepancies between RNAs. Dr. Zirbel was wondering if you could write an algorithm, that chooses what distances to compute, that approximates the solution in n log (n) time. This is very difficult, because balancing accuracy and time constraints is very complex. I found a few papers that address somewhat similar problems, so I think tomorrow I will read those and try and develop an intuition.

So far, attending graduate classes has been very fun, and I also really enjoy thinking about the problems we’ve discussed and how they have very direct applications.

Day 3: Fast Algorithms

Today, I attended two of Dr. Zirbel’s graduate classes as well as worked on the greedy insertion algorithm used in the RNA heatmap generator.

The first class I went to was a probability class, and we reviewed probability spaces and probability measures during the first class. For someone who had never taken the prerequisite class, it was useful to see concepts that I have been able to intuit formalized in mathematical definitions. I am excited for the next classes when we will begin discussing more complex topics.

I also went to the pedagogy class, which was interesting to be at because many of the graduate students taught their first class today, so we got to hear from them about how that went. From what was said, everything went pretty well! It’s nice to look at things from the perspective of a teacher, because it makes you appreciate the little things that you barely notice that help you understand something.

I also worked today on the greedy insertion algorithm implementation for the RNA heatmap generator. Greedy insertion is a heuristic for finding the shortest path between a set of points where the distances are known. Essentially, you pick a random order of the data points, and connect the first two points. Then, you evaluate all of the possible ways to insert the 3rd point, and then choose the way the results in the shortest path. Repeat this for every point in your data set, and you have the full algorithm. The RNA site uses this algorithm to sort different 3D structures and motifs based on their discrepancy, which is the distance.

I took the existing implementation, which was written in Python, and converted it to C. Without any further optimization, I was able to get it running around 70 times faster! I hope to continue optimizing it tomorrow by moving more of the code onto the C side of the program.

I’m also excited to start working on some new problems tomorrow, as well as attend Dr. Zirbel’s introductory machine learning class.

Day 2: Academia

In this post, the second before I begin cataloging my daily activities, I’ll talk about the academic side of my experience at BGSU so far.

While I have participated in a variety of activities during my three days at the university, one particularly important one was the pedagogy class the Dr. Zirbel is teaching to the math/statistics graduate students. The pedagogy class is essentially a class that helps the graduate students who are themselves teaching undergraduate math. Most of the graduate students are teaching subjects like calculus, precalculus, and introductory statistics. This was an interesting class for me to be a part of because it examines math from the angle of relaying something you already know to somebody who doesn’t know it as well. In the first session, each of the graduate students gave a 10-minute mini-class, and we discussed how they taught afterward. It was interesting to see how important it is to make sure things are labeled clearly, and the drawings on the chalkboard flow nicely– things you normally don’t think about when you’re being taught. On the second session, we did an activity where, in pairs, one person had to describe a picture, and the partner had to replicate it. It was difficult, but it illustrated the difficulty with teaching very well: how do you transfer your understanding of a very abstract idea to somebody else?

I also went to some miscellaneous meetings over the week. One import one was the 2019 welcome meeting for the faculty and staff. It was exciting to see all of the new and returning professors and staff in one place– there were lots of people from all over the country and the world, all studying different subjects. I also attended a meeting between Dr. Zirbel and one of his graduate students, who was working on a very interesting subject: the sum of the signum of sinusoidal functions at discrete steps. There were many very interesting questions we discussed: how does it behave for rational frequencies? Irrational frequencies? What happens when you plot the sum as a function of the frequency and not the number of steps taken? Although we didn’t arrive at anything clear cut, we definitely found some neat ideas.

Beginning on Monday, I’ll be back at BGSU, and I’m excited to continue going to graduate classes in mathematics as well as working on problems like the one I discussed above and RNA problems.

Day 1: Getting Acquainted

Welcome to my independent study for the fall of 2019! During this independent study, I will be shadowing Dr. Zirbel from BGSU, working on the RNA research he does, attending his graduate classes, and working on various problems.

The first two posts of this blog will be a little out of the ordinary because I spent three days before school started at BGSU, but the first two actual days of school at MV. For these two posts, I’m going to summarize what I’ve been doing at BGSU, because my activity at MV has mostly been reading papers. For the first post, I’ll talk about the actual mathematics I’ve been involved in. In the second post, I’ll discuss the classes and the academic experience.

We’ve mainly focused on the RNA research and the graduate program. His RNA research is centered on the 3D structure of RNA molecules, which determines how they function on a chemical level. After the information contained in DNA molecules of a cell is transcribed into RNA molecules by an enzyme, those RNA molecules (called mRNA) make their way to ribosomes, which translate the information encoded within the RNA into functioning proteins. During this process, the mRNA interacts with tRNAs, which transport the amino acids that make up proteins, and rRNA, which form part of the structure of the ribosome.

The mathematical angle on this subject is the idea of discrepancy between the 3D structure of different molecules of RNA between different species. It’s useful to find the differences between many similar molecules of RNA and plot their relative similarity/dissimilarity in a heatmap because it enables you to track the divergence/convergence of structure between the evolution of different species. This is useful, for example, to figure out how different cells will respond to antibiotics: most antibiotics work by binding specific sites of rRNA in bacteria, inhibiting the synthesis of protein and thereby harming the cell. To explore the potential of a new chemical as an antibiotic, or discovering the change that grants antibiotic resistance, comparison of RNA structure is very important.

As for my work on this project, I am starting out by converting some of the code the server uses to interpret the 3D data that is released weekly from Python to C. Python is a great high-level language, but it is interpreted as opposed to compiled, so it doesn’t lend itself well to computationally intense tasks. C, on the other hand, is extremely low level and is compiled, so it is great at performing numerical calculations. Therefore, it makes sense to move the heavy lifting from Python to C, while retaining the higher logic in Python due to its human readability and smaller performance penalty.

Overall, getting started on this project has been very exciting, because it combines biology and math. I hope to continue working on expanding/optimizing the capabilities of this project in the coming weeks.