Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Netiquette · Download · News · Gallery · Homepage · DSSR · Web-DSSR · DSSR Manual · Reproduce DSSR · DSSR-Jmol · DSSR-PyMOL · Web-SNAP

Messages - xiangjun

Pages: [1] 2 3 ... 80
Thanks for such a well-phrased question! Yes, 3DNA/DSSR has some utilities that may help in achieving your goal.

4JVH.pdb (QKI) has the RNA ACUAACAA and I need to trim that to _ACUAAC because that lines up the best with YNCURAY.  The underscore needs to be the C or T and to do that I need 3DNA to add the C or T to the 5' end of the ACUAAC.

I assume the conformation of the 5' C or T to be added is not defined, i.e. it can be any (reasonable) starting geometry. You could use frame_mol to set the ACUAAC fragment from 4JVH to be in the base reference of the first A. You can choose any (or your favorite) CA (or TA) dinucleotide from the PDB, and use the same frame_mol utility to reset it to the base reference frame of the ending A. Since both the ACUAAC fragment and the CA fragment share the same A base reference frame, you can overlay them together. With some manual editing, you should be able to get an approximate starting PDB structure with required RNA base sequence for your MD simulations.

Have a try and let me know if it works.


Sorry for being late in responding to your follow-up post on June 22, 2018. I was on a trip to China for the whole month of June and slightly beyond, and I was constrained by my schedule and limited internet access.

Now back to your question, I am confused by what you mean by the following quantitative measures:

trying to classify structures as A ( 75-100 percent = A , 57/58- 75 percent = A-like , 43% - 58% = A to B)...
About 63 percent B so, B- Like...
9 percent A..?

The classification of a DNA dinucleotide step as A-, B- or TA-type is (mostly) based on Zp. See the 2000 A-DNA motif paper in JMB, and the 3DNA source code (ana_fncs.c) for further details.

Best regards,


Thanks, Mauricio, for chiming in and for your nice words about my early publications.

Quote from: Puru
I was wondering if there is a script , another way to classify the structures that I have compiled by A, B, AB, TA- type( which is done and seen on the forum)?

Could you please clarify your question, preferably with a concrete example?


Programs / Re: blocview
« on: June 20, 2018, 01:21:05 pm »
Hi Mauricio,

Nice to see you again on the 3DNA Forum!

I would also like to change the radius of the sticks representing the sugar-phosphate backbone bonds.

The default radius of the sticks is set via the r3d_atom -r=0.16 option in the blocview script. See the excerpt below:

Code: Ruby
  1.         # color nucleic-acid base/sugar by residue type
  2.         Utils.run_cmd("#{$x3dna}r3d_atom -ncz -r=0.16 tb.pdb #{$temp_r3d} #{$msg}")
  3.         Utils.append_r3dfile(opts[:r3dfile], $temp_r3d)

So you may change the radius 0.16 to your preferred value.

Alternatively (and preferably), you may want to give DSSR a try. DSSR has integrated blocview as a command-line option, and employes PyMOL for rendering. See the DSSR User Manual for more details.




You're welcome to post your code, with worked examples, to the section "Users' contributions". Your use case may be quite specific right now, from your perspective. Others in the community, however, could also benefit from your effort (probably in the long run). The 3DNA Forum could help build "an online community for DNA/RNA structural bioinformatics".

Best regards,


DBN is a simple, compact way to represent RNA secondary structure, as matched (),[], {} etc of canonical pairs (Watson-Crick and G--U wobble). The DSSR implementation of DBN follows the convention. DBN extensions that account for non-canonical pairs have been reported in the literature. No standard representation of such extensions exists, as far as I know.

In addition to non-canonical pairs, triplets and quadruplets (or higher, generally termed multiplets in DSSR) also exist in RNA, but they cannot be properly represented by DBN either. I'm generally in favor of keeping DBN simple in DSSR, at least by default. However, I'd consider expanding DBN by additional options, if necessary. I can be easily convinced by seeing concrete/worked examples.


Try running DSSR with the --h2o (or --water) option. For example,

