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
- 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.
- 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.
- Multimer Assembly: Higher-order complexes were modeled by screening
AlphaFold 3 across candidate stoichiometries and ionic/cofactor conditions, supplemented by manual assembly in PyMOL.
- 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
While browsing the latest issue (May 2017) of the RNA journal, I came across the paper titled The structure of an E. coli tRNAfMet A1–U72 variant shows an unusual conformation of the A1–U72 base pair by Monestier et al.. Reading through the text, I am pleasantly surprised by the two references to DSSR as shown below:
An analysis using DSSR (Lu et al. 2015) identifies all the secondary structure elements characteristic of the classical cloverleaf secondary structure as well as usual tertiary interactions that stabilize the L-shaped tertiary fold of the molecule.
As a consequence, the opening parameter (Lu et al. 2015) of the A1–U72 base pair becomes unusually high (153.42°). The NH2 group of A1 points toward the minor groove of the acceptor helix. An interaction between the N1 of A1 and the O2 of U72 (d = 3.0 Å) is observed which requires protonation of the N1 atom of A1.
The PDB id for the deposited structure is 5l4o. Running DSSR on this structure is straightforward: x3dna-dssr -i=5l4o.pdb --more. As with the classic yeast phenylalanine tRNA (PDB id: 1ehz), DSSR identifies two helices, three hairpin loops, one [2,1,5,0] four-way junction loop, among other features.
With regard to the unusual A1-U72 pair highlighted in the title of the paper, DSSR provides the following information. Note the * in the unconventional N1*O2 H-bond.
1 A.A1 A.U72 A+U -- n/a tWW tW+W
[-14.4(...) ~C3'-endo lambda=32.9] [-172.4(anti) ~C3'-endo lambda=65.0]
d(C1'-C1')=10.80 d(N1-N9)=9.19 d(C6-C8)=10.68 tor(C1'-N1-N9-C1')=173.6
H-bonds[1]: "N1*O2(carbonyl)[2.99]"
interBase-angle=6 Simple-bpParams: Shear=3.53 Stretch=1.71 Buckle=2.0 Propeller=-6.0
bp-pars: [-0.32 3.91 0.01 6.32 -0.26 153.56]
This citation is yet another example of DSSR’s adoption by experimental biologists. I can only expect to see more such type of DSSR usages in the coming years.

Recently, while analyzing a representative set of RNA structures from the PDB, I came across three weird entries. They are documented below, primarily for my own record.
- 5els — “Structure of the KH domain of T-STAR in complex with AAAUAA RNA”. There are two alternative conformations for the six-nt
AAAUAA RNA component, labeled A and B, respectively. Normally, the A/B alternative coordinates for each atom are put directly next to each other, and assigned the same chain id, as in 1msy for the phosphate group of G2669 on chain A. In 5els, however, the two alternative conformations (A/B) are separated into two chains: chain H for A, and chain I for B.
- 1vql — “The structure of the transition state analogue ‘DCSN’ bound to the large ribosomal subunit of Haloarcula marismortui”. The three-nt fragment DA179—C180—C181 on chain 4 is in the 3’—>5’ direction.
- 4r3i — “The crystal structure of m(6)A RNA with the YTHDC1 YTH domain”. The mmCIF file has a model number of 0, instead of 1 (as in other cases I am aware of).

