Netiquette · Download · News · Gallery · Homepage · DSSR Manual · G-quadruplexes · DSSR-Jmol · DSSR-PyMOL · DSSR Licensing · Video Overview· RNA Covers

Author Topic: How to define rotation  (Read 27165 times)

Offline Tetiana

  • with-posts
  • *
  • Posts: 4
    • View Profile
How to define rotation
« on: March 23, 2015, 09:59:15 pm »
Hi,
Thank you for this great code which helps me a lot in my research!

My question is how to find the angle of rotation about z-axis to make the helical axis vertical in my pictures of DNA? (by rotation z -???)

Thanks

Offline xiangjun

  • Administrator
  • with-posts
  • *****
  • Posts: 1650
    • View Profile
    • 3DNA homepage
Re: How to define rotation
« Reply #1 on: March 23, 2015, 10:13:07 pm »
Thanks your kind words about 3DNA. To answer your question, please be specific: do you have a concrete example? Or do you have any figure in 3DNA publications you want to mimic?

Best regards,

Xiang-Jun

Offline Tetiana

  • with-posts
  • *
  • Posts: 4
    • View Profile
Re: How to define rotation
« Reply #2 on: March 24, 2015, 04:45:35 am »
Hi,
yes I have the concrete example (pdb file in attachments). I make pictures for my article. And I want all my structures to be with the vertical helical axis for the view. I use the script in win:

rebuild -block2 %1.par temp.alc
frame_mol -max -1,3 ref_frames.dat temp.alc temp2.alc
rotate_mol -r=rotz temp2.alc temp.alc
alc2img -al -s=18 temp.alc %1.ps

and I need to specify rotz file with "by rotation z "
How to calculate Z for my structures?

Offline mauricio esguerra

  • with-posts
  • *
  • Posts: 48
    • View Profile
    • http://mesguerra.org
Re: How to define rotation
« Reply #3 on: March 24, 2015, 05:03:59 am »
Hi,
You can try:

echo 'by rotation x 90' | rotate_mol -r=stdin first.alc rotated.alc

you can rotate along any axis, x, y, or z.

Hope this helps,

Mauricio

Offline Tetiana

  • with-posts
  • *
  • Posts: 4
    • View Profile
Re: How to define rotation
« Reply #4 on: March 24, 2015, 09:11:11 am »
Yes, I know that it is possible to rotate within any axis.. but I need to know/calculate an angle of rotation to make my pictures of DNA with the vertical (not bended) helical axis

Offline mauricio esguerra

  • with-posts
  • *
  • Posts: 48
    • View Profile
    • http://mesguerra.org
Re: How to define rotation
« Reply #5 on: March 24, 2015, 12:31:10 pm »
Hi,

Maybe the attached script will help.

This one is for doing a DNA with A conformation from the base-pair step parameters taken from the adna.par file.

It might be a bit convoluted and Xiang-Jun might have a better idea but it works to get the helical axis displayed perpendicular to the horizon.

x3dna_utils cp_std ADNA
##############################################
##  ADNA from fiber
##############################################
rebuild -base_p adna.par adna.pdb
rebuild adna.par adna.alc
rebuild -atomic adna.par adna.pdb
find_pair adna.pdb stdout | analyze stdin
frame_mol -max -2,12 ref_frames.dat adna.alc adnab.alc
alc2img -al -s=20 adnab.alc adnab.ps
alc2img -r adnab.alc adnab.r3d
echo "by rotation x 90" | rotate_mol -r=stdin adnab.alc adnac.alc
alc2img -al -s=20 adnac.alc adnac.ps


Offline xiangjun

  • Administrator
  • with-posts
  • *****
  • Posts: 1650
    • View Profile
    • 3DNA homepage
Re: How to define rotation
« Reply #6 on: March 24, 2015, 12:38:28 pm »
Code: [Select]
frame_mol -max -1,3 ref_frames.dat temp.alc temp2.alc
rotate_mol -r=rotz temp2.alc temp.alc
The "frame_mol" step already sets the view based on reference frames of bps #1 and #3. If you have several structures processed the same way, they should be directly comparable. So I do not think the rotate_mol step is necessary.

If you insist on "angle of rotation about z-axis", then you must define your z-axis as a vector in three-dimensional space. After "frame_mol", the 'global z-axis' is [0, 0, 1].

If I understand you correctly, you want to align your structure to the "global linear helical axis". The proper section for your sample structure is:

Code: [Select]
Global linear helical axis defined by equivalent C1' and RN9/YN1 atom pairs
Deviation from regular linear helix: 3.12(0.70)
Helix:    -0.056  -0.258  -0.965
HETATM 9998  XS    X X 999      -0.945   1.793   2.483
HETATM 9999  XE    X X 999      -1.305   0.132  -3.733
Average and standard deviation of helix radius:
      P: 8.44(0.65), O4': 7.14(0.31),  C1': 6.19(0.34)

Note you need to set "std_curved" (in file misc_3dna.par or via command-line e.g. "-std_curved=0.8") to larger than the default 0.6 to see the output of this section for the sample structure. You may also need to specify x- and y-axis.

I am in the process of upgrading 3DNA to v2.2 (with a user manual!), the final version in the v2.x series. If you are willing to work together, I will consider your use case as an example to implement a feature that works for you.

HTH,

Xiang-Jun
« Last Edit: March 24, 2015, 12:45:01 pm by xiangjun »

Offline xiangjun

  • Administrator
  • with-posts
  • *****
  • Posts: 1650
    • View Profile
    • 3DNA homepage
Re: How to define rotation
« Reply #7 on: March 24, 2015, 12:48:03 pm »
Thanks, Mauricio, for the detailed example! Hopefully it solves the problem Tetiana has.

Xiang-Jun

Offline Tetiana

  • with-posts
  • *
  • Posts: 4
    • View Profile
Re: How to define rotation
« Reply #8 on: April 03, 2015, 10:38:09 am »
Mauricio,
thanks a lot for your script
I tried it with my systems, but unfortunately I couldn't set my DNA with helical axes to be perpendicular to the horizon. 
So I just leave my my pictures as frame_mol does
Thank you for complicity
Bests!
 

 

Funded by X3DNA-DSSR, an NIGMS National Resource for Structural Bioinformatics of Nucleic Acids (R24GM153869)

Created and maintained by Dr. Xiang-Jun Lu, Department of Biological Sciences, Columbia University