| |
 |  |  |  | Command |  | Argument |
 | Datatype |  | Default |  | Min |  | Max |  |
 |  | Format: |  | Check<Atom|Res|Obj|All> |
| Selection, |  |
SELECTION |  | - |
 | - |
 | - |  |  | |
 | | | Type
= Angles | Backbone | BFactor | Bonds | Bumps | Chi1 | Chi1Chi2 | Chirality | HBonds
| InOut | Occupancy | Omega | Packing1 | Packing2 | PepFlip | PhiPsi | Planarity
| ProRing | SideFlip | Torsions | All, |  | STRING |  |
- |  | - |  | - |  |  | |  |
| | Filename = PDBReport base filename |
 | STRING |  | - |  | - |
 | - |
 |  |  | Python: |  | resultlist = Check<Atom|Res|Obj|All>(selection1,Type,filename) |  |
 |  | Menu: |  | Analyze > Check |  |
 |
 | Required: |  |  |  |  |
The Check
command performs a large number of normality checks, many of which map to 'WHAT_CHECKs' performed by WHAT IF,
and are therefore only available in the Twinset. YASARA checks
:
- PepBonds: Absence of cis-peptide bonds
- Isomeres: Correctness of stereoisomeres
- NameConv: Correctness of naming conventions
- WaterPos: Normality of water positions (Dynamics+) WHAT IF checks (Twinset required):
- Bonds: Normality of bond lengths
- Angles: Normality of bond angles
- Torsions: Normality of torsion angles
- Omega: Normality of omega angle distribution
- PhiPsi: Normality of Ramachandran plot
- Chi1: Normality of chi-1 side-chain rotamer
- Chi1Chi2: Normality of chi-1/chi-2 rotamer combination
- ProRing: Normality of proline ring torsions
- Chirality: Normality of improper torsions without planar groups
- Planarity: Normality of planar side-chain
- Backbone: Normality of backbone conformation
- PepFlip: Flip of peptide plane
- Bumps: Sum of interatomic bumps (including crystal symmetry)
- Packing1: Normality of three dimensional packing
- Packing2: Normality of three dimensional packing, fine grained
- InOut: Normality of inside/outside distribution
- HBonds: Buried unsatisfied hydrogen bond donors and acceptors
- SideFlip: Flip of Asn, Gln, His side-chain
- BFactor: Normality of atom B-factors
- Occupancy: Normality of atom occupancies
When assessing the quality of a homology model or experimental structure,
the most important checks to look at are (in this order):
- The backbone conformation (Backbone)
- The 3D packing contacts (Packing1,Packing2)
- The Ramachandran plot (PhiPsi)
- Atomic overlaps (Bumps)
And for potentially completely misfolded structures:
- The inside/outside distribution (InOut)
The final selection type
allows you to request check results on the object-, residue- or atom-level.
- CheckObj returns one value for the entire object. Depending on the check, this can be either the simple average of the per-residue checks, or a postprocessed, renormalized value. In any case, the CheckObj command displays information about the meaning of the result at the end of the output.
- CheckRes returns one value for each selected residue. If a check is done per-atom (Chirality,HBonds), then the residue will be assigned the atom average.
- CheckAtom returns one value for each selected atom. If a check is only available on a per-object or per-residue basis, all atoms within the object/residue will be assigned the same result. The only checks that really return distinct per-atom values are Chirality and HBonds.
In case a check cannot be done for a selected unit, the value
-999 is returned for that unit. Some examples of impossible checks are:
The first class of impossible checks:
- The rotamer normality, backbone normality and peptide-plane flips of the two N- and C-terminal residues (these are all analyzed by searching stretches of five residues with the residue in question in the middle, which obviously fails for the two terminal residues).
- The rotamer normality and peptide-plane flips for residues with an unusal backbone conformation. If the backbone conformation is not seen often, then there are not enough statistics to determine the backbone-dependent normality indicators.
- The torsion and PhiPsi normality for the N- and C-terminal residue (these do not have all the torsion angles required for analysis).
In the examples above, the fact that a check is impossible might occasionally let a problem slip through. There is a second class of impossible checks that are not a problem at all:
The second class of impossible checks:
- The rotamer normality of Ala and Gly (they do not have side-chain rotamers at all)
- The chirality of atoms that are not chiral centers.
- The side-chain planarity of residues without planar side-chains. ..and many more. In all these cases, the check will also report the result -999.
In addition to the values displayed and returned (usually Z-scores),
YASARA performs a normalization that maps the results to the range [0..1], where
1 is perfect/correct/not-so-interesting and 0 is bad/incorrect/important-to-look-at,
and stores these normalized values as the new atomic property
. This allows to easily color
or select atoms based on the check results. If you get unexpected coloring results,
make sure that the color mapping is set correctly
. Atoms that could not be checked either get a perfect '1' (the second class of impossible checks described above),
or keep the property value of -999 (the first class of impossible checks). The value
-999 maps to the color gray, i.e. after coloring by property, gray atoms indicate that nothing is known about the atom.
More details about individual checks:
- The All check corresponds to a WHAT IF 'FULCHK'. The resulting PDBReport is saved at the specified path with the chosen prefix. The various figures in EPS format are included, so that LaTeX can be used to convert the output to a PDF file. When using Windows, this feature requires that the path to the Twinset does not contain spaces. You may have to copy the file whatif/dbdata/supertab.sty to the PDBReport path before running LaTeX. If the latter reports errors, just press <Return> to continue.
- The PepBonds check is done by YASARA and identifies residues with a cis-peptide bond at the N-terminus, including prolines. This check identifies atoms via their names, which works correctly also for unusual amino acids, but fails for amino acids with incorrect backbone atom names. The check returns the summed up number of cis-bonds per selected unit.
If you want to correct cis-peptides, look at the
CorrectCis command for instructions.
- The NameConv check is done by YASARA and identifies pairs of atoms whose names do not match the conventions, i.e. have been flipped. A list of conventions that are currently checked is available here. The check returns the summed up number of naming errors per selected unit.
The Clean command
corrects the naming convention problems reported here.
- The WaterPos check is done by YASARA using the following recipe: Calculate the force field energy of each water molecule, then convert it to a Z-score using the mean and standard deviation of the energies in bulk solvent. This check thus only makes sense if the water molecules have been energy minimized before. Also waters on the protein surface will score badly if the protein has not been solvated.
Example 1:
CheckObj 5tim,all,5tim_check
Make a full check of object 5tim, saving the results as dat/5tim_check*.
Example 2:
CheckObj 1crn,all,dat/
Make a full check of object 1crn, saving the results in directory dat/. Use this approach if you postprocess the output with pdbout2html.
Example 3:
CheckObj 1crn,Angles
Check the normality of bond angles in object 1crn.
Example 4:
CheckRes His,SideFlip
Check all histidines for side-chains that need to be flipped.
Example 5:
CheckAtom Res Lys,Bumps
Check all atoms in lysine residues for bumps.
Example 6:
ramazscore = CheckObj 6,PhiPsi
Check the Ramachandran plot of object 6 and assign the overall Z-score to variable
'ramazscore'.
Example 7:
packlist() = CheckRes Obj 6,Packing1
Check the packing quality of object 6 and assign the per-residue Z-scores to the list
'packlist'.
Example 8:
chilist() = CheckAtom Mol A,Chirality
Check the chirality of atoms in molecule A and assign the per-atom Z-scores to the list
'chilist'.
Example macro:
# EXAMPLE Check
# Requires the Twinset
Clear
# Define a list of all checks
checklist()='Bonds','Angles','Torsions','Omega','PhiPsi','Chi1',
'Chi1Chi2','ProRing','Chirality','Planarity','Backbone',
'PepFlip','Bumps','Packing1','Packing2','InOut','HBonds',
'SideFlip','BFactor','Occupancy'
# Create one copy of 1crn for every check and color it accordingly
for i=1 to count checklist
check = checklist(i)
# Load and place the protein
obj = LoadPDB 1crn
posx = (((i-1)%5-2)*30)
posy = ((1.5-(i-1)//5)*30+5)
PosObj (obj),X=(posx),Y=(posy),Z=160
# Label it
LabelObj (obj),(check),Height=4,Color=Red,Y=-12
# Check it, store the check result as atomic property value
Tabulate CheckObj (obj),(check)
# And let it rotate a bit
AutoRotateObj (obj),(rnd 1-0.5),(rnd 1-0.5),(rnd 1-0.5)
# Color and style
ColorPar Property,Min,Yellow,0
ColorPar Property,Max,Blue,1
Color Property
Style Cartoon,Stick
Wait 400
 | | Figure: Result of the example macro above. |
|