Comments (12)
It is now part of the main release (https://github.com/BradyAJohnston/MolecularNodes/releases) if anyone would like to try it out. I am yet to write documentation for the oxDNA specific import, but it follows similar approach to the other data formats. If you would like to give Blender a try then I'd love any feedback anyone has about it.
from oxdna.
Okay thanks for all of the extra information everyone. I'm now correctly using the base_normal
and base_vector
to position the backbone and align the bases (previous videos was just drawing backbone through centre_of_mass
), so it now has the major & minor grooves as it should.
Am I correct that there are sometimes connecting segments, that don't have bases but are still part of the 'strand'? For the icosahderon example there are lots of long connectors that don't show any base information but you still use them in the simulations? I just want to know if I should be doing anything special with them. Again, unfamiliar with the data formats so thanks for answering all of my naive questions!
from oxdna.
Hi Brady, super excited to hear that oxDNA support is coming to Molecular Nodes! It will be super nice to now have to export to PDB when loading into Blender.
Probably the biggest thing to watch for is that there are two different topology files, the “original” one in which nucleotides are listed backwards (3’-5’), and the “new” one added in the last release which has a different format to enable DNA/RNA hybrid simulations and has the strands in the normal direction (5’-3’).
The other thing to note is that the positions recorded in the configuration file represents the center of mass of the nucleotide, the backbone and base sites are offset from the backbone based on DNA/RNA model and the a1/3 vectors.
You’ve probably already found it, but there is a documentation page on file formats. You also might find it useful to look at the topology parser for oxDNA analysis tools, which can be found here. The configuration parser, unfortunately, is in Cython and doesn’t deal with the backbone vs base sites, but you can see how we did it in oxView here (sorry it’s in Typescript).
from oxdna.
Hi @ErikPoppleton, thanks for the extra info! Yes I chatted to a number of DNA origami people at the Synthetic Biology Australia conference, and I figured it should be doable without too much trouble (managed to get it together over the weekend). I have so far just done the old style topology, but the new style should be straight forward to add as well. A question around this, will the trajectory be in the same 5' -> 3' as the newer topology? So the trajectory / topologies won't be usable with each other?
For the offsets from the centre of mass, are you saying that:
backbone_position = centre_of_mass - 1/3 * base_vector
base_position = centre_of_mass + 1/3 * base_vector
Then the base_normal
gives the rotation? I did go through the documentation page, but couldn't find anything about how the backbone / base is calculated from centre_of_mass
.
from oxdna.
Yes, exactly, nucleotides in trajectories and configurations are listed 3'->5' with old topologies and 5'->3' with new topologies. There is a script to convert between the two (utils/convert.py
). As for the documentation, note that the page linked by Erik contains the following information, which, if I understand correctly, is what you need:
from oxdna.
@lorenzo-rovigatti ah yes apologies, I had gone through the page but not realised that part was what I was after. Should be able to finish off the rest of the implementation.
The two different oxDNA1 / oxDNA2, is this for old / new topology system, or is this another spec?
from oxdna.
Hi Brady, another thing to whatch out is that strands can diffuse through the periodic boundary,
our python reader handles it in the following way https://github.com/lorenzo-rovigatti/oxDNA/blob/master/analysis/src/oxDNA_analysis_tools/UTILS/RyeReader.py#L426
Your video looks really cool!
from oxdna.
oxDNA1 vs oxDNA2 are 2 different force fields, new vs old topology is independent of the force field.
from oxdna.
Just to chime in, most people use oxDNA2, which features the major minor groove that your video (which btw is great!) seems to be missing. I think using the oxDNA2 positions makes the most sense.
from oxdna.
Additionally, are there some small trajectories that I could use for running unit tests? I've grabbed some .top
/ .oxdna
from the examples in this repo and oxdna viewer, but they all seem to be either start or final frames of the trajectories.
from oxdna.
Hi Brady,
Each base is a part of a DNA strand, but some bases are not part of a duplex (they are in a single-stranded region). When a structure is imported into oxDNA from CADNANO, a popular DNA nanotech design tool, the single-stranded regions are not represented there, and it might also result into some bases being far away from their correct physical position. Once the sturcture is relaxed and ran in oxDNA simulation, these nucleotides are assigned physically sensible 3D position and you should no longer see such long stretches. If you still do, there is some problem with the oxDNA configuration import.
As for the short trajectory, the RNA tile here could be a good one (it is in oxRNA, but close enough to oxDNA, format is very similar): https://github.com/sulcgroup/oxdna-viewer/tree/master/examples
Other option is to run the Holliday junction (also available in the examples) for 1 hour on oxDNA.org, and the trajectory should be short and sufficient to play with.
from oxdna.
Thanks @sulcgroup for the additional details! I'll run a short sim and use some frames for testing.
from oxdna.
Related Issues (20)
- Can a backbone connection be approximated with mutual harmonic traps? HOT 7
- [BUG] analysis/tests/test.sh missing files HOT 7
- How to devide the HB ENERGY into each DNA molecules HOT 2
- [BUG???] get_vectors_from_quat() different than ouldridge(2011, p.152) phd thesis and rapaport (1985) HOT 1
- > Thanks for the report! That’s a bug on my part but I won’t have a computer for the next few weeks. You can get around it by adding the line `use_average_seq = 1` to your input file. HOT 11
- [BUG] Insufficient Oxpy Cmake Error Message HOT 3
- oxDNA observable: radial distribution function HOT 2
- observable structure factor not found HOT 1
- [BUG] oxpy - FFS Simulation Type Fails to Log Correctly When Running Consecutive Processes HOT 1
- [BUG] Rye Reader method `inbox` does not move all points inside the box HOT 1
- Can't read configuration file from the examples [v3.6.1] HOT 2
- "Segmentation fault" when running oxDNA with an external force file on MPI. HOT 6
- oxDNA analysis tool: duplex angle plotter HOT 3
- [BUG] Build failure with cuda 12.5.0 HOT 1
- Compute energy without running the simulation HOT 2
- [DOCUMENTATION] Sequence Dependence of Cross-Stacking HOT 1
- [BUG] Installation Error when running 'make install' HOT 4
- [BUG] make install in python venv leads to error message HOT 12
- [Standard Relaxation Procedure] Clarification Needed HOT 3
- [BUG] Build Failure on HPC Cluster when enabling CUDA support HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oxdna.