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
42 stars 27 forks source link

[BUG] stuck during doing confGenerator with .top file that contains circular DNA #76

Closed atlan-yf closed 11 months ago

atlan-yf commented 11 months ago

Describe the bug I have tried using oxDNA to simulate DNA nanostucture designed by Tiamat 2, but the process stucked in doing confGenerator. There are no errors and warnings in stdout/stderr. The confGenerator outputs show that the progress stucked in the same percentage, no matter how many times I tried. Then I have tried to break the loop (circular DNA) in my design, and it works! I think that circular DNA might cause the stuck of confGenerator.

To Reproduce Create a Tiamat design with circular DNA, and put it into confGenerator, the progress will stuck.

Desktop (please complete the following information):

ErikPoppleton commented 11 months ago

Hi! ConfGenerator can't read Tiamat files. If you want to convert a Tiamat file to oxDNA format, you need to export it as a .dnajson file (File > export > select dnajson in the format menu) and then convert it with either TacoxDNA or the Taco icon in oxView.

atlan-yf commented 11 months ago

Thanks a lot for your reply!

I do converted the .dnajson file to .top file by tacoxDNA before I use the confGenerator command. What I am saying is that if the original Tiamat2 design contains a circular DNA strand, then after doing all the conversion, the confGenerator will stuck in a progress (for me, it's 78%) and never quit. But when I manually breaked all the circular DNA strands in Tiamat2 and turned them linear, after done all the conversion, the confGenerator will immediately complete.

I think that maybe some code in confGenerator is trying to read all nucleotides in that circualr DNA strand, but it can not detect the end of circular DNA (i.e. the 5' end), so the code may repeatly read the DNA, which causes the stuck of confGenerator.

lorenzo-rovigatti commented 11 months ago

Yes, you are right, circular strands are next to impossible to generate with confGenerator. This tool builds a configuration by inserting one nucleotide at a time, provided that its interaction energy does not exceed some predetermined value. It does so by placing nucleotides at random, close to its neighbours, so that bonds are not too overstretched. Unfortunately, this procedure makes it extremely unlikely to successfully generate a closed structure. While this is without doubt a bug, it's not something that can be easily fixed, and would require a much more sophisticated tool. I advise you to use better tools to generate initial configurations (such as oxview).