Dear 3DNA Forum subscribers,
Here are some highlights of recent developments of 3DNA/DSSR:
Note: If you’ve difficulty in accessing the 3DNA homepage, possibly the case from mainland China (as I know it), please visit its duplicate at http://home.x3dna.org. This newsletter is written in Markdown, with a translated HTML version posted on the 3DNA homepage.
3DNA v2.3
The C source code is now available. Since the programs are written in strict ANSI C, 3DNA can be compiled (as is) on any computers/operating systems with a C (or C++) compiler. For user convenience, three binary distributions (with source code under the src/ subdirectory) are provided for Windows, Linux, and Mac OS X. The distributed Windows version works in native Windows (7 and up, via the cmd command-line interface, or ConEMU), MinGW/Msys (Msys2), and Cygwin, in either 32 or 64-bit.
A new set of ‘simple’ base-pair and step parameters was introduced to give ‘intuitive’ numerical values for non-Watson-Crick base pairs and associated steps. See the short communication titled Characterization of base pair geometry in the January 2016 issue of Computational Crystallography Newsletter (CCN).
The fiber program includes a new option, --pauling, for easy generation of Pauling & Corey triplex models of DNA/RNA with arbitrary base sequence. See my blogpost titled Pauling’s triplex model of nucleic acids is available in 3DNA.
Thomas Holder (PyMOL Principal Developer at Schrödinger, Inc.) has built a PyMOL wrapper to 3DNA fiber models. Now generating standard, regular DNA/RNA models in PyMOL is straightforward — thanks, Thomas!
DSSR (Dissecting the Spatial Structure of RNA)
Selected features of DSSR have been incorporated into Jmol (in collaboration with Robert Hanson, Jmol Principal Developer), and PyMOL (in collaboration with Thomas Holder). In Jmol application (via the Console window), one can now, for example, load =1ehz/dssr and then select hairpins; color red to see where the three hairpin loops are in 3D. The Jmol-DSSR web interface makes DSSR-enhanced visualization of nucleic acid structures in Jmol readily accessible to a broad user base, and has been employed in classes for educational purpose. A sample image of DSSR-derived cartoon-block representation via PyMOL is available for PDB entry 5dww, which has a G-quadruplex-duplex interface.
Since the publication of the Nucleic Acids Research paper in 2015, DSSR has been continuously refined and expanded, with a total of 36 new releases (from v1.2.8 to v1.6.4) as of this writing. Notably, the --json option provides DSSR-derived parameters in the simple, structured, and standard JSON format that can be easily parsed. This JSON output format is the (preferred) way for the outside world to interface with DSSR, and the Jmol-DSSR integration is built upon it. The --nmr option allows for batch processing of MODEL/ENDMDL-delineated NMR ensembles or trajectories of molecular dynamics (MD) simulations. Did you know that scripts and data files for reproducing the reported results are available in the DSSR-NAR paper section on the 3DNA Forum?
The User Manual is now 88-page long, covering nevertheless only the most common use cases of what DSSR has to offer. Miss a feature that you would like to have? Maybe it is already there or can be easily implemented in DSSR. Simply ask (on the 3DNA Forum), and I’ll try my best to help.
SNAP (Structures of Nucleic Acid-Protein complexes)
- SNAP aims to consolidate, refine, and significantly extend commonly used functionalities for DNA/RNA-protein structural analysis in one easy-to-use program. Currently in beta testing, SNAP is already fully functional, with features for characterizing the protein-nucleic acid interface and identifying amino acid-base pairing and stacking interactions.
A note for 3DNA/DSSR users in mainland China: It’s a pleasure to see the ~100 registrations on the 3DNA Forum with emails ending in .cn, 163.com, or qq.com etc., mostly from recent years. I’m planning a trip to China in 2017, and I’d be happy to meet some of you for academic exchanges and possible collaborations (学术交流、合作). If you’re interested, let’s get in touch!
Best regards,
Xiang-Jun
—
Dr. Xiang-Jun Lu (律祥俊)
Email: xiangjun@x3dna.org
Web: http://x3dna.org/
Forum: http://forum.x3dna.org/

In 1953, Pauling and Corey published an influential paper, titled A proposed structure for the nucleic acids, in Proc. Natl. Acad. Sci. (PNAS). Key features of the proposed model is summarized in their Letter to Nature, Structure of the Nucleic Acids, published in Nature on February 21, 1953.
We have formulated a structure for the nucleic acids which is compatible with the main features of the X-ray diagram and with the general principles of molecular structure, and which accounts satisfactorily for some of the chemical properties of the substances. The structure involves three intertwined helical polynucleotide chains. Each chain, which is formed by phosphate di-ester groups and linking β-D-ribofuranose or β-D-deoxyribofuranose residues with 3′, 5′ linkages, has approximately twenty-four nucleotide residues in seven turns of the helix. The helixes have the sense of a right-handed screw. The phosphate groups are closely packed about the axis of the molecule, with the pentose residues surrounding them, and the purine and pyrimidine groups projecting radially, their planes being approximately perpendicular to the molecular axis. The operation that converts one residue to the next residue in the polynucleotide chain is rotation by about 105° and translation by 3.4 Å.
This triplex model of nucleic acids, with phosphates in the center and bases on the outside, turned out to be fundamentally flawed. Yet, it played a significant role by prompting Watson and Crick in their discovery of the DNA double helix structure. While I’ve been aware of the Pauling triplex model from long ago, I had not read the original Pauling & Corey PNAS paper. Not surprisingly, I did not know what the triplex structure really looks like, other than some general ideas.
In a recent trip to Rutgers, Dr. Wilma Olson and I discussed the applications of fiber models collected in 3DNA. She drew my attention to the Pauling triplex model, and showed me Table 1 of the PNAS paper (see below), where the atomic coordinates for a nucleic acid repeating unit are listed.