Code: [Select]
x3dna-dssr -i=2gdi.pdb --h2o --get-hbond | grep X.HOH373

 1415  3572  #400   o    2.790 O:O OP2@X.G76 O@X.HOH373
 1427  3572  #407   o    2.836 N:O N7@X.G76 O@X.HOH373

By design, DSSR does not output H-bond between waters. So your item 2), i.e. the H-bond between X.HOH373 and X.HOH492, is not available. It should be straightforward to add X.HOH494 to the list, based on available info and a distance cutoff. You're welcome to contribute back your code/script with examples so the community could benefit from it.




Thanks for posting on the 3DNA Forum!

Could you elaborate on what you want to achieve specifically? Please use a concrete example so that I (and others) can better understand you.

Best regards,


Interesting observation. When you upload a structure from your local machine, it is first parsed by Jmol. The coordinates (which are smaller than the initial .cif file) are then passed to DSSR on the server. That explains your test case of 5afi.

Overall, the simple interactive DSSR-Jmol website is not designed to handle those large ribosomal structures.


Hi Shuxiang,

The ribosome structures 5afi and 5j4b are huge. In CIF format, they are 26M and 37M respectively, which exceed the 18M size limit. See the DSSR-Jmol paper. The relevant section is shown below.

DSSR web service

The web service is hosted at Columbia University, via a single-file PHP script that calls the DSSR command-line tool for back-end analysis. The DSSR web service runs independently of Jmol, and accepts atomic coordinates in mmCIF or PDB format. The service also takes a four-letter PDB id to automatically fetch the corresponding mmCIF formatted coordinate file from the RCSB PDB (20) (see the Supplementary Data). For an NMR ensemble, only the first model is analyzed by default. For X-ray crystal structures, the asymmetric unit is analyzed. The DSSR algorithm works for both DNA and RNA, either in isolation or in their complexes with proteins. The server has an 18MB-size limit for uploaded coordinate files. For DNA/RNA structures with <300 nucleotides, it takes DSSR less than one second to run (see Table 1 of reference (9)).

So what you observed is as expected. It is a documented limitation of the DSSR-Jmol website.


Hi Shuxiang,

The '&' symbol in DSSR-derived dot-bracket-notation (DBN) is a convention between DSSR and VARNA to signify different chains or breaks between different segments of the same chain. Other 2D viewers may not recognize it, as is the case for FORNA.

You could use the --dbn-break=no option to remove them, as documented in the DSSR manual (Section 3.16.12, shown below).

3.16.12 The --dbn-break option

By default, DSSR employs the symbol ‘&’ to separate multiple chains or
chain breaks in dbn, for compatibility with VARNA. By using
--dbn-break, one can choose any of the characters in the string
“&.:,|+”. For example, by running the following command on the
Dickerson DNA dodecamer [16] structure 355d, one would get a
whole-structure dbn composed of those from the two chains
connected by ‘+’:

x3dna-dssr --dbn-break=+ -i=355d.pdb

>355d nts=24 [whole]

With --dbn-break=no, no symbol will be used to separate different
chains or intra-chain breaks: for 355d, the dbn would be



Hi Mandar,

I am analyzing Z-DNA duplex (PDB ID: 1I0T.pdb) using 3DNA (v2.3-2017feb08) and Curves+ both. I have removed water and other molecule from PDB and only DNA coordinates are present. The input for Curves+ is generated using find_pair -c+ option.
3DNA command:
find_pair 1I0T.pdb stdout | analyze -c stdin
Curves+ command:
find_pair -c+ 1I0T.pdb curves_1I0T.inp
./Cur+ < curves_1I0T.inp
I have attached PDB file and both output files to the mail.

Thanks for providing the detailed commands you used and attaching the corresponding data files. I can reproduce your reported results from 3DNA (v2.3) and Curves+.

3DNA is working as expected for the Z-DNA structure (1I0T). For your reference, you could run the following commands:

