Phenix (https://www.phenix-online.org/)
is the most common program for protein crystallographic refinement.
It is available for free.
Phenix 1.20.1-4487 is installed on Aurora (Feb. 2022).
To run it, add the following lines to you .bash_profile file: source/lunarc/nobackup/projects/bio/PHENIX/phenix-1.20.1-4487/phenix_env.sh
Phenix 1.14.3260 is installed on Aurora (Feb. 2019).
To run it, add the following lines to you .bash_profile file: export
PHENIX="/lunarc/nobackup/projects/bio/PHENIX/phenix-1.14-3260" export PHENIX_VERSION=1.14-3260 . $PHENIX/build/setpaths.sh
On Kebnekaise:
source /proj/nobackup/teobio/Bio/PHENIX/Phenix-19.1.1/phenix-1.19.1-4122/phenix_env.sh
You can easily install it on other computers.
On Macintosh, you typically need to issue something like .
/Applications/phenix-1.17.1-3660/phenix_env.sh
to get it
running on command line.
Refinement with Phenix
Open Phenix
Refinement - phenix.refine
Enter the pdb and mtz files
Often, you also need a restraints file (in cif format)
Is so, the program tells you so
Then, you need to first run ReadySet (traffic-light symbol)
You can do coordinate refinement (individual_sites), B-factor
refinement (individual_adp), occupancies (occupancies).
Default is both reciprocal space and real space. Real space
not recommended.
Hydrogens should be riding.
If the resolution is <1.3 Å, select anisotropic B-factors,
for “all not element H”.
Refinement Strategy - Individual ADP
All atoms except water anisotropic
Output: mtz file with both data (Fobs) and map coefficients
and refined pdb.
Neutron refinement
Fill in neutron data too.
If you want to do neutron-only refinement, fill in only X-ray
data parameters with the neutron data columns. Hydrogens should
be individual.
Output from joint X-ray/neutron refinement – mtz with map
coefficients from both neutron and X-ray.
Auto-open mtz on coot does not work for this file.
Use instead open mtz and select which columns to use for each
map.
Ensemble
refinement with Phenix
Octav - dec-19
Start
from a refined pdb file and structure factor
In
the parameters.def input
xray_data
{file_name=mtz}
pdb
{file_name=pdb}
monomers
{file_name=cif} ! Ligand parameters
ensemble_refinement{tls_group_selection
– atoms to be included in TLS, ptls – percentage of atoms to be included in
TLS, wxray_coupled_tbath_offset – controls the temperature bath, usually set to
5.0, tx – controls the length of the simulation, determined by resolution if
None specified}
Test
various pTLS: 0.5–1.0 and select the one that gives the best R/Rfree
Optional:
test various wxray_coupled_tbath_offset, 2.0, 5.0, 10.0, select the one that
gives the best R/Rfree
Optional:
select various tx – tx=1/dmin^2, can select 0.5*tx or 2*tx, usually not needed
Optional:
select ensemble_reduction = False if you want to keep all the structures in the
ensemble
Run
phenix.ensemble_refinement parameters.def
The output files are
XX_final_ensemble.pdb and XX_final_ensemble.mtz
ComQum-X with Phenix-Amber interface
I have made some progress doing quantum refinement with Phenix, so I
thought I would inform you what can be done with phenix.refine so far
after some (small) changes to the code (basically I’m exploiting the
Amber interface already present in phenix.refine).
To use the hacked version, on aurora.lunarc.lu.se:
An initial model + structure factors are needed. If the structure is published you can use
$ phenix.fetch_pdb <PDB accession code> --mtz
to download the files needed.
To prepare the files for running refinement with Phenix and Amber:
$ phenix.AmberPrep <PDB file>
and pray (literally – neutron structures have so far proven difficult). If all goes well, four new files are generated:
4amber_<PDB accession code>.prmtop
4amber_<PDB accession code>.rst7
4amber_<PDB accession code>.order
4phenix_<PDB accession code>.pdb
as well as <PDB accession code>_uc.pdb (and possibly some other files if unusual ligands are parametrized).
To
use Amber force fields instead of CDL, supply phenix.refine with the
flag use_amber=True. This by default uses the ff14SB force field (and
just MM).
To
use QM/MM, qmmask=’’ can be supplied to phenix.refine, where between ‘’
should be a string identifying the residues in the QM system following
ordinary Amber syntax (you will need to check the Amber manual how to
prepare the mask). Per default PM6 is used for the QM system.
Now the interesting parts, I have added a few keywords:
qmatoms
= ‘’, where the supplied string would be the atom numbering found in
the file <PDB accession code>_uc.pdb file, comma separated (this
can easily be changed into reading a file or similar). Currently
explicit numbering is needed, i.e. no intervals (also very easy to
change). The keywords qmmask and qmatoms are currently mutually
exclusive; if both are supplied at the same time, MM will be used over
QM/MM.
qmtheory
= ‘’, which allows one to change which Hamiltonian is used. Default is
PM6 if not supplied (check the Amber manual for supported Hamiltonians
and which atom types they in turn can handle). Hopefully I can further
exploit this part of the code by linking Amber towards QUICK, which
would then allow higher level of theory for the QM system.
qmcut
= <float>, specifies the cut-off for electrostatic interaction
between QM and MM parts. For some reason this value needs to be rather
low to avoid a sander bomb (which I think relates to the box size used
by Amber). Defaulted to 4.0, which seems to work fine in terms of at
least not crashing.