Copyright © 2025, Molsoft LLC Nov 5 2025 Google Search: Keyword Search: |
[ 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 "AAA-tpo-AA" # peptide with phosphothreonine 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 Extended list of amino acids. The built-in amino acids are stored in the icm.res library and can be directly used in the build or build string commands. An extended list of 250 amino acids along with the actual objects is stored in the table called AminoAcids (file AminoAcids.icb ) and can be accessed directly or with the -mutateResidue2 macro. Disulfides and CyclizationDisulfide bonds can be imposed with the make disulfide bond cys1 cys2 command, e.g. The terminal atoms can can be connected with the make bond simple command. The peptide needs to be generated without terminal groups, e.g. build string "ala ala ala ala ala" make bond simple a_/1/n a_/5/c # last to first only set term "bb,bs,af" minimize # ends will close See also:
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)
The convert command will also set selftethers to allow future
restrained minimization with the "ts" term
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 one 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" See also:
(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 mergePdb macro, 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-2025, Molsoft,LLC - All Rights Reserved. Copyright© 1989-2025, 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. |