Phenix: Difference between revisions

Jump to navigation Jump to search
2,601 bytes added ,  26 August 2020
→‎Tips and Tricks: regression tests
(→‎Tips and Tricks: regression tests)
(7 intermediate revisions by the same user not shown)
Line 5: Line 5:
A short help, such as usage and options, is printed out by all PHENIX command line tools: just type phenix.TOOLNAME and hit Enter (or Return). Note that you can get a complete list of jiffies with  
A short help, such as usage and options, is printed out by all PHENIX command line tools: just type phenix.TOOLNAME and hit Enter (or Return). Note that you can get a complete list of jiffies with  
  phenix.list
  phenix.list
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 204: Line 205:


=== [http://www.phenix-online.org/documentation/reference/elbow.html 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 ==
Line 254: 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 287: 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 293: 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 ncs_search.enabled=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 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/
* 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
* use these selections for TLS refinement in PHENIX: see http://www.phenix-online.org/documentation/reference/refinement.html


Line 417: Line 452:


Alternatively, phenix.refine can identify TLS groups on-the-fly, using <pre>tls.find_automatically=True</pre>
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 880: 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.


A handy tip: to check the syntax of a Phenix parameter file (for any program, not just phenix.refine), you
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:
can run this command (replacing params.eff with the file of interest):
    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.phil params.eff
  libtbx.python "/net/anaconda/raid1/terwill/misc/PHENIX/modules/phenix_regression/segment_and_split_map/tst_auto_sharpen.py"


If it works, it will just print out the parameters - if not, the error message should give some indication where the error occurred.
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 ==
== Installation from source, and of Rosetta interface ==
1,328

edits

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

Navigation menu