Author: A.A.Vagin
email: alexei@ysbl.york.ac.uk
Reference:
A. A. Vagin, G. N. Murshudov and B. V. Strokopytov
BLANC: the program suite for protein crystallography
J. Appl. Cryst. (1998). 31, 98 - 102
Complete monomer's description defines the chemical structure of a monomer which doesn't depends on the conformation of monomer. Complete description consists of the list of atoms, atom's types, bonds, angles, tortions, chiralities, planarities. This description can be used for refinement, graphics, validation. The extended mmCIF format makes the dictionary self-understandable, simple to correct and to add new information. See an example of complete description.
Minimal description is the list of atoms, atom's types, bonds and types of bonds. Complete description can be derived from minimal by using energetic parameter dictionary. There are several kinds of minimal description:
Dictionary contains information about:
Some monomer has "minimal description : list of atom, atom's types and bonds. Complete description can be derived from minimal. See details in Dictionary of monomers
Action depends on keywords and input file which are used. Some cases can be used only for special purpose.
Use keywords:
MON, FILE_L, HFLAG, REF, ANGLE, NODIST
in this case keyword COOR doesn't work.
Use keywords:
FILE_L, HFLAG, REF, ANGLE, NODIST, COOR MON,
In case of checking monomer description first of all program checks a presence of description of monomers.
Scheme of the check of the presence of description of monomers.
Global search is an algorithm to matching two description.
Make_new means to create new complete description.
+------------------------------------+
! Look at the name in the dictionary !
! Is that in the dictionary ? !
+------------------------------------+
! !
no ! ! yes
v v
+---------------+ +----------------------+
! Global search ! yes ! Minimal description !
! matching ? !--->----! ? !
+---------------+ +----------------------+
! ! !
no ! ! yes ! no
! ! v
v v !
! ! !
! ! !
+-----------------------+ v
! Make_new ! !
+-----------------------+ !
! !
! !
v v
+-----------------------------+
! Create coordinate file !
! Refinement !
! Create PostScript file !
+-----------------------------+
If the description of a monomer is absent in the library program will try to create library description and write it to special file for further inclusion to the library. Program creates PostScript files with the pictures of new monomers.
How program creates new description:
libcheck uses as input CIF or PDB_file and distributed libraries:
mon_lib_com.cif - description links and modifications
mon_lib_prot.cif - amino-acids
mon_lib_na.cif - DNA/RNA
mon_lib_sug.cif - sugars
mon_lib_met.cif - metals
mon_lib_1.cif - small molecules
mon_lib_2.cif - - - - - -
. . . . . . . .
ener_lib.cif, - energetic parameters
Program can read additional library of monomers.
1. with atomic coordinates
2. library description : standard values of bonds, angles,
torsion angles, chirality centres, plan groups.
/ file extension "lib"/
3. PostScript file with the pictures of new monomer.
Dialogue is a preferable way of running LIBCHECK. Keywords with short explanations are printed by the program at the beginning of execution. However, the program automatically produces a batch command file during dialogue. This feature might be useful to repeate calculations.
To get started with LIBCHECK, first you have to answer a question:
Do you want to have FILE-DOCUMENT /makecif.doc/ ? /<N>/Y/A :
N - means without DOC-file
Y - with new contents
A - means to keep old contents and add new information
with DOC-file program creates batch file: libcheck.bat
DOC Y
After that you can use keywords in any order, if you want to use its.
additional library, " " means without this file
gives information about this monomer. If MON = * , gives the list of all monomers in the library.
input PDB_file ," " means without this file
input PDB_DICT_file ," " means without this file
input CIFile ," " means without this file
input CSD CIFile," " means without this file
Y - use the hydrogen atoms where they are
A - use all hydrogen atoms (i.e. create if they absent)
N - without hydrogen atoms
Y means to create index of "mon_lib.cif". output file: "new_mon_lib_ind.cif"
output files /library,coords,ps/ ( name without extention)
additional library (FILE_L) will be added to this library. In this case program performs only adding.
rotation angle for PostScript picture ( around X )
short output, L - long, M - medium
Y means the refinement of new monomer ( with keyword MON only).
Y means to read only non-distributed library (keyword FILE_L)
Y means to use observed values of parameters from coordinate file instead of value from libraries.
- restrain maker.
uses as input CIF or PDB_file and libraries mon_lib.cif,
ener_lib.cif, symlib.blc and creates files:
1. with atomic coordinates, symmetry and unit cell
parameters. / file extension "crd"/
2. with chemical structure description and atomic
scattering structure factors. / file extension "str"/
3. with restraints: standard values of bonds, angles,
torsion angles, chirality centres, plan groups, its
actual values in the structure. / file extension "rst"/
- restrain checker.
reads CIFiles of coordinates and restraints,
gives information about restraints (writes to DOC_file),
converts writes CIFile to PDB_file.
- energy minimization / or B_factor regularization /
minimizes the energy of structure using the restraints files
from program MAKECIF.
E_total = E_bond + E_angle + E_tors + E_vdw + E_hb
E_bond = Sum ( Kb * (Bobs -Bidl)**2 )
E_angle = Sum ( Ka * (ANGLEobs -ANGLEidl)**2)
E_tors = Sum ( Kt * (PHIobs -PHIidl)**2 )
E_vdw = Lennard-Jones 6-12 potential
E_bond = 10-12 potential
See Installation for MAKECIF
# -------------------------------- libcheck <<stop # -------------------------------- # first line : "_DOC <N>,Y,A " # N - means without DOC-file: "libcheck.doc" # Y - create new file or rewrite if it is old file # A - means to keep old contents and add new information # _DOC y # # # Keywords: # _MON j1 _FILE_L ttt.lib _file_o new _END stop
data_comp_list loop_ _chem_comp.id _chem_comp.name _chem_comp.group _chem_comp.desc_level j1 'j1' 'non-polymer' M # data_comp_j1 # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.type_symbol j1 P P j1 OPP O j1 O1P O j1 O2P O j1 O5* O j1 N1 N j1 C6 C j1 C2 C j1 O2 O j1 N3 N j1 C4 C j1 O4 O j1 C5 C j1 C5A C j1 C2* C j1 C5* C j1 C4* C j1 O4* O j1 C1* C j1 C3* C j1 O3* O loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.type j1 P OPP single j1 P O1P double j1 P O2P single j1 P O5* single j1 O5* C5* single j1 N1 C6 single j1 N1 C2 single j1 N1 C1* single j1 C6 C5 double j1 C2 O2 double j1 C2 N3 single j1 N3 C4 single j1 C4 O4 double j1 C4 C5 single j1 C5 C5A single j1 C2* C1* single j1 C2* C3* single j1 C5* C4* single j1 C4* O4* single j1 C4* C3* single j1 O4* C1* single j1 C3* O3* single loop_ _chem_comp_chir.comp_id _chem_comp_chir.id _chem_comp_chir.atom_id_centre _chem_comp_chir.atom_id_1 _chem_comp_chir.atom_id_2 _chem_comp_chir.atom_id_3 _chem_comp_chir.volume_sign j1 chir_01 C4* C5* O4* C3* positiv
data_comp_list loop_ _chem_comp.id _chem_comp.three_letter_code _chem_comp.name _chem_comp.group _chem_comp.number_atoms_all _chem_comp.number_atoms_nh _chem_comp.desc_level j1 j1 'j1 ' non-polymer 36 21 . # # --- DESCRIPTION OF MONOMERS --- # data_comp_j1 # loop_ _chem_comp_atom.comp_id _chem_comp_atom.atom_id _chem_comp_atom.type_symbol _chem_comp_atom.type_energy _chem_comp_atom.partial_charge j1 O4 O O 0.000 j1 C4 C CR6 0.000 j1 N3 N NR16 0.000 j1 HN3 H HNR6 0.000 j1 C2 C CR6 0.000 j1 O2 O O 0.000 j1 C5 C CR6 0.000 j1 C5A C CH3 0.000 j1 H5A3 H HCH3 0.000 j1 H5A2 H HCH3 0.000 j1 H5A1 H HCH3 0.000 j1 C6 C CR16 0.000 j1 H6 H HCR6 0.000 j1 N1 N NR6 0.000 j1 C1* C CH1 0.000 j1 H1* H HCH1 0.000 j1 C2* C CH2 0.000 j1 H2*2 H HCH2 0.000 j1 H2*1 H HCH2 0.000 j1 O4* O O2 0.000 j1 C4* C CH1 0.000 j1 H4* H HCH1 0.000 j1 C3* C CH1 0.000 j1 H3* H HCH1 0.000 j1 O3* O OH1 0.000 j1 HO3* H HOH1 0.000 j1 C5* C CH2 0.000 j1 H5*1 H HCH2 0.000 j1 H5*2 H HCH2 0.000 j1 O5* O O2 0.000 j1 P P P 0.000 j1 O1P O OP 0.000 j1 O2P O OH1 0.000 j1 HO2P H HOH1 0.000 j1 OPP O OH1 0.000 j1 HOPP H HOH1 0.000 loop_ _chem_comp_tree.comp_id _chem_comp_tree.atom_id _chem_comp_tree.atom_back _chem_comp_tree.atom_forward _chem_comp_tree.connect_type j1 O4 n/a C4 START j1 C4 O4 C5 . j1 N3 C4 C2 . j1 HN3 N3 . . j1 C2 N3 O2 . j1 O2 C2 . . j1 C5 C4 C6 . j1 C5A C5 H5A1 . j1 H5A3 C5A . . j1 H5A2 C5A . . j1 H5A1 C5A . . j1 C6 C5 N1 . j1 H6 C6 . . j1 N1 C6 C1* . j1 C1* N1 O4* . j1 H1* C1* . . j1 C2* C1* H2*1 . j1 H2*2 C2* . . j1 H2*1 C2* . . j1 O4* C1* C4* . j1 C4* O4* C5* . j1 H4* C4* . . j1 C3* C4* O3* . j1 H3* C3* . . j1 O3* C3* HO3* . j1 HO3* O3* . . j1 C5* C4* O5* . j1 H5*1 C5* . . j1 H5*2 C5* . . j1 O5* C5* P . j1 P O5* OPP . j1 O1P P . . j1 O2P P HO2P . j1 HO2P O2P . . j1 OPP P HOPP . j1 HOPP OPP . END j1 N1 C2 . ADD j1 C2* C3* . ADD loop_ _chem_comp_bond.comp_id _chem_comp_bond.atom_id_1 _chem_comp_bond.atom_id_2 _chem_comp_bond.type _chem_comp_bond.value_dist _chem_comp_bond.value_dist_esd j1 OPP P single 1.699 0.020 j1 O1P P double 1.610 0.020 j1 O2P P single 1.699 0.020 j1 P O5* single 1.610 0.020 j1 O5* C5* single 1.426 0.020 j1 N1 C6 single 1.337 0.020 j1 N1 C2 single 1.350 0.020 j1 C1* N1 single 1.465 0.020 j1 C6 C5 double 1.390 0.020 j1 O2 C2 double 1.330 0.020 j1 C2 N3 single 1.337 0.020 j1 N3 C4 single 1.337 0.020 j1 C4 O4 double 1.330 0.020 j1 C5 C4 single 1.384 0.020 j1 C5A C5 single 1.506 0.020 j1 C2* C1* single 1.524 0.020 j1 C2* C3* single 1.524 0.020 j1 C5* C4* single 1.524 0.020 j1 C4* O4* single 1.426 0.020 j1 C3* C4* single 1.524 0.020 j1 O4* C1* single 1.426 0.020 j1 O3* C3* single 1.432 0.020 j1 HOPP OPP single 0.967 0.020 j1 HO2P O2P single 0.967 0.020 j1 H6 C6 single 1.083 0.020 j1 HN3 N3 single 1.040 0.020 j1 H5A1 C5A single 1.059 0.020 j1 H5A2 C5A single 1.059 0.020 j1 H5A3 C5A single 1.059 0.020 j1 H2*1 C2* single 1.092 0.020 j1 H2*2 C2* single 1.092 0.020 j1 H5*1 C5* single 1.092 0.020 j1 H5*2 C5* single 1.092 0.020 j1 H4* C4* single 1.099 0.020 j1 H1* C1* single 1.099 0.020 j1 H3* C3* single 1.099 0.020 j1 HO3* O3* single 0.967 0.020 loop_ _chem_comp_angle.comp_id _chem_comp_angle.atom_id_1 _chem_comp_angle.atom_id_2 _chem_comp_angle.atom_id_3 _chem_comp_angle.value_angle _chem_comp_angle.value_angle_esd j1 O4 C4 N3 120.000 3.000 j1 O4 C4 C5 120.000 3.000 j1 N3 C4 C5 120.000 3.000 j1 C4 N3 HN3 120.000 3.000 j1 C4 N3 C2 120.000 3.000 j1 HN3 N3 C2 120.000 3.000 j1 N3 C2 O2 120.000 3.000 j1 N3 C2 N1 120.000 3.000 j1 O2 C2 N1 120.000 3.000 j1 C4 C5 C5A 120.000 3.000 j1 C4 C5 C6 120.000 3.000 j1 C5A C5 C6 120.000 3.000 j1 C5 C5A H5A3 109.470 3.000 j1 C5 C5A H5A2 109.470 3.000 j1 C5 C5A H5A1 109.470 3.000 j1 H5A3 C5A H5A2 109.470 3.000 j1 H5A3 C5A H5A1 109.470 3.000 j1 H5A2 C5A H5A1 109.470 3.000 j1 C5 C6 H6 120.000 3.000 j1 C5 C6 N1 120.000 3.000 j1 H6 C6 N1 120.000 3.000 j1 C6 N1 C1* 120.000 3.000 j1 C6 N1 C2 120.000 3.000 j1 C1* N1 C2 120.000 3.000 j1 N1 C1* H1* 109.470 3.000 j1 N1 C1* C2* 109.470 3.000 j1 N1 C1* O4* 109.470 3.000 j1 H1* C1* C2* 108.340 3.000 j1 H1* C1* O4* 109.470 3.000 j1 C2* C1* O4* 109.470 3.000 j1 C1* C2* H2*2 109.470 3.000 j1 C1* C2* H2*1 109.470 3.000 j1 C1* C2* C3* 111.000 3.000 j1 H2*2 C2* H2*1 107.900 3.000 j1 H2*2 C2* C3* 109.470 3.000 j1 H2*1 C2* C3* 109.470 3.000 j1 C1* O4* C4* 111.800 3.000 j1 O4* C4* H4* 109.470 3.000 j1 O4* C4* C3* 109.470 3.000 j1 O4* C4* C5* 109.470 3.000 j1 H4* C4* C3* 108.340 3.000 j1 H4* C4* C5* 108.340 3.000 j1 C3* C4* C5* 111.000 3.000 j1 C4* C3* H3* 108.340 3.000 j1 C4* C3* O3* 109.470 3.000 j1 C4* C3* C2* 111.000 3.000 j1 H3* C3* O3* 109.470 3.000 j1 H3* C3* C2* 108.340 3.000 j1 O3* C3* C2* 109.470 3.000 j1 C3* O3* HO3* 109.470 3.000 j1 C4* C5* H5*1 109.470 3.000 j1 C4* C5* H5*2 109.470 3.000 j1 C4* C5* O5* 109.470 3.000 j1 H5*1 C5* H5*2 107.900 3.000 j1 H5*1 C5* O5* 109.470 3.000 j1 H5*2 C5* O5* 109.470 3.000 j1 C5* O5* P 120.500 3.000 j1 O5* P O1P 108.200 3.000 j1 O5* P O2P 109.500 3.000 j1 O5* P OPP 109.500 3.000 j1 O1P P O2P 109.500 3.000 j1 O1P P OPP 109.500 3.000 j1 O2P P OPP 109.500 3.000 j1 P O2P HO2P 120.000 3.000 j1 P OPP HOPP 120.000 3.000 loop_ _chem_comp_tor.comp_id _chem_comp_tor.id _chem_comp_tor.atom_id_1 _chem_comp_tor.atom_id_2 _chem_comp_tor.atom_id_3 _chem_comp_tor.atom_id_4 _chem_comp_tor.value_angle _chem_comp_tor.value_angle_esd _chem_comp_tor.period j1 CONST_1 O4 C4 N3 C2 180.000 0.000 0 j1 CONST_2 C4 N3 C2 O2 180.000 0.000 0 j1 CONST_3 C4 N3 C2 N1 0.000 0.000 0 j1 CONST_4 O4 C4 C5 C6 180.000 0.000 0 j1 var_1 C4 C5 C5A H5A1 180.000 20.000 1 j1 CONST_5 C4 C5 C6 N1 0.000 0.000 0 j1 CONST_6 C5 C6 N1 C1* 180.000 0.000 0 j1 CONST_7 C5 C6 N1 C2 0.000 0.000 0 j1 var_2 C6 N1 C1* O4* 180.000 20.000 1 j1 var_3 N1 C1* C2* C3* 180.000 20.000 3 j1 var_4 N1 C1* O4* C4* 180.000 20.000 1 j1 var_5 C1* O4* C4* C5* 180.000 20.000 1 j1 var_6 O4* C4* C3* O3* 180.000 20.000 3 j1 var_7 O4* C4* C3* C2* 0.000 20.000 3 j1 var_8 C4* C3* O3* HO3* 180.000 20.000 1 j1 var_9 O4* C4* C5* O5* 180.000 20.000 3 j1 var_10 C4* C5* O5* P 180.000 20.000 1 j1 var_11 C5* O5* P OPP 180.000 20.000 1 j1 var_12 O5* P O2P HO2P 180.000 20.000 1 j1 var_13 O5* P OPP HOPP 180.000 20.000 1 loop_ _chem_comp_chir.comp_id _chem_comp_chir.id _chem_comp_chir.atom_id_centre _chem_comp_chir.atom_id_1 _chem_comp_chir.atom_id_2 _chem_comp_chir.atom_id_3 _chem_comp_chir.volume_sign j1 chir_01 C4* C5* O4* C3* positiv j1 chir_02 C1* N1 C2* O4* positiv j1 chir_03 C3* C2* C4* O3* positiv loop_ _chem_comp_plane_atom.comp_id _chem_comp_plane_atom.plane_id _chem_comp_plane_atom.atom_id _chem_comp_plane_atom.dist_esd j1 plan-1 N1 0.020 j1 plan-1 C6 0.020 j1 plan-1 C2 0.020 j1 plan-1 C1* 0.020 j1 plan-1 N3 0.020 j1 plan-1 C4 0.020 j1 plan-1 C5 0.020 j1 plan-1 O4 0.020 j1 plan-1 H6 0.020 j1 plan-1 HN3 0.020