Phenix: Difference between revisions
mNo edit summary |
Revision as of 08:28, 5 June 2008
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:
- phenix.refine - refinement program
- phenix.xtriage - assessing data quality
- phenix.find_helices - rapid helix fitting to a map
- ...
- ...
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:
- Rigid body refinement first cycle only (MZ protocol = VERY high convergence radius);
- Refinement of individual xyz and b-factors every cycle with optimized weights;
- 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 ...
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:
refinement.ncs.restraint_group { reference = chain A selection = chain B selection = chain C } refinement.ncs.restraint_group { reference = chain E selection = chain F }