Code: [Select]
find_pair 1I0T.pdb | analyze   # generate 1I0T.out
rebuild -atomic bp_step.par 1I0T-3dna.pdb
find_pair 1I0T-3dna.pdb | analyze   # generate 1I0T-3dna.out

Comparing the parameters in files 1I0T.out and 1I0T-3dna.out, you'd notice that they are virtually the same. See Table 3 of the 2003 3DNA NAR paper, "Root mean square deviation (in Å ) between rebuilt 3DNA models and experimental DNA structures", for A-, B-DNA, and a DNA-protein complex. Moreover, the simple relationships between step and helical parameters,  see equations 3 and 4 of the above mentioned 3DNA paper, still hold as for right-handed A- or B-DNA.

Note also that you do not need to remove water and other molecule from the PDB file for 3DNA to work.

I observed that the Shift and TIlt values for dinucleotide steps have similar values but exactly opposite signs. Also, X-displacement, Y-displacement, Inclination values are totally different (ignoring terminal base pairs) compared to 3DNA results.

This is a sharp observation. In my understanding (from the perspective of 3DNA), the opposite signs for Shift and Tilt values in Z-DNA are due to different conventions for base-pair reference frames between 3DNA and Curves+. The differences in helical parameters (X-displacement, Y-displacement, Tip, and Inclination) are a bit more complicated, but they are also directly related to the differences in base-pair reference frames. No right or wrong parameters here, just different results based on (maybe slightly) different underneath assumptions. It is up to the users to make their own choices.

In the future, it may be possible that 3DNA and Curves+ could reach an agreement on the analysis of Z-DNA structures or those with non-canonical base pairs. Since both 3DNA and Curves+ are open source, you're welcome to dig into the details of these differences and report back your findings. User-feedbacks are always welcome on the 3DNA Forum.

Hope this clarifies your confusions a bit.


Dear Mandar,

Thanks for using 3DNA and for posting your questions on the Forum.

The questions on differences between 3DNA and Curves+ for Z-DNA structures have not been asked before. Given the sample files you provided, I understand what you mean. I will look into the questions carefully. Since these questions are out of 3DNA per se and technical in nature, it may take me some time to get back to you.

Best regards,


The issues you experienced with "find_pair" have been reported many times (searching the Forum should give you some hints). The source of the missing or mis-assigned pairs is due to the irregularity of the structure under consideration. Some of the 'assumed' pairs are simply too distorted to be taken as a pair. Using your attached 'plus2.MD.traj.09.pdb' as an example, DA86 and DT587 certainly do not form a pair in any (canonical) sense -- see the attached fragment with DA86 and DT587 embedded.

In such cases, if you insist that nucleotides such as DA86 and DT587 should be taken as a pair, you can manually edit the output from "find_pair" as desired. You can think of the scenario where "find_pair" does not exist, and you have to prepare an input file with pairing info by hand.

The "analyze" program will follow strictly the pairing info as provided in the input file.


General discussions (Q&As) / Re: build a DNA triangle for Gromacs
« on: April 17, 2018, 11:43:22 pm »
Hi Luxuan,

Thanks for your interested in using 3DNA and for posting your questions on the 3DNA Forum. Is your DNA triangle a planar structure? Is it equilateral? What the length of each side? Are the three sides connected?

There may be tools (e.g., "AMBER NAB") that better fit your needs. 3DNA does not provide a command to directly construct such a DNA triangle. Nevertheless, 3DNA has some low-level facilities for applications like this. For examples, you could use the fiber command to build three straight helices (in B-or A-form DNA) of selected sequence. Using analyze, you can locate the positions of a regular helix. Combined with case-specific geometric operations, 3DNA may help lead to a bottom-up approach that is reproducible via a script.

Check "build dna bulges and extend dna duplex at both terminals via 3dna" and search the Forum for more applications.


Pages: [1] 2 3 ... 80

Created and maintained by Dr. Xiang-Jun Lu [律祥俊], Principal Investigator of the NIH grant R01GM096889
Dr. Lu is currently affiliated with the Bussemaker Laboratory at the Department of Biological Sciences, Columbia University.