Inspiration
The origin of life has long intrigued scientists. One popular hypothesis is that of an RNA world, where life consisted of just RNA molecules replicating themselves. We want to figure out what patterns will emerge from this process.
What it does
We built a simulation that takes in an RNA sequence and uses a substitution matrix to duplicate RNA iteratively, each time with the possibility of mutation. To account for limited replicative machinery, a maximum number of RNA molecules can be replicated at any iteration. It outputs the average number of generations required to mutate into a target RNA as a function of the initial RNA length.
How we built it
After doing extensive reading, we started by just building a simple simulation where each nucleotide of a sequence of RNA has some probability of mutating into some other nucleotide. We then gradually implemented additional features that took into account real-world probabilities, RNA degradation, and a cap on the number of RNA that can be replicated at any iteration.
Challenges we ran into
It was hard to get an algorithm that would run reasonably fast, but eventually, we managed to fix inefficiencies. We ran out of time to produce graphs that demonstrate the ability of our model, but preliminary tests show that it works.
Accomplishments that we're proud of
We managed to produce a functioning algorithm that includes several details of RNA replication and the limited replicative resources of the real world.
What we learned
There are several complexities associated with simulating how populations of RNA change over time.
What's next for Simulating RNA Evolution
Several factors could be improved upon, like the analysis of structural patterns and functions. We also built an algorithm that calculates entropy of a sequence, so perhaps we could make a graph showing how entropy changed over time.
Log in or sign up for Devpost to join the conversation.