Downloads |
Tools Home | Molecular Biology | NMR | Data Model | VENN | Links |
Below are useful programs, scripts, and macros to aid in the processing and collection of NMR data. Some other useful tools unrelated to collection and processing of NMR data, such as tools to distribute calculations across loosely coupled clusters are also provided. Special emphasis is applied to the collection and processing of non-uniformly sampled data (non-linear), however, the tools on this site are capable of handling conventional data as well. Each of the files may be downloaded individually or a single combined tar file can be downloaded as well. Each of the individual files have been tarred so the web server only has to deal with a single file type to make life easy for me. Once you obtain the tar file(s) simply untar them with tar -xvf file.tar
RNMRTK UTILITIES
noisecal.f and
makefile - A FORTRAN program that is
needed by the auto MaxEnt feature of the script generated at
http://sbtools.uchc.edu/nmr/nmr_toolkit script generator. The program
analyzes noise in a spectrum to generate initial values for the MaxEnt
parameters def and aim which are used in trial runs of MaxEnt to
determine a proper value for the MaxEnt parameter lambda. All of this
is done automatically inside the script with no user intervention and no
knowledge of the MaxEnt parameters are needed.
INSTALLATION: Place file in the rnmrtk.v3/toolsrc folder along
with the makefile and type make from the toolsrc folder.
NOTE: Newer versions of the rnmrtk have noisecalc bundled.
rearrange.f and
makefile - The
FORTRAN program rearrange.f and its associated makefile (same as for noisecalc)
need to be compiled to use random ordered sampling schedules for 2D
experiments in the Rowland NMR Toolkit. For 3D data sets nothing needs to be
done to deal with random sampling schedules. The program msa handles both uniformly and
non-uniformly sampled data. However, it requires that the non-uniform data be collected
in a non random order. The rearrange program has been written to rearrange data in memory
for data that has been collected using a sampling schedule, but in a random order. The program
outputs a new sampling schedule in sequential order to be used later when the msa
program is called. For scripts built with the Rowland NMR Toolkit Script
Generator a "Random Order" checkbox may be selected. This will add a line to
call rearrange inside the script and alter the sample schedule filename
automatically.
INSTALLATION - Files should be placed in the toolsrc folder
inside the rnmrtk folder and compiled by typing make.
USAGE - rearrange ./random_sample_schedule > ordered_sample_schedule. If the program detects a zero in the sample schedule a value of
one is added to each entry.
rnmrtk_installer.com -
This is a shell script which installs the rnmrtk program on either Linux or
Apple OS X systems. The program installs the rnmrtk files, modifies system parameters
which control shared memory parameters, and adjusts global system
configuration files to adjust environmental variables. The user is prompted
along the way with several questions. Any part of the installer may be
skipped, while still running other parts. Backup files of any files that are
modified are created automatically. This script assumes that you have a
pre-compiled version of the rnmrtk package which may be obtained from Dr. Jeff
Hoch (hoch@uchc.edu). A new download site for the rnmrtk program suite is
being developed.
INSTALLATION/USAGE: Place the program in the same directory as
the rnmrtk.v3.tar file and execute it. You may need to change permissions
first with chmod u+x to make the program executable. You need to be root or
have administrative privileges to install the program.
VARIAN MACROS
BPsvf
- A slightly modified version of the BioPack BPsvf macro. This save command
does everything the original Varian BPsvf macro does plus creates a new
directory called scripts and calls the macro BP_varian2sbtools (below) which
creates additional scripts and text files with processing information.
INSTALLATION: Place the file in the vnmrsys/maclib folder. You
may want to back up the original first or simply modify your original BPsvf
with the same changes found in this version.
BP_NLSsetmanual2d and
BP_NLSsetmanual3d These two macros do
several things. They modify the current pulse sequence to add the ability to run as a non-uniformly
sampled experiment taking t1 ot t1/t2 delays from an external file rather than from 1/sw1*ni
or 1/sw2*ni2. The macro
creates parameters which are needed to run the NUS experiments and they may be
viewed with the newly created dgnls
command. The macro takes as input a sample schedule, which may start with 1 or 0, and copies that
sample schedule into the current experiment directory defined by curexp (vnmrsys/exp#) with two
different names. Both filenames start with the pulse sequence name but have
different extensions. One has a .hdr_3
extension which is used by the modified pulse sequence to collect the data and one
has a .scd extension
which is used to process the data using the RNMRTK. Note that they are identical except that one starts
with 1 and the other with 0. The sample schedule is also analyzed and correct parameters are set in the dgnls
window for NUS parameters such as nimax, nimin, nimax2, nimin2, ni, ni2. In
addition flags that control NUS are set properly along with phase and
phase2 arrays. The macro finishes by prompting the user that the process is
complete and showing the NUS parameters in the text window.
INSTALLATION: Place the files in the vnmrsys/maclib folder.
USAGE: Setup any BioPack sequence as usual. Set sweep widths, np, nt, etc. Test in
1D mode to make sure the experiment is functioning. Then execute the macro like this:
For 2D experiments - BP_NLSsetmanual2d('/export/home/username/sample_schedule_file.txt')
For 3D experiments - BP_NLSsetmanual3d('/export/home/username/sample_schedule_file.txt').
NOTE: See the http://sbtools.uchc.edu/nmr site for a tool to build sample schedules.
NOTE: These two macros utilize other programs and macros
built into BioPack posted by the Orekhov group.
BP_varian2sbtools
- This macro is called by a modified BPsvf
command when saving data. It does several things. First it asks the user to
enter the 1H carrier in ppm so that it can perform referencing of indirect
dimensions. The macro then creates a new folder called scripts inside the
saved experiment. Inside the scripts folder are several files: rnmrtk.com - a
processing script to process the data in rnmrtk, nmrpipe.com - a processing
script to process data in nmrpipe, sbtools.input - a one line text file that
may be copied and pasted into the load parameter text box on the rnmrtk and
nmrpipe script generator pages at
http://sbtools.uchc.edu/nmr,
and proc_params.txt - a text file describing information relevant to
processing the data. Note that for NUS collected data the nmrpipe script is
not created as it cannot handle NUS data and the rnmrtk script will only
process data along the acquisition dimension. Use the rnmrtk script generator
to generate full NUS processing scripts. Also, the rnmrtk.com and nmrpipe.com
scripts are for a quick and dirty look at the data. All values are hard coded.
It is generally more useful to use the sbtools.input file along with the
script generators to create your scripts as you will have more control over
options and the ability to quickly fix any issues that arise.
INSTALLATION: Place in the vnmrsys/maclib folder.
USAGE: This macro is called by the modified BPsvf command listed
above.
setcar - Setcar is a Varian macro
that can
be run to set the carrier (dof, dof2, and dof3) in the indirect dimensions by
entering a ppm value. The only input necessary is that tof be set and that the
1H ppm value at the current tof value be known.
INSTALLATION: Place in the vnmrsys/maclib folder.
USAGE: Call the macro by typing setcar. The
user is then prompted to choose the channel and then enter the ppm value.
Typing n will abort the macro and print the settings to the text window.
setnl2d_uchc - This macro sets up a
Gerhard Wagner NUS/NLS experiment. It takes as input a sample schedule, which
must begin with 1, and creates an array which sets t1/t2 evolution times to be
collected.
INSTALLATION: Place in the vnmrsys/maclib folder.
USAGE: setnl2d_uchc('/export/home/username/sample_schedule_file.txt')
NOTE: This macro is only needed for running the modified pulse
sequences from the Gerhard Wagner web site. With newer versions of BioPack and
the BP_NLSsetmanual2d and BP_NLSsetmanual3d macros listed above this
method is not necessary any longer.
PROCESSING UTILITIES
procpar.prl - Perl script used to extract
relevant information needed to process NMR processing parameters from a Varian
procpar file. The usage of the script is "procpar.prl procpar 4.772" where
procpar is the name of the Varian procpar file and 4.772 is the center of the
1H dimension in the acquisition dimension. Referencing information for other
dimensions and nuclei are calculated using the method of Wishart. Spectrometer
frequencies are all calculated at 0 ppm for referencing purposes. The script
generates a text file with a summary of the results in addition to posting the
results to the screen.
INSTALLATION: The file must be installed in the path.
NOTE: If Varian data is saved with the modified BPsvf command
listed above which calls the varian2sbtools macro this script is redundant and not needed any longer.
bruker2sbtools - A
perl script which when run from inside a Bruker data set folder (location of
the acqu*s files) will generate up to three files. A rnmrtk.com processing
script, a nmrpipe.com processing script and a text file called sbtools.input.
Relevant processing parameters are sent to the screen and can be captured into
a file for later use. The rnmrtk.com and nmrpipe.com scripts for uniformly
collected data are fully functioning processing scripts with default values.
For NUS data the nmrpipe.com script is not generated as nmrpipe cannot handle
NUS data. The rnmrtk.com script in this case only processes the acquisition
dimension. The sbtools.input file is a single line text file that may be
copied and pasted into the load parameters text box of the rnmrtk and nmrpipe
script generator pages. Once loaded all the relevant parameters will be set on
the page and a script can be generated without any further user intervention
or the user can change any of the default values themselves.
INSTALLATION: The file must be installed in the path.
NOTE: It is generally more useful to use the sbtools.input file along with the
script generators to create your scripts as you will have more control over
options and the ability to quickly fix any issues that arise.
sample_schedule_changer.prl - A
Perl script capable of manipulating 1D and 2D sample schedule files to either
add or subtract any value to the values in the sample schedule. This is ideal
for converting a single sample schedule to start at 0 for NMR data collection
in the BioPack and to start at 1 for processing in the RNMRTK. The program can
also swap the two columns of a 2D sample schedule.
INSTALLATION: The file must be installed in the path.
USAGE: ./sample_schedule_changer.prl
schedule dimensions value (swap) > new_schedule
CLUSTER UTILITIES
cluster-msa2d,
msa2d-process, and
computer_list - cluster-msa2d is a perl
script which allows msa2d calculations to be distributed over a loosely
coupled cluster. msa2d-process is a script which is called by the
cluster-msa2d program. By default cluster-msa2d is setup to be called by
scripts generated by the rnmrtk
script generator. However, with minor modifications (detailed in the
program near the top) the program can be modified to be used in a stand-alone
manner. The cluster-msa2d program handles load balancing so computers with
different capabilities may be used together in an efficient manner.
INSTALLATION: The two files must be installed in the path. The
exe folder of the rnmrtk.v3 folder is a good option. Read the top of the
cluster-msa2d program for a few lines in the files that must be edited for
your system.
NOTE: The computer_list file is shown as an example. Obviously
you need to change the list for your systems.
NOTE: Currently the cluster-msa2d assumes three things. 1.That
all the computers have the same operating system (the hardware does not need
to be the same). 2. That you can login to any of the computers without being
prompted for a password and 3. That there is a shared directory where the data
is located that is accessible by all the computers in the cluster.
cluster-calcs, cluster-process, and
computer_list - cluster-calcs is a perl
script to launch a single program over and over again across a loosely coupled
cluster. The name of the program to be launched must be given along with a
file which list the directories in which to run the program. For example lets
say you want to run 1000 structure calculations using cyana but with
parameters for each calculation. You would need to create a script that built
a directory structure with 1000 directories each with their own parameter set
and the program to be executed (or a symbolic link to the program). In
addition you will need a text file that has 1000 lines each with the directory
path to one of the 1000 directories that you created. Note that the
directories can be divided in any way you like so you do not need a single
folder with all 1000 directories. The cluster-calcs command calls a shell
script cluster-process. The cluster-calcs program handles load balancing so
that not all computers need to be of equal speed.
INSTALLATION: The two files must be installed in the path.
USAGE: cluster-calcs input_file_with_directory_names
script_to_be_executed
NOTE: The computer_list file is shown as an example. Obviously
you need to change the list for your systems.
cluster-process-kill,
process-kill and
computer_list- A shell script which kills
all processes on the nodes that have a similar type name in the command as
viewed from ps -ax. process-kill is a shell script that is called by
cluster-process-kill which actually does the killing of the different
processes on the nodes.
INSTALLATION: The two files must be installed in the path.
USAGE: cluster-process-kill identifier kill/nokill. The
identifier is text which will identify the job to be killed from the ps-ax
command. The kill/nokill flag determines whether jobs are actually killed or
just listed. It is best to use first with the nokill option to be sure exactly
which jobs you are killing.
NOTE: This command was created for Apple OSX systems. Minor
changes to the process-kill scripts call of the ps command may be necessary
for different operating systems.
NOTE: The computer_list file is shown as an example. Obviously
you need to change the list for your systems.
test-cluster and
computer_list - A perl script which tests
the ssh connectivity of each of the nodes. Very handy for getting through the
initial password entry and "yes" thing for the first time ssh connection.
INSTALLATION: The file must be installed in the path.
USAGE: test-cluster
NOTE: The computer_list file is shown as an example. Obviously
you need to change the list for your systems.
cluster-command and
computer_list - A shell script which will
run a command on all the cluster nodes. Arguments for the command can be
passed, and pipes work, but only a single command can be passed. If more than
a single command is needed then create a shell script with all the commands
and then call that shell script with this script.
INSTALLATION: The file must be installed in the path.
USAGE: cluster-command command
NOTE: The computer_list file is shown as an example. Obviously
you need to change the list for your systems.
cyana-lam-setup - A perl script that
takes as input a cyana script which you want to distribute over a cluster. It
creates four scripts. One called start.com, one called, mpi_run.com, one
called LAM_CALC.job, and one called clean_lam_scripts.com. To distribute on
the cluster simply execute the start.com script. It boots a lam world and
calls the mpi-run.com script which in turn calls the LAM_CALC.job, which runs
the given cyana script that you entered as input. The clean_lam_scripts.com
script is for easy removal of the three scripts generated by this perl
program.
NOTE: The file extension .cya MUST NOT EXIST in the input that
you give the script, although it must be in the filename for cyana to handle
it properly.
INSTALLATION: The file must be installed in the path.
NOTE: It is assumed that lam is installed and that cyana has
been compiled to utilize lam.
OTHERS
interleave.prl and
megaleave.c
- megaleave is a program for extracting interleaved Varian data sets such as
relaxation experiments. interleave.prl is a perl script which is a wrapper to
the megaleave program. See the header of the interleave.prl program for more
information on usage.
INSTALLATION: The interleave.prl program must be in the path.
You must compile megaleave.c with cc before use and place the executable in
the path.
res.prl and statsC.txt - res.prl
is a perl script which will determine likely amino acid types by entering
CA/CB chemical shift values. The statsC.txt file are statistics downloaded
from the BMRB.
INSTALLATION: The file must be installed in the path and the
program modified to point to the location of the statsC.txt file.
USAGE: Enter res.prl to start program. Then simply type chemical
shifts such as "56.75 34.89" and hit enter. A list of possible amino acid
types are listed. Amino acid types on the first line are the best matches and
those on the second line match, but not as well. You can also type an amino
acid type with three letter code in all caps "ALA" for example and a list of
chemical shift values for that amino acid will be displayed along with their
standard deviations. Use "cntrl c" to quit the program.