1,328
edits
(→phenix.elbow - electronic Ligand Builder and Optimisation Workbench: according to phenixBB 1.4.2019) |
(→Tips and Tricks: regression tests) |
||
(5 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 263: | Line 264: | ||
definitions for unknown ligands. | definitions for unknown ligands. | ||
In that case, just running | In that case, just running | ||
phenix. | phenix.ready_set model.pdb | ||
will produce | will produce model.updated.pdb and model.ligands.cif, which may be fed to phenix.refine by | ||
phenix.refine model.pdb data.mtz | 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 300: | Line 301: | ||
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]] . | 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 306: | Line 327: | ||
* Automatic detection of NCS groups: | * Automatic detection of NCS groups: | ||
phenix.refine data.hkl model.pdb | 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 | 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 415: | 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 430: | 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> | ||
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 893: | 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: | |||
can run | 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. | 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 == | == Installation from source, and of Rosetta interface == |