Show Posts

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

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

Messages - mauricio esguerra

Pages: [1] 2 3
Programs / blocview
« on: June 20, 2018, 08:44:54 am »
Hi Xiang-Jun,

In using blocview I know that the radius of the backbone tube which traces the phosphate atoms can be changed in the last line of the $X3DNA/config/col_chain.dat file.

Nonetheless I would also like to change the radius of the sticks representing the sugar-phosphate backbone bonds.
I can do this manually by altering the resulting .r3d files, say, if one of these bond specifications as a cylinder in raster3D is:

Code: [Select]
  -10.965  -18.757   -1.704    0.160   -9.568  -18.592   -1.909    0.160    1.000    1.000    0.000

I can change the 0.160 value in the fourth and eight fields to whichever radius I want.
I was wondering if there's a file where this parameter can be changed in an easier way.



Hej Puru,

Perhaps a look at the original reference of Xiang-Jun Lu for 3DNA, say, Figure 5 of his 2003 paper in Nucleic Acids Research will come in handy.

In that figure Inclination vs. x-displacement, Roll vs. Slide, and Zp(h) vs. Zp are plotted and are quite neat indicators of the conformational types of nucleic acids.

There's even an older 2000 paper by the same first author, and the creator or 3DNA, which predates 3DNA. It is also quite the recommended read.

All of the parameters needed to do the figures in the two mentioned papers are easily obtained using 3DNA.

Hope this helps,


You can download x3dna from:

And then use fiber to generate any of the available models:

Then a command like:

    fiber -seq=AAAGGGTTTCCC BDNA.pdb

Will generate a BDNA with that sequence.




You can use:

Code: [Select]
fiber -seq=AAAAAAAAAAAA 12bpADE.pdb
To generate a helix of 12 base-pairs


Code: [Select]
fiber -seq=AAAAAAAAAAAA -single 12bpssADE.pdb
To generate a single strand with 12 Adenosine bases.

You can substitute with any nucleotide letter you want.

Code: [Select]
fiber -seq=ACTGTGCTGCTG my12bp.pdb
In general the fiber program (which is included in X3DNA) is what you're looking for.

RNA structures (DSSR) / Re: cif file compatibility?
« on: May 28, 2015, 04:47:20 am »
Hi Xiang-Jun,

Note that in the 3j9m_rna.pdb file you produced, the "Atom serial number" in columns 7-11 is a based on CIF "", and is not necessarily continuous sequentially. You could write a short script to make the "Atom serial number" field consecutive from 1 to n. Please have a try and report back if that does the trick.

Yes, that solves the problem for 3j9m, but for molecules which have a higher content of atoms than 99999, for example the whole 70S ribosome of  thermus thermophilus (pdbid=4v63), which has 200836 atoms, then the same problem comes back because it finds repeated atom numbers in the 7-11 columns.

Although much harder and messy to implement I think what would be ideal for users would be to have the same functionality of get_part but producing .cif output.



General discussions (Q&As) / Re: Intrinsic Curvature of DNA
« on: May 26, 2015, 05:33:54 am »
Hi Lara,

If your interest is in generating circular DNA then I suggest using the Virtual DNA Viewer plugin of Tom Bishop which comes integrated into the latest versions of VMD.

You can combine this plugin with 3DNA to get your circular DNA models.

One first example of use:

  • Open VMD
  • Go to Extensions/Visualization/Virtual DNA Viewer
  • Notice that there is a box Next to where it says "Draw it". Select Circular DNA there and then click in Draw it.
  • Click on Save Parameters.
  • This will generate a vdna.par file which contains base-pair and step parameters you can use to rebuild using 3dna.
