Netiquette · Download · News · Gallery · Homepage · DSSR Manual · G-quadruplexes · DSSR-Jmol · DSSR-PyMOL · DSSR Licensing · Video Overview· RNA Covers

Author Topic: different get-hbond output  (Read 33186 times)

Offline xiaoj12

  • with-posts
  • *
  • Posts: 10
    • View Profile
different get-hbond output
« on: November 21, 2015, 04:26:08 pm »
Hi Xiang-Jun,

I'm trying to use x3dnr-dssr to find pairs of hydrogen bonds in a MD trajectory. I converted the dcd trajectory to a bunch of pdbs first and employ dssr to analyze each frame individually using the command line like:

Code: [Select]
/Applications/x3dna/x3dna-dssr-v1.4.2-2015oct19/x3dna-dssr --po4 --idstr=short -i=Frames1.pdb --get-hbonds -o=hbonds.txt > dssr.log 

Then following content about the intermediate processing status was displayed in the terminal.
Code: [Select]
Processing file 'Frames1.pdb'
N1.D.THY.3 0.122
N1.D.THY.7 0.121
N1.D.THY.9 0.120
N1.D.THY.12 0.122
N1.D.THY.13 0.133

Time used: 00:00:00:00

I realize the output file hbonds.txt has different content, which is
Code: [Select]
# H-bonds in 'Frames1.pdb' identified by DSSR, Xiang-Jun Lu (xiangjun@x3dna.org)
1
  206   244  #1     p    3.002 O:N O5'@THY7 N2@GUA8


I wonder what the content displayed is during the processing and how to turn off displaying the processing status information since I'll have two many frames to process on the queque. I found you mentioned quiet mode in following thread: http://forum.x3dna.org/general-discussions/option-not-to-display-calculation-status-to-screen/msg352/#msg352.

I found dssr can understand the flag -quiet instead of -q. However, "Processing file 'Frames1.pdb'" still occurred even with that flag. And I find the intermediate status does not occur every time for different files, which confused me more.

I hope my description is clear. Could you help me understand 1. the differences in the processing output and file output. 2. How to turn off the displaying in the terminal. 3. Is there any better way to use dssr to analysis a trajectory. 4. Is it possible to have some flag like --get-multiplets, --get-stacks?

The pdb file will be attached in this thread.
« Last Edit: November 21, 2015, 04:29:52 pm by xiaoj12 »

Offline xiangjun

  • Administrator
  • with-posts
  • *****
  • Posts: 1650
    • View Profile
    • 3DNA homepage
Re: different get-hbond output
« Reply #1 on: November 21, 2015, 05:43:06 pm »
Hi xiaoj12,

Thanks for using DSSR and for posting your questions on the 3DNA Forum. There are indeed many options in DSSR, which could be confusing to the uninitiated. Now for your specific questions:

Quote
x3dna-dssr --po4 --idstr=short -i=Frames1.pdb --get-hbonds -o=hbonds.txt > dssr.log

You do not need to specify --po4 for getting output of hydrogen bonds. The --get-hbonds option is independent of other DSSR functionality: as its name implies, it just outputs H-bonds. You specify the output the normal way, i.e. using the -o (or --output) option.

Quote
I wonder what the content displayed is during the processing and how to turn off displaying the processing status information ...
The diagnostic output such as "N1.D.THY.3   0.122" are for information only. Here it is related to the identification of nucleotides (see the DSSR paper for more info). You can ignore them. Or you can easily redirect such diagnostic messages (to stderr) as below (note the use of 2>):
Code: [Select]
x3dna-dssr --idstr=short -i=Frames1.pdb --get-hbonds -o=hbonds.txt 2> dssr.log
Quote
3. Is there any better way to use dssr to analysis a trajectory. 4. Is it possible to have some flag like --get-multiplets, --get-stacks?

There is no direct facility in DSSR for analyzing MD trajectories. However, you may find the --nmr option relevant, especially in combination with --json. See my recent blog posts at http://x3dna.org/posts-list/

For extracting DSSR-derived H-bond info or other structural components (multiplets or stacks, etc) from a single structure, your best bet is the --json option, as below:

Code: [Select]
x3dna-dssr --idstr=short --json -i=Frames1.pdb 2> msg | jq .hbonds
# Here is the output
[
  {
    "index": 1,
    "atom1_serNum": 206,
    "atom2_serNum": 244,
    "donAcc_type": "standard",
    "distance": 3.002,
    "atom1_id": "O5'@THY7",
    "atom2_id": "N2@GUA8",
    "atom_pair": "O:N",
    "residue_pair": "nt:nt"
  }
]

