Copyright © 2005, Molsoft LLC Aug 8 2008
|
[ Build faq | Convert pdb | Regularization procedure | Molecule create | Molecular modifications | Objects merge | Merge2 | Xyz morphing | Stereo reconstruction ]
The easiest way to build an object with one of several peptides is to use the build string command. There you can use a one letter code (upper case characters) or three-letter code and separate sequences of different chains by a semicolon. Examples: build string "AAAAA" # penta-alanine build string "ASFHGD;EQWR" # two chainsTo create a DNA duplex or a compound, use GUI. For a more flexible building procedure, follow the following steps:
Examples: build string "se nh3+ ala his leu trp coo-" set v_/3/xi1 -60. minimize
Sometimes it is necessary to have a PDB file in the form of an ICM molecular object. For example, it's a convenient way to list and/or to change a torsion angle (or a series of them). All what you need is to use convert command. One more ICM-format object will be created (use show object command to see the list of currently loaded molecular objects). The above method is good only for a limited set of tasks mostly related to structure analysis. If you want to perform further conformational sampling by energy optimization it is better to regularize the pdb-object (see the next section) We recommend to use the convertObject macro which optimizes hydrogens and can do some necessary cleanup. See also strip
Regularization is a sophisticated multi-step procedure. It consists of the following six steps.
Let us assume that your input is a pdb file with a new small organic molecule and you want to create a proper ICM object from this molecule. What is currently missing in the description may be the following:
[ methylation | hydroxylation | glycosylation | sulfation | amidation | phosphorylation | ssbond-formation | peptide-bond ] Methylation, hydroxylation, glycosylation, sulfation, amidation, phosphorylation, disulfide bond formation, peptide cyclization/bond,ICM allows to perform most of the common chemical modifications of peptides and other biological molecules. It is easy to build a linear chain of amino acids and add N- and C- termini. D-amino acids can be introduced by adding capital D in front of the residue name (i.e. Dala). To make further modifications we will use the modify and the make [disulfide | peptide] bond commands. Let us consider the main categories, using the nh3-DCSTVYHCK-coo peptide as an example. Start you session with build string "se nh3+ asp cys ser thr val tyr his cys lys gly coo-"Now, if you like to see the results of your operations, display the molecule and do the following:
The following example shows how to build a cyclic peptide cyclosporin A: # read pdb "1csa" # make bond a_1csa.m/1/n a_1csa.m/11/c # write library "cs" a_/1 # display grey build string "se thr thr gly leu val leu ala Dala leu leu val" modify a_/2/og1 a_/2/hb modify a_/3/hn "ch3" modify a_/4/hn "ch3" modify a_/6/hn "ch3" modify a_/9/hn "ch3" modify a_/10/hn "ch3" modify a_/11/hn "ch3" rename a_/1 "bmt" # actually, the residue BMT is more complex rename a_/2 "aba" rename a_/3 "sar" rename a_/4 "mle" rename a_/6 "mle" rename a_/9 "mle" rename a_/10 "mle" rename a_/11 "mva" display make peptide bond a_/11/c a_/1/n minimize "vw,14,to,hb,el,ss" montecarlo "vw,14,to,hb,el,ss"
(the move command). It may be necessary to merge two or several ICM-objects or molecules to one, For example, if you are dealing with a docking problem and have prepared two molecular objects separately. The ICM command move allows you to do that. Technically, it rearranges virtual connections in the ICM molecular tree responsible for the description of the molecules in one ICM-object or in several ones.
read object "complex" # load a two-molecule ICM-object
display virtual a_//!h* # display molecules with virtual bonds
color molecule
show object # one ICM-object loaded
read object "crn" # load one more ICM-object
display virtual
color a_2. magenta
show object # two ICM-objects loaded
move a_2.* a_1. # merge two ICM-objects to one
# with virtuals connected to the origin
show object # now two loaded ICM-objects becomes one
connect a_1.3 # you can move newly incorporated molecule
# w/respect to the original complex.
# do not forget to press ESC key in the
# graphics window to complete the command
# and / or you can save the new
# three-molecule object to a new file
write object "super_complex"
(See connect to learn more about the command.)
If, on the contrary, you would like to have one or several molecules from an ICM-object as an independent ICM-object, you should simply delete unnecessary molecules and to save the remaining one(s) as a new ICM object, for example:
read obj "super_complex" # suppose you saved "supercomplex"
# from above example, then...
delete a_1.1 # all what you need is a_1.2 and a_1.3,
show molecule # right?
write object "remains_of_super"
# new ICM-object file "remains_of_super.ob"
# contains the 2nd and the 3rd molecules
To swap parts between several pdb files, read all of them to icm, and rename the chain which are you going to graft into the template, so that the template and the graft have the same name. Sometimes the two structures need to be superimposed. So, what is important for 'graftability' is
read pdb "1crn"
read pdb "1cbn"
rename a_2.1 "m"
# or rename a_2.1 Name(a_1.1)[1] to do it automatically
superimpose a_1.1 a_2.1 align # see more specific
The second concern is residue numbers. They need to be unique. This can be performed with the align number command, e.g. align number a_2.1/21:28 22 # renumber the loop starting from 22 Now you can write the pieces to a file and after you read it back the pieces will become one molecule. write pdb a_1.1/1:20 "hyb" write pdb a_2.1/21:28 "hyb" append write pdb a_1.1/29:99 "hyb" append read pdb "hyb" # read the hybrid in cool a_ # display it These operations are combined in the mergePdbmacro, e.g. mergePdb a_2./20:25 a_1./300:308 # creates hybrid.pdb file
The following procedure will solve the problem:
read pdb "bj1bb" # first structure
read pdb "bj2bb" # second structure
strt = Xyz(a_1.//*) # matrix (3, N_of_atoms) of the first ...
fnsh = Xyz(a_2.//*) # ... and of the second
display a_1. red # to see what is going on if you need it
display a_2. blue
nn = 300 # to generate 300 intermediate conformations
x = 1./nn
for i = 1, nn
set a_1.//* strt*(1.-x*i) + fnsh*x*i
write pdb a_1. "x"+i
# uncomment the above line if you need
# to save intermediates in x1.pdb, x2.pdb, etc.
endfor
quit
Follow these steps:
Example:
read column "xxy" # 3 numbers in each line + a header: #> xl xr y
makePdbFromStereo xl xr y 6.
read pdb unix cat
ATOM ....
ATOM ....
# Ctrl-D
display
|
| Copyright© 1989-2004, Molsoft,LLC - All Rights Reserved. This document contains proprietary and confidential information of Molsoft, LLC. The content of this document may not be disclosed to third parties, copied or duplicated in any form, in whole or in part, without the prior written permission from Molsoft, LLC. |