The cylindrical format is the same as that for the fiber models in 3DNA. It thus seems fitting to add this historically significant triplex model to the collection. Googling revealed many interesting historical notes and comments, e.g. The Pauling-Corey Structure of DNA, and a short video Linus Pauling’s triple DNA helix model, 3D animation with basic narration. However, I failed to find a program that I can use to generate such a triplex model with generic base sequence. I decided to add the fiber --pauling option so users can easily create such a triplex model in 3D, just as they do for a classic A- and B-DNA duplex. This process has turned out to be very educational (detailed below), and the end result should be of general interest.

- The left 3D image shows the nomenclature of atoms used by Pauling & Corey (see Table 1 above), which is dramatically different from current conventions. As an example, it should be the N1 atom of cytosine (a pyrimidine base), not N3, that is connected to the sugar C1′ atom in nowadays nomenclature. The corrections apply not only to base atoms, but also to the sugar and phosphate groups. The revised atom labeling (as used in the PDB) is illustrated in the 3D image on the right.
- Table 1 corresponds to the ribose sugar since it contains an O2′ atom (see also the figure above). The triplex model constructed would be RNA, but can be ‘converted’ to DNA by simply removing the O2′ atom (see below).
- Only the atomic coordinates for cytosine are listed in Table 1. The 3DNA
mutate_bases program came handy to get the corresponding atomic coordinates for A, G, T, and U. This expansion allows for the generation of Pauling’s triplex models with an arbitrary combination of the five common bases (A, C, G, T, and U).
- With the new
fiber --pauling option, now users can conveniently generate a Pauling’s triplex RNA/DNA model as shown below. Note that the one dash variant -pauling also works fine, with the additional -dna for DNA deoxyribose sugar. The PDB file (Pauling-triplex-mixed.pdb) with mixed DNA sequences can be downloaded, and the corresponding 3D image in top and side views is shown in the following figure.
fiber -pauling triplex-C10C10C10.pdb # default: 10 Cs per strand
fiber -pauling -seq=AAA triplex-A3A3A3.pdb # 3 As per strand
fiber -pauling -seq=AAAA:CCCC:GGGG Pauling-triplex-A4C4G4.pdb
fiber -pauling -seq=ACGGUU,UUGGAC,GGAACC Pauling-triplex-mixed.pdb
fiber --pauling-dna -seq=ACGGTT,TTGGAC,GGAACC Pauling-triplex-DNA.pdb

- With 3DNA’s
find_pair/analyze pair of programs, one can get the structural parameters corresponding to the Pauling triplex model. Not surprising, the repeating dinucleotide along each strand has a twist of 105°, and a rise of 3.4 Å. Notably, the sugar has a C2′-endo conformation.

