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 Manual · G-quadruplexes · DSSR-Jmol · DSSR-PyMOL · DSSR Licensing · Video Overview· RNA Covers

Topics - xiangjun

Pages: 1 ... 3 4 [5]
As of v2.1, the fiber utility has several new options that make building single-stranded RNA structures of arbitrary sequence a snap:
  • -s for single-strand
  • -r for RNA structure
  • -seq for specifying arbitrary sequence directly on the command line
For example, to generate a single-stranded RNA structure of sequence 'AUUGGUUC', do the following:
Code: [Select]
fiber -s -r -seq=AUUGGUUC ss-RNA.pdb
# the -s and -r options can be combined as -sr or -rs
fiber -sr -seq=AUUGGUUC ss-RNA.pdb

Technically, the RNA model is based on A-DNA model (#1 in the list), with the O2' atom attached on the sugar, and T replaced by U. The -s option simply extracts the leading strand from the default duplex.

The easiest way to build a canonical double helical structure of specific sequence is to use the fiber program. The default option is structure #4, which corresponds to the calf thymus B-DNA double helix due to Struther Arnott. To build the A-form, the user should choose structure #1. Coordinates of these two structures are taken from 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).

For example, to build an A-DNA structure of sequence 'AAGCTTTC', one can do the following:
Code: [Select]
fiber -a -seq=AAGCTTTC fa.pdb
Note the -seq option is added as of v2.1.

FAQs / What is the correct name of the package: 3DNA or X3DNA?
« on: March 20, 2012, 01:15:55 pm »
The "official" name of the package is 3DNA for 3-Dimensional Nucleic Acids. See my post titled "Does 3DNA work for RNA?" for how the name came about, and read more on "What can 3DNA do for RNA structures?".

As to the term X3DNA: in setting up the system, we need an environment variable to specify the directory where 3DNA is installed. Since 3DNA per se is not a valid identifier, I added an "X" before 3DNA, thus X3DNA. Over the years, I have noticed outside websites linking and literature references citing 3DNA as X3DNA. Recently, while registering a domain name for 3DNA, I firstly tried the obvious choice of However, that name has already been taken, so I decided to resort to

The term 3DNA is not unique to our software package on nucleic acids structures. A Google search reveals at least two other products that use this name. Interestingly, there is even a PDB entry of 3DNA, which is actually a protein structure. X3DNA, on the other hand, is a name special to our package. Moreover, the X3DNA distribution package means eXecuting 3DNA. X3DNA also implies eXtreme or eXtended 3DNA -- we are working to move the software to the next level.

RNA structures (DSSR) / What can 3DNA do for RNA structures?
« on: March 06, 2012, 08:33:34 pm »
See DSSR -- a new component in 3DNA for Defining the (Secondary) Structures of RNA, and more... note added on Saturday, March 16, 2013.

While 3DNA stands for 3d-NA instead of 3-DNA, my experience tells me that there are noticeable confusions in the structural bioinformatics community as to its capabilities for RNA structures. The favicon and logo of the new 3DNA homepage and forum have been designed to help clarify the issue. To make the message even clearer, I have set up this specific section titled "RNA structures".

This starting post summarizes some of 3DNA's facilities for the analysis and modeling of RNA structures, using concrete examples. Note PDB entry 6tna (NDB id trna04) is for the crystal structure of yeast phenylalanine transfer RNA. All the data files and images are generated directly from the commands given, and the results should be exactly reproducible.

  • Generate regular double-stranded or single-stranded RNA models of arbitrary sequence:
    fiber -r -seq=accugggga dsRNA.pdb
    fiber -r -seq=accugggga -s ssRNA.pdb
    As of v2.1, fiber has three new options: -r for RNA, -seq for specifying sequence (of lower, UPPER or Mixed case) directly on the command-line, and -s for single-stranded structure. Download ssRNA.pdb of sequence accugggga.
  • Calculate all backbone torsion angles:
    analyze -tor=6tna.tor 6tna.pdb   # as of 3DNA v2.1
    find_pair -s 6tna.pdb stdout | analyze stdin
    Note the -s option; as of v2.1, explicit input file name (here stdin) is required for analyze. The output file is saved in file 6tna.outs.
  • Detect coaxially stacked helices:
    find_pair 6tna.pdb 6tna.inp
    ex_str -1 hel_regions.pdb h1.pdb
    ex_str -2 hel_regions.pdb h2.pdb
    The two helical regions, saved in file h1.pdb and h2.pdb correspond to the two arms of the L-shaped tRNA structure (see the 6tna.jpg image below).
  • Find all (non-canonical) base-pairs, and higher-order base associations. Here only one of the three base triplets is shown:
    find_pair -p 6tna.pdb 6tna.mbp
    ex_str -1 multiplets.pdb triplet1.pdb
    r3d_atom -od -r=0.1 -b=0.2 triplet1.pdb stdout | render -jpeg > triplet1.jpg
    Note the -p option. Higher-order base associations (i.e., with 3+ bases) are saved in file multiplets.pdb where each multiplet is automatically set in the most extended views to the mean plane of the bases. Here render from Raster3D is used to convert 3DNA-generated .r3d file into a jpeg image.

  • Generate the schematics base block image in the overall "best" view:
    blocview -i=6tna.jpg 6tna.pdb
    The image is named 6tna.jpg, and is shown below:

In my understanding, 3DNA's RNA functionalities outlined above are distinct from the well-known FR3D program developed by the Leontis-Zirbel team. 3DNA and FR3D are somewhat complementary in purpose and running style. As a specific example, as noted in the 2003 3DNA NAR paper excerpted below, 3DNA has unique features for base-pair classification that are complementary to the 3-edge (Watson-Crick edge, Hoogsteen edge and sugar edge) based Leontif-Westhof scheme.
Since the six base pair parameters uniquely define the relative position and orientation of two bases, they can be used to reconstruct the base pair. Moreover, the parameters provide a simple mechanism for classification of structures (55) and database searching (X.-J. Lu, Y. Xin and W.K. Olson, unpublished data). Among the six base pair parameters, only Shear, Stretch and Opening are critical in characterizing key hydrogen bonding features, i.e. base pair type: Shear and Stretch define the relative offset of the two base origins in the mean base pair plane and Opening is the angle between the two x-axes with respect to the average normal to the base pair plane (see upper left panel in Fig. 1). For the Hoogsteen A+U base pair shown in Figure 2b, Shear is 0.5 Å , Stretch –3.5 Å and Opening 70°. Buckle, Propeller and Stagger, in contrast, are secondary parameters, which simply describe the imperfections, i.e. non-planarity, of a given base pair.
Further details of the base pair search algorithm and the composition and geometries of all base pairing interactions observed to date in well-resolved RNA structures will be reported elsewhere (X.-J. Lu, Y. Xin and W.K. Olson, manuscript in preparation).

I am interested in extending 3DNA further into the RNA (structural) world. If you would like to collaborate on some specific project in this broad and important area, please drop me a message. Now that this section is open, I am hoping to see more applications of 3DNA in RNA structures. Questions, opinions, or comments? Please do not hesitate to post them here!

See also:


Site announcements / Download instructions
« on: February 25, 2012, 12:48:38 am »

Starting from 3DNA v2.1, we have streamlined the download procedure. Academic users need to register in the 3DNA Forum using their work email. Private emails such as, etc are not accepted. After verification and activation, users can then login to see the Downloads section. With registration, users can post 3DNA-related questions directly in the Forum.

To re-emphasize, you must register and log in to see the Download section (see the screenshot below), and then click *links at that page* to download 3DNA and related programs; specifically, command-line tools such as wget and curl are blocked on purpose. This page is for instructional purposes only; it does not contain active download links.

I strive to continuously improve and extend 3DNA's functionalities for real-world applications. Your comments, suggestions, and bug reports are more than appreciated -- I take careful note of each user feedback. Please be aware that for the benefit of the 3DNA-user community at large, I do not provide private email/personal message support; the Forum has been created specifically for open discussions of all 3DNA-related issues. In other words, any 3DNA-associated questions are welcome and should be directed here.

Specifically, please do not be shy in sharing openly and concretely any difficult/negative experiences you may have in installing or using the software. Presumably, I've made the message simple and clear enough to get across without further explanation. See also the FAQ entry "How to make the best use of the Forum".

By asking your questions on the public 3DNA Forum, you are benefiting not only yourself but also the user community. I monitor the Forum regularly and respond to posts promptly -- browsing the Forum should convince you of my dedication to 3DNA.


DSSR v2.4-2021nov11 has been released, with SNAP integrated into it. The stand-alone x3dna-snap program is gone and its functionality has been replaced by x3dna-dssr snap. Here is an overview of DSSR. DSSR has superseded 3DNA v2.4, with vastly expanded features and dramatically improved usability. Please visit the Columbia Technology Ventures (CTV) website to obtain a license and to download DSSR.

Here is the list of programs (3DNA v2.4 and SCHNAaP/SCHNArP) that can be downloaded from the 3DNA Forum:

3DNA v2.4.5-2021may19 (with C source code, distributed under the CC-BY-NC-4.0 license; obsoleted by DSSR!) -- What's new?. [Log in and click here to see the active download page.] Follow the instructions on "How to install 3DNA on Linux (macOS) and Windows?" and post back any questions you may have.

SCHNAaP/SCHNArP (with C source code, distributed under the CC-BY-NC-4.0 license) -- this package is a bit aged in applicability, but the algorithms implemented there are straightforward, easy to understand, and still valid.

Feature requests / Request for new features
« on: February 24, 2012, 03:00:30 pm »
Hi all,

Over the years, new features in 3DNA have largely been driven by requests from the user community. As a concrete example, the mutate_bases utility program in v2.1 has been created to meet the needs of applying 3DNA to modeling studies of DNA-protein interactions. Similarly, the x3dna_ensemble Ruby module was written in response to a common need of analyzing trajectories of molecular dynamics (MD) simulations.

I aim to give each and every feature request a careful consideration, but will only consider to implement or incorporate into 3DNA the ones that I can fully understand. Additionally and importantly, the new features must make sense to me (I can be more easily convinced with specific examples), and should be of at least potential general interest. I'd like to make it clear that feature-rich is not a priority or major goal of 3DNA; what I strive for is a coherent suite of programs that are robust and efficient, practical for real world applications and adaptable to new environments.

As always, I greatly appreciated your suggestions and comments.


Bug reports / Report 3DNA bugs
« on: February 24, 2012, 02:15:31 pm »
Hi all,

Over the years, it is the constructive interactions with the user community that has driven 3DNA to its current prominent status. Please do not hesitate to report bugs -- the more, the merrier. I strive to fix any identified bugs as soon as possible.

The following is a list of known bugs in the current release of 3DNA v2.0 that have all been fixed in v2.1:
  • The fiber utility fails to local model directory. This is a very subtle bug that has existed from the very beginning, but is known to show up only in Fedora 14 64-bit Linux machine. Fixed in v2.1beta as of 2012-02-23. Thanks to esguerra!
  • Parameter std_curved not working. This bug was first reported by slaw in the thread "Global Helical Axis Information Missing", and was recently rediscovered by esguerra. For the current v2.0 users who need this feature, the workaround is to modify file 'misc_3dna.par' as follows:
    <std_curved >0.6</std_curved >   # add a space in the end of the tag!

General discussions (Q&As) / mutate_bases
« on: February 11, 2012, 06:47:28 pm »
Note added on 2020-05-12: mutate_bases is now obsoleted by DSSR 2.0.

See also:

The utility program mutate_bases can be used to mutate bases in nucleic-acid-containing structures (DNA, RNA, and their complexes with ligands and proteins). It has two key and unique features: (1) the sugar-phosphate backbone conformation is untouched; (2) the base reference frame (position and orientation) is conserved, i.e., the mutated structure shares the same base-pair/step parameters as those of the native structure.

The mutate_bases program was created in response to repeated requests from 3DNA users over the years. Written as a standalone ANSI C program, it is on a par with other major 3DNA components (e.g., find_pair, analyze, rebuild and fiber). The program was first released as a supplement to 3DNA v2.0, and then became an essential part of the v2.1 release.

Overall, mutate_bases has been designed to solve the in silico base mutation problem in a practical sense: robust and efficient, getting its job done and then out of the way. The program can have many possible applications: in addition to perform base-pair mutations in DNA-protein complexes, it should also prove handy in RNA modeling and in providing initial structures for QM/MM/MD energy calculations, and in DNA/RNA modeling studies.

The standard command line help (mutate_bases -h) is as below:
        mutate_bases -- mutate bases, with backbone conformation unchanged
        mutate_bases [OPTIONS] mutinfo pdbfile outfile
        perform in silico base mutations of 3-dimensional nucleic acid
        structures, with two key and unique features: (1) the sugar-
        phosphate backbone conformation is untouched; (2) the base
        reference frame (position and orientation) is reserved, i.e.,
        the mutated structure shares the same base-pair/step
        parameters as the original one.
        -e    enumeration of all bases in the structure
        -l    name of file, containing list of mutations
        'mutinfo' can contain upto 5 fields for each mutation
                  [name=residue_name] [icode=insertion_code]
                  chain=chain_id seqnum=residue_number
            The five fields per mutation can be in any order or CaSe.
            Each field can be abbreviated to its first character.
            Multiple mutations specified per line are separated by ';'.
            Fields in [] (i.e., name and icode) are optional.
            Mutation info should be QUOTED to be taken as one entry.
        Nucleic-acid-containing structure file in PDB format
            # mutate G2 in chain A of B-DNA 355d to Adenine
        mutate_bases "c=a s=2 m=DA" 355d.pdb 355d_G2A.pdb
            # mutate the second base-pair G-C to A-T in 355d
        mutate_bases "c=a s=2 m=DA; c=B s=23 m=DT" 355d.pdb 355d_GC2AT.pdb
            # the above also generates file 'mutations.dat'
            # and the following command gives the same results
        mutate_bases -l mutations.dat 355d.pdb 355d_GC2AT_v2.pdb
            # mutate C74 in chain A of tRNA 1evv to U       
        mutate_bases "c=A s=74 m=U" 1evv.pdb 1evv_C74U.pdb
            # list all bases to be tailored for mutation
        mutate_bases -e 355d.pdb stdout
        mutated structure in PDB format, sharing the same backbone
        conformation and base pair parameters as the original one.
        analyze, find_pair, rebuild
        3DNA v2.1 (c) 2012 Dr. Xiang-Jun Lu (

Now let's take advantage of the web to illustrate the key features of mutate_bases using a set of worked examples. The scripts and corresponding data files & images are attached, so you can repeat the procedures in order to have a better understanding of how the program works.

In our GpU dinucleotide platform paper, we reported a previously unnoticed intra-dinucleotide sugar-phosphate H-bond that is unique to the GpU platform. This O2′(G)···O2P(U) H-bond readily rationalizes the over 60% occurrence of GpU over other platforms (e.g., ApA and UpC). Moreover, this H-bond has recently been validated by state-of-the-art quantum-chemical techniques.

In this section, we will use mutate_bases to answer the questions of (1) why GpU, not GpT? i.e., why the GpU platform is RNA-specific? (2) why no UpG platforms observed? i.e., why the GpU platform is directional? The GpU platform (1msy_gu.pdb) is derived from PDB entry 1msy. The figure below shows the identity of the two nucleotides (G2655 and U2656 on chain A) and names of the base atoms.

"GpU platform" title="GpU platform"

  • Why no GpT platform?
    mutate_bases "c=a s=2656 m=t" 1msy_gu.pdb 1msy_gt.pdb
    With the above command, we mutate U (which is residue #2656 on chain A) to T (see figure below). Clearly, the methyl group of T protrudes into the pocket, causing steric clash. Thus GpT is incompatible with the platform conformation.

    "GpT platform?" title="GpT platform?"

  • Why no UpG platform?
    mutate_bases "c=a s=2655 m=u; c=a s=2656 m=g" 1msy_gu.pdb 1msy_ug.pdb
    Using the above command, we mutate G (which is residue #2655 on chain A) to U, and U to G simultaneously. That's what the plural 's' in mutate_bases stands for. From the figure below, one can see clearly that no intra-base H-bond is now possible, consistent with the fact that no UpG platform has been observed.

    "no UpG platform!" title="no UpG platform!"

    Note that the above command also generates a file named 'mutations.dat', which has the following content:
    c=a s=2655 m=u
    c=a s=2656 m=g
    You can then use the -l option of mutate_bases as such:
    mutate_bases -l mutations.dat 1msy_gu.pdb 1msy_ug2.pdb.
    The two mutated PDB files, 1msy_ug.pdb and 1msy_ug2.pdb, are identical.
You can run find_pair and analyze to the raw and mutated PDB files and verify that they indeed have the same base-pair parameters and backbone conformation.

To summarize, here is the command-script:
Code: [Select]
mutate_bases "c=a s=2656 m=t" 1msy_gu.pdb 1msy_gt.pdb
mutate_bases "c=a s=2655 m=u; c=a s=2656 m=g" 1msy_gu.pdb 1msy_ug.pdb
mutate_bases -l mutations.dat 1msy_gu.pdb 1msy_ug2.pdb

The PDB files referred:

Note all the images used in this post were generated using Jmol. As much I like RasMol (v2.6.4), I am now gradually switching to Jmol and PyMOL.

Note added on Monday, July 17, 2017:

Single quotes in mutate_bases command-line option have been replaced by double quotes so that the program also works in native Windows. See follow-up messages below.

General discussions (Q&As) / find_pair
« on: February 11, 2012, 06:44:09 pm »
find_pair now contains -c+ option to generate input for Curves+.

FAQs / How do I cite 3DNA?
« on: January 25, 2012, 06:11:55 pm »
Please use at least one of the following literature references:
The current citation list to 3DNA can be found in Google scholar.

General discussions (Q&As) / How to install 3DNA on Linux and Windows?
« on: January 24, 2012, 03:36:30 pm »
3DNA is a command-line driven software tool, developed and tested in Linux/Mac OS X systems. It can also be easily installed on other Unix variants, including Cygwin and MinGW/MSYS in Windows. The following instructions are targeted on two typical scenarios: one for Linux, and the other for MinGW/MSYS-based Windows.

As of 3DNA v2.1, Ruby has replaced Perl as the scripting language. Therefore, you must also have Ruby installed on your system. 3DNA has no dependence on any third-party gem, and has been tested on Ruby 1.8.x and 1.9.x series. Even though Ruby may not be installed by default on your system, the software is widely available on all common OSes, and should be straightforward to install.

As of 3DNA v2.3-2016sept06, the C source code is available (under the folder $X3DNA/src).

On Linux (including Mac OS X, or Cygwin on Windows)
Assuming the downloaded tarball file is named x3dna-v2.3-linux-64bit.tar.gz. At your current working directory (presumably your home directory), do the following:
  • tar pzxvf x3dna-v2.3-linux-64bit.tar.gz
    Here the options pzxvf require some explanation:
    • p to preserve permissions of the various directories and files. This option may not be required for a personal setting.
    • z filter the archive through gzip. With this option, we can work directly from .tar.gz file without first using gunzip.
    • x to extract files from an archive.
    • v to verbosely list files processed.
    • f to use archive file, i.e., the 3DNA tarball file x3dna-v2.3-linux-64bit.tar.gz.
    After running the above command, you will get a directory named x3dna-v2.3 which contains the 3DNA v2.3 distribution.
  • cd x3dna-v2.3/bin
    enter into the bin directory of the 3DNA v2.3 distribution.
  • ./x3dna_setup
    run the 3DNA setup Ruby script, and you will see an output similar to the following:
    To install X3DNA, do as follows:
      (0) download 3DNA binary distribution for your system from URL
      (1) tar pzxvf x3dna-v2.3-linux-64bit.tar.gz
      (2) cd x3dna-v2.3/bin
      (3) ./x3dna_setup
            To run X3DNA, you need to set up the followings:
              o the environment variable X3DNA
              o add $X3DNA/bin to your command line search path
              for your 'bash' shell, please add the following into ~/.bashrc:
                export X3DNA='/home/xiangjun/x3dna-v2.3'
                export PATH='/home/xiangjun/x3dna-v2.3/bin':$PATH
              and then run: source ~/.bashrc
      (4) type find_pair -h
            for command line help -- this applies to all 3DNA binaries
            Visit 3DNA homepage at URL for more info.
    Here the key parts are colored red, i.e., set the environment variable X3DNA and add $X3DNA/bin to your command search path.

    The above example refers to the most commonly used 'bash' shell. For the 'sh' shell, the 'x3dna_setup' output would be:
              for your 'sh' shell, add the following into ~/.profile:
                  export X3DNA='/home/xiangjun/x3dna-v2.3'
                  export PATH='/home/xiangjun/x3dna-v2.3/bin':$PATH
              and then run: source ~/.profile
    You may need to use the dot command: . ~/.profile. For the 'tcsh' (or 'csh') shell, the 'x3dna_setup' output would be:
              for your 'tcsh' shell, add the following into ~/.cshrc:
                setenv X3DNA '/home/xiangjun/x3dna-v2.3'
                setenv PATH '/home/xiangjun/x3dna-v2.3/bin':$PATH
              and then run: source ~/.cshrc
    If your shell is none of the four recognized ones -- bash, sh, tcsh, or csh -- or cannot be detected, the script still outputs sensible settings about the installation.
  • find_pair -h
    or ./find_pair -h if you've strictly followed the steps above, and your current working directly is not in the command search path. Now you should see a screenful of command-line help. Congratulations -- You now have 3DNA properly installed! If otherwise, please post here with details, and we will try to help you out.

On native Windows (added on July 14, 2017)
See FAQ entry: "How to set up 3DNA on Windows"?

On MinGW/MSYS--based Windows
First, you need to install MSYS2 and Ruby on Windows. Depending on your experience, you may need to seek help from local experts. The following is a general guideline to get you started. Overall, it should be quite straightforward.

  • Use MSYS2 installer to install MSYS2, either 32-bit or 64-bit is fine. I've found MSYS2 to be simpler to install than the original MinGW/MSYS system.
  • Then install the latest version of Ruby with "Ruby Installer". In the "Installation Destination and Optional Tasks" section, be sure to select "Add Ruby executables to your path", and "Associate .rb and .rbw files with this Ruby installation".

After installing MinGW/MSYS, double-click the "M" (msys) icon on the desktop to start the MSYS shell.. See the thread "How to install 3DNA on MinGW/MSYS".

Then follow the instructions above on installing 3DNA on Linux.

Compile 3DNA from the source code
  • Follow step #1 for Linux (above) to extract the 3DNA tarball to its own folder (x3dna-v2.3)
  • cd x3dna-v2.3/src
    Then type make
    The gcc compiler is assumed in the Makefile. If you have a non-gcc compiler, you should modify the following two lines as appropriate:
    CFLAGS      = -ansi -pedantic -W -Wall -Wextra -Wunused -Wshadow  -O3
    CC      = gcc
    Since 3DNA is implemented in strict ANSI C, it should compile without any changes with any modern C compiler.
    Then follow steps 2-4 above for Linux to set the X3DNA and PATH environment variables.

There are currently two consecutive standards on the nomenclature and definition of nucleic acid structural parameters, the initial 1989 Cambridge Convention, and the 1999/2001 Tsukuba Report (standard base-reference frame).

The 1989 Cambridge Convention

The 1989 EMBO Workshop (held at Cambridge, England) provided the first systemic "definitions and nomenclature of nucleic acid structure parameters" [Dickerson et al. (1989), Nucleic Acids Res., 17(5), 1797-803]. Thereafter, several analysis programs were updated or created (most notably Curves from Richard Lavery and NewHelix/FreeHelix from Richard Dickerson), following the loosely defined convention. Even though the parameters are now named the same, the different programs can provide conflicting numerical values, especially for strongly distorted structures. See, for example, Werner et al. (1996) "Intercalation, DNA kinking, and the control of transcription" [Science, 271(5250), 778-84].

The 1999 Tsukuba Workshop

Our efforts in "resolving the discrepancies among nucleic acid conformational analyses" uncovered the source of the disparate descriptions from commonly used software programs:

Growing interest in understanding the relationship between the global folding of nucleic acids and the sequence-dependent structure of individual base-pair steps has stimulated the development of new mathematical methods to define the geometry of the constituent base-pairs. Several approaches, designed to meet guidelines set by the nucleic acid community, permit rigorous comparative analyses of different three-dimensional structures, as well as allow for reconstruction of chain molecules at the base-pair level. The different computer programs, however, yield inconsistent descriptions of chain conformation. Here we report our own implementation of seven algorithms used to determine base-pair and dimer step parameters. Aside from reproducing the results of individual programs, we uncover the reasons why the different algorithms come to conflicting structural interpretations. The choice of mathematics has only a limited effect on the computed parameters, even in highly deformed duplexes. The results are much more sensitive to the choice of reference frame. The disparate schemes yield very similar conformational descriptions if the calculations are based on a common reference frame. The current positioning of reference frames at the inner and outer edges of complementary bases exaggerates the rise at distorted dimer steps, and points to the need for a carefully defined conformational standard.

This work laid the foundation for the standardization of the base-pair parameters in the 1999 Tsukuba Workshop on Nucleic Acid Structure and Interactions. Following public review and discussion, and final approval by the IUBMB Nomenclature Committee, the standard base-reference frame paper came out in 2001 [PDF from the Nucleic Acids Database (NDB)]. From the initiation to its completion, the standardization was made possible by the NDB project, led by Helen Berman.

While not a participant of the 1999 Tsukuba Workshop, I was nevertheless heavily involved in the preparation of the final report. In the following posts at this section, I am planning to provide full data files and scripts so the Figures and Tables can be re-generated. In addition to serving as learning materials for new comers to the field of nucleic acid structures, the details should also be of interest to seasoned practitioners to watch for the caveats. From my own perspective, the work is directly relevant to the automatic identification and classification of non-canonical base pairs in RNA structures, among other possible applications already implemented in or to be added to 3DNA.

To the best of my knowledge, currently only 3DNA and Curves+ conform to the standard base-reference frame; as a result, the structural parameters (for Watson-Crick base-pair duplexes) calculated by the two programs are very similar.

Related PDF Documents

Users' contributions / Building modified fiber models
« on: January 07, 2012, 11:26:32 pm »
This post is based on a series of email exchanges I had with Satoshi Yokojima (Institute of Materials Science, University of Tsukuba, Japan) in June 2004. This topic is on how to build base-only fiber models with varying rise, using a combination of various 3DNA components. Satoshi Yokojima kindly summarized the procedure from a user's perspective, as enclosed below.

-- Xiang-Jun
Date: Fri, 25 Jun 2004 21:32:13 +0900 (JST)
From: Satoshi Yokojima <>
To: Xiangjun LU <>
Cc: W. K. Olson <>,
     Satoshi Yokojima <>
Subject: Re: 3DNA --- building "modified" fiber models

Dear Dr. Lu:

I have finished the check of the new geometry and I found that
it is what I wanted to have.  The procedure you have suggested
worked nicely.  The thing what I did is as follows:

 [1] A new directory X3DNA/MY_Fiber55 is created.
 [2] The A|C|G|T.pdb files are copied from X3DNA/FIBER/Str55
    into X3DNA/MY_Fiber55.
 [3] In order to rebuilt the structure without backbones,
    I have deleted the backbone atoms from A|C|G|T.pdb
    using vi.
 [4] The following commands are executed in X3DNA/MY_Fiber55.
         > std_base A.pdb Atomic_A.pdb
         > std_base C.pdb Atomic_C.pdb
         > std_base G.pdb Atomic_G.pdb
         > std_base T.pdb Atomic_T.pdb
 [5] A new directory test/rise=10 is created where I wanted to
    produce the 55-th fiber model structure without the
    backbone and with Rise = 10 Angstrom.
 [6] The files Atomic_A|C|G|T.pdb are linked to the directory
 [7] The 55-th fiber model structure 5'-GG-3' is generated in
    the directory test/rise=10 by the command:
         > echo "2"   >
         > echo "GG" >>
         > echo "1"  >>
         > fiber -55 f55.pdb < >& f55.out
 [8] The following command is executed.
         > find_pair f55.pdb stdout | analyze
 [9] The Rise value in the file "bp_step.par" is modified
    to 10 Angstrom by vi editor.
[10] The 55-th fiber model structure without the backbone
    and with Rise = 10 Angstrom is created by the command
    rebuild as follows:
         > rebuild -atomic bp_step.par f55_newRise.pdb
[11] The procedure from [5]-[10] is repeated for the different
    Rise values.

I think it is a good idea to add a lot of examples in the manual.
People can learn much easier from the casebook than from the
explanation of the commands.  I did not even imagine that the 3DNA
can do some of these things.  Also, if you have a good manual,
I can recommend other people to use 3DNA to build DNA structures.

It is very kind of you to explain the detailed usage of 3DNA.
Thank you very much, again.

 Sincerely yours,
 Satoshi Yokojima

              Satoshi  Yokojima
        Institute of Materials Science
            University of Tsukuba

On Fri, 25 Jun 2004, Satoshi Yokojima wrote:

> Dear Dr. Lu:
> Thank you very much for your quick reply.  It looks like it is
> working this time, but I think I need to do more careful check
> tomorrow.  I will send you another e-mail when I finish doing it.
> Thank you very much, again.
>  Sincerely yours,
>  Satoshi Yokojima
>     --------------------------------------
>               Satoshi  Yokojima
>         Institute of Materials Science
>             University of Tsukuba
>     --------------------------------------
> On Thu, 24 Jun 2004, Xiangjun LU wrote:
> > Dear Satoshi:
> >
> > Thanks for your message. I am so glad you noticed this slight difference.
> > Apparently, you are a rigorous scientist by not taking your tools blindly.
> >
> > The reason for this slight difference is due to the fact that the standard
> > default base geometry (Atomic_A|C|G|T.pdb under X3DNA/BASEPARS) used by
> > 3DNA when rebuilding the structure is DIFFERENT from the geometry of the
> > fiber model 55 repeating units.
> >
> > Using a different set of base geometry for analysis and rebuild is
> > expected when we developed 3DNA, and the solution to your problem would be
> > as follows:
> >
> > [1] create a new directory, say MY_Fiber55
> > [2] copy into MY_Fiber55 the A|C|G|T.pdb files from X3DNA/FIBER/Str55
> > [3] Since you would like the rebuilt structure WITHOUT backbones, you need
> >     to delete the backbone atoms from A.pdb etc manually, using any text
> >     editor (e.g., vi or emacs)
> > [4] run command
> >               std_base A.pdb Atomic_A.pdb
> >       and repeat the above for C.pdb, G.pdb and T.pdb
> > [5] Then `analyze', change Rise in "bp_step.par", and `rebuild' as
> >     outlined previously, the "slight difference between the required and
> >     produced structure" will be gone.
> >
> > Type "std_base" for more help information. Another issue to note here is
> > that `analyze' and `rebuild' check for standard base geometry files from
> > current working directory first, then those defined by environmental
> > variable X3DNA, and finally ~/X3DNA.
> >
> > Please have a try and let me know what happens. It would help if you could
> > document step-by-step what you did. We are currently working to improve
> > documentations on 3DNA, and we certainly welcome users working examples.
> > Of course, we will properly acknowledge your contributions.
> >
> > Best regards,
> >
> > Xiang-Jun
> >
> > On Thu, 24 Jun 2004, Satoshi Yokojima wrote:
> >
> > > Dear Dr. Lu:
> > >
> > > After examining the file produced by the method you have suggested,
> > > I have noticed that there is a slight difference between the required
> > > and produced structure.  The difference is in, for example, the bond
> > > length.
> > >
> > >   I wanted to keep all the structural parameters in the 55-th
> > > fiber model but Rise.  It means I need to use the bond length and
> > > angles (including Hydrogen-bond) found in the 55-th fiber model.
> > > This is important because the 0.1 Angstrom difference of the bond
> > > length changes the single bond to the double bond.  Therefore, the
> > > results of the electronic structure calculations are quite different.
> > >
> > >   Are there any method I can use to make 3DNA produce the structure
> > > I want to have?  Somewhat hard way, such as replacing BASEPAIR files,
> > > is fine for me, but I need to know what is the correct way to do it.
> > >
> > >  Sincerely yours,
> > >  Satoshi Yokojima
> > >
> > >     --------------------------------------
> > >               Satoshi  Yokojima
> > >
> > >         Institute of Materials Science
> > >             University of Tsukuba
> > >     --------------------------------------
> > >
> > >
> > > On Thu, 24 Jun 2004, Satoshi Yokojima wrote:
> > >
> > > > Dear Dr. Lu:
> > > >
> > > > Thank you very much for your detailed explanation about the coordinates
> > > > used in the fiber model.  Your suggested method to make the 55th fiber
> > > > model without a backbone and a different Rise value works perfectly.
> > > > That was just what I wanted to know.
> > > >
> > > > Thank you very much, again.
> > > >
> > > >  Sincerely yours,
> > > >  Satoshi Yokojima
> > > >
> > > >     --------------------------------------
> > > >               Satoshi  Yokojima
> > > >
> > > >         Institute of Materials Science
> > > >             University of Tsukuba
> > > >     --------------------------------------
> > > >
> > > > On Wed, 23 Jun 2004, Xiangjun LU wrote:
> > > >
> > > > > Dear Satoshi:
> > > > >
> > > > > Thanks for using 3DNA and your nice words about it.
> > > > >
> > > > > Now, to answer your questions. Firstly, all the fiber models are based on
> > > > > literature work. Under directory X3DNA/FIBER, there is a README file, and
> > > > > a subdirectory for each of the 55 fiber models inlcuded with 3DNA. For the
> > > > > 55th fiber model, for example, you will find the following files at Str55/
> > > > >
> > > > > ----------------------------------------------------------
> > > > >     A.pdb      C.pdb      G.pdb      T.pdb
> > > > >     A.rpt      C.rpt      G.rpt      T.rpt
> > > > >     TableIV.dat
> > > > > ----------------------------------------------------------
> > > > >
> > > > > File "TableIV.dat" contains the data originally published by the authors.
> > > > > In this case, S. Premilat & G. Albiser "Conformations of A-DNA and B-DNA
> > > > > in agreement with fiber X-ray and infrared dichroism."  Nucleic Acids
> > > > > Research, 11(6), (1983), p.1897-1908.
> > > > >
> > > > > A|C|G|T.rpt are the processed files in "pseudo"-PDB format, actually
> > > > > storing atomic cylindrical coordinates. These repeating units are used by
> > > > > 3DNA to generate the fiber models given a base sequence or the number of
> > > > > repeats. The corresponding *.pdb files are in real PDB format with the
> > > > > corresponding x-, y-, and z-coordinates converted from the cylindrical
> > > > > coordinates. These PDB files can be displayed using a molecular graphics
> > > > > program, such as Rasmol. While they are not directly used by 3DNA while
> > > > > generating the fiber models, they were helpful for "quality-control" in
> > > > > the initial process.
> > > > >
> > > > > The 55 fiber model collected in 3DNA are from different authors, spanning
> > > > > several decades. Quite naturally, file formats, conventations for z-axis
> > > > > directions, atomic names etc, varied greatly, and of course, with typos,
> > > > > errors as well. To provide a useful tool to the community, we went through
> > > > > some quite painstaking procedures to make our collection as transparent
> > > > > and consistent as possible.
> > > > >
> > > > > Secondly, with the above background information, and if I understand your
> > > > > question accurately, i.e. you would like a model based on fiber #55,
> > > > > without the backbone and a different Rise value. This could be easily done
> > > > > in 3DNA as follows:
> > > > >
> > > > > [1] generate the 55-th fiber model using any base sequence you are
> > > > >     interested in, say named f55.pdb
> > > > > [2] find_pair f55.pdb stdout | analyze
> > > > > [3] modify file "bp_step.par" or "bp_helical.par" generated by [2] using
> > > > >     your favored text editor by changing the Rise values
> > > > > [4] rebuild -atomic bp_step.par f55_newRise.pdb
> > > > >
> > > > > Hope this helps.
> > > > >
> > > > > Xiang-Jun
> > > > >
> > > > > On Thu, 24 Jun 2004, Satoshi Yokojima wrote:
> > > > >
> > > > > > Dear Dr. Lu:
> > > > > >
> > > > > > I am using your program 3DNA.  Thanks to your nice work,
> > > > > > it is very useful for my research.
> > > > > >
> > > > > > Recently, I wanted to make the 55-th fiber model structure
> > > > > > but without backbone and give different Rise for an analysis
> > > > > > of the energetics of DNA.  Since I cannot do such a thing
> > > > > > by 3DNA as far as I understand, I tried to make a simple
> > > > > > program to do it.
> > > > > >  Then, I have noticed that I do not understand the frame well.
> > > > > > At first, I thought that the i-th local base-pair frame should
> > > > > > be used as a coordinate system to find Shift, Slide, Rise
> > > > > > between the i-th and (i+1)-th base-pairs translation.  However,
> > > > > > it looks like it is not the case.  Now I think that the helical
> > > > > > axis is taken as the z-direction of the coordinate system but
> > > > > > that's not enough for me to determine your coordinate system.
> > > > > >
> > > > > > Could you kindly explain how you have taken the coordinate system
> > > > > > in 3DNA to calculate Shift, Slide, Rise.  If it is not so easy,
> > > > > > could you tell me any reference?
> > > > > >
> > > > > > Thank you very much in advance.
> > > > > >
> > > > > >  Sincerely yours,
> > > > > >  Satoshi Yokojima
> > > > > >
> > > > > >     --------------------------------------
> > > > > >               Satoshi  Yokojima
> > > > > >
> > > > > >         Institute of Materials Science
> > > > > >             University of Tsukuba
> > > > > >     --------------------------------------
> > > > > >
> > > > >
> > > >
> > >
> >

Hi MD practitioners,

Here is the updated release v0.7 of two Ruby scripts that aim to streamline the analysis of MD simulation trajectories with 3DNA. There is also a blog post with more background information, but here are the most relevant:
  • Where to download
  • How to install (see README file for more information):
    tar zxvf x3dna_md_v0.7.tar.gz
    and you will get a directory named x3dna_md_v0.7/, underneath you will find two Ruby scripts:  x3dna_md.rb  and extract_par.rb, and associated data files for testing and verification purpose.
  • How to run x3dna_md.rb: this script needs to be run first. Detailed help message (with -h) is shown below:
            x3dna_md.rb options
            x3dna_md.rb -b bpfile.dat -e sample_md0.pdb
                 # 21 models (0-21); output (default): 'x3dna_md.out'
                 # also generate 'model_list.dat', see below
            x3dna_md.rb -b bpfile.dat -m model_list.dat -o x3dna_md2.out
                 # diff x3dna_md.out x3dna_md2.out
            x3dna_md.rb -b bpfile.dat -p 'pdbdir/model_*.pdb' -o x3dna_md3.out
                 # note the quote for -p option; 20 models (1-20)
                 # also also generate 'pdb_list.dat', see below
            x3dna_md.rb -b bpfile.dat -l pdb_list.dat -o x3dna_md4.out
                 # diff x3dna_md3.out x3dna_md4.out
                 # note the order of PDB files: 1, 10..19, 2, 20, 3..9
        --bpfile, -b <s>:   File containing base-pairing info (as generated
                            from find_pair, and EDITED as appropriate)
       --outfile, -o <s>:   Output file name (default: x3dna_md.out)
      --ensemble, -e <s>:   Model ensemble in  pairs
        --models, -m <s>:   Explicit list of model numbers
       --pattern, -p <s>:   Pattern of PDB files to process (e.g., *.pdb)
          --list, -l <s>:   Explicit list of individual PDB file
           --version, -v:   Print version and exit
              --help, -h:   Show this message
    Note specifically that an input file with base-pairing (-b) information must be provided, which can be easily generated using find_pair and then manually edited as necessary. Needless to say, the base-pair file specified with -b must match the pairing configuration in each model of the ensemble. The input can be conveniently supplied with one of four options (-e, -m, -p, -l), allowing for great flexibility. Importantly, for the -e and -m options, each model in the ensemble must be delimited by an MODEL/ENDMDL pair, as clearly documented in the Coordinate Section of the PDB format.

    The output file contains a comprehensive set of 3DNA calculated parameters, each enclosed in an xml-style tag pair; e.g., <propeller>...</propeller>. Each parameter is arranged in a tab-delimited m-by-n matrix, where m is the number of models, and n is the number of base-pairs or steps. The default file name is x3dna_md.out and an example is attached.
  • How to run extract_par.rb: this script needs to be run after x3dna_md.rb. Detailed help message (with -h) is shown below:
            extract_par.rb options
            extract_par.rb -l
                 # to see a list of all parameters
            extract_par.rb -p prop
                 # -p 36 also fine (see above); from file 'x3dna_md.out'
                 # for propeller, no need to specify full: -p pr suffices
            extract_par.rb -p slide -s , -f x3dna_md3.out
                 # comma separated, from file 'x3dna_md3.out', to screen
            extract_par.rb -p roll -s ' ' -n > roll.dat
                 # space separated, no row-label, to file 'roll.dat'
            extract_par.rb -a
                 # extract all parameters, each in a separate file
                 # prefixed with 'x3dna_md_': e.g., 'x3dna_md_chi1.out'
                 # run 'extract_par.rb -c' to clean up all generated files
            extract_par.rb -e 1 -p chi1
                 # extract the chi torsion angle of strand I, but exclude
                 # those from the two terminal base pairs. For comparison,
                 # run also: extract_par.rb -p chi1
               --no-1col, -n:   Delete the first annotation column
         --separator, -s <s>:   Separator for fields [tab] (default: 	)
                  --list, -l:   List all parameters
                   --all, -a:   Extract all parameters into separate files
                 --clean, -c:   Clean up parameter files by the above -a option
          --par-name, -p <s>:   Name of parameter
          --fromfile, -f <s>:   File name with parameters (default:
      --end-effects, -e :   No. of end pairs to ignore (default: 0, 0)
               --version, -v:   Print version and exit
                  --help, -h:   Show this message
    Three sample output files are attached below for reference: propeller.tsv contains propeller of 21 models of a 12-mer in the default tab-delimted format; slide.csv contains roll in comma separated format; and roll.dat in space separated format, without leading label column. The output parameter table is intended to be fed into R/Matlab/Octive/Excel etc for statistical analysis or visualization.
  • Acknowledgments: thanks to Aneesh for the final "push"; Alpay for sharing his Python script, and providing an example data set on which the Ruby scripts were tested.

    The Ruby scripts takes advantage of William Morgan's Trollop (v1.16.2) ( for command line option parsing. To make the scripts self-contained, the single file trollop.rb is included with the distribution.

    The scripts were tested with Ruby 1.9.2p0 on Ubuntu Linux (10.04), and 1.8.7 on Mac OS X Snow Leopard.

Enjoy, and do not forget to report back any problems you experience!

Version history

  • 2011-01-18: v0.1, first release.
  • 2011-02-12: v0.2, fixed a bug with `each': no block given -- thanks to shahabshariati!
  • 2011-03-05: v0.3, removed the model_ prefix at the first column of extracted parameter file; added the -e option to delete parameters associated with terminal base-pairs -- thanks to Alpay's suggestions.
  • 2011-03-16: v0.4, significant refinement of the scripts (in line of defensive programming) to check for various possible erroneous inputs (e.g., mismatched base-pair file, ensemble not delimited by MODEL/ENDMDL pairs etc); added -d option to make error message more obvious; added a comprehensive README file.
  • 2011-04-02: v0.5, added return value checking of system() calls, plus other refinements.
  • 2011-05-29: v0.6, refined system-call and pair checking with more informative message.
  • 2011-09-30: v0.7, added H-bond and overlap areas parameters, and the -c option in extract_par.rb.


Recently I received a request from Mauricio, a graduate student from Dr. Olson's laboratory, for a technical question on generating the potential energy contour plots in the Olson et al. 1998 PNAS paper [PNAS98], "DNA sequence-dependent deformability deduced from protein–DNA crystal complexes." Then I vaguely remembered another PNAS98-related request from Dr. Olson several years ago, regarding details of data processing procedures.

PNAS98 is published a dozen years ago, and over the years it has made a big impact on the area of DNA-protein interactions, as evident by its over 400 citations. In retrospect, I was involved in the project mostly from a "technical" perspective: Andrey Gorin collected and analyzed (using CompDNA) the original DNA-protein complexes, and left the Olson lab before I came. I took over the project and performed further processing to generate all the table and figures used in PNAS98.

After publishing PNAS98, I have never done any follow up work regarding energetics of DNA-protein interactions. So all PNAS98-related files and scripts had been sleeping around, until I was contact by Dr. Olson in early 2006. It took me quite a while to dig them out, cleaned up and put them together. Four years later, now when Mauricio asks me a related question again, I tried to trace the emails I communicated with Dr. Olson on this matter. Unfortunately, my rutchem email account ceased to function from around summer 2006. So I have to check  backups from old machines I used ages ago ... It is from this time-consuming process (again) that I've decided to write this post to put together all PNAS98-related information I have collected, for the benefit of easy future reference.

The tarball PNAS98_Data.tar.gz contains the raw data I received from Gorin, and the scripts I used for further processing. See the included README.pdf and index.html for details. The Matlab script Ro_Tw_WKO.m was used to generate the ellipsoids contour plots of potential energies.  Around 1998, I think the version of Matlab I used was 5.x. Note that I do not have access to Matlab on my desktop nowadays.

For reasons detailed above, if you have further questions regarding PNAS98, please post them here instead of sending me emails, and I will try my best to answer them.


General discussions (Q&As) / Please join me in my blog posts!
« on: May 17, 2009, 01:39:42 pm »
I have recently started to blog on topics I am interested in or feel worthwhile to take a note on. The posts necessarily reflect my personal, opinionated views, and you are welcome to make comments.


w3DNA -- web interface to 3DNA / Jmol as an alternative for visualization?
« on: December 09, 2008, 02:35:29 pm »
Hi Guohui,

I noticed that you are using WebMol for visualization, which is fine. However, you might consider to add Jmol as an alternative, at least. Jmol seems to be quite popular right now with an active community. I have recently asked a question regarding Jmol support on alchemy file format there, and received near ten responses.

Also, for the fiber models, I thought we could have a page with all 55 models each with images in (three) different views, citations to the original references etc. This will give users a direct impression on the comprehensiveness of possibilities available with w3DNA/3DNA. We certainly have no matches, as far as I am aware of. A handy (robust and efficient) fiber-model generation and visualization service will by itself be a useful tool to community at large (e.g., for educational purpose), as I mentioned to you before.

Thanks for answer questions in the open 3DNA forum. You will realize that it is good thing to do: just keep doing it!


Occasionally, just out of curiosity, I check the log of visitors to the 3DNA website. By following the links, I found some nice comments on 3DNA. As a humble person, I feel gratified to read them. I believe these comments reflect more objectively users' real experience and feelings about 3DNA.

Additionally,  over the years, I have received many compliments regarding 3DNA through e-mails.  I understand from experience, however, that people are more generous when they say kind words privately,  especially when asking for help  ;), than in public.

On the other hand, if you find any negative comments/notes on 3DNA on the internet, please add them here as well: I am always interested in improving 3DNA in ways that make sense to me.

Listed below is a sample of the nice comments about 3DNA that I happened to find on the internet (follow the link at the top of each item to see its original source).

[added: October 1, 2009] Re: [ccp4bb]: protein topology diagram, references for DNA and sugar conformation (Michael Sierk

[added: April 8, 2008] Re: [ccp4bb] DNA building program (Mensur Dlakic; Tue, 12 Aug 2008 15:50:41 -0700)
Depends for what you need the program. If you want rigorously built DNA molecule, I suggest 3DNA:

I have a program that may be better for visualizing built DNA molecules, but is not as rigorous when it comes to reconstructing DNA bases from parameters. Here are few screenshots:

Excerpt from [ccp4bb]: Stretching Modelled B-DNA - Programs (Balvinder Dhaliwal; Tue, 10 Apr 2007 20:14:50 -0700)
Thank you for the prompt replies. I was able to generate B-DNA models of
varying pitch.
Two of the more versatile tools for manipulating nucleic acid structures

i)      NAMOT (suggested by William Scott, UCSC); download at<>

ii)     3DNA (suggested by Nicola Abrescia, Strubi, Oxford); download at<>

                                                     Balvinder Dhaliwal.
(Baylor College of Medicine, Houston, Tx.)

From Thomas E. Cheatham, III (Assistant Professor) College of Pharmacy, University of Utah: "Re: AMBER: internal coordinates "
my recommendation is to use another program
to build the helices.

3DNA -

  A nice program by Xiang-Jun Lu that not only can analyze
  nucleic acid structure well, but generate models with
  fiber or user supplied parameters for arbitrary twist or
  alteration of helicoidals...

NAB - nucleic acid builder "language" by Dave Case's group, ...

Learning either one (or both) of these will be significantly more general and
useful than trying to reverse engineer nucgen...

From John E. Kerrigan, Ph.D. (Robert Wood Johnson Medical School, UMDNJ): " [gmx-users] pdb files of DNA"

Try using 3DNA, a program developed by Wilma Olson's group at Rutgers for
analyzing and cleaning up PDB files of DNA/RNA structures.  See for more info and download.

3DNA is to nucleic acids what procheck is to proteins for analysis.  Very

Enjoy 3DNA!


John E. Kerrigan, Ph.D.
Robert Wood Johnson Medical School, UMDNJ
675 Hoes Lane
Piscataway, NJ 08854  USA

From Ho-Leung Ng (UC Berkeley)  "[ccp4bb]: programs for DNA conformation analysis"

Freehelix: ... eehelix98/


   I recommend 3DNA. Cheers!

Ho-Leung Ng
UC Berkeley

3DNA has been selected as an "Essential and helpful software" by [url=][/url].

Recommended by Michael Banck for DNA molecular building at CCL mailing list
Re: CCL:dna molecular building

    * From: Michael Banck <banck \at//>
    * Subject: Re: CCL:dna molecular building
    * Date: Mon, 7 Oct 2002 13:23:18 +0200

 > I would like to know if there is any dna molecular building free
 > program that, providing the nucleotide sequence, it outputs
 > a first approximation to dna molecular moldel, in PDB format,
 > if possible.
 have a look at
 hope that helps,

Recommended by Jeffrey Nauss (Ph.D., Lead Training Scientist,  Accelrys) for DNA structural analysis at CCL mailing list
CCL: Windows-based software for the analysis of the DNA structure

    * From: Jeff Nauss <jnauss*|*>
    * Subject: CCL: Windows-based software for the analysis of the DNA structure
    * Date: Fri, 26 Jan 2007 05:18:54 -0800

 Sent to CCL by: Jeff Nauss []
 owner-chemistry]~[ wrote on 01/26/2007 12:42:24 AM:
 > Sent to CCL by: "Patrick  Pang" []
 > Dear all,
 > Would you suggest software for the analysis of the DNA structure (e.
 > g. major groove, minor groove, bent angle (like cisplatin binding to
 > DNA), twist angle ...) under Windows?
 You may want to check out 3DNA at URL
 Jeffrey L. Nauss, Ph.D.
 Lead Training Scientist
 10188 Telesis Court, Suite 100
 San Diego, CA 92121-4779
 Phone: +1-858-799-5555
 Fax: +1-858-799-5100


Pages: 1 ... 3 4 [5]

Created and maintained by Dr. Xiang-Jun Lu [律祥俊] (
The Bussemaker Laboratory at the Department of Biological Sciences, Columbia University.