Hi Edward, Nice to hear from you again. It has been a while indeed. I joined an NMR lab in the Netherlands since but am still collaborating with BMRB too. The best thing to start off with would be to look at the python unit tests such as the one in: http://code.google.com/p/pystarlib/source/browse/trunk/src/STAR/SaveFrameTest.py It shows you how to fill in a python data structure that can then be rendered to STAR text. All the best, Jurgen On Sun, Jan 11, 2009 at 7:29 PM, Edward d'Auvergne <edward@xxxxxxxxxxxxx> wrote:
Dear Eldon and Jurgen, I have finally made some progress in interfacing relax with the BMRB using the pystarlib library. Getting relax to produce perfectly formatted and complete NMR_STAR v3.1 files for submission to the BMRB is still a way off though. For this, I have a few questions regarding both getting pystarlib to produce the v3.1 format and what the final result should look like. For reference, the relax formatted XML file which I would like to convert to NMR-STAR v3.1 format is located at: http://svn.gna.org/svn/relax/branches/bmrb/test_suite/shared_data/model_free/OMP/final_results_trunc_1.3.bz2 This file is part of the relax test suite and is distributed with relax. For submission, I would like to convert 100% of the data in this file but I'm not exactly sure how this would look yet. Eldon, is there a complete v3.1 formatted file containing model-free results that I can use for a reference? It would be extremely useful if we could find or create a complete reference file for relaxation data using currently deposited data. This would be better if it was the file for submission rather than for storage in the BMRB. Or, as I will get relax to force the user into inputting all required fields before relax creates the file, would the submitted file be identical to the stored file? I have been using Steven van Doren's deposited data at http://www.bmrb.wisc.edu/cgi-bin/explore.cgi?format=raw&bmrbId=5841, but this is obviously quite different from the v3.1 format. For the formatting using pystarlib, I am using as reference ftp://ftp.bmrb.wisc.edu/pub/data/nmr-star_dict/dictionary_files/nmrstar3_fake.txt. I am currently trying to get relax to produce a file with just relaxation data. The relevant section for R1 relaxation in this file is: save_<heteronucl_T1_relaxation> _Heteronucl_T1_list.Sf_category heteronucl_T1_relaxation _Heteronucl_T1_list.Sf_framecode <heteronucl_T1_relaxation> _Heteronucl_T1_list.Entry_ID 1 _Heteronucl_T1_list.Sf_ID 2 _Heteronucl_T1_list.ID 2 _Heteronucl_T1_list.Data_file_name "Long string value" _Heteronucl_T1_list.Sample_condition_list_ID 2 _Heteronucl_T1_list.Sample_condition_list_label "Long string value" _Heteronucl_T1_list.Spectrometer_frequency_1H 110.234 _Heteronucl_T1_list.T1_coherence_type "String value" _Heteronucl_T1_list.T1_val_units "Short string value" _Heteronucl_T1_list.Details "Possible multiline text" _Heteronucl_T1_list.Text_data_format "String value" _Heteronucl_T1_list.Text_data "Possible multiline text" loop_ _Heteronucl_T1_experiment.Experiment_ID _Heteronucl_T1_experiment.Experiment_name _Heteronucl_T1_experiment.Sample_ID _Heteronucl_T1_experiment.Sample_label _Heteronucl_T1_experiment.Sample_state _Heteronucl_T1_experiment.Sf_ID _Heteronucl_T1_experiment.Entry_ID _Heteronucl_T1_experiment.Heteronucl_T1_list_ID 2 "Long string value" 2 "Long string value" "String value" 2 1 2 stop_ loop_ _Heteronucl_T1_software.Software_ID _Heteronucl_T1_software.Software_label _Heteronucl_T1_software.Method_ID _Heteronucl_T1_software.Method_label _Heteronucl_T1_software.Sf_ID _Heteronucl_T1_software.Entry_ID _Heteronucl_T1_software.Heteronucl_T1_list_ID 2 "Long string value" 2 "Long string value" 2 1 2 stop_ loop_ _T1.ID _T1.Assembly_atom_ID _T1.Entity_assembly_ID _T1.Entity_ID _T1.Comp_index_ID _T1.Seq_ID _T1.Comp_ID _T1.Atom_ID _T1.Atom_type _T1.Atom_isotope_number _T1.Val _T1.Val_err _T1.Resonance_ID _T1.Auth_entity_assembly_ID _T1.Auth_seq_ID _T1.Auth_comp_ID _T1.Auth_atom_ID _T1.Sf_ID _T1.Entry_ID _T1.Heteronucl_T1_list_ID 2 2 2 2 2 2 1 1 "Short string value" 2 110.234 110.234 2 "Short string value" "Short string value" "Short string value" "Short string value" 2 1 2 stop_ save_ Jurgen, my question is how do you produce the correct File.datanodes list using the SaveFrame and Tagtable objects to reproduce this when calling File.write()? For example, how do you create the _Heteronucl_T1_list.Sf_category entry? Cheers, Edward P.S. It would be much appreciated if you could use reply-to-all rather than simply replying, as this will include the relax-devel mailing list in the CC list. Thanks.
-- Jurgen F. Doreleijers Centre for Molecular & Biomolecular Informatics, NCMLS & Protein Biophysics, Institute for Molecules & Materials Radboud University of Nijmegen Visitors: NCMLS Research building, room 0.25, Geert-Grooteplein 26-28, 6525 GA Nijmegen, The Netherlands Mail: Protein Biophysics 260, PO Box 9101, 6500 HB Nijmegen, The Netherlands Tel: +31 24 3619674