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

Welcome > Feature requests

Align multi-model (NMR) structures

(1/2) > >>

acolasanti:
I know that 3DNA has some commands for multi-model NMR files such as nmr_ensemble  for visualization and nmr_strs  for analysis.  I have a suggestion on a new feature for multi-model NMR files, some sort of alignment command to align on each model's reference frame.  I performed this by hand as an example using the following

- Split the multi-model file into individual pdb files, 1 for each model
- for each model...
  - find_pair on the structure
  - rotate_mol using the ref_frame.dat file from find_pair


The pairing is consistent in all of the models but we have to run find_pair on each structure in order to get the reference frame data.  I have attached 2 images to the example.

2KEI_org_v1 shows the structures framed on Base pair 1 of model 1, the other models are kept in the same relation to this model as they were in the original pdb file (probably some sort of Ca rms).  I rotated the structures 90deg about BP1 minor groove for better visualization.


2KEI_fr1_v1 shows each model aligned on its base pair frame 1, we can see how the other end of the DNA changes if we hold the first pair fixed.


I rotated the structures 90deg about BP1 minor groove for better visualization.

I know that a short python/ruby script can be written to do this but thought it would be a nice feature for the official 3DNA package.

xiangjun:
Hi Andrew,

Thanks for this feature request and for providing two sample images -- it would indeed make a nice feature for future release of 3DNA. There are many things I would like to consolidate/refine, and new features to add! This requested feature fits nicely to the overall scheme I have in mind.

Before I can get something for an "official" release of 3DNA v2.1 with this new feature included, I will try to come up with a Ruby script this week for you to try out.

Now to a specific point related to the procedure your outlined:


--- Quote ---I have a suggestion on a new feature for multi-model NMR files, some sort of alignment command to align on each model's reference frame.  I performed this by hand as an example using the following

- Split the multi-model file into individual pdb files, 1 for each model
- for each model...
  - find_pair on the structure
  - rotate_mol using the ref_frame.dat file from find_pair

The pairing is consistent in all of the models but we have to run find_pair on each structure in order to get the reference frame data.
--- End quote ---

As with the MD simulation analysis script ('x3dna_md.rb'), it would be best for a user to specify the base pairing information. Thus the program 'find_pair' does not need to be run with each model. This would ensure consistency in all the models. Instead, the model-specific 'ref_frame.dat' can be generated with 'analyze'.

Check back ...

Xiang-Jun

acolasanti:

--- Quote from: xiangjun on December 28, 2011, 09:09:44 pm ---
Before I can get something for an "official" release of 3DNA v2.1 with this new feature included, I will try to come up with a Ruby script this week for you to try out.

Now to a specific point related to the procedure your outlined:


--- Quote ---I have a suggestion on a new feature for multi-model NMR files, some sort of alignment command to align on each model's reference frame.  I performed this by hand as an example using the following

- Split the multi-model file into individual pdb files, 1 for each model
- for each model...
  - find_pair on the structure
  - rotate_mol using the ref_frame.dat file from find_pair

The pairing is consistent in all of the models but we have to run find_pair on each structure in order to get the reference frame data.
--- End quote ---

As with the MD simulation analysis script ('x3dna_md.rb'), it would be best for a user to specify the base pairing information. Thus the program 'find_pair' does not need to be run with each model. This would ensure consistency in all the models. Instead, the model-specific 'ref_frame.dat' can be generated with 'analyze'.

--- End quote ---
True, analyze can provide the ref_frame.dat.  I looked into using nmr_strs which runs analyze on each structure but it overwrites the ref_frame.dat file on each model.  You may be able to modify nmr_strs to take rotate_mol as an input, but a standalone ruby script would also work, whatever you think is best.

Andrew

xiangjun:
The various ensemble related scripts will be consolidated in the coming v2.1 release.

Xiang-Jun

P.S. Did you know that one can click 'Notify' to receive email notification when a new post becomes available in a thread or forum you are interested in? It is a cool feature -- now I can be alerted with every new post or registration.

xiangjun:
Hi Andrew,

I've finally wrote the Ruby script named 'ensemble_reorient' to perform multiple-model ensemble alignment. In it took longer than I originally planned, and for good reasons  :). In the process, I've consolidated and refined the two Ruby scripts ('x3dna_md.rb' and  'extract_par.rb') for the analysis of MODEL/ENDMDL delineated molecular dynamics trajectories and NMR ensembles. For consistency, I've renamed them 'ensemble_analyze' and 'ensemble_extract'.

The ensemble_* scripts, together with added new C programs 'mutate_bases' and 'find_platform' will be released in 3DNA v2.1 in the near future. For backward compatibility, all v2.0 Perl scripts are going to be retained. From v2.2 and onwards, I am planning to eliminate all Perl scripts and use solely Ruby as the script language. 

Check email to see download info for the v2.1 beta version for testing. There are still lots of rough edges, but with the groundwork laid so far, I should be able to respond quickly to any identified issues.

The help message for 'ensemble_reorient' is as follows:

------------------------------------------------------------------------ Usage: ensemble_reorient options Examples: ensemble_reorient --frame-opt='-m -6' -b bpfile.dat -e 2kei.pdb # reorient each model using the reference frame of base-pair #6 # with minor groove facing the viewer (-m) # note the use the double dash (--) style with equal sign, and # the options to be transfered to frame_mol must be quoted # generate 'model_list.dat', and 'ensemble_example_trx.pdb' ensemble_reorient -f '\-m -6' -b bpfile.dat -m model_list.dat -o reoriented.pdb # Same transformation as above, but using an explicit list of # models, and the transformed ensemble in 'reoriented.pdb' # diff ensemble_example_trx.pdb reoriented.pdb ensemble_reorient -f '\-8,9' -b bpfile.dat -e 2kei.pdb # reorient each model using the middle reference frame between # base-pairs #8 & #9. Again, note the quote and back slash Options: ------------------------------------------------------------------------ --bpfile, -b <s>: File containing base-pairing info (as generated from find_pair, and EDITED as appropriate) --outfile, -o <s>: Output parameters file name (default: ensemble_example_trx.pdb) --frame-opt, -f <s>: Options to transfer to frame_mol (quoted) --ensemble, -e <s>: Model ensemble delineated with MODEL/ENDMDL --models, -m <s>: File with explicit listing of model numbers --help, -h: Show this message
Please check and report back any issues you experience.

Xiang-Jun

Navigation

[0] Message Index

[#] Next page

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

Go to full version