Phenix: Difference between revisions

Jump to navigation Jump to search
3,530 bytes added ,  26 August 2020
→‎Tips and Tricks: regression tests
(→‎Tips and Tricks: regression tests)
(30 intermediate revisions by the same user not shown)
Line 1: Line 1:
PHENIX (Python-based Hierarchical ENvironment for Integrated Xtallography) is a 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.
PHENIX (Python-based Hierarchical ENvironment for Integrated Xtallography) is a 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 straightforward to use.


The suite ([http://www.phenix-online.org/ Phenix home page]; [http://www.phenix-online.org/documentation documentation]) has a GUI program (phenix) which can be used to run the programs, but they also work from the command line.
The suite ([http://www.phenix-online.org/ Phenix home page]; [http://www.phenix-online.org/documentation documentation]) has a GUI program (phenix) which can be used to run the programs, but they also work from the command line.
Line 6: Line 6:
  phenix.list
  phenix.list


There is also version-specific documentation, e.g. http://www.phenix-online.org/version_docs/dev-572 documents development version 572.
You can join the [http://www.phenix-online.org/mailman/listinfo/phenixbb PHENIX bulletin board] and/or view its archives.


The documentation below focuses on the non-GUI commandline tools and may not be complete, nor up-to-date or even correct.  
The documentation below focuses on the non-GUI commandline tools and may not be complete, nor up-to-date or even correct.  


== Installation problem on NFS for Mac OSX (posting of 23 Jan 2015) ==
== Installation problem on NFS for Mac OSX (posting of 23 Jan 2015) ==
Line 37: Line 35:
== Crystallographic data ==
== Crystallographic data ==


=== [http://www.phenix-online.org/documentation/xtriage.htm phenix.xtriage] - assessing data quality ===
=== [http://www.phenix-online.org/documentation/reference/xtriage.html phenix.xtriage] - assessing data quality ===


=== [http://www.phenix-online.org/documentation/explore_metric_symmetry.htm phenix.explore_metric_symmetry] - investigate different settings ===
=== [http://www.phenix-online.org/documentation/reference/explore_metric_symmetry.html phenix.explore_metric_symmetry] - investigate different settings ===


  phenix.explore_metric_symmetry --unit_cell=145,44,67,90,110.5,90 --space_group=C2 --other_unit_cell=67,44,136,90,96,90 --other_space_group=p2
  phenix.explore_metric_symmetry --unit_cell=145,44,67,90,110.5,90 --space_group=C2 --other_unit_cell=67,44,136,90,96,90 --other_space_group=p2
Line 45: Line 43:
The CCP4 equivalent is [http://www.ccp4.ac.uk/html/othercell.html othercell].
The CCP4 equivalent is [http://www.ccp4.ac.uk/html/othercell.html othercell].


=== [http://www.phenix-online.org/documentation/reflection_statistics.htm phenix.reflection_statistics] - compare datasets ===
=== [http://www.phenix-online.org/documentation/reference/reflection_statistics.html phenix.reflection_statistics] - compare datasets ===
There may be one or two data files.
There may be one or two data files.


=== [http://www.phenix-online.org/documentation/xmanip.htm phenix.xmanip] - structure factor file manipulations ===
=== [http://www.phenix-online.org/documentation/reference/xmanip.html phenix.xmanip] - structure factor file manipulations ===


=== [http://www.phenix-online.org/documentation/model_vs_data.htm phenix.model_vs_data] - statistics ===
=== [http://www.phenix-online.org/documentation/reference/model_vs_data.html phenix.model_vs_data] - statistics ===


Just use "phenix.model_vs_data model.pdb data.hkl" where data.hkl is a reflection file in most of known formats. phenix.model_vs_data can output the map defined as:
Just use "phenix.model_vs_data model.pdb data.hkl" where data.hkl is a reflection file in most of known formats. phenix.model_vs_data can output the map defined as:
Line 85: Line 83:
Like phenix.model_vs_data plus gives you more options and controls.
Like phenix.model_vs_data plus gives you more options and controls.


=== [http://www.phenix-online.org/documentation/reference/fmodel.htm phenix.fmodel] - calculate structure factors from model ===
=== [http://www.phenix-online.org/documentation/reference/fmodel.html phenix.fmodel] - calculate structure factors from model ===


=== phenix.cif_as_mtz - convert cif to mtz format ===
=== phenix.cif_as_mtz - convert cif to mtz format ===
Line 99: Line 97:
== Experimental phasing ==
== Experimental phasing ==


=== [http://www.phenix-online.org/documentation/autosol.htm phenix.autosol] - experimental phasing "wizard" ===
=== [http://www.phenix-online.org/documentation/reference/autosol.html phenix.autosol] - experimental phasing "wizard" ===


phenix.autosol uses HYSS, SOLVE, Phaser, RESOLVE, xtriage and phenix.refine to solve a structure and generate experimental phases with the MAD, MIR, SIR, or SAD methods
phenix.autosol uses HYSS, SOLVE, Phaser, RESOLVE, xtriage and phenix.refine to solve a structure and generate experimental phases with the MAD, MIR, SIR, or SAD methods


=== [http://www.phenix-online.org/documentation/phaser_ep.htm phenix.phaser] - SAD phasing with Phaser ===
=== [http://www.phenix-online.org/documentation/reference/phaser_ep.html phenix.phaser] - SAD phasing with Phaser ===


[http://www.phaser.cimr.cam.ac.uk/index.php/Phaser_Crystallographic_Software Phaser] can do SAD phasing - it is therefore called phaser_ep (ep stands for "experimental phasing"). The Phenix documentation is at [http://www.phenix-online.org/documentation/phaser_ep.htm]. The keywords are concisely (but somewhat lightly) documented at [http://www.phaser.cimr.cam.ac.uk/index.php/Keywords]. A script documenting the following features  
[http://www.phaser.cimr.cam.ac.uk/index.php/Phaser_Crystallographic_Software Phaser] can do SAD phasing - it is therefore called phaser_ep (ep stands for "experimental phasing"). The Phenix documentation is at [http://www.phenix-online.org/documentation/reference/phaser_ep.html]. The keywords are concisely (but somewhat lightly) documented at [http://www.phaser.cimr.cam.ac.uk/index.php/Keywords]. A script documenting the following features  
# using a PDB file (with origin-centered coordinates) as a heavy atom cluster template
# using a PDB file (with origin-centered coordinates) as a heavy atom cluster template
# using two different substructure atomtypes (the cluster, and Fe)
# using two different substructure atomtypes (the cluster, and Fe)
Line 163: Line 161:
== Molecular replacement ==
== Molecular replacement ==


=== [http://www.phenix-online.org/documentation/automr.htm phenix.automr] - interface to Phaser and Resolve ===
=== [http://www.phenix-online.org/documentation/reference/automr.html phenix.automr] - interface to Phaser and Resolve ===


This "wizard" provides an interface to Phaser molecular replacement and feeds the results of molecular replacement directly into the AutoBuild Wizard for automated model rebuilding
This "wizard" provides an interface to Phaser molecular replacement and feeds the results of molecular replacement directly into the AutoBuild Wizard for automated model rebuilding
=== phaser.brunett ===
* automated molecular replacement using incremental exploration, with support for parallelization


=== phenix.phaser ===
=== phenix.phaser ===
Line 201: Line 196:
</pre>
</pre>


=== [http://www.phenix-online.org/documentation/sculptor.htm phenix.sculptor] - automate selection and editing of molecular replacement (MR) models ===
=== [http://www.phenix-online.org/documentation/reference/sculptor.html phenix.sculptor] - automate selection and editing of molecular replacement (MR) models ===


=== [http://www.phenix-online.org/documentation/ensembler.htm phenix.ensembler] - multiple superposition tool to automate construction of ensembles for MR ===
=== [http://www.phenix-online.org/documentation/reference/ensembler.html phenix.ensembler] - multiple superposition tool to automate construction of ensembles for MR ===


== Ligands ==
== Ligands ==


=== [http://www.phenix-online.org/documentation/reel.htm phenix.reel] - restraints editor especially for ligands ===
=== [http://www.phenix-online.org/documentation/reference/reel.html phenix.reel] - restraints editor especially for ligands ===


=== [http://www.phenix-online.org/documentation/elbow.htm phenix.elbow] - electronic Ligand Builder and Optimisation Workbench ===
=== [http://www.phenix-online.org/documentation/reference/elbow.html phenix.elbow] - electronic Ligand Builder and Optimisation Workbench ===
 
Using taxol as an example: this is also named Paclitaxel and one can easily obtain the [https://pubchem.ncbi.nlm.nih.gov/compound/paclitaxel#section=Canonical-SMILES SMILES string]. Then just watch [https://www.youtube.com/watch?v=8qVYTUVKlbQ this video on phenix.elbow].
 
But before you make restraints yourself, check whether it is already in the
dictionary - search on http://ligand-expo.rcsb.org . Taxol should be [http://ligand-expo.rcsb.org/reports/T/TA1/index.html TA1].
 
This can then be used in elbow as a chemical component. This option provides more information than the SMILES string.
 
phenix.elbow --chemical_components=TA1


== Model building and completion ==
== Model building and completion ==
=== [http://www.phenix-online.org/documentation/autobuild.htm phenix.autobuild] - "wizard" for model rebuilding and completion ===
=== [http://www.phenix-online.org/documentation/reference/autobuild.html phenix.autobuild] - "wizard" for model rebuilding and completion ===


phenix.phase_and_build, phenix.build_one_model are fast ways to obtain results.
phenix.phase_and_build, phenix.build_one_model are fast ways to obtain results.


=== [http://www.phenix-online.org/documentation/ligandfit.htm phenix.ligandfit] - "wizard" carrying out fitting of flexible ligands to electron density maps ===
=== [http://www.phenix-online.org/documentation/reference/ligandfit.html phenix.ligandfit] - "wizard" carrying out fitting of flexible ligands to electron density maps ===
=== [http://www.phenix-online.org/documentation/find_helices.htm phenix.find_helices] - rapid helix fitting to a map ===
=== [http://www.phenix-online.org/documentation/reference/find_helices_strands.html phenix.find_helices_strands] - rapid helix/strand fitting to a map ===
=== phenix.fit_loops - fill short gaps using a loop library, and longer gaps (up to 15 residues) iteratively ===
=== phenix.fit_loops - fill short gaps using a loop library, and longer gaps (up to 15 residues) iteratively ===
=== [http://www.phenix-online.org/documentation/assign_sequence.htm phenix.assign_sequence] - sequence assignment and linkage of neighboring segments ===
=== [http://www.phenix-online.org/documentation/reference/assign_sequence.html phenix.assign_sequence] - sequence assignment and linkage of neighboring segments ===
=== phenix.ligand_identification ===
=== phenix.ligand_identification ===


== Refinement with [http://www.phenix-online.org/documentation/refinement.htm phenix.refine] ==
== Refinement with [http://www.phenix-online.org/documentation/reference/refinement.html phenix.refine] ==


=== Example for use of phenix.refine ===
=== Example for use of phenix.refine ===
Line 242: Line 246:
# Simulated annealing at 2nd and one before the last cycles;
# Simulated annealing at 2nd and one before the last cycles;
# find (and remove if necessary) water molecules
# find (and remove if necessary) water molecules
===== restricting the resolution =====
xray_data.high_resolution=2.5
will restrict the high resolution limit to 2.5 A.


=== Ligands ===
=== Ligands ===
Line 255: Line 264:
   definitions for unknown ligands.
   definitions for unknown ligands.
In that case, just running
In that case, just running
  phenix.elbow model.pdb --do-all --output=all_ligands
  phenix.ready_set model.pdb  
will produce all_ligands.cif, which may be fed to phenix.refine by
will produce model.updated.pdb and model.ligands.cif, which may be fed to phenix.refine by
  phenix.refine model.pdb data.mtz all_ligands.cif ...
  phenix.refine model.updated.pdb data.mtz model.ligands.cif ...
If no PDB file for a ligand is available, its SMILES string should be input to phenix.elbow, and phenix.ready_set should run to generate the LINK records (e.g. for a non-natural amino acid that is part of the polypeptide chain), using phenix.elbow's CIF file.
If no PDB file for a ligand is available, its SMILES string should be input to phenix.elbow, and phenix.ready_set should run to generate the LINK records (e.g. for a non-natural amino acid that is part of the polypeptide chain), using phenix.elbow's CIF file.


Line 264: Line 273:
==== Hydrogens ====
==== Hydrogens ====


Use phenix.ready_set to add hydrogens to your PDB file, and (except at ultra-high resolution) the riding hydrogen model in phenix.refine (this is the default so you do not have to specify anything).
Use phenix.ready_set to add hydrogens to your PDB file, and use (except at ultra-high resolution) the riding hydrogen model in phenix.refine (this is the default so you do not have to specify anything).
phenix.ready_set internally uses phenix.elbow for ligands and phenix.reduce for the protein. phenix.pdbtools can also add hydrogens (FIXME: what are the differences?).
phenix.ready_set internally uses phenix.elbow for ligands and phenix.reduce for the protein. phenix.pdbtools can also add hydrogens (FIXME: what are the differences?).
Hydrogens should not be used in NCS and TLS groups - it might be a good idea to add <font face="Courier"> and not (element H or element D)</font> to all selection strings.
Hydrogens should not be used in NCS and TLS groups - it might be a good idea to add <font face="Courier"> and not (element H or element D)</font> to all selection strings.
See the [http://www.phenix-online.org/documentation/refinement.htm#anch32 phenix.refine documentation].
See the [http://www.phenix-online.org/documentation/reference/refinement.html#anch32 phenix.refine documentation].


==== Occupancy ====
==== Occupancy ====
Line 288: Line 297:
are different - this turn the non-bonded interaction off so the residues  
are different - this turn the non-bonded interaction off so the residues  
will get pushed apart.
will get pushed apart.
==== Special positions ====
Single atoms on (or close enough to) a special position (i.e. on one or more 2-,3-,4- or 6-fold rotation axis/axes) are automatically restrained to stay on that special position. For anything else (like a ligand crossing a symmetry element) the trick is: reducing occupancy to 1/n for a n-fold rotation axis, and excluding atoms from non-bonded repulsions with their symmetry mates - see [[Phenix#Switching_off_specific_interactions]] .
==== Bond across symmetry axis ====
There is a small hint at
[https://www.phenix-online.org/documentation/reference/refinement.html#definition-of-custom-bonds-and-angles]
For bonds to symmetry copies, specify the symmetry operation in xyz notation, for example:
symmetry_operation = -x-1/2,y-1/2,-z+1/2
The whole .eff file might look like:
refinement.geometry_restraints.edits {
    bond {
      action = *add delete change
      atom_selection_1 = chain A and resid 1199 and name O4
      atom_selection_2 = chain A and resid 1196 and name C1
      symmetry_operation = X-1/2,-Y+1/2,-Z
      distance_ideal = 1.439
      sigma = 0.020
    }
}
(this is from a posting of Oleg Sobolev to PHENIXBB on  Wed, 27 May 2020 15:55:27 -0700)


==== NCS ====
==== NCS ====
Line 294: Line 327:


* Automatic detection of NCS groups:
* Automatic detection of NCS groups:
  phenix.refine data.hkl model.pdb main.ncs=True
  phenix.refine data.hkl model.pdb ncs=True ncs_search.enabled=True
* Manual specification of NCS groups:
* Manual specification of NCS groups:
  phenix.refine data.hkl model.pdb ncs_groups.params main.ncs=True
  phenix.refine data.hkl model.pdb ncs_groups.params  
where ncs_groups.params contains e.g.:
where ncs_groups.params contains e.g.:
  refinement.ncs.restraint_group {
  refinement.ncs.restraint_group {
Line 307: Line 340:
   selection = chain F
   selection = chain F
  }
  }


* switching to torsion-angle NCS:
* switching to torsion-angle NCS:
Line 345: Line 379:
   }
   }


See the [http://www.phenix-online.org/documentation/refinement.htm#anch26 documentation].
See the [http://www.phenix-online.org/documentation/reference/refinement.html#anch26 documentation].


==== DEN refinement (similar to what is in CNS) ====
==== DEN refinement (similar to what is in CNS) ====
Line 402: Line 436:
* 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);
http://skuld.bmsc.washington.edu/~tlsmd/
http://skuld.bmsc.washington.edu/~tlsmd/
* use these selections for TLS refinement in PHENIX: see http://www.phenix-online.org/documentation/refinement.htm
* or use <code>phenix.find_tls_groups</code> to find TLS groups, and to generate a tls_selections.def file.
* use these selections for TLS refinement in PHENIX: see http://www.phenix-online.org/documentation/reference/refinement.html


for example:
for example:
Line 416: Line 451:
  }
  }


Alternatively, phenix.refine can identify TLS groups on-the-fly, using tls.find_automatically=True
Alternatively, phenix.refine can identify TLS groups on-the-fly, using <pre>tls.find_automatically=True</pre>
 
* phenix.find_tls_groups now can find TLS groups automatically, and generate a tls_selections.def file.


At lower resolution than 1.5A if you run two consecutive refinements, first with TLS  
At lower resolution than 1.5A if you run two consecutive refinements, first with TLS  
Line 435: Line 468:
  }
  }


==== [http://www.phenix-online.org/documentation/refinement.htm#anch28 Fix His/Asn/Gln sidechain orientations] ====
==== [http://www.phenix-online.org/documentation/reference/refinement.html#anch28 Fix His/Asn/Gln sidechain orientations] ====


Use
Use
Line 441: Line 474:
to automatically flip these sidechains to make them better fit the density and/or hydrogen bonding pattern.
to automatically flip these sidechains to make them better fit the density and/or hydrogen bonding pattern.


==== [http://www.phenix-online.org/documentation/refinement.htm#anch30 Using a reference model] ====
==== [http://www.phenix-online.org/documentation/reference/refinement.html#anch30 Using a reference model] ====


A good idea if refinement is done at low resolution but a high resolution model is available.
A good idea if refinement is done at low resolution but a high resolution model is available.


  phenix.refine data.hkl model.pdb main.reference_model_restraints=True \
  phenix.refine data.hkl model.pdb reference_model.enabled=True reference_model.file=reference.pdb
              reference_model.file=reference.pdb


Use reference_model.sigma=0.5 to tighten the restraints (default 1.0 Angstrom), and use reference_model.limit=30 to enlarge the limit (default 15 degrees) up to which the reference torsion angle will be used.
Use reference_model.sigma=0.5 to tighten the restraints (default 1.0 Angstrom), and use reference_model.limit=30 to enlarge the limit (default 15 degrees) up to which the reference torsion angle will be used.
Line 458: Line 490:
It would probably be a good idea to also use main.nqh_flips=True (but maybe this is already integrated into fix_rotamers=true ?)
It would probably be a good idea to also use main.nqh_flips=True (but maybe this is already integrated into fix_rotamers=true ?)


=== Atom selection ===
=== [http://www.phenix-online.org/documentation/reference/atom_selections.html Atom selection] ===


e.g.
e.g.
Line 478: Line 510:




* In specific (rare !) situations one wants to exclude specific interactions. The pdb_interpretation.custom_nonbonded_symmetry_exclusion=<selection> command line keyword was designed for this purpose.  
* In specific (rare !) situations one wants to exclude specific interactions. The pdb_interpretation.custom_nonbonded_symmetry_exclusion=<selection> command line keyword was designed for this purpose. Example (either simply add this on the commandline, after setting the selection appropriately, or if using GUI, find this parameter in "All parameters", and type in atom selection):
custom_nonbonded_symmetry_exclusions="chain A and resseq 123 and sidechain"


* 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 - you just add restraints of the form:
* 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/reference/refinement.html#anch80 - you just add restraints of the form:


  refinement.geometry_restraints.edits {
  refinement.geometry_restraints.edits {
Line 512: Line 545:
to the phenix.refine command line results in the log file containing memory usage throughout the run. Look for the max memory intake in the last record (towards the end of log file). This will give you an idea about how much memory you may need.
to the phenix.refine command line results in the log file containing memory usage throughout the run. Look for the max memory intake in the last record (towards the end of log file). This will give you an idea about how much memory you may need.
It might well be that this also works for the other phenix tools.
It might well be that this also works for the other phenix tools.
== Refinement with mmtbx.lockit ==
From RWGK's posting to [http://www.phenix-online.org/mailman/listinfo/phenixbb phenixbb] on Nov 14, 2010:
We have a tool for quick real-space refinement that's geared towards making the
geometry ideal in the end. I'm not sure it is useful in your situation, but may
be worth a try. It works like this:
mmtbx.lockit your.pdb your_refine_001_map_coeffs.mtz \
      map.coeff_labels.f=2FOFCWT,PH2FOFCWT coordinate_refinement.run=True \
      atom_selection='resname LIG'
It works in two stages. First it attempts to maximize the real-space weight
allowing for a significant (but not totally unreasonable) distortion of the
geometry. This is meant to move the ligand into the density. In the second stage
it scales down the "best" real-space weight and runs a number of real-space
refinements until the selected atoms do not move anymore. The expected result is
nearly ideal geometry.
The procedure is usually very quick. If it turns out to be useful we could
integrate it into phenix.refine, to be run after reciprocal-space refinement.
The mmtbx.lockit command is not as user-friendly as phenix.refine. It only works
with mtz files, you have to manually specify the mtz labels, and the error
messages may be unhelpful. Also be sure there is a valid CRYST1 card in your pdb
file.


== Maps ==
== Maps ==
Line 548: Line 554:
Can work with ensembles of structures. Seems to have no specific documentation. Can also calculate map CC for all atoms or per residue.
Can work with ensembles of structures. Seems to have no specific documentation. Can also calculate map CC for all atoms or per residue.


=== [http://www.phenix-online.org/documentation/get_cc_mtz_mtz.htm phenix.get_cc_mtz_mtz] ===
=== [http://www.phenix-online.org/documentation/reference/get_cc_mtz_mtz.html phenix.get_cc_mtz_mtz] ===
   
   
=== phenix.fobs_minus_fobs_map - calculate difference density ===
=== phenix.fobs_minus_fobs_map - calculate difference density ===
Seems to have no specific documentation.
Seems to have no specific documentation.


=== [http://www.phenix-online.org/documentation/multi_crystal_average.htm phenix.multi_crystal_average] ===
=== [http://www.phenix-online.org/documentation/reference/multi_crystal_average.html phenix.multi_crystal_average] ===
   
   
=== phenix.grow_density - local density improvement ===
=== phenix.grow_density - local density improvement ===
Line 572: Line 578:
with output=xplor produces an X-PLOR style map. Adding a PDB file will result in a masked map.
with output=xplor produces an X-PLOR style map. Adding a PDB file will result in a masked map.


=== [http://www.phenix-online.org/documentation/reciprocal_space_arrays.htm phenix.reciprocal_space_arrays] ===
=== [http://www.phenix-online.org/documentation/reference/reciprocal_space_arrays.html phenix.reciprocal_space_arrays] ===
computes various arrays such as Fcalc, Fmask, Fmodel, Fbulk, and more.
computes various arrays such as Fcalc, Fmask, Fmodel, Fbulk, and more.


Line 586: Line 592:


== NCS usage ==
== NCS usage ==
=== [http://www.phenix-online.org/documentation/find_ncs.htm phenix.find_ncs] - identification of NCS operators ===
=== [http://www.phenix-online.org/documentation/reference/find_ncs.html phenix.find_ncs] - identification of NCS operators ===
from protein coordinates (chains), heavy atom coordinates, or a density map. Example:  
from protein coordinates (chains), heavy atom coordinates, or a density map. Example:  
   phenix.find_ncs my_8_molecules.pdb
   phenix.find_ncs my_8_molecules.pdb
Line 594: Line 600:
Seems to have no specific documentation.
Seems to have no specific documentation.


=== [http://www.phenix-online.org/documentation/apply_ncs.htm phenix.apply_ncs] - applying NCS to a molecule to generate all NCS copies ===
=== [http://www.phenix-online.org/documentation/reference/apply_ncs.html phenix.apply_ncs] - applying NCS to a molecule to generate all NCS copies ===
Example:
Example:
   phenix.apply_ncs find_ncs.ncs_spec chainA.pdb
   phenix.apply_ncs find_ncs.ncs_spec chainA.pdb
Line 605: Line 611:


== Model analysis and manipulation ==
== Model analysis and manipulation ==
=== [http://www.phenix-online.org/documentation/pdbtools.htm phenix.pbdtools] - PDB model manipulations and statistics ===
=== [http://www.phenix-online.org/documentation/reference/pdbtools.html phenix.pbdtools] - PDB model manipulations and statistics ===
e.g.  
e.g.  
  phenix.pdbtools your_model.pdb  model_statistics=True
  phenix.pdbtools your_model.pdb  model_statistics=True
Line 620: Line 626:
will result in a output file model_1.pdb.geo which contains ALL geometry information (bonds, angles, torsions, planarity, non-bonded ...) for each and every atom in your model.
will result in a output file model_1.pdb.geo which contains ALL geometry information (bonds, angles, torsions, planarity, non-bonded ...) for each and every atom in your model.


=== [http://www.phenix-online.org/documentation/hydrogens.htm phenix.reduce] - tool for adding hydrogens to a PDB model ===
=== [http://www.phenix-online.org/documentation/reference/hydrogens.html phenix.reduce] - tool for adding hydrogens to a PDB model ===


=== phenix.pdb_atom_selection ===
=== phenix.pdb_atom_selection ===
Line 628: Line 634:
In this example, selects all atoms within 3 A from CA atom in chain A of residue number 9, and writes them into cut.pdb file.
In this example, selects all atoms within 3 A from CA atom in chain A of residue number 9, and writes them into cut.pdb file.


=== [http://www.phenix-online.org/documentation/superpose_pdbs.htm phenix.superpose_pdbs] - Superposition of models ===
=== [http://www.phenix-online.org/documentation/reference/superpose_pdbs.html phenix.superpose_pdbs] - Superposition of models ===
===  phenix.superpose_ligands - Superposition of ligands ===
===  phenix.superpose_ligands - Superposition of ligands ===
Example files at [http://cci.lbl.gov/~afonine/superpose_ligands/]
Example files at [http://cci.lbl.gov/~afonine/superpose_ligands/]
Line 661: Line 667:
  mmtbx.validation_summary model.pdb
  mmtbx.validation_summary model.pdb


=== [http://www.phenix-online.org/documentation/validation.htm#anch14 phenix.polygon] ===
=== polygon ===
starts the GUI and runs calculations resulting in a [http://dx.doi.org/10.1107/S0907444908044296 POLYGON] drawing of important characteristics of your PDB file in relation to the data
can be run from the GUI and runs calculations resulting in a [http://dx.doi.org/10.1107/S0907444908044296 POLYGON] drawing of important characteristics of your PDB file in relation to the data


=== phenix.validate_model and phenix.validate ===
=== phenix.validate_model and phenix.validate ===
Line 907: Line 913:


== Tips and Tricks ==
== Tips and Tricks ==
1) To check the syntax of a Phenix parameter file (for any program, not just phenix.refine), you
can run this command (replacing params.eff with the file of interest):
libtbx.phil params.eff
If it works, it will just print out the parameters - if not, the error message should give some indication where the error occurred.
2) To check the proper functioning of a Phenix program, e.g. phenix.auto_sharpen, with Phenix's regression tests, type this on the command line:
    phenix_regression.list auto_sharpen
This will then list the command(s) that you can run on your computer to test
phenix.auto_sharpen.  On Tom Terwilliger's computer the output looks like:
libtbx.python "/net/anaconda/raid1/terwill/misc/PHENIX/modules/phenix_regression/segment_and_split_map/tst_auto_sharpen.py"
Copy and paste the line with the regression test you are interested in, and make sure that it runs and
ends with "OK". (For phenix.refine, there are >300 regression tests!)
== Installation from source, and of Rosetta interface ==


A handy tip: to check the syntax of a Phenix parameter file (for any program, not just phenix.refine), you
Phenix can be installed from a ''binary'' installer. Despite this designation, it has the source files for re-compilation. However, re-compilation is normally not required, and requires to specify the --source option to the ./install command.
can run this command (replacing params.eff with the file of interest):


  libtbx.phil params.eff
[http://www.phenix-online.org/documentation/reference/rosetta_refine.html phenix.rosetta_refine] (and [http://www.phenix-online.org/documentation/reference/mr_rosetta.html phenix.mr_rosetta]) requires a working Rosetta installation. The easiest way is to download one of the weekly binary+source Rosetta bundles (to be found following this [https://www.rosettacommons.org/software/license-and-download link]). The tar-file only has to be unpacked; binaries and libraries are pre-compiled. Your .bashrc has to be modified to have e.g.
  export PHENIX_ROSETTA_PATH=/usr/local/src/rosetta_src_2017.08.59291_bundle
(or similarly for .cshrc) and
rosetta.build_phenix_interface nproc=2
needs to be run; the latter step takes hours when doing it for the first time. (According to the docs, this is only needed for rosetta_refine.)


If it works, it will just print out the parameters - if not, the error message should give some indication where the error occurred.
If this fails (for example, compiler error messages), then one must re-compile Phenix and/or Rosetta. Try to re-compile only Phenix first (and after that, try rosetta.build_phenix_interface again); Rosetta re-compilation may take hours. There are several issues associated with re-compilation:
* if the Phenix binary installer is not used: the Phenix source installer requires (on Fedora and RHEL) the openssl-devel, libXt-devel, libtiff, libtiff-devel and bzip2-devel RPM to be installed on the system
* to re-compile Rosetta: go to the main/source directory and issue:
phenix.python scons.py bin mode=release extras=python  -j 2


== See also ==
== See also ==
1,328

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu