REFMAC (CCP4: Supported Program)
User's manual for the program refmac version 5.0.*
How to make new ligand dictionary?
Coordinate file formats recognised are pdb, small molecular cif and mmCIF.
If there is a pdb coordinate file then REFMAC can be used to create a dictionary entry. In this case following script should be used:
refmac XYZIN <new_ligand.pdb> XYZOUT <new_ligand1.pdb> \ LIB_IN <my_lib_if_there_is_any.lib< LIB_OUT <my_new_lib.lib> << eor # # MODE NEWEntry MAKE EXIT Yes # END eor
If ligand contained in the coordinate file is not in the list of the standard entries then the program will create a description for it and add them to the user supplied entry lists specified by LIB_IN. Output file will be written to the file specified by LIB_OUT (default is new.lib) in the command line. If there is no user supplied entry list (i.e. LIB_IN has not been specified) then created file will contain new entry only. Then this file if desired could be merged with old entry lists using conventional editors (not reccommended).
It is recommended that new entry description to be checked prior to using in refinement. Especially atom types should be checked. If there are hydrogens the program creates dictionary files usually correctly. If there is no hydrogens in many cases program creates dictionary entries correctly. If coordinates are not good then atom types may not be correct. In this case atom types in new entry list could be corrected and program should be rerun with minimum description.
If description of the ligand is not as desired by the user then he could use sketcher to correct the coordinates and the description for it.
After having new entries and checking them carefully then normal refmac could be run with new ligand supplied like:
refmac ... LIB_IN <my_new_ligands> ... << eor Command lines to use refmac eorAnother way of making new entries from coordinates is using libcheck.
One way of deriving dictionary entry is using pdb style connectivity list as shown in Text 1. Extreme care should be taken when using pdb style connectivity list as it is formatted file and all atoms including hydrogens must be present with all their connectivity. If at least one atom (for example hydrogen) is absent then whole geometry of the ligand may become incorrect as the program will interpret bonds incorrectly. When connectivity list is ready libcheck could be used to derive minimum description:
libcheck << rol _file_dic my_pdb_connectivity.dic eol eolThe the program libcheck will create minimum description as in Text 2 and it will be written in new_mon_lib.cif. Then this file should be copied to another file and checked carefully. After checking and editing technique described in the next section should be used to derive dictionary entry and coordinates to use by the graphics program
After editting minimum description to user's satisfaction it could be used to derive new entry list and coordinates using libcheck.
When information about connectivity is available i.e. which atom is bond to what and contents of ligand i.e. which element occupies which position then minimum description could be used to derive dictionary entry for the ligand. It is good idea first to draw ligand on a piece of paper like:
OH | HO C2 O1-P1(O3) \ /\ / \ / \ / C3 C1 | | | | C4 C6 : \ / : : \/ : O4 C5 OH | | P4(O3) O5 | P5(O3) Figure 1Where dotted lines show that atom is below the picture and dashed lines show above the picture.
If this pictire is converted to the minimum description it will have the form as in Text 1
When making minimum description one should be careful with the chiral volumes present in the ligand.
Then libcheck could be run like:
libcheck << eol N _file_l <minimum_description> _mon MON eol
Where <minimum_description> is the file containing a minimim description and MON is the name of the ligand.
After libcheck there will be complete dictionary description and coordinate files in mmCIF and pdb format with all hydrogens present.
Links to non-commercial edtitors to derive coordinates from chemical desctiption
NOTE: In some cases atom names may not be as you wish them to be. Before running refmac or libcheck to create dictionary it is better to rename atoms to your or IUPAC or somebody's satisfaction.