Modernizing the 3DNA/DSSR Ecosystem: Welcome to Our New GitHub Home

Over the past two decades, the 3DNA and DSSR software ecosystem has grown alongside the structural biology community. What began in 2003 with the classic 3DNA suite has evolved into DSSR—our automated engine for dissecting the spatial structure of RNA—and most recently into wDSSR, our registration-free web platform for 3D nucleic acid analysis and modeling.

As part of our ongoing efforts under the X3DNA-DSSR National Resource (supported by NIH/NIGMS grant R24GM153869), we are transitioning our development workflow and community support to modern, open infrastructure on GitHub.


A New GitHub Organization: x3dna-dssr

We have centralized our software repositories, plugins, and web resources under an official GitHub organization:

https://github.com/x3dna-dssr

This organization serves as the primary home for:

  • wDSSR (Shuxiang Li): The official repository for our web interface, tracking front-end enhancements, feature roadmaps, and server releases.
  • DSSR-PyMOL: (Eric Chen and Bener Dulger) an integrated PyMOL plugin that bridges 3D structural analysis, stylized cartoon block modeling, and an interactive pure-Python RNA 2D layout studio. Powered by DSSR (Dissecting the Spatial Structure of RNA), the plugin allows structural biologists to explore, identify, select, and edit secondary/tertiary nucleic acid features seamlessly in real time.
  • Historical Source Code Archives: Preserving foundational codebases—including SCHNAaP/SCHNArP, 3DNA v1.5 (accompanying the 2003 NAR paper), and 3DNA v2.4—for long-term reproducibility.

Retiring the 3DNA Forum & Transitioning to GitHub Discussions

Since December 2011, the self-hosted 3DNA Forum (forum.x3dna.org) has been the primary venue for user support, troubleshooting, and scientific exchanges. Over nearly 15 years, our community has expanded to 5,918 members, generating 958 topics and 3,770 posts.

While the forum has served us well, maintaining a legacy Simple Machines Forum (SMF) board has become increasingly unsustainable due to broken SMTP email relays and relentless automated bot registrations.

To provide a modern, frictionless experience, community discussions and user support have moved to GitHub Discussions:

https://github.com/orgs/x3dna-dssr/discussions

Benefits of the New Discussion Platform

  • No Separate Registration: Anyone with a GitHub account can participate immediately—no manual account approvals or verification delays.
  • Reliable Email Notifications: Subscribe to threads or categories to receive immediate updates when someone replies.
  • Native Markdown & Formatting: Easily paste command outputs, syntax-highlighted scripts, and inline mathematical notation.
  • Seamless Screenshots: Drag and drop or paste images directly into posts to illustrate structural questions and bug reports.

The 3DNA Forum Is Now a Permanent Read-Only Archive

All 958 historical topics and 3,770 posts remain permanently online and searchable at forum.x3dna.org. To eliminate spam registrations and administrative overhead, new postings and account creations have been disabled, but no historical knowledge has been removed.


Key Community Resources

Whether you are looking for web-based analysis or downloads, here is where to find our core tools:

  • Web Interface (wDSSR): web.x3dna-dssr.org
    Analyze, Rebuild, Model, Circularize, Mutate, Assemble, and Visualize 3D nucleic acids directly in your browser without registration.
  • Community Q&A & Support: github.com/orgs/x3dna-dssr/discussions
    Ask questions, report edge cases, and share feature ideas across the entire tool suite.
  • Legacy Downloads (DSSR v1.9.10): docs.x3dna-dssr.org/download.php
    Freely accessible binaries accompanying our 2020 NAR DSSR-PyMOL publication.
  • Software Releases & Legacy Downloads: github.com/x3dna-dssr
    Access software distributions, including standalone binaries DSSR v1.9.10 (accompanying our 2020 NAR DSSR-PyMOL publication), 3DNA v2.4, 3DNA v1.5, and foundational SCHNAaP/SCHNArP packages.

Acknowledgements

We express our gratitude to every researcher, student, and collaborator who contributed questions, shared datasets, and reported edge cases on the 3DNA Forum over the past 15 years. Your feedback has directly guided the evolution of 3DNA and DSSR.

We invite you to star our repositories, join our discussions on GitHub, and help us shape the next generation of nucleic acid structural bioinformatics tools!

---

Standardized Annotation of CASP16 RNA Predictions Using DSSR

Overview & Background

