ln -s /usr/lib/odat odatThis should be done in the working directory and creates a symbolic link to the directory where the data files are stored. Recent data files can be obtained by ftp from: xray.bmc.uu.se/pub/alwyn/ov70/data.tar.Z. The way it is set up now, this should be unpacked locally, then move the whole directory and subdirectories to /usr/lib/o/odat, e.g., after uncompressing the data.tar.Z file (uncompress data.tar.Z):
tar xvf data.tarThe sudo command is used because root privileges are needed to move files/directories under /usr/lib.
sudo mv data /usr/lib/odat
Also, the file access.o must be properly formatted with your machine id (done through e-mail with Alwyn Jones -- alwyn@xray.bmc.uu.se). Send Alwyn the Chassis ID (comes up when you first start "O", see below), and Alwyn sends back a cryptic id number which is added to the access.o file. The third item in the first (header) line of the access.o file should be updated so that it equals one less than total lines in the file. I typically place the edited access.o file in the main odat (/usr/lib/odat) directory.
alias lino '/usr/bin/lin_ono804_2'was the alias for the second release of lin_ono version 8.04. The current binary executable for the program is obtained through ftp from: xray.bmc.uu.se/pub/alwyn/kipaut/lin_ono.
Upon starting a new "O" file, the following key strokes will start it up (CR = carriage return):
CRNote that all.dat contains items that can be updated, e.g., when adding new residues or hetatoms. The original file was copied to /usr/lib/odat/orig_all.dat. Finally, the stereo_chem.odb should be read in for any refinement. This file is an extended version of the refi_aa.o file.
odat/menu.odb
odat/startup.odb
odat/access.o
odat/all.dat
read odat/stereo_chem.odbAfter reading in these files, it can be saved to a new filename (data block FILE_O_SAVE):
save filename.oThen, starting again just requires
lino filename.o
CR
sam_atom_in junk.pdb junkHere, junk.pdb is read in, given the mol name "JUNK", and additional information from the pdb file is expanded into the internal O database. All information related to a given mol is stored in the database with the internal identifier "MOLNAME_...", e.g., JUNK_ATOM_XYZ is the database identifier for atomic coordinates for mol "JUNK". The different types of information relating to a given mol (e.g., JUNK) currently stored in the database can be displayed by:
Sam> File type is PDB
Sam> Database compressed.
Sam> Space for 262753 atoms
Sam> Space for 10000 residues
Sam> Molecule JUNK contained 206 residues and 1552 atoms
dir junk*Information associated with each database identifier can be viewed with the write command:
Heap> JUNK_ATOM_XYZ R W 4656
Heap> JUNK_ATOM_B R W 1552
Heap> JUNK_ATOM_WT R W 1552
...
Heap> JUNK_RESIDUE_TYPE C W 206
...
write JUNK_RESIDUE_TYPEThe above outputs to the screen the primary sequence of mol JUNK (stored in database as datablock JUNK_RESIDUE_TYPE). The sequence information had been extracted during reading in the junk.pdb file. In the above example, carriage returns (CRs) were entered on the command line after "name of file" and "Format" to accept defaults. A carriage return can also be indicated by semicolon (;) so that a command and acceptance of defaults can be issued on a single line:
Heap> Name of file to be created: <CR>
Heap> Format: <CR>
JUNK_RESIDUE_TYPE C 206 (1x,5a)
ALA VAL ALA VAL LEU
VAL VAL GLU ASP ALA
ARG ASP LEU ALA ASP
write JUNK_RESIDUE_TYPE ;;Finally, database items can be written out to an external file instead of just displayed on the screen:
JUNK_RESIDUE_TYPE C 206 (1x,5a)
ALA VAL ALA VAL LEU
VAL VAL GLU ASP ALA
ARG ASP LEU ALA ASP
write JUNK_RESIDUE_TYPE junk.out ;The resulting output file, junk.out, can be edited and read back in. Any modifications would then overwrite the existing contents for that datablock:
read junk.out
@runfilewould execute any commands in the textfile called "runfile". Note again that a semicolon (;) in the macro denotes a carriage return.
fm_file brixn_mmsk7.map exp7The map file brixn_mmsk7.map was previously generated from mapman (a normalized brix formatted map, see Exp Maps) and will be given object name exp7. Then, multiple maps (2 in this example) with different contour levels (1.00 and 5.00 sigma) will be drawn with radius 15.0 A around current center; each map contour level will be drawn in its own color.
fm_setup exp7 15.0 ; 2 1.00 sky_blue 5.00 orange
fm_draw ;
read sk7.bonesThis file had been previously generated with mapman (see Exp Maps) and has a header:
SK7_ATOM_XYZ R 5244 (3f10.3)Reading this into O creates database entry mol SK7 with bones cartesian coordinates contained in the SK7_ATOM_XYZ datablock.
42.127 37.788 26.713
41.985 37.788 27.190
41.347 37.277 27.667
...
bone_setup sk7 sk7mc 20. 3 1 ;Setup uses mol sk7, which is a bones "molecule" previously read into the database. It is given object name sk7mc, and all mainchain (3) and sidechain (1) level bones that are within 20.0 A of the active center are drawn.
bone_draw
read odat/refi_aa.oThis loads the parameters into the current O database. (Note that anonymous ftp to obtain xray.bmc.uu.se/pub/alwyn/ov70/data.tar.Z will retrieve the current data files such as refi_aa.o.)
Before refining a mol, it must be initialized and generated:
refi_initMol bg15 is ready for geometric refinement.
refi_gener bg15
lego_setupHere, the odat data was loaded (or symbolically linked) to local subdirectory odat; default values above were taken (carriage return) except for bolded entries.
Lego> Define Proleg Paramaters.
Lego> Drawing of Ca traces ([on]/off):
Lego> Good-bad fit colour ramping [ 120 40]:
Lego> File of Diagonal Distances [/xtal2/local/O/data/dgnl.o]: odat/dgnl.o
Lego> Directory containing Protein Database [/xtal2/local/O/data/]: odat
Lego> File of side chain rotamers[/xtal2/local/O/data/rsc.o]: odat/rsc.o
cen_id wait_idThe invoked macro waits for a residue to be selected, then prompts for the new residue type. After any mutation (which is an action on a mol, bg15 in this example) all objects generated from that mol are deleted; therefore, a new all-atom object is generated for the whole molecule using the zone command. Finally, refi_init and refi_generate are required before additional geometric refinement can proceed.
mut_repl $.id_m $.id_r #Enter name of new residue:# ;
mol $.id_m obj bg15all zone ; end
refi_init
refi_generate bg15
mutate_insert bg15 31 32 ALA ;Here, a new ALA 32 was inserted after existing residue 31 in mol bg15. Note that all objects previously generated from mol bg15 are deleted, so new coordinate drawings should be created after the insertion, e.g.,:
mol bg15The mutate_insert created new space in the database for the residue, but its coordinates are not yet defined. To do this, first centre_id on the ca atom of the N-terminally adjacent residue to the inserted residue. Then use baton:
Paint_case ato_z 4 6 7 8 16 yellow blue red green
obj bg15al zone ; end
baton_mode betaNote that 32 in the above line is the number of the newly inserted residue (not an existing residue), and that the building direction is forward. Using the dials (or mouse), the ca for the new residue is positioned. I have found the most useful mode is FragRot dial mode (use dial_pre or dial_next) followed by ctrl-MR mouse control. When the new (green) part of the baton is properly positioned, type "yes". If additional residues were to be added using baton, additional rounds of this procedure could be done. Otherwise, type "no" to leave baton_mode, keeping all ca coordinates accepted with the "yes" command. Note that for baton, the di.o file must have previously been read into the current O file, and the new "di" unit can be seen after creating the object:
baton_build bg15 32 F
mol di ca ; endFinally, the mainchain and sidechain atoms must be built based on the new ca atom:
lego_auto_mc <mouse-select residue 31 and 33>Use the dial to view alternate rotamers to choose. Type "yes" to select the desired rotamer.
The main-chain atoms of the new residue 32 are added
lego_side_chain <id and atom in the new residue 32>
refi_initNote in above the if a residue is being added at the C-terminal end, lego_auto_mc will work by clicking previous followed by added residue.
refi_generate bg15
mutate_insert bg15 122 123 GLUThe bg15-related objects will now be deleted, so a new model must be generated, e.g.:
124 SER
125 LYS
126 SER
127 THR ;
mol bg15Then use the protein database to pick loops that would fit between the existing c-alpha atoms:
paint_case ato_z 4 6 7 8 16 yellow blue red green
boj bg15al zone ; end
sel_on bg15 ;The result is a list of 20 best fitting loops. All but one are displayed as c-alpha traces (obj db_ca) and the fit parameter and database id's are listed in the command window. A single loop of the twenty is active as a poly-ala chain (obj db_ala), and the particular loop that is currently active can be varied by turning the dials (or ctrl-rt-mouse-horizontal movement). This allows the various best loops to be examined in the density. Once identified, the desired loop can then be selected and side-chains added by:
sel_off bg15 123 127
lego_loop bg15 121 129
yesDon't forget to do refi commands so that refinement can continue:
sel_on bg15 ;
lego_side bg15 123 yes
lego_side bg15 124 yes ... (for all inserted residues)
refi_init
refi_ge bg15
1. update your connectivity file (usually i use all.dat) to include
all
atoms for the SCN residue. e.g. add
SCN
ATOM S C N
CONNECT S C N
if the residue is to be called SCN and the atoms are called S, C, N
2. update the stereo chemistry dictionary to include this kind of residue
e.g. add
residue SCN
bond_distance S C 1.8 .02
bond_distance C N 1.4 .02
bond_angle S C N 120. 2.
NB i have no idea of the stereo-chemistry, look it up
3. miutate the structure you are working on to include at least one
more
SCN residue. you might want to add 10 or so
mut_inser
X
110
200 SCN
201 SCN
202 SCN
etc
in the above, the molecule is called X, i've added the residues after
110
and they are called 200, 201 etc
4. make the stereo-chemistry entries
refi_ini X
refi_gen x 1 110
refi_gen x 200 202
etc
5. centre on the next ion with, for example
centre_xyz 20. 22, 24,
6. use the build commands (http://alpha2.bmc.uu.se/~alwyn/release_80.html)
buil_mol x
build_res x 200 c
c_xyz ...
build_res ....
voila
alwyn ( home page: http://xray.bmc.uu.se/alwyn/)
mol #Enter molecule name:#User is prompted for molecule name, object name, and residue number; atoms are colored by type.
obj #Enter object name:#
zone #Enter residue number:# ;
Paint_case ato_z 4 6 7 8 16 yellow blue red green
end
mol bg15Molecule name is bg15 and new object name is pairs; atoms of residues 24, 89, and 115 are displayed.
obj pairs
zone 24 ;
zone 89 ;
zone 115 ;
Paint_case ato_z 4 6 7 8 16 yellow blue red green
end
symm_setup bg15 34.70 71.49 54.70 90. 106.5 90. p21 p21.oMolecule ddc has cell constants above and belongs to space group p21; symmetry file p21.o has to be in the current directory. The crystallographic symmetry mates of existing object ddcall (and within ) are generated with new object name sdcall, within 20.0 A of active center.
symm_object bg15a2 sbg15 20.0
de bg15a2 sbg15 ;Delete objects bg15a2 and sbg15 (if they already exist), then make a new object bg15a2 from mol BG15, color it white, and generate symmetry mates (object root name "sbg" gives resulting mols: sbg1, sbg2, ... sbgn) that are within 20.0 A. The object bg15a2 can then be turned off, leaving only the (white) symmetry mates around. This is useful when you want to easily see which are the symmetry mates and which are the molecule that you are building (visible as a previously generated object).
mol bg15
obj bg15a2 zone ; end
paint_colour white
paint_object bg15a2
symm_setup bg15 34.70 71.49 54.70 90. 106.5 90. p21 p21.o
symm_object bg15a2 sbg 20.0
Notes on creating objects from entire symmetry mates:
When using the above macro, full molecules (sbgn) are created in the
database, although only portions of each are displayed. If one wants
to display the entire molecule symmetry mate, one can then work with individual
molecules: e.g.:
mol sbg3 (if sbg3 was the symmetry mate of interest)would create a ca tracy of symmetry mate sbg3.
obj sbg3ca ca ; end
Paint_case ato_z 4 6 7 8 16 yellow blue red green
obj #Enter obj name:# zone ; end
mol #Enter mol name:#sketch_obj x
sk_set tape line 1.5
sk_add a1 a10
sk_add a100 a120
sk_typ ribbon
sk_add a10 a100
Make a ball-and-stick object of an object x :
obj x sphe 10 end
ske_stick x
read radii.o
ske_cpk x
plot_onThe above also draws a map around active center and turns plotting mode on to generate output that can be converted to postscript file with oplot.
mol bg15 obj x zone 9 14 end
sketch_setup stick solid 0.1 4
ske_stick x
mol ddf obj y zone 9 14 end
sketch_setup stick solid 0.1 4
ske_stick y
fm_setup 2fofc 15 ; 1 1.00 blue
fm_draw ;
plot_off
pep_flip <id two atoms> or <mol res1 res2>Make sure odat directory is correctly defined and necessary files are therelego_setup
rsr_map brixn_2fofc_filename.mapHere, the dat files are loaded in a directory odat/ located one level below the working directory. Reading rsfit_all.o file reads in datablocks that result in all atoms being analyzed when the rs_fit command is issued; alternatively: read odat/rsfit_sc.o or read odat/rsfit_mc.o.read odat/rsfit_all.o
rs_fit mol 2 224This generates a new datablock: mol_residue_rsfit. This can be written out, e.g.:
write mol_residue_rsfit rsfit_all.o (10f7.3)The last set of characters define the output format.
The following analyzes sc conformations.
rsc mol 2 224
write mol_residue_rsc rsc.o (10f5.3)