Code: [Select]
x3dna-dssr --json -i=1ehz.pdb 2> msg | jq .multiplets
# Here is the output of three base triplets in tRNA (PDB entry 1ehz):
[
  {
    "index": 1,
    "num_nts": 3,
    "nts_short": "UAA",
    "nts_long": "A.U8,A.A14,A.A21"
  },
  {
    "index": 2,
    "num_nts": 3,
    "nts_short": "AUA",
    "nts_long": "A.A9,A.U12,A.A23"
  },
  {
    "index": 3,
    "num_nts": 3,
    "nts_short": "gCG",
    "nts_long": "A.2MG10,A.C25,A.G45"
  },
  {
    "index": 4,
    "num_nts": 3,
    "nts_short": "CGg",
    "nts_long": "A.C13,A.G22,A.7MG46"
  }
]

HTH,

Xiang-Jun

Offline xiaoj12

  • with-posts
  • *
  • Posts: 10
    • View Profile
Re: different get-hbond output
« Reply #2 on: November 21, 2015, 10:46:37 pm »
Hi Xiang-Jun,

Thank you very much for your prompt and helpful reply.

You pointed I didn't need to specify --po4 for getting h-bonds. However, in the manual, it has a description on this option:
Code: [Select]
The phosphate group in RNA is negatively charged, with four oxygen atoms that could
serve as H-bond acceptors or be in coordination with metals. T

Does it mean in the get-hbonds function includes --po4 by default?

A new question is about the order of donor/acceptor pair. I notice
Code: [Select]
It is ‘p’ for a donor-acceptor atom pair; ‘o’ for a donor/acceptor. Thus I'm thinking whether the residue number of first residue(atom) must be smaller than the second one.

Thank you for your help and work again.

JJ

Offline xiangjun

  • Administrator
  • with-posts
  • *****
  • Posts: 1650
    • View Profile
    • 3DNA homepage
Re: different get-hbond output
« Reply #3 on: November 21, 2015, 11:04:56 pm »
There are several locations where H-bonding play a role, among which the most obvious is base-pairing. So H-bond detection is at the 'lower level' for the DSSR-derived structural features. The --get-hbonds option simply outputs a list of all H-bonds DSSR identifies in the structure, which includes H-bonds involving phosphate groups. On the other hand, you do not need to specify --po4 for the list of H-bonds. Specifically, when both --po4 and --get-hbonds are specified on the command line, the --po4 option is simply ignored.

The list of atoms in each atom-pair for a H-bond is in sequential order, as specified in the input .pdb or .cif file. Playing around with a simpe example should give you more hints.

In retrospect, I added the output of a list of H-bonds at a late stage in DSSR releases. In the literature, there are dedicated software programs (e.g., HBPLUS and HB-Explore) for characterizing H-bonds. However, I then realized that this DSSR H-bond detecting functionality could be useful in itself.

HTH,

Xiang-Jun

Offline xiaoj12

  • with-posts
  • *
  • Posts: 10
    • View Profile
Re: different get-hbond output
« Reply #4 on: November 21, 2015, 11:33:41 pm »
Xiang-Jun,

Thanks again for your detailed and enlightening reply!

I do agree the hydrogen pairing output from dssr is meaningful, especially when studying the dynamics of nucleic acids and relevant network.

Currently I still take the strategy to convert the dcd into individual pdbs and analysis them one by one. I'd love to share my feedback about my experience about it in case you liked to know. The processing speed is OK right now but it might be better if they can be processed in parallel.

JJ

Offline xiangjun

  • Administrator
  • with-posts
  • *****
  • Posts: 1650
    • View Profile
    • 3DNA homepage
Re: different get-hbond output
« Reply #5 on: November 21, 2015, 11:45:07 pm »
Hi JJ,

As always, user feedback and contributions are welcome! As I mentioned previously, the --json option should come in handy. Moreover, the --nmr option may be useful for analyzing MD trajectories.

Good luck with your research, and keep us informed.

Best regards,

Xiang-Jun

 

Funded by X3DNA-DSSR, an NIGMS National Resource for Structural Bioinformatics of Nucleic Acids (R24GM153869)

Created and maintained by Dr. Xiang-Jun Lu, Department of Biological Sciences, Columbia University