Measuring the 'complexity' of a riboswitch

  • 1
  • Question
  • Updated 2 years ago
I was wondering if somebody could point me towards some relevant literature about the subject of structural complexity and methods of measuring that complexity for a 2-dimensional string, similar to say, the secondary structure of an RNA molecule folding in on itself. Right now, I'm trying to write some code for measuring the 'distance' a nucleotide travels as it switches along a 1-dimensional string, and I have a very basic implementation at the moment, but it works by determining the change in base-pairing position for a residue, essentially describing the number of "steps" the base takes as it moves up and down the polymer chain. As an example:

The X-axis is the position of a residue that "switches", and the y-axis is the change in position along the polymer chain.

Sequence:AUCCGGCGUGUAGGAUAUGGAUCCGAUUAGGAUCCAGAAGGACAUGAGGAUCACCCAUGUACAUGUAAACAGUCAUCACCGGACAAAAA
Model: ViennaRNA2

This basic implementation has two problems though. The code describes the change in position from the complementary paired base of the residue in both states. However, it doesn't calculate information on bases that go from paired to unpaired, or vice versa, and it also doesn't calculate the change of relative position for an unpaired residue that may move from one helix to another, but doesn't base pair with anything. In addition, it also doesn't take into account the circular nature of these linear chains, such as multiloops.

Granted, I have a plan to fix (some of) this, by assigning all residues a relative position along the chain. Which would then give a relative change in position for all residues. In the end, if none of this is particularly useful for anything, it should probably make for a cool plot of a couple thousand designs on top of each other to see where all the non-switching regions are.
Photo of Brourd

Brourd

  • 437 Posts
  • 79 Reply Likes

Posted 2 years ago

  • 1
Photo of Omei Turnbull

Omei Turnbull, Player Developer

  • 966 Posts
  • 304 Reply Likes
I don't have any pointers to the literature, but I am interested in what you are attempting.  Could you add a screenshot of the two states for the design you have graphed?  It will make it easier to understand the graph.
Photo of Brourd

Brourd

  • 437 Posts
  • 79 Reply Likes
Here is an image of the secondary structures of the sequence with ViennaRNA2 as the parameters.
Photo of Omei Turnbull

Omei Turnbull, Player Developer

  • 966 Posts
  • 304 Reply Likes
Can you turn on base numbers?
Photo of Brourd

Brourd

  • 437 Posts
  • 79 Reply Likes
Yeah! :)
Photo of Omei Turnbull

Omei Turnbull, Player Developer

  • 966 Posts
  • 304 Reply Likes
Thanks.  This does seem like it highlights aspects that I haven't seen emphasized before.  It seems like a promising line of inquiry, even I can't yet see exactly how it will be helpful.

Couple of thoughts:
  1. The graph for the stretch of bases 69-76 don't appear to match your verbal explanation, i.e. they are paired in state 1 but not in state 2, yet they appear on the graph.  Perhaps I am mis-reading your explanation.
  2. Have you tried plotting the distance as a signed number, as opposed to the absolute value?  That would add additional information to the graph, but I don't know that it would be helpful.
Photo of Brourd

Brourd

  • 437 Posts
  • 79 Reply Likes
Well, ideally, you can probably identify "switching" elements based on the height of the curves and its slope, not to mention that there could be some interesting statistics that you could pull out of it. For example, a larger peak may indicate a base moving from a multiloop helix to a hairpin, and the slope could indicate length changes in helices.

1. Yeah, I must have messed up somewhere in the code that generates the distance,given it should only be pulling indices from bases that are complementary pairs in both states. It looked good on first glance, so I'll need to fix that once I finish the relative indexing.

2. Plotting the signed values will give you the direction of movement(5' or 3') which could be interesting as well.
Photo of Brourd

Brourd

  • 437 Posts
  • 79 Reply Likes
Granted, this example here is circular anyway, so the true distance is kind of fuzzy. I aim to implement a system where 'static' elements are given a single distance of 2 (for their closing basepairs) but I'd like to complete the linear model first.
Photo of Brourd

Brourd

  • 437 Posts
  • 79 Reply Likes
So I took a look at the code,and I didn't have a filter for what I thought the code was doing. Rather, it makes a comparison of base pairs indices, and then returns the index value when it
is used as a location in the polymer. It returns 0 for unpaired bases, which kind of mucks up the result. If my computer is working, I'll make an exception in the for loop, and generate a graph similar to what was stated before, but it should be mostly similar.
Photo of cynwulf28

cynwulf28

  • 80 Posts
  • 22 Reply Likes
Though I don't think it would work as a strict analog, perhaps the mathematics behind "knots" and "pseudoknots" could prove as an avenue to finding what you seek. 

     Here is a link to the type of paper one might find in this field of study: https://arxiv.org/abs/1305.6596 
Photo of Brourd

Brourd

  • 437 Posts
  • 79 Reply Likes
Well, that was rather interesting, if not really what I was looking for :)

Currently, the goal is less about topological complexity, which can't really be derived from the predicted secondary structure for a sequence, and more about complexity in the sense of terms like those described here https://getsatisfaction.com/eternagame/topics/generation-of-riboswitch-design-statistics.

Granted, I have some interest in topological complexity unrelated to the question in this post, so perhaps this could be of some use in the future.