The 16th Critical Assessment of Structure Prediction (CASP16) evaluated blind predictions for both monomeric RNAs and RNA–RNA multimeric complexes. In a study published in Bioinformatics, Chandran Nithin, Smita P. Pilla, and Sebastian Kmiecik (Laboratory of Computational Biology, University of Warsaw) examined their group's (LCBio, group G189) CASP16 submissions—which ranked first in the official CASP16 best-of-submitted-models assessment for RNA–RNA multimers—to diagnose where modeling accuracy degrades across the RNA structural hierarchy. Rather than relying solely on global superposition metrics (TM-score, RMSD), the authors established an automated evaluation pipeline centered on DSSR (Dissecting the Spatial Structure of RNA; Lu et al., 2015) to benchmark local, modular, and tertiary structural features.


Methodological & Parameter Details

To ensure objective comparisons between experimental reference structures and predicted 3D models, the authors relied on DSSR for consistent feature extraction:

Structural features were extracted from both reference and predicted RNA structures using DSSR (Lu et al. 2015) to ensure consistent annotation across all models.

As detailed in Supplementary Methods S3.2:

All structural features used in the analysis were derived from reference and predicted RNA structures using DSSR, which provided a standardized annotation of base pairs, stacking interactions, secondary structure elements, junctions, and tertiary motifs.

Using DSSR outputs, the authors computed F1-scores across key structural tiers:

  • Base Pairs: Canonical Watson–Crick pairs were evaluated by strict residue correspondence. Non-Watson–Crick (nWC) pairs were scored on a 6-point rubric based on DSSR's Leontis–Westhof classifications (residue identity, cis/trans orientation, and interacting edges).
  • Base Stacking: Pairwise contacts from DSSR-annotated stacking segments were scored using residue identity, inter-planar distance (≤ 0.5 Å deviation), and base-ring normal angles (≤ 15° deviation).
  • Secondary Structure & Junctions: Secondary structure elements—including hairpins, bulges, internal loops, and both helices (defined by DSSR via base-stacking interactions regardless of pairing type or backbone continuity) and stems (helices consisting strictly of canonical Watson–Crick/wobble pairs with a continuous backbone)—were matched at ≥ 50% residue overlap. Multi-helix junctions were evaluated via a topology-gated framework assessing branch count, helix connectivity, terminal base pairs, unpaired linkers, and coaxial stacking.
  • Tertiary Motifs & Interfaces: A-minor interactions, ribose zippers, K-turns, kissing loops, pseudoknots, and multiplets were scored by residue overlap, while multimer interfaces were quantified by inter-chain base-pair recovery.

Step-by-Step Workflow

  1. Consensus 2D Restraints: Secondary structures were predicted using thermodynamic, probabilistic, pseudoknot-capable, and alignment-based tools (RNAfold, RNAstructure, CentroidFold, IPknot, RNAalifold, ScanFold 2.0), then combined into dot-bracket restraints.
  2. 3D Modeling & Refinement: Monomers were generated via deep learning (AlphaFold 3, DeepFoldRNA, RhoFold+, NuFold, trRosettaRNA) and physics/fragment-based tools (SimRNA, FARFAR2, RNAComposer, Vfold2, BriQ), refined with QRNAS, and filtered for entanglements with RNAspider.
  3. Multimer Assembly: Higher-order complexes were modeled by screening AlphaFold 3 across candidate stoichiometries and ionic/cofactor conditions, supplemented by manual assembly in PyMOL.
  4. DSSR Benchmarking: Representative models were processed with DSSR alongside experimental references to quantify feature recovery (F1-scores) across the structural hierarchy.

Conclusion & Paper References

Using DSSR's standardized annotations, Nithin et al. showed that while current prediction pipelines reliably recover Watson–Crick base pairs (monomer F1 ≈ 0.84), accuracy drops sharply for non-canonical pairs, stacking geometry, multi-helix junctions, and tertiary motifs—errors that compound across RNA–RNA multimer interfaces.

  • Primary Publication: Nithin, C., Pilla, S. P., & Kmiecik, S. (2026). Hierarchical breakdown of RNA structure prediction in CASP16: from reliable local helices to speculative multimer assembly. Bioinformatics, 42(10), btag689. https://doi.org/10.1093/bioinformatics/btag689
  • DSSR: Lu, X.-J., Bussemaker, H. J., & Olson, W. K. (2015). DSSR: an integrated software tool for dissecting the spatial structure of RNA. Nucleic Acids Research, 43(21), e142. https://doi.org/10.1093/nar/gkv716
---

FRETmatrix: a methodological platform for the simulation and analysis of FRET in nucleic acids

In the ‘Advance Access’ section of Nucleic Acids Research, published on September 12, 2012 (DOI: 10.1093/nar/gks856), I came across the paper FRETmatrix: a general methodology for the simulation and analysis of FRET in nucleic acids by Søren Preus et al.. In this work, the authors developed a methodological platform (implemented in the Matlab package ‘FRETmatrix’) to simulate the base-base FRET in order to elucidate the structure and dynamics of nucleic acids.

