The program works on each keyword in turn. Therefore, the behaviour of a keyword may depend on what keywords have been previously applied, and how they have updated the model. In complex cases, it may be better to perform several runs of pdbcur.
Delete all solvent residues from all chains and all models. The list of residues identified as "solvent" is kept in $CCP4/lib/src/mmdb/mmdb_tables.cpp as array StdSolventName, and is currently "ADE", "CYT", "GUA", "INO", "THY", "URA", "WAT", "HOH", "TIP", "H2O", "DOD", "MOH".
If a chain has both protein and solvent, only solvent gets removed. If a chain becomes empty after removal of solvent, it gets removed.
If there are two conformations with occupancy of 0.5, then the conformation with alternate ID <altID> is kept. If this parameter is not given, it defaults to "A". Note that this only applies to equal dual conformers - for unequal conformers, that with the highest occupancy is kept, as explained above.
This option is useful for switching back and forth between single and multiple conformers during refinement to check the validity of the model, and for generating single models for simulation or modelling.
Example: rnase.pdb contains 2 chains A and B. Generate a unit cell, space group P 21 21 21, 4 symmetry operations, and assign chain IDs C,D,E for chain A transformed by operations #1,2,3, and IDs F,G,H for chain B transformed by the same operations. Chains A and B transformed by 0th operation (identity) retain their IDs:
pdbcur xyzin rnase.pdb xyzout ucell.pdb <<eof ? symm P 21 21 21 ? genu ? renc A_1 C ? renc A_2 D ? renc A_3 E ? renc B_1 F ? renc B_2 G ? renc B_3 H ? eof
Example: symop Y+1/2,X-1/2,Z A S B R
(declare symmetry transformation x=Y+1/2, y=X-1/2, z=Z
with renaming chain A to S and B to R.
The newly generated chains are named as C_n, where C is the original chain name, and n is the symmetry operation number. Symmetry operations are numbered as they appear in symop statements, from 0 on; however the very first one is applied to the existing chains, which are not renamed in this case.
Example:
pdbcur xyzin rnase.pdb xyzout rnase1.pdb <<eof ? symop X,Y,Z ? symop Y+1/2,X-1/2,Z ? symcommit ? eofjust adds two chains named A_1 and B_1, obtained according to the rule Y+1/2,X-1/2,Z from chains A and B, to the existing file.
The following example
pdbcur xyzin rnase.pdb xyzout ucell.pdb <<eof ? symm P 21 21 21 ? genu ? mkch ? eofproduces exactly the same result as that given for keyword GENUNIT, because the original chains are named sequentially as A,B (not G,I, for example).
Examples:
1. 90-degree rotation of chain A about Z-axis in
original coordinate system:
rotate A 90 0 0 0 0 0
2. 60-degree rotation of chains A and B about Y-axis
in the coordinate system of their mass center:
rotate 'A,B' 0 60 0 center
Examples:
1. 90-degree rotation of chain A about Z-axis in
original coordinate system:
vrotate A 90 0 0 1 0 0 0
2. 60-degree rotation of chains A and B about Y-axis
in the coordinate system of their mass center:
vrotate 'A,B' 60 0 1 0 center
3. 45-degree rotation of all atoms about vector connecting
C-alpha atoms of residues 20.A of chain A and 55
of chain B:
vrotate /*/*/*/* 45 /1/A/20.A/CA[C] /1/B/55/CA[C]
or, if there is only one model in the PDB file:
vrotate * 45 A/20.A/CA[C] B/55/CA[C]
where no spaces are allowed. The slashes separate the hierarchical levels of models, chains, residues and atoms.
Notations:
mdl - the model's serial number or 0 or '*' for any model
(default).
chn - the chain ID or list of chain IDs like 'A,B,C' or
'*' for any chain (default).
s1,s2 - the starting and ending residue sequence numbers
or '*' for any sequence number (default).
i1,i2 - the residues insertion codes or '*' for any
insertion code. If the sequence number other than
'*' is specified, then insertion code defaults to ""
(no insertion code), otherwise the default is '*'.
res - residue name or list of residue names like 'ALA,SER'
or '*' for any residue name (default)
at - atom name or list of atom names like 'CA,N1,O' or
'*' for any atom name (default)
el - chemical element name or list of chemical element
names like 'C,N,O', or '*' for any chemical element
name (default)
aloc - the alternative location indicator or list of
alternative locations like 'A,B,C', or '*' for any
alternate location. If the atom name and chemical
element name is specified (both may be '*'), then
the alternative location indicator defaults to ""
(no alternate location), otherwise the default is
'*'.
Values for chain IDs, residue names, atom names, chemical element
names and alternative location indicators may be negated by
prefix '!'. For example, '!A,B,C' for the list of chain names
means 'any chain ID but A,B,C'.
Generally, any hierarchical element as well as the selection code may be omitted, in which case it is replaced for default (see above). This makes the following examples valid:
* select all atoms
/1 select all atoms in model 1
A,B select all atoms in chains A and B in
all models
/*/1,2 select all atoms in chains 1 and 2 in
all models. Note that you must use this
format with numerical chain identifiers
/1// select all atoms in chain without chainID
in model 1
/*/,A,B/ select all atoms in chain without chainID,
chain A and B in all models
33-120 select all atoms in residues 33. to 120.
in all chains and models
A/33.A-120.B select all atoms in residues 33.A to
120.B in chain A only, in all models
A/33.-120.A/[C] select all carbons in residues 33. to
120.A in chain A, in all models
CA[C] select all C-alphas in all
models/chains/residues
A//[C] select all carbons in chain A, in all models
(!ALA,SER) select all atoms in any residues but
ALA and SER, in all models/chains
/1/A/(GLU)/CA[C] select all C-alphas in GLU residues of
chain A, model 1
/1/A/*(GLU)./CA[C}: same as above
[C]:,A select all carbons without alternative
location indicator and carbons in alternate
location A
NOTE: if a selection contains comma(s), the selection sentence must
be embraced by quotation marks, which indicate to the input parser that
the sentence is a single input parameter rather than a set of comma-
separated arguments.