3DNA contains 55 fiber models compiled from literature, plus a derived RNA model (as of v2.1). To the best of my knowledge, this is the most comprehensive collection of regular DNA/RNA models. Please see Table 4 of the 2003 3DNA NAR paper for detailed structural features of these models and references.
The 55 models are based on the following works:
- Chandrasekaran & Arnott (from #1 to #43) — the most well-known set of fiber models
- Alexeev et al. (#44-#45)
- van Dam & Levitt (#46-#47)
- Premilat & Albiser (#48-#55)
The utility program fiber makes the generation of all these fiber models in a simple, consistent interface, and produces coordinate files in either PDB or PDBML format. Of those models, some can be built with an arbitrary sequence of A, C, G and T (e.g., A-/B-/C-DNA from calf thymus), while others are of fixed sequences (e.g., Z-DNA with GC repeats). The sequence can be specified either from command-line or a plain text file, in either lower, UPPER, or MixED cases.
Once 3DNA in properly installed, the command-line interface is the most versatile and convenient way to generate, e.g., a regular double-stranded DNA (mostly, B-DNA) of arbitrary sequence. The command-help message (generated with fiber -h) is as below:
NAME
fiber - generate 55 fiber models based on Arnott and other's work
SYNOPSIS
fiber [OPTION] PDBFILE
DESCRIPTION
generate 55 fiber models based on the repeating unit from Arnott's
work, including the canonical A-, B-, C- and Z-DNA, triplex, etc
-xml output structure coordinates in PDBML format
-num a structure identification number in the range (1-55)
-m, -l brief description of the 55 fiber structures
-a, -1 A-DNA model (calf thymus)
-b, -4 B-DNA (calf thymus, default)
-c, -47 C-DNA (BII-type nucleotides)
-d, -48 D(A)-DNA ploy d(AT) : ploy d(AT) (right-handed)
-z, -15 Z-DNA poly d(GC) : poly d(GC)
-rna for RNA with arbitrary base sequence
-seq=string specifying an arbitrary base sequence
-single output a single-stranded structure
-h this help message (any non-recognized options will do)
INPUT
An structural identification number (symbol)
EXAMPLES
fiber fiber-BDNA.pdb
# fiber -4 fiber-BDNA.pdb
# fiber -b fiber-BDNA.pdb
fiber -a fiber-ADNA.pdb
fiber -seq=AAAGGUUU -rna fiber-RNA.pdb
fiber -seq=AAAGGUUU -rna -single fiber-ssRNA.pdb
OUTPUT
PDB file
SEE ALSO
analyze, anyhelix, find_pair
AUTHOR
3DNA v2.3-2016sept06, created and maintained by Xiang-Jun Lu (PhD)
Please post questions/comments on the 3DNA Forum: http://forum.x3dna.org/
Moreover, the w3DNA, 3D-DART web-interfaces, and the PyMOL wrapper make it easy to generate a regular DNA (or RNA) model, especially for occasional users or for educational purposes.
In principle, nothing is worth showing off with regard to 3DNA’s fiber model generation functionality. Nevertheless, this handy tool serves as a clear example of the differences between a “proof of concept” and a pragmatic software application. I initially decided to work on this tool simply for my own convenience. At that time, I had access to A-DNA and B-DNA fiber model generators, each as a separate program. Moreover, the constructed models did not comply to the PDB format in atom naming, among other subtitles.
I started with the Chandrasekaran & Arnott fiber models which I had a copy of data files. However, there were many details to work out, typos to correct, etc. to put them in a consistent framework. For other models, I had to read each original publication, and to type raw atomic cylindrical coordinates into computer. Again, quite a few inconsistencies popped up between the different publications with a time span over decades.
Overall, it was a quite tedious undertaking, requiring great attention to details. I am glad that I did that: I learned so much from the process, and more importantly, others can benefit from my effort. As I put in the 3DNA Nature Protocol paper (BOX 6 | FIBER-DIFFRACTION MODELS),
In preparing this set of fiber models, we have taken great care to ensure the accuracy and consistency of the models. For completeness and user verification, 3DNA includes, in addition to 3DNA-processed files, the original coordinates collected from the literature.
For those who want to understand what’s going on under the hood, there is no better way than to try to reproduce the process using, e.g., fiber B-DNA as an example.
From the very beginning, I had expected the 3DNA fiber functionality to serve as a handy tool for building a regular DNA duplex of chosen sequence. Over the years, the fiber program has gradually attracted attention from the community. The recent PyMOL wrapper by Thomas Holder is a clear sign of its increased popularity, and has prompted me to write this post, adapted largely from the one titled Fiber models in 3DNA make it easy to build regular DNA helices (dated Friday, October 9, 2009).
See also PyMOL wrapper to 3DNA fiber models

Given below is the content of the README file for fiber models in 3DNA:
1. The repeating units of each fiber structure are mostly based on the
work of Chandrasekaran & Arnott (from #1 to #43). More recent fiber
models are based on Alexeev et al. (#44-#45), van Dam & Levitt (#46
-#47) and Premilat & Albiser (#48-#55).
2. Clean up of each residue
a. currently ignore hydrogen atoms [can be easily added]
b. change ME/C7 group of thymine to C5M
c. re-assign O3' atom to be attached with C3'
d. change distance unit from nm to A [most of the entries]
e. re-ordering atoms according to the NDB convention
3. Fix up of problem structures.
a. str#8 has no N9 atom for guanine
b. str#10 is not available from the disk, manually input
c. str#14 C5M atom was named C5 for Thymine, resulting two C5 atoms
d. str#17 has wrong assignment of O3' atom on Guanine
e. str#33 has wrong C6 position in U3
f. str#37 to #str41 were typed in manually following Arnott's
new list as given in "Oxford Handbook of Nucleic Acid Structure"
edited by S. Neidle (Oxford Press, 1999)
g. str#38 coordinates for N6(A) and N3(T) are WRONG as given in the
original literature
h. str#39 and #40 have the same O3' coordinates for the 2nd strand
4. str#44 & 45 have fixed strand II residues (T)
5. str#46 & 47 have +z-axis upwards (based on BI.pdb & BII.pdb)
6. str#48 to 55 have +z-axis upwards
List of 55 fiber structures
id# Twist Rise Structure description
(dgrees) (A)
-------------------------------------------------------------------------------
1 32.7 2.548 A-DNA (calf thymus; generic sequence: A, C, G and T)
2 65.5 5.095 A-DNA poly d(ABr5U) : poly d(ABr5U)
3 0.0 28.030 A-DNA (calf thymus) poly d(A1T2C3G4G5A6A7T8G9G10T11) :
poly d(A1C2C3A4T5T6C7C8G9A10T11)
4 36.0 3.375 B-DNA (calf thymus; generic sequence: A, C, G and T)
5 72.0 6.720 B-DNA poly d(CG) : poly d(CG)
6 180.0 16.864 B-DNA (calf thymus) poly d(C1C2C3C4C5) : poly d(G6G7G8G9G10)
7 38.6 3.310 C-DNA (calf thymus; generic sequence: A, C, G and T)
8 40.0 3.312 C-DNA poly d(GGT) : poly d(ACC)
9 120.0 9.937 C-DNA poly d(G1G2T3) : poly d(A4C5C6)
10 80.0 6.467 C-DNA poly d(AG) : poly d(CT)
11 80.0 6.467 C-DNA poly d(A1G2) : poly d(C3T4)
12 45.0 3.013 D-DNA poly d(AAT) : poly d(ATT)
13 90.0 6.125 D-DNA poly d(CI) : poly d(CI)
14 -90.0 18.500 D-DNA poly d(A1T2A3T4A5T6) : poly d(A1T2A3T4A5T6)
15 -60.0 7.250 Z-DNA poly d(GC) : poly d(GC)
16 -51.4 7.571 Z-DNA poly d(As4T) : poly d(As4T)
17 0.0 10.200 L-DNA (calf thymus) poly d(GC) : poly d(GC)
18 36.0 3.230 B'-DNA alpha poly d(A) : poly d(T) (H-DNA)
19 36.0 3.233 B'-DNA beta2 poly d(A) : poly d(T) (H-DNA beta)
20 32.7 2.812 A-RNA poly (A) : poly (U)
21 30.0 3.000 A'-RNA poly (I) : poly (C)
22 32.7 2.560 Hybrid poly (A) : poly d(T)
23 32.0 2.780 Hybrid poly d(G) : poly (C)
24 36.0 3.130 Hybrid poly d(I) : poly (C)
25 32.7 3.060 Hybrid poly d(A) : poly (U)
26 36.0 3.010 10-fold poly (X) : poly (X)
27 32.7 2.518 11-fold poly (X) : poly (X)
28 32.7 2.596 Poly (s2U) : poly (s2U) (symmetric base-pair)
29 32.7 2.596 Poly (s2U) : poly (s2U) (asymmetric base-pair)
30 32.7 3.160 Poly d(C) : poly d(I) : poly d(C)
31 30.0 3.260 Poly d(T) : poly d(A) : poly d(T)
32 32.7 3.040 Poly (U) : poly (A) : poly(U) (11-fold)
33 30.0 3.040 Poly (U) : poly (A) : poly(U) (12-fold)
34 30.0 3.290 Poly (I) : poly (A) : poly(I)
35 31.3 3.410 Poly (I) : poly (I) : poly(I) : poly(I)
36 60.0 3.155 Poly (C) or poly (mC) or poly (eC)
37 36.0 3.200 B'-DNA beta2 Poly d(A) : poly d(U)
38 36.0 3.240 B'-DNA beta1 Poly d(A) : poly d(T)
39 72.0 6.480 B'-DNA beta2 Poly d(AI) : poly d(CT)
40 72.0 6.460 B'-DNA beta1 Poly d(AI) : poly d(CT)
41 144.0 13.540 B'-DNA Poly d(AATT) : poly d(AATT)
42 32.7 3.040 Poly(U) : poly d(A) : poly(U) [cf. #32]
43 36.0 3.200 Beta Poly d(A) : Poly d(U) [cf. #37]
44 36.0 3.233 Poly d(A) : poly d(T) (Ca salt)
45 36.0 3.233 Poly d(A) : poly d(T) (Na salt)
46 36.0 3.38 B-DNA (BI-type nucleotides; generic sequence: A, C, G and T)
47 40.0 3.32 C-DNA (BII-type nucleotides; generic sequence: A, C, G and T)
48 87.8 6.02 D(A)-DNA ploy d(AT) : ploy d(AT) (right-handed)
49 60.0 7.20 S-DNA ploy d(CG) : poly d(CG) (C_BG_A, right-handed)
50 60.0 7.20 S-DNA ploy d(GC) : poly d(GC) (C_AG_B, right-handed)
51 31.6 3.22 B*-DNA poly d(A) : poly d(T)
52 90.0 6.06 D(B)-DNA poly d(AT) : poly d(AT) [cf. #48]
53 -38.7 3.29 C-DNA (generic sequence: A, C, G and T) (depreciated)
54 32.73 2.56 A-DNA (generic sequence: A, C, G and T) [cf. #1]
55 36.0 3.39 B-DNA (generic sequence: A, C, G and T) [cf. #4]
-------------------------------------------------------------------------------
List 1-41 based on Struther Arnott: ``Polynucleotide secondary structures:
an historical perspective'', pp. 1-38 in ``Oxford Handbook of Nucleic
Acid Structure'' edited by Stephen Neidle (Oxford Press, 1999).
#42 and #43 are from Chandrasekaran & Arnott: "The Structures of DNA
and RNA Helices in Oriented Fibers", pp 31-170 in "Landolt-Bornstein
Numerical Data and Functional Relationships in Science and Technology"
edited by W. Saenger (Springer-Verlag, 1990).
#44-#45 based on Alexeev et al., ``The structure of poly(dA) . poly(dT)
as revealed by an X-ray fiber diffraction''. J. Biomol. Str. Dyn, 4,
pp. 989-1011, 1987.
#46-#47 based on van Dam & Levitt, ``BII nucleotides in the B and C forms
of natural-sequence polymeric DNA: a new model for the C form of DNA''.
J. Mol. Biol., 304, pp. 541-561, 2000.
#48-#55 based on Premilat & Albiser, ``A new D-DNA form of poly(dA-dT) .
poly(dA-dT): an A-DNA type structure with reversed Hoogsteen Pairing''.
Eur. Biophys. J., 30, pp. 404-410, 2001 (and several other publications).

Recently, I heard from Thomas Holder, the PyMOL Principal Developer (Schrödinger, Inc.), that he had written a wrapper to the 3DNA fiber command. This PyMOL wrapper is implemented as part of his versatile PSICO library (see the PyMOL Wiki page Psico for details), and exposes the 55 fiber models based on Arnott and other’s work to the wide PyMOL user community. Moreover, the wrapper can be accessed directly from PyMOL (without installing PSICO), as shown below with an example:
PyMOL> run https://raw.githubusercontent.com/speleo3/pymol-psico/master/psico/creating.py
PyMOL> fiber CTAGCG
The resulting fiber model is the default B-form DNA of calf thymus, with twist of 36.0° and rise of 3.375 Å (see figure below). Note that cases in base sequence do not matter, so fiber ctagcg or fiber CTAgcg will give the same result.

Running PyMOL>help fiber gives the following detailed usages info, which should be sufficient to get one started with this fiber tool in PyMOL.
PyMOL> help fiber
DESCRIPTION
Run X3DNA's "fiber" tool.
For the list of structure identification numbers, see for example:
http://xiang-jun.blogspot.com/2009/10/fiber-models-in-3dna.html
USAGE
fiber seq [, num [, name [, rna [, single ]]]]
ARGUMENTS
seq = str: single letter code sequence or number of repeats for
repeat models.
num = int: structure identification number {default: 4}
name = str: name of object to create {default: random unused name}
rna = 0/1: 0=DNA, 1=RNA {default: 0}
single = 0/1: 0=double stranded, 1=single stranded {default: 0}
EXAMPLES
# environment (this could go into ~/.pymolrc or ~/.bashrc)
os.environ["X3DNA"] = "/opt/x3dna-v2.3"
# B or A DNA from sequence
fiber CTAGCG
fiber CTAGCG, 1, ADNA
# double or single stranded RNA from sequence
fiber AAAGGU, name=dsRNA, rna=1
fiber AAAGGU, name=ssRNA, rna=1, single=1
# poly-GC Z-DNA repeat model with 10 repeats
fiber 10, 15
Thanks to Thomas, for making another connection between PyMOL and 3DNA/DSSR. The other one is the DSSR-plugin for PyMOL to create “block” shaped cartoons for nucleic acid bases and base pairs.
See also 3DNA fiber models

As of release v2.3-2016sept06, the C source code of the 3DNA software package is available. The code can be found in the $X3DNA/src folder of the distributed tarballs for Linux, Mac OS X, and Windows. Since 3DNA is written in pure ANSI C, it can be compiled without changes on any platform with a modern C compiler.
The original codebase of 3DNA was written around year 2000. Up until v2.3, the infrastructure of 3DNA has remained stable for 16 years. During the time, 3DNA has been widely adopted in other bioinformatics pipelines and cited over 1,500 times. Over the years, I’ve received quite a few requests for 3DNA source code. However, due to complications of various factors (including software licensing), 3DNA had only been distributed in executable forms for the crucial C programs. Now, the C code of 3DNA is finally open source!
As before, users need to register on the 3DNA Forum to download the software. The download page also includes x3dna-v2.0.tar.gz that accompanied the 2008 Nature Protocols paper, and x3dna-v1.5.tar.gz that corresponded to the 2003 Nucleic Acids Research paper. Other than minor revisions to pass strict gcc compiler options, the v1.5 and v2.0 codebases are kept as they were. 3DNA is backward-compatible as far as the key base-pair parameters are concerned. Moreover, between v1.5 and v2.0, the command-line interface stays the same. The two previous versions are released for historical reasons. For example, one may notice some obvious “similarities” between 3DNA v1.5 and RNAView.
The development of DSSR and SNAP will push 3DNA into a brand new version (v3), which contains significant changes in functionality and interface, and is no longer compatible with previous versions. I intend to keep 3DNA v2.3 in a ‘maintenance’ mode: no new features are planed, but bug reports and user questions will be promptly addressed on the 3DNA Forum, as always. Making 3DNA open source should help further prompt its adoptions, and adaptations in structural bioinformatics of nucleic acids.
There are numerous types of software licenses, but none of them seems to be a good fit for my purpose. As a result, I’ve come up with a permissive “citation-ware” license with contents as below:
3DNA is a suite of software programs for the analysis,
rebuilding and visualization of 3-Dimensional Nucleic Acid
structures. Permission to use, copy, modify, and distribute
this suite for any purpose, with or without fee, is hereby
granted, and subject to the following conditions:
At least one of the 3DNA papers must be cited, including the
following two primary ones:
1. Lu, X. J., & Olson, W. K. (2003). "3DNA: a software
package for the analysis, rebuilding and visualization
of three‐dimensional nucleic acid structures." Nucleic
Acids Research, 31(17), 5108-5121.
2. Lu, X. J., & Olson, W. K. (2008). "3DNA: a versatile,
integrated software system for the analysis,
rebuilding and visualization of three-dimensional
nucleic-acid structures." Nature Protocols, 3(7),
1213-1227.
THE 3DNA SOFTWARE IS PROVIDED "AS IS", WITHOUT EXPRESSED OR
IMPLIED WARRANTY OF ANY KIND.
Any 3DNA-related questions, comments, and suggestions are
welcome and should be directed to the open 3DNA Forum
(http://forum.x3dna.org/).

Recently, I came across the article URS DataBase: universe of RNA structures and their motifs by Baulin et al. in Database, an online journal of biological databases and curation. I am glad to see that DSSR is used in the URSDB, as quoted below.
In the “Input data” subsection of “Materials and methods”:
RNA-containing structures were extracted from the PDB in mmCIF format; each file was divided into models. The base pairs (both canonical and non-canonical) and dinucleotide steps were annotated using the DSSR program from 3DNA toolkit (26). We also exploited detailed information provided by DSSR on given elements such as geometric parameters, types according to different classifications and various details on base conformations.
Moreover, under “Future development”, the authors said:
We plan to perform a comparative analysis of programs that annotate base pairs in RNA-containing PDB files. We will consider the four most popular programs, FR3D (35), MC-Annotate (36), RNAView (37) and DSSR (26). According to the analysis the annotation of the base pairs will be refined. In addition, we plan to include in the database annotations of base-phosphate, base-ribose and base stacking contacts and to implement search of such data.
It is gratifying to see DSSR listed as one of “the four most popular programs” for annotating RNA base pairs. It’d also be interesting to see how DSSR compares with FR3D, MC-Annotate, and RNAView from the user’s perspective.

With great interest, I read the article titled Improving NMR Structures of RNA by Bermejo et al. As is well-known, solution NMR structures of RNA normally exhibit more steric clashes and conformational ambiguities than their crystal X-ray counterparts. The paper introduces an improved force field, RNA-ff1, for structure elucidation with Xplor-NIH. By adopting realistic atom radii and a new statistical torsional potential, the RNA-ff1 force field significantly enhances covalent geometry and MolProbity validation scores (in steric contacts and backbone conformation) in the seven tested NMR datasets.
I am glad to see that DSSR is mentioned in the Section titled Analysis of Known Structural Motifs:
… The program DSSR (Lu et al., 2015) (part of the 3DNA software suite [Lu and Olson, 2003, 2008]) was used to evaluate the stacking configuration of successive base pairs (i.e., ‘‘steps’’) within the helical stems of the systems in the present calculations. The most interesting trends are observed for the base-pair step parameters slide (Figure 4K) and rise (Figure 4L), which respectively measure an in-plane dislocation and the vertical displacement of a step relative to a local mid-step reference frame (Lu and Olson, 2003; for analysis of all step parameters, see Figure S1). Relative to A-form parameters in high-resolution X-ray structures (Olson et al., 2001) (Figures 4K and 4L, dashed lines), the average slide of all but one of the original NMR models (PDB: 1O15) is small in absolute value (Figure 4K). … Moreover, four out of the seven original PDB models display an average rise considerably larger than the expected 3.32 Å (the van der Waals separation distance between bases, not to be confused with the helical rise, measured relative to the helical axis, expected to be 2.83 Å for A-form [Olson et al., 2001]).
As an example, the single stem of PDB: 2KOC’s representative structure, assumed to be an A-form helix (Nozinovic et al., 2010), displays a particularly large separation between base pairs C3–G12 and A4–U11 (rise: 4.33 Å) that is visually evident when compared with that of the RNA-ff1 representative model (rise: 3.33 Å ) (Figure 6A). Indeed, this base-pair step defies conformational classification by DSSR in the PDB: 2KOC structure, while it is assigned as A-form (along with the rest of the stem) in the RNA-ff1 structure.
Through the text, the term “stem” or “helical stem” is used consistently, in line with the nomenclatures adopted by DSSR. It is worth noting that DSSR also derives a complete set of backbone conformational parameters, including the assignment of sugar-phosphate backbone suites. The backbone parameters constitutes only a small portion of what DSSR has to offer, and they are written to the auxiliary file dssr-torsions.txt by default.