Reading through the text, I am pleased to find that the authors take advantage of the matrix-based Calladine and El Hassen Scheme (CEHS) for ‘building nucleic acid geometrical models’, and kindly cite SCHNArP, 3DNA, and the standard base-reference frame paper. They provide a succinct description of the model building process, and also note the connection between CEHS and SCHNArP. From the very beginning, I appreciated the elegance of the CEHS method — it is simple, mathematical rigorous, and generally applicable for quantifying the relative position and orientation between any two rigid bodies. SCHNAaP/SCHNArP implements the analysis/rebuilding components of CEHS in an expanded form, and CEHS further serves as a corner stone of 3DNA.

Another point worth noting is Figure 3 (see below) where the authors present (a–c) Representative examples of output geometries produced by FRETmatrix (right) along with the block representation of the corresponding structures produced by 3DNA (28) (left). To the best of my memory, this is one of the very few times where 3DNA’s blocview functionality is explicitly cited.

geometrical model building combined with FRET simulations in three model structures

Comment

---

The number of 3DNA forum registrations has reached 500

As of today (2012-09-16), the number of 3DNA forum registrations has reached 500! A quick browse of the ‘Statistics Center’ shows that over 80% of the registrations (400+) are after March 2012, when the new 3DNA homepage/forum were launched.

The sharp increase in registration is mostly due to the streamlined, web-based way to distribute the 3DNA software package. As far as I know, the number of 3DNA registrations/downloads in the past six months is significantly higher than that of 3DNA v2.0 for over three years. Equally importantly, I have been able to fixed every reported bug, addressed each feature request, and updated the 3DNA v2.1 distribution promptly.

I also feel confident to declare that up to now, the 3DNA Forum is spam free (at least to the extent I am aware). To this end, I’ve taken the following three measures:
  • Installation of the SMF “Mod Stop Spammer”; as of this writing, it shows “3920 Spammers blocked up until today”.
  • By using 3DNA-related verification questions. At its current setting, a user must answer correctly three of the ‘simple’ yet effective verification questions. Early on, I decided deliberately not to use CAPTCHA as an anti-spam means, based on my past experience.
  • I’ve continuously monitored (new) registrations, and taken immediate actions against any suspicious registration. Due to the effectiveness of above two steps, so far I only have to manually handle just a few spam registrations. Nevertheless, it does illustrate the fact that no automatic method is perfect, and expert inspection is required to ensure desired results.

Overall, the new simplified way to distribute the 3DNA software package is working as intended; now users can easily access all distributed versions of 3DNA, and I can focus on support and further development of the software.

---

Classification of dinucleotide steps into A- and B- and TA-DNA

From v1.5 or even earlier on, 3DNA provides an automatic classification of a dinucleotide step into A-, B- or TA-DNA conformation. Figure 5 of the 2003 3DNA Nucleic Acids Research paper (NAR03) shows three sets of scatter plots — helical inclination and x‐displacement, dimer step Roll and Slide, and the projected phosphorus z coordinates Zp and Zp(h) — to differentiate the A-, B- and TA-DNA dinucleotide steps.

Classification of A-, B- and TA-DNA dinucleotide steps

Among the criteria tested, the most discriminative ones are the projected phosphorus z coordinates, Zp in the middle step frame (see figure below), and Zp(h) defined similarly but in the middle helical frame.

definition of the Zp parameter

Over the years, I have received many questions regarding the datasets used in generating Figure 5 of NAR03. Back in August 2006, a user asked for IDs of the TA-DNA structures — see DNA standards/statistics using 3DNA. In April 2007, another user requested the same TA-DNA dataset. Early this year, a user asked for 3DNA’s A-DNA definition. More recently, yet another user would like to ask about the DNA set used for the analysis that is presented in Fig 5. in the NAR 2003 paper.

I am glad to see that after nearly a decade of the NAR03 publication, the user community is still interested in knowing details in the work. So I decided to dig into my archive for the original data files and scripts used to generate Figure 5 of NAR03. It was not an easy journey; just releasing the data files and scripts is not enough, I’d like to verify that they work together as intended in today’s computing environment. Luckily, I am finally able to get to the bottom of the issues. The details are in the post Datasets and scripts for reproducing Figure 5 of the 3DNA NAR03 paper. The tarball file named 3DNA-NAR03-Fig5.tar.gz is available by clicking the link.

Comment

---

Four papers in the August 2012 [40(14)] issue of NAR cite 3DNA

