Phenix: Difference between revisions

From CCP4 wiki
Jump to navigation Jump to search
m (→‎TLS: add example for rigid body and NCS definition)
(remove duplicate NCS entry; add entry about bond modifications etc)
Line 38: Line 38:
  phenix.refine model.pdb data.mtz all_ligands.cif ...
  phenix.refine model.pdb data.mtz all_ligands.cif ...


== Occupancy refinement ==
== Restraints in real space ==
=== Occupancy ===


Adding "occupancy" to the "strategy" options will refine the occupancies of those parts of the model that have alternate conformations.
Adding "occupancy" to the "strategy" options will refine the occupancies of those parts of the model that have alternate conformations.


== NCS ==
=== NCS ===


Automatic detection of NCS groups:
Automatic detection of NCS groups:
Line 61: Line 62:
  }
  }


== TLS ==
=== TLS ===


* run your model through TLSMD server to identify TLS domains (it will produce PHENIX friendly TLS groups selections);
* run your model through TLSMD server to identify TLS domains (it will produce PHENIX friendly TLS groups selections);
Line 87: Line 88:
  }
  }


== NCS ==
== switching off specific interactions ==


example for ncs.def :
To switch off the interaction between a specific atom and its environment, e.g. to obtain unbiased (by restraints) estimates of distances, see http://www.phenix-online.org/documentation/refinement.htm#anch80
refinement.ncs.restraint_group {
  reference = chain 'A' and (resseq 1:44 or resseq 47 or resseq 49:88 ) and (not element H)
  selection = chain 'B' and (resseq 1:44 or resseq 47 or resseq 49:88 ) and (not element H)
  selection = chain 'C' and (resseq 1:44 or resseq 47 or resseq 49:88 ) and (not element H)
  selection = chain 'D' and (resseq 1:44 or resseq 47 or resseq 49:88 ) and (not element H)
}


== See also ==
== See also ==

Revision as of 17:04, 26 March 2009

PHENIX (Python-based Hierarchical ENvironment for Integrated Xtallography) is a new software suite for the automated determination and refinement of macromolecular structures using X-ray crystallography and other methods. It integrates well with CCP4-formatted files for I/O, is highly automated, and very straightforward to use.

The suite has a GUI program (phenix) which can be used to run the programs, but they also work from the command line:

  • phenix.refine - refinement program
  • phenix.xtriage - assessing data quality
  • phenix.find_helices - rapid helix fitting to a map
  • phenix.pbdtools - PDB model manipulations and statistics; e.g. phenix.pbdtools your_model.pdb --show-adp-statistics will show you complete statistics about B-factors; phenix.pbdtools your_model.pdb --show-geometry-statistics will show you complete statistics about stereochemistry, and so on
  • phenix.elbow - electronic Ligand Builder and Optimisation Workbench
  • phenix.reduce - tool for adding hydrogens to a PDB model
  • ...

Example

phenix.refine model.pdb data.mtz strategy=rigid_body+individual_sites+individual_adp \
   simulated_annealing=true optimize_wxc=true optimize_wxu=true main.number_of_macro_cycles=5

Here "data.mtz" is your reflection data file. PHENIX automatically recognizes most of the known file formats, so it can be MTZ, CNS or ...

This will do the following:

  1. Rigid body refinement first cycle only (MZ protocol = VERY high convergence radius);
  2. Refinement of individual xyz and b-factors every cycle with optimized weights;
  3. Simulated annealing at 2nd and one before the last cycles;

Ligands

If some ligand in model.pdb is unknown, phenix.refine will complain:

Sorry: Fatal problems interpreting PDB file:
 Number of atoms with unknown nonbonded energy type symbols: 18
 Please edit the PDB file to resolve the problems and/or supply a
 CIF file with matching restraint definitions, along with
 apply_cif_modification and apply_cif_link parameter definitions
 if necessary (see phenix.refine documentation).
 Also note that phenix.elbow is available to create restraint
 definitions for unknown ligands.

In that case, just running

phenix.elbow model.pdb --do-all --output=all_ligands

will produce all_ligands.cif, which may be fed to phenix.refine by

phenix.refine model.pdb data.mtz all_ligands.cif ...

Restraints in real space

Occupancy

Adding "occupancy" to the "strategy" options will refine the occupancies of those parts of the model that have alternate conformations.

NCS

Automatic detection of NCS groups:

phenix.refine data.hkl model.pdb main.ncs=True

Manual specification of NCS groups:

phenix.refine data.hkl model.pdb ncs_groups.params main.ncs=True

where ncs_groups.params contains e.g.:

refinement.ncs.restraint_group {
  reference = chain A 
  selection = chain B 
  selection = chain C
}
refinement.ncs.restraint_group {
  reference = chain E
  selection = chain F
}

TLS

  • run your model through TLSMD server to identify TLS domains (it will produce PHENIX friendly TLS groups selections);

http://skuld.bmsc.washington.edu/~tlsmd/

for example:

phenix.refine model.pdb data.hkl strategy=individual_sites+individual_adp+tls  tls_selections.def

with tls_selections.def something like:

refinement.refine {
 adp {
 tls = chain 'A'
 tls = chain 'B'
 }
}

Rigid body

example for file rigid_body.def defining 2 rigid bodies:

refinement.refine.sites {
 rigid_body = chain 'A' or chain 'B'
 rigid_body = chain 'L' or chain 'M'
}

switching off specific interactions

To switch off the interaction between a specific atom and its environment, e.g. to obtain unbiased (by restraints) estimates of distances, see http://www.phenix-online.org/documentation/refinement.htm#anch80

See also

Phenix home page

Phenix mailing list