![]() |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
The TypeBond
command reassigns the order of all bonds between the two atom selections. This is especially important as PDB files provide only basic connectivity information for heteroatoms,
but knowledge about the order of covalent bonds is crucial for adding hydrogen atoms
or automatically assigning force field parameters. YASARA provides two special features:
YASARA's knowledge about the bond orders comes from two different sources:
TypeBond is called automatically when
loading a PDB file. As PDB files often do not contain hydrogen atoms and provide only very low resolution data,
there may be more than one chemically valid solution, leading to ambiguous bond order assignments. You can then easily provide YASARA with a hint: just
add the correct number of hydrogen atoms
to one of the key atoms, YASARA will then automatically retype the bonds.
Example 1:TypeBond 105,109 Assign the bond order between atoms 105 and 109. Example 2:TypeBond Obj 1,Obj 1,useTopo=No Assign all bond orders in object 1, but do not use the topology section in yasara.def.
Example 3:TypeBond all,all,kekulize=Yes Assign all bond orders, then convert bonds with fractional orders
(resonance effects) to conjugated single and double bonds. Example macro:
# EXAMPLE TypeBond
# Requires YASARA Model
Clear
LoadPDB 101m
# Small balls, thick sticks
Style BallStick
BallRadius 37
StickRadius 75
# Delete everything except the heme
DelRes !Hem,center=Yes
OriObj 1,206.5,323.2,-50.7
# Create 6 heme versions, with an increasing number of
# hydrogens from left to right, fractional bond orders
# at the top and integer bond orders at the bottom.
for i=0 to 5
# Create a copy of heme
obj = DuplicateObj 1
if i%3
# Delete the iron, protonate two nitrogens
DelAtom Fe Obj (obj)
AddHydAtom N_A N_C Obj (obj),1
if i%3==2
# Protonate the remaining two nitrogens
AddHydAtom N_B N_D Obj (obj),1
AddHydObj (obj)
if i>=3
# Reassign bond orders, avoiding fractional ones
TypeBond Obj (obj),Obj (obj),kekulize=Yes
# Place the object
PosObj (obj),X=(((i%3)-1)*15),Y=((0.5-i//3)*15),Z=30
# Get rid of the original
DelObj 1
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||