While browsing the August 2012 40(14) issue of Nucleic Acids Research (NAR), I noticed the following four papers that cite 3DNA:

The local base pair step parameters as calculated by x3dna (37,38) are represented in the Supplementary Figure S2.

The initial extended single-stranded DNA structure was obtained using the 3DNA program (15).

DNA structures were analyzed using 3DNA (31).

Each of these DNA structural models consists of values for all base-pair step parameters (roll, twist, tilt, rise, shift and slide) for each dinucleotide or trinucleotide. This enabled us to convert DNA sequences into 3D coordinates by using the rebuilding part of 3DNA (39), a program for analysis, rebuilding and visualization of 3D nucleic acid structures.

The above four NAR papers appear in the sections “Nucleic Acid Enzymes” (1), “Structural Biology” (2) and “Methods Online” (1), and cover research areas of DNA-protein interactions (3) and G-quadruplex structures (1). As quoted above, two papers employ the analyzing components of 3DNA, while the other two take advantage of its rebuilding facilities.

Between the two primary 3DNA publications, the 2003 NAR paper (NAR03) is cited twice, while the 2008 Nature Protocol paper (NP08) is cited three times. Apparently, after some time lag, NP08 has gradually overpassed NAR03 to become the community’s favorite citation for 3DNA.

Comment

---

Rectangular block expressed in PDB format

As noted in post Rectangular block expressed in MDL molfile format, I added the -mol option (in v2.1) to convert 3DNA’s native alchemy to the better-supported MDL molfile format, to make the characteristic schematic representations more widely accessible. Along the line, I have recently further augmented alc2img with the -pdb option to transform alchemy to the PDB format.

While the macromolecular PDB format is certainly not convenient for specifying linkage details of small molecules, it’s nevertheless the best-documented and by far the most widely supported than molfile or alchemy in currently available molecular viewers. For example, the PDB format is consistently supported in Jmol, PyMOL, RasMol, DeepView, and UCSF Chimera. Moreover, the PDB format does have the CONECT section to provide information on atomic connectivity:

The CONECT records specify connectivity between atoms for which coordinates are supplied. The connectivity is described using the atom serial number as shown in the entry. CONECT records are mandatory for HET groups (excluding water) and for other bonds not specified in the standard residue connectivity table.

The alc2img -pdb option takes advantage of the CONECT records and specifies all ‘bond’ linkages explicitly. The usage is very simple — take the standard base-pair rectangular block file (‘Block_BP.alc’) as an example, the conversion can be performed as below:

alc2img -pdb Block_BP.alc Block_BP.pdb

Content of ‘Block_BP.alc’

   12 ATOMS,    12 BONDS
    1 N      -2.2500   5.0000   0.2500
    2 N      -2.2500  -5.0000   0.2500
    3 N      -2.2500  -5.0000  -0.2500
    4 N      -2.2500   5.0000  -0.2500
    5 C       2.2500   5.0000   0.2500
    6 C       2.2500  -5.0000   0.2500
    7 C       2.2500  -5.0000  -0.2500
    8 C       2.2500   5.0000  -0.2500
    9 C      -2.2500   5.0000   0.2500
   10 C      -2.2500  -5.0000   0.2500
   11 C      -2.2500  -5.0000  -0.2500
   12 C      -2.2500   5.0000  -0.2500
    1     1     2
    2     2     3
    3     3     4
    4     4     1
    5     5     6
    6     6     7
    7     7     8
    8     5     8
    9     9     5
   10    10     6
   11    11     7
   12    12     8

Content of ‘Block_BP.pdb’