Code: [Select]
x3dna_utils cp_std -d B-DNA
Code: [Select]
rebuild -atomic vdna.par circulardna.pdb
Code: [Select]
pymol circulardna.pdb



    RNA structures (DSSR) / Re: cif file compatibility?
    « on: May 11, 2015, 05:25:11 am »
    Hi Xiang-Jun,

    I have tried using:

    Code: [Select]
    dssr --select=nt -i=3j9m.cif -o=3j9m_rna.pdb
    For the recent structure of the full human mitochondrial ribosome.
    Even though it's quite a large structure it finishes in 31 seconds.

    It almost gets it right but it clumps parts of the residues into a column, or at least that is what pymol shows (see attached image at the end).

    It would also be useful to get the protein part, sort of like with get_part -p instead of -n.



    RNA structures (DSSR) / Re: cif file compatibility?
    « on: May 07, 2015, 11:36:58 am »
    Hi Xiang-Jun,

    That would be great!

    I have tried using openbabel, CIFTr (cif translator), cif2pdb, and have tried reading the cif format using mdtraj in the hopes of being able to translate it to pdb, but all fails for now.

    Something very simple such as aligning the bacterial mitocondrial ribosome (4v63.cif) and the human one (3j9m), becomes very difficult.

    Once more, having this additional feature in dssr would be great!

    Thank you,


    RNA structures (DSSR) / cif file compatibility?
    « on: May 07, 2015, 10:11:05 am »
    Hi Xiang-Jun,

    I'm wondering if you have any tips or tricks as to what to do now that the cif format is the official pdb format and giving a lot of us a hard time on adjusting our analysis protocols.
    I wanted to use get_part to easily split protein apart from rna in the latest structure of the mitochondrial ribosome from Venkatakrishnan's lab. and I'm having a hard time finding an efficient way to do it.

    Any recommendations?

    Thank you,


    General discussions (Q&As) / Re: How to define rotation
    « on: March 24, 2015, 12:31:10 pm »

    Maybe the attached script will help.

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

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

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

    General discussions (Q&As) / Re: How to define rotation
    « on: March 24, 2015, 05:03:59 am »
    You can try:

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

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

    Hope this helps,


    General discussions (Q&As) / Re: I want to find PDB file
    « on: March 14, 2015, 11:30:35 am »

    Perhaps if what you want to do is build a 3D model knowing that your DNA is double stranded, then you can use:

    w3dna is just a web interface to x3dna. So you can achieve the same results using the command line version of the package with the fiber program inside the x3dna package.

    For RNA 1D to 3D you could also use the MC-fold / MC-sym pipeline from Francois Major lab at the University of Montreal.

    Perhaps if you are more specific on the details of your artificial DNA strand, and the context in which it's found, people in the forum can give better help.
    What do you mean by artificial DNA strand?
    Do you mean to say that the composing nucleotides have chemical modifications?
    Is your DNA strand perhaps part of a CRISPR-cas complex, for example?

    General discussions (Q&As) / Re: Zp parameter A/vs B DNA
    « on: November 18, 2013, 01:40:59 pm »

    That being said, it looks like your input file might be a single strand instead of a double strand. If such is the case the definition of the Zp value for a single-base to single-base STEP might be slightly different as it most likely is not an average, which is the case for the BASE-PAIR step Zp values.

    In the output file using the -t option as you have done one can additionally see the following information:

    Code: [Select]
       Zp: z-coordinate of the 3' phosphorus atom (P) expressed in the
                standard base reference frame; it's POSITIVE when P is on
                the +z-axis side (base in anti conformation); NEGATIVE if
                P is on the -z-axis side (base in syn conformation)

    I am also interested in seeing Xiang-Jun's reply as the single-stranded Zp parameter is a new implementation in 3DNA.

    I am guessing that it might be "risky" to call something A-DNA or B-DNA outside of the context of a double-strand.



    General discussions (Q&As) / Re: Zp parameter A/vs B DNA
    « on: November 18, 2013, 01:11:57 pm »

    You can just try:

    Code: [Select]
    find_pair bdl084.pdb stdout | analyze stdin
    And look at the automatically generated output file bdl084.out

    The Zp and Zph values will be there.

    For your structure just type:

    Code: [Select]
    find_pair caa.pdb stdout | analyze stdin
    And this will produce the caa.out file with your results for the average of the projections on the Z-axis in both reference frames.

    Hope this helps,

    Mauricio Esguerra

    General discussions (Q&As) / Re: one comment + one question
    « on: February 22, 2013, 07:54:34 am »
    Hi Leonardo,

    You can use -s or -1, as options to treat the nucleic acid structure as a single strand.
    From find_pair help you get:

    Code: [Select]
            find_pair - locate base-pairs and helical regions
            find_pair [OPTION] PDBFILE OUTFILE
            locate base-pairs and helical regions given a PDB data file. Its
            output can be directly fed into analyze, cehs and Lavery's Curves
            -s, -1  treat the whole structure as a continuous single helix.
                    Useful for getting all backbone torsion angles
            -c      get Curves input for a duplex
            -c+     get input for Curves+ (duplex, ATOM records only)
            -d      generate a separate output file for each helical region
            -p      find all base-pairs and higher base associations
            -a      read in only ATOM records, ignoring HETATM records
            -z      more detailed base-pairing information in the output
            -h      this help message (any non-recognized options will do)
            PDB data file
            One-letter options can be in either case, any order and combined
            find_pair sample.pdb sample.inp
            find_pair -p sample.pdb allbp_list
            find_pair -c sample.pdb sample_curves.inp
            base-pair listing for input to analyze, cehs and Curves
            bestpairs.pdb, hel_regions.pdb, col_chains.scr, col_helices.scr
            allpairs.pdb, multiplets.pdb, mulbp.inp
            analyze, cehs, anyhelix, ex_str, stack2img
            3DNA v2.1 (c) 2012 Dr. Xiang-Jun Lu (

    To add hydrogens I use pymol.
    You can just issue the
    Code: [Select]
    h_add command and it will correctly add hydrogens.

    You can even choose a selection to decide which unfilled valence area you want to populate with hydrogens.



    Pages: [1] 2 3

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