lorenzo-rovigatti / oxDNA

A new version of the code to simulate the oxDNA/oxRNA models, now equipped with Python bindings
https://dna.physics.ox.ac.uk/
GNU General Public License v3.0
38 stars 26 forks source link

oxDNA analysis tool: duplex angle plotter #104

Open AdaABen opened 1 month ago

AdaABen commented 1 month ago

Hello, i wanted to ask some information regarding the duplex angle plotter tool and how the angles are defined. when I get the output file, it is not really clear to me how to interpret the numbers I get. thank you in advance for any reply!

ErikPoppleton commented 1 month ago

The duplex_finder script produces a trajectory file which lists the duplexes present in each step of a trajectory. Each duplex contains the start/end particle ids of the two complimentary strands, a unit vector corresponding to its orientation, and the start point of the duplex. The duplex_angle_plotter script takes this file and particle ids as arguments and plots the angle between the vectors for the duplexes containing the given particle ids. Previously, you could only provide the end particle ids for plotting, but within the last few months, I changed it to work with any particle within the duplex. This helps with the “representation” number, which tells what fraction of the trajectory that pair of duplexes was found in.

Does that help?

AdaABen commented 1 month ago

Thank you for your kind reply. I have another question. Is there a way to calculate the azimuthal angle between specific pairs of nucleotides using the existing tools or some other tool? Additionally, what is the best method to distinguish these angles and determine the direction of their deviation?

ErikPoppleton commented 1 day ago

Sorry for the delayed reply.

No, that is not a script that I have made. If you end up writing something and think that it is general enough to include in OAT, I would be happy to consider a pull-request.

As far as direction of deviation goes, you will need to specify some sort of fixed reference frame based on the overall structure. I would start by using oat align to align the whole trajectory, and then you could, for example, use the orientation of the first duplex in your structure, or if your structure has an obvious axis, use that as your reference to distinguish the direction of deviation.