REMARK    3DNA v2.1 (c) 2012 Dr. Xiang-Jun Lu (http://x3dna.org)
HETATM    1  N   ALC A   1      -2.250   5.000   0.250  1.00  1.00           N  
HETATM    2  N   ALC A   1      -2.250  -5.000   0.250  1.00  1.00           N  
HETATM    3  N   ALC A   1      -2.250  -5.000  -0.250  1.00  1.00           N  
HETATM    4  N   ALC A   1      -2.250   5.000  -0.250  1.00  1.00           N  
HETATM    5  C   ALC A   1       2.250   5.000   0.250  1.00  1.00           C  
HETATM    6  C   ALC A   1       2.250  -5.000   0.250  1.00  1.00           C  
HETATM    7  C   ALC A   1       2.250  -5.000  -0.250  1.00  1.00           C  
HETATM    8  C   ALC A   1       2.250   5.000  -0.250  1.00  1.00           C  
HETATM    9  C   ALC A   1      -2.250   5.000   0.250  1.00  1.00           C  
HETATM   10  C   ALC A   1      -2.250  -5.000   0.250  1.00  1.00           C  
HETATM   11  C   ALC A   1      -2.250  -5.000  -0.250  1.00  1.00           C  
HETATM   12  C   ALC A   1      -2.250   5.000  -0.250  1.00  1.00           C  
CONECT    1    2    4                                                  
CONECT    2    1    3                                                  
CONECT    3    2    4                                                  
CONECT    4    1    3                                                  
CONECT    5    6    8    9                                             
CONECT    6    5    7   10                                             
CONECT    7    6    8   11                                             
CONECT    8    5    7   12                                             
CONECT    9    5                                                       
CONECT   10    6                                                       
CONECT   11    7                                                       
CONECT   12    8                                                       
END

Comment

---

Effect of reversing strands of a DNA duplex on 3DNA calculated parameters

From a pure structural perspective, the designation of the two strands in an anti-parallel DNA duplex is sort of arbitrary. Thus, for a given PDB file, let’s assume that the atomic coordinates of chain A (strand I) come before those of chain B (strand II). We can swap the order of the two chains as they appear in the PDB file, i.e., list first the atomic coordinates of chain B and then those of chain A.

Structurally, the two settings corresponding to exactly the same DNA molecule. As far as 3DNA goes, however, the different orderings do make a different in calculated parameters. Using the Dickerson B-DNA dodecamer CGCGAATTCGCG solved at high resolution (PDB entry 355d) as an example, running 3DNA find_pair and analyze on ‘355d.pdb’ gives the results (abbreviated) below:

find_pair 355d.pdb 355d.bps
    # contents of file '355d.bps':
------------------------------------------------------------------
355d.pdb
355d.out
    2         # duplex
   12         # number of base-pairs
    1    1    # explicit bp numbering/hetero atoms
    1   24  0 #    1 | ....>A:...1_:[.DC]C-----G[.DG]:..24_:B<....
    2   23  0 #    2 | ....>A:...2_:[.DG]G-----C[.DC]:..23_:B<....
    3   22  0 #    3 | ....>A:...3_:[.DC]C-----G[.DG]:..22_:B<....
    4   21  0 #    4 | ....>A:...4_:[.DG]G-----C[.DC]:..21_:B<....
    5   20  0 #    5 | ....>A:...5_:[.DA]A-----T[.DT]:..20_:B<....
    6   19  0 #    6 | ....>A:...6_:[.DA]A-----T[.DT]:..19_:B<....
    7   18  0 #    7 | ....>A:...7_:[.DT]T-----A[.DA]:..18_:B<....
    8   17  0 #    8 | ....>A:...8_:[.DT]T-----A[.DA]:..17_:B<....
    9   16  0 #    9 | ....>A:...9_:[.DC]C-----G[.DG]:..16_:B<....
   10   15  0 #   10 | ....>A:..10_:[.DG]G-----C[.DC]:..15_:B<....
   11   14  0 #   11 | ....>A:..11_:[.DC]C-----G[.DG]:..14_:B<....
   12   13  0 #   12 | ....>A:..12_:[.DG]G-----C[.DC]:..13_:B<....
------------------------------------------------------------------

analyze 355d.bps
    # generate output file '355d.out', with base-pair step parameters:
****************************************************************************
    step       Shift     Slide      Rise      Tilt      Roll     Twist
   1 CG/CG      0.09      0.04      3.20     -3.22      8.52     32.73
   2 GC/GC      0.50      0.67      3.69      2.85     -9.06     43.88
   3 CG/CG     -0.14      0.59      3.00      0.97     11.30     25.11
   4 GA/TC     -0.45     -0.14      3.39     -1.59      1.37     37.50
   5 AA/TT      0.17     -0.33      3.30     -0.33      0.46     37.52
   6 AT/AT     -0.01     -0.60      3.22     -0.31     -2.67     32.40
   7 TT/AA     -0.08     -0.40      3.22      1.68     -0.97     33.74
   8 TC/GA     -0.27     -0.23      3.47      0.68     -1.69     42.14
   9 CG/CG      0.70      0.78      3.07     -3.66      4.18     26.58
  10 GC/GC     -1.31      0.36      3.37     -2.85     -9.37     41.60
  11 CG/CG     -0.31      0.21      3.17     -0.68      6.69     33.31
****************************************************************************

Reversing the order of chains A and B in ‘355d.pdb’ as ‘355d-reversed.pdb’ and repeating the above procedure, we have the following results:

find_pair 355d-reversed.pdb 355d-reversed.bps
    # contents of file '355d-reversed.bps':
------------------------------------------------------------------
355d-reversed.pdb
355d-reversed.out
    2         # duplex
   12         # number of base-pairs
    1    1    # explicit bp numbering/hetero atoms
    1   24  0 #    1 | ....>B:..13_:[.DC]C-----G[.DG]:..12_:A<....
    2   23  0 #    2 | ....>B:..14_:[.DG]G-----C[.DC]:..11_:A<....
    3   22  0 #    3 | ....>B:..15_:[.DC]C-----G[.DG]:..10_:A<....
    4   21  0 #    4 | ....>B:..16_:[.DG]G-----C[.DC]:...9_:A<....
    5   20  0 #    5 | ....>B:..17_:[.DA]A-----T[.DT]:...8_:A<....
    6   19  0 #    6 | ....>B:..18_:[.DA]A-----T[.DT]:...7_:A<....
    7   18  0 #    7 | ....>B:..19_:[.DT]T-----A[.DA]:...6_:A<....
    8   17  0 #    8 | ....>B:..20_:[.DT]T-----A[.DA]:...5_:A<....
    9   16  0 #    9 | ....>B:..21_:[.DC]C-----G[.DG]:...4_:A<....
   10   15  0 #   10 | ....>B:..22_:[.DG]G-----C[.DC]:...3_:A<....
   11   14  0 #   11 | ....>B:..23_:[.DC]C-----G[.DG]:...2_:A<....
   12   13  0 #   12 | ....>B:..24_:[.DG]G-----C[.DC]:...1_:A<....
------------------------------------------------------------------

analyze 355d-reversed.bps
    # generate output file '355d-reversed.out', with base-pair step parameters:
****************************************************************************
    step       Shift     Slide      Rise      Tilt      Roll     Twist
   1 CG/CG      0.31      0.21      3.17      0.68      6.69     33.31
   2 GC/GC      1.31      0.36      3.37      2.85     -9.37     41.60
   3 CG/CG     -0.70      0.78      3.07      3.66      4.18     26.58
   4 GA/TC      0.27     -0.23      3.47     -0.68     -1.69     42.14
   5 AA/TT      0.08     -0.40      3.22     -1.68     -0.97     33.74
   6 AT/AT      0.01     -0.60      3.22      0.31     -2.67     32.40
   7 TT/AA     -0.17     -0.33      3.30      0.33      0.46     37.52
   8 TC/GA      0.45     -0.14      3.39      1.59      1.37     37.50
   9 CG/CG      0.14      0.59      3.00     -0.97     11.30     25.11
  10 GC/GC     -0.50      0.67      3.69     -2.85     -9.06     43.88
  11 CG/CG     -0.09      0.04      3.20      3.22      8.52     32.73
****************************************************************************

Comparing the base-pair step parameters between ‘355d.out’ and ’355d-reversed.out’, one would notice that while slide/rise/roll/twist simply switch orders, shift/tilt (the x-axis parameters) also flip their signs. On the other hand, the nucleotide serial numbers specifying base pairs (the left two columns) are identical in ‘355d.bps’ and ’355d-reversed.bps’.

Apart from explicitly swapping the two strands in PDB data file, one can simply switch around the nucleotide serial numbers generated with find_pair in order to analyze a DNA duplex based on its complementary sequence instead of the primary one. For example, starting from the same PDB file ‘355d.pdb’, we change ‘355d.bps’ to ’355d-cs.bps’ as below,

------------------------------------------------------------------
355d.pdb
355d-cs.out
    2         # duplex
   12         # number of base-pairs
    1    1    # explicit bp numbering/hetero atoms
   13   12
   14   11
   15   10
   16    9
   17    8
   18    7
   19    6
   20    5
   21    4
   22    3
   23    2
   24    1
------------------------------------------------------------------

Run analyze 355d-cs.bps, one would get exactly the same parameters in output file ’355d-cs.out’ as in ’355d-reversed.out’.

Comment

---

Schematic diagrams of base-pair parameters

Ever since the 2003 publication of the initial 3DNA Nucleic Acids Research paper (NAR03), the schematic diagrams of base-pair parameters (see figure below) has become quite popular. Over the years, we have received numerous requests for permission to use the figure, or a portion thereof; as an example, the figure has been adopted into a structural biology textbook. In the 2008 3DNA Nature Protocols paper (NP08), we devoted the very first protocol to “create a schematic image for propeller of 45°”.

Schematic diagram of rigid body parameters

Figure legend taken from Figure 1 of NAR03: Pictorial definitions of rigid body parameters used to describe the geometry of complementary (or non‐complementary) base pairs and sequential base pair steps (19). The base pair reference frame (lower left) is constructed such that the x‐axis points away from the (shaded) minor groove edge of a base or base pair and the y‐axis points toward the sequence strand (I). The relative position and orientation of successive base pair planes are described with respect to both a dimer reference frame (upper right) and a local helical frame (lower right). Images illustrate positive values of the designated parameters. For illustration purposes, helical twist (Ωh) is the same as Twist (ω), formerly denoted by Ω (19,20) and helical rise (h) is the same as Rise (Dz).

I recall spending around two weeks to produce the above figure. Content-wise, the figure was constructed in only a short while; it was the little details that took me most of the time.

Over time, I’ve witnessed numerous versions of such schematic images in publications related to DNA/RNA structures. While looking similar, the schematics differ subtly in the magnitude, orientation and relative scale of illustrated parameters. To the best of my knowledge, only 3DNA provides a pragmatic approach to generate the base-pair schematic diagrams consistently.

To make the schematics more readily accessible, I’ve reproduced a high resolution image (in png format) for each of the 14 parameters shown above. You are welcome to pick and match the diagrams as necessary. If you use any of them in your publications, please cite the 3DNA NAR03 and/or NP08 paper(s).

Note that in the schematic diagrams below, the shaded edge (facing the viewer) denotes the minor-groove side of a base or base pair.



Shear (Sx) Stretch (Sy) Stagger (Sz)
Shear Stretch Stagger
Buckle (κ) Propeller (π) Opening (σ)
Buckle Propeller Opening
Shift (Dx) Slide (Dy) Rise (Dz)
Shift Slide Rise
Tilt (τ) Roll (ρ) Twist (ω)
Tilt Roll Twist
x-displacement (dx) y-displacement (dy) Helical Rise (h)
x-displacement y-displacement As for Rise above
(for illustration purpose)
Inclination (η) Tip (θ) Helical Twist (Ωh)
Inclination Tip As for Twist above
(for illustration purpose)

Comment [8]

---

Perl scripts are obsolete but still available

As of v2.1, I’ve switched from Perl to Ruby as the scripting language for 3DNA. Consequently, the Perl scripts in previous versions of 3DNA (v1.5 and v2.0) are now obsolete. I’ll only correct bugs in existing Perl scripts, but will not add any new features.

For back reference, the scripts are still available from a separate directory $X3DNA/perl_scripts, with the following contents:

OP_Mxyz*          dcmnfile*         nmr_strs*
README            del_ms*           pdb_frag*
block_atom*       expand_ids*       x3dna2charmm_pdb*
blocview.pl*      manalyze*         x3dna_r3d2png*
bp_mutation*      mstack2img*       x3dna_setup.pl*
cp_std*           nmr_ensemble*     x3dna_utils.pm

Among them, x3dna_setup.pl and blocview.pl have corresponding Ruby versions: x3dna_setup and blocview. Actually, the .pl file extension (for Perl) was added to avoid confusion with the new Ruby scripts.

Some of the functionalities have been incorporated into the Ruby script x3dna_utils:

------------------------------------------------------------------------
A miscellaneous collection of 3DNA utilities
    Usage: x3dna_utils [-h|-v] sub-command [-h] [options]
    where sub-command must be one of: 
        block_atom -- generate a base block schematic representation
        cp_std -- select standard PDB datasets for analyze/rebuild
        dcmnfile -- remove fixed-name files generated with 3DNA
        x3dna_r3d2png -- convert .r3d to image with Raster3D or PyMOL
------------------------------------------------------------------------
  --version, -v:   Print version and exit
     --help, -h:   Show this message

Along the same line, ensemble-related functionalities (for NMR or molecular dynamics simulations) have been consolidated and extended into the new Ruby script x3dna_ensemble:

------------------------------------------------------------------------
Utilities for the analysis and visualization of an ensemble
    Usage: x3dna_ensemble [-h|-v] sub-command [-h] [options]
    where sub-command must be one of: 
        analyze -- analyze MODEL/ENDMDL delineated ensemble (NMR or MD)
        block_image -- generate a base block schematic image
        extract -- extract structural parameters after running 'analyze'
        reorient -- reorient models to a particular frame/orientation
------------------------------------------------------------------------
  --version, -v:   Print version and exit
     --help, -h:   Show this message

Conceivably, C programs in 3DNA can also be consolidated. For backward compatibility, however, all existing C programs will be kept — and refined as necessary — in the current 3DNA v2.x series. As of v3.x, I’ll completely re-organize 3DNA incorporating my years of experience in programming languages and knowledge of macromolecular structures.

Comment

---

Specification of base pairs in 3DNA

In 3DNA, each base pair (bp) is specified by the identity of its two comprising nucleotides (nts), and their interactions. Some examples are shown below based on the PDB entry 1ehz (the crystal structure of yeast phenylalanine tRNA at 1.93 Å resolution), with the shorthand form on the right:

....>A:...1_:[..G]G-----C[..C]:..72_:A<....  G-C
....>A:...4_:[..G]G-*---U[..U]:..69_:A<....  G-U
....>A:...9_:[..A]A-**+-A[..A]:..23_:A<....  A+A
....>A:..15_:[..G]G-**+-C[..C]:..48_:A<....  G+C
....>A:..26_:[M2G]g-**--A[..A]:..44_:A<....  g-A

Specification of a nucleotide

The nt specification string consists of 6 fields and follows the pattern below, with the number of characters in each field inside the parentheses:

modelNum(4)>chainId(1):ntNum(4)insCode(1):[ntName(3)]baseName(1)

  1. modelNum(4) — the model number is up to 4 digits, right-justified, with each leading space replaced by a dot. If no model number is available, as is the case for 1ehz (and virtually all other x-ray crystal structures in the PDB), it is written as .... (4 dots).
  2. chainId(1) — the chain id is 1-char long, with space replaced by underscore.
  3. ntNum(4) — the nt residue number, handled as for the model number.
  4. insCode(1) — insertion code, handled as for the chain id.
  5. ntName(3) — the nt residue name is up to 3-char long, right-justified, with each leading space replaced by a dot.
  6. baseName(1) — the base name is 1-char long, mapped from ntName(3) following $X3DNA/config/baselist.dat. Note that modified nucleotides are put in lower case to distinguish them from the canonical ones — for example, M2G to g.

For the complementary base in a bp, the order of the 6 fields is reversed — see examples above. To see the full list of nts in a PDB data file, run: find_pair -s 1ehz.pdb stdout (here using 1ehz as an example).

Specification of a base pair

The pattern of a bp is M-xyz-N, where M and N are 1-char base names (as in aforesaid field #6), and the three characters xyz have the following meaning:

  • z — the sign of the dot product of the z-axes of the M and N base reference frames. It is positive (+) if the two z-axes point in similar directions, as in Hoogsteen or reverse Watson-Crick bps. Conversely, it is negative (-) when the two z-axes point in opposite directions, as in the canonical Watson-Crick and Wobble bps. See figure below:

Watson-Crick (M-N) vs Hoogsteen base pairs

  • y — it is - if M and N are in a so-called Watson-Crick geometry (the two y-axes of the M and N base reference frames are anti-parallel, so are the two z-axes, whilst the two x-axes are parallel), e.g., the G-U Wobble pair; otherwise, *.
  • x — it is - for Watson-Crick bps, otherwise, *.

By design, Watson-Crick bps would be of the pattern M-----N, Wobble bps M-*---N, and non-canonical bps M-**+-N or M-**--N. Thus by browsing through the 3DNA output, users can readily identify these three bp types.

The shortened form is represented as MzN; following aforementioned notation, it can be either M-N or M+N. The relative direction of the two z-axes is critical in effecting 3DNA-calculated bp (and step) parameters, as detailed in the 2003 3DNA NAR paper:

To calculate the six complementary base pair parameters of an M–N pair (Shear, Stretch, Stagger, Buckle, Propeller and Opening), where the two z‐axes run in opposite directions, the reference frame of the complementary base N is rotated about the x2‐axis by 180°, i.e. reversing the y2‐ and z2‐axes in Figure 2a. Under this convention, if the base pair is reckoned as an N–M pair, rather than an M–N pair, the x‐axis parameters (Shear and Buckle) reverse their signs. For an M+N pair, e.g. the Hoogsteen A+U in Figure 2b, the x2‐, y2‐ and z2‐axes do not change sign; thus all six parameters for an N+M pair are of opposite sign(s) from those for an M+N pair.

The M-N and M+N bp designation is unique to 3DNA. In combination with the corresponding 6 bp parameters (shear, stretch, stagger, buckle, propeller, and opening), 3DNA provides a rigorous description of all possible bps. This contrasts and complements with the conventional Saenger scheme and the 3-edge based Leontis/Westhof notation.

The 3DNA M-N vs M+N bp designation is base-centric, without concerning the sugar-phosphate backbone. The chi (χ) torsion angle, which characterizes base/sugar relative orientation, can be in either anti or syn conformation; thus similar backbone(S) can accommodate either M-N or M+N.

Comment

---

« Older · Newer »

Thank you for printing this article from http://x3dna.org/. Please do not forget to visit back for more 3DNA-related information. — Xiang-Jun Lu