1,330
edits
(54 intermediate revisions by 2 users 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 | 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 | ||
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) == | |||
The problem: | |||
In an effort to save us from malware, OS X now adds a 'quarantine' attribute to downloaded files. This includes tar and compressed tar files. For most users the quarantine flag only really comes into play if the downloaded file is an application or installer package. | |||
When Yosemite untars an archive with the quarantine attribute, it adds the quarantine attribute to every file it extracts from the archive. | |||
This doesn't present a problem if you're extracting the archive to a local disk, or an AFP-mounted network volume. If you're extracting the archive to an NFS-mounted network volume, it can't store the quarantine flag as a resource fork on the file itself. Instead, it creates a ._<filename> file for each extracted file. | |||
The Phenix installer doesn't like having an install tree full of unexpected ._ files. In some cases, such as where generate_henke_cpp.py tries to generate tables from all the files in a directory, it tries to read ._ files as normal files and dies. | |||
The solution: | |||
The solution is trivial once you know what the problem is. Remove the quarantine attribute from the tar file before extracting its contents. For example: | |||
xattr -d com.apple.quarantine phenix-installer-1.9-1692-mac-intel-osx-x86_64.tar.gz | |||
Of course, if the Phenix installer could be modified so that it doesn?t die when it finds unexpected ._ files, that would be lovely. | |||
Chris | |||
-- | |||
Dr Chris Richardson :: Sysadmin, structural biology, icr.ac.uk | |||
== Crystallographic data == | == Crystallographic data == | ||
=== [http://www.phenix-online.org/documentation/xtriage. | === [http://www.phenix-online.org/documentation/reference/xtriage.html phenix.xtriage] - assessing data quality === | ||
=== [http://www.phenix-online.org/documentation/explore_metric_symmetry. | === [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 | ||
The CCP4 equivalent is | The CCP4 equivalent is [http://www.ccp4.ac.uk/html/othercell.html othercell]. | ||
=== [http://www.phenix-online.org/documentation/reflection_statistics. | === [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. | === [http://www.phenix-online.org/documentation/reference/xmanip.html phenix.xmanip] - structure factor file manipulations === | ||
=== [http://www.phenix-online.org/documentation/model_vs_data. | === [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 62: | 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/fmodel. | === [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 76: | Line 97: | ||
== Experimental phasing == | == Experimental phasing == | ||
=== [http://www.phenix-online.org/documentation/autosol. | === [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. | === [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 | [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 140: | Line 161: | ||
== Molecular replacement == | == Molecular replacement == | ||
=== [http://www.phenix-online.org/documentation/automr. | === [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 | ||
=== phenix.phaser === | === phenix.phaser === | ||
Line 178: | Line 196: | ||
</pre> | </pre> | ||
=== [http://www.phenix-online.org/documentation/sculptor. | === [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. | === [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. | === [http://www.phenix-online.org/documentation/reference/reel.html phenix.reel] - restraints editor especially for ligands === | ||
=== [http://www.phenix-online.org/documentation/elbow. | === [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_component TA1 | |||
== Model building and completion == | == Model building and completion == | ||
=== [http://www.phenix-online.org/documentation/autobuild. | === [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. | === [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/ | === [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. | === [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. | == 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 210: | Line 237: | ||
==== advanced usage ==== | ==== advanced usage ==== | ||
phenix.refine model.pdb data.mtz strategy=rigid_body+individual_sites+individual_adp \ | phenix.refine model.pdb data.mtz strategy=rigid_body+individual_sites+individual_adp \ | ||
simulated_annealing=true | simulated_annealing=true optimize_xyz_weight=true optimize_adp_weight=true main.number_of_macro_cycles=5 \ | ||
ordered_solvent=True | ordered_solvent=True | ||
Line 216: | Line 243: | ||
# Rigid body refinement first cycle only (MZ protocol = VERY high convergence radius); | # Rigid body refinement first cycle only (MZ protocol = VERY high convergence radius); | ||
# Refinement of individual xyz and b-factors every cycle with optimized weights ( | # Refinement of individual xyz and b-factors every cycle with optimized weights (info: optimize_xyz_weight=true optimize_adp_weight=true makes the program take longer!); | ||
# 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 234: | 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 243: | Line 273: | ||
==== Hydrogens ==== | ==== Hydrogens ==== | ||
Use phenix.ready_set to add hydrogens to your PDB file, and (except at ultra-high resolution) | 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. | See the [http://www.phenix-online.org/documentation/reference/refinement.html#anch32 phenix.refine documentation]. | ||
==== Occupancy ==== | ==== Occupancy ==== | ||
Line 267: | 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 ==== | ||
more on this: see [[Phenix#NCS_usage]] | |||
phenix.refine data.hkl model.pdb | * Automatic detection of NCS groups: | ||
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 286: | Line 340: | ||
selection = chain F | selection = chain F | ||
} | } | ||
* switching to torsion-angle NCS: | |||
ncs.type=torsion | |||
* switch off the restraints on NCS-related B-factors: | |||
ncs.b_factor_weight=0 | |||
==== Secondary structure restraints ==== | ==== Secondary structure restraints ==== | ||
Line 319: | Line 379: | ||
} | } | ||
See the [http://www.phenix-online.org/documentation/refinement. | See the [http://www.phenix-online.org/documentation/reference/refinement.html#anch26 documentation]. | ||
==== DEN refinement (similar to what is in CNS) ==== | |||
DEN restraints can be activated in phenix.refine from the | |||
command-line with the current version and latest nightly builds, and | |||
they are the same deformable elastic network restraints available in | |||
CNS. PHENIX developers have been working closely with Axel Brunger and Gunnar | |||
Schroder to implement DEN in Phenix. | |||
They have not yet officially announced the DEN restraints as they are | |||
still being tested and actively developed to get the implementation | |||
just right, and the parameterization is still very much in flux. It is | |||
hoped that by the next version it will become and a stable feature, and | |||
at that point DEN will be added as an option in the GUI. | |||
These restraints have been shown to be particularly useful at low | |||
resolution, and there has been success in using at 4-5A and below. It is unclear | |||
how useful they would be at relatively high resolution (say | |||
2.5A or higher), as there are other restraint methods that work well | |||
at that resolution range that are far less computationally intensive. | |||
In almost all cases it is best to optimize the gamma and weight | |||
parameters, which is quite time intensive but is most likely to give | |||
the best results. Currently this can be parallelized, but only on | |||
cores that share memory. If you do optimize the | |||
gamma and weight parameters, you cannot simultaneously optimize B | |||
factor weights, which is another limitation that will be overcome in | |||
the future. | |||
As soon as a stable version is announced in the context of a new | |||
release, documentation will be available. | |||
To use DEN with the current release (1.7.3), you can use a | |||
parameterization such as this: | |||
refinement { | |||
main { | |||
den_refinement = True | |||
number_of_macro_cycles = 1 | |||
nproc = 8 | |||
} | |||
refine { | |||
strategy = *individual_sites individual_sites_real_space rigid_body \ | |||
*individual_adp group_adp tls occupancies group_anomalous | |||
} | |||
den { | |||
reference_file = reference.pdb | |||
optimize = True | |||
annealing_type = *torsion cartesian | |||
final_refinement_cycle = True | |||
} | |||
} | |||
==== TLS ==== | ==== TLS ==== | ||
Line 325: | 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. | * 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 339: | Line 451: | ||
} | } | ||
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 | |||
and the next one without TLS, then in the second run anisotropic ADPs | |||
will be converted to isotropic automatically. This is done by | |||
phenix.refine to prevent accidental refinement of individual anisotropic | |||
ADPs in such cases. The keyword and threshold are: | |||
switch_to_isotropic_high_res_limit=1.5. At better resolution, all atoms which have ANISOU records will be refined anisotropically in the second run, which may not be what the user wants. | |||
==== Rigid body ==== | ==== Rigid body ==== | ||
Line 349: | Line 468: | ||
} | } | ||
==== [http://www.phenix-online.org/documentation/refinement. | ==== [http://www.phenix-online.org/documentation/reference/refinement.html#anch28 Fix His/Asn/Gln sidechain orientations] ==== | ||
Use | Use | ||
Line 355: | 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. | ==== [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 | phenix.refine data.hkl model.pdb reference_model.enabled=True 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 372: | 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 380: | Line 498: | ||
The latter will refine only the B-factors of A10:A20 . It should be noted that the overall B-factor can change by ± a constant. This is because the trace of overall anisotropic scale matrix is subtracted from it and added to all atoms and to Bsol. | The latter will refine only the B-factors of A10:A20 . It should be noted that the overall B-factor can change by ± a constant. This is because the trace of overall anisotropic scale matrix is subtracted from it and added to all atoms and to Bsol. | ||
Another example: | |||
sel = "chain A and resseq 123 and resname LIG and name C1 and altloc A" | |||
where "resseq 123" and "resname LIG" are probably redundant. | |||
Yet another example: | |||
sel = "altloc A or altloc ' ' or element H" | |||
would select hydrogens of the only (or first, if there are several) alternate conformation of each residue. | |||
=== Switching off specific interactions === | === Switching off specific interactions === | ||
* 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. | * 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 412: | Line 539: | ||
If there is a significant amount of model missing you can try the undocumented option "use_statistical_model_for_missing_atoms=true" - you need the latest version for this. For some details see pages #17-19 in http://cci.lbl.gov/~afonine/afonine.pdf | If there is a significant amount of model missing you can try the undocumented option "use_statistical_model_for_missing_atoms=true" - you need the latest version for this. For some details see pages #17-19 in http://cci.lbl.gov/~afonine/afonine.pdf | ||
== | === finding out the memory consumption === | ||
adding | |||
--show-process-info | |||
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. | |||
== Maps == | == Maps == | ||
Line 447: | 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. | === [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. | === [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 471: | 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. | === [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 485: | Line 592: | ||
== NCS usage == | == NCS usage == | ||
=== [http://www.phenix-online.org/documentation/find_ncs. | === [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 493: | Line 600: | ||
Seems to have no specific documentation. | Seems to have no specific documentation. | ||
=== [http://www.phenix-online.org/documentation/apply_ncs. | === [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 | ||
and it will generate the copies based on find_ncs.ncs . | and it will generate the copies based on find_ncs.ncs . | ||
=== torsion NCS === | |||
Example: | |||
mmtbx.find_torsion_angle_ncs_groups model.pdb | |||
This command will output which NCS groups the torsion NCS routine finds by the automated method. | |||
== Model analysis and manipulation == | == Model analysis and manipulation == | ||
=== [http://www.phenix-online.org/documentation/pdbtools. | === [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 | phenix.pdbtools your_model.pdb model_statistics=True | ||
will show you complete statistics about B-factors | will show you complete statistics about B-factors and stereochemistry, | ||
phenix.pbdtools your_model.pdb set_b_iso=25.3 selection="chain A and resname ALA and name CA" | phenix.pbdtools your_model.pdb set_b_iso=25.3 selection="chain A and resname ALA and name CA" | ||
will set all B=25 for all CA atoms in all ALA residues of chain A. | will set all B=25 for all CA atoms in all ALA residues of chain A. | ||
Useful to prepare a model for Molecular Replacement: | |||
phenix.pdbtools convert_to_isotropic=true keep="not (altloc B or element H or hetero)" occupancies.set=1 stop_for_unknowns=false model.pdb | |||
=== phenix.pdb_interpretation - PDB bonds, distances, dihedrals, ... === | === phenix.pdb_interpretation - PDB bonds, distances, dihedrals, ... === | ||
Line 513: | 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. | === [http://www.phenix-online.org/documentation/reference/hydrogens.html phenix.reduce] - tool for adding hydrogens to a PDB model === | ||
=== [http://www.phenix-online.org/documentation/superpose_pdbs. | |||
=== phenix.pdb_atom_selection === | |||
phenix.pdb_atom_selection model.pdb "within(3, chain L and resseq 9 and name CA)" --write-pdb-file=cut.pdb | |||
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/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 523: | Line 643: | ||
phenix.get_cc_mtz_pdb map_coeffs1.mtz model_2.pdb | phenix.get_cc_mtz_pdb map_coeffs1.mtz model_2.pdb | ||
will create offset.pdb which is a copy of model_2.pdb, adjusted for the origin of map_coeffs_1.mtz, and therefore superimposing on model_1.pdb with space-group symmetry plus allowed origin shifts. This will not change the hand, however. | will create offset.pdb which is a copy of model_2.pdb, adjusted for the origin of map_coeffs_1.mtz, and therefore superimposing on model_1.pdb with space-group symmetry plus allowed origin shifts. This will not change the hand, however. | ||
=== secondary structure analysis === | |||
phenix.ksdssp model.pdb | |||
will output HELIX and SHEET records which you can paste into the PDB header. You should verify the assignments yourself, however, as it occasionally runs adjacent helices together. | |||
== Validation == | == Validation == | ||
= | A summary can be obtained by | ||
phenix.pdbtools model_stat=true model.pdb | |||
comprehensive : | |||
phenix.ramalyze model.pdb | |||
phenix.rotalyze model.pdb | |||
phenix.cbetadev model.pdb | |||
phenix.clashscore model.pdb | |||
phenix.pdb_interpretation model.pdb restraints.cif write_geo_file=True | |||
Or for the really impatient: | |||
mmtbx.validation_summary model.pdb | |||
=== polygon === | |||
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 535: | Line 676: | ||
=== phenix.clashscore === | === phenix.clashscore === | ||
Prints out the worst contacts. | |||
The clash score should be below 20. | |||
=== phenix.r_factor_statistics === | |||
prints out R, Rfree, R-Rfree histograms based on PDB structures. | |||
If run without parameters, prints out helpful text about its usage. | |||
== Other programs == | == Other programs == | ||
Line 549: | Line 697: | ||
will split the total B-factor in ATOM records into TLS component and 'residual' part. | will split the total B-factor in ATOM records into TLS component and 'residual' part. | ||
== List of programs == | |||
This is the output of phenix.list (version 1630): | |||
<pre> | |||
durandal.cluster_pdbs: Entropy-accelerated exact clustering of protein decoys | |||
durandal.rank_pdbs: Entropy-accelerated exact clustering of protein decoys | |||
fable.cout: Convert Fortran sources to C++ | |||
fable.show_calls: Show Fortran call graph | |||
iotbx.cif.validate: Validation of CIF files against core CIF dictionary | |||
iotbx.cns.transfer_crystal_symmetry: Read unit cell and space group from many file formats, add to CNS input file | |||
iotbx.crystal_symmetry_from_any: Read unit cell and space group from many file formats | |||
iotbx.dtrek.to_cns: Convert d*trek reflection file to CNS format | |||
iotbx.lattice_symmetry: Determination of lattice symmetry given unit cell | |||
iotbx.pdb.add_conformations: Add alternate conformation to a PDB file (for entire model or atom selection) | |||
iotbx.pdb.join_fragment_files: Join multiple PDB files constituting one model | |||
iotbx.pdb.link_as_geometry_restraints_edits: Convert PDB LINK records to phenix.refine parameter file format | |||
iotbx.pdb.print_sequence: Extract FASTA sequence string from PDB file | |||
iotbx.pdb_as_fasta: Extract FASTA sequence string from PDB file | |||
iotbx.pdb_labels_comparison: Compare two pdb files, ignoring coordinates | |||
iotbx.pdb_labels_diff: Diff between two pdb files, ignoring coordinates | |||
iotbx.phil: Check syntax of parameter file | |||
iotbx.r_free_flags_accumulation: Determine fraction of R-free flags as function of Miller indices sorted by resolution | |||
iotbx.shelx.as_cif: Convert SHELX .ins or .res file to CIF format | |||
iotbx.show_distances: Show interatomic distances given input in PDB format | |||
labelit.image: Illustrate the raw data with marked up Bragg spots | |||
labelit.pdf: Illustrate the raw data with marked up Bragg spots | |||
mmtbx.lockit: Experimental command for real-space refinement, mainly ligands | |||
mmtbx.mon_lib_cif_triage: Check syntax of monomer library CIF files | |||
phaser.MRage: Molecular replacement pipeline | |||
phaser.MRage.solutions: Calculates model and map from MRage results | |||
phaser.domain_analysis: Determine domain boundaries from homologues | |||
phaser.ensembler: Superpose PDB files to create ensemble for MR | |||
phaser.sculptor: Improve molecular replacment models using sequence alignment and structural infomation | |||
phaser.unit: Run phaser unittests | |||
phenix: Run Phenix graphical user interface | |||
phenix.about: Summarize contributors, packages, and info for phenix | |||
phenix.acknowledgments: Summarize third-party components of Phenix | |||
phenix.adjust_robetta_resid: Apply sequence offset to a fragments file | |||
phenix.apply_ncs: Apply NCS (.ncs_spec file) to a chain to create molecule | |||
phenix.assign_sequence: Assign sequence to a chain using a map and seq file | |||
phenix.autobuild: Iterative model-building density modification and refinement | |||
phenix.automr: Automated MR and model-building | |||
phenix.autosol: Automated structure solution by MR/MAD/SAD | |||
phenix.average_map_coeffs: Average a set of map coefficients from several files | |||
phenix.b_factor_statistics: Display summary of atomic displacement parameters for a model (or atom selection) | |||
phenix.build_one_model: Build one model using a map and data file | |||
phenix.build_rna_helices: Build RNA helices into a map | |||
phenix.cablam_training: C-alpha-based protein secondary structure exploration | |||
phenix.cablam_validate: C-alpha-based protein secondary structure exploration | |||
phenix.cbetadev: Validate protein sidechain C-beta geometry | |||
phenix.cc_star: Calculate cc_star values for correlation of data vs resolution | |||
phenix.cif_as_mtz: Convert CIF to MTZ | |||
phenix.cif_as_pdb: Convert CIF to PDB format | |||
phenix.clashscore: Evaluate model based on all-atom contacts | |||
phenix.cns_as_mtz: Convert CNS to MTZ | |||
phenix.combine_models: Take best parts of two models | |||
phenix.commands: List command line Phenix methods | |||
phenix.compare_datasets: Similar to phenix.data_viewer, as side-by-side view | |||
phenix.composite_omit_map: Generate composite omit map, with our without refinement and simulated annealing | |||
phenix.csv_as_mtz: Convert csv reflection files to MTZ | |||
phenix.cut_out_density: Create MTZ coeffs with density cut out from a map | |||
phenix.data_viewer: View pseudo-precession planes through a dataset | |||
phenix.default_gui_settings: Print out base PHENIX GUI configuration (mostly useful for site admins) | |||
phenix.den_refine: Carry out DEN refinement of a model | |||
phenix.density_outside_model: Remove density near a model from a map | |||
phenix.doc: Phenix documentation | |||
phenix.dynamics: Shake up structure with simple molecular dynamics | |||
phenix.elbow: Ligand builder (CIF from PDB, SMILES etc) | |||
phenix.emma: Compare heavy-atom solutions | |||
phenix.ensemble_refinement: run ensemble refinement | |||
phenix.ensembler: Superpose PDB files to create ensemble for MR | |||
phenix.erraser: Run ERRASER | |||
phenix.explore_metric_symmetry: Compare unit cells | |||
phenix.fest: Experimental Delta F and FA estimation | |||
phenix.find_all_ligands: Find ligands from a list in a map | |||
phenix.find_alt_orig_sym_mate: Superimpose structures allowing origin shifts (see also map_to_object) | |||
phenix.find_helices_strands: Build helices and strands into a map | |||
phenix.find_ncs: Find NCS in a model, map or heavy-atom sites | |||
phenix.find_ncs_from_density: Find NCS from a map (use phenix.find_ncs) | |||
phenix.find_tls_groups: Automatic identification of appropriate TLS groups in model | |||
phenix.fit_loops: Fit missing loops in a model | |||
phenix.fmodel: Calculate structure factors from model | |||
phenix.form_factor_query: f' and f" table lookup given element and wavelength | |||
phenix.get_cc_mtz_mtz: Offset maps using allowed origin shifts and get correlation | |||
phenix.get_cc_mtz_pdb: Offset PDB to match map using allowed origin shifts and get residue correlation | |||
phenix.get_latest_version: Download most recent installer replacing current installation | |||
phenix.get_ligand_pdb: Create PDB file for a 3-letter ligand in the PDB | |||
phenix.grow_density: Density modification to enhance chain ends | |||
phenix.guess_molecular_centers: Guess molecular centers from local RMS density | |||
phenix.help: Load Phenix documentation (same as phenix.doc) | |||
phenix.hyss: Identify heavy-atom sites from anomalous dataset | |||
phenix.import_and_add_free: Import a data file and add Free R set | |||
phenix.kinemage: Generates a multi-criterion validation kinemage file, for viewing in KiNG | |||
phenix.king: Run KiNG molecular graphics | |||
phenix.ksdssp: Identify secondary structure in a model | |||
phenix.ligand_identification: Identify ligands from a map | |||
phenix.ligand_pipeline: Automated molecular replacement, refinement, and ligand fitting for high-throughput crystallography | |||
phenix.ligandfit: Fit ligands into a map | |||
phenix.list: Use instead: phenix.commands | |||
phenix.map_box: Simple cut out map around a PDB file | |||
phenix.map_to_model_histogram: Compute averaged radial density distribution | |||
phenix.map_to_object: Superimpose using SG symmetry only (see also find_alt_orig_sym_mate) | |||
phenix.map_to_structure_factors: Calculate structure factors and HL coefficients from ccp4 map file and save in MTZ | |||
phenix.map_value_at_point: Get map value at given coordinates | |||
phenix.maps: Create maps from PDB and MTZ files | |||
phenix.maximum_entropy_map: Compute maximum entropy map from map coefficients | |||
phenix.merging_statistics: Calculate statistics on unmerged data | |||
phenix.metal_coordination: Generate metal coordination bond and angle restraints | |||
phenix.model_model_distances: Distance between two PDB files: per atom, residue, chain, model and overall | |||
phenix.model_vs_data: Evaluate model using experimental data | |||
phenix.model_vs_sequence: Detect residue mismatches in a PDB file | |||
phenix.molprobity: Run molprobity | |||
phenix.morph_model: Morph a model to match a map | |||
phenix.mr_model_preparation: Download and edit PDB files for MR | |||
phenix.mr_rescoring: Model scoring for mr_rosetta | |||
phenix.mr_rosetta: MR and model improvement with phaser/autobuild/Rosetta | |||
phenix.mr_rosetta_rebuild: Rebuild model with Rosetta | |||
phenix.mtz.dump: Dump MTZ file contents | |||
phenix.mtz2map: Convert MTZ file to map (superseded by phenix.maps) | |||
phenix.mtz_as_cif: Convert mtz to CIF format | |||
phenix.multi_crystal_average: Multi-crystal averaging | |||
phenix.muscle: sequence alignment tool | |||
phenix.ncs_and_number_of_ha: Guess solvent content and number of heavy-atom sites | |||
phenix.ncs_average: NCS average (no density modification) and write map file | |||
phenix.old_gui: Run old version of Phenix GUI | |||
phenix.pdb.hierarchy: Quick summary of PDB file content | |||
phenix.pdb_as_cif: Convert PDB format to CIF | |||
phenix.pdb_atom_selection: Extract selected atoms from PDB file (useful for experimenting with atom selections) | |||
phenix.pdb_editor: Edit PDB files graphically | |||
phenix.pdb_interpretation: Read PDB file and build restraints for refinement (useful for trouble-shooting) | |||
phenix.pdbtools: Manipulate PDB files | |||
phenix.perigee: Interaction finder | |||
phenix.phase_and_build: Rapid density modification and model-building | |||
phenix.phaser: Run PHASER | |||
phenix.print_sequence: Print sequence from PDB file | |||
phenix.probe: Run PROBE, for analysis of all-atom contacts | |||
phenix.pulchra: PULCHRA conversion from CA to full chain | |||
phenix.pymol: Pymol | |||
phenix.python: Run phenix-cognizant version of python | |||
phenix.r_factor_statistics: Distribution of Rfree, Rwork and Rfree-Rwork for PDB models at similar resolution | |||
phenix.ramalyze: Validate protein backbone Ramachandran dihedral angles | |||
phenix.ready_set: Set up files for refinement, including addition of hydrogens, generation of ligand restraints, and metal coordination restraints | |||
phenix.real_space_refine: Extensive real-space refinement | |||
phenix.reciprocal_space_arrays: Create MTZ file with Fmodel,Fcalc,Fbulk,Fmask,FOM,HL, resolution and more | |||
phenix.reduce: Run REDUCE, software for addition or trimming of hydrogens | |||
phenix.reel: Graphical ligand restraints editor | |||
phenix.refine: Carry out refinement of a model | |||
phenix.reflection_file_converter: Basic conversion between reflection file formats (command-line) | |||
phenix.reflection_statistics: Evaluation and comparison of reflection data (e.g. anomalous difference correlations) | |||
phenix.reindex: Reindex an MTZ file | |||
phenix.remove_aniso: Remove anisotropy from columns of an MTZ dataset | |||
phenix.remove_free_from_map: Set all map coeffs of free reflections to zero | |||
phenix.resolve: Run resolve | |||
phenix.resolve_pattern: run resolve_pattern | |||
phenix.rna_validate: Validate RNA sugar puckers, backbone bond and angle geometry, and backbone suite conformations | |||
phenix.rotalyze: Validate protein sidechain rotamers | |||
phenix.run_example: Run an example from the phenix_examples directory | |||
phenix.sculptor: Improve molecular replacment models using sequence alignment and structural infomation | |||
phenix.secondary_structure_restraints: generate pseudo H-bond restraints for alpha helices, beta sheets, and nucleic acid base pairs | |||
phenix.show_build_path: Show path to Phenix build directory | |||
phenix.show_dist_paths: Show paths to all components of Phenix | |||
phenix.simple_ncs_from_pdb: NCS from a PDB file (use instead phenix.find_ncs) | |||
phenix.solve: Run SOLVE | |||
phenix.start_coot: Coot molecular graphics | |||
phenix.superpose_ligands: Superimpose two ligands | |||
phenix.superpose_maps: Superimpose PDB files and transform map to match | |||
phenix.superpose_pdbs: Superimpose PDB files using aligned sequences | |||
phenix.trim_pdb: Remove hydrogen atoms from a PDB file | |||
phenix.version: Print version of Phenix | |||
phenix.where_mon_lib_list_cif: Show location of monomer library used by Phenix | |||
phenix.xmanip: Experimental tool for manipulation of reflection data | |||
phenix.xtriage: Analyze data files for quality and unusual conditions | |||
phenix_regression.phenix_doc.test_phenix_html: Test generation of documentation | |||
phenix_regression.run_tests_mp: Run solve-resolve tests in parallel | |||
phenix_regression.test_all_parallel: Test wizards | |||
phenix_regression.test_apps: Relatively short tests of selected major phenix applications | |||
phenix_regression.test_rosetta_refine: Test rosetta refine | |||
phenix_regression.testwizard: Run wizard tests | |||
phenix_regression.wizards.list: list all wizard regression tests | |||
phenix_regression.wizards.test_all: Run all wizard tests | |||
phenix_regression.wizards.test_all_parallel: Run all wizard tests in parallel | |||
phenix_regression.wizards.test_command_line: General wizard tests | |||
phenix_regression.wizards.test_command_line_build: Wizard model-building tests | |||
phenix_regression.wizards.test_command_line_ligands: Wizard ligand-building tests | |||
phenix_regression.wizards.test_command_line_loops: Wizard loop-fitting tests | |||
phenix_regression.wizards.test_command_line_misc: misc wizard tests | |||
phenix_regression.wizards.test_command_line_ncs: Wizard NCS tests | |||
phenix_regression.wizards.test_command_line_non_standard: Wizard non-standard SG tests | |||
phenix_regression.wizards.test_command_line_omit: Wizard omit tests | |||
phenix_regression.wizards.test_command_line_resolve_memory: resolve in memory | |||
phenix_regression.wizards.test_command_line_rosetta: mr_rosetta tests | |||
phenix_regression.wizards.test_command_line_rosetta_iter: multi-cycle mr_rosetta tests | |||
phenix_regression.wizards.test_command_line_rosetta_quick: quick mr_rosetta tests | |||
phenix_regression.wizards.test_command_line_trace: tests of trace_chain | |||
phenix_regression.wizards.test_commands_in_doc: Test Wizard commands in documentation | |||
phenix_regression.wizards.test_help: Test Wizard help commands | |||
phenix_regression.wizards.test_input_files: Test data files in Wizards | |||
phenix_regression.wizards.test_labels: Test various label formats in Wizards | |||
phenix_regression.wizards.test_map_to_object: Test map_to_object | |||
phenix_regression.wizards.test_maps_only: Test making maps in wizards | |||
phenix_regression.wizards.test_misc_methods: Test misc Wizard methods | |||
phenix_regression.wizards.test_missing_data: Test Wizards with missing data | |||
phenix_regression.wizards.test_mult: Test multiple-model autobuild | |||
phenix_regression.wizards.test_multi: Test multi-crystal averaging | |||
phenix_regression.wizards.test_ncs: Test NCS identification | |||
phenix_regression.wizards.test_ncs_in_phenix_refine: Test using NCS in phenix.refine | |||
phenix_regression.wizards.test_omit: Test omit maps | |||
phenix_regression.wizards.test_omit_lig: Test omit maps with ligand | |||
phenix_regression.wizards.test_residue_codes: Test residue names | |||
phenix_regression.wizards.test_resno: Test rebuild_in_place residue numbers | |||
phenix_regression.wizards.test_resolve: Run comprehensive solve/resolve tests | |||
phenix_regression.wizards.test_short_seq: Test Wizards with short sequence | |||
</pre> | |||
== 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 | 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 == | |||
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. | |||
[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 | 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 == |