Rosetta
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
options_rosetta.py
Go to the documentation of this file.
1 # -*- tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2 # vi: set ts=2 noet:
3 # (c) Copyright Rosetta Commons Member Institutions.
4 # (c) This file is part of the Rosetta software suite and is made available under license.
5 # (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
6 # (c) For more information, see http://www.rosettacommons.org. Questions about this can be
7 # (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
8 
9 ## @file basic/options/options_rosetta.py
10 ## @brief Program options generation script: Rosetta options encoding
11 ## @author Sergey Lyskov (Sergey.Lyskov@jhu.edu)
12 ## @author Stuart G. Mentzer (Stuart_Mentzer@objexx.com)
13 
14 
15 # To Do:
16 # . Implement strict_lower and strict_upper
17 # . Group/organize options better
18 # . Rename options for clarity and to remove prefixes redundant with the group name(s)
19 
20 
21 # Quick Option Definition Overview
22 #
23 #
24 # An option definition is of the form:
25 # Option( 'Name', 'Type',
26 # desc="Description",
27 # legal=[ 'First', 'Second', 'Third' ],
28 # lower='0', upper='99',
29 # default='first'
30 # )
31 #
32 # Name Option name (within its group context)
33 #
34 # Type Option type: One of Boolean, Integer, Real, String, File, or Path
35 #
36 # desc Option description (use \ at the end of each line in long descriptions)
37 #
38 # legal A list of legal values (a single value can be specified as legal='Valid')
39 #
40 # lower Lower bound on the legal value range (for numeric options)
41 #
42 # upper Upper bound on the legal value range (for numeric options)
43 #
44 # For strict inequality bounds these may be used instead:
45 # strict_lower Strict inequality lower bound (positive value would have strict_lower='0')
46 # strict_upper Strict inequality upper bound
47 #
48 # default Default value if option is not specified or specified without a value
49 #
50 # oldName Option's previous name (used in generated Wiki documentation table)
51 #
52 #
53 # Multi-valued options are similar but have types with a "Vector" suffix
54 # and have fields to optionally specify how many values are allowed.
55 #
56 # Multi-valued options have the types:
57 # BooleanVector, IntegerVector, RealVector, StringVector, FileVector, or PathVector
58 #
59 # And fields to specify the number of values:
60 # n Number of values
61 # n_lower Lower bound on the number of values
62 # n_upper Upper bound on the number of values
63 #
64 #
65 # Generating the C++ Options Files
66 #
67 # After adding/modifying the options here the C++ options files can be generated
68 # by running options.py located in this directory (you may wish to delete the .pyc
69 # files after running this). Then the next time Rosetta is built the new options
70 # will be available.
71 #
72 #
73 # Notes:
74 # . Only the Name and Type are mandatory
75 # . Option users documentation is provided in the doxygen documentation for the utility library (options.dox)
76 # . The list of options can be generated by options.py in a Wiki table format (this should be posted to the Rosetta Wiki
77 # when options are added/changed)
78 # . If you are adding pdb file input options, IT IS NOT SUFFICIENT TO ADD THE OPTION HERE. You must also add the option
79 # to FileDataOptions or PDB_DReaderOptions.
80 
81 
82 from options_class import Option, Option_Group
83 
84 if __name__ == "__main__": print "Don't run this one, run options.py instead!"
85 
86 ##################################################################
87 # Option Group Ordering:
88 # First comes the "major" option groups: in, out, run, jd2, score, packing
89 # Next comes "general" option groups in alphabetical order
90 # Then comes application-specific groups in alphabetical order
91 # Finally comes personal/pilot groups in alphabetical order
92 #
93 # (Please leave a descriptive comment with any option group your move out of
94 # alphabetical order to be associated with a logically related option group
95 ##################################################################
96 
97 # Data base of all rosetta options
98 Options = Option_Group( '',
99 
100 ###################################
101 # Major option groups:
102 
103  # Input options ---------------------------------------------------------------------------------------------------
104  Option_Group( 'in',
105 # Option( 'in', 'Boolean', desc="Input option group", legal='true', default='true' ),
106 
107  # Termini options -----------------------------------------------------
108  #Option( 'termini', 'String', default = 'ALL', desc="Put full N and C termini on input structures"),
109  Option( 'Ntermini', 'String', default = 'ALL', desc="Put full N termini on pose", oldName='Nterminus' ),
110  Option( 'Ctermini', 'String', default = 'ALL', desc="Put full C termini on pose", oldName='Cterminus' ),
111  Option( 'use_truncated_termini', 'Boolean',
112  desc = 'Will not add extra OXT/Hs at termini if not in input structure',
113  default = 'false'),
114 
115  # Non-inclusion options -----------------------------------------------
116  Option( 'ignore_unrecognized_res', 'Boolean',
117  desc="Do not abort if unknown residues are found in PDB file; instead, ignore them. "
118  "Note this implies -in:ignore_waters",
119  default='false' ),
120  Option( 'ignore_waters', 'Boolean',
121  desc="Do not abort if HOH water residues are found in PDB file; instead, ignore them.",
122  default='false' ),
123 
124  # Inclusion options
125  Option( 'add_orbitals', 'Boolean',
126  desc="Will add orbitals to residues only. Does not include orbitals to ligands. "
127  "Done through params file reading.",
128  default='false'),
129  Option( 'show_all_fixes', 'Boolean',
130  desc="Show all residue & atom name fixes",
131  default='false' ),
132  Option("include_sugars", "Boolean",
133  desc='Sets whether or not carbohydrate residues will be'
134  'loaded into Rosetta. The default value is false.',
135  short="Load carbohydrate residues into memory?",
136  legal=["true", "false"],
137  default="false"),
138  Option("include_lipids", "Boolean",
139  desc='Sets whether or not lipid residues will be'
140  'loaded into Rosetta. The default value is false.',
141  short="Load lipid residues into memory?",
142  legal=["true", "false"],
143  default="false"),
144  Option("include_surfaces", "Boolean",
145  desc='Sets whether or not mineral surface residues will be'
146  'loaded into Rosetta. The default value is false.',
147  short="Load mineral surface residues into memory?",
148  legal=["true", "false"],
149  default="false"),
150 
151  ## Membrane JD2 Option
152  ## Last Modified: 8/23/14
153  ## Author: Rebecca Alford
154  Option("membrane", "Boolean",
155  desc="Initialize pose as a membrane protein using specified membrane parameters. Default is false",
156  short="initialize membrane",
157  legal=["true", "false"],
158  default="false"),
159 
160  # PDB data-preservation options ---------------------------------------
161  Option( 'remember_unrecognized_res' , 'Boolean',
162  desc="Ignore unrecognized residues, but remember them in PDBInfo.",
163  default='false' ),
164  Option( 'remember_unrecognized_water', 'Boolean',
165  desc="Remember waters along with other unrecognized residues.",
166  default='false' ),
167  Option( 'preserve_crystinfo', 'Boolean',
168  desc = 'Preserve information important for crystal refinement (B factors +CRYST1 line)',
169  default = 'false'),
170 
171  # Auto-detection options ----------------------------------------------
172  Option( 'detect_oops', 'Boolean',
173  desc="Detect oligooxopiperazines (oops) and add required constraints",
174  default='false' ),
175  Option( 'detect_disulf', 'Boolean',
176  desc="Forcably enable or disable disulfide detection. "
177  "When unspecified, rosetta conservatively detects disulfides in full atom input based on SG "
178  "distance, but will not form centroid disulfides. Setting '-detect_disulf true' will force "
179  "aggressive disulfide detection in centroid poses based on CB distance. Setting "
180  "'-detect_disulf false' disables all detection, even in full atom poses. Note that disabling "
181  "disulfides causes severe clashes for native disulfides.",
182  legal=['true','false'], ),
183  Option( 'detect_disulf_tolerance', 'Real', desc='disulf tolerance', default="0.5" ),
184  Option( 'constraints_from_link_records', 'Boolean',
185  desc="Turn link records into atom pair and angle constraints",
186  legal=['true','false'],
187  default='false' ),
188 
189  # Auto-detection options for metalloproteins --------------------------
190  Option( "auto_setup_metals", "Boolean", desc="Automatically adds covalent linkages to bound metal ions, as well as atom pair "
191  "constraints and angle constraints to hold ions in place, on PDB import. Also, sets the atom_pair_constraint and "
192  "angle_constraint weights in the default score function to 1.0. False by default.",
193  legal=["true","false"], default="false"),
194  Option( "metals_detection_LJ_multiplier", "Real", desc="When -auto_setup_metals is used, overlap between metal atoms and "
195  "metal-binding atoms is used as the criterion by which covalent bonds are detected. The Lennard-Jones radii of the "
196  "atoms can be multiplied by a constant factor in order to detect longer bonds to metal ions. Default 1.0.",
197  default="1.0" ),
198  Option( "metals_distance_constraint_multiplier", "Real", desc="Distances between metals and metal-binding atoms are constrained "
199  "using harmonic potentials, scaled by this multiplier. Default 1.0. Set to 0.0 to skip adding distance constraints.",
200  default="1.0" ),
201  Option( "metals_angle_constraint_multiplier", "Real", desc="Angles between metals, metal-binding atoms, and metal-binding atom parents "
202  "are constrained using circular harmonic potentials, scaled by this multiplier. Default 1.0. "
203  "Set to 0.0 to skip adding angle constraints.",
204  default="1.0" ),
205 
206  # Other input options -------------------------------------------------
207  Option("name3_property_codes", "StringVector",
208  desc="File that describes name3-property correspondence to fix up atom assignments", default='utility::vector1<std::string>(1,"code_properties.codes")' ),
209  Option("alternate_3_letter_codes", "StringVector",
210  desc="Specify the filename(s) of (a) *.codes files that includes "
211  "a list of alternative 3-letter codes. "
212  "The default directory is "
213  "database/input_output/3-letter_codes/ but any path can be "
214  "provided. "
215  "Duplicate codes in successive files will overwrite previous "
216  "ones.",
217  short="Specify (a) *.codes file(s) of alternate 3-letter codes."),
218  Option( 'fix_disulf', 'File',
219  desc="Specify disulfide connectivity via a file. Disulfides are specified as two whitespace-separated "
220  "residue indices per line. This option replaces the old '-run:fix_disulf' option.", ),
221 
222  Option( 'missing_density_to_jump', 'Boolean',
223  desc='If missing density is found in input pdbs, replace with a jump',
224  default = 'false'),
225 
226  Option( 'target_residues', 'IntegerVector', desc = 'which residue numbers to pass for getDistConstraints' ),
227  Option( 'replonly_residues', 'IntegerVector', desc = 'residue numbers regarded as repulsive-only residues' ),
228  Option( 'replonly_loops', 'Boolean', desc = 'all loops will be regarded as repulsive-only', default='false' ),
229  Option( 'use_database', 'Boolean',
230  desc="Read in structures from database. Specify database via -inout:dbms:database_name and wanted "
231  "structures with -in:file:tags or select_structures_from_database"),
232 
233 # Option( 'database_protocol', 'Integer', desc="Database to use when reading in structures", default="1"),
234  Option( 'select_structures_from_database', 'StringVector',
235  desc="specify an SQL query to determine which structures get read in from a database specified with "
236  "-inout:dbms:database_name. SELECT query must return structures.tag"),
237  # Database options
238  Option_Group( 'dbms',
239  Option( 'struct_ids', 'StringVector',
240  desc="List of struct_ids (hex representation) to be used by the database job inputter"),
241  ),
242  Option_Group( 'path',
243  Option( 'path', 'PathVector',
244  desc="Paths to search for input files (checked after type-specific paths)",
245  default="." ),
246  Option( 'fragments', 'PathVector', desc="Fragment file input search paths", oldName='frag_dir' ),
247  Option( 'pdb', 'PathVector', desc="PDB file input search paths" ),
248  Option( 'database', 'PathVector',
249  desc="Database file input search paths. If the database is not found the ROSETTA3_DB environment "
250  "variable is tried."),
251  Option( 'database_cache_dir', 'Path',
252  desc="Which directory to use when caching processed database files."),
253  ), # in:path
254 
255  # File options --------------------------------------------------------
256  Option_Group( 'file',
257  Option( 'file', 'Boolean', desc="Input file option group", legal='true', default='true' ),
258  Option( 's', 'FileVector', desc="Name(s) of single PDB file(s) to process", default=[] ),
259  Option( 't', 'FileVector', desc="Name(s) of second PDB file(s) to process (pairs with -s)" ),
260  Option( 'l', 'FileVector', desc="File(s) containing list(s) of PDB files to process" ),
261  Option( 'list', 'FileVector',
262  desc="File(s) containing list(s) of PDB files. PDBs on the same line become one pose" ),
263  Option( 'screening_list','FileVector',
264  desc="Files containing lists of PDB files. all permutations of the files in the list become poses"),
265  Option( 'screening_job_file','File',
266  desc="A JSON file containing groups of ligands and proteins to screen"),
267  Option( 'shuffle_screening_jobs','Boolean',desc="Randomize the order of jbos input through -in:file:screening_job_file",default='false'),
268  Option( 'native', 'File', desc="Native PDB filename"),
269  Option( 'torsion_bin_probs', 'File',
270  desc="File describing probabilities over torsion bins A,B,E,G,O",
271  default="empty"
272  ),
273  Option( 'PCS_frag_cst', 'File', desc="File that containts PCS constraints for use in fragment picking"),
274  Option( 'talos_phi_psi', 'File', desc="File that provides Phi-Psi angles in Talos+ format"),
275  Option( 'talos_cs', 'File', desc="File that provides chemical shifts in Talos format"),
276  Option( 'ambig_talos_cs_A', 'File',
277  desc="File that provides 1st set of ambigious chemical shift options in Talos format"),
278  Option( 'ambig_talos_cs_B', 'File',
279  desc="File that provides 2nd set of ambigious chemical shift options in Talos format"),
280  Option( 'native_exclude_res', 'IntegerVector',
281  desc="Residue numbers to be excluded from RMS calculation" ),
282  Option( 'tags', 'StringVector', desc="Tag(s) of structures to be used from silent-file"),
283  Option( 'user_tags', 'StringVector', desc="user_tag(s) of structures to be used from silent-file"),
284  Option( 'tagfile', 'File',
285  desc='file with list of tags to be resampled from file given with in:resample:silent',
286  default='TAGS' ),
287  Option( 'frag_files', 'FileVector', desc="Fragment input file names", default=[] ),
288 # Option( 'frag_sizes', 'IntegerVector', desc="Fragment file sizes" ),
289  Option( 'remap_pdb_atom_names_for', 'StringVector', desc="When reading PDBs, use geometry to rename atoms for the residues with the given three letter codes." ),
290  Option( 'extra_res', 'FileVector', desc=".params file(s) for new residue types (e.g. ligands)" ),
291  Option( 'extra_res_fa', 'FileVector',
292  desc=".params file(s) for new fullatom residue types (e.g. ligands)", default=[] ),
293  Option( 'extra_res_mol', 'FileVector',
294  desc=".mol file(s) for new fullatom residue types (e.g. ligands)"),
295  Option( 'extra_res_mmCIF', 'FileVector',
296  desc=".mmCIF file(s) for component dictionary for residue types (e.g. ligands)"),
297  Option( 'load_PDB_components', 'Boolean',
298  desc="Use the PDB ligand definitions to load all standard residue descriptions."),
299  Option( 'PDB_components_file', 'String',
300  default="chemical/components.cif",
301  desc="The CIF file from which to load the PDB component definitions. "
302  "(An example can be found at http://www.wwpdb.org/data/ccd"),
303  Option( 'extra_res_database', 'String',
304  desc="the name of a database containing fullatom residue types (e.g. ligands)"),
305  Option( 'extra_res_pq_schema', 'String',
306  desc="the name of a postgreSQL schema in the database containing fullatom residue types "
307  "(e.g. ligands)",
308  default=""),
309  Option( 'extra_res_database_mode', 'String',
310  desc="The type of database driver to use for -in:file:extra_res_database.",
311  default='sqlite3',
312  legal=["sqlite3", "mysql", "postgres"]),
313  Option( 'extra_res_database_resname_list', 'File',
314  desc="Path to a list of residue names to be read in from the residue database. "
315  "The list should have one residue name per line"),
316  Option( 'extra_res_cen', 'FileVector',
317  desc=".params file(s) for new centroid residue types (e.g. ligands)" ),
318  Option( 'extra_res_path', 'PathVector',
319  desc="directories with .params files. Only files containing 'param' will be chosen" ),
320  Option( 'extra_rot_lib_path', 'PathVector',
321  desc="directories with NCAA rotamer files." ),
322  Option( 'extra_res_batch_path', 'PathVector',
323  desc="directories generated by src/python/apps/public/batch_molfile_to_params.py. "
324  "Only files containing 'param' will be chosen"),
325  Option( 'extra_patch_fa', 'FileVector',
326  desc="patch files for full atom variants not specified in the database" ),
327  Option( 'extra_patch_cen', 'FileVector',
328  desc="patch files for centroid atom variants not specified in the database" ),
329  Option( 'frag3', 'String' ),
330  Option( 'frag9', 'String' ),
331  Option( 'fragA', 'String' ),
332  Option( 'fragB', 'String' ),
333  Option( 'surface_vectors', 'String' , desc="Input file containing three sets of xyz coordinates which define the plane and periodicity of the solid surface"),
334  Option( 'xyz', 'String',desc="Input coordinates in a raw XYZ format (three columns)" ),
335 # Option( 'fragA_size', 'Integer', default = '9' ),
336  ##Option( 'fragB_size', 'Integer', default = '3' ),
337  Option('keep_input_scores', 'Boolean',
338  desc = "Keep/Don't keep scores from input file in Pose.",
339  default = 'true'
340  ),
341  Option( 'lazy_silent', 'Boolean', default = 'false', desc = 'Activate LazySilentFileJobInputter' ),
342  Option( 'silent', 'FileVector', desc = 'silent input filename(s)',default=[]),
343  Option( 'force_silent_bitflip_on_read', 'Boolean', default = 'false', desc = 'Force bit-flipping when reading binary silent files. This is useful if the files are produced on a little-endian system and read on a big-endian system.' ),
344  Option( 'atom_tree_diff', 'FileVector', desc= 'atom_tree_diff input filename(s)'),
345  Option( 'zip', 'String', desc = 'zipped input file, used for BOINC database'),
346  Option( 'boinc_wu_zip', 'FileVector', desc = 'zipped input file with files for a specific BOINC workunit'),
347  Option( 'fullatom', 'Boolean', default = 'false',
348  desc = "Enable full-atom input of PDB or centroid structures"),
349  Option( 'centroid_input', 'Boolean', default = 'false',
350  desc = "why input in the name twice ? in:file:centroid_input Enable centroid inputs of PDBs"),
351  Option( 'centroid', 'Boolean', default = 'false', desc = "Enable centroid inputs of PDBs"),
352  Option( 'assign_gasteiger_atom_types', 'Boolean', default = 'false',
353  desc = 'Automatically assign GasteigerAtomTypes to all residues in the ResidueTypeSet' ),
354  Option( 'treat_residues_in_these_chains_as_separate_chemical_entities', 'String', default = ' ',
355  desc = "Create a chemical jump for each residue in these chains (String of 1-letter chain IDs)"),
356  Option( 'residue_type_set', 'String', desc = 'ResidueTypeSet for input files', default = 'fa_standard' ),
357  Option( 'pca', 'File', desc='compute PCA projections', default='' ),
358  Option( 'silent_energy_cut', 'Real', default = '1.0', desc = 'energy cut for silent-files' ),
359  Option( 'silent_list', 'FileVector', desc = 'Silent input filename list(s) - like -l is to -s '),
360  Option('silent_renumber', 'Boolean', desc ='renumber decoys in not_universal_main or not', default='false'),
361 # Option( 'silent_optH', 'Boolean', desc="Call optH when reading a silent file"),
362  Option('silent_struct_type', 'String',
363  desc='Type of SilentStruct object to use in silent-file input',
364  default='protein'
365  ),
366  Option( 'silent_read_through_errors','Boolean', default='false',
367  desc="will ignore decoys with errors and continue reading"),
368  Option('silent_score_prefix', 'String',
369  desc='Prefix that is appended to all scores read in from a silent-file',
370  default=''
371  ),
372  Option('silent_select_random', 'Integer',
373  desc='Select a random subset of this number of decoys from every silent-file read',
374  default = '0'
375  ),
376  Option( 'silent_select_range_start', 'Integer',
377  desc='Select a ranged subset of decoys from every silent-file read. Start at this decoy.',
378  default = '-1'),
379  Option( 'silent_select_range_mul', 'Integer',
380  desc='Select a blocksize multiplier. This param pasically multiplies -silent_select_range_start. '
381  'E.g. when set to, say, 5, -silent_select_range_start 0,1,2,3,4 will result in decoys '
382  'being read starting from 0,5,10,15,20',
383  default = '1'),
384  Option( 'silent_select_range_len', 'Integer',
385  desc='Select a ranged subset of decoys from every silent-file read. Start at this decoy.',
386  default = '1'),
387  Option( 'skip_failed_simulations', 'Boolean', default = 'false',
388  desc = 'Ignore failed simulations (prefixed by W_) during silent file input. Existing behavior is '
389  'preserved by default.'),
390  Option('silent_scores_wanted', 'StringVector',
391  desc = 'Only put these silent-scores into the Pose.',
392  ),
393  Option( 'fasta', 'FileVector', desc="Fasta-formatted sequence file" ),
394  Option( 'pssm', 'FileVector', desc="NCBI BLAST formatted position-specific scoring matrix" ),
395  Option( 'seq', 'StringVector', desc="List of input files for constructing sequences" ),
396  Option( 'checkpoint', 'File', desc="Sequence profile (flat text file format) prepared by NCBI BLAST" ),
397  Option( 'binary_chk', 'File', desc="Sequence profile (binary file format) prepared by NCBI BLAST" ),
398  Option( 'alignment', 'FileVector', desc='Input file for sequence alignment' ),
399  Option( 'alignment2','FileVector', desc='Input file for second sequence alignment '),
400  Option( 'rama2b_map', 'File', default = 'scoring/score_functions/rama/Rama08.dat',
401  desc="Ramachandran file used by rama2b" ),
402  Option( 'psipred_ss2','File', desc='psipred_ss2 secondary structure definition file', default='tt' ),
403  Option( 'dssp','File', desc='dssp secondary structure definition file', default='tt' ),
404  Option( 'fail_on_bad_hbond', 'Boolean', desc ='exit if a hydrogen bonding error is detected',
405  default = 'true'),
406  Option( 'movemap', 'File', default = 'default.movemap' ),
407  Option( 'repair_sidechains', 'Boolean',
408  desc='Attempt a repack/minmize to repair sidechain problems, such as proline geometry and His '
409  'tautomerization',
410  default = 'false' ),
411  Option( 'no_binary_dunlib', 'Boolean',
412  desc='Do not attempt to read from or write to a binary file for the Dunbrack library' ),
413  Option( 'extended_pose', 'Integer', desc='number of extended poses to process in not_universal_main',
414  default='1' ),
415  Option( 'template_pdb', 'FileVector', desc = 'Name of input template PDB files for comparative modeling' ),
416  Option( 'template_silent', 'File',
417  desc='input templates for comparative modeling -- tag needs to fit alignment id' ),
418  Option( 'rdc', 'FileVector',
419  desc='Experimental NMR Residual Dipolar Coupling File --- one file per alignment medium' ),
420  Option( 'csa', 'FileVector', desc='Experimental NMR Chemical Shift Anisotropy File' ),
421  Option( 'dc', 'FileVector', desc='Experimental NMR Dipolar Coupling File' ),
422  Option( 'burial', 'FileVector', desc='WESA-formatted burial prediction' ),
423  Option( 'vall', 'FileVector', desc='Fragment database file, e.g vall.dat.2006-05-05',
424  default='/sampling/filtered.vall.dat.2006-05-05' ),
425  Option( 'rescore', 'Boolean',
426  desc='Governs whether input poses are rescored or not in not_universal_main, defaults to false.',
427  default='false' ),
428 
429  ## Input Membrane Options
430  ## Last Modified: 1/12/14 - Old RosettaMembrane Option System
431  ## Author: Rebecca Alford
432  Option('spanfile', 'String', desc='Membrane spanning file'),
433  Option('lipofile', 'String', desc='Membrane exposure file'),
434 
435  Option('HDX', 'String', desc='HDX (Hydrogen exchange data file'),
436  Option('d2h_sa_reweight', 'Real', desc='d2h_sa reweight', default ='1.00'),
437  Option( 'sucker_params', 'File',
438  desc="Parameter file containing SplineEnergy parameters",
439  default='scoring/spline_energy_functions/sucker.params'),
440  Option( 'fold_tree', 'File',
441  desc="User defined fold tree to be imposed on the pose after reading from disk" ),
442  Option( 'obey_ENDMDL', 'Boolean',
443  desc='Stop reading a PDB after ENDMDL card; '
444  'effectively read only first model in multimodel NMR PDBs',
445  default='false'),
446  Option( 'new_chain_order', 'Boolean',\
447  desc='ensures chain from different MODEL records have differnet mini chains',
448  default='false'),
449  Option( 'ddg_predictions_file', 'File',
450  desc='File that contains mutational ddG information. Used by ddG task operation/filter.',
451  default=''),
452  Option( 'input_res', 'ResidueChainVector', desc='Residues already present in starting file',default=[]),
453  Option( 'minimize_res', 'IntegerVector', desc='Residues to minimize',default=[]),
454  Option( 'md_schfile', 'String', desc='File name containing MD schedule'),
455  Option("read_pdb_link_records", "Boolean",
456  desc='Sets whether or not the LINK records in PDB files are read. '
457  'The default value is false.',
458  short="Read LINK records?",
459  legal=["true", "false"],
460  default="false"),
461  Option( 'native_contacts', 'File',
462  desc='native contacts pair list for fnat/fnon-nat calculation in Docking'),
463  ), # in:file
464 
465  # RDF options ---------------------------------------------------------
466  Option_Group( 'rdf',
467  Option( 'sep_bb_ss', 'Boolean',
468  desc='separate RDFs by SS for backbone atypes ',
469  default = 'true'
470  ),
471  ), # in:rdf
472 
473  ), # in
474 
475  # Input+Output options --------------------------------------------------------------------------------------------
476  Option_Group( 'inout',
477  Option( 'inout', 'Boolean', desc="Ouput option group", legal='true', default='true' ),
478  Option( 'fold_tree_io', 'Boolean', desc="Ignore 'CHECKPOINT' file and the overwrite the PDB file(s)" ),
479  Option( 'skip_connect_info', 'Boolean',
480  desc="If true, skips writing CONECT information in PDB files. False by default (writes CONECT records).",
481  default='false' ),
482  Option( 'write_all_connect_info', 'Boolean',
483  desc="By default, CONECT information is written for all noncanonicals and HETATMs, except waters. If this flag is set to true, it will"
484  " be written for ALL residues, subject to the distance cutoff (-inout:connect_info_cufoff) and overridden by -inout:skip_connect_info.",
485  default='false' ),
486  Option( 'connect_info_cutoff', 'Real',
487  desc="The atom separation cutoff above which bonded atoms have explicit CONECT records written so "
488  "that programs like PyMOL know the atomic connectivity. Default 0.0 Angstroms (write all records).",
489  default='0.0' ),
490 
491  # Relational database options -----------------------------------------
492  Option_Group('dbms',
493  Option('dbms', 'Boolean', desc="database option group", legal='true', default='true'),
494  Option('mode', 'String',
495  desc="Which backend to use by default for database access. Note, usage of 'mysql' requires "
496  "building with 'extras=mysql' and usage of 'postgres' requires building with "
497  "'extras=postgres'",
498  legal=["sqlite3", "mysql", "postgres"],
499  default='sqlite3'),
500  Option('database_name', 'String',
501  desc="name of the database. For sqlite3 databases this is a path in the file system usually with "
502  "the '.db3' extension."),
503  Option('pq_schema', 'String',
504  desc="For posgres databases, specify the default schema with the database. "
505  "For PostgreSQL database, schemas are like namespaces.",
506  default=""),
507  Option('host', 'String', desc="default hostname of database server"),
508  Option('user', 'String', desc="default username for database server access"),
509  Option('password', 'String', desc="default password for database server access"),
510  Option('port', 'Integer', desc="default port for database server access"),
511  Option('readonly', 'Boolean', desc="open sqlite3 database in read-only mode by default", default='false'),
512  Option('separate_db_per_mpi_process', 'Boolean',
513  desc="In MPI mode, open a separate sqlite3 database for each process with extension _<mpi_rank> "
514  "and write partitioned schema to that database.",
515  default='false'),
516  Option('database_partition', 'Integer',
517  desc="Open a sepearte sqlite3 database with the extension _<partition> and write a partitioned "
518  "schema to that database.",
519  default='-1'),
520  Option('use_compact_residue_schema', 'Boolean',
521  desc="Store all the atoms for a residue in a binary silent file style blob. Sacrifices "
522  "analyzability for scalability. If you don't know if you want this you probably don't.",
523  default='false'),
524  Option( 'retry_failed_reads','Boolean',desc="If a database read fails for an unknown reason, try again several times before giving up",default='false'),
525  Option( 'path', 'Path', desc = "Directory the database should be read from or exported to.", default="."),
526 
527  ), # inout:dbms
528  ), # inout
529 
530  # Output options --------------------------------------------------------------------------------------------------
531  Option_Group( 'out',
532  Option( 'out', 'Boolean', desc="Ouput option group", legal='true', default='true' ),
533  Option( 'overwrite', 'Boolean', desc="Ignore 'CHECKPOINT' file and the overwrite the PDB file(s)" ),
534  Option( 'nstruct', 'Integer', desc="Number of times to process each input PDB", default="1" ),
535  Option( 'shuffle_nstruct', 'Integer', desc="total number of decoys to produce", default="1" ),
536  Option( 'prefix', 'String', desc="Prefix for output structure names, like old -series code", default="" ),
537  Option( 'suffix', 'String', desc="Suffix for output structure names", default="" ),
538 # Option( 'force_output_name', 'String',
539 # desc="Force output name to be this. Needed for some cluster environments." ),
540  Option( 'no_nstruct_label', 'Boolean', desc="Do not tag the first output structure with _0001",
541  default="false" ),
542  Option( 'pdb_gz', 'Boolean', desc="Compress (gzip) output pdbs", default="false", oldName="output_pdb_gz" ),
543  Option( 'pdb', 'Boolean', desc="Output PDBs", default="false" ),
544  Option( 'silent_gz', 'Boolean', desc="Use gzipped compressed output (silent run level)",
545  default="false",
546  oldName="output_silent_gz" ),
547  Option( 'membrane_pdb', 'Boolean', desc="Write out the membrane in the PDB - on/off."),
548  Option( 'membrane_pdb_thickness', 'Real', desc="Thickness of the written membrane in the PDB file. Using this flag, turns on -out:membrane_pdb automatically. If flag is not given, it uses the default (30) or the one from the -mp:thickness flag."),
549 
550  # Database options ----------------------------------------------------
551  Option( 'use_database', 'Boolean',
552  desc="Write out structures to database. Specify database via -inout:dbms:database_name and wanted "
553  "structures with -in:file:tags"),
554  Option( 'database_protocol_id', 'Integer',
555  desc="Manually specify a protocol ID for database output. "
556  "MPI-distributed jobs are the only time when you will want to use this. "
557  "It is a temporary workaround to a limitation of the MPI distributor"),
558  Option( 'database_filter', 'StringVector',
559  desc="Filter to use with database output. Arguments for filter follow filter name"),
560  Option( 'resume_batch','IntegerVector',
561  desc="Specify 1 or more batch ids to finish an incomplete protocol. "
562  "Only works with the DatabaseJobOutputter. "
563  "The new jobs will be generated under a new protocol and batch ID"),
564  Option( 'nooutput', 'Boolean', desc="Surpress outputfiles", default="false"),
565  Option( 'output', 'Boolean', desc="Force outputfiles", default="false"),
566  Option( 'scorecut', 'Real',
567  desc="Only output lowest energy fraction of structures - default 1.0, i.e. output all ",
568  default="1.0"),
569  Option( 'show_accessed_options', 'Boolean',
570  desc="In the end of the run show options that has been accessed.",
571  default="false"),
572  Option( 'show_unused_options', 'Boolean',
573  desc="In the end of the run show options that were set by the user but never accessed. (Will automatically happen for JD2 protocols.)",
574  default="false"),
575  Option( 'sf', 'File', desc='filename for score output', default='score.fsc' ),
576 
577  # Tracer related options ----------------------------------------------
578  Option( 'mute', 'StringVector', desc="Mute specified Tracer channels; specify 'all' to mute all channels."),
579  Option( 'unmute', 'StringVector',
580  desc="UnMute specified Tracer channels; specify 'all' to unmute all channels."),
581  Option( 'level', 'Integer',
582  desc="Level of Tracer output, any level above will be muted. "
583  "Availible levels: 0 - fatal, 100 - error, 200 - warning, "
584  "300 - info, 400 - debug, 500 - trace. "
585  "For additional info please see: src/basic/Tracer.hh and doc "
586  "page 'Tracer, tool for debug IO'. Default output level is 'info': 300",
587  default="300" ),
588  Option( 'levels', 'StringVector',
589  desc="Specified hierarchical mute levels for individual channels in following format: -levels all:300 "
590  "core.pose:500. Numeric values could be substituted with mute level names like: debug, info, "
591  "error etc. Please note that all:<num> is synonymous to -level:<num>"),
592  Option( 'std_IO_exit_error_code', 'Integer',
593  desc="Specify error code that will be used to exit if std::IO error detected. This is useful if you "
594  "want to detect situations like: Rosetta output was redirected to a file but the disk got "
595  "full, etc. Default value is 0 which means that error detection code is turned off.",
596  default="0" ),
597  Option( 'chname', 'Boolean', desc="Add Tracer chanel names to output", default="true" ),
598  Option( 'chtimestamp', 'Boolean', desc="Add timestamp to tracer channel name", default="false" ),
599  Option( 'dry_run', 'Boolean',
600  desc="If set ComparingTracer will not generate any asserts, and save all Tracer output to a file",
601  default="false" ),
602  Option( 'mpi_tracer_to_file', 'String',
603  desc="MPI ONLY: Redirect all tracer output to this file with '_<mpi_rank>' appened as a suffix",
604  default="tracer.out" ),
605  Option( 'user_tag', 'String', desc="add this tag to structure tags: e.g., a process id", default=""),
606  Option( 'output_tag', 'String', desc="Prefix output files with this tag, if code checks for it", default=""),
607  Option( 'save_times', 'Boolean', desc="Save modeling time for each model in seconds", default='false' ),
608 
609  # File options -------------------------------------------------------
610  Option_Group( 'file',
611  Option( 'file', 'Boolean', desc="Output file option group", legal='true', default='true' ),
612  Option( 'o', 'String', desc="Name of output file" ),
613  Option( 'design_contrast', 'File', desc='output list comparing design sequence to native sequence',
614  default='redesign'),
615  Option( 'residue_type_set', 'String', desc='ResidueTypeSet for output files', default='fa_standard' ),
616 
617  # Atom_tree_diff file options -------------------------------------
618  Option( 'atom_tree_diff', 'String', desc="Use atom_tree_diff file output, use filename after this flag",
619  default="default.out" ),
620  Option( 'atom_tree_diff_bb', 'Integer',
621  desc="For atom_tree_diff output, how many digits of precision to use for backbone dihedrals",
622  default="6" ),
623  Option( 'atom_tree_diff_sc', 'Integer',
624  desc="For atom_tree_diff output, how many digits of precision to use for sidechain dihedrals",
625  default="4" ),
626  Option( 'atom_tree_diff_bl', 'Integer',
627  desc="For atom_tree_diff output, how many digits of precision to use for bond lengths",
628  default="2" ),
629 
630  # Alignment file options -----------------------------------------
631  Option( 'alignment', 'String', desc='Output file for sequence alignment', default='out.align' ),
632 
633  # Score file options -----------------------------------------------
634  Option('score_only', 'String', desc="Only output scores, no silent files or pdb files",
635  default="default.sc"),
636  Option( 'scorefile', 'String', desc="Write a scorefile to the provided filename", default="default.sc" ),
637  Option( 'scorefile_format', 'String', desc="Scorefile format: text, json", default="text" ),
638 
639  # Silent file options ----------------------------------------------
640  Option( 'silent', 'String',
641  desc="Use silent file output, use filename after this flag",
642  default="default.out" ),
643  Option( 'silent_struct_type', 'String', desc='Type of SilentStruct object to use in silent-file output',
644  default='protein'),
645  #Option( 'binary_silentfile', 'Boolean',
646  # desc="Write uuencoded binary silentfile DEPRECATED!!! USE -silent_struct_type binary instead",
647  # default='false' ),
648  Option( 'silent_print_all_score_headers', 'Boolean',
649  desc='Print a SCORE header for every SilentStruct in a silent-file',
650  default='false' ),
651 # Option( 'silent_decoytime', 'Boolean',
652 # desc='Add time since last silent structure was written to score line',
653 # default = 'false' ),
654 # Option( 'silent_comment_bound', 'Integer',
655 # desc='String data longer than this ends up as remark rather than in score line',
656 # default = '15' ),
657  Option( 'raw', 'Boolean', desc="Use silent-type file output", default="false" ),
658  Option( 'weight_silent_scores', 'Boolean', desc='Weight scores in silent-file output.', default='true' ),
659 
660  # PDB file options -----------------------------------------------
661  Option( 'silent_preserve_H', 'Boolean',
662  desc='Preserve hydrogrens in PDB silent-file format.',
663  default = 'false' ),
664  Option( 'fullatom', 'Boolean', default='false',
665  desc="Enable full-atom output of PDB or centroid structures"),
666  Option( 'suppress_zero_occ_pdb_output', 'Boolean', default='false',
667  desc="Suppress output of atoms with zero (or negative) occupancy"),
668  Option( 'output_virtual', 'Boolean', default='false', desc="Output virtual atoms in output of PDB"),
669  Option( 'output_virtual_zero_occ', 'Boolean', default='false', desc="Set occupancy to 0.0 for virtual atoms in output of PDB"),
670  Option( 'no_chainend_ter', 'Boolean', desc="If true, TER records are not written at the ends of chains in PDB files -- only at the end of all of the ATOM records (the legacy Rosetta behaviour). False by default (which results in TER records at the ends of every chain).", default='false' ),
671  Option( 'no_output_cen', 'Boolean', default='false', desc="Omit outputting centroids"),
672  Option( 'output_orbitals', 'Boolean', default='false', desc="Output all orbitals into PDB."),
673  Option( 'no_scores_in_pdb', 'Boolean', default='false', desc="Do not output the scoretable at the end of the output PDB."),
674  Option( 'renumber_pdb', 'Boolean', default='false',
675  desc='Use Rosetta residue numbering and arbitrary chain labels in pdb output.'),
676  Option( 'pdb_parents', 'Boolean', default='false',
677  desc='If the pose contains a comment named template, print this as a REMARK in the pdb file'),
678  Option( 'per_chain_renumbering', 'Boolean', default='false',
679  desc='When used in conjunction with renumber_pdb, restarts residue numbering at each chain.'),
680  Option( 'output_torsions', 'Boolean', default='false',
681  desc='Output phi, psi, and omega torsions in the PDB output if the pose is ideal.'),
682  Option( 'use_occurrence_data', 'Boolean', default='false',
683  desc='if option is true reads probabilty matrix from pssm file.'),
684  Option( 'pdb_comments', 'Boolean', default='false',
685  desc='If the pose contains any comment print it as a COMMENT in the pdb file.'),
686  Option('force_nonideal_structure', 'Boolean',
687  desc="Force ResidueConformationFeatures to treat the structure as nonideal. "
688  "If you know all your structures are non-ideal this decreases pose output time",
689  default='true'),
690  Option('write_pdb_link_records', 'Boolean',
691  desc='Sets whether or not the LINK records in PDB files are written. '
692  'The default value is false.',
693  short='Write LINK records?',
694  legal=['true', 'false'],
695  default='false'),
696  Option( 'write_pdb_parametric_info', 'Boolean', desc='If true, parametric poses have their parameter info included in the REMARK lines of the output PDB file. True by default.',
697  short= 'Write parametric info?', legal=['true', 'false'], default='true'),
698 
699  # Dunbrack library options
700  Option( 'dont_rewrite_dunbrack_database', 'Boolean',
701  desc='Disables the default behavior of rewriting the Dunrack library in binary format if a binary '
702  'version is not found' ),
703 
704  # Fragment file options -------------------------------------------
705  Option( 'frag_prefix', 'String', desc='Prefix for fragment output', default='default.frags' ),
706 
707  # SDF file options
708  Option( 'no_extra_sdf_data', 'Boolean', desc='Do not add extra round-tripping data to SDF file output', default='false' ),
709  ), # out:file
710 
711  # Path options -------------------------------------------------------
712  Option_Group( 'path',
713  Option( 'all', 'Path', desc="Default file output path", default="." ),
714  Option( 'path', 'Path', desc="Default file output path", default="." ),
715  Option( 'pdb', 'Path', desc="PDB file output path" ),
716  Option( 'db', 'Path', desc="Database file output path if using FeatureReporters or database output", default="."),
717  Option( 'score', 'Path', desc="Score file output path" ),
718 # Option( 'movie', 'Path', desc="Movie file output path" ),
719  Option( 'scratch', 'Path', desc="use this path as scratch drive", default=['/scratch/USERS/'] ),
720  Option( 'mpi_rank_dir','Boolean',
721  desc="Put silent-output files in individual directory as determined by mpi-rank",
722  default='false'),
723  ), # out:path
724  ), # out
725 
726  ###################################################################################
727  # Run options ---------------------------------------------------------
728  Option_Group( 'run',
729  Option( 'run', 'Boolean',
730  desc='Run option group',
731  legal='true', default='true'
732  ),
733  Option( 'batches', 'FileVector', desc= 'batch_flag_files', default='' ),
734  Option( 'no_prof_info_in_silentout','Boolean',desc='no time-columns appears in score/silent - files', default='false' ),
735  ##Option( 'no_execptions', 'Boolean', desc='always exit immediatly if EXCN is thrown ... make backtracing easier', default='false' ),
736  ##Option( 'ralph', 'Boolean',
737  ## desc='Give some more output to stderr and stdout',
738  ## default='false'
739  ##),
740  Option( 'archive', 'Boolean', desc='run MPIArchiveJobDistributor', default='false' ),
741  Option( 'n_replica', 'Integer', desc='run MPIMultiCommJobDistributor with n_replica processes per job', default='1' ),
742 
743  Option( 'shuffle', 'Boolean',
744  desc='Shuffle job order',
745  legal=['true','false'], default='false'
746  ),
747  Option( 'msd_job_dist', 'Boolean',
748  desc='Use MSD Job Distributor',
749  legal=['true','false'], default='false'
750  ),
751  Option( 'msd_randomize', 'Boolean',
752  desc='Randomize order of input poses for MSD',
753  legal=['true', 'false'], default='false'
754  ),
755  Option( 'n_cycles', 'Integer',
756  desc='Option to control miscellaneous cycles within protocols. This has no core meaning - it is meant to reduce option-bloat by having every protocol define separate cycles options. Check your protocol\'s documentation to see if it is used.',
757  lower='1', default='1'
758  ),
759  Option( 'repeat', 'Integer',
760  desc='Repeat mover N times',
761  lower='0', default='1'
762  ),
763  Option( 'max_min_iter', 'Integer',
764  desc='Maximum number of iterations of dfpmin',
765  default='200'
766  ),
767  Option( 'maxruntime', 'Integer',
768  desc='Maximum runtime in seconds. JobDistributor will signal end if time is exceeded no matter how many jobs were finished.',
769  default='-1'
770  ),
771  Option( 'maxruntime_bufferfactor', 'Real',
772  desc="If set, the JobDistributor will attempt to stop if there doesn't appear to be enough time for `maxruntime_bufferfactor` jobs before maxruntime occurs.",
773  default='0'
774  ),
775  Option( 'write_failures',
776  'Boolean',
777  desc='write failed structures to output',
778  default='false' ),
779 # Option('clean', 'Boolean',
780 # short='clean input pdb befere processing them',
781 # desc='clean input pdb befere processing them',
782 # default='false'
783 # ),
784  Option( 'benchmark', 'Boolean',
785  desc='Run in benchmark mode'
786  ),
787  Option( 'test_cycles', 'Boolean',
788  desc='When running tests, use reduced cycles. Cycles must be defined in the code itself',
789  default='false'
790  ),
791  Option( 'memory_test_cycles', 'Boolean',
792  desc='use together with test_cycles to keep number of copies of anything as high as in production mode',
793  default='false'
794  ),
795  Option( 'dry_run', 'Boolean',
796  desc="Run through structures/tasks/etc skipping the actual calculation step for testing of I/O and/or setup",
797  default='false',
798  ),
799  Option( 'debug', 'Boolean',
800  desc="Run in debug mode"
801  ),
802  Option( 'profile', 'Boolean',
803  desc="Run in profile mode",
804  default='false',
805  ),
806  Option( 'max_retry_job', 'Integer',
807  desc='If a job fails with FAIL_RETRY retry this many times at most',
808  default='10'
809  ),
810 # Option( 'verbosity', 'Integer',
811 # desc='Logging verbosity level',
812 # lower='0', upper='9', default='0'
813 # ),
814  Option( 'version', 'Boolean',
815  desc="write out SVN version info, if it was available at compile time",
816  default='true'
817  ),
818  Option( 'nodelay', 'Boolean',
819  desc="Do not delay launch of minirosetta",
820  ),
821  Option( 'delay', 'Integer',
822  desc="Wait N seconds before doing anything at all. Useful for cluster job staggering.",
823  default='0'
824  ),
825  Option( 'random_delay', 'Integer',
826  desc="Wait a random amount of 0..N seconds before doing anything at all. Useful for cluster job staggering.",
827  default='0'
828  ),
829  Option( 'timer', 'Boolean',
830  desc="write out time per decoy in minutes in scorefile",
831  ),
832 # Option( 'series', 'String',
833 # desc="alternate way to specify the code name chain",
834 # default='ss',
835 # ),
836 # Option( 'protein', 'String',
837 # desc="protein <pdbcode> these options override the first three args",
838 # default='----',
839 # ),
840  Option( 'chain', 'String',
841  desc="-chain <chain_id>",
842  default='-',
843  ),
844  Option( 'score_only', 'Boolean',
845  desc='calculate the score only and exit',
846  default='false'
847  ),
848 # Option( 'silent_input', 'Boolean',
849 # desc="read start structures from compressed format requires -refold -s <.out file> -l <label/index list file> or use -all in place of -l <list> to use all files",
850 # ),
851  ##Option( 'by_index', 'Boolean',
852  ## desc="read compressed start structures by index # (by label is the default)",
853  ##),
854  ##Option( 'new_reader', 'Boolean',
855  ## desc="use new silent-reader, single read-through",
856  ##),
857  ##Option( 'output_all', 'Boolean',
858  ## desc="output pdb files for structures that fail filters (default false)",
859  ##),
860  ##Option( 'accept_all', 'Boolean',
861  ## desc="accept all pdb files (default false) -- use with '-output_all' ",
862  ##),
863  ##Option( 'chain_inc', 'Boolean',
864  ## desc="use last char in start file name (before extension) as the pdb chain",
865  ##),
866  ##Option( 'skip_missing_residues', 'Boolean',
867  ## desc="skip missing residues in pdb file (ie they are not part of the query sequence)",
868  ##),
869  Option( 'decoystats', 'Boolean',
870  desc="calculate values of a series of additional "
871  "structural properties, including counting unsatisfied "
872  "buried Hbond donors and acceptors, SASApack, etc. Additional "
873  "output associated with this flag is written both to stdout and "
874  "to output PDB files",
875  ),
876  ##Option( 'interface_ds', 'Boolean',
877  ## desc="calculate values of a series of additional structural properties for interfaces",
878  ##),
879  ##Option( 'ds_outpdb_only', 'Boolean',
880  ## desc="suppress decoystats output written to stdout, while maintaining availability of this information in the output PDBs",
881  ##),
882  Option( 'output_hbond_info', 'Boolean',
883  desc="print hydrogen bond info in the stats section of written out PDB files",
884  ),
885  ##Option( 'tight_core_analysis', 'Boolean',
886  ## desc="carry out an analysis of how many buried atoms are 'tightly packed' (based on SASA to a 0.5 A probe)",
887  ##),
888  ### type?
889  ##Option( 'tight_core_threshold', 'Real',
890  ## desc="The maximum SASA to a 0.5 A probe an atom can have while still qualifying as 'tightly packed' ",
891  ##),
892  Option( 'wide_nblist_extension', 'Real',
893  desc="Amount to extend the wide neighbor list",
894  default='2.0'
895  ),
896  ### type?
897  ##Option( 'measure_changed_environment', 'Boolean',
898  ## desc="-measure_changed_environment Color B-factors based on difference in distances to neighboring atoms compared with native",
899  ##),
900 # Option( 'status', 'Boolean',
901 # desc="Generate a status file",
902 # ),
903  Option( 'constant_seed', 'Boolean',
904  desc="Use a constant seed (1111111 unless specified)",
905  ),
906  Option( 'jran', 'Integer',
907  desc="Specify seed (requires -constant_seed)",
908  default='1111111',
909  ),
910  Option( 'use_time_as_seed', 'Boolean',
911  desc="Use time as random number seed instead of default rng seed device.",
912  ),
913  Option( 'rng_seed_device', 'String',
914  desc="Obtain random number seed from specified device.",
915  default='/dev/urandom',
916  ),
917  Option( 'seed_offset', 'Integer',
918  desc="This value will be added to the random number seed. Useful when using time as seed \
919  and submitting many jobs to clusters. Using the condor job id will force jobs that \
920  are started in the same second to still have different initial seeds",
921  default='0',
922  ),
923  Option( 'rng', 'String',
924  desc="Random number generation algorithm: Currently only mt19937 is a accepted here",
925  default='mt19937',
926  legal=['mt19937'],
927  ),
928  ##Option( 'delay_at_start', 'Boolean',
929  ## desc="Wait 'seed_offset' seconds before starting the job, so that multiple jobs don't all start in sync",
930  ##),
931 # Option( 'run_level', 'Integer',
932 # desc="Specify runlevel by integer",
933 # default='0',
934 # ),
935 # Option( 'verbose', 'String', # This is being replaced by verbosity
936 # desc="Keyword runlevels (decreasing verbosity): gush yap chat inform quiet silent",
937 # legal=['gush', 'yap', 'chat', 'inform', 'quiet', 'silent']
938 # ),
939 # Option( 'silent', 'Boolean',
940 # desc="use compressed output (also a runlevel)",
941 # ),
942 # Option( 'regions', 'Boolean',
943 # desc="Specify regions of the protein allowed to move",
944 # ),
945  ##Option( 'regionfile', 'String',
946  ## desc="Specify extension for region file (default=regions) (region file root must be same as start structure)",
947  ## default='regions',
948  ##),
949  ##Option( 'ssblocks', 'Boolean',
950  ## desc="require blocks of sequence to follow ss prediction",
951  ##),
952  ##Option( 'check_homs', 'Boolean',
953  ## desc="Stop execution if homologs detected in fragment files; otherwise no checking occurs",
954  ##),
955 # Option( 'find_disulf', 'Boolean',
956 # desc="Each time the pose is scored, attempt to find new disulfide bonds.",
957 # legal=['true','false'], default='false',
958 # ),
959  Option( 'rebuild_disulf', 'Boolean',
960  desc="Attempt to build correct disulfide geometry when converting "
961  "from a centroid pose to a full atom pose. Disulfides must be "
962  "previously annotated, either by enabling -detect_disulf or by "
963  "specifying a file to -fix_disulf.",
964  legal=['true','false'], default='false',
965  ),
966  ##Option( 'use_disulf_logfile', 'File',
967  ## desc="output physical parameters of disulf bonds",
968  ## default='-',
969  ##),
970  ##Option( 'disulf_filter', 'Boolean',
971  ## desc="turn on disulfide filter. The default is off. require -find_disulf or -fix_disulf is on first",
972  ##),
973 # Option( 'movie', 'Boolean',
974 # desc="Update _movie.pdb file for rasmol_rt",
975 # ),
976 # Option( 'trajectory', 'Boolean',
977 # desc="Write a pdb file of each accepted structure",
978 # ),
979  ##Option( 'ise_movie', 'Boolean',
980  ## desc="Write a pdb of every move (accept or reject)",
981  ##),
982 # Option( 'IUPAC', 'Boolean',
983 # desc="Use IUPAC hydrogen conventions in place of PDB conventions",
984 # ),
985  ##Option( 'repeatout', 'Boolean',
986  ## desc="Will write log of RNG state for each structure generated so that any trajectory can be repeated. Should work with any mode, but only tested with ab-initio",
987  ##),
988  ##Option( 'repeatin', 'Boolean',
989  ## desc="Will repeat runs with RNG states from <infile>. RNG state \
990  ## is defined as ran3 seed and # of times ran3 has been \
991  ## called. File format is as generated by -repeatout: \
992  ## one line per trajectory as follows: \
993  ## <name/id> <ran3 seed> <ran3 iters>",
994  ##),
995  Option( 'preserve_header', 'Boolean',
996  desc="Maintain header info from input PDB when writing output PDBs",
997  ),
998  #Option( 'output_silent_gz', 'Boolean', # moved to -out::silent_gz
999  # desc="Use gzipped compressed output (silent run level)",
1000  #),
1001  #Option( 'output_pdb_gz', 'Boolean', # moved to -out:pdb_gz
1002  # desc="write gzipped output pdbs",
1003  # default="false",
1004  #),
1005  ##Option( 'output_scorefile_gz', 'Boolean',
1006  ## desc="write gzipped scorefiles",
1007  ##),
1008  ##Option( 'map_sequence', 'File',
1009  ## desc="allows the reading of starting structures whose sequence differs from the query sequence \
1010  ## defined by the fasta file. The structure will be mapped back to the query sequence \
1011  ## by a fast loop modeling protocol. Requires: query defined (3 args), fasta file, \
1012  ## and fragments. The alignment file format is either aligned fasta, or single \
1013  ## line: 'ALIGN <alignment> <tag>', with . or - for gaps. See map_sequence.cc",
1014  ##),
1015  ##Option( 'unix_paths', 'Boolean', #SGM This (and paths.txt) is probably obsolete: The FileName and PathName classes handle /\ conversion
1016  ## desc="Reads unix path format (forward slashes) in paths.txt for running Windows version on Cygwin",
1017  ##),
1018  ##Option( 'max_frags', 'Integer',
1019  ## desc="Max number of fragments to read from fragment files (default is 200)",
1020  ## default='200',
1021  ##),
1022  ##Option( 'new_centroid_packing', 'Boolean',
1023  ## desc="Add term to centroid-level energy function that promotes correct (sequence-independent) \
1024  ## pairwise correlation between centroid positions",
1025  ##),
1026  ##Option( 'separate_centroid_pack_score', 'Boolean',
1027  ## desc="Puts new centroid packing score (see above) in a separate column in scorefile, \
1028  ## rather than adding onto cb score",
1029  ##),
1030  ##Option( 'use_native_centroid', 'Boolean',
1031  ## desc="place centroids at actual centers of mass (relative to backbone) as read \
1032  ## in from native state, rather than the average position observed for each amino acid in PDB",
1033  ##),
1034 # Option( 'evolution', 'Boolean',
1035 # desc="evolutionary algorithm applied to fullatom refinement of structure models",
1036 # ),
1037  ##Option( 'evol_recomb', 'Boolean',
1038  ## desc="evolutionary algorithm applied to centroid level recombinations of deocys",
1039  ##),
1040  ### type?
1041  ##Option( 'sasapack_bvalues', 'Boolean',
1042  ## desc="bvalues reflect sasapack scores and unsatisfied buried hbonds",
1043  ##),
1044  ##Option( 'cenlist_values', 'Boolean',
1045  ## desc="Output values of cen6 and cen10 for each residue as the 2 last \
1046  ## columns in the 'complete' lines of the output pdb file",
1047  ##),
1048  Option( 'suppress_checkpoints', 'Boolean',
1049  desc="Override & switch off checkpoints.",
1050  ),
1051  Option( 'checkpoint', 'Boolean',
1052  desc="Turn checkpointing on",
1053  ),
1054  Option( 'delete_checkpoints', 'Boolean',
1055  desc="delete the checkpoints after use", default='true',
1056  ),
1057  Option( 'checkpoint_interval', 'Integer',
1058  desc="Checkpoint time interval in seconds",
1059  lower='10', default='600',
1060  ),
1061  Option( 'protocol', 'String',
1062  desc="Which protocol to run, for Rosetta@home wrapper",
1063  default='abrelax',
1064  legal=[
1065  'abrelax', 'simple_cycpep_predict', 'broker', 'vf_abrelax', 'ligand_dock', 'relax', 'symdock', 'star',
1066  'loophash','looprelax','threading', 'rbsegmentrelax', 'boinc_debug', 'parser',
1067  'jd2_scripting', 'cm', 'flxbb','rna','ddg', 'canonical_sampling', 'nonlocal_frags', 'medal',
1068  ],
1069  ),
1070  Option( 'remove_ss_length_screen', 'Boolean',
1071  desc="Sets the use_ss_length_screen flag in the Fragment Mover to false",
1072  ),
1073  Option( 'min_type', 'String',
1074  default='dfpmin', desc='type of minimizer to use'
1075  ),
1076  Option( 'min_tolerance', 'Real', default='0.000001', desc='minimizer tolerance' ),
1077  Option( 'nblist_autoupdate', 'Boolean',
1078  default='false', desc="Turn on neighborlist auto-updates for all minimizations"
1079  ),
1080  Option( 'nblist_autoupdate_narrow', 'Real', default="0.5", desc="With nblist autoupdate: the reach in Angstroms for the narrow neighbor list"),
1081  Option( 'nblist_autoupdate_wide', 'Real', default="2.0", desc="With nblist autoupdate: the reach in Angstroms for the wide neighbor list"),
1082  Option( 'skip_set_reasonable_fold_tree', 'Boolean', default='false', desc="Do not run set_reasonable_fold_tree when creating a pose from a pdb. Useful for unreasonable PDBs where the user sets a fold tree explicitly."),
1083  ##Option( 'set_fold_tree_from_edges', 'Boolean', default='false', desc="Handle multi-residue ligands and pdbs with H20 and ions"),
1084  Option( 'randomize_missing_coords', 'Boolean', default='false',
1085  desc='Insert random coordinates for missing density atoms ( occupancy is zero ) and for any atoms with negative occupancy, randomizing coords is done by default'
1086  ),
1087  Option( 'ignore_zero_occupancy', 'Boolean', default='true',
1088  desc='discard coords information for missing density atoms ( occupancy is zero ) defined in input structures. Default is to keep those coordinates because this is a consistent problem for end users'
1089  ),
1090 
1091  Option( 'cycles_outer', 'Integer', default='1', lower='1', desc='number of outer cycles' ),
1092  Option( 'cycles_inner', 'Integer', default='1', lower='1', desc='number of inner cycles' ),
1093  Option( 'repack_rate', 'Integer', default='10', lower='1', desc='repack after every [value] cycles during certain protocols' ),
1094 
1095  # newJD options - still in run:: group
1096  Option( 'reinitialize_mover_for_each_job', 'Boolean', default='false', desc='job distributor will generate fresh copy of its mover before each apply (once per job)'),
1097  Option( 'reinitialize_mover_for_new_input', 'Boolean', default='false', desc='job distributor will generate fresh copy of its mover whenever the pose being passed to the mover is going to change (e.g., next PDB in -l)'),
1098  Option( 'multiple_processes_writing_to_one_directory', 'Boolean', default='false', desc='activates .in_progress files used to communicate between independent processes that a job is underway. UNSAFE but may be convenient.'),
1099  Option( 'jobdist_miscfile_ext', 'String', default='.data', desc='extension for JobOutputter file() function (miscellaneous file output).'),
1100  Option( 'no_scorefile', 'Boolean', default='false', desc='do not output scorefiles'),
1101  #these next two are separate options because leaving the default on other_pose_scorefile is totally valid, but you can't both specify it on the command line and leave it blank
1102 
1103  #replace these two by the two intermediate_XXX olange
1104  Option( 'other_pose_to_scorefile', 'Boolean', default='false', desc='write other_pose (JobOutputter) to a scorefile; path by other_pose_scorefile; be warned you can get garbage if scorefunctions for poses do not match. Overridden by no_scorefile'),
1105  Option( 'other_pose_scorefile', 'File', default='', desc='Path to other_pose (JobOutputter) scorefiles. Default is same scorefile as regular result poses. The default will cause problems if your output poses were scored on different scorefunctions.'),
1106 
1107  Option( 'intermediate_scorefiles', 'Boolean', default='false', desc='write intermediate evaluations to disk (depends on your protocol if and how often this happens'),
1108  Option( 'intermediate_structures', 'Boolean', default='false', desc='write structures together with intermediate evaluations'),
1109 
1110  #end of newJD
1111  Option( 'idealize_before_protocol', 'Boolean',
1112  desc="run idealize first, before running whatever.",
1113  ),
1114 
1115  Option( 'interactive', 'Boolean',
1116  default='false', desc="Signal Rosetta is to be run as a library in an interactive application. In particular, favor throwing exceptions on bad inputs rather than exiting."),
1117 
1118  Option( 'condor', 'Boolean', desc='if condor say yes -- proc_id counting starts at 0', default='false' ),
1119  Option( 'nproc', 'Integer', desc='number of process... needed if proc_id is specified', default='0' ),
1120  Option( 'proc_id', 'Integer', desc='give process number... Jobdistributor will only work on proc_id mod nproc part of work ', default='0' ),
1121  Option( 'exit_if_missing_heavy_atoms', 'Boolean', default='false', desc="quit if heavy atoms missing in pdb"),
1122 
1123  # PyMOL -----------------------
1124  Option( 'show_simulation_in_pymol', 'Real', default='5.0', desc="Attach PyMOL observer to pose at the beginning of the simulation. Waits until at least every [argument] seconds before sending pose if something has changed, default 5. A value of 0 indicates to not skip any packets from sending! Don't forget to run the PyMOLPyRosettaServer.py script within PyMOL!"),
1125  Option( 'update_pymol_on_energy_changes_only', 'Boolean', default = 'false', desc= 'Only Update the simulation in on energy change. Useful if pymol observer is segfaulting on length changes.'),
1126  Option( 'update_pymol_on_conformation_changes_only', 'Boolean', default = 'false', desc = 'Only update the simulation in pymol on conformation change.'),
1127  Option( 'keep_pymol_simulation_history', 'Boolean', desc='Keep history when using show_simulation_in_pymol flag?', default='false' ),
1128 
1129  Option( 'insert_disulfide_constraint_weight', 'Real', default='0.0', desc='Weight of the constraints on disulfide bonds formed by the DisulfideInsertionMover; EXPERIMENTAL'),
1130 
1131  ), # -run
1132 
1133  # jd2 Options ---------------------------------------------------------
1134  Option_Group( 'jd2',
1135  Option('pose_input_stream','Boolean',desc='Use PoseInputStream classes for Pose input', default='false' ),
1136  Option('lazy_silent_file_reader','Boolean',desc='use lazy silent file reader in job distributor, read in a structure only when you need to',default='false'),
1137  #for the Archive it really doesn't matter to finish the last runs.. some stragglers can take up to an 1h to finish...
1138  # save the computer time...
1139  Option( 'mpi_nowait_for_remaining_jobs','Boolean', desc='exit immediately (not graceful -- not complete) if the last job has been sent out', default='false'),
1140 
1141  Option( 'mpi_timeout_factor','Real', desc='timeout is X times average job-completion time - set to 0 to switch off', default='0'),
1142 
1143 
1144  Option( 'mpi_work_partition_job_distributor', 'Boolean', desc='determine if we should use the WorkPartition job distributor', default='false' ),
1145  Option( 'mpi_file_buf_job_distributor', 'Boolean', desc='determine if we should use the MPIFileBufJobDistributor (warning: silent output only)', default='true' ),
1146 
1147  Option( 'mpi_filebuf_jobdistributor', 'Boolean', desc='same as mpi_file_buf_job_distributor but with more intuitive spacing... determine if we should use the MPIFileBufJobDistributor (warning: silent output only)', default='true' ),
1148 
1149  #this is unnecessary and unsafe, use the the faster mpi_filebuf_jobdistributor instead
1150  Option( 'mpi_fast_nonblocking_output', 'Boolean', desc='By default the master node blocks while a slave node outputs to avoid two slaves writing to a score file or silent file at the same time setting this to true disables that feature', default='false' ),
1151 
1152 
1153  Option( 'dd_parser', 'Boolean', desc='determine whether to use the dock_design_parser', default='false' ),
1154  Option( 'ntrials', 'Integer', desc='number of attempts at creating an output file for each nstruct. e.g., ntrials 3 and nstruct 10 would mean that each of 10 trajectories would attempt to write an output file 3 times and if unsuccessful would fail.' ),
1155  Option( 'generic_job_name', 'String', desc='job name when using GenericJobInputter (i.e. abinitio)', default = 'S'),#no I don't know why it's S, I think it's S for Success
1156  Option( 'no_output', 'Boolean', desc='use NoOutputJobOutputter; do not store the pose after a run (no silent or scorefile)', default='false'),
1157  Option( 'enzdes_out', 'Boolean', desc='causes an enzdes-style scorefile (with information about catalytic res and some pose metric stuff ) to be written instead of the regular scorefile', default='false'),
1158  Option( 'buffer_silent_output', 'Integer', default = '1', desc = 'write structures to silent-files in blocks of N structures to', ),
1159  Option( 'buffer_flush_frequency', 'Real', default = '1.0', desc = 'when N structures (buffer_silent_output) are collected dump to file with probability X' ),
1160  Option( 'delete_old_poses', 'Boolean', default = 'false', desc = 'Delete poses after they have been processed. For jobs that process a large number of structures, the memory consumed by old poses is wasteful.', ),# NOTE: This option should probably be used by default, however it may have issues with special uses of the job distributor. Once these issues are resolved, either enable it by default, or just do it with out asking.
1161  Option( 'resource_definition_files', 'FileVector', desc = 'Specify all the jobs and all of their resources to the new JD2ResourceManager system', ),
1162  Option( 'checkpoint_file', 'File', desc='write/read nstruct-based checkpoint files to the desired filename.' ),
1163  #Option( 'nthreads', 'Integer', desc='The maximum number of threads to run at once using the MultiThreadedJobDistributor' ),
1164  Option( 'failed_job_exception', 'Boolean', default = 'true', desc = 'If JD2 encounters an error during job execution, raise an exception at the end of the run', ),
1165  Option( 'max_nstruct_in_memory', 'Integer', default = '1000000', desc = 'If nstruct is set higher than this number, JD2 will keep only this many jobs in memory in the jobs list at any given time (to keep the jobs list from filling up memory). As jobs complete, they will be deleted and the jobs list will be filled out with new jobs. This option is intended for exteremly large runs on systems like the Blue Gene/Q supercomputer. To disable this sort of memory management, set this option to 0.', ),
1166  Option( 'sequential_mpi_job_distribution', 'Boolean', default='false', desc = 'If specified, MPI versions of the JobDistributor send jobs to each slave in sequence (slave1, slave2, slave3 etc.). False by default. Note that this should NOT be used for production runs; it is intended only for regression tests in which non-sequential job distribution would result in stochastic variations.', ),
1167  ), # jd2
1168 
1169  # score function settings -----------------------------------------------------------
1170  Option_Group( 'score',
1171  Option( 'score_pose_cutpoint_variants', 'Boolean', desc='Include cutpoint variants in the pose during linear chainbreak', default='false'),
1172  Option( 'score', 'Boolean', desc="scorefunction option group", legal='true', default='true' ),
1173  Option( 'weights', 'String', desc="Name of weights file (without extension .wts)" , default="talaris2013" ),
1174  Option( 'set_weights', 'StringVector', desc="Modification to weights via the command line. Applied in ScoreFunctionFactory::create_score_function inside the function apply_user_defined_reweighting_. Format is a list of paired strings: -score::set_weights <score_type1> <setting1> <score_type2> <setting2> ..." ),
1175  Option( 'pack_weights', 'String', desc="Name of packing weights file (without extension .wts)" , default="talaris2013" ),
1176  Option( 'soft_wts', 'String', desc="Name of the 'soft' weights file, for protocols which use it." , default="soft_rep" ),
1177  Option( 'docking_interface_score','Boolean',desc="the score is computed as difference between bound and unbound pose", default='false'),
1178  Option( 'min_score_score', 'Real', desc='do not consider scores lower than min-score in monte-carlo criterion', default='0.0'),
1179  Option( 'custom_atom_pair', 'String', desc='filename for custom atom pair constraints', default = 'empty' ),
1180  Option( 'patch', 'FileVector', desc="Name of patch file (without extension)",default="" ),
1181  Option( 'empty', 'Boolean', desc="Make an empty score - i.e. NO scoring" ),
1182  Option( 'fa_max_dis', 'Real', desc='How far does the FA pair potential go out to ?', default='6.0', ),
1183  Option( 'fa_Hatr', 'Boolean', desc='Turn on Lennard Jones attractive term for hydrogen atoms'),
1184  Option( 'no_smooth_etables', 'Boolean',desc="Revert to old style etables" ),
1185 # Option( 'etable_lr' , 'Real', desc="lowers energy well at 6.5A" ),
1186  Option( 'no_lk_polar_desolvation', 'Boolean', desc="Disable the polar-desolvation component of the LK solvation model; effectively set dGfree for polar atoms to 0" ),
1187  Option( 'input_etables' , 'String', desc="Read etables from files with given prefix" ),
1188  Option( 'output_etables', 'String', desc="Write out etables to files with given prefix" ),
1189  Option( 'analytic_etable_evaluation', 'Boolean', desc="Instead of interpolating between bins, use an analytic evaluation of the lennard-jones and solvation energies", default="true" ),
1190  Option( 'put_intra_into_total','Boolean', desc="Put intra-residue terms inside hbond, geom_sol_fast, fa_atr. (Contributions will not show up in hbond_intra, fa_atr_intra_xover4.) Off for proteins by default.", default="false" ),
1191  Option( 'include_intra_res_protein','Boolean', desc="Include computation of intra-residue terms for proteins.", default="false" ),
1192  Option( 'fa_stack_base_base_only','Boolean', desc="Only calculate fa_stack for RNA base/base.", default="true" ),
1193  Option( 'fa_stack_sol_prefactor','Real', desc="Strength of sol penalty in fa_stack_sol.", default="0.1" ),
1194  Option( 'fa_stack_sol_stack_cutoff','Real', desc="distances below this get full sol stack.", default="5.5" ),
1195  Option( 'fa_stack_sol_dist_cutoff' ,'Real', desc="distances below this get some sol stack.", default="6.5" ),
1196  Option( 'fa_stack_lr_prefactor','Real', desc="Strength of lr penalty in fa_stack_lr.", default="-0.05" ),
1197  Option( 'fa_stack_lr_stack_cutoff','Real', desc="distances below this get full lr stack.", default="6.5" ),
1198  Option( 'fa_stack_lr_dist_cutoff' ,'Real', desc="distances below this get some lr stack.", default="7.5" ),
1199  Option( 'geom_sol_interres_path_distance_cutoff', 'Integer', desc="Minimum no. bonds between atoms in different residues to calculate geom_sol", default="0" ),
1200  Option( 'geom_sol_intrares_path_distance_cutoff', 'Integer', desc="Minimum no. bonds between atoms in same residues to calculate geom_sol", default="6" ),
1201  Option( 'rms_target', 'Real', desc='Target of RMS optimization for RMS_Energy EnergyMethod', default='0.0'),
1202  Option( 'ramaneighbors', 'Boolean', desc='Uses neighbor-dependent ramachandran maps', default='false'),
1203  Option( 'optH_weights', 'String', desc="Name of weights file (without extension .wts) to use during optH"),
1204  Option( 'optH_patch', 'String', desc="Name of weights file (without extension .wts) to use during optH"),
1205  Option( 'hb_don_strength', 'StringVector', desc="Modification of hbond donor-atom strengths, over-rides any database file settings. Format is -hb_don_strength <atm1>:<wt1> <atm2>:<wt2> ... For example -hb_don_strength hbdon_IND:1.5 hbdon_AHX:0.5" ),
1206  Option( 'hb_acc_strength', 'StringVector', desc="Modification of hbond acceptor-atom strengths, over-rides any database file settings. Format is -hb_acc_strength <atm1>:<wt1> <atm2>:<wt2> ... For example -hb_acc_strength hbacc_CXA:1.5 hbdon_HXL:0.5" ),
1207  Option( 'hbond_params', 'String', desc="Directory name in the database for which hydrogen bond parameters to use.", default='sp2_elec_params'),
1208  Option( 'hbond_bb_per_residue_energy', 'Boolean', desc="In score tables, separate out backbone hydrogens bond energies per residue. By default, bb hbonds are included in the total energy, but not per residue energies",default='false'),
1209  Option( 'hbond_disable_bbsc_exclusion_rule', 'Boolean', desc="Disable the rule that protein bb/sc hbonds are excluded if the backbone group is already forming a hydrogen bond to a backbone group; with this flag, no hbonds are excluded", default='false' ),
1210  Option( 'hb_env_dep_new', 'Boolean', desc="Use new version of env-dep fading for hbond and fa_elec", default="false" ),
1211  Option( 'hb_env_dep_new_low_scale', 'Real', desc="For new version of env-dep fading, the lowend scale (as a fraction of buried strength)", default="0.2" ),
1212  Option( 'hb_env_dep_new_low_nneigh', 'Real', desc="For new version of env-dep fading, the number of 10A neighbors to be considered exposed", default="10" ),
1213  Option( 'hb_env_dep_new_high_nneigh', 'Real', desc="For new version of env-dep fading, the number of 10A neighbors to be considered buried", default="20" ),
1214  Option( 'symE_units', 'Integer', desc="Number of symmetric Units in design for use with symE scoring",default='-1'),
1215  Option( 'symE_bonus', 'Real', desc="Energy bonus per match for use with symE scoring",default='0.0'),
1216  Option( 'symmetric_gly_tables', 'Boolean', desc="If true, the Ramachandran and P_AA_PP tables for glycine will be symmetrized on load. If false (the default), then the statistical tables will be used, which are asymmetric due to the contribution of chiral amino acids.", default='false'),
1217  Option( 'NV_lbound', 'Real', desc="Lower Bound for neighbor Vector scoring" , default='3.3'),
1218  Option( 'NV_ubound', 'Real', desc="Upper Bound for neighbor Vector scoring", default='11.1'),
1219  Option( 'NV_table', 'String', desc="Location of path to potential lookup table", default='scoring/score_functions/NV/neighbor_vector_score.histogram'),
1220  Option( 'disable_orientation_dependent_rna_ch_o_bonds', 'Boolean', desc="Do not use orientation-dependent potential for RNA carbon hydrogen bonds" , default="false"),
1221  Option( 'rna_torsion_potential', 'String', desc="In RNA torsion calculation, directory containing 1D torsional potentials" , default="ps_04282011"),
1222  Option( 'rna_suite_potential', 'String', desc="In RNA calculation, directory containing suite potentials" , default="Richardson"),
1223  Option( 'suiteness_bonus', 'String', desc="In RNA calculation, directory containing suiteness bonus definition" , default="Richardson"),
1224  Option( 'rna_torsion_skip_chainbreak', 'Boolean', desc="Don't score RNA torsions located at the chain_breaks (aside from the ones that will be closed)" , default="true"),
1225  Option( 'rna_chemical_shift_verbose', 'Boolean', desc="print out chemical shifts; useful for debug" , default="false"),
1226  Option( 'rna_chemical_shift_larmord', 'Boolean', desc="Use LARMORD to calculate 1H chemical shifts" , default="false"),
1227  Option( 'rna_chemical_shift_exp_data', 'String', desc="rna_chemical_shift_exp_data" , default=""),
1228  Option( 'rna_chemical_shift_larmord_par', 'String', desc="larmord parameters file" , default="larmord_1.0_nocut_parameters.dat"),
1229  Option( 'rna_chemical_shift_larmord_wt', 'String', desc="larmord expected accuracy file" , default="larmord_noweights.txt"),
1230  Option( 'rna_chemical_shift_larmord_ref', 'String', desc="larmord reference chemical shift file" , default="larmord_1.0_reference_shifts.dat"),
1231  Option( 'rna_chemical_shift_larmord_nei', 'String', desc="larmord neighbor atom shift file" , default="larmord_1.0_neighbor_atoms.dat"),
1232  Option( 'rna_chemical_shift_larmord_cut', 'Real', desc="larmord distance cutoff" , default='9999.9'),
1233  Option( 'rna_chemical_shift_larmord_beta', 'Real', desc="larmord beta value (the exponent)" , default='-3.0'),
1234  Option( 'rna_chemical_shift_H5_prime_mode', 'String', desc="rna_chemical_shift_H5_prime_mode", default=""),
1235  Option( 'rna_chemical_shift_include_res', 'IntegerVector', desc="rna_chemical_shift_include_res"),
1236  Option( 'DMS_separate_features', 'Boolean', desc="in RNA DMS scoring, calculate N1-bonded, occupancy, and binding-energy-based scores as if they were uncorrelated features and sum scores. ", default="false"),
1237  Option( 'DMS_careful_base_pair_classifier', 'Boolean', desc="in RNA lo-res DMS scoring, use detailed base pair classification to assess lores score ", default="false"),
1238  Option( 'rna_chem_map_lores_weight', 'Real', desc="In RNA lo-res chemical mapping scoring, final strength of rna_chem_map_lores term when -data_file is specified.", default="0.0"),
1239  Option( 'use_2prime_OH_potential', 'Boolean', desc="Use torsional potential for RNA 2prime OH." , default="true"),
1240  Option( 'include_neighbor_base_stacks', 'Boolean', desc="In RNA score calculation, include stacks between i,i+1" , default="false"),
1241  Option( 'find_neighbors_3dgrid', 'Boolean', desc="Use a 3D lookup table for doing neighbor calculations. For spherical, well-distributed conformations, O(N) neighbor detection instead of general O(NlgN)", default='false' ),
1242  Option( 'find_neighbors_stripehash', 'Boolean', desc="should be faster than 3dgrid and use 1/8th the memory", default='false' ),
1243  Option( 'seqdep_refene_fname', 'String', desc="Filename for table containing sequence-dependent reference energies" ),
1244  Option( 'secondary_seqdep_refene_fname', 'String', desc="Additional filename for table containing sequence-dependent reference energies" ),
1245  Option( 'exact_occ_pairwise', 'Boolean', desc="When using occ_sol_exact, compute energies subject to pairwise additivity (not recommended - intended for parameterization / evaluation purposes)", default='false' ),
1246  Option( 'exact_occ_skip_Hbonders', 'Boolean', desc="When using occ_sol_exact, do not count contributions from occluding groups which form Hbonds to the polar group of interest", default='true' ),
1247  Option( 'exact_occ_include_Hbond_contribution', 'Boolean', desc="When using occ_sol_exact, include Hbonds in the solvation energy", default='false' ),
1248  Option( 'exact_occ_pairwise_by_res', 'Boolean', desc="When using occ_sol_exact, compute energies subject to by-residue pairwise additivity (not recommended - intended for parameterization / evaluation purposes)", default='false' ),
1249  Option( 'exact_occ_split_between_res', 'Boolean', desc="When using occ_sol_exact with the exact_occ_pairwise flag, split the energies between both contributing residues instead of assigning it just to the polar residue (not recommended - intended for parameterization / evaluation purposes)", default='false' ),
1250  Option( 'exact_occ_self_res_no_occ', 'Boolean', desc="Setting this to false means that the self-residue CAN occlude when using the exact ODO model, leading to potential double-counting with the Dunbrack energy but better results in loop discrimination.", default='false' ),
1251  Option( 'exact_occ_radius_scaling', 'Real', desc="When using occ_sol_exact, scale the radii of occluding atoms by this factor (intended for parameterization / evaluation purposes)", default="1.0" ),
1252  Option( 'ref_offsets', 'StringVector', desc="offset reference energies using 3 character residue types (example: TRP 0.9 HIS 0.3)" ),
1253  Option( 'ref_offset', 'Real', desc="offset all reference energies by this amount", default='0.0' ),
1254  Option( 'output_residue_energies', "Boolean", desc="Output the energy for each residue", default='false' ),
1255  Option( 'fa_custom_pair_distance_file', 'String', desc="Name of custom pair distance energy file", default=""),
1256  Option( 'disulf_matching_probe', 'Real', desc="Size of probe to use in disulfide matching score", default='2.5'),
1257  Option( 'bonded_params', 'RealVector', desc="Default spring constants for bonded parameters [length,angle,torsion,proton-torsion,improper-torsion]"),
1258  Option( 'bonded_params_dir', 'String', desc="Spring constants for bonded parameters [length,angle,torsion,proton-torsion,improper-torsion]", default="scoring/score_functions/bondlength_bondangle"),
1259  Option( 'extra_improper_file', 'String', desc="Add extra parameters for improper torsions"),
1260  Option( 'pro_close_planar_constraint', 'Real', desc="stdev of CD,N,CA,prevC trigonal planar constraint in pro_close energy method", default='0.1' ),
1261  Option( 'no_pro_close_ring_closure', 'Boolean', desc="The pro_close term holds the proline ring closed, but also has some inter-residue energy associated with the psi value of the preceding residue. If this flag is set to 'true', the term ONLY does the torsional stuff -- it doesn't hold the ring closed. For use with cart_bonded or ring_close. False by default.", default='false'),
1262  Option( 'ring_close_shadow_constraint', 'Real', desc="Standard deviation of the harmonic potential used to hold shadow atoms atop real atoms in order to hold rings closed with the ring_close scoring term. Analogous to pro_close_planar_constraint option for the pro_close energy term.", default='0.1' ),
1263  Option( 'linear_bonded_potential', 'Boolean', desc="use linear (instead of quadratic) bonded potential", default='false'),
1264 # Option('use_membrane_rg','Boolean',desc="use the modified RG score where RG calculated over input span centers of mass",default='false'),
1265  Option( 'free_suite_bonus', 'Real', desc="Amount to reward virtualization of a nucleotide suite", default='-1.0'),
1266  Option( 'free_sugar_bonus', 'Real', desc="Amount to reward virtualization of a sugar/ribose", default='-1.0'),
1267  Option( 'free_2HOprime_bonus', 'Real', desc="Amount to reward virtualization of a 2'-OH", default='-0.5'),
1268  Option( 'syn_G_potential_bonus', 'Real', desc="Amount to reward syn chi conformation of guanosine", default='0.0'),
1269  Option( 'pack_phosphate_penalty', 'Real', desc="Amount to penalize instantiation of a 5' or 3' phosphate", default='0.25'),
1270  Option( 'free_side_chain_bonus', 'Real', desc="Amount to reward virtualization of a protein side chain, per free chi", default='-0.5'),
1271  Option( 'bond_angle_sd_polar_hydrogen', 'Real', desc="Standard deviation for bond_geometry angle term with -vary_polar_hydrogen_geometry flag, in degrees", default='60.0'),
1272  Option( 'bond_torsion_sd_polar_hydrogen', 'Real', desc="Standard deviation for bond_geometry torsion term with -vary_polar_hydrogen_geometry flag, in degrees", default='30.0'),
1273  Option( 'rna_bulge_bonus_once_per_loop', 'Boolean', desc='For legacy stepwise term rna_bulge in SWM runs, compute bulge bonus on a per-loop basis, rather than a bonus for each virtual residue.', default='true' ),
1274  Option( 'allow_complex_loop_graph', 'Boolean', desc='LoopGraph hack - allow sharing of loops between cycles', default='false' ),
1275  Option( 'compute_mg_sol_for_hydrogens', 'Boolean', desc='mg_sol includes penalties for hydrogens near Mg(2+)', default='false'),
1276  Option( 'rg_local_span', 'IntegerVector', desc="First,last res in rg_local. For example to calc rg_local from 1-20 would be 1,20",default ="0"),
1277  Option( 'unmodifypot', 'Boolean', desc="Do not call modify pot to add extra repulsive interactions between Obb/Obb atom types at distances beneath 3.6 Angstroms"),
1278  Option( 'conc', 'Real', desc="intermolecular concentration to use in intermol term (give in M)", default="1.0"),
1279  Option( 'loop_fixed_cost', 'Real', desc="For loop_close term, a fixed cost of instantiating an end of a Gaussian chain; calibrated based on RNA bulge/loop data", default="-0.29" ),
1280  Option( 'sidechain_buried', 'IntegerVector', desc="count buried residues (rvernon pilot app)", default = '-1' ),
1281  Option( 'sidechain_exposed', 'IntegerVector', desc="count exposed residues (rvernon pilot app)", default = '-1' ),
1282  Option( 'aa_composition_setup_file', 'StringVector', desc="The filename of one or more setup files for the aa_composition scoring term. (Multiple such files can be listed, separated by a space.) The default location for these files (which have a .comp extension) is /database/scoring/score_functions/aa_composition/." ),
1283  Option( 'aa_repeat_energy_penalty_file', 'String', desc="The filename of a penalty file for the aa_repeat_energy term. The penalty file should be a series of numbers on a single line, representing the penalty for having a repeat of 1, 2, 3, etc. of the same residue. Penalty files are stored in database/scoring/score_functions/aa_repeat_energy/ and should have the suffix .rpt_pen. The default is default_repeat_penalty_table.rpt_pen.", default="default_repeat_penalty_table.rpt_pen" ),
1284  Option( 'elec_min_dis', 'Real', desc='changes the minimum distance cut-off for hack-elec energy', default='1.6'),
1285  Option( 'elec_max_dis', 'Real', desc='changes the maximum distance cut-off for hack-elec energy', default='5.5'),
1286  Option( 'elec_die', 'Real', desc='changes the dielectric constant for hack-elec energy', default='10.0'),
1287  Option( 'elec_r_option', 'Boolean', desc='changes the dielectric from distance dependent to distance independent', default='false'),
1288  Option( 'elec_sigmoidal_die', 'Boolean', desc='changes the dielectric from distance dependent to sigmoidal', default='false'),
1289  Option( 'elec_sigmoidal_die_D', 'Real', desc='D parameter for sigmoidal dielectric', default='78.0'),
1290  Option( 'elec_sigmoidal_die_D0', 'Real', desc='D0 parameter for sigmoidal dielectric', default='2.0'),
1291  Option( 'elec_sigmoidal_die_S', 'Real', desc='S parameter for sigmoidal dielectric', default='0.36'),
1292  Option( 'elec_representative_cp', 'Boolean', desc='Use representative atoms for countpair to avoid dipole splits', default='false'),
1293  Option( 'elec_representative_cp_flip', 'Boolean', desc='Enable elec_representative_cp, but FLIP the order in the table', default='false'),
1294  Option( 'intrares_elec_correction_scale', 'Real', desc='Intrares elec scaling factor for free DOF atoms', default='0.05'),
1295  Option( 'smooth_fa_elec', 'Boolean', desc='Smooth the discontinuities in the elec energy function using a sigmoidal term', default='true' ),
1296  Option( 'grpelec_fade_type', 'String', desc='use standard way (shift/switch function) of Coulomb function for fa_grpelec', default='false' ),
1297  Option( 'grpelec_fade_param1', 'Real', desc='fading distance for shift/switch', default='1.0' ),
1298  Option( 'grpelec_fade_param2', 'Real', desc='exponent for shift', default='1.0' ),
1299  Option( 'elec_group_file', 'String', desc='file where group information is stored', default='/scoring/score_functions/elec_group_def.dat' ),
1300  Option( 'elec_group_extrafile', 'String', desc='file where group information for extra_res is stored', default='' ),
1301  Option( 'grpelec_fade_hbond', 'Boolean', desc='fade grpelec for hbonding group', default='false' ),
1302  Option( 'grpelec_max_qeps', 'RealVector', desc='Max abs charge for the group types, used when fading hbond [nonpolar/polar/charged]', default=['0','0.10','0.25','0.5'] ),
1303  Option( 'grpelec_context_dependent', 'Boolean', desc='whether grpelec depends on context', default='false' ),
1304  Option( 'grp_cpfxn', 'Boolean', desc='rule for trying cpfxn on group', default='true' ),
1305  Option( 'grpelec_cpfxn_weight', 'RealVector', desc='cpfxn weight on group(1-4/1-5/>1-5)', default=['0.0','0.2','1.0'] ),
1306  Option( 'elec_context_minstrength', 'Real', desc='strength at min burial ', default='0.2' ),
1307  Option( 'elec_context_minburial', 'Real', desc='num. cb assigned as min burial ', default='7.0' ),
1308  Option( 'elec_context_maxburial', 'Real', desc='num. cb assigned as max burial', default='24.0' ),
1309  Option( 'use_polarization', 'Boolean', desc='whether multipole electrostatics includes polarization (induced dipoles)', default='true' ),
1310  Option( 'use_gen_kirkwood', 'Boolean', desc='whether multipole electrostatics includes treatment of reaction field', default='true' ),
1311  Option( 'protein_dielectric', 'Real', desc='dielectric constant for protein in generalized Kirkwood treatment of reaction field', default='1.0' ),
1312  Option( 'water_dielectric', 'Real', desc='dielectric constant for water in generalized Kirkwood treatment of reaction field', default='78.3' ),
1313  Option( 'facts_GBpair_cut','Real', desc='GBpair interaction distance cutoff (same as elec_max_dis)', default="10.0" ),
1314  Option( 'facts_kappa','Real', desc='GBpair interaction screening factor', default="12.0" ),
1315  Option( 'facts_asp_patch','Integer', desc='AtomicSolvationParameter set for nonpolar interaction in FACTS', default="3" ),
1316  Option( 'facts_plane_to_self','Boolean', desc='Add atoms in same plane to self energy pairs', default="true" ),
1317  Option( 'facts_saltbridge_correction','Real', desc='FACTS Self energy parameter scaling factor for polarH', default="1.0" ),
1318  Option( 'facts_dshift','RealVector', desc='FACTS pair term denominator distance shift[bb/bbsc/scsc/saltbridge]', default=["0.0","1.5","1.5","1.5"] ),
1319  Option( 'facts_die','Real', desc='FACTS dielectric constant', default="1.0" ),
1320  Option( 'facts_binding_affinity','Boolean', desc='Activate FACTS options for binding affinity calculation', default="false" ),
1321  Option( 'facts_intrascale_by_level','Boolean', desc='Apply internal scaling by path_dist to CA? (definition below becomes G/D/E/Z/>Z', default='false' ),
1322  Option( 'facts_intbb_elec_scale','RealVector', desc='FACTS Coulomb scale for intrares bonded pairs: [1-4, 1-5, >1-5]', default=['0.0','0.2','0.0'] ),
1323  Option( 'facts_intbb_solv_scale','RealVector', desc='FACTS GB scale for intrares bb-bb bonded pairs: [1-4, 1-5, >1-5]', default=['0.4','0.4','0.0'] ),
1324  Option( 'facts_adjbb_elec_scale','RealVector', desc='FACTS Coulomb scale for adjacent bb-bb bonded pairs: [1-4, 1-5, 1-6, 2res-coupled, 1res-decoupled]', default=['0.0','0.2','1.0','0.5','0.5'] ),
1325  Option( 'facts_adjbb_solv_scale','RealVector', desc='FACTS GB scale for adjacent bb-bb bonded pairs: [1-4, 1-5, 1-6, 2res-coupled, 1res-decoupled]', default=['0.0','0.2','1.0','0.5','0.5'] ),
1326  Option( 'facts_intbs_elec_scale','RealVector', desc='FACTS Coulomb scale for intrares bb-sc bonded pairs: [1-4, 1-5, 1-6, >1-6, dumm]', default=['0.2','0.2','0.2','0.2','0.0'] ),
1327  Option( 'facts_intbs_solv_scale','RealVector', desc='FACTS GB scale for intrares bb-sc bonded pairs: [1-4, 1-5, 1-6, >1-6, dumm]', default=['1.0','0.6','0.6','0.6','0.0'] ),
1328  Option( 'facts_adjbs_elec_scale','RealVector', desc='FACTS Coulomb scale for adjacent bb-sc bonded pairs: [1-4, 1-5, 1-6, 1-7, >1-7]', default=['0.0','0.2','0.2','0.2','0.2'] ),
1329  Option( 'facts_adjbs_solv_scale','RealVector', desc='FACTS GB scale for adjacent bb-sc bonded pairs: [1-4, 1-5, 1-6, 1-7, >1-7]', default=['1.0','0.6','0.6','0.6','0.6'] ),
1330  Option( 'facts_intsc_elec_scale','RealVector', desc='FACTS Coulomb scale for intrares sc-sc pairs: [1-4, 1-5, >1-5]', default=['0.0','0.0','0.0'] ),
1331  Option( 'facts_intsc_solv_scale','RealVector', desc='FACTS GB scale for intrares sc-sc pairs: [1-4, 1-5, >1-5]', default=['1.0','0.0','0.0'] ),
1332  Option( 'facts_charge_dir','String', desc='directory where residue topology files for FACTS charge are stored', default="scoring/score_functions/facts" ),
1333  Option( 'facts_eff_charge_dir','String', desc='directory where residue topology files for FACTS charge are stored', default="scoring/score_functions/facts/eff" ),
1334  Option( 'facts_plane_aa','StringVector', desc='AAs to apply plane rule'),
1335  Option( 'facts_eq_type','String', desc='FACTS equation type',default="exact"),
1336  Option( 'length_dep_srbb','Boolean', desc='Enable helix-length-dependent sr backbone hbonds', default="false" ),
1337  Option( 'ldsrbb_low_scale','Real', desc='Helix-length-dependent scaling at minlength.', default="0.5" ),
1338  Option( 'ldsrbb_high_scale','Real', desc='Helix-length-dependent scaling at maxlength.', default="2.0" ),
1339  Option( 'ldsrbb_minlength','Integer', desc='Helix-length-dependent scaling minlength.', default="4" ),
1340  Option( 'ldsrbb_maxlength','Integer', desc='Helix-length-dependent scaling maxlength.', default="17" ),
1341  Option( 'nmer_ref_energies', 'String', desc='nmer ref energies database filename' ),
1342  Option( 'nmer_ref_energies_list', 'String', desc='list of nmer ref energies database filenames' ),
1343  Option( 'nmer_pssm', 'String', desc='nmer pssm database filename' ),
1344  Option( 'nmer_pssm_list', 'String', desc='list of nmer pssm database filenames' ),
1345  Option( 'nmer_pssm_scorecut', 'Real', desc='nmer pssm scorecut gate for ignoring lowscore nmers', default='0.0' ),
1346  Option( 'nmer_svm', 'String', desc='nmer svm filename (libsvm)' ),
1347  Option( 'nmer_svm_list', 'String', desc='list of nmer svm filenames (libsvm)' ),
1348  Option( 'nmer_svm_scorecut', 'Real', desc='nmer svm scorecut gate for ignoring lowscore nmers', default='0.0' ),
1349  Option( 'nmer_svm_aa_matrix', 'String', desc='nmer svm sequence encoding matrix filename' ),
1350  Option( 'nmer_svm_term_length', 'Integer', desc='how many up/dnstream res to avg and incl in svm sequence encoding', default='3' ),
1351  Option( 'nmer_svm_pssm_feat', 'Boolean', desc='add pssm features to svm encoding?', default='true' ),
1352  Option( 'nmer_ref_seq_length', 'Integer', desc='length of nmers in nmer_ref score', default='9' ),
1353  Option( 'just_calc_rmsd', "Boolean", desc="In rna_score, just calculate rmsd -- do not replace score.", default='false' ),
1354  Option( 'envsmooth_zero_negatives', "Boolean", desc="use alternative envsmooth table with a floor of 0.0 (envsmooth awards no energy bonus)", default='false' ),
1355  Option_Group( 'saxs',
1356  Option('min_score', 'Real', desc="minimum value of saxs score; the parameter is used to flatten the energy funnel around its minimum", default='-5' ),
1357  Option( 'custom_ff', 'String',desc="Name of config file providing extra from factors",default=""),
1358  Option( 'print_i_calc', 'String',desc="File to optionally write scaled computed spectra",default=""),
1359  Option( 'ref_fa_spectrum','File' , desc="reads reference full-atom spectrum from a file"),
1360  Option( 'ref_cen_spectrum','File' , desc="reads reference centroid spectrum from a file"),
1361  Option( 'ref_spectrum','File' , desc="reads reference spectrum from a file"),
1362  Option( 'ref_pddf','File' , desc="reads reference pairwise distance distribution function"),
1363 # Option('skip_hydrogens', 'Boolean',desc="skip hydrogen atoms", default='false' ),
1364  Option('d_min', 'Real', desc="minimum value of distance used in PDDF score evaluation (in [A])", default='5.0' ),
1365  Option('d_max', 'Real', desc="maximum value of distance used in PDDF score evaluation (in [A])", default='100.0' ),
1366  Option('d_step', 'Real', desc="step of distance used in PDDF score evaluation (in [A])", default='0.1' ),
1367  Option('q_min', 'Real', desc="minimum value of q used in spectra calculations (in [A^-1])", default='0.01' ),
1368  Option('q_max', 'Real', desc="maximum value of q used in spectra calculations (in [A^-1])", default='0.25' ),
1369  Option('q_step', 'Real', desc="step of q used in spectra calculations (in [A^-1])", default='0.01' ),
1370  Option('fit_pddf_area', 'Boolean', desc="PDDF curve for a scored pose will be normalized to match the area under the reference PDDF curve"
1371  , default='false' ),
1372  ), # -score:saxs
1373  Option_Group( 'fiber_diffraction',
1374  Option( 'layer_lines','File',desc="reads layer_lines from a file"),
1375  Option( 'a','Real' , desc="number of subunits per repeat", default='0'),
1376  Option( 'b','Real' , desc="number of turns per repeat", default='0'),
1377  Option( 'p','Real' , desc="subunit rise", default='0'),
1378  Option( 'radius','Real' , desc="helical radius", default='0'),
1379  Option( 'resolution_cutoff_low','Real' , desc="ignore intensity data below this point", default='0.05'),
1380  Option( 'resolution_cutoff_high','Real' , desc="ignore intensity data above this point", default='0.5'),
1381  Option( 'max_bessel_order','Integer' , desc="maximum number of bessel orders used in simulations", default='50'),
1382  Option( 'cn_symmetry','Integer' , desc="cn symmetry at one z level (along fibrilar axis)", default='0'),
1383  Option( 'b_factor','Real' , desc="b_factor value", default='20'),
1384  Option( 'b_factor_solv','Real' , desc="b_factor_solv value", default='400'),
1385  Option( 'b_factor_solv_K','Real' , desc="b_factor_solv_K value", default='0.4'),
1386  Option( 'grid_reso','Real' , desc="resolution for density sampling on the grid", default='0.5'),
1387  Option( 'grid_r','Integer' , desc="number of grid points along r", default='256'),
1388  Option( 'grid_phi','Integer' , desc="number of grid points along phi", default='128'),
1389  Option( 'grid_z','Integer' , desc="number of grid points along z", default='256'),
1390  Option( 'qfht_K1','Real' , desc="value of K1 for Hankel sampling", default='2.0'),
1391  Option( 'qfht_K2','Real' , desc="value of K2 for Hankel sampling", default='2.2'),
1392  Option( 'chi_iterations','Integer', desc="number of iterations to calculate chi e.g. number of layer lines", default='0'),
1393  Option( 'rfactor_refinement','Boolean', desc="R-factor refinement", default='false'),
1394  Option( 'output_fiber_spectra','Boolean', desc="Output intensity, reciprocal R, layer line", default='false'),
1395  Option( 'gpu_processor','Integer', desc="GPU processor number - for systems with more than 1", default='0'),
1396  Option( 'centroid_density_mass','Real' , desc="density mass of centroid", default='0.0'),
1397  ), #-score:fiber_diffraction
1398  ), # -score
1399 
1400  # packing options -----------------------------------------------------------
1401  Option_Group( 'packing',
1402  Option( 'packing', 'Boolean', desc='Packing option group', legal='true', default='true' ),
1403  Option( 'repack_only', 'Boolean', desc='Disable design at all positions', default='false' ),
1404  Option( 'prevent_repacking', 'Boolean', desc='Disable repacking (or design) at all positions', default='false' ),
1405  Option( 'cenrot_cutoff', 'Real', desc='Cutoff to generate centroid rotamers', default='0.16' ),
1406  Option( 'ignore_ligand_chi', 'Boolean', desc='Disable param file chi-angle based rotamer generation in SingleLigandRotamerLibrary', default='false' ),
1407  Option( 'ndruns', 'Integer',
1408  desc='Number of fixbb packing iterations. Each time packing occurs, it will pack this many times and return only the best result. Implemented at level of PackRotamersMover.',
1409  lower='1', default='1'
1410  ),
1411  Option( 'soft_rep_design', 'Boolean',
1412  desc="Use larger LJ radii for softer potential"
1413  ),
1414  Option( 'mainchain_h_rebuild_threshold', 'Real',
1415  desc='Cutoff for rebuilding mainchain hydrogens during rotamer generation during packing. If the position of the hydrogen is less than the threshold from its ideal position, it is not rebuilt. Default 0.75 A.',
1416  default='0.75'
1417  ),
1418  ##Option( 'read_hetero_h2o', 'Boolean',
1419  ## desc="Read native water from pdb file. Calculate the energy between native water and protein atoms. Output native water information"
1420  ##),
1421  ##Option( 'use_aw', 'Boolean',
1422  ## desc="Use weights for all fold proteins"
1423  ##),
1424  ##Option( 'use_bw', 'Boolean',
1425  ## desc="Use weights for beta protein"
1426  ##),
1427  Option( 'use_electrostatic_repulsion', 'Boolean',
1428  desc="Use electrostatic repulsion"
1429  ),
1430  Option( 'dump_rotamer_sets', 'Boolean',
1431  desc="Output NMR-style PDB's with the rotamer sets used during packing"
1432  ),
1433  Option( 'dunbrack_prob_buried', 'Real', default='0.98', lower='0', upper='1',
1434  desc="fraction of possible dunbrack rotamers to include in each single residue rotamer set, for \'buried\' residues"
1435  ),
1436  Option( 'dunbrack_prob_nonburied', 'Real', default='0.95', lower='0', upper='1',
1437  desc="fraction of possible dunbrack rotamers to include in each single residue rotamer set, for \'nonburied\' residues"
1438  ),
1439 # Option( 'dunbrack_prob_nonburied_semirotameric', 'Real', default='0.95', lower='0', upper='1',
1440 # desc="fraction of possible dunbrack rotamers to include in each single residue rotamer set, for \'nonburied\', semi-rotameric residues"
1441 # ),
1442  Option( 'no_optH', 'Boolean',
1443  desc="Do not optimize hydrogen placement at the time of a PDB load", default="true"
1444  ),
1445  Option( 'optH_MCA', 'Boolean',
1446  desc="If running optH, use the Multi-Cool Annealer (more consistent, but slower)", default="false"
1447  ),
1448  Option( 'pack_missing_sidechains', 'Boolean', default='true', desc="Run packer to fix residues with missing sidechain density at PDB load"),
1449  Option( 'preserve_c_beta', 'Boolean',
1450  desc="Preserve c-beta positions during rotamer construction"
1451  ),
1452  Option( 'flip_HNQ', 'Boolean',
1453  desc="Consider flipping HIS, ASN, and GLN during hydrogen placement optimization"
1454  ),
1455  Option( 'fix_his_tautomer','IntegerVector', desc='seqpos numbers of his residus whose tautomer should be fixed during repacking',
1456  default=[]
1457  ),
1458  Option( 'print_pymol_selection', 'Boolean',
1459  desc="include pymol-style selections when printing a PackerTask", default="false"
1460  ),
1461 
1462  Option( 'extrachi_cutoff', 'Integer', default='18',
1463  desc="number of neighbors a residue must have before extra rotamers are used. default: 18",
1464  ),
1465  Option( 'resfile', 'FileVector', default=['resfile'], desc="resfile filename(s). Most protocols use only the first and will ignore the rest; it does not track against -s or -l automatically."),
1466 
1467  # Are below option is packing options? -----------------------------------
1468  # ----------
1469  # options for packing (applicable only for fullatom scoring):
1470  # ----------
1471  ##Option( 'ex1cys', 'Boolean',
1472  ## desc="use more chi1 rotamers for cystine. Uses EX_SIX_QUARTER_STEP_STDDEVS sampling",
1473  ##),
1474  ##Option( 'exOH', 'Boolean',
1475  ## desc="use extra chi samples for hydroxyl hydrogens in ST&Y",
1476  ##),
1477  ##Option( 'exdb', 'File',
1478  ## desc="specify any extra chi angle combination using an input file following the -exdb flag. Example file \
1479  ## is rundata.exdb.example. This method is an alternative \
1480  ## to the other -ex[1234] flags; you cannot specify extra \
1481  ## rotamers using both types of flags",
1482  ## default='exrot_file',
1483  ##),
1484  ##Option( 'rotamer_explosion', 'Real',
1485  ## desc="screen through an expanded rotamer set, filtering out rotamers based upon some particular quality threshold",
1486  ## default='-1.0',
1487  ##),
1488  ##Option( 'rot_pert', 'Boolean',
1489  ## desc="add 'perturbed rotamers' by changing base rotamers chi angles by 'pert_size' degrees (below)",
1490  ##),
1491  ##Option( 'rot_pert_input', 'Boolean',
1492  ## desc="Add 'perturbed rotamers' for the starting sidechains (analogous to rot_pert flag)",
1493  ##),
1494  ##Option( 'pert_acc_prob', 'Real',
1495  ## desc="Fraction of potential 'perturbed rotamers' to include",
1496  ## default='1.0',
1497  ##),
1498  ##Option( 'pert_size', 'Real',
1499  ## desc="Number of degrees each perturbation should entail",
1500  ## default='5.0',
1501  ##),
1502  Option( 'outeriterations_scaling', 'Real', desc="Multiplier for number of outer iterations", default='1.0', ),
1503  Option( 'inneriterations_scaling', 'Real', desc="Multiplier for number of inner iterations", default='1.0', ),
1504  #Option( 'ignore_residue_burial', 'Boolean', desc="when generating rotamers in the packer task, do not take residue burial into account", default='false',),
1505 # Option( 'explicit_h2o', 'Boolean',
1506 # desc="Use rotamers with explicit waters",
1507 # ),
1508  Option( 'adducts', 'StringVector',
1509  desc="Gives list of adduct names to generate for residue \
1510  definitions. Each adduct name may be followed by an \
1511  optional integer, which gives a maximum number of adducts \
1512  of that type which will be generated.",
1513  ),
1514 # Option( 'solvate', 'Boolean',
1515 # desc="Add explicit water, but don't try to place water \
1516 # such that it bridges Hbonds, just put it on every \
1517 # available Hbond donor/acceptor where there's no \
1518 # clash (implies explicit_h2o)",
1519 # ),
1520  Option( 'use_input_sc', 'Boolean',
1521  desc="Use rotamers from input structure in packing \
1522  By default, input sidechain coords are NOT \
1523  included in rotamer set but are discarded \
1524  before the initial pack; with this flag, the \
1525  the input rotamers will NOT be discarded. \
1526  Note that once the starting rotamers are \
1527  replaced by any mechanism, they are no longer \
1528  included in the rotamer set \
1529  (rotamers included by coordinates)",
1530  ),
1531  Option( 'unboundrot', 'FileVector', desc="Read 'native' rotamers from supplied PDB(s). \
1532  Unlike -use_input_sc, these rotamers will not be lost during repacks. \
1533  This option requires specific support from the protocol; \
1534  it is NOT built in to PackerTask.initialize_from_command_line()" ),
1535  ##Option( 'norepack_disulf', 'Boolean',
1536  ## desc="do not change disulfides in pack or rotamer trials or sidechain minimize",
1537  ##),
1538  ##Option( 'minimize_rot', 'Boolean',
1539  ## desc="minimize each rotamer in rotamer_trials",
1540  ##),
1541  ##Option( 'try_both_his_tautomers', 'Boolean',
1542  ## desc="Turns on a variant for histidine with the side chain polar hydrogen moved from NE2 to ND1",
1543  ## default='true',
1544  ##),
1545  ##Option( 'write_interaction_graph', 'Boolean',
1546  ## desc="Write binary file of rotamer pair energies. Must be in design mode",
1547  ##),
1548  ##Option( 'read_interaction_graph', 'Boolean',
1549  ## desc="Read binary file of rotamer pair energies; must use same \
1550  ## coordinates for backbone used to produce the interaction graph file. \
1551  ## Simple translation and rotation of a pdb will \
1552  ## introduce enough numerical noise to invalidate the energies in the file. \
1553  ## Must be in design mode",
1554  ##),
1555  ##Option( 'ig_file', 'File',
1556  ## desc="The name of the interaction graph file. I suggest the extension '.igf' \
1557  ## for interaction graph file. This flag/input is necessary if either \
1558  ## -write_interaction_graph or -read_interaction_graph are set",
1559  ##),
1560  ##Option( 'dump_rotamers_pdb', 'Integer',
1561  ## desc="for residue # (rosetta numbering -- see resfile) \
1562  ## output a file containing the set of rotamers used \
1563  ## during design, with their one-body energies printed \
1564  ## in the b-factor column. If you want multiple residues at once, you can edit \
1565  ## the code to do so",
1566  ## default='0',
1567  ##),
1568  Option( 'max_rotbump_energy', 'Real',
1569  desc='discard rotamers with poor interactions with the background using \
1570  the specified cutoff. Values must be in the range of 0 to 5.0.',
1571  default='5.0'
1572  ),
1573  Option( 'lazy_ig', 'Boolean',
1574  desc="Force the packer to always allocate pair energy storage but procrastinate \
1575  energy caclulation until each RPE is needed; each RPE is \
1576  computed at most once. Memory use is quadratic in rotamers per residue. \
1577  The InteractionGraphFactory will prefer the linear-memory interaction graph \
1578  to the Lazy Interaction graph, so specifying both linmem_ig and lazy_ig results \
1579  in the use of the linear-memory interaction graph. The Surface-series IGs \
1580  (surface weight in scorefunction is nonzero) also overrides this IG.",
1581  default='false',
1582  ),
1583  Option( 'double_lazy_ig', 'Boolean',
1584  desc="Force the packer to always procrastinate allocation AND energy caclulation \
1585  until each RPE is needed; each RPE is computed at most once. \
1586  The InteractionGraphFactory will prefer the linear-memory interaction graph \
1587  to the DoubleLazy Interaction graph, so specifying both linmem_ig and lazy_ig results \
1588  in the use of the linear-memory interaction graph. The Surface-series IGs (surface \
1589  weight in scorefunction is nonzero) also overrides this IG.",
1590  default='false',
1591  ),
1592 # Option( 'double_lazy_ig_mem_limit', 'Integer',
1593 # desc="The amount of memory, in MB, that each double-lazy interaction graph should be allowed \
1594 # to allocate toward rotamer pair energies. Using this flag will not trigger the \
1595 # use of the double-lazy interaction graph, and this flag is not read in the PackerTask's \
1596 # initialize_from_command_line routine. For use in multistate design",
1597 # default='0',
1598 # ),
1599  Option( 'linmem_ig', 'Integer',
1600  desc="Force the packer to use the linear memory interaction graph; each \
1601  RPE may be computed more than once, but recently-computed RPEs \
1602  are reused. The integer parameter specifies the number \
1603  of recent rotamers to store RPEs for. 10 is the recommended size. \
1604  Memory use scales linearly with the number of \
1605  rotamers at about 200 bytes per rotamer per recent rotamers to \
1606  store RPEs for (~4 KB per rotamer by default)",
1607  default='10',
1608  ),
1609  ##Option( 'minimalist_ig', 'Boolean',
1610  ## desc="DOES NOT YET WORK. Force the packer to use the minimalist interaction graph. The minimalist \
1611  ## interaction graph allocates no space for RPE storage. It is \
1612  ## somewhat slow. Memory use scales linearly with the number of rotamers",
1613  ##),
1614  ##Option( 'packer_precompute_only', 'Boolean',
1615  ## desc="DOES NOT YET WORK. force the packer to precompute rotamer pair energies; by default \
1616  ## the packer will either precompute RPEs or use the Lazy interaction \
1617  ## graph after predicting which is faster",
1618  ##),
1619  ##Option( 'tight_memory_restrictions', 'Boolean',
1620  ## desc="DOES NOT YET WORK. decide between precomputing pair energies and using the linmem IG \
1621  ## depending on whether pair energy storage would exceed the MB limit \
1622  ## indicated (default 256 MB);\
1623  ## Caution: it is possible for the linmem IG to use more memory \
1624  ## than the given limit",
1625  ##),
1626  ##Option( 'MB_limit_for_RPEs', 'Integer',
1627  ## desc="DOES NOT YET WORK. for use with the -tight_memory_restrictions flag",
1628  ##),
1629  Option( 'multi_cool_annealer', 'Integer',
1630  desc="Alternate annealer for packing. Runs multiple quence cycles in a first cooling stage, and tracks \
1631  the N best network states it observes. It then runs low-temperature rotamer substitutions with repeated \
1632  quenching starting from each of these N best network states. 10 is recommended.",
1633  ),
1634 
1635  Option( 'minpack_temp_schedule', 'RealVector',
1636  desc="Alternate annealing schedule for min_pack.",
1637  ),
1638  Option( 'minpack_inner_iteration_scale', 'Integer',
1639  desc="The number of inner iterations per rotamer to run at each temperature in min pack.",
1640  ),
1641  Option( 'minpack_disable_bumpcheck', 'Boolean',
1642  desc="Disable bump check in min pack (i.e. include rotamers that collide with the background.",
1643  ),
1644 
1645  ##Option( 'Wint_repack_only', 'Boolean',
1646  ## desc="set weights to int weights (use environment dependent H-bond energy) when repacking \
1647  ## (calling subroutine 'pack_rotamer') default weight is current packer weights \
1648  ## (no environment dependent weight for hb) No longer be used. If you are in ddg mode, \
1649  ## use -Wpack_only",
1650  ##),
1651  ##Option( 'Wint_score_only', 'Boolean',
1652  ## desc="set weights to int weights (use environment dependent H-bond energy) \
1653  ## when scoring (calling subroutine 'fullatom_energy') \
1654  ## default weight is current packer weights \
1655  ## (no environment dependent weight for hb) \
1656  ## No longer be used. If you are in ddg mode, \
1657  ## use -Wint_only",
1658  ##),
1659  #Option( 'read_hetero_h2o', 'Boolean',
1660  # desc="read native water from pdbfile calculate the energy between native water \
1661  # and protein atoms output native water information",
1662  #),
1663  ##Option( 'int_score', 'Boolean',
1664  ## desc="set up for reading and scoring protein complex",
1665  ##),
1666  Option_Group( 'ex1',
1667  Option( 'ex1', 'Boolean',
1668  desc="use extra chi1 sub-rotamers for all residues that pass the extrachi_cutoff",
1669  ),
1670  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1671  desc="use extra chi1 sub-rotamers for all residues that pass the extrachi_cutoff \
1672 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1673 There are currently 8 options; they all include the original chi dihedral angle. \
1674 \
1675 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1676 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1677 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1678 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1679 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1680 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1681 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1682 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1683  ),
1684  Option( 'operate', 'Boolean', desc='apply special operations (see RotamerOperation class) on ex1 rotamers' ),
1685  ), # ex1
1686 
1687  Option_Group( 'ex2',
1688  Option( 'ex2', 'Boolean',
1689  desc="use extra chi2 sub-rotamers for all residues that pass the extrachi_cutoff",
1690  ),
1691  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1692  desc="use extra chi2 sub-rotamers for all residues that pass the extrachi_cutoff \
1693 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1694 There are currently 8 options; they all include the original chi dihedral angle. \
1695 \
1696 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1697 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1698 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1699 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1700 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1701 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1702 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1703 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1704  ),
1705  Option( 'operate', 'Boolean', desc='apply special operations (see RotamerOperation class) on ex2 rotamers' ),
1706  ), # ex2
1707 
1708  Option_Group( 'ex3',
1709  Option( 'ex3', 'Boolean',
1710  desc="use extra chi1 sub-rotamers for all residues that pass the extrachi_cutoff",
1711  ),
1712  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1713  desc="use extra chi3 sub-rotamers for all residues that pass the extrachi_cutoff \
1714 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1715 There are currently 8 options; they all include the original chi dihedral angle. \
1716 \
1717 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1718 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1719 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1720 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1721 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1722 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1723 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1724 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1725  ),
1726  Option( 'operate', 'Boolean', desc='apply special operations (see RotamerOperation class) on ex3 rotamers' ),
1727  ), # ex3
1728 
1729  Option_Group( 'ex4',
1730  Option( 'ex4', 'Boolean',
1731  desc="use extra chi1 sub-rotamers for all residues that pass the extrachi_cutoff",
1732  ),
1733  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1734  desc="use extra chi4 sub-rotamers for all residues that pass the extrachi_cutoff \
1735 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1736 There are currently 8 options; they all include the original chi dihedral angle. \
1737 \
1738 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1739 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1740 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1741 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1742 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1743 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1744 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1745 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1746  ),
1747  Option( 'operate', 'Boolean', desc='apply special operations (see RotamerOperation class) on ex4 rotamers' ),
1748  ), # ex6
1749 
1750  Option_Group( 'ex1aro',
1751  Option( 'ex1aro', 'Boolean',
1752  desc="use extra chi1 sub-rotamers for aromatic residues that pass the extrachi_cutoff",
1753  ),
1754  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1755  desc="use extra chi1 sub-rotamers for all residues that pass the extrachi_cutoff \
1756 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1757 There are currently 8 options; they all include the original chi dihedral angle. \
1758 \
1759 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1760 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1761 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1762 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1763 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1764 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1765 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1766 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1767  ),
1768  ), # ex1aro
1769 
1770  Option_Group( 'ex2aro',
1771  Option( 'ex2aro', 'Boolean',
1772  desc="use extra chi1 sub-rotamers for aromatic residues that pass the extrachi_cutoff",
1773  ),
1774  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1775  desc="use extra chi2 sub-rotamers for all residues that pass the extrachi_cutoff \
1776 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1777 There are currently 8 options; they all include the original chi dihedral angle. \
1778 \
1779 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1780 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1781 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1782 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1783 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1784 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1785 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1786 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1787  ),
1788  ), # ex2aro
1789 
1790  Option_Group( 'ex1aro_exposed',
1791  Option( 'ex1aro_exposed', 'Boolean',
1792  desc="use extra chi1 sub-rotamers for all aromatic residues",
1793  ),
1794  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1795  desc="use extra chi1 sub-rotamers for all aromatic residues \
1796 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1797 There are currently 8 options; they all include the original chi dihedral angle. \
1798 \
1799 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1800 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1801 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1802 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1803 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1804 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1805 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1806 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1807  ),
1808  ), # ex1aro_exposed
1809 
1810  Option_Group( 'ex2aro_exposed',
1811  Option( 'ex2aro_exposed', 'Boolean',
1812  desc="use extra chi2 sub-rotamers for all aromatic residues",
1813  ),
1814  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1815  desc="use extra chi2 sub-rotamers for all aromatic residues \
1816 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1817 There are currently 8 options; they all include the original chi dihedral angle. \
1818 \
1819 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1820 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1821 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1822 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1823 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1824 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1825 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1826 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1827  ),
1828  ), # ex2aro_exposed
1829 
1830  Option_Group( 'exdna',
1831  Option( 'exdna', 'Boolean',
1832  desc="use extra dna rotamers",
1833  ),
1834  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1835  desc="extra dna rotamer sample level -- rotbuilder converts from 0-7 to number",
1836  ),
1837  ##Option( 'dna_rotlib', 'String', desc="DNA rotamer library",
1838  ##),
1839  ##Option( 'use_input_dna_bb', 'Boolean', desc="Use DNA backbone from input structure in packing",
1840  ##),
1841  ), # -packing:exdna
1842  ), # -packing
1843 
1844 ####################################
1845 # General option groups
1846 # Please keep in alphabetical order.
1847 
1848  ################################
1849  # archive options
1850  Option_Group( 'archive',
1851  Option( 'reread_all_structures','Boolean', desc='ignore pool file... reread from batches', default='false'),
1852  Option( 'completion_notify_frequency','Integer', desc='tell Archive every X completed decoys', default='100'),
1853  ), # -archive
1854 
1855  ###########################################################################
1856  # Carbohydrate Options
1857  Option_Group("carbohydrates",
1858  Option('glycam_pdb_format', 'Boolean',
1859  desc='Indicates that the input PDB files were generated by GLYCAM '
1860  'and thus join any HO- or RO- \\"residues\\" to the following one '
1861  'since Rosetta is smart enough to patch reducing ends. The '
1862  'default value is false.',
1863  short='Was this input file generated by GLYCAM?',
1864  legal=['true', 'false'],
1865  default='false'),
1866  ), # -carbohydrates
1867 
1868  ##########################################################################
1869  Option_Group('rings',
1870  Option('lock_rings', 'Boolean',
1871  desc='Sets whether or not alternative ring conformations '
1872  'will be sampled by the protocol, (e.g, ring flips or '
1873  'puckering). Only low-energy conformers will be sampled, if '
1874  'known. Otherwise, all ideal ring conformers will be '
1875  'sampled. The default value is false.',
1876  short='Are rings allowed to flip or pucker?',
1877  legal=['true', 'false'],
1878  default='false'),
1879  Option('idealize_rings', 'Boolean',
1880  desc='Sets whether or not the ring conformations of input poses '
1881  'are idealized (set to the lowest-energy ring conformer, '
1882  'according to the toplogy file for that residue). The '
1883  'default is false: the input ring conformations will be used.',
1884  short='Are rings pre-set to low-energy conformations?',
1885  legal=['true', 'false'],
1886  default='false'),
1887  Option('sample_high_energy_conformers', 'Boolean',
1888  desc='Sets whether or not even ring conformations that are energy '
1889  'energy maxima will be sampled by the protocol. The default '
1890  'value is false; however, if the low energy ring conformers '
1891  'are not listed in the topology files, all ideal ring '
1892  'conformers will be sampled anyway.',
1893  short='Are rings allowed to flip or pucker?',
1894  legal=['true', 'false'],
1895  default='false'),
1896  ), # -rings
1897 
1898  # chemical settings -----------------------------------------------------------
1899  Option_Group( 'chemical',
1900  Option( 'exclude_patches', 'StringVector', desc="Names of the residue-type-set patches which should not be applied; if you know which patches you do not need for a particular run, this flag can reduce your memory use" ),
1901  Option( 'include_patches', 'StringVector', desc="Names of the residue-type-set patches which should be applied even if excluded/commented out in patches.txt; useful for testing non-default patches", ),
1902  Option( 'add_atom_type_set_parameters', 'StringVector', desc="Additional AtomTypeSet extra-parameter files that should be read; format is a sequence of paired strings: <atom-type-set-tag1> <filename1> <atom-type-set-tag2> <filename2> ..." ),
1903  Option( 'set_atom_properties', 'StringVector', desc="Modify atom properties (the ones in <atom-set>/atom_properties.txt) from the command line. Happens at time of AtomTypeSet creation inside ChemicalManager.cc. Format is: -chemical:set_atom_properties <atom-set1>:<atom_name1>:<param1>:<setting1> <atom-set2>:<atom2>:<param2>:<setting2> ... For example: '-chemical:set_atom_properties fa_standard:OOC:LK_DGFREE:-5 fa_standard:ONH2:LJ_RADIUS:0.5' " ),
1904  Option( 'patch_selectors', 'StringVector', desc = 'allow patch files that have CMDLINE_SELECTOR tags can be switched on with this option',default=[] ),
1905  Option( 'override_rsd_type_limit', 'Boolean', desc="over-ride cap on number of residue types.", default='false'),
1906  Option( 'clone_atom_types', 'StringVector', desc="Optionally clone atom types; copies all properties, which can then be diverged via -set_atom_properties. -clone_atom_types format should be:: -clone_atom_types <set1>:<atomname1>:<cloned-atomname1> <set2>:<atomname2>:<cloned-atomname2> ...; for example: '-chemical:clone_atom_types fa_standard:OOC:OOC2' " ),
1907  Option( 'reassign_atom_types', 'StringVector', desc="Switch the atomtype assignments for atoms in specified residue types. Useful along with -clone_atom_types. -reassign_atom_types format should be:: -reassign_atom_types <rsd-type-set1-name>:<rsd-type1-name>:<atom-type1-name>:<new-atom-type1-name> <rsd-type-set2-name>:<rsd-type2-name>:<atom-type2-name>:<new-atom-type2-name> ...; for example: '-chemical:reassign_atom_types fa_standard:ARG:NE:NtpR' " ),
1908  Option( 'reassign_icoor', 'StringVector', desc="Update icoor parameters for specified atom types. -reassign_icoor format should be:: -reassign_icoor <rsd-type-set1-name>:<rsd-type1-name>:<atom1-name>:<the-six-icoor-params-as-a-comma-separated-list> <rsd-type-set2-name>:<rsd-type2-name>:<atom2-name>:<icoorparams2> ...; for example: -chemical:reassign_icoor fa_standard:ADE:UPPER:-180,60,1.6,O3',C3',C4' " ),
1909  Option( 'set_atomic_charge', 'StringVector', desc="Modify atomic charge from the command line. Happens at time of params file reading, so changes will propagate to patched versions of the residue type. Format is: -chemical:set_atomic_charge <rsd-type-set1-name>:<rsd-type1-name>:<atom1-name>:<new-charge> <rsd-type-set2-name>:<rsd-type2-name>:<atom2-name>:<new-charge> ... For example: '-chemical:set_atomic_charge fa_standard:ARG:NE:-1' " ),
1910  Option( 'set_patch_atomic_charge', 'StringVector', desc="Modify patch atomic charge from the command line. Happens at time of patch file reading, so changes will propagate to patched versions of the residue type. Uses a simplified version of the residue selector so will probably not work for patches with complex selector logic. format should be:: -chemical:set_patch_atomic_charge <rsd-type-set1-name>:<rsd-type1-name>:<patch-name>:<atom1-name>:<new-charge> ... For example: '-chemical:set_atomic_charge fa_standard:PRO:NtermProteinFull:1H:-1' " ),
1911  Option( 'enlarge_H_lj', 'Boolean', desc="Use larger LJ_WDEPTH for Hs to avoid RNA clashes", default='false'),
1912  Option( 'no_hbonds_to_ether_oxygens', 'Boolean', desc="no H-bonds to nucleic acid ether oxygens O3', O4', O5'", default='false'),
1913  Option( 'check_rsd_type_finder','Boolean',desc='run legacy code based on name3_map or aa_map to compare to ResidueTypeFinder, which should be way more efficient',default='false'),
1914  ), #-chemical
1915 
1916  # Coarse options
1917  ##Option_Group( 'coarse',
1918  ## Option( 'crescore', 'Boolean', desc = "rescore structures in fine and coarse"),
1919  ## Option( 'crelax', 'Boolean', desc = "rescore structures in fine and coarse after relax"),
1920  ## Option( 'crepack', 'Boolean', desc = "rescore structures in fine and coarse after repack"),
1921  ## Option( 'cstrip_relax', 'Boolean', desc = "rescore structures in fine and coarse, full repack (stripped sidechains) and relax"),
1922  ## Option( 'cjob','String', desc = "list of input pdb files"),
1923  ##),
1924 
1925  Option_Group( 'constraints',
1926 # Option( 'CA_tether', 'Real', default='2.0', desc='default CA tether for harmonic constraints'),
1927  ##Option( 'p_cst', 'Real', default='0.1', desc='probability of res-res constraint'),
1928  Option( 'exit_on_bad_read', 'Boolean', default = 'true', desc='exit if error is encountered reading constraints' ),
1929  Option( 'cst_file', 'StringVector', desc='constraints filename(s) (for proteins, applied in centroid mode; when multiple files are given a *random* one will be picked).' ),
1930  Option( 'cst_weight', 'Real', default = '1.0'),
1931  Option( 'max_cst_dist', 'Real', default = '12.0' ),
1932  Option( 'cst_fa_file', 'StringVector', desc='constraints filename(s) for fullatom. When multiple files are given a *random* one will be picked.' ),
1933  Option( 'cst_fa_weight', 'Real', default = '1.0'),
1934  Option( 'normalize_mixture_func', 'Boolean', default = 'false' ),
1935  Option( 'penalize_mixture_func', 'Boolean', default = 'true' ),
1936  ##Option( 'mixture_func_distance_cutoff', 'Real', default = '20' ),
1937  Option( 'forest_file', 'File', desc='file with constraintforest', default='' ),
1938  Option( 'compute_total_dist_cst', 'Boolean', desc='only relevant for debug: atom_pair_constraints during abinito depends on seq_sep, this computes also the score without regarding seq_sep', default='false' ),
1939  Option( 'cull_with_native', 'Integer', desc='if option is set all constraints that violate the native structure with more than X are thrown out! ', default='1' ),
1940  Option( 'dump_cst_set' , 'File', desc='dump the cstset_ to file ', default='' ),
1941  Option( 'evaluate_max_seq_sep', 'IntegerVector', desc='evaluate constraints to this seq-sep [vector]', default='0' ),
1942  Option( 'named', 'Boolean', desc='enable named constraints to avoid problems with changing residue-types e.g., cutpoint-variants', default='false' ),
1943  Option( 'no_cst_in_relax', 'Boolean', desc='remove constraints for relax', default='false' ),
1944  Option( 'no_linearize_bounded', 'Boolean', desc='dont switch to linearized in BOUNDED func', default='false' ),
1945  Option( 'pocket_constraint_weight', 'Real',default='0',desc='Weight of the Pocket Constraint'),
1946  Option( 'pocket_zero_derivatives', 'Boolean', desc="Return zero for PocketConstaint derivatives", default='false' ),
1947  Option( 'viol', 'Boolean', desc='show violations', default='false' ),
1948  Option( 'viol_level', 'Integer', desc='how much detail for violation output', default='1' ),
1949  Option( 'viol_type', 'String', desc='work only on these types of constraints', default='' ),
1950  ##Option( 'debug_cst_stages', 'Boolean', desc="Unknown - ask olange", default = 'false' ),
1951  Option( 'sog_cst_param', 'Real', desc='weight parameter for SOGFunc constraints', default = '0.0' ),
1952  Option( 'sog_upper_bound', 'Real', desc='Upper cutoff for SOGFunc constraints', default = '10.0' ),
1953  Option( 'epr_distance', 'Boolean', desc='use epr distance potential', default='false' ),
1954  Option( 'combine', 'Integer', desc='combine constraints randomly into OR connected groups (Ambiguous). N->1', default='1' ),
1955  Option( 'combine_exclude_region', 'File', desc='core-defintion file do not combine constraints that are core-core' ),
1956  Option( 'skip_redundant', 'Boolean', desc='skip redundant constraints', default='false'),
1957  Option( 'skip_redundant_width', 'Integer', desc='radius of influence for redundant constraints', default='2'),
1958 # Option( 'increase_constraints', 'Real', desc='Multiplicative factor applied to constraints. Not widely supported yet.', default='1.0'),
1959  ), # -constraints
1960 
1961  # correction for testing ------------------------------------------------------------
1962  Option_Group( 'corrections',
1963  Option( 'beta', 'Boolean', desc='Use the most-recent (curr Nov 15) beta score function', default='false'),
1964  Option( 'beta_cart', 'Boolean', desc='Use the most-recent (curr Nov 15) beta score function for nonideal optimization', default='false'),
1965  Option( 'beta_nov15', 'Boolean', desc='Use the November 2015 beta score function', default='false'),
1966  Option( 'beta_nov15_cart', 'Boolean', desc='Use the November 2015 beta score function for nonideal optimization', default='false'),
1967  Option( 'beta_july15', 'Boolean', desc='Use the July 2015 beta score function', default='false'),
1968  Option( 'beta_july15_cart', 'Boolean', desc='Use the July 2015 beta score function for nonideal optimization', default='false'),
1969  Option( 'newdna', 'Boolean', desc='Apply some dna-specific mods to chemical/scoring (for testing)',
1970  default='false'),
1971  Option( 'correct', 'Boolean',
1972  desc="turn on default corrections:"
1973  "See src/core/init/score_function_corrections.cc",
1974  default="false"),
1975  Option( 'hbond_sp2_correction', 'Boolean',
1976  desc="turn on the hbond Sp2 correction with a single flag"
1977  " use with sp2_correction.wts. Note, these weight sets are chosen automatically by default."
1978  " -score::hb_sp2_chipen"
1979  " -hb_sp2_BAH180_rise 0.75"
1980  " -hb_sp2_outer_width 0.357"
1981  " -hb_fade_energy"
1982  " -hbond_measure_sp3acc_BAH_from_hvy"
1983  " -lj_hbond_hdis 1.75"
1984  " -lj_hbond_OH_donor_dis 2.6"
1985  " -hbond_params sp2_elec_params"
1986  " -expand_st_chi2sampling"
1987  " -smooth_fa_elec"
1988  " -elec_min_dis 1.6"
1989  " -elec_r_option false"
1990  " -chemical::set_atom_properties fa_standard:ONH2:LK_DGFREE:-5.85 fa_standard:NH2O:LK_DGFREE:-7.8 fa_standard:Narg:LK_DGFREE:-10.0 fa_standard:OH:LK_DGFREE:-6.70"),
1991  Option( 'facts_default', 'Boolean',
1992  desc="turn on default options for FACTS"
1993  " use with scorefacts.wts. Incompatible with hbond_sp2_correction option."
1994  " -correct"
1995  " -lj_hbond_hdis 2.3"
1996  " -lj_hbond_OH_donor_dis 3.4"
1997  " -use_bicubic_interpolation "
1998  " -hbond_params sp2_elec_params"
1999  " -hb_sp2_chipen "
2000  " -hbond_measure_sp3acc_BAH_from_hby"
2001  " -facts_GBpair_cut 10.0"
2002  " -facts_min_dis 1.5"
2003  " -facts_dshift 1.4"
2004  " -facts_die 1.0"
2005  " -facts_kappa 12.0"
2006  " -facts_asp_patch 3"
2007  " -facts_intrares_scale 0.4"
2008  " -facts_elec_sh_exponent 1.8",
2009  default="false"),
2010  Option_Group( 'score',
2011  Option( 'bbdep_omega', 'Boolean', desc="Enable phi-psi dependent omega", ),
2012  Option( 'bbdep_bond_params', 'Boolean', desc="Enable phi-psi dependent bondlengths and bondangles", ),
2013  Option( 'bbdep_bond_devs', 'Boolean', desc="Enable phi-psi dependent deviations for bondlengths and bondangles", ),
2014  Option( 'no_his_his_pairE', 'Boolean', desc="Set pair term for His-His to zero", ),
2015  Option( 'no_his_DE_pairE', 'Boolean', desc="Set pair term for His-Glu and His-Asp to zero", ),
2016 # Option( 'hbond_His_Phil_fix', 'Boolean', desc="Phil's fix on Histidine interaction angular dependence"),
2017 # Option( 'helix_hb_06_2009', 'Boolean', desc="Helix backbone-backbone hbond potential with a different angular dependence"),
2018  Option( 'p_aa_pp', 'String', desc="Name of scoring/score_functions/P_AA_pp/P_AA_PP potential file (search in the local directory first, then look in the database)" , default="scoring/score_functions/P_AA_pp/P_AA_pp" ),
2019  Option( 'p_aa_pp_nogridshift', 'Boolean', desc="the format of p_aa_pp changed from using i*10+5 (5, 15, etc) to i*10 (0,10,etc.) as grid points" ),
2020  Option( 'rama_not_squared', 'Boolean', desc="Rama potential calculated as input for both rama and rama2b. By default, the potential is square for (ram a+entropy) > 1.0" ),
2021  Option( 'rama_map', 'File', default = 'scoring/score_functions/rama/Rama_smooth_dyn.dat_ss_6.4', desc="Ramachandran file used by rama" ),
2022  Option( 'rama_map_average_L_flat', 'File', default = 'scoring/score_functions/rama/flat/avg_L_rama.dat', desc="Ramachandran map that's the average of all canonical L amino acids, flattened to give equal probability to the allowed region. Lazily loaded; for sampling only." ),
2023  Option( 'rama_map_sym_average_L_flat', 'File', default = 'scoring/score_functions/rama/flat/sym_all_rama.dat', desc="Ramachandran map that's the average of all canonical L amino acids, flattened to give equal probability to the allowed region, and symmetrized. Lazily loaded; for sampling only." ),
2024  Option( 'rama_map_sym_gly_flat', 'File', default = 'scoring/score_functions/rama/flat/sym_G_rama.dat', desc="Ramachandran map for glycine, flattened to give equal probability to the allowed region and symmetrized. Lazily loaded; for sampling only." ),
2025  Option( 'rama_map_sym_pro_flat', 'File', default = 'scoring/score_functions/rama/flat/sym_P_rama.dat', desc="Ramachandran map for proline, flattened to give equal probability to the allowed region and symmetrized. Lazily loaded; for sampling only." ),
2026  Option( 'rama_map_average_L_flat_stringent', 'File', default = 'scoring/score_functions/rama/flat/avg_L_rama_str.dat', desc="Ramachandran map that's the average of all canonical L amino acids, flattened to give equal probability to the allowed region, with the allowed region selected with high stringency. Lazily loaded; for sampling only." ),
2027  Option( 'rama_map_sym_average_L_flat_stringent', 'File', default = 'scoring/score_functions/rama/flat/sym_all_rama_str.dat', desc="Ramachandran map that's the average of all canonical L amino acids, flattened to give equal probability to the allowed region, with the allowed region selected with high stringency, and symmetrized. Lazily loaded; for sampling only." ),
2028  Option( 'rama_map_sym_gly_flat_stringent', 'File', default = 'scoring/score_functions/rama/flat/sym_G_rama_str.dat', desc="Ramachandran map for glycine, flattened to give equal probability to the allowed region, with the allowed region selected with high stringency, and symmetrized. Lazily loaded; for sampling only." ),
2029  Option( 'rama_map_sym_pro_flat_stringent', 'File', default = 'scoring/score_functions/rama/flat/sym_P_rama_str.dat', desc="Ramachandran map for proline, flattened to give equal probability to the allowed region, with the allowed region selected with high stringency, and symmetrized. Lazily loaded; for sampling only." ),
2030  Option( 'cenrot', 'Boolean', desc="Use the Centroid Rotamer Model.", default="false" ),
2031  Option( 'dun10', 'Boolean', desc="Use the 2010 Dunbrack library instead of either the the 2002 library.", default="true" ),
2032  Option( 'dun10_dir', 'String', desc="Name of dun10 dir", default="rotamer/ExtendedOpt1-5" ),
2033  Option( 'dun02_file', 'String', desc="Name of dun02 input file", default="rotamer/bbdep02.May.sortlib" ),
2034  Option( 'ch_o_bond_potential', 'String', desc="Name of ch_o_bond potential file (search in the local directory first, then look in the database)" , default="scoring/score_functions/carbon_hbond/ch_o_bond_potential.dat" ),
2035 # Option( 'fa_elec_co_only', 'Boolean', desc="Using only CO-CO interactions in fa_elec_bb_bb", default = 'false' ),
2036  Option( 'lj_hbond_hdis', 'Real', desc="Lennard Jones sigma value for hatms, classically it's been at 1.95 but the average A-H distance for hydrogen bonding is 1.75 from crystal structures. (momeara)", default = '1.75' ),
2037  Option( 'lj_hbond_OH_donor_dis', 'Real', desc="Lennard Jones sigma value for O in OH donor groups. Classically it has been 3.0 but the average distances from crystal structurs is 2.6 (momeara)", default='2.6'),
2038  Option( 'score12prime', 'Boolean', desc="Restore to score funciton parameters to score12 parameters and have getScoreFuntion return with score12prime.wts. The score12prime.wts differs from standard.wts + score12.wts_patch, in that the reference energies have been optimized with optE for sequence profile recovery", default='false' ),
2039  Option( 'talaris2014', 'Boolean', desc="Use the talaris2014.wts weights set wherever get_score_function is invoked; the talaris2014 weight set downweights hydrogen bond strength by twenty percent relative to the talaris2013 weights set. Reference energies have been re-fit.", default='false' ),
2040  Option( 'hbond_energy_shift', 'Real', desc="The shift upwards (through addition) of the well depth for the hydrogen bond polynomials; this shift is applied before the weights are applied.", default="0.0"),
2041  Option( 'hb_sp2_BAH180_rise', 'Real', desc="The rise from -0.5 for the BAH=180 value for the additive chi/BAH sp2 potential", default="0.75"),
2042  Option( 'hb_sp2_outer_width', 'Real', desc="The width between the peak when CHI=0 and BAH=120 to when the BAH is at a maximum (Units: pi * radians. E.g. 1/3 means the turn off hbonding when BAH < 60, larger values mean a wider potential). Use 0.357 in conjunction with the hb_energy_fade flag.", default="0.357"),
2043  Option( 'hb_sp2_chipen', 'Boolean', desc="Experimental term for hydrogen bonds to sp2 acceptors: penalizes out-of-plane geometry by 67%", default="true" ),
2044  Option( 'hbond_measure_sp3acc_BAH_from_hvy', 'Boolean', desc="If true, then the BAH angle for sp3 (aka hydroxyl) acceptors is measured donor-hydrogen--acceptor-heavyatom--heavyatom-base instead of donor-hydrogen--accptor-heavyatom--hydroxyl-hydrogen", default="true" ),
2045  Option( 'hb_fade_energy', 'Boolean', desc="Rather than having a strict cutoff of hbond definition at 0, fade the energy smoothly in the range [-0.1, 0.1]. This is necessary to prevent a discontinuity in the derivative when E=0 that arise because of the additive form of the hbond function.", default="true"),
2046  Option( 'use_bicubic_interpolation', 'Boolean', desc="Instead of using bilinear interpolation to evaluate the Ramachandran, P_AA_pp and Dunbrack potentials, use bicubic interpolation. Avoids pile-ups at the grid boundaries where discontinuities in the derivatives frustrate the minimizer", default="true" ),
2047  Option( 'dun_normsd', 'Boolean', desc="Use height-normalized guassian distributions to model p(chi|phi,psi) instead of height-unnormalized gaussians", default="false" ),
2048  Option( 'dun_entropy_correction', 'Boolean', desc="Add Shannon entropy correction to rotamer energy: E = -logP + S", default="false" ),
2049  ), #-corrections:score
2050  Option_Group( 'chemical',
2051  Option( 'icoor_05_2009', 'Boolean', desc="New set of idealized coordinates for full atom, 05-2009" ),
2052  Option( 'parse_charge', 'Boolean', desc="Use PARSE charge set." ),
2053  Option( 'expand_st_chi2sampling', 'Boolean', desc="Ugly temporary hack. Expand the chi2 sampling for serine and threonine in the fa_standard residue type set so that samples are taken every 20 degrees (instead of every 60 degrees. This will soon be changed in the SER and THR params files themselves. This flag can be used with any residue type set (including the pre-talaris fa_standard version, and with the fa_standard_05.2009_icoor version) but is unncessary for the talaris2013 version (currently named fa_standard) as the expanded SER and THR sampling is already encoded in .params files for these two residues", default="false"),
2054  ), #-corrections:chemical
2055 
2056  Option( 'shapovalov_lib_fixes_enable', 'Boolean', desc='Apply new code by Maxim Shapovalov from Dunbrack Lab such as for reading/using dun, rama, prop libraries in new format and options for applying different bug fixes. False value will employ old libraries and old code.', default='false'),
2057 
2058  #Different options for new dunbrack, rama, prop libraries, they have effect only when shapovalov_lib_fixes_enable is true.
2059  Option_Group( 'shapovalov_lib',
2060  Option( 'shap_dun10_enable', 'Boolean', desc="Enable new Shapovalov's dun10 fix if the umbrella option is on, shapovalov_lib_fixes", default="true" ),
2061  Option( 'shap_dun10_smooth_level', 'String', desc='Smoothing level either numeric or word keyword, possible values are 1 or lowest_smooth, 2 or lower_smooth, 3 or low_smooth, 4 or average_smooth, 5 or higher_smooth, 6 or highest_smooth.', default="3"),
2062  Option( 'shap_dun10_dir', 'String', desc="Name of the new format dun10 dir", default="rotamer/shapovalov/StpDwn_5-5-5" ),
2063  Option( 'shap_dun10_use_minus_log_P_ignore_P', 'Boolean', desc="Use minus log P from text libraries only and ignore any P.", default="false"),
2064 
2065  Option( 'shap_rama_enable', 'Boolean', desc="Enable new Shapovalov's Rama fix if the umbrella option is on, shapovalov_lib_fixes", default="true" ),
2066  Option( 'shap_rama_smooth_level', 'String', desc='Smoothing level either numeric or word keyword, possible values are 1 or lowest_smooth, 2 or lower_smooth, 3 or higher_smooth, 4 or highest_smooth.', default="4"),
2067  Option( 'shap_rama_map', 'File', default = 'scoring/score_functions/rama/shapovalov/kappa25/all.ramaProb', desc="New Ramachandran file in the new format used by rama" ),
2068  Option( 'shap_rama_nogridshift', 'Boolean', desc="With correct flag there is a bug. Rama09_noEH_kernel25_it08.dat is used where prob values are reported exactly at the 10-deg grid while Rama_smooth_dyn.dat_ss_6.4 has values reported in the middle of bins. There is no need for 5-deg shift for newer Rama maps with values reported at the grid.", default="true" ),
2069 
2070  Option( 'shap_p_aa_pp_enable', 'Boolean', desc="Enable new Shapovalov's propensity map fix if the umbrella option is on, shapovalov_lib_fixes", default="true" ),
2071  Option( 'shap_p_aa_pp_smooth_level', 'String', desc='Smoothing level either numeric or word keyword, possible values are 1 or low_smooth, 2 or high_smooth.', default="2"),
2072  Option( 'shap_p_aa_pp', 'String', desc="Name of the new Shapovalov's P_AA_PP potential file (search in the local directory first, then look in the database)" , default="scoring/score_functions/P_AA_pp/shapovalov/10deg/kappa50/a20.prop" ),
2073 
2074  ), #-corrections:shapovalov_lib
2075  ), # -corrections
2076 
2077  # Evaluator Options ---------------------------------------------------------
2078  Option_Group( 'evaluation' ,
2079  Option( 'rmsd_target', 'FileVector', desc='[vector] determine rmsd against this/these structure(s)'),
2080  Option( 'rmsd_column', 'StringVector', desc='[vector] use xxx as column name: rms_xxx'),
2081  Option( 'rmsd_select', 'FileVector', desc='[vector] a bunch of loop files which makes rmsds with tags: rms_XXX, where XXX is basename of file' ),
2082  Option( 'align_rmsd_target', 'FileVector', desc='[vector] determine rmsd against this/these structure(s) using simple sequence alignment'),
2083  Option( 'structural_similarity', 'FileVector', desc='[vector] measure average similarity against these structures (option specifies a silent-file)', ),
2084  Option( 'contact_map', 'Boolean', desc='Calculate contact map similarity using the given native' ),
2085  Option( 'jscore_evaluator', 'StringVector', desc='Calculate scores using the given score function weights files and, residue type set names (e.g score12 fa_standard score3 centroid)' ),
2086  Option( 'align_rmsd_column', 'StringVector', desc='[vector] use xxx as column name for align_rmsd_target: rms_xxx'),
2087  Option( 'align_rmsd_fns', 'FileVector', desc='[vector] of sequence alignments used for align_rmsd files'),
2088  Option( 'align_rmsd_format', 'String',
2089  desc='format for sequence alignment between structures used in evaluation',
2090  legal = ['grishin','general'], default='grishin'
2091  ),
2092  Option( 'predicted_burial_fn', 'String', desc='file for burial predictions', default = '' ),
2093  Option( 'pool', 'File', desc='find closest matching structure in this pool and report tag and rmsd' ),
2094  Option( 'rmsd', 'FileVector', desc='[vector/pairs] tripletts: rmsd_target (or NATIVE / IRMS) col_name selection_file (or FULL)'),
2095  Option( 'chirmsd', 'FileVector', desc='[vector/tripletts]: rmsd_target (or NATIVE / IRMS ) col_name selection_file ( or FULL) '),
2096  Option( 'gdtmm', 'Boolean', desc='for each rmsd evaluator also a gdtmm evaluator is created', default='false'),
2097  Option( 'gdttm', 'Boolean', desc='for each rmsd evaluator also a gdttm evaluator is created', default='false'),
2098  Option( 'score_with_rmsd','Boolean', desc='score the pose on the same subset of atoms as in the rmsd poses'),
2099  Option( 'constraints', 'FileVector', desc='[vector] evaluate against these constraint sets'),
2100  Option( 'constraints_column', 'FileVector', desc='[vector] use xxx as column name: cst_xxx'),
2101  Option( 'combined_constraints', 'FileVector', desc='[vector] use xxx as cst-file but combine constraints before applying'),
2102  Option( 'combined_constraints_column', 'FileVector', desc='[vector] use xxx as cst-file but combine constraints before applying'),
2103  Option( 'combine_statistics','Integer', default ='10', desc='repeat constraint evaluation X times to get statistics of constraint combination'),
2104 
2105  Option( 'chemical_shifts','StringVector', desc='compute chemical shift score with SPARTA+ use tuples: talos_file [cs]_column_name (ATTENTION uses filesystem)'),
2106  Option( 'sparta_dir','String', desc='[optional] point to an external resource for the sparta directory (instead of minirosetta_database)', default='SPARTA+'),
2107  Option( 'cam_shifts','StringVector', desc='compute chemical shift score with Camshift talos_file [cs]_column_name (ATTENTION uses filesystem)'),
2108  Option( 'pales','StringVector', desc='compute Residual Dipolar Couplings using the PALES program (ATTENTION uses filesystem)'),
2109  Option( 'extra_score','FileVector', desc='[vector] provide .wts files to generate extra columns'),
2110  Option( 'extra_score_patch','FileVector', desc='[vector] provide .patch files, set NOPATCH for columns that are not patched'),
2111 
2112  Option( 'extra_score_column', 'StringVector', desc='[vector] use xxx as column name: score_xxx'),
2113  Option( 'extra_score_select','FileVector',desc='[vector] /rigid/ files for selection, use SELECT_ALL as placeholder'),
2114 # Option( 'rdc_select', 'FileVector', desc='[vector] as rmsd_select provide loop-file(RIGID) to compute RDC score on selected residues' ),
2115  Option( 'rdc_target', 'FileVector', desc='[vector] as rmsd_target/column provide PDB wih missing density to compute RDC score on selected residues' ),
2116  Option( 'symmetric_rmsd', 'Boolean', desc='calculate the rmsd symmetrically by checking all chain orderings'),
2117 
2118  Option( 'rdc_column', 'StringVector', desc='[vector] column names for rdc_select'),
2119  Option( 'rdc','StringVector', desc='[vector] rdc-files and column names for RDC calculation'),
2120  Option( 'built_in_rdc','String', desc='evaluate rdc from -in:file:rdc with standard score function and store under column xxx'),
2121  Option( 'jump_nr', 'Boolean', desc='adds the JumpNrEvaluator for the nrjumps column', default='false' ),
2122  Option( 'score_exclude_res', 'IntegerVector', desc="Calculates a select_score column based on all residues not excluded by the command line vector" ),
2123  Option( 'score_sscore_short_helix', 'Integer', desc='defines the maximum length of a helix that is not scored if it terminates a loop', default='5' ),
2124  Option( 'score_sscore_maxloop', 'Integer', desc='defines the maximum length of a loop that is still considered for the sscore - score', default='3' ),
2125 # Option( 'rpf', 'Boolean', desc='will compute RPF score with distance cutoff 5 and store in column rpf_score', default='false' ),
2126  Option( 'window_size', 'Integer', desc='Window size for local RMSD calculations in windowed_rmsd app', default='5'),
2127  Option( 'I_sc', 'String', desc='score function name used to calculate I_sc', default = 'score12' ),
2128  Option( 'Irms', 'Boolean', desc='will compute the docking interface rmsd', default='false'),
2129  Option( 'Ca_Irms', 'Boolean', desc='will compute the docking Ca-atom interface rmsd', default='false'),
2130  Option( 'Fnat', 'Boolean', desc='will compute the docking recovered fraction of native contacts', default='false'),
2131  Option( 'Lrmsd', 'Boolean', desc='will compute the docking ligand rmsd', default='false'),
2132  Option( 'Fnonnat', 'Boolean', desc='will compute the fraction of non-native contacts for docking', default='false'),
2133  Option( 'DockMetrics', 'Boolean', desc='will compute all docking metrics (I_sc/Irms/Fnat/Lrmsd for now) for replica docking', default='false'),
2134  ), # -evaluation
2135 
2136  # Filter Options -----------------------------------------------------------
2137  Option_Group( 'filters',
2138  Option( 'disable_all_filters', 'Boolean',
2139  desc="turn off all centroid filters: RG, CO, and Sheet",
2140  default = 'false' ),
2141  Option( 'disable_rg_filter', 'Boolean',
2142  desc="turn off RG filter",
2143  default = 'false' ),
2144  Option( 'disable_co_filter', 'Boolean',
2145  desc="turn off contact order filter",
2146  default = 'false' ),
2147  Option( 'disable_sheet_filter', 'Boolean',
2148  desc="turn off sheet filter",
2149  default = 'false' ),
2150  Option( 'set_pddf_filter', 'Real', desc="Turns on PDDF filter with a given score cutoff",default="5.0"),
2151  Option( 'set_saxs_filter', 'Real', desc="Turns on SAXS energy filter with a given score cutoff",default="-3"),
2152  ), # -filters
2153 
2154  Option_Group( 'gpu',
2155  Option('gpu', 'Boolean', desc='Enable/Disable GPU support', default ='true'),
2156  Option('device', 'Integer', desc='GPU device to use', default = '1'),
2157  Option('threads', 'Integer', desc='Max GPU threads to use', default = '2048'),
2158  ), # -gpu
2159 
2160  Option_Group( 'jumps',
2161  Option( 'evaluate', 'Boolean', desc='evaluate N-CA-C gemoetry for all jumps in the fold-tree', default='false' ),
2162  Option( 'extra_frags_for_ss', 'File', desc='use ss-def from this fragset', default='' ),
2163  Option( 'fix_chainbreak', 'Boolean', desc= 'minimize to fix ccd in re-runs', default='false' ),
2164  Option( 'fix_jumps', 'File', desc='read jump_file', default='' ),
2165  Option( 'jump_lib', 'File', desc='read jump_library_file for automatic jumps', default='' ),
2166  Option( 'loop_definition_from_file', 'File', desc= 'use ss-def from this file', default='' ),
2167  Option( 'no_chainbreak_in_relax', 'Boolean', desc='dont penalize chainbreak in relax', default='false' ),
2168  Option( 'pairing_file', 'File', desc='file with pairings', default='' ),
2169  Option( 'random_sheets', 'IntegerVector', desc='random sheet topology--> replaces -sheet1 -sheet2 ... select randomly up to N sheets with up to -sheet_i pairgins for sheet i', default='1' ),
2170  Option( 'residue_pair_jump_file', 'File', desc='a file to define residue pair jump', default='' ),
2171  Option( 'sheets', 'IntegerVector', desc='sheet topology--> replaces -sheet1 -sheet2 ... -sheetN', default='1' ),
2172  Option( 'topology_file', 'File', desc='read a file with topology info ( PairingStats )', default='' ),
2173 
2174  Option( 'bb_moves', 'Boolean', desc='Apply bb_moves ( wobble, small, shear) during stage3 and stage 4.', default='false' ),
2175  Option( 'no_wobble', 'Boolean', desc='Don t apply the useless wobble during stage3 and stage 4.', default='false' ),
2176  Option( 'no_shear', 'Boolean', desc='Don t apply the useless shear during stage3 and stage 4.', default='false' ),
2177  Option( 'no_sample_ss_jumps', 'Boolean', desc='sample jump-frags during folding', default='false' ),
2178  Option( 'invrate_jump_move', 'Integer', desc='give 5 here to have 5 torsion moves for each jump move', default='10' ),
2179  Option( 'chainbreak_weight_stage1', 'Real', desc='the weight on chainbreaks', default='1.0' ),
2180  Option( 'chainbreak_weight_stage2', 'Real', desc='the weight on chainbreaks', default='1.0' ),
2181  Option( 'chainbreak_weight_stage3', 'Real', desc='the weight on chainbreaks', default='1.0' ),
2182  Option( 'chainbreak_weight_stage4', 'Real', desc='the weight on chainbreaks', default='1.0' ),
2183  Option( 'ramp_chainbreaks', 'Boolean', desc='ramp up the chainbreak weight stage1-0, stage2 0.25, stage3 alternating 0.5..2.5, stage4 2.5..4', default='true' ),
2184  Option( 'increase_chainbreak','Real', desc='multiply ramped chainbreak weight by this amount', default='1.0'),
2185  Option( 'overlap_chainbreak', 'Boolean', desc='use the overlap chainbrak term in stage4', default='false' ),
2186  Option( 'sep_switch_accelerate', 'Real', desc='constraints and chainbreak depend on in-chain-separation. Accelerate their enforcement 1+num_cuts()*<this_factor>', default='0.4' ),
2187  Option( 'dump_frags', 'Boolean', desc='dump jump_fragments ', default='false' ),
2188  Option( 'njumps', 'Integer', desc='number_of_jumps to select from library for each trajectory (membrane mode)', default='1' ),
2189  Option( 'max_strand_gap_allowed', 'Integer', desc='merge strands if they less than X residues but same register', default='2' ),
2190  Option( 'contact_score', 'Real', desc='the strand-weight will have a weight * contact_order component', default='0.0' ),
2191  Option( 'filter_templates', 'Boolean', desc='filter hybridization protocol templates', default='false'),
2192  ), # -jumps
2193 
2194  Option_Group( 'loops',
2195  Option( 'loops', 'Boolean', desc='loop modeling option group', legal=['true','false'], default='true'),
2196  Option( 'cen_weights', 'String', desc='ScoreFunction weights file for centroid phase of loop-modeling', default = 'cen_std' ),
2197  Option( 'cen_patch', 'String', desc='ScoreFunction patch for for centroid phase of loop-modeling', default = 'score4L', ),
2198  Option( 'input_pdb','File', desc='template pdb file', default='input_pdb' ),
2199  Option( 'loop_file', 'StringVector', desc='Loop definition file(s). When multiple files are given a *random* one will be picked each time when this parameter is requested.' ),
2200  Option( 'extended_loop_file','File',
2201  desc='loop definition file for loops to be extended (used in abrelax)',
2202  default='loop_file'
2203  ),
2204  Option( 'mm_loop_file','File',
2205  desc='loop definition file', default='loop_file'
2206  ),
2207  Option( 'fix_natsc', 'Boolean', desc='fix sidechains in template region in loop modeling',
2208  legal=['true','false'], default='false'
2209  ),
2210  Option( 'refine_only', 'Boolean', desc='perform full atom refinement only on loops',
2211  legal=['true', 'false'], default='false'
2212  ),
2213 # Option( 'fa_input', 'Boolean', desc='input structures are in full atom format',
2214 # legal=['true', 'false'], default='false'
2215 # ),
2216  Option( 'fast', 'Boolean', desc='reduce number of simulation cycles in loop modeling',
2217  legal=['true', 'false'], default='false'
2218  ),
2219  Option( 'vall_file','File', desc='vall database file', default='vall_file' ),
2220  Option( 'frag_sizes','IntegerVector', desc='lengths of fragments to be used in loop modeling',
2221  default=['9','3','1']
2222  ),
2223  Option( 'frag_files', 'FileVector', desc='fragment libraries files', default=['frag9','frag3','frag1'] ),
2224  Option( 'output_pdb','File', desc='output model pdb file', default='output.pdb' ),
2225  Option( 'debug', 'Boolean', default = 'false' ),
2226  Option( 'build_initial', 'Boolean',
2227  desc='Precede loop-modeling with an initial round of just removing the missing densities and building simple loops',
2228  legal=['true','false'], default='false'
2229  ),
2230  Option( 'extended', 'Boolean', desc='Force extended on loops, independent of loop input file',legal=['true','false'], default='false'),
2231  Option( 'remove_extended_loops', 'Boolean', desc='Before building any loops, remove all loops marked as extended',legal=['true','false'], default='false'),
2232  Option( 'idealize_after_loop_close', 'Boolean', desc='Run structure through idealizer after loop_closing', default='true' ),
2233  Option( 'idealize_before_loop_close', 'Boolean', desc='Run structure through idealizer before loop_closing', default='true' ),
2234  Option( 'select_best_loop_from', 'Integer', desc='Keep building loops until N and choose best (by score)', default='1'),
2235  Option( 'build_attempts', 'Integer', desc='Build attempts per growth attempt', default='3'),
2236 
2237  ## Options affecting growing/combining of loops
2238  Option( 'grow_attempts', 'Integer',
2239  desc='Total loop growth attempts',
2240  default='7'
2241  ),
2242  Option( 'random_grow_loops_by', 'Real',
2243  desc='Randomly grow loops by up to this number of residues on either side.',
2244  default='0.0'
2245  ),
2246  Option( 'accept_aborted_loops', 'Boolean',
2247  desc='accept aborted loops ',
2248  legal=['true','false'], default='false'
2249  ),
2250  Option( 'strict_loops', 'Boolean',
2251  desc='Do not allow growing of loops',
2252  legal=['true','false'], default='false'
2253  ),
2254  Option( 'superimpose_native', 'Boolean',
2255  desc='Superimpose the native over the core before calculating looprms',
2256  legal=['true','false'], default='false'
2257  ),
2258 
2259  ## options affection choice of loops
2260  Option( 'build_specific_loops', 'IntegerVector', desc='Numbers of the loops to be built' ),
2261  Option( 'random_order', 'Boolean',
2262  desc='build in random order ',
2263  legal=['true','false'], default='true'
2264  ),
2265  Option( 'build_all_loops', 'Boolean',
2266  desc='build all loops(no skip) ',
2267  legal=['true','false'], default='false'
2268  ),
2269  Option( 'fa_closure_protocol', 'Boolean', desc='Abrelax uses FASlidingWindowLoopClosure... ', default = 'false' ),
2270  Option( 'combine_rate', 'Real', desc='Combine successive loops at this rate', default='0.0' ),
2271  ## Options affecting growing/combining of loops
2272  ## subprotocol components
2273  Option( 'skip_initial_loop_build', 'Boolean',
2274  desc='Skip the initial loop build step where existing loop torsions are discarded and the loop is built from scratch. ',
2275  legal=['true','false'], default='false'
2276  ),
2277  Option( 'remodel', 'String', default = 'no',
2278  legal=['no','perturb_ccd','perturb_kic','perturb_kic_refactor','perturb_kic_with_fragments','quick_ccd','quick_ccd_moves','old_loop_relax','sdwindow'], desc = ''),
2279  Option( 'intermedrelax', 'String', default = 'no',
2280  legal=['no','relax','fastrelax','seqrelax'], desc = ''
2281  ),
2282  Option( 'refine', 'String', default = 'no',
2283  legal=['no','refine_ccd','refine_kic','refine_kic_refactor','refine_kic_with_fragments'],
2284  desc = 'method for performing full-atom refinement on loops'
2285  ),
2286  Option( 'relax', 'String', default = 'no',
2287  legal=['no','relax','fastrelax','seqrelax','minirelax'], desc = ''
2288  ),
2289 # Option(
2290 # 'n_rebuild_tries', 'Integer', default='1', desc='number of times to retry loop-rebuilding'
2291 # ),
2292 
2293  Option( 'final_clean_fastrelax', 'Boolean',
2294  desc='Add a final fastrelax without constraints',
2295  legal=['true','false'], default='false'
2296  ),
2297  Option( 'relax_with_foldtree', 'Boolean',
2298  desc='keep foldtree during relax', legal=['true','false'],
2299  default='false'
2300  ),
2301  Option( 'constrain_rigid_segments', 'Real',
2302  desc='Use Coordinate constraints on the non-loop regions',
2303  default='0.0'
2304  ),
2305 
2306  Option( 'loopscores', 'String',
2307  desc='Calculate loopscores individually',
2308  ),
2309  Option( 'timer', 'Boolean',
2310  desc='Output time spent in seconds for each loop modeling job',
2311  legal=['true','false'], default='false'
2312  ),
2313 
2314  ## Kinematic loop building (KIC)
2315  Option( 'vicinity_sampling', 'Boolean',
2316  desc='only sample within a certain region of the current torsion values',
2317  legal=['true','false'], default='false'
2318  ),
2319  Option( 'vicinity_degree', 'Real',
2320  desc='number of degrees to sample within current torsion values for vicinity sampling',
2321  default='1.0'
2322  ),
2323  Option( 'neighbor_dist', 'Real',
2324  desc='CB distance cutoff for repacking, rotamer trails, and side-chain minimization during loop modeling. NOTE: values over 10.0 are effectively reduced to 10.0',
2325  default='10.0'
2326  ),
2327  Option( 'kic_max_seglen', 'Integer',
2328  desc='maximum size of residue segments used in kinematic closure calculations',
2329  default='12'
2330  ),
2331  Option( 'kic_recover_last', 'Boolean',
2332  desc='If true, do not recover lowest scoring pose after each outer cycle and at end of protocol in kic remodel and refine',
2333  default='false'
2334  ),
2335  Option( 'kic_min_after_repack', 'Boolean',
2336  desc='Should the kinematic closure refine protocol minimize after repacking steps',
2337  default='true'
2338  ),
2339  Option( 'optimize_only_kic_region_sidechains_after_move', 'Boolean',
2340  desc='Should we perform rotamer trials and minimization after every KIC move but only within the loops:neighbor_dist '
2341  'of the residues in the moved KIC segment. Useful to speed up when using very large loop definitions '
2342  '(like when whole chains are used for ensemble generation).',
2343  default='false'
2344  ),
2345  Option( 'max_kic_build_attempts', 'Integer',
2346  desc='Number of attempts at initial kinematic closure loop building',
2347  default='10000'
2348  ),
2349  Option( 'remodel_kic_attempts', 'Integer',
2350  desc='Number of kic attempts per inner cycle during perturb_kic protocol',
2351  default='300'
2352  ),
2353  Option( 'max_kic_perturber_samples', 'Integer',
2354  desc='Maximum number of kinematic perturber samples',
2355  default='2000'
2356  ),
2357  Option( 'nonpivot_torsion_sampling', 'Boolean',
2358  desc='enables sampling of non-pivot residue torsions when the kinematic loop closure segment length is > 3',
2359  legal=['true','false'], default='true'
2360  ),
2361  Option( 'fix_ca_bond_angles', 'Boolean',
2362  desc='Freezes N-CA-C bond angles in KIC loop sampling',
2363  legal=['true','false'], default='false'
2364  ),
2365  Option( 'kic_use_linear_chainbreak', 'Boolean',
2366  desc='Use linear_chainbreak instead of (harmonic) chainbreak in KIC loop sampling',
2367  legal=['true','false'], default='false'
2368  ),
2369  Option( 'sample_omega_at_pre_prolines', 'Boolean',
2370  desc='Sample omega in KIC loop sampling',
2371  legal=['true','false'], default='false'
2372  ),
2373  Option( 'allow_omega_move', 'Boolean',
2374  desc='Allow loop omega to minimize during loop modeling',
2375  legal=['true','false'], default='false'
2376  ),
2377  Option( 'kic_with_cartmin', 'Boolean',
2378  desc="Use cartesian minimization in KIC loop modeling",
2379  legal=['true', 'false'], default='false'
2380  ),
2381  Option( 'allow_takeoff_torsion_move', 'Boolean',
2382  desc='Allow takeoff phi/psi to move during loop modeling',
2383  legal=['true','false'], default='false'
2384  ),
2385  Option( 'extend_length', 'Integer',
2386  desc='Number of alanine residues to append after cutpoint in loopextend app',
2387  default = '0', lower = '0'
2388  ),
2389  Option( 'perturb_outer_cycles', 'Integer',
2390  desc='number of outer cycles in the perturbation (centroid) stage', default = '5', lower = '1'
2391  ),
2392  Option( 'refine_outer_cycles', 'Integer',
2393  desc='number of outer cycles in the fullatom refinement stage', default = '5', lower = '1'
2394  ),
2395  Option( 'max_inner_cycles', 'Integer',
2396  desc='maxium number of inner cycles in fullatom loop refinement',
2397  default = '1', lower = '1'
2398  ),
2399  Option( 'repack_period', 'Integer',
2400  desc='repack period during fullatom loop refinement',
2401  default = '20', lower = '1'
2402  ),
2403 # Option( 'repack_never', 'Boolean',
2404 # desc='option to disable repacking during loop movement',
2405 # default = 'false'
2406 # ),
2407  ##Option( 'repack_all', 'Boolean', default = 'false' ),
2408  Option( 'remodel_init_temp' , 'Real',
2409  desc='Initial temperature for loop rebuiding. Currently only supported in kinematic (KIC) mode',
2410  default = '2.0'
2411  ),
2412  Option( 'remodel_final_temp', 'Real',
2413  desc='Final temperature for loop rebuilding. Currently only supported in kinematic (KIC) mode',
2414  default = '1.0'
2415  ),
2416  Option( 'refine_init_temp', 'Real',
2417  desc='Initial temperature for loop refinement. Currently only supported in kinematic (KIC) mode',
2418  default = '1.5'
2419  ),
2420  Option( 'refine_final_temp', 'Real',
2421  desc='Final temperature for loop refinement. Currently only supported in kinematic (KIC) mode',
2422  default = '0.5'
2423  ),
2424  Option( 'gapspan', 'Integer', default='6', lower='1',
2425  desc='when automatically identifying loop regions, this is the maximum gap length for a single loop'
2426  ),
2427  Option( 'spread', 'Integer', default='2', lower='1',
2428  desc='when automatically identifying loop regions, this is the number of neighboring residues by which to extend out loop regions'
2429  ),
2430  Option( 'kinematic_wrapper_cycles', 'Integer',
2431  desc='maximum number of KinematicMover apply() tries per KinematicWrapper apply()',
2432  default = '20'
2433  ),
2434  Option( 'kic_num_rotamer_trials', 'Integer',
2435  desc='number of RotamerTrial iterations in each KIC cycle -- default is 1',
2436  default = '1'
2437  ),
2438  Option( 'kic_omega_sampling', 'Boolean',
2439  desc="Perform sampling of omega angles around 179.6 for trans, and including 0 for pre-prolines -- default false, for legacy reasons",
2440  default='false'
2441  ),
2442  Option( 'kic_bump_overlap_factor', 'Real',
2443  desc="allow some atomic overlap in initial loop closures (should be remediated in subsequent repacking and minimization)",
2444  default='0.36'
2445  ),
2446  Option( 'minimize_max_iter', 'Integer', desc='Max iteration of minimization during MC', default='200'),
2447 # Option( 'kic_cen_weights', 'String',
2448 # desc='centroid weight set to be used for KIC and next-generation KIC -- note that the smooth weights are strongly recommended for use with Talaris2013',
2449 # default="score4_smooth"
2450 # ),
2451 # Option( 'kic_cen_patch', 'String',
2452 # desc='weights patch file to be used for KIC+NGK centroid modeling stage',
2453 # default=""
2454 # ),
2455 
2456  ## next-generation KIC
2457  Option( 'restrict_kic_sampling_to_torsion_string', 'String',
2458  desc='restrict kinematic loop closure sampling to the phi/psi angles specified in the torsion string',
2459  default = ""
2460  ),
2461  Option( 'derive_torsion_string_from_native_pose', 'Boolean',
2462  desc='apply torsion-restricted sampling, and derive the torsion string from the native [or, if not provided, starting] structure',
2463  default = 'false'
2464  ),
2465  Option( 'always_remodel_full_loop', 'Boolean',
2466  desc='always remodel the full loop segment (i.e. the outer pivots are always loop start & end) -- currently this only applies to the perturb stage -- EXPERIMENTAL',
2467  default = 'false'
2468  ),
2469  Option( 'taboo_sampling', 'Boolean',
2470  desc='enhance diversity in KIC sampling by pre-generating different torsion bins and sampling within those -- this flag activates Taboo sampling in the perturb stage',
2471  default = 'false'
2472  ),
2473  Option( 'taboo_in_fa', 'Boolean',
2474  desc='enhance diversity in KIC sampling by pre-generating different torsion bins and sampling within those -- this flag activates Taboo sampling in the first half of the full-atom stage; use in combination with -loops:taboo_sampling or -kic_leave_centroid_after_initial_closure',
2475  default = 'false'
2476  ),
2477  Option( 'ramp_fa_rep', 'Boolean',
2478  desc='ramp the weight of fa_rep over outer cycles in refinement',
2479  default = 'false'
2480  ),
2481  Option( 'ramp_rama', 'Boolean',
2482  desc='ramp the weight of rama over outer cycles in refinement',
2483  default = 'false'
2484  ),
2485  Option( 'kic_rama2b', 'Boolean',
2486  desc='use neighbor-dependent Ramachandran distributions in random torsion angle sampling',
2487  default = 'false'
2488  ),
2489 # Option( 'kic_small_moves', 'Boolean',
2490 # desc='sample torsions by adding or subtracting a small amount from the previous value, instead of picking from the Ramachandran distribution.',
2491 # default = 'false'
2492 # ),
2493 # Option( 'kic_small_move_magnitude', 'Real',
2494 # desc='specify the magnitude of the small moves. Only meant to be used for initial testing and optimization.',
2495 # default = '5.0'
2496 # ),
2497 # Option( 'kic_pivot_based', 'Boolean',
2498 # desc='use ramachandran sampling if the pivots are closer than 8 residues apart, otherwise use small moves.',
2499 # default = 'false'
2500 # ),
2501 # Option( 'kic_no_centroid_min', 'Boolean',
2502 # desc='don\'t minimize in centroid mode during KIC perturb',
2503 # default = 'false'
2504 # ),
2505  Option( 'kic_leave_centroid_after_initial_closure', 'Boolean',
2506  desc="only use centroid mode for initial loop closure -- all further loop closures will be performed in full-atom",
2507  default = 'false'
2508  ),
2509 # Option( 'kic_repack_neighbors_only', 'Boolean',
2510 # desc='select neigbors for repacking via the residue-dependent NBR_RADIUS, not via a generic threshold (WARNING: this overrides any setting in -loops:neighbor_dist)',
2511 # default='false'
2512 # ),
2513  Option ( 'legacy_kic', 'Boolean',
2514  desc='always select the start pivot first and then the end pivot -- biases towards sampling the C-terminal part of the loop more (false by default)',
2515  default='false'
2516  ),
2517 
2518  ## QuickCCD
2519 
2520  ## From Foldcst
2521  Option( 'alternative_closure_protocol', 'Boolean',
2522  desc='use WidthFirstSliding...',
2523  default='false'
2524  ),
2525  Option( 'chainbreak_max_accept', 'Real',
2526  desc='accept all loops that have a lower cumulative chainbreak score (linear,quadratic(if present), and overlap)',
2527  default='2.0'
2528  ),
2529  Option( 'debug_loop_closure', 'Boolean',
2530  desc='dump structures before and after loop closing',
2531  default='false'
2532  ),
2533  Option( 'non_ideal_loop_closing', 'Boolean',
2534  desc='allow small non-idealities at the chainbreak residue after loop-closing -- requires binary silent out',
2535  default='false'
2536  ),
2537  Option( 'scored_frag_cycles', 'Real',
2538  desc='cycle-ratio for scored_frag_cycles ( loop_size<10 ) after jumping-abinitio',
2539  default='1.0'
2540  ),
2541  Option( 'short_frag_cycles', 'Real',
2542  desc='cycle-ratio for short_frag_cycles ( loop_size<10 ) after jumping-abinitio',
2543  default='1.0'
2544  ),
2545  ## Deprecated == Old "looprelax"
2546  Option( 'rmsd_tol', 'Real', desc='rmsd tolerance to deviate from original pose', default='10000.0' ),
2547  Option( 'chain_break_tol', 'Real', desc='acceptable tolerance for chain break score', default='0.2' ),
2548  Option( 'random_loop', 'Boolean', desc='randomize loop stub positions', default='false' ),
2549 
2550  Option( 'stealfrags', 'FileVector', desc='StealFragPDBS' ),
2551  Option( 'stealfrags_times', 'Integer', desc='StealFragPDBS how many times ?', default='1' ),
2552  Option( 'coord_cst', 'Real', desc='restraintweight', default='0.0' ),
2553  Option( 'skip_1mers', 'Real', desc='rate at which you should skip a 1 mer insertion', default='0.0' ),
2554  Option( 'skip_3mers', 'Real', desc='rate at which you should skip a 3 mer insertion', default='0.0' ),
2555  Option( 'skip_9mers', 'Real', desc='rate at which you should skip a 9 mer insertion', default='0.0' ),
2556  Option( 'loop_model', 'Boolean', desc='loop modeling option', legal=['true','false'], default='false'),
2557 
2558  Option( 'score_filter_cutoff', 'Real', desc='value for score filter', default='1.0' ),
2559  ##Option( 'loop_skip_rate', 'Real', desc='skip rate for not building a chosen loop', default='0.0' ),
2560 # Option( 'loop_farlx', 'Boolean', desc='do fullatom loop refinement', legal=['true','false'], default='false'),
2561  Option( 'ccd_closure', 'Boolean', desc='apply ccd closure', legal=['true','false'], default='false'),
2562  Option( 'skip_ccd_moves', 'Boolean', desc='when running in ccd_moves mode, dont actually do ccd_moves.. just do fragment insertions', default='false'),
2563  Option( 'no_randomize_loop', 'Boolean', desc='Leave loop as it is', default='false'),
2564 
2565  Option( 'loops_subset', 'Boolean', desc='pick subset of desired loops',
2566  legal=['true','false'], default='false'
2567  ),
2568 
2569  Option( 'num_desired_loops', 'Integer', desc='number of desired loops', default='1' ),
2570  Option( 'loop_combine_rate', 'Real', desc='skip rate for not combining a chosen loop', default='0.0' ),
2571  Option( 'final_score_filter', 'Real', desc='Only output structures that score bette rthan that', default='1000000.0' ),
2572  Option( 'no_combine_if_fail', 'Boolean', desc='combine loops if loop modeling fails',
2573  legal=['true','false'], default='true'
2574  ),
2575  Option( 'shorten_long_terminal_loop', 'Boolean', desc='shorten long loops',
2576  legal=['true','false'], default='false'
2577  ),
2578 
2579  Option( 'backrub_trials', 'Integer', desc='number of backrub steps to do in loop relax', default='10' ),
2580 
2581  Option( 'looprlx_cycle_ratio', 'Real', desc='fraction of the total looprlx cycles', default='1.0' ),
2582  Option( 'extended_beta', 'Real',
2583  desc='Extended tempfactor: stochastic extendedness: p_ext = exp( - beta * length ) ',
2584  default='-1.0'
2585  ),
2586 # Option( 'shortrelax', 'Boolean',
2587 # desc='do a short fullatom relax after loop remodeling',
2588 # default='false'
2589 # ),
2590 # Option( 'fastrelax', 'Boolean',
2591 # desc='do a fast fullatom relax after loop remodeling',
2592 # default='false'
2593 # ),
2594  Option( 'no_looprebuild', 'Boolean', desc='do not rebuild loops',
2595  legal=['true','false'],
2596  default='false'
2597  ),
2598  Option( 'allow_lig_move', 'Boolean',
2599  desc='allow ligands to move during loop modeling',
2600  legal=['true','false'],
2601  default='false'
2602  ),
2603  Option('keep_natro', 'File',
2604  desc='list of residues where the rotamers are kept fixed',
2605  default='keep_natro'
2606  ),
2607  Option('refine_design_iterations','Integer',
2608  desc='iterations of refine and design', default='1'
2609  ),
2610 # Option_Group( 'loop_closure' ,
2611 # Option( 'loop_insert', 'String',
2612 # desc='List of chain names with loop sizes in between where loops are inserted. e.g. A5B6CDE to insert a loop of size 5 in between A and B, and a loop of 6 between B and C. loop_insert_, loop_insert_rclrc and blueprint options are mutually exclusive.',
2613 # ),
2614 # Option( 'loop_insert_rclrc', 'String',
2615 # desc='Comma delimited list of tuples, each formed as R1C1:L:R2C2, where R1C1 means residue R1 in chain C1 as start terminal and R2 in C2 as end terminal of the loop to be created. N is the length of the loop in number of residues. e.g. 25A:7:28B,50B:6:53C for building a loop of length 6 between res 25 in chain A and 29 in chain B , and another with 6 residues between res 50 in chain B and 53 in chain C. loop_insert, loop_insert_rclrc and blueprint options are mutually exclusive.',
2616 # ),
2617 # Option( 'blueprint', 'String',
2618 # desc='path to a blueprint file specifying loops. loop_insert, loop_insert_rclrc and blueprint options are mutually exclusive',
2619 # ),
2620 # ), # -loops:loop_closure'
2621  Option_Group( 'ccd' ,
2622  Option( 'max_rama_score_increase', 'Real', desc='Maximum increase in Ramachandran score that will be tolerated.', default='2.0' ),
2623  Option( 'max_torsion_delta_per_move', 'RealVector',
2624  desc='Maxmimum absolute torsion deviation for a single residue in a given move. Different deviations for residues in helical, extended or coil conformations must be supplied (in that order).',
2625  default=['1.0', '5.0', '10.0'], n='3' ),
2626  Option( 'max_torsion_delta', 'RealVector',
2627  desc='Maxmimum absolute torsion deviation for a single residue over the entire CCD closure. Different deviations for residues in helical, extended or coil conformations must be supplied (in that order).',
2628  default=['10.0', '50.0', '75.0'] , n='3'),
2629  Option( 'tolerance', 'Real', desc='Maximum RMSD (in Angstroms) of the duplicated atoms across the cutpoint that will be considered a successful closure.', default='0.08' ),
2630  Option( 'max_cycles', 'Integer', desc='Maximum number of CCD iterations to attempt. CCD will stop if the loop is closed in fewer cycles than the maximum.', default='100' ),
2631  Option( 'check_rama_scores', 'Boolean', desc="Bias toward moves that improve the moving resiude's Ramachandran score.", legal=['true','false'], default='true' ),
2632  Option( 'rama_2b', 'Boolean', desc="Use two-body (neighbor-dependent) Ramachandran score.", legal=['true','false'], default='false' ),
2633  Option( 'temperature', 'Real', desc='Temperature (roughly in units of kT) to use when accepting a move that does not improve the Ramachandran score.', default='0.25' ),
2634  ), # -loops:ccd' )
2635  ), # -loops
2636 
2637  #Interface statistics app (JKLeman)
2638  Option_Group( 'intf',
2639  Option( 'chains', 'String', desc='Chains over which the statistics are taken, can be multiple. Example: \'AEF\'. If not given, takes statistics over unique chains in the PDB.'),
2640  ),
2641 
2642  #New Membrane Protein Option group (RosettaMP)
2643  Option_Group( 'mp',
2644 
2645  #Membrane options
2646  Option( 'thickness', 'Real', desc='Thickness of the membrane used by the high resolution scoring function. Overwrites default thickness of 30A.'),
2647  Option( 'steepness', 'Real', desc='Control transition region between polar and nonpoar phases for the membrane model used by the high resolution energy function. Default = 10 gives a 6A transition region.'),
2648 
2649  #Embedding options - advanced (these are currently not used)
2650  Option( 'center_start', 'RealVector', desc='Starting point for center search. Example: 3 2 4.'),
2651  Option( 'center_delta', 'Real', desc='Perturbation of center in Angstrom.'),
2652  Option( 'center_search_cycles', 'Real', desc='Iterations for center search.'),
2653  Option( 'normal_start', 'RealVector', desc='Base vector for normal search. Angles go off that vector.'),
2654  Option( 'normal_angle_start', 'Real', desc='Starting angle from base vector for normal search. Degrees.'),
2655  Option( 'normal_angle_delta', 'Real', desc='Perturbation of normal angle in degrees.'),
2656  Option( 'normal_search_cycles', 'Real', desc='Number of iterations for normal search.'),
2657  Option( 'chain_normal_angle_max', 'Real', desc='Maximum of normal angle wrt normal_start for chain embedding. Degrees.'),
2658  Option( 'pose_normal_angle_max', 'Real', desc='Maximum of normal angle wrt normal_start for pose embedding. Degrees.'),
2659 
2660  #Scoring parameters - advanced
2661  Option( 'no_interpolate_Mpair', 'Boolean', desc='from old code.'),
2662  Option( 'Hbond_depth_correction', 'Boolean', desc='from old code.'),
2663 
2664  #Penalties - advanced
2665  Option( 'TMprojection', 'Boolean', desc='Penalty for hydrophobic mismatch on/off.'),
2666  Option( 'wt_TMprojection', 'Real', desc='Weight for hydrophobic mismatch penalty.'),
2667  Option( 'non_helix', 'Boolean', desc='Penalty for non-helix residues in the membrane on/off.'),
2668  Option( 'wt_non_helix', 'Real', desc='Weight for non-helix penalty. '),
2669  Option( 'termini', 'Boolean', desc='Penalty for termini in the membrane on/off.'),
2670  Option( 'wt_termini', 'Real', desc='Weight for termini penalty.'),
2671  Option( 'secstruct', 'Boolean', desc='Penalty if structure-based secondary structure doesn\'t match predicted one - on/off'),
2672  Option( 'wt_secstruct', 'Real', desc='Weight for secondary structure penalty.'),
2673  Option( 'spanning', 'Boolean', desc='Penalty if structure-based spanning doesn\'t match spanfile - on/off.'),
2674  Option( 'wt_spanning', 'Real', desc='Weight for spanning penalty.'),
2675 
2676  Option_Group( 'viewer',
2677  Option( 'thickness', 'Real', desc="Thickness of membrane to visualize", default='15' ),
2678  Option( 'num_points', 'Integer', desc="Number of points to define the membrane planes. x >= 3" ),
2679  ),
2680 
2681  # Visualization Options (Visualize Membrane Mover)
2682  Option_Group( 'visualize',
2683  Option( 'embedding', 'Boolean', desc='Visualize embedding centers and normals for each pose element', default='true' ),
2684  Option( 'spacing', 'Real', desc="Spacing of virtual membrane residues representing the membrane planes", default='5' ),
2685  Option( 'width', 'Real', desc='Width of membrane planes for n by n plane', default='100' ),
2686  Option( 'thickness', 'Real', desc="Thickness of membrane to visualize", default='15' ),
2687  Option( 'plane_radius', 'Real', desc="Radius of membrane planes to draw in PyMol - part of the PyMol viewer plugin" ),
2688  ),
2689 
2690  # Scoring options
2691  Option_Group( 'scoring',
2692  Option( 'hbond', 'Boolean',
2693  desc="Hydrogen bonding energy correction for membrane proteins"),
2694  ),
2695 
2696  # Setup Options
2697  Option_Group( 'setup',
2698  Option( 'spanfiles', 'StringVector', desc="Spanning topology file from Octopus" ),
2699  Option( 'spans_from_structure', 'Boolean', desc="Uses spanning topology computed from the PDB; requires the protein to be transformed into the membrane coordinate frame!" ),
2700  Option( 'lipsfile', 'String', desc="List of lips files by chain", default='mypdb.lips4' ),
2701  Option( 'center', 'RealVector', desc="membrane center x,y,z" ),
2702  Option( 'normal', 'RealVector', desc="membrane normal x,y,z" ),
2703  Option( 'membrane_rsd', 'Real', desc="membrane residue number" ),
2704 
2705  Option( 'transform_into_membrane', 'Boolean', desc="score_jd2: transform protein into fixed membrane before scoring; spanfile required" ),
2706  Option( 'position_from_topo', 'Boolean', desc="determine a membrane position from the transmembrane spans of the protein" ),
2707 
2708  Option( 'optimize1', 'Boolean', desc="Optimize position in membrane for partner 1 using membrane scorefunction.", default='false' ),
2709  Option( 'optimize2', 'Boolean', desc="Optimize position in membrane for partner 2 using membrane scorefunction.", default='false' ),
2710  ),
2711 
2712  # For transforming protein into the membrane
2713  Option_Group( "transform",
2714  Option( "optimize_embedding", 'Boolean', desc="Use the scorefunction to optimize the embedding after an initial coarse grained setting" ),
2715  ),
2716 
2717  #MP_Docking Option group - JKLeman (julia.koehler1982@gmail.com)
2718  Option_Group( 'dock',
2719 
2720  #Scoring options
2721  Option( 'weights_cen', 'String', desc='Scorefunction for low-resolution step.'),
2722  Option( 'weights_fa', 'String', desc='Scorefunction for high-resolution step.'),
2723  Option( 'lowres', 'Boolean', desc='Use centroid score function for finding interface.'),
2724 # Option( 'highres', 'Boolean', desc='Use full-atom score function for finding interface.'),
2725  Option( 'allow_flips', 'Boolean', desc='Allow partner 2 to flip in the membrane during global search. Default: yes.' ),
2726  Option( 'flexible_bb', 'Boolean', desc='Do a flexible backbone docking: runs relax before and after docking.' ),
2727  Option( 'flexible_sc', 'Boolean', desc='Do a flexible sidechain docking: repacks before and after docking.' ),
2728  Option( 'slide_threshold', 'Real', desc='Theshold for scoreterm to define partner closeness in SlideIntoContact.' ),
2729  ),
2730 
2731  #MP_Docking Option group - JKLeman (julia.koehler1982@gmail.com)
2732  Option_Group( 'quickrelax',
2733 
2734  #Scoring options
2735  Option( 'angle_max', 'Real', desc='Maximum allowed change in dihedral angles. Typical values around 1.'),
2736  Option( 'nmoves', 'String', desc='Number of moves allowed. Typical value is close to the number of residues in the protein: [nres] is allowed value. '),
2737  Option( 'repack_again', 'Boolean', desc='Do an additional round of sidechain repacking, simultaneously including all sidechains.'),
2738 
2739  ),
2740 
2741  #mutate relax Option group - JKLeman (julia.koehler1982@gmail.com)
2742  Option_Group( 'mutate_relax',
2743 
2744  Option( 'mutation', 'String', desc='Single mutation: Format: One-letter code / residue number / one-letter code. Example: A163F'),
2745  Option( 'mutant_file', 'String', desc='Input file containing mutations'),
2746  Option( 'iter', 'Integer', desc='Number of iterations to run. Typically 100.' ),
2747  Option( 'repack_mutation_only', 'Boolean', desc='Boolean - Only repack the mutated residue(s), no relax.' ),
2748  Option( 'repack_radius', 'Real', desc='Float - Repack within a radius of X Angstrom of the mutated residue(s).' ),
2749  Option( 'relax', 'Boolean', desc='Boolean - Do a full relax run with both backbone minimization and repacking.' ),
2750 
2751  ),
2752 
2753  ### Options For Benchmarking
2754  ### @author Rebecca Alford (rfalford12@gmail.com)
2755  Option_Group( 'benchmark',
2756 
2757  ## Build Ideal/Canonical Alpha helices
2758  Option_Group( 'ideal_helix',
2759  Option( 'helix_start', 'Real', desc="Start position for ideal helix dihedral angles" ),
2760  Option( 'helix_end', 'Real', desc="End position for ideal helix dihedral angles" )
2761  ),
2762 
2763  ## Sampling of per-helix tilt angles
2764  Option_Group( 'tilt_angle',
2765  Option( 'output', 'String', desc="Path to tilt angle vs. score output file" ),
2766  ),
2767  ),
2768 
2769  ## Options for membrane specific output. Currently controlled by file_data, will eventually
2770  ## become an extension of JD2/JD3 - Added 8/3/15
2771  Option_Group( 'output',
2772  Option( 'normalize_to_thk', 'Boolean', desc='Output an additional MEM resdiue data in the PDB where the membrane normal is scaled to match the current membrane thickness (Makes sense for IMM Models' ),
2773  ),
2774  ),
2775 
2776 
2777  # Old RosettaMembrane Option Group
2778  # Last Modified: 1/12/14
2779  # @author Rebecca Alford
2780  Option_Group( 'membrane',
2781  # New Membrane Input Option Group
2782 # Option( 'include_lips', 'Boolean', default='false', desc='Include lipid accessibility data for membrane protiens'),
2783  # Scoring Options
2784  Option( 'normal_cycles', 'Integer', default='100', desc='number of membrane normal cycles'),
2785  Option( 'normal_mag', 'Real', default='5', desc='magnitude of membrane normal angle search (degrees)'),
2786  Option( 'center_mag', 'Real', default='1', desc='magnitude of membrane normal center search (Angstroms)' ),
2787  Option( 'smooth_move_frac', 'Real', default='0.5'),
2788  Option( 'no_interpolate_Mpair', 'Boolean', default='false'),
2789  Option( 'Menv_penalties','Boolean',default='false'),
2790  Option( 'Membed_init','Boolean',default='false'),
2791  Option( 'Fa_Membed_update','Boolean',default='false'),
2792  Option( 'center_search', 'Boolean', default='false', desc='perform membrane center search'),
2793  Option( 'normal_search', 'Boolean', default='false', desc='perform membrane normal search'),
2794  Option( 'center_max_delta', 'Integer', default='5', desc='magnitude of maximum membrane width deviation during membrane center search (Angstroms)' ),
2795  Option( 'normal_start_angle', 'Integer', default='10', desc='magnitude of starting angle during membrane normal search (degrees)' ),
2796  Option( 'normal_delta_angle', 'Integer', default='10', desc='magnitude of angle deviation during membrane normal search (degrees)' ),
2797  Option( 'normal_max_angle', 'Integer', default='40', desc='magnitude of maximum angle deviation during membrane normal search (degrees)' ),
2798  Option( 'debug', 'Boolean', default='false'),
2799  Option( 'fixed_membrane', 'Boolean', default='false', desc='fix membrane position, by default the center is at [0,0,0] and membrane normal is the z-axis'),
2800  Option( 'membrane_center', 'RealVector', desc="membrane center x,y,z" ),
2801  Option( 'membrane_normal', 'RealVector', desc="membrane normal x,y,z" ),
2802  Option( 'view', 'Boolean', default='false', desc='viewing pose during protocol'),
2803  Option( 'Mhbond_depth','Boolean',default='false', desc='membrane depth dependent correction to the hbond potential'),
2804  Option( 'thickness', 'Real', default='15', desc='one leaflet hydrocarbon thickness for solvation calculations (Angstroms)' ),
2805  ), # membrane
2806 
2807  Option_Group( 'mistakes',
2808  Option( 'restore_pre_talaris_2013_behavior', 'Boolean',
2809  desc="Restore the set of defaults that were in place before the Talaris2013 parameters were made default. This is an umbrella flag and sets the following flags if they are not set on the command line to some other value"
2810  " -mistakes::chemical::pre_talaris2013_geometries true"
2811  " -corrections::score::dun10 false"
2812  " -corrections::score::use_bicubic_interpolation false"
2813  " -corrections::score:hb_sp2_chipen false"
2814  " -corrections::score::hb_fade_energy false"
2815  " -corrections::score::hbond_measure_sp3acc_BAH_from_hvy false"
2816  " -corrections::score::lj_hbond_hdis 1.95"
2817  " -corrections::score::lj_hbond_OH_donor_dis 3.0"
2818  " -corrections::chemical::expand_st_chi2sampling false"
2819  " -score::weights pre_talaris_2013_standard.wts"
2820  " -score::patch score12.wts_patch"
2821  " -score::analytic_etable_evaluation false"
2822  " -score::hbond_params score12_params"
2823  " -score::smooth_fa_elec false"
2824  " -score::elec_min_dis 1.5"
2825  " -chemical::set_atom_properties fa_standard:ONH2:LK_DGFREE:-10.0 fa_standard:NH2O:LK_DGFREE:-10.0 fa_standard:Narg:LK_DGFREE:-11.0 fa_standard:OH:LK_DGFREE:-6.77",
2826  default="false" ),
2827  Option_Group( 'chemical',
2828  Option( 'pre_talaris2013_geometries', 'Boolean', desc="Use the version of the fa_standard geometries that were active before the Talaris2013 parameters were taken as default", default="false" ),
2829  ), # -mistakes:chemical
2830  ), # -mistakes
2831 
2832  Option_Group( 'MonteCarlo',
2833  Option( 'temp_initial', 'Real', default='2', lower='0.001', desc='initial temperature for Monte Carlo considerations' ),
2834  Option( 'temp_final', 'Real', default='0.6', lower='0.001', desc='final temperature for Monte Carlo considerations' ),
2835  ), # -MonteCarlo
2836 
2837  ################################
2838  # optimization options
2839  Option_Group( 'optimization',
2840  Option( 'default_max_cycles','Integer', desc='max cycles for MinimizerOptions', default='2000'),
2841  Option( 'armijo_min_stepsize','Real', desc='min stepsize in armijo minimizer', default='1e-8'),
2842  Option( 'scale_normalmode_dampen','Real', desc='dampening scale over normal mode index, used for NormalModeMinimizer', default='0.05'),
2843  Option( 'lbfgs_M','Integer', desc='number of corrections to approximate the inverse hessian matrix.', default='128'),
2844  Option( 'scale_d','Real', desc='max cycles for MinimizerOptions', default='1'),
2845  Option( 'scale_theta','Real', desc='max cycles for MinimizerOptions', default='1'),
2846  Option( 'scale_rb','Real', desc='max cycles for MinimizerOptions', default='10'),
2847  Option( 'scale_rbangle','Real', desc='max cycles for MinimizerOptions', default='1'),
2848  Option( 'scmin_nonideal','Boolean', desc='Do we allow sidechain nonideality during scmin (e.g. rtmin and min_pack)', default='false'),
2849  Option( 'scmin_cartesian', 'Boolean', desc='Toggle Cartesian-space minimization during scmin (e.g. rmin and min_pack)', default='false'),
2850  Option( 'nonideal', 'Boolean', desc='Permit bond geometries to vary from ideal values', default='false'),
2851  Option( 'new_sym_min', 'Boolean', desc='New approach to sym-min where all dofs, dep+indep, go into the map', default='false'),
2852  Option( 'debug_inaccurate_G', 'Boolean', desc='Debug innacurate G messages', default='false'),
2853  ), # -optimization
2854 
2855  ################STEVEN COMBS#######################
2856  Option_Group( 'orbitals',
2857  Option( 'Hpol', 'Boolean', desc="look at only polar hydrogen interactions", default='false' ),
2858  Option( 'Haro', 'Boolean', desc="look at only aromatic hydrogen interactions", default='false' ),
2859  Option( 'bb_stats', 'Boolean', desc="look at orbital backbone stats", default='false' ),
2860  Option( 'sc_stats', 'Boolean', desc="look at orbital sc stats", default='false' ),
2861 # Option( 'orb_orb_stats', 'Boolean', desc="look at orbital orbital stats", default='false' ),
2862 # Option('sc_bb', 'Boolean', desc="score the backbone", default='false'),
2863  ), # -orbitals
2864 
2865  # options for pose metric calculators-------------------------------------------------------
2866  Option_Group( 'pose_metrics',
2867  Option( 'atomic_burial_cutoff', 'Real', default='0.3', desc=' maximum SASA that is allowed for an atom to count as buried for the BuriedUnsatisfiedPolarsCalculator' ),
2868  Option( 'sasa_calculator_probe_radius', 'Real', default='1.4', desc=' the probe radius used in the SASA calculator (and thus implicitly in the BuriedUnsatisfiedPolarsCalculator' ),
2869  Option( 'interface_cutoff', 'Real', default='10.0', desc='distance in angstroms (def. 10.0) for calculating what residues are at an interface via InterfaceNeighborDefinitionCalculator'),
2870  Option( 'min_sequence_separation', 'Integer', default='6', desc=' minimum number of sequence positions that two residues need to be apart to count as nonlocal in the NonlocalContactsCalculator' ),
2871  Option( 'contact_cutoffE', 'Real', default='-1.0', desc=' maximum interaction energy allowed between two residues to count as a contact in the NonlocalContactsCalculator' ),
2872  Option( 'neighbor_by_distance_cutoff', 'Real', default='10.0', desc='distance in angstroms (def. 10.0) for calculating neighbors of a residue via NeighborByDistanceCalculator'),
2873  Option( 'inter_group_neighbors_cutoff', 'Real', default='10.0', desc='distance in angstroms (def. 10.0) for calculating interfaces between domains with InterGroupNeighborsCalculator'),
2874  Option( 'semiex_water_burial_cutoff', 'Real', default='0.25', desc='water hbond states fraction cutiff for SemiExplicitWaterUnsatisfiedPolarsCalculator (0.0,1.0)' ),
2875  Option_Group('shobuns', # SHOBuriedUnsatisfiedPolarsCalculator
2876  Option('tgt_amino', 'String', desc = 'Target amino acid type', default = '_none_'),
2877  Option('tgt_atom', 'String', desc = 'Target atom name', default = '_none_'),
2878  Option('tgt_res', 'File', desc = 'File specifying a subset of target residues', default = ''),
2879  Option('sho_cutoff', 'Real', desc = 'max SHO value for an atom to be considered solvent exposed', default = '4.9'),
2880  ), # shobuns
2881  ), # pose_metrics
2882 
2883  # Rigid body motion options ---------------------------------------------------------------------------------------
2884  Option_Group( 'rigid',
2885  Option('chainbreak_bias', 'Real', desc = 'Strength of bias applied to the translation component of rigid body moves to close chainbreak', default = '0.00'),
2886  Option('close_loops', 'Boolean', desc = 'Perform loop closure at the end of medal', default = 'true'),
2887  Option('fragment_cycles', 'Integer', desc = 'Number of fragment insertion/rigid body cycles', default = '10000'),
2888  Option('log_accepted_moves', 'Boolean', desc = 'Write accepted moves to silent file output', default = 'false'),
2889  Option('max_ca_ca_dist', 'Real', desc = 'Maximum distance between consecutive CA atoms before chunk partitioning occurs', default = '5.0'),
2890 # Option('medium_range_seqsep', 'Integer', desc = 'Constraints with sequence separation less than x are scored', default = '30'),
2891  Option('patch', 'File', desc = 'Patch file containing energy terms and their respective weights'),
2892  Option('residues_backbone_move', 'Integer', desc = 'Number of residues perturbed by a backbone move', default = '5'),
2893  Option('rotation', 'Real', desc = 'Rotation magnitude', default = '2.5'),
2894  Option('sampling_prob', 'File', desc = 'Normalized, per-residue sampling probabilities'),
2895  Option('score', 'String', desc = 'Centroid-level score function', default = 'score3'),
2896  Option('sequence_separation', 'Integer', desc = 'Maximum sequence separation for scoring chainbreaks', default = '20'),
2897 # Option('short_range_seqsep', 'Integer', desc = 'Constraints with sequence separation less than x are scored', default = '15'),
2898  Option('small_cycles', 'Integer', desc = 'Number of small/shear cycles', default = '8000'),
2899  Option('stages', 'Integer', desc = 'Number of stages over which to interpolate ramped values', default = '4'),
2900  Option('temperature', 'Real', desc = 'Monte Carlo temperature', default = '2.0'),
2901  Option('translation', 'Real', desc = 'Translation magnitude', default = '0.5'),
2902  ), # rigid
2903 
2904  # Sasa options --------------------------------------------------------------Does not work with SasaCalculatorLegacy/sasa functions in use pre-2014
2905  Option_Group( 'sasa',
2906  Option('method', 'String',
2907  desc= 'The method used to calculate sasa. More will hopefully be added in the future.',
2908  default='LeGrand',
2909  legal =['LeGrand']),
2910  Option('include_hydrogens_explicitly', 'Boolean',
2911  desc= 'Include hydrogens explicitly in the calculation. Explicit vs implicit calculations use different radii sets. These default sets can be controlled via cmd line. Historically, calculations included hydrogens implicitly. Some protocols may overwrite this setting to their needs.',
2912  default = 'true'),
2913  Option('probe_radius', 'Real',
2914  desc= 'Probe radius used by SasaCalc. Default is radius of water. 1.2 is also commonly used.',
2915  default='1.4'),
2916  Option('include_probe_radius_in_atom_radii', 'Boolean',
2917  desc= 'This is typically done in calculation of SASA, and in fact is one of the defining features of SASA. Turn this off to calculate the Surface Area instead.',
2918  default='true'
2919  ),
2920  Option('include_only_C_S_in_hsasa', 'Boolean',
2921  desc= 'Include only carbon or sulfer in hsasa calculation. This is typical. Only revert to false if excluding polar atoms by charge or everything will be counted as hydrophobic. Note hydrogens are dealt with automatically.',
2922  default='true'),
2923  Option('exclude_polar_atoms_by_charge_in_hsasa', 'Boolean',
2924  desc= 'Polar carbons and other atoms should not be included in hydrophobic hSASA - though historically they were. Set this to false to get historic hsasa',
2925  default='false'),
2926  Option('polar_charge_cutoff', 'Real',
2927  desc= 'Charge cutoff (abs value) to use on heavy atoms if excluding hydrophobic atoms from hSASA calculation by charge. The default is optimized for protein atom types (which excludes only carbonyl and carboxyl carbons. By default only carbon and sulfer are excluded.',
2928  default='.4'
2929  ),
2930  Option('implicit_hydrogen_radii_set', 'String',
2931  desc= 'The radii set to use when including hydrogens implicitly instead of explicitly. Chothia 1976 radii are used by the program Naccess. chothia=naccess',
2932  default='chothia',
2933  legal= ['chothia', 'naccess']),
2934  Option('explicit_hydrogen_radii_set', 'String',
2935  desc= 'The radii set to use when including hydrogens explicitly. Default is reduce, which was generally agreed upon at Minicon 2014 and come from original data from Bondi (1964) and Gavezzotti (1983) . LJ are the Rosetta leonard-jones radii, which are not quite exactly from Charmm. Legacy radii were optimized for a no-longer-in-Rosetta scoreterm (Jerry Tsai et al 2003)',
2936  default='reduce',
2937  legal=['reduce', 'LJ', 'legacy']),
2938  ), # -sasa
2939 
2940  # symmetry options
2941  Option_Group( 'symmetry',
2942  Option( 'symmetry_definition','String', desc="Text file describing symmetry setup",default=None),
2943  Option( 'reweight_symm_interactions','Real', desc="Scale intersubunit interactions by a specified weight",default='1.0'),
2944  Option( 'initialize_rigid_body_dofs','Boolean', desc="Initialize the RB dofs from the symmetry definition file?",default='false'),
2945  Option( 'detect_bonds','Boolean', desc="allow new cross subunit bond formation",default='true'),
2946  Option( 'perturb_rigid_body_dofs','RealVector',
2947  desc='(As in docking) Do a small perturbation of the symmetric DOFs: -perturb_rigid_body_dofs ANGSTROMS DEGREES',
2948  n='2'
2949  ),
2950  Option( 'symmetric_rmsd', 'Boolean', desc='calculate the rmsd symmetrically by checking all chain orderings'),
2951  ), # -symmetry
2952 
2953 ######################################
2954 # Application specific options
2955 # Please keep option groups in alphabetical order
2956 
2957  # Ab initio mode -----------------------------------------------------------
2958  Option_Group( 'abinitio',
2959  Option( 'abinitio', 'Boolean', desc="Ab initio mode" ),
2960 # Option( 'prob_perturb_weights', 'Real', desc='Probability of perturbing score function weights', default='0', lower='0', upper='1',),
2961  Option('membrane', 'Boolean', desc = "will use the membrane abinitio protocol. sequential insertion of TMH", default='false' ),
2962  #Option('TMH_topology','Boolean',desc="use TMHTopologySampler to sample membrane SSE placements"),
2963  Option('use_loophash_filter','Boolean',desc='use loophash filter to determine if SSEs too far away'),
2964  Option('loophash_filter_acceptance_rate','Real',desc='fraction at which want to accept poses from loophash filter if no loophash hits found'),
2965  Option('kill_hairpins', 'File', desc="setup hairpin killing in score (kill hairpin file or psipred file)"),
2966  Option('kill_hairpins_frequency', 'Real', desc="automated hairpin killing frequency (for use with psipred file)", default='0.2'),
2967  Option( 'smooth_cycles_only', 'Boolean', desc = "Only smooth cycles in abinitio protocol", default = 'false' ),
2968  Option( 'relax', 'Boolean', desc = "Do a relax after abinitio = abrelax ?" ),
2969  Option( 'final_clean_relax','Boolean', desc = 'Do a final relax without constraints' ),
2970  Option( 'fastrelax', 'Boolean', desc = "Do a fastrelax after abinitio = abfastrelax ?" ),
2971  Option( 'multifastrelax', 'Boolean', desc = "Do a fastrelax after abinitio = abfastrelax ?" ),
2972  Option( 'debug', 'Boolean', default = 'false' ),
2973  Option( 'clear_pose_cache', 'Boolean', desc = "always clear extra-scores away before output", default = 'false' ),
2974  Option(
2975  'explicit_pdb_debug', 'Boolean', default = 'false',
2976  desc = 'always dump pdb (not silent ) files during abinitio stages'
2977  ),
2978  ##Option( 'test_broker', 'Boolean', default = 'false', desc='use topology_broker system '),
2979  Option( 'use_filters', 'Boolean', default = 'false', desc='use RG, contact-order and sheet filters '),
2980  Option( 'increase_cycles', 'Real',
2981  desc='Increase number of cycles at each stage of fold_abinitio (or pose_abinitio) by this factor',
2982  lower='0.001',
2983  default='1.0',
2984  ),
2985  Option( 'number_3mer_frags', 'Integer',
2986  desc="Number of top 3mer fragments to use in fold_abinitio protocol",
2987  lower='0', default='200'
2988  ),
2989  Option( 'number_9mer_frags', 'Integer',
2990  desc='Number of top 9mer fragments to use in fold_abinitio protocol',
2991  lower='0', default='25'
2992  ),
2993  Option( 'temperature', 'Real', oldName='abinitio_temperature',
2994  desc='Temperature used in fold_abinitio',
2995  default='2.0'
2996  ),
2997  ##Option( 'vdw_reweight', 'Real',
2998  ## desc='Reweight contribution of van der Waals score to total score by this scale factor',
2999  ## default='1.0'
3000  ##),
3001  ##Option( 'env_reweight', 'Real',
3002  ## desc='Reweight contribution of environment score to total score by this scale factor (default 1.0)',
3003  ## default='1.0'
3004  ##),
3005  ##Option( 'pair_reweight', 'Real',
3006  ## desc='Reweight contribution of pair score to total score by this scale factor',
3007  ## default='1.0'
3008  ##),
3009  ##Option( 'cb_reweight', 'Real',
3010  ## desc='Reweight contribution of C_beta (packing density) score to total score by this scale factor',
3011  ## default='1.0'
3012  ##),
3013  ##Option( 'sheet_reweight', 'Real',
3014  ## desc='Reweight contribution of sheet score to total score by this scale factor',
3015  ## default='1.0'
3016  ##),
3017  ##Option( 'ss_reweight', 'Real',
3018  ## desc='Reweight contribution of strand-strand score to total score by this scale factor',
3019  ## default='1.0'
3020  ##),
3021  ##Option( 'hs_reweight', 'Real',
3022  ## desc='Reweight contribution of helix-strand score to total score by this scale factor',
3023  ## default='1.0'
3024  ##),
3025  ##Option( 'rsigma_reweight', 'Real',
3026  ## desc='Reweight contribution of R-sigma score (strand pair distance/register) to total score by this scale factor',
3027  ## default='1.0'
3028  ##),
3029  Option( 'rg_reweight', 'Real',
3030  desc='Reweight contribution of radius of gyration to total score by this scale factor',
3031  default='1.0'
3032  ),
3033  ##Option( 'parallel_weight', 'Real',
3034  ## desc='Reweight score for parallel strand pairing between residues whose strands are separated by more than 10 A',
3035  ##),
3036  ##Option( 'antiparallel_weight', 'Real',
3037  ## desc='Reweight score for antiparallel strand pairing between residues whose strands are separated by more than 10 A',
3038  ## default='1.0',
3039  ##),
3040 # Option( 'strand_dist_cutoff', 'Real',
3041 # desc='Specify distance cutoff (in Angstroms) between strand dimers within which they are called paired',
3042 # default='6.5'
3043 # ),
3044 # Option( 'stretch_strand_dist_cutoff', 'Boolean',
3045 # desc="Allow strand distance cutoff to change from 6.5 A to a larger value (specified by '-max_strand_dist_cutoff <float>') linearly scaled according to sequence separation over a range specified by '-seq_sep_scale <float>' ",
3046 # ),
3047  Option( 'rsd_wt_helix', 'Real',
3048  desc='Reweight env,pair,cb for helix residues by this factor',
3049  default='1.0',
3050  ),
3051  Option( 'rsd_wt_strand', 'Real',
3052  desc='Reweight env,pair,cb for strand residues by this factor',
3053  default='1.0',
3054  ),
3055  Option( 'rsd_wt_loop', 'Real',
3056  desc='Reweight env,pair,cb for loop residues by this factor',
3057  default='1.0',
3058  ),
3059 
3060  ##Option( 'rand_envpair_res_wt', 'Boolean',
3061  ## desc='Reweight of env,pair,cb contributions by random factors (between 0.5 and 1.2) for each residue',
3062  ##),
3063  ##Option( 'rand_SS_wt', 'Boolean',
3064  ## desc='Reweight helix-strand, strand-strand, sheet, and rsigma scores by random factors between 0.5 and 1.5',
3065  ##),
3066  ##Option( 'random_parallel_antiparallel', 'Boolean',
3067  ## desc="For each decoy, randomly choose whether to drastically upweight long range parallel strand pairings (by a random factor up to 10-fold) and downweight long range antiparallel pairings, or vice versa",
3068  ##),
3069  ##Option( 'optimize_rmsd', 'Boolean',
3070  ## desc='Optimize a score function composed of van der waals score plus a component proportional to -1/rmsd',
3071  ##),
3072  ##Option( 'handedness_score', 'Boolean',
3073  ## desc='Evaluate whether any beta-alpha-beta connections are left-handed during run; if so, adds a penalty to sheet score',
3074  ##),
3075  # May be need its own category, look: https://wiki.rosettacommons.org/index.php/Command-line_reference
3076 # Option( 'fast', 'Boolean',
3077 # desc='Runs protocol without minimization or gradients, giving a significant speed advantage For NOE data only, -fast yields essentially the protocol published by Bowers et al., JBNMR, 2000. For RDC data only, -fast omits the refinement step included in examples published in Rohl&Baker, JACS, 2002. without the -fast option',
3078 # ),
3079 # ##Option( 'score_contact_flag', 'Boolean',
3080  ## desc='To turn the contact scoring on',
3081  ##),
3082  ### Default is computed and passed in lookup
3083  ##Option( 'score_contact_file', 'File',
3084  ## desc='Name of a file containing the probabilities. Default filename is <5lettercode>.contact The format is a line with the number of contacts, then: aa1(integer) aa2(integer) probability(double) one contact per line, everything after the third word will be ignored',
3085  ##),
3086  ##Option( 'score_contact_weight', 'Real',
3087  ## desc='To set the weight - default is 1',
3088  ## default='1.0'
3089  ##),
3090  ##Option( 'score_contact_threshold', 'Real',
3091  ## desc='Prediction probabilities above this threshold result in a bonus for the decoy, probabilities below this threshold result in a penalty - default is 0.5',
3092  ## default='0.5'
3093  ##),
3094  ##Option( 'score_contact_seq_sep', 'Integer',
3095  ## desc='Only AA separated at least this number in sequence are considered - default is 1',
3096  ## default='1'
3097  ##),
3098  ##Option( 'score_contact_calpha', 'Boolean',
3099  ## desc='Use distances between alpha carbons, not centroids to assign bonuses',
3100  ##),
3101  ##
3102  ### Default (8 or 11) passed in lookup: Should this be a 2-valued option?
3103  ##Option( 'score_contact_distance', 'Real',
3104  ## desc='Give distance under which contact is given bonus [Default is 8 angstroms (centroid/centroid) or 11 angstroms (c_alpha/c_alpha)]',
3105  ##),
3106  ##Option( 'score_contact_readindist', 'Boolean',
3107  ## desc='Instead of using score_contact_distance, read in distances from contact file as fourth column: aa1(integer) aa2(integer) probability(double) distance(double)',
3108  ##),
3109  ##Option( 'score_contact_fullatom', 'Boolean',
3110  ## desc="By default the 'contact score' is off during full atom; this option turns it on"
3111  ##),
3112  Option( 'skip_convergence_check', 'Boolean',
3113  desc="this option turns off the convergence check in stage3 (score 2/5)"
3114  ),
3115  Option( 'stage1_patch', 'FileVector',
3116  desc="Name of weights patch file (without extension .wts) to use during stage1 abinitio"),
3117  Option( 'stage2_patch', 'FileVector',
3118  desc="Name of weights patch file (without extension .wts) to use during stage2 abinitio"),
3119  Option( 'stage3a_patch', 'FileVector',
3120  desc="Name of weights patch file (without extension .wts) to use during stage3a abinitio"),
3121  Option( 'stage3b_patch', 'FileVector',
3122  desc="Name of weights patch file (without extension .wts) to use during stage3b abinitio"),
3123  Option( 'stage4_patch', 'FileVector',
3124  desc="Name of weights patch file (without extension .wts) to use during stage4 abinitio"),
3125  Option( 'stage5_patch', 'FileVector',
3126  desc="Name of weights patch file (without extension .wts) to use during stage5 abinitio"),
3127 # Option( 'exit_when_converged', 'Boolean', desc="finish abinitio if mc_converged", default='false' ),
3128 
3129  Option( 'steal_3mers' , 'Boolean', desc='stealing: use 3mers from native', default='false' ),
3130  Option( 'steal_9mers' , 'Boolean', desc='stealing: use 9mers from native', default='false' ),
3131  Option( 'no_write_failures', 'Boolean', desc='dont write failed structures to silent-out', default='false' ),
3132  Option( 'relax_failures', 'Boolean', desc='relax failures anyway', default='false' ),
3133  # Option( 'no_prof_info_in_silentout', 'Boolean', desc='add column <seconds> to silent output', default='false' ),
3134  Option( 'relax_with_jumps', 'Boolean', desc='switch to allow relax even if loops are not closed ', default='false' ),
3135  Option( 'process_store', 'Boolean', desc='run process_decoy on each structure in the structure store', default='false' ),
3136  Option( 'fix_residues_to_native', 'IntegerVector', desc='these residues torsions are copied from native and fixed', default='0' ),
3137  Option( 'return_full_atom', 'Boolean', desc='return a full-atom structure even if no relax is done', default='false' ),
3138  Option( 'detect_disulfide_before_relax','Boolean', desc='run detect_disulfides() before relax', default='false' ),
3139 
3140  Option( 'close_loops', 'Boolean', desc='close loops', default='false' ),
3141 
3142  Option( 'bGDT', 'Boolean', desc="compute gdtmmm", default='true' ),
3143 
3144  Option( 'dump_frags', 'Boolean', desc='for control purposes... dump fragments', default='false' ),
3145  Option( 'jdist_rerun', 'Boolean', desc='go through intput structures and evaluate ( pca, rmsd, cst-energy )', default='false' ),
3146 
3147  Option( 'perturb', 'Real', desc='add some perturbation (gaussian) to phi/psi of native', default='0.0' ),
3148  Option( 'rerun', 'Boolean', desc='go through intput structures and evaluate ( pca, rmsd, cst-energy )', default='false' ),
3149  Option( 'rmsd_residues', 'IntegerVector', desc='give start and end residue for rmsd calcul.', default='-1' ),
3150  Option( 'start_native', 'Boolean', desc='start from native structure (instead of extended)', default='false' ),
3151  Option( 'cyclic_peptide', 'Boolean', desc='set up cyclic peptide (N-to-C cyclization) constraints for abinitio runs', default='false' ),
3152  Option( 'debug_structures', 'Boolean', desc="write structures to debug-out files", default='false' ),
3153 
3154  Option( 'log_frags', 'File', desc='fragment insertions (each trial) will be logged to file', default='' ),
3155  Option( 'only_stage1', 'Boolean', desc='useful for benchmarks sets cycle of all higher stages to 0', default='false' ),
3156  Option( 'end_bias', 'Real', desc='set the endbias for Fragment moves', default='30.0' ),
3157  Option( 'symmetry_residue', 'Integer', desc='hacky symmetry mode for dimers, fragments are inserted at i and i + SR - 1', default='-1' ),
3158  Option( 'vdw_weight_stage1', 'Real', desc='vdw weight in stage1', default='1.0' ),
3159  Option( 'override_vdw_all_stages', 'Boolean', desc='apply vdw_weight_stage1 for all stages', default='false' ),
3160  Option( 'recover_low_in_stages', 'IntegerVector',desc='say default: 2 3 4 recover_low happens in stages 2 3 4', default='0' ),
3161  Option( 'skip_stages', 'IntegerVector',desc='say: 2 3 4, and it will skip stages 2 3 4', default='0' ),
3162  Option( 'close_chbrk', 'Boolean', desc='Chain break closure during classic abinito ', default='false' ),
3163  Option( 'include_stage5', 'Boolean', desc='stage5 contains small moves only', default='false' ),
3164  Option( 'close_loops_by_idealizing', 'Boolean', desc='close loops by idealizing the structure after stage 4', default='false' ),
3165  Option( 'optimize_cutpoints_using_kic', 'Boolean', desc='optimize around cutpoints using kinematic relax', default='false' ),
3166  Option( 'optimize_cutpoints_margin', 'Integer', desc='', default='5' ),
3167 
3168 # Option ('HD_EX_Info', 'File', desc= 'input list of residues with low amide protection ' ),
3169 # Option ('HD_penalty', 'Real', desc= 'penatlty for each inconsistent pairing with HD data ', default='0.1' ),
3170 # Option ('HD_fa_penalty','Real', desc = 'penalty for each Hbond donor inconsistent with HD donor', default = '0.1' ),
3171 # Option ('sheet_edge_pred','File', desc= 'file with interior/exterior predictions for strands' ),
3172 # Option ('SEP_score_scalling','Real', desc= 'scalling factor', default = '1.0' ),
3173 
3174  Option_Group('star',
3175  Option('initial_dist_cutoff', 'Real', desc = 'Maximum distance cutoff for restraints that constrain aligned residues to their initial positions', default = '8.0'),
3176  Option('min_unaligned_len', 'Integer', desc = 'Minimum length of an unaligned region', default = '3'),
3177 # Option('short_loop_len', 'Integer', desc = 'StarAbinitio treats short loops differently from long ones. If the sequence separation between the consecutive aligned regions is <= short_loop_len, it is considered short, otherwise it is considered long.', default = '18'),
3178  ), # -abinito:star
3179  ), # -abinitio
3180 
3181  # abrelax mode -----------------------------------------------------------
3182  Option_Group( 'abrelax',
3183  Option( 'abrelax', 'Boolean', desc="ab initio relax mode" ),
3184 # Option( 'filters', 'Boolean', desc="", oldName='abrelax_filters' ),
3185  Option( 'fail_unclosed', 'Boolean', desc="structures which don't close loops are reported as FAIL_DO_NOT_RETRY", default='false' ),
3186  ), # -abrelax
3187 
3188  #########################AnchoredDesign#############################
3189  Option_Group( 'AnchoredDesign',
3190  Option( 'anchor', 'File', desc='anchor specification file', default='anchor' ),
3191  Option( 'allow_anchor_repack', 'Boolean', desc='allow repacking of anchor (default is to prevent)', default='false'),
3192  Option( 'vary_cutpoints', 'Boolean', desc='vary loop cutpoints. Picks new cutpoints at start of each nstruct', default='false'),
3193  Option( 'no_frags', 'Boolean', desc='use no fragments. Overrides passing an old-style fragment file. Skips new-style fragment generation.', default='false'),
3194  Option( 'debug', 'Boolean', desc='debug mode (extra checks and pdb dumps)', default='false' ),
3195  Option( 'show_extended', 'Boolean', desc='dump pre-perturb PDB to check if loop torsions are extended and/or sequence is fuzzed; debugging only', default='false' ),
3196  Option( 'refine_only', 'Boolean', desc='refine only mode (skip perturbation step)', default='false' ),
3197  Option( 'perturb_show', 'Boolean', desc='dump perturbed centroid pdbs as well as final results', default='false' ),
3198  Option( 'perturb_cycles', 'Integer', desc='perturbation phase runs for <input> cycles', default = '5' ),
3199  Option( 'perturb_temp', 'Real', desc='perturbation phase temperature for monte carlo', default = '0.8' ),
3200  Option( 'perturb_CCD_off', 'Boolean', desc='CCD-style loop remodeling off in perturb phase (meaning, KIC only)', default = 'false' ),
3201  Option( 'perturb_KIC_off', 'Boolean', desc='KIC-style loop remodeling off in perturb phase (meaning, CCD only)', default = 'false' ),
3202  Option( 'refine_CCD_off', 'Boolean', desc='CCD-style loop remodeling off in refine phase (meaning, KIC only)', default = 'false' ),
3203  Option( 'refine_KIC_off', 'Boolean', desc='KIC-style loop remodeling off in refine phase (meaning, CCD only)', default = 'false' ),
3204  Option( 'refine_cycles', 'Integer', desc='refinement phase runs for <input> cycles', default = '5' ),
3205  Option( 'refine_temp', 'Real', desc='refinement phase temperature for monte carlo', default = '0.8' ),
3206  Option( 'refine_repack_cycles', 'Integer', desc='refinement phase runs repack every <input> cycles', lower = '2', default = '20' ),
3207  Option( 'rmsd', 'Boolean', desc='Calculate result structure CA RMSD from starting structure', default = 'false'),
3208  Option( 'unbound_mode', 'Boolean', desc='Ignore the anchor, as if this were loop modeling', default = 'false'),
3209  Option( 'chainbreak_weight', 'Real', desc='Chainbreak term weight', default = '2.0'),
3210  Option_Group( 'filters',
3211  Option( 'score', 'Real', desc='do not print trajectories with scores greater than this total scorefunction value', default='0'),
3212  Option( 'sasa', 'Real', desc='do not print trajectories with sasas less than this interface delta sasa value', default='500'),
3213  Option( 'omega', 'Boolean', desc='filter out non-trans omegas', default='false'),
3214  ), # -AnchoredDesign:filters
3215  Option_Group( 'akash',
3216  Option( 'dyepos', 'Integer', desc='dye position', default = '0'), #deliberate illegal default - flag should be ignored if not user specified ),
3217  ), # -AnchoredDesign:akash
3218  Option_Group( 'testing',
3219  Option( 'VDW_weight', 'Real', desc='centroid VDW weight; testing if 2 better than 1', lower='0', default = '1.0'),
3220  Option( 'anchor_via_constraints', 'Boolean', desc='allow anchor&jump to move; anchor held in place via constraints - you must specify constraints!', default = 'false'),
3221  Option( 'delete_interface_native_sidechains', 'Boolean', desc='benchmarking option. delete input sidechains as prepacking step before running centroid or fullatom phases. use if also using use_input_sc and doing benchmarking. use_input_sc is used because of sidechain minimization, not to maintain input sidechains.'),
3222  Option( 'RMSD_only_this', 'File', desc='Perform only RMSD calculations without modifying input. Only used for re-running metrics during benchmarking/debugging.'),
3223  Option( 'anchor_noise_constraints_mode', 'Boolean', desc='Hold the anchor loosely (via constraints), not rigidly. Automatically generate the constraints from the starting pose. Mildly randomize the anchor\'s placement before modeling (up to 1 angstrom in x,y,z from initial placement.) Only compatible with single-residue anchors. Used to meet a reviewer\'s commentary.', default = 'false'),
3224  Option( 'super_secret_fixed_interface_mode', 'Boolean', desc='hold the anchor-containing loop fixed. Currently in testing.', default = 'false'),
3225  Option( 'randomize_input_sequence', 'Boolean', desc='randomizes the input sequence by packing with a null scorefunction; uses the AnchoredDesign-specified packer task (obeys resfile, etc).', default = 'false'),
3226  ), # -AnchoredDesign:testing
3227  ), # -AnchoredDesign
3228 
3229  ##############################################################################
3230  # Rosetta Antibody Options -----------------------------------------------
3231  Option_Group('antibody',
3232  Option( 'antibody', 'Boolean',
3233  desc='Antibody option group',
3234  legal='true', default='true'
3235  ),
3236 
3237  Option('numbering_scheme', 'String',
3238  desc='The numbering scheme of the PDB file. Options are: Chothia_Scheme, Enhanced_Chothia_Scheme, AHO_Scheme, IMGT_Scheme. Kabat_Scheme is also accepted, but not fully supported due to H1 numbering conventions. Use Kabat_Scheme with caution.',
3239  default='Chothia_Scheme'
3240  ),
3241  Option('cdr_definition', 'String',
3242  desc='The CDR definition to use. Current Options are: Chothia, Aroop, North, Kabat, Martin',
3243  default='Aroop'
3244  ),
3245  Option('light_chain', 'String',
3246  desc='Type of light chain if known. Only used for design for now.',
3247  legal = ['unknown', 'lambda', 'kappa'],
3248  default='unknown'
3249  ),
3250  Option('check_cdr_chainbreaks', 'Boolean',
3251  desc='Check CDRs of input antibody for chainbreaks upon initializing RosettaAntibody and RosettaAntibodyDesign. Chainbreaks found will result in the model not proceeding. A peptide bond in the loop is considered broken if its C-N bond is > 2.0 A',
3252  default='true'
3253  ),
3254  Option('check_cdr_pep_bond_geom', 'Boolean',
3255  desc='Check CDRs of input antibody for bad peptide bond geometry. This checks Ca-C-N and C-N-Ca bond angles for -large- deviations from the min max values found in a recent analysis of protein geometry - Conformation dependence of backbone geometry in proteins. Structure -. If found, the model will not proceed. Use FastRelax with bond angle min to fix issues. These issues usually arise from poorly resolved crystal loops or incorrectly solved structures. Many older antibody structures have some of these issues.',
3256  default='false'
3257  ),
3258  Option( 'graft_l1', 'Boolean',
3259  desc='Graft CDR L1 from template',
3260  default='false'
3261  ),
3262  Option('l1_template', 'String',
3263  desc='Choose specified template for CDR L1 grafting',
3264  default='l1.pdb'
3265  ),
3266  Option( 'graft_l2', 'Boolean',
3267  desc='Graft CDR L2 from template',
3268  default='false'
3269  ),
3270  Option('l2_template', 'String',
3271  desc='Choose specified template for CDR L2 grafting',
3272  default='l2.pdb'
3273  ),
3274  Option( 'graft_l3', 'Boolean',
3275  desc='Graft CDR L3 from template',
3276  default='false'
3277  ),
3278  Option('l3_template', 'String',
3279  desc='Choose specified template for CDR L3 grafting',
3280  default='l3.pdb'
3281  ),
3282  Option( 'graft_h1', 'Boolean',
3283  desc='Graft CDR H1 from template',
3284  default='false'
3285  ),
3286  Option('h1_template', 'String',
3287  desc='Choose specified template for CDR H1 grafting',
3288  default='h1.pdb'
3289  ),
3290  Option( 'graft_h2', 'Boolean',
3291  desc='Graft CDR H2 from template',
3292  default='false'
3293  ),
3294  Option('h2_template', 'String',
3295  desc='Choose specified template for CDR H2 grafting',
3296  default='h2.pdb'
3297  ),
3298  Option( 'graft_h3', 'Boolean',
3299  desc='Graft CDR H3 from template',
3300  default='false'
3301  ),
3302  Option('h3_template', 'String',
3303  desc='Choose specified template for CDR H3 grafting',
3304  default='h3.pdb'
3305  ),
3306  Option( 'h3_no_stem_graft', 'Boolean',
3307  desc='Graft CDR H3 from template, use stem to superimpose, but do not copy the stem',
3308  default='false'
3309  ),
3310  Option( 'packonly_after_graft', 'Boolean',
3311  desc='Only do packing after grafting, do not do minimization',
3312  default='false'
3313  ),
3314  Option( 'stem_optimize', 'Boolean',
3315  desc='turn on/off the option to optimize the grafted stems',
3316  default='true'
3317  ),
3318  Option( 'stem_optimize_size', 'Integer',
3319  desc=' define the size of the stem to optimize ',
3320  default='4'
3321  ),
3322  Option( 'preprocessing_script_version', 'String',
3323  desc='Rosetta 2 using Perl script has errors for grafting',
3324  default='R3_Python'
3325  ),
3326  Option( 'model_h3', 'Boolean',
3327  desc='Model CDR H3 from scratch using fragments',
3328  default='false'
3329  ),
3330  Option( 'snugfit', 'Boolean',
3331  desc='Adjust relative orientation of VL-VH',
3332  default='false'
3333  ),
3334  Option( 'refine_h3', 'Boolean',
3335  desc='Refine CDR H3 in high resolution',
3336  default='true'
3337  ),
3338  Option( 'h3_filter', 'Boolean',
3339  desc='filter decoys having neither kink nor extend form',
3340  default='true'
3341  ),
3342  Option( 'h3_filter_tolerance', 'Real',
3343  desc='maximum number of tries for the filter',
3344  default='5'
3345  ),
3346  Option( 'cter_insert', 'Boolean',
3347  desc='insert kind or extend Ab fragments to CDR H3',
3348  default='true'
3349  ),
3350  Option( 'flank_residue_min', 'Boolean',
3351  desc='minimize flank residues of CDR H3 during high-reso refinement',
3352  default='true'
3353  ),
3354  Option( 'sc_min', 'Boolean',
3355  desc='minimize the side chain after finishing the rotamer packing',
3356  default='false'
3357  ),
3358  Option( 'rt_min', 'Boolean',
3359  desc='minimize the rotamer each packing',
3360  default='false'
3361  ),
3362  Option( 'bad_nter', 'Boolean',
3363  desc='the n-terminal is bad because of bad H3 grafting',
3364  default='true'
3365  ),
3366  Option( 'extend_h3_before_modeling', 'Boolean',
3367  desc='extend the H3 to forget the intial H3 configuration',
3368  default='true'
3369  ),
3370  Option( 'idealize_h3_stems_before_modeling', 'Boolean',
3371  desc='idealize the H3 stem, H3 grafting does not copy the coordinates which makes the grafting bad ',
3372  default='true'
3373  ),
3374  Option('remodel', 'String',
3375  desc='Choose a perturb method to model H3 in centroid mode',
3376  default='legacy_perturb_ccd'
3377  ),
3378  Option('refine', 'String',
3379  desc='Choose a refine method to model H3 in high-resol model',
3380  default='legacy_perturb_ccd'
3381  ),
3382  Option('centroid_refine', 'String',
3383  desc='Choose a refine method to refine a loop in centroid mode',
3384  default='refine_kic'
3385  ),
3386  Option( 'constrain_cter', 'Boolean',
3387  desc='The option to turn on/off the cterminal constrain penalty in loop scoring function',
3388  default='false'
3389  ),
3390  Option( 'constrain_vlvh_qq', 'Boolean',
3391  desc='The option to turn on/off the VL-VH QQ H-bond in docking scoring function',
3392  default='false'
3393  ),
3394  Option( 'snug_loops', 'Boolean',
3395  desc='Allow CDR loop backbone flexibility during minimization',
3396  default='false'
3397  ),
3398  Option( 'input_fv','File',
3399  desc='input antibody variable (Fv) region',
3400  default='FR02.pdb'
3401  ),
3402  Option( 'camelid','Boolean',
3403  desc='Camelid input with only heavy (VH) chain',
3404  default='false'
3405  ),
3406  Option( 'camelid_constraints','Boolean',
3407  desc='Display constraints file for use with camelid H3 modeler',
3408  default='false'
3409  ),
3410  ### Only used for antibody design at the moment ###
3411  ############# CDR Dihedral Constraints ############
3412  Option('use_mean_cluster_cst_data', 'Boolean',
3413  desc= 'Use CDR Dihedral cluster-based constraints which have the means as the actual cluster means. Setting this to false will use constraints that have the means set as cluster center data.',
3414  default = 'true'
3415  ),
3416  Option('force_use_of_cluster_csts_with_outliers', 'Boolean',
3417  desc= 'Force the use of cluster dihedral constraints to use ones with outliers.',
3418  default = 'false'
3419  ),
3420  Option('cluster_csts_stats_cutoff', 'Integer',
3421  desc='Value for cluster-based dihedral csts -> general dihedral csts switch. If number of total structures used for cluster-based constraints is less than this value, general dihedral constraints will be used. More data = better predictability.',
3422  default='10'
3423  ),
3424 
3425 
3426  Option('prefix', 'String', desc="File name prefix for antibody grafting outout", default='grafting.'),
3427 
3428  Option('grafting_database', 'String',
3429  desc='Path to the Antibody Grafting Database from Rosetta tools repository. Should be point to tools/antibody',
3430  default='../../tools/antibody'
3431  ),
3432 
3433  Option('blastp', 'String', desc="Path to NCBI-Blast+ executable", default='blastp'),
3434 
3435 
3436  Option('general_dihedral_cst_phi_sd', 'Real',
3437  desc = 'Standard deviation to use for phi while using general dihedral circular harmonic constraints',
3438  default='16.0'
3439  ),
3440  Option('general_dihedral_cst_psi_sd', 'Real',
3441  desc = 'Standard deviation to use for psi while using general dihedral circular harmonic constraints',
3442  default = '16.0'
3443  ),
3444  ##############################################################################
3445  # Rosetta AntibodyDesign Options -----------------------------------------------
3446  Option_Group( 'design',
3447  Option('base_cdr_instructions', 'String',
3448  desc='The Default/Baseline instructions file. Should not need to be changed.',
3449  default='/sampling/antibodies/design/default_instructions.txt'
3450  ),
3451 
3452  Option('cdr_instructions', 'String',
3453  desc='Path to CDR Instruction File',
3454  ),
3455  Option('antibody_database', 'String',
3456  desc='Path to the current Antibody Database, updated weekly. Download from http://dunbrack2.fccc.edu/PyIgClassify/ ',
3457  default='/sampling/antibodies/antibody_database_rosetta_design.db'
3458  ),
3459  Option('paper_ab_db', 'Boolean',
3460  desc='Force the use the Antibody Database with data from the North clustering paper. This is included in Rosetta. If a newer antibody database is not found, we will use this. The full ab db is available at http://dunbrack2.fccc.edu/PyIgClassify/',
3461  default='false'
3462  ),
3463  Option('paper_ab_db_path', 'String',
3464  desc='Path to the North paper ab_db path. Only used if -paper_ab_db option is passed',
3465  default='/sampling/antibodies/antibody_database_rosetta_design_north_paper.db'
3466  ),
3467  Option('design_cdrs', 'StringVector',
3468  legal = ['L1', 'L2', 'L3', 'H1', 'H2', 'H3', 'l1', 'l2', 'l3', 'h1', 'h2', 'h3'],
3469  desc = "Design these CDRs in graft and sequence design steps. Use to override instructions file"
3470  ),
3471  Option('top_designs', 'Integer',
3472  desc='Number of top designs to keep (ensemble). These will be written to a PDB and each move onto the next step in the protocol.',
3473  default='1'
3474  ),
3475  ###### Protocol Steps
3476  Option('design_protocol', 'String',
3477  desc='Set the main protocol to use. Note that deterministic is currently only available for the grafting of one CDR.',
3478  default='gen_mc',
3479  legal = ['gen_mc', 'even_cluster_mc', 'even_length_cluster_mc', 'deterministic_graft']
3480  ),
3481  Option('run_snugdock', 'Boolean',
3482  desc='Run snugdock on each ensemble after designing.',
3483  default='false'
3484  ),
3485  Option('run_relax', 'Boolean',
3486  desc = 'Run Dualspace Relax on each ensemble after designing (after snugdock if run). Also output pre-relaxed structures',
3487  default = 'false'
3488  ),
3489  Option('run_interface_analyzer', 'Boolean',
3490  desc = 'Run the Interface Analyzer and add the information to the resulting score function for each top design output.',
3491  default = 'true'),
3492 
3493  ###### Paratope + Epitope
3494  Option('paratope', 'StringVector',
3495  desc = "Use these CDRs as the paratope. Default is all of them. Currently only used for constraints. Note that these site constraints are only used during docking unless -enable_full_protocol_atom_pair_cst is set.",
3496  legal = ['L1', 'L2', 'L3', 'H1', 'H2', 'H3', 'l1', 'l2', 'l3', 'h1', 'h2', 'h3'],
3497  ),
3498  Option('epitope', 'StringVector',
3499  desc = "Use these residues as the antigen epitope. Default is to auto-identify them within the set interface distance at protocol start if epitope constraints are enabled. Currently only used for constraints. PDB Numbering. Optional insertion code. Example: 1A 1B 1B:A. Note that these site constraints are only used during docking unless -enable_full_protocol_atom_pair_cst is set.", default = []
3500  ),
3501  Option('use_epitope_constraints', 'Boolean',
3502  default = 'false',
3503  desc = "Enable use of epitope constraints to add SiteConstraints between the epitope and paratope. Note that paratope constraints are always used. Note that these site constraints are only used during docking unless -global_atom_pair_cst_scoring is set."
3504  ),
3505  ###### Constraint Control
3506  Option('dihedral_cst_weight', 'Real',
3507  default = '.3',
3508  desc = 'Weight to use for CDR CircularHarmonic cluster-based or general constraints that are automatically added to each structure and updated after each graft. Set to zero if you dont want to use these constraints. Note that they are not used for the backrub mintype. Overrides weight/patch settings.'
3509  ),
3510  Option('atom_pair_cst_weight', 'Real',
3511  default = '0.01',
3512  desc = 'Weight to use for Epitope/Paratope SiteConstraints. Paratope Side contraints are always used. Set to zero to completely abbrogate these constraints. Overrides weight/patch settings.'
3513  ),
3514  Option('global_dihedral_cst_scoring', 'Boolean',
3515  default = 'false',
3516  desc = 'Use the dihedral cst score throughout the protocol, including final scoring of the poses instead of just during minimization step'
3517  ),
3518  Option('global_atom_pair_cst_scoring', 'Boolean',
3519  default = 'false',
3520  desc = 'Use the atom pair cst score throughout the protocol, including final scoring of the poses instead of just during docking. Typically, the scoreterm is set to zero for scorefxns other than docking to decrease bias via loop lengths, relax, etc. It may indeed help to target a particular epitope quicker during monte carlo design if epitope constraints are in use, as well for filtering final models on score towards a particular epitope if docking.'
3521  ),
3522  ###### Optimization Step
3523  Option('do_dock', 'Boolean',
3524  desc='Run a short lowres + highres docking step after each graft and before any minimization. Inner/Outer loops for highres are hard coded, while low-res can be changed through regular low_res options. If sequence design is enabled, will design regions/CDRs set during the high-res dock. Recommended to ',
3525  default='false'
3526  ),
3527  Option('do_rb_min', 'Boolean',
3528  desc='Minimize the ab-ag interface post graft and any docking/cdr min by minimizing the jump',
3529  default='false'
3530  ),
3531  Option('dock_min_dock', 'Boolean',
3532  desc='Do Dock -> Min -> Dock instead of Dock->Min where you would otherwise want 2 cycles. Must already be passing do_dock',
3533  default='false'
3534  ),
3535  ###### Protocol Rounds
3536  Option('outer_cycle_rounds', 'Integer',
3537  desc='Rounds for outer loop of the protocol (not for deterministic_graft ). Each round chooses a CDR and designs',
3538  default='150'
3539  ),
3540  Option('inner_cycle_rounds', 'Integer',
3541  desc='Number of times to run the inner minimization protocol after each graft. Higher (2-3) rounds recommended for pack/min/backrub mintypes or if including dock in the protocol.',
3542  default = '1'
3543  ),
3544  Option('dock_cycle_rounds', 'Integer',
3545  desc='Number of rounds for any docking. If you are seeing badly docked structures, increase this value.',
3546  default='1'
3547  ),
3548  ##### Distance Detection
3549  Option('interface_dis', 'Real',
3550  desc='Interface distance cutoff. Used for repacking of interface, epitope detection, etc.',
3551  default='8.0'
3552  ),
3553  Option('neighbor_dis', 'Real',
3554  desc='Neighbor distance cutoff. Used for repacking after graft, minimization, etc.',
3555  default='6.0'
3556  ),
3557  ###### Outlier Control
3558  Option('use_outliers', 'Boolean',
3559  desc='Include outlier data for GraftDesign, profile-based sequence design stats, and cluster-based dihedral constraints. Outliers are defined as having a dihedral distance of > 40 degrees and an RMSD of >1.5 A to the cluster center. Use to increase sampling of small or rare clusters.',
3560  default='false'
3561  ),
3562  Option('use_H3_graft_outliers', 'Boolean',
3563  desc='Include outliers when grafting H3. H3 does not cluster well, so most structures have high dihedral distance and RMSD to the cluster center. Due to this, cluster-based dihedral constraints for H3 are not used. Sequence profiles can be used for clusters, but not usually.',
3564  default = 'true'
3565  ),
3566  Option('use_only_H3_kinked', 'Boolean',
3567  desc = 'Remove any non-kinked CDRs from the CDRSet if grafting H3. For now, the match is based on the ramachandran area of the last two residues of the H3. Kinked in this case is defined as having AB or DB regions at the end. Will be improved for detection.',
3568  default = 'false'
3569  ),
3570  ###### Regional Sequence Design
3571  Option('design_antigen', 'Boolean',
3572  desc='Design antigen residues during sequence design. Intelligently. Typically, only the neighbor antigen residues of designing cdrs or interfaces will be co-designed. Useful for specific applications.',
3573  default = 'false'
3574  ),
3575  Option('design_framework', 'Boolean',
3576  desc='Design framework residues during sequence design. Typically done with only neighbor residues of designing CDRs or during interface minimization.',
3577  default = 'false'
3578  ),
3579  Option('conservative_framework_design', 'Boolean',
3580  desc='If designing Framework positions, use conservative mutations instead of all of them.',
3581  default='true'
3582  ),
3583  ###### Seq Design Control
3584  Option('design_H3_stem', 'Boolean',
3585  default='false',
3586  desc='Enable design of the first 2 and last 3 residues of the H3 loop if sequence designing H3. These residues play a role in the extended vs kinked H3 conformation. Designing these residues may negatively effect the overall H3 structure by potentially switching a kinked loop to an extended and vice versa. Rosetta may get it right. But it is off by default to err on the cautious side of design. Sequence designing H3 may be already risky.'
3587  ),
3588  Option('design_proline', 'Boolean',
3589  default='false',
3590  desc='Enable proline design. Profiles for proline are very good, but designing them is a bit risky. Enable this if you are feeling daring.'
3591  ),
3592  Option('sample_zero_probs_at', 'Real',
3593  default='0',
3594  desc='Value for probabilstic design. Probability that a normally zero prob will be chosen as a potential residue each time packer task is called. Increase to increase variablility of positions. '
3595  ),
3596  Option('force_mutate_framework_for_cluster', 'Boolean',
3597  default = 'true',
3598  desc = "Force framework mutations that maintain certain clusters. Currently L1-11-1 vs L1-11-2. See North cluster paper for these dependencies, or checkout rosetta/database/sampling/antibodies/design/cluster_framework_mutations.txt",
3599  ),
3600  ## Profile Stats
3601  Option('seq_design_stats_cutoff', 'Integer',
3602  default='10',
3603  desc='Value for probabilistic -> conservative sequence design switch. If number of total sequences used for probabilistic design for a particular cdr cluster being designed is less than this value, conservative design will occur. More data = better predictability.'
3604 
3605  ),
3606  Option('seq_design_profile_samples', 'Integer',
3607  default='1',
3608  desc='If designing using profiles, this is the number of times the profile is sampled each time packing done. Increase this number to increase variability of designs - especially if not using relax as the mintype.'
3609  ),
3610  ##### Fine Control
3611  Option('use_light_chain_type','Boolean',
3612  default='true',
3613  desc='Use the light chain type, lambda or kappa IF given via option -antibody:light_chain. This limits any aspect of the design protocol to use only data and cdrs for the given antibody type. It (will) also add lambda vs kappa optimization steps such as L4 optimization. Extremely useful for denovo design as lambda/kappa mixing can result in lower stability and non-expression of designs. Failed mixed designs would then require manual framework mutations, framework switching, or other optimizations for succes. Use PyIgClassify (see docs) to identify your framework as lambda or kappa. Switch this to false or do not pass the -light_chain option to increase sampling with a greater risk of failed designs.'
3614  ),
3615  Option('idealize_graft_cdrs', 'Boolean',
3616  desc='Idealize the CDR before grafting. May help or hinder. Still testing.',
3617  default = 'false'
3618  ),
3619  Option('add_backrub_pivots', 'StringVector',
3620  desc = 'Additional backrub pivot residues if running backrub as the MinType. PDB Numbering. Optional insertion code. Example: 1A 1B 1B:A. Can also specify ranges: 1A-10:A. Note no spaces in the range.',
3621  ),
3622  Option('inner_kt', 'Real',
3623  desc = "KT used in the inner min monte carlo after each graft.",
3624  default = '2.0'),
3625  Option('outer_kt', 'Real',
3626  desc = 'KT used for the outer graft Monte Carlo. Each graft step will use this value',
3627  default = '1.0'),
3628  ###### Benchmarking
3629  Option('random_start', 'Boolean',
3630  desc = 'Start graft design (currently) with a new set of CDRs from the CDRSets as to not bias the run with native CDRs.',
3631  default='false'
3632  ),
3633  Option('adapt_graft', 'Boolean',
3634  desc = 'Adapt the grafting algorithm to increase rate of closed grafts. Takes more time. Grafts that cannot be closed may not be very compatable with the framework in the first place.',
3635  default='true'
3636  ),
3637  Option('enable_adapt_graft_cartesian', 'Boolean',
3638  desc = 'Cartesian minimization seems to be causing numerous bugs since the Lukis AST pointer rewrite. These only happen on the cluster and it is very difficult to reproduce them. Until this is fixed, we can skip the cartesian adaptation where cartesian minimization would run when the graft could not close properly. Exceptions are wrapped so that when it does fail we skip the graft. Set this to false to disable its use',
3639  default = 'false'
3640  ),
3641  Option('remove_antigen', 'Boolean',
3642  desc = 'Remove the antigen from the pose before doing any design on it',
3643  default = 'false'
3644  ),
3645  Option('add_graft_log_to_pdb', 'Boolean',
3646  desc = 'Add the full graft log to the output pose. Must also pass -pdb_comments option.',
3647  default = 'false'
3648  ),
3649  Option('mutate_framework_for_cluster', 'Boolean',
3650  desc = 'Mutate the framework to maintain certain clusters post-graft.',
3651  default = 'false'
3652  ),
3653  ), #design
3654  ), # antibody
3655 
3656  ## Options for specific task operations - outside global packing options.
3657  Option_Group( 'task_operations',
3658  Option( 'cons_design_data_source', 'String',
3659  desc='Data source used for the ConservativeDesignOperation. This guides the set of allowed mutations. Higher blosum means higher conservation (numbers indicate sequence similarity cutoffs.',
3660  default='blosum62',
3661  legal = ['chothia_1976', 'BLOSUM30', 'blosum30', 'BLOSUM35', 'blosum35', 'BLOSUM40', 'blosum40', 'BLOSUM45', 'blosum45', 'BLOSUM50', 'blosum50', 'BLOSUM55', 'blosum55', 'BLOSUM60', 'blosum60', 'BLOSUM62', 'blosum62', 'BLOSUM65', 'blosum65', 'BLOSUM70', 'blosum70', 'BLOSUM75', 'blosum75', 'BLOSUM80', 'blosum80', 'BLOSUM85', 'blosum85', 'BLOSUM90', 'blosum90', 'BLOSUM100', 'blosum100']
3662  ),
3663  ),
3664 
3665  ##########################################################################
3666  Option_Group( 'assembly',
3667  Option( 'pdb1','File', desc='pdb1 file' ),
3668  Option( 'pdb2','File', desc='pdb2 file' ),
3669 # Option( 'nterm_seq', 'String', default='', desc='extra sequence at Nterminus' ),
3670 # Option( 'cterm_seq', 'String', default='', desc='extra sequence at Cterminus' ),
3671 # Option( 'linkers_pdb1', 'IntegerVector', desc="Residue numbers to be built as linkers " ),
3672 # Option( 'linkers_pdb2', 'IntegerVector', desc="Residue numbers to be built as linkers " ),
3673 # Option( 'preserve_sidechains_pdb1', 'IntegerVector', desc="Residue numbers to be sidchain-preserved " ),
3674 # Option( 'preserve_sidechains_pdb2', 'IntegerVector', desc="Residue numbers to be sidchain-preserved " ),
3675  ), # -assembly
3676 
3677  ## options for BackrubMover
3678  Option_Group( 'backrub',
3679  Option( 'pivot_residues', 'IntegerVector', desc='residues for which contiguous stretches can contain segments (internal residue numbers, defaults to all residues)', default = 'utility::vector1<int>()'),
3680  Option( 'pivot_atoms', 'StringVector', desc='main chain atoms usable as pivots', default = 'utility::vector1<std::string>(1, "CA")'),
3681  Option( 'min_atoms', 'Integer', desc='minimum backrub segment size (atoms)', default = '3'),
3682  Option( 'max_atoms', 'Integer', desc='maximum backrub segment size (atoms)', default = '34'),
3683 
3684  #BackrubProtocol
3685  Option( 'ntrials', 'Integer', desc='number of Monte Carlo trials to run', default = '1000'),
3686  Option( 'sc_prob', 'Real', desc='probability of making a side chain move', default = '0.25'),
3687  Option( 'sm_prob', 'Real', desc='probability of making a small move', default = '0'),
3688  Option( 'sc_prob_uniform', 'Real', desc='probability of uniformly sampling chi angles', default = '0.1'),
3689  Option( 'sc_prob_withinrot', 'Real', desc='probability of sampling within the current rotamer', default = '0.0'),
3690  Option( 'mc_kt', 'Real', desc='value of kT for Monte Carlo', default = '0.6'),
3691  Option( 'mm_bend_weight', 'Real', desc = 'weight of mm_bend bond angle energy term', default = '1.0'),
3692  Option( 'initial_pack', 'Boolean', desc = 'force a repack at the beginning regardless of whether mutations are set in the resfile', default = 'false'),
3693  Option( 'minimize_movemap', 'File', desc = 'specify degrees of freedom for minimization'),
3694  Option( 'trajectory', 'Boolean', desc = 'record a trajectory', default = 'false'),
3695  Option( 'trajectory_gz', 'Boolean', desc = 'gzip the trajectory', default = 'false'),
3696  Option( 'trajectory_stride', 'Integer', desc = 'write out a trajectory frame every N steps', default = '100'),
3697 
3698  ), # -backrub
3699 
3700  # batch_relax mode -----------------------------------------------------------
3701  Option_Group( 'batch_relax',
3702  Option( 'batch_size', 'Integer', desc='Size of batches - note that thsie affects memory usage significantly', default='100' ),
3703  #Option( 'return_all', 'Boolean', desc='Return all structures or only the ones that made it to the end ?', default='false' ),
3704  ), # -batch_relax
3705 
3706  ## options for BBGaussianMover
3707  Option_Group( 'bbg',
3708  Option( 'factorA', 'Real', desc='Control how big the move would be(acceptance rate), default 1.0', default='1.0'),
3709  Option( 'factorB', 'Real', desc='Control how local the move would be(folded 10.0, unfolded 0.1), default 10.0', default='10.0'),
3710  Option( 'ignore_improper_res', "Boolean", desc='Skip improper residues (proline)', default = 'false'),
3711  Option( 'fix_short_segment', "Boolean", desc='Do not apply small mover to short segments, for loop', default = 'false'),
3712  ), # -bbg
3713 
3714  Option_Group( 'boinc',
3715  Option( 'graphics', 'Boolean', desc='The boinc client uses this option for the windowed graphics', default='false' ),
3716  Option( 'fullscreen','Boolean', desc='The boinc client uses this option for the screensaver full screen graphics', default='false' ),
3717  Option( 'max_fps', 'Integer', desc='Maximum frames per second, overrides user preference.', default='0' ),
3718  Option( 'max_cpu', 'Integer', desc='Maximum cpu percentage, overrides user preferecne.', default='0' ),
3719  Option( 'noshmem', 'Boolean', desc='for testing graphics without shared memory.', default='false' ),
3720  Option('cpu_run_time', 'Integer', desc='Target cpu run time in seconds', default='10800'),
3721  Option('max_nstruct', 'Integer', desc='Maximum number of output models (failed or successful) for a given client', default='99' ),
3722  Option('cpu_frac', 'Real', desc='Percentage of CPU time used for graphics', default='10.0'),
3723  Option('frame_rate', 'Real', desc='Number of frames per second for graphics', default='10.0'),
3724  Option('watchdog', 'Boolean', desc='Turn watchdog on', default='false'),
3725  Option('watchdog_time', 'Integer', desc='Time interval in seconds used by watchdog to check if run is stuck or going too long (default every 5 minutes)', default='300'),
3726  Option('cpu_run_timeout', 'Integer', desc='Maximum time the WU may exceed the users WU time settings. Default is 4 hours. Used by watchdog.', default='14400'),
3727  Option('description_file', 'File', desc='work unit description file', default='rosetta_description.txt'),
3728  Option('score_cut_pct','Real', desc='score cut done on the local nodes by percentage, required to return centroid models'),
3729  Option('score_cut_fl', 'File', desc='temp file where output is stored in', default='score_cut_tmp.out'),
3730  Option('score_cut_smart_throttle', 'Boolean', desc='makes absolutely sure you are generating < 1 model per 60 seconds.(set to 65 sec to be safe)'),
3731  ), # -boinc
3732 
3733  # Broker stuff -----------------------------------------------------------
3734  Option_Group( 'broker',
3735  Option( 'setup', 'FileVector', desc="setup file for topology-broker",default='NO_SETUP_FILE' ),
3736  Option('rb_mover_stage1_weight', 'Real', desc = 'weight of RB mover in abinitio stage 1', default = '5.0'),
3737  Option('large_frag_mover_stage1_weight', 'Real', desc = 'weight of fragment mover in abinitio stage 1',default = '1.0'),
3738  Option('small_frag_mover_stage1_weight', 'Real', desc = 'weight of fragment mover in abinitio stage 1',default = '1.0'),
3739  ), # -broker
3740 
3741  Option_Group( 'bunsat_calc2',
3742 # Option( 'probe_radius', 'Real', desc="Probe radius for SASA calculation", default = '1.4' ),
3743 # Option( 'wobble', 'Real', desc="Distance atoms can move towards" \
3744 # " or away from solvent. Value is subtracted from inner shell and added to outer shell for variable distance SASA.", default = '0.0' ),
3745  Option( 'sasa_burial_cutoff', 'Real', desc="Minimum SASA to be considered exposed", default = '0.01' ),
3746  Option( 'layered_sasa', 'Boolean', desc="Use the variable distance solvent SASA calculator for finding buried unsats", default="true"),
3747  Option( 'generous_hbonds', 'Boolean', desc="Use generous hbond criteria", default = "true"),
3748  Option( 'AHD_cutoff', 'Real', desc="Minimum AHD angle for secondary geometry based h-bond detection", default = '120' ),
3749  Option( 'dist_cutoff', 'Real', desc="max dist", default = '3.0'),
3750  Option( 'hxl_dist_cutoff', 'Real', desc="hxl max dist", default = '3.5'),
3751  Option( 'sulph_dist_cutoff', 'Real', desc="max sulph dist", default = '3.3'),
3752  Option( 'metal_dist_cutoff', 'Real', desc="max metal dist", default = '2.7'),
3753  ), # -bunsat_calc2
3754 
3755  ############################################################################
3756  # equilibrium sampling options
3757  Option_Group('canonical_sampling',
3758  Option_Group('probabilities',
3759  Option('sc','Real',desc='probability of making a side chain move',default = '0.25'),
3760  Option('localbb','Real',desc='probability of making a small move',default = '0.75'),
3761  Option('sc_prob_uniform','Real',desc='probability of uniformly sampling chi angles',default = '0.1'),
3762  Option('sc_prob_withinrot','Real',desc='probability of sampling within the current rotamer',default = '0.9'),
3763  Option('sc_prob_perturbcurrent','Real',desc='probability of perturbing the current rotamer',default = '0.0'),
3764  Option('MPI_sync_pools','Boolean',desc='use MPI to synchronize pools and communicate between nodes',default = 'false'),
3765  Option('MPI_bcast','Boolean',desc='use broadcasting in syncing',default = 'false'),
3766  Option('fast_sc_moves','Boolean',desc='use the fast SidechainMCMover',default = 'false'),
3767  Option('fast_sc_moves_ntrials','Real',desc='specify the number of ntrials for each call of scmover apply',default='1000'),
3768  Option('no_jd2_output','Boolean',desc='do not write to silent-file specified by -out:file:silent',default = 'false'),
3769  Option('use_hierarchical_clustering','Boolean',desc='use the HierarchicalLevel class',default = 'false'),
3770 # Option('hierarchical_max_cache_size','Integer',desc='set the max-cache size of the hierarchy',default = '1000'),
3771  Option('backrub','Real',desc='set the probability of executing a backrub move when making a backbone move',default = '0.5'),
3772  Option('conrot','Real',desc='set relative probability of executing a conrot move when making a backbone move',default = '0.0'),
3773  ), # -canonical_sampling:probabilities
3774  Option_Group('sampling',
3775  Option('no_detailed_balance','Boolean',desc='preserve detailed balance',default = 'false'),
3776  Option('ntrials','Integer',desc='number of Monte Carlo trials to run',default = '1000' ),
3777  Option('mc_kt','Real',desc='value of kT for Monte Carlo',default='0.6'),
3778  Option('interval_pose_dump','Integer',desc='dump a pose out every x steps',default='1000'),
3779  Option('interval_data_dump','Integer',desc='dump data out every x steps',default='100'),
3780  Option('output_only_cluster_transitions','Boolean',desc='output only cluster transitions',default = 'false'),
3781  Option('transition_threshold','Real',desc='if rmsd to known_structures larger than X, add a new structure to pool',default = '2.0'),
3782  Option('max_files_per_dir','Integer',desc='distribute traj and transition files into subdirectories with max N entries',default = '1000'),
3783  Option('save_loops_only','Boolean',desc='save only loop conformation to pool',default = 'false'),
3784  Option('dump_loops_only','Boolean',desc='dump only loop conformation in silent-files',default = 'false'),
3785  ), # -canonical_sampling:sampling
3786  Option_Group('out',
3787  Option('new_structures','File',desc='',default = 'discovered_decoys.out'),
3788  ), # -canonical_sampling:out
3789  ), # -canonical_sampling
3790 
3791  ##relevent casp options for refinement protocols
3792  Option_Group( 'casp',
3793 # Option( 'decoy', 'String'),
3794 # Option( 'wt', 'String'),
3795 # Option( 'rots' , 'String'),
3796  Option( 'opt_radius', 'Real', desc='optimization radius for repacking and minimization'),
3797  Option( 'repack', 'Boolean', desc='should we repack the structure?'),
3798  Option( 'sc_min', 'Boolean', desc='should we sidechain minimize the structure?'),
3799  Option( 'sequential', 'Boolean', desc='should mutations be considered in sequence or all together?'),
3800  Option( 'num_iterations', 'Real', desc='number of iterations to perform'),
3801 # Option( 'weight_file', 'String', desc='what weight-file to use?'),
3802  Option( 'refine_res', 'String', desc='specifies file that contains which residues to refine'),
3803  ), # -casp
3804 
3805  ############################UBQ_*, chemically_conjugated_docking, UBQ_E2_thioester, UBQ_Gp_*########################
3806  Option_Group( 'chemically_conjugated_docking',
3807  #UBQ_E2_thioester AND shared group
3808  Option( 'UBQpdb', 'File', desc='ubiquitin structure, or the structure for the attached thing that is moving', default='1UBQ.pdb'),
3809  Option( 'E2pdb', 'File', desc='E2 structure, or the structure of the thing that is attached to (has cysteine) and does not move; should be one chain', default='2OB4.pdb'),
3810  Option( 'E2_residue', 'Integer', desc='E2 catalytic cysteine (PDB numbering) (where the ubiquitin gets attached; assumed to be on the first chain of E2pdb', default='85'),
3811  Option( 'SASAfilter', 'Real', desc='filter out structures with interface dSASA less than this', default='1000'),
3812  Option( 'scorefilter', 'Real', desc='filter out structures with total score greater than this', default='10'),
3813  Option( 'publication', 'Boolean', desc='output statistics used in publication. TURN OFF if not running (original Saha et al.) publication demo.', default='false'),
3814  Option( 'n_tail_res', 'Integer', desc='Number of c-terminal ~tail~ residues to make flexible (terminus inclusive)', default='3'),
3815  Option( 'two_ubiquitins', 'Boolean', desc='Mind-blowing - use two ubiquitins (assembled for a K48 linkage) to try to examine the transition state. Don\'t use this option unless trying to reproduce publication XXXX', default='false'),
3816  Option( 'extra_bodies', 'FileVector', desc='extra structures to add before modeling. Should be in the coordinate frame of the non-moving partner. Will not move during modeling. Will be detected as part of the nonmoving body for repacking purposes.', default=''),
3817  Option( 'UBQ2_lys', 'Integer', desc='which Lys on the second UB will be conjugated', default='48'),
3818  Option( 'UBQ2_pdb', 'File', desc='PDB for second ubiquitin (second moving chain). Only active if -two_ubiquitins is used; inactive otherwise. Optional; defaults to value of -UBQpdb if not passed.'),
3819  Option( 'dont_minimize_omega', 'Boolean', desc='disable minimization of omega angles near thioester in MoveMap; not present in original publications (Saha; Baker)', default='false'),
3820  #UBQ_Gp_LYX-Cterm and UBQ_Gp_CYD-CYD group
3821  Option( 'pdz', 'Boolean', desc='For the UBQ_Gp_LYX-Cterm executable, if -publication is already on, switch to the PDZ center of mass instead of ubiquitin center of mass for the extra statistics calculations. Don\'t use this option unless trying to reproduce publication XXXX', default='false'),
3822  Option( 'GTPasepdb', 'File', desc='GTPase structure, or the structure of the thing that is attached to (has cysteine) and does not move; should be one chain', default='2OB4.pdb'),
3823  Option( 'GTPase_residue', 'Integer', desc='GTPase lysine (PDB numbering) (where the ubiquitin gets attached; assumed to be on the first chain of GTPase_pdb', default='85'),
3824  ), # -chemically_conjugated_docking
3825 
3826  # Chunk related stuff -----------------------------------------------------------
3827  Option_Group( 'chunk',
3828  Option( 'pdb2', 'File', desc="file for chunk2" ),
3829  Option( 'loop2', 'File', desc="rigid region for chunk2" ),
3830  ), # -chunk
3831 
3832  # clustering options -----------------------------------------------------------
3833  Option_Group( 'cluster',
3834  Option('lite','Boolean',desc="uses light-weight method of outputting cluster-centers, useful for when there's a HUGE amount of data!",default='false'),
3835  Option( 'input_score_filter', 'Real', desc="Only read in structures below a certain energy", default = '1000000.0' ),
3836  Option( 'output_score_filter', 'Real', desc="Only read in structures below a certain energy", default = '1000000.0' ),
3837  Option( 'exclude_res', 'IntegerVector', desc="Residue numbers to be excluded from cluster RMS calculation", default = '-1' ),
3838  Option( 'thinout_factor', 'Real', desc="Ignore this fraction of decoys in the first round !", default = '-1' ),
3839 # Option( 'max_cluster_seeds', 'Integer', desc="Do not calculate initial cluster centers for more then this many structuers", default = '500' ),
3840  Option( 'radius', 'Real', desc="Cluster radius", default = '3.0' ),
3841  Option( 'limit_cluster_size', 'Integer', desc="For each cluster only retain top N ", default = '-1' ),
3842  Option( 'limit_cluster_size_percent', 'Real', desc="0 to 1. For each cluster only retain top N % " ),
3843  Option( 'random_limit_cluster_size_percent', 'Real', desc="0 to 1. For each cluster only retain random N % " ),
3844  Option( 'limit_clusters', 'Integer', desc="Only retain largest N clusters", default = '100' ),
3845  Option( 'limit_total_structures', 'Integer', desc="Only retain the first N structures (ordered by cluster number)", default = '-1' ),
3846  Option( 'max_total_cluster','Integer', desc="Only ever make N clusters or less", default = '1000'),
3847  Option( 'gdtmm', 'Boolean', desc="Cluster by gdtmm instead of RMS", default = 'false' ),
3848  Option( 'skip_align', 'Boolean', desc="Cluster without aligning the structures", default = 'false' ),
3849  Option( 'sort_groups_by_energy', 'Boolean', desc="Sort clusters by energy", default = 'false' ),
3850  Option( 'sort_groups_by_size', 'Boolean', desc="Sort clusters by energy", default = 'false' ),
3851  Option( 'remove_singletons', 'Boolean', desc="Get rid of single-member clusters", default = 'false' ),
3852  Option( 'export_only_low', 'Boolean', desc="Print only the lowest energy member", default = 'false' ),
3853  Option( 'remove_highest_energy_member', 'Boolean', desc="Remove highest energy member from each cluster", default = 'false' ),
3854  Option( 'idealize_final_structures', 'Boolean', desc="Run an idealization over the resulting structures", default = 'false' ),
3855  Option( 'limit_dist_matrix', 'Integer', desc="Only calculate full matrix for a subset of structres. Then simply assign structures to nearest cluster", default = '-1'),
3856  Option( 'make_ensemble_cst', "Boolean", desc="Create a set of constraints describing the variablity in each cluster of each residue.", default='false' ),
3857  Option( 'hotspot_hash', "Boolean", desc="Cluster hotspot hashing results. Each input PDB must contain both the target and the newly docked hotspot (which should be the last residue in the pose).", default='false' ),
3858  Option( 'loops', "Boolean", desc='Cluster the loop specified with the -loops:loop_file option', default = 'false' ),
3859  Option( 'population_weight', 'Real', desc="Order Clusters by (1-p)*score - p*size whpere p = population_weight " , default = '0.09' ),
3860 
3861  Option( 'template_scores', 'String', desc="imple textfile containing template names (in caps) and scores." ),
3862 
3863  Option( 'K_level', "Integer", desc='Hierarchical cluster level number', default = '1'),
3864  Option( 'K_radius', "RealVector", desc='Radius list of different level of cluster', default = 'utility::vector1<float>(1, 2.0)'),
3865  Option( 'K_n_cluster', "IntegerVector", desc='How many clusters in each level', default = 'utility::vector1<int>(1, 10000)'),
3866  Option( 'K_style', "StringVector", desc='Which K-cluster engine to use', default = 'utility::vector1<std::string>(9, "GKC")'),
3867 # Option( 'K_threshold', "Real", desc='Threshold for test the convergence of iteration', default = '0.01'),
3868  Option( 'K_n_sub', "Integer", desc='Number of clusters in subdir', default = '100'),
3869  Option( 'K_deque_size', "Integer", desc='Size of subcluster deque', default = '20'),
3870  Option( 'K_deque_level', "Integer", desc='Provide deque in top level', default = '1'),
3871  Option( 'K_redundant', "Boolean", desc='Keep all the higher level center structure in sub-pools', default = 'true'),
3872  Option( 'K_not_fit_xyz', "Boolean", desc='Do not rotate xyz when calculate rmsd', default = 'false'),
3873  Option( 'K_save_headers', "Boolean", desc='Save headers in silent file', default = 'false'),
3874  Option( 'score_diff_cut','Real',desc='score difference cut for RNA and SWA clustering', default = '1000000.0' ),
3875  Option( 'auto_tune', 'Boolean', desc='autotune rmsd for clustering between 0.1A up to 2.0A, for SWA clusterer', default='false' ),
3876  ),
3877 
3878  Option_Group( 'cm', # comparative modeling
3879  Option_Group('sanitize',
3880 # Option('bound_delta', 'Real', desc = 'Distance in Angstroms from aligned position before a penalty is incurred', default = '0.5'),
3881 # Option('bound_sd', 'Real', desc = 'Value of standard deviation in bound func', default = '1.0'),
3882  Option('num_fragments', 'Integer', desc = 'Use the top k fragments at each position during sanitization', default = '25'),
3883  Option('cst_weight_pair', 'Real', desc = 'atom_pair_constraint weight', default = '1.0'),
3884  Option('cst_weight_coord', 'Real', desc = 'coordinate_constraint weight', default = '1.0'),
3885  ), # -cm:sanitize
3886 
3887  Option( 'start_models_only', 'Boolean', desc='Make starting models only!', default='false' ),
3888  Option( 'aln_format', 'String', legal = ['grishin','general'],
3889  default='grishin'
3890  ),
3891  Option( 'recover_side_chains', 'Boolean', desc='recover side-chains',
3892  default='false'
3893  ),
3894  Option( 'steal_extra_residues', 'FileVector',
3895  desc='list of template extra residues (ie ligands) to add to query pose in comparative modeling',
3896  ),
3897  Option( 'loop_mover', 'String',
3898  legal = [
3899  'quick_ccd','quick_ccd_moves','perturb_ccd','perturb_kic','sdwindow'
3900  ],
3901  default='quick_ccd',
3902  ),
3903  Option( 'loop_close_level', 'Integer', legal=[ '0', '1', '2', '3' ],
3904  default='0',
3905  desc="level of aggressiveness to use in closing loops. \
3906  The integers that follow flags specify how aggressively \
3907  loops are rebuilt. Each option implies all non-zero levels below it,\
3908  so that loop_close_level 2 implies level 1 as well. Meaning of \
3909  the options are: \
3910  NO_REBUILD 0 don't rebuild loops at all \
3911  REBUILD_UNALIGNED 1 rebuild loops around unaligned regions \
3912  REBUILD_CHAINBREAK 2 rebuild loops around chainbreaks \
3913  REBUILD_EXHAUSTIVE 3 rebuild loops around regions with a chainbreak until no chainbreaks remain",
3914  ),
3915  Option( 'min_loop_size', 'Integer',
3916  desc='Minimum size of loops to remodel when building threading models.',
3917  default='5'
3918  ),
3919  Option( 'max_loop_rebuild', 'Integer',
3920  desc='Maximum number of times to try to rebuild a loop before giving up.',
3921  default='10'
3922  ),
3923  Option(
3924  'loop_rebuild_filter', 'Real',
3925  desc='Maximum score a structure must have after loop rebuilding.',
3926  default='0'
3927  ),
3928  Option( 'aln_length_filter_quantile', 'Real',
3929  desc='Only use alignment lengths longer than the Xth quantile. e.g. setting this to 0.75 will only use the 25% longest alignments',
3930  default='0.0',
3931  ),
3932  Option( 'aln_length_filter', 'Integer',
3933  desc='Only use alignment longer or equal to this length',
3934  default='-1',
3935  ),
3936 # Option( 'template_ids', 'StringVector',
3937 # desc = 'List of template identifiers to use in comparative modeling',
3938 # ),
3939 # Option( 'ligand_pdb', 'File',
3940 # desc = 'Add a ligand to the system',
3941 # ),
3942  Option( 'seq_score', 'StringVector',
3943  desc = 'sequence-based scoring scheme used for generating alignments',
3944  legal = [ 'L1', 'ProfSim', 'DP', 'Matrix', 'Simple', 'ChemicalShift' ],
3945  default = 'utility::vector1<std::string>(1,"Simple")',
3946  ),
3947  Option( 'aligner', 'String',
3948  desc = 'algorithm for making sequence alignments',
3949  legal = [ 'local', 'global', 'mc' ],
3950  ),
3951  Option( 'min_gap_open', 'Real',
3952  desc = 'gap opening penalty for sequence alignments (usually negative)',
3953  default = '-2.0',
3954  ),
3955  Option( 'max_gap_open', 'Real',
3956  desc = 'gap opening penalty for sequence alignments (usually negative)',
3957  default = '-2.0',
3958  ),
3959  Option( 'min_gap_extend', 'Real',
3960  desc = 'gap extension penalty for sequence alignments (usually negative)',
3961  default = '-0.2'
3962  ),
3963  Option( 'max_gap_extend', 'Real',
3964  desc = 'gap extension penalty for sequence alignments (usually negative)',
3965  default = '-0.2'
3966  ),
3967  Option( 'nn', 'Integer',
3968  desc = 'number of neighbors to include in constraint derivation',
3969  default = '500',
3970  ),
3971 # Option( 'fr_temperature', 'Real',
3972 # desc = 'temperature to use during fragment-based refinement of structures',
3973 # default = '2.0'
3974 # ),
3975  Option( 'ev_map','FileVector', desc='Input file that maps pdbChains to blast e-values'
3976  ),
3977  Option( 'hh_map','FileVector', desc='Input file that maps pdbChains to hhsearch probabilities'
3978  ),
3979  Option_Group( 'hybridize', # tempalate hybridization
3980  Option( 'starting_template', 'IntegerVector', desc='Define starting templates' ),
3981  Option( 'realign_domains', 'Boolean', desc='domain parse and realign the starting templates', default='true' ),
3982  Option( 'realign_domains_stage2', 'Boolean', desc='realign the starting templates to the pose after stage1', default='true' ),
3983  Option( 'add_non_init_chunks', 'Integer', desc='add (on average) this many non-template chunks', default='0' ),
3984  Option( 'stage1_increase_cycles', 'Real', desc='Scale stage 1 cycles', default='1.0' ),
3985  Option( 'stage2_increase_cycles', 'Real', desc='Scale stage 2 cycles', default='1.0' ),
3986  Option( 'stage2min_increase_cycles', 'Real', desc='Scale minimizer cycles after stage 2', default='1.0'),
3987  Option( 'stage1_probability', 'Real', desc='Probability of hybridizing in stage 1, 0=never, 1=always', default='1.0' ),
3988  Option( 'skip_stage2', 'Boolean', desc='skip cartesian fragment hybridize stage', default='false' ),
3989  Option( 'no_global_frame', 'Boolean', desc='no global-frame fragment insertions', default='false' ),
3990  Option( 'linmin_only', 'Boolean', desc='linmin only in stage 2', default='false' ),
3991  Option( 'relax', 'Integer', desc='if n==1, perform relax at end; if n>1 perform batch relax over n centroids', default='0' ),
3992  Option( 'frag_weight_aligned', 'Real', desc='Probability of fragment insertion in the aligned region', default='0.' ),
3993  Option( 'max_registry_shift', 'Integer', desc='maximum registry shift', default='0' ),
3994  Option( 'frag_1mer_insertion_weight', 'Real', desc='weight for 1mer fragment insertions where fragments are not allowed vs. template chunk insertions in stage1', default='0.0' ),
3995  Option( 'small_frag_insertion_weight', 'Real', desc='weight for small fragment insertions where large fragments are not allowed vs. template chunk insertions in stage1', default='0.0' ),
3996  Option( 'big_frag_insertion_weight', 'Real', desc='weight for big fragment insertions vs. template chunk insertions in stage1', default='0.5' ),
3997  Option( 'auto_frag_insertion_weight', 'Boolean', desc='automatically set the weight for fragment insertions vs. template chunk insertions in stage1', default='true' ),
3998  Option( 'stage1_1_cycles', 'Integer', desc='Number of cycles for ab initio stage 1 in Stage1', default='2000'),
3999  Option( 'stage1_2_cycles', 'Integer', desc='Number of cycles for ab initio stage 2 in Stage1', default='2000'),
4000  Option( 'stage1_3_cycles', 'Integer', desc='Number of cycles for ab initio stage 3 in Stage1', default='2000'),
4001  Option( 'stage1_4_cycles', 'Integer', desc='Number of cycles for ab initio stage 4 in Stage1', default='400'),
4002  Option( 'stage2_temperature', 'Real', desc='Monte Carlo temperature in the stage2', default='2.0'),
4003  Option( 'stage1_4_cenrot_score', 'String', desc='Switch to cenrot model in stage1_4', default='score_cenrot_cm_stage1_4.wts'),
4004 
4005  ), # -cm:hybridize
4006  ), # -cm
4007 
4008  ##############################################################################
4009  # ContactMap options
4010  Option_Group( 'contactMap',
4011  Option( 'contactMap', 'Boolean',
4012  desc="contactMap option group",
4013  legal='true', default='true'
4014  ),
4015  Option( 'prefix', 'String',
4016  default = 'contact_map_',
4017  desc = "Prefix of contactMap filename"
4018  ),
4019  Option( 'distance_cutoff', 'Real',
4020  default = '10.0',
4021  desc = "Cutoff Backbone distance for two atoms to be considered interacting"
4022  ),
4023  Option( 'region_def', 'String',
4024  default = '',
4025  desc = "Region definition for comparison eg: 1-10:20-30,40-50,A:ligand=X"
4026  ),
4027  Option( 'row_format', 'Boolean',
4028  default = 'false',
4029  desc = "Flag whether to output in row instead of matrix format"
4030  ),
4031  Option( 'distance_matrix', 'Boolean',
4032  default = 'false',
4033  desc = "Output a distance matrix instead of a contact map"
4034  ),
4035  ), # -contactMap
4036 
4037  ##################################
4038  # VIP mover options
4039  Option_Group( 'cp',
4040  Option( 'cutoff', 'Real', desc="designable neighbor cutoff", default='16' ),
4041 # Option( 'minimizer', 'String', desc="minimizer to use for initial minimization", default='score12_full'),
4042  Option( 'relax_sfxn', 'String', desc="score function for final relaxation step", default='score12_full'),
4043  Option( 'pack_sfxn', 'String', desc="score function for mutational trials",default='gauss'),
4044 # Option( 'minimizer_tol', 'Real', desc="tolerance for minimization", default='.0001'),
4045  Option( 'minimizer_score_fxn', 'String', desc="score function for initial minimization", default='score12_full'),
4046  Option( 'output', 'String', desc="file where we want to dump the final pose",default='final_mutant.pdb'),
4047  Option( 'ncycles', 'Integer', desc="how many cycles to run refinement for",default='0'),
4048  Option( 'max_failures', 'Integer', desc="how many failures to tolerate at each iteration before quitting",default='1'),
4049  Option( 'print_reports', 'Boolean', desc="print reports to text file?",default='false' ),
4050  Option( 'vipReportFile', 'String', desc="File to print reports to", default='reports.txt' ),
4051  Option( 'exclude_file', 'String', desc="Optional input file to specify positions that should not be mutated", default='cp_excludes' ),
4052  Option( 'relax_mover', 'String', desc="relax w/o constraints=relax, w constraints=cst_relax", default='relax'),
4053  Option( 'skip_relax','Boolean',desc="Skip relax step... may reduce accurate identification of mutations",default='false'),
4054  Option( 'local_relax','Boolean',desc="Limit relax step to neighbors",default='false'),
4055  Option( 'print_intermediate_pdbs','Boolean',desc="Output a pdb file for each consecutive mutation",default='false'),
4056  Option( 'use_unrelaxed_starting_points', 'Boolean', desc="For subsequent iterations, uses mutation before relaxation",default='false' ),
4057  Option( 'easy_vip_acceptance', 'Boolean', desc="For all iterations, use initial energy for acceptance test",default='false' ),
4058  ), # -cp
4059  # end VIP
4060 
4061  Option_Group( 'cryst',
4062  Option( 'mtzfile', 'String', desc = 'mtz file'),
4063  Option( 'crystal_refine', 'Boolean', desc='Turns on crystal-refinement-specific options', default='false' ),
4064  ),
4065 
4066  ############################################################################
4067  # Solid state NMR orientational constraints
4068  Option_Group('csa',
4069  Option( 'useZ', 'Boolean', desc='Use absolute zaxis for scoring csa'),
4070  ),
4071 
4072  # cutoutdomain Options -----------------------------------------------------------
4073  Option_Group( 'cutoutdomain',
4074  Option( 'start', 'Integer', desc="start residue", default = '1' ),
4075  Option( 'end', 'Integer', desc="end residue", default = '2' ),
4076  ), # -cutoutdomain
4077 
4078  ## Cyclization Options ##
4079  Option_Group( 'cyclization',
4080  #Option( 'chains_to_cyclize', 'IntegerVector', desc="The chain number to cyclize", default="1" ),
4081  #Option( 'chains_to_cyclize', 'IntegerVector', desc="The chain number to cyclize", default="0" ),
4082  Option( 'chains_to_cyclize', 'IntegerVector', desc="The chain number to cyclize" ),
4083  Option( 'num_min_rebuild', 'Integer', desc="The number of time to iterate between minimization and rebuilding the connection dependant atom positions", default='3' ),
4084  Option( 'add_constraints', 'Boolean', desc="The add constraints to maintain cycle geometry", default='true' ),
4085  ), # -cyclization
4086 
4087  ## Options for cyclic peptide structure prediction app (simple_cycpep_predict) -- Vikram K. Mulligan, Baker laboratory (vmullig@uw.edu) ##
4088  Option_Group( 'cyclic_peptide',
4089  Option( 'rand_checkpoint_file', 'String', desc="The name of the checkpoint file used for the random number generator. Defaults to rng.state.gz. Not used if the -cyclic_peptide:checkpoint_job_identifier flag isn't used.", default="rng.state.gz" ),
4090  Option( 'checkpoint_file', 'String', desc="The name of the checkpoint file. Defaults to checkpoint.txt. Not used if the -cyclic_peptide:checkpoint_job_identifier flag isn't used.", default="checkpoint.txt" ),
4091  Option( 'checkpoint_job_identifier', 'String', desc="A unique job name for checkpointing. If none is provided, jobs are not checkpointed.", default="" ),
4092  Option( 'default_rama_sampling_table', 'String', desc="A custom rama table used for sampling, applied by default to all residues unless the --cyclic_peptide:rama_sampling_table_by_res flag overrides this. Default unused (in which case the default rama tables for each residue type are used).", default="" ),
4093  Option( 'rama_sampling_table_by_res', 'StringVector', desc="Custom rama tables that are to be used for sampling on a per-residue basis. These must be specified as pairs of [residue_index table_name]. For example: -rama_sampling_table_by_res 2 flat_symm_gly_ramatable 3 flat_symm_pro_ramatable. Specified values override the -default_rama_sampling_table at the relevant positions.", default="" ),
4094  Option( 'sequence_file', 'String', desc="Filename of a file specfying the sequence, as a series of whitespace-separated full residue names (e.g. ALA LYS DARG DPRO HYP). Required input for the simple_cycpep_predict app." ),
4095  Option( 'genkic_closure_attempts', 'Integer', desc="How many closure attempts should we make for each job attempted by the simple_cycpep_predict app? Default 1,000.", default='1000' ),
4096  Option( 'genkic_min_solution_count', 'Integer', desc="How many solutions should genKIC find before picking one when used in the simple_cycpep_predict app? Default 1.", default='1' ),
4097  Option( 'cyclic_permutations', 'Boolean', desc="Should cyclic permutations of the sequence be considered when setting up the kinematic closure? Default true.", default='true' ),
4098  Option( 'use_rama_filter', 'Boolean', desc="Should GenKIC solutions be filtered based on rama score in the simple_cycpep_predict app? True by default.", default='true' ),
4099  Option( 'rama_cutoff', 'Real', desc="The maximum rama score value that's permitted in the accepted GenKIC solutions if the use_rama_filter option is passed to the simple_cycpep_predict app. Default 0.8.", default='0.8' ),
4100  Option( 'high_hbond_weight_multiplier', 'Real', desc="In parts of the simple_cycpep_predict protocol involving upweighting of the backbone hbond terms, by what factor should backbone hbond energy be upweighted? Default 10.0.", default='10.0' ),
4101  Option( 'min_genkic_hbonds', 'Real', desc="The minimum number of backbone hbonds for a solution to pass during GenKIC closure in the simple_cycpep_predict app. Default 3.", default='3.0' ),
4102  Option( 'min_final_hbonds', 'Real', desc="The minimum number of backbone hbonds for a solution to pass after final relaxtion in the simple_cycpep_predict app. Default 0 (report only).", default='0.0' ),
4103  Option( 'hbond_energy_cutoff', 'Real', desc="The mainchain hbond energy threshold for something to be counted as a hydrogen bond in the simple_cycpep_predict app. Default -0.25.", default='-0.25' ),
4104  Option( 'fast_relax_rounds', 'Integer', desc="The number of rounds of FastRelax to perform at each FastRelax step in the simple_cycpep_predict protocol. Note that there are two such steps: a high-hbond initial FastRelax applied to all GenKIC solutions, and a regular scorefunction final FastRelax applied to the best GenKIC solution. Default 3.", default='3' ),
4105  Option( 'count_sc_hbonds', 'Boolean', desc="Should sidechain-backbone and sidechain-sidechain hydrogen bonds be counted in the total hydrogen bond count in the simple_cycpep_predict protocol? Default false.", default='false' ),
4106  Option( 'require_disulfides', 'Boolean', desc="If true, accepted conformations must permit disulfides to be formed. All permutations of disulfides will be considered, between all disulfide-forming residues. Default false.", default='false' ),
4107  Option( 'disulf_cutoff_prerelax', 'Real', desc="If require_disulfides is true, this is the maximum disulfide energy per disulfide bond that is allowed prior to relaxation. If the energy exceeds this value, the solution is rejected. Default 15.0.", default='15.0' ),
4108  Option( 'disulf_cutoff_postrelax', 'Real', desc="If require_disulfides is true, this is the maximum disulfide energy per disulfide bond that is allowed following relaxation. If the energy exceeds this value, the solution is rejected. Default 0.5.", default='0.5' ),
4109  ), # -cyclic_peptide
4110 
4111  Option_Group('dc',
4112  Option( 'useZ', 'Boolean', desc='Use absolute zaxis for scoring dc'),
4113  ),
4114 
4115  ## ekellogg. Options for ddg protocol
4116  Option_Group( 'ddg',
4117 # Option('avg_rot_cst_enrg','Boolean',default='false'),
4118 # Option('use_bound_cst','Boolean',default='false'),
4119 # Option('cap_rot_cst_enrg','Real',default='false'),
4120  Option('opt_input_structure','Boolean',default='false'),
4121  Option('pack_until_converge','Boolean',default='false'),
4122  Option('no_constraints','Boolean',default='false'),
4123 # Option('apply_rot_cst_to_mutation_region_only','Real'),
4124 # Option('rot_cst_enrg_cutoff','Real'),
4125  Option('use_rotamer_constraints_to_native','Boolean',default='false'),
4126 # Option('single_res_scoring','Boolean'),
4127 # Option('downweight_by_sasa','Boolean'),
4128 # Option('global','Boolean'),
4129 # Option('exclude_solvent_exposed_res','Boolean'),
4130 # Option('radius','Real'),
4131 # Option('wt','String'),
4132 # Option('mut','String'),
4133 
4134  Option('suppress_checkpointing','Boolean',default='false',desc="boinc specific options to suppress checkpointing behavior"),
4135  Option('wt_only','Boolean',desc="option added to minirosetta app in order to produce only refinement in wt structures"),
4136  Option('mut_only','Boolean',desc="options added to minirosetta app in order to produce refinement in only mutant structure"),
4137  Option('output_silent','Boolean'),
4138  Option('minimization_scorefunction','String'),
4139  Option('minimization_patch','String'),
4140  Option('min_cst','Boolean',default='true',desc="Following sidechain optimization in the packer, should we then proceed to minimize the backbone at all. Constraints will be used to keep the structure from moving too far." ),
4141  Option('lowest_x_decoys','Integer'),
4142  Option('local_opt_only','Boolean',default='false'),
4143  Option('print_per_res_diff','Boolean',default='false'),
4144  Option('mean','Boolean'),
4145  Option('min','Boolean'),
4146 # Option('rb_restrict_to_mutsite_nbrs','Boolean',default='false'),
4147  Option('no_bb_movement','Boolean',default='false'),
4148  Option('initial_repack','Boolean',default='false'),
4149 # Option('rb_file','String'),
4150  Option('interface_ddg','Integer',default='0', desc='Calculate ddGs across an interface? Uses jump # specified for determining interface.'),
4151  Option('ens_variation', 'Real', default='0.5'),
4152  Option('sc_min_only','Boolean',default='true'),
4153  Option('min_cst_weights','String',default='talaris2013'),
4154  Option('opt_radius','Real',default='8.0'),
4155  Option('output_dir','String',default='./'),
4156  ##Option('accepted_mc_pose_dir','String',default='./'),
4157  Option('last_accepted_pose_dir','String',default='./'),
4158  Option('min_with_cst','Boolean', default='false', desc="Used in ensemble generation"),
4159  Option('temperature', 'Real', default='10',desc='because I really dont know what the monte carlo temperature should be set to'),
4160  Option('ramp_repulsive','Boolean',default='false',desc='set fa_rep to 0.1, 0.33 of original value when minimizing in the minimization phase following packing'),
4161  Option('mut_file','String',desc='alternate specification for mutations. File format described in fix_bb_monomer_ddg.cc above the read_in_mutations function'),
4162 # Option('mut_file_tlc','Boolean',desc='alternate specification for mutations using three letter codes instead of one letter codes so that it is compatible with noncanonical amino acids.',default='false'),
4163  Option('out_pdb_prefix','String',desc='specifies the prefix assigned to output so that no overwriting happens'),
4164  Option('constraint_weight','Real',default='1.0',desc='because that other option isnt working'),
4165  Option( 'harmonic_ca_tether', 'Real', default='2.0', desc='default CA tether for harmonic constraints'),
4166  Option('iterations','Integer',default='20',desc='specifies the number of iterations of refinement'),
4167  Option('out', 'String',default='ddg_predictions.out',desc='create output file of predicted ddgs'),
4168  Option('debug_output', 'Boolean', default='false',desc='specify whether or not to write a whole bunch of debug statements to standard out'),
4169  Option('dump_pdbs','Boolean',default='true',desc='specify whether or not to dump repacked wild-type and mutant pdbs'),
4170  Option('weight_file', 'String', default='ddg.wts',desc='specifies the weight-files to be used in calculations'),
4171 # Option('translate_by', 'Integer', desc='specify the distance in Angstrom that takes to move away when unbounded. Should keep it around 100 when this protocol is used in conjunction with the Poisson-Boltzmann potential score-term.'),
4172  ), # -ddg
4173 
4174  Option_Group( 'DenovoProteinDesign',
4175  Option( 'redesign_core', 'Boolean', desc='redesign core of pdb', default='false'),
4176  Option( 'redesign_loops', 'Boolean', desc='redesign loops of pdb', default='false'),
4177  Option( 'redesign_surface', 'Boolean', desc='redesign surface of pdb', default='false'),
4178  Option( 'redesign_complete', 'Boolean', desc='complete redesign of pdb', default='false'),
4179  ##Option( 'disfavor_native_aa', 'Boolean', desc='penalize native aa in design', default='false'),
4180 # Option( 'disallow_native_aa', 'Boolean', desc='do not allow native aa in design', default='false'),
4181  Option( 'optimize_loops', 'Boolean', desc="do serious loop modeling at the end of designrelax mover"),
4182  Option( 'secondary_structure_file', 'File', desc="has fasta file format - describes secondary structure of desired target with H/C/E" ),
4183  Option( 'hydrophobic_polar_pattern', 'File', desc="has fasta file format - describes hydrophobic(B) polar(P) pattern" ),
4184  Option( 'use_template_sequence', 'Boolean', desc='use the template pdbs sequence when creating starting structures', default='false'),
4185  Option( 'use_template_topology', 'Boolean', desc='use templates phi/psi in loops and begin/end helix/sheet generate only template like starting structures', default='false'),
4186  Option( 'create_from_template_pdb', 'File', desc='create starting structure from a template pdb, follow with pdb name'),
4187  Option( 'create_from_secondary_structure', 'Boolean', desc='create starting structure from a file that contains H/C/E to describe topology or B/P pattern, has fasta file format', default='false'),
4188  ), # -DenovoProteinDesign
4189 
4190  Option_Group( 'dna',
4191  Option_Group( 'specificity',
4192  Option( 'exclude_dna_dna', 'Boolean', default='true'),
4193  Option( 'params', 'RealVector', desc="vector of real-valued params"),
4194  Option( 'frag_files', 'FileVector', desc="files to collect frags from" ),
4195 # Option( 'exclude_bb_sc_hbonds', 'Boolean', default='false'),
4196  Option( 'only_repack', 'Boolean', default='false'),
4197  Option( 'design_DNA', 'Boolean', default='false'),
4198 # Option( 'run_test', 'Boolean', default='false'),
4199  Option( 'soft_rep', 'Boolean', default='false'),
4200  Option( 'dump_pdbs', 'Boolean', default='false'),
4201  Option( 'fast', 'Boolean', default='false'),
4202  Option( 'randomize_motif', 'Boolean', default='false'),
4203  Option( 'Wfa_elec', 'Real', default='0'),
4204  Option( 'Wdna_bs', 'Real', default='0'),
4205  Option( 'Wdna_bp', 'Real', default='0'),
4206  Option( 'minimize_tolerance', 'Real', default='0.001'),
4207  Option( 'weights_tag', 'String'),
4208  Option( 'weights_tag_list', 'String'),
4209  Option( 'min_type', 'String', default='dfpmin'),
4210  #Option( 'output_tag', 'String'),
4211 # Option( 'tf', 'String'),
4212  Option( 'mode', 'String'),
4213  Option( 'score_function', 'String'),
4214  Option( 'pre_minimize', 'Boolean', default='false'),
4215  Option( 'post_minimize', 'Boolean', default='false'),
4216  Option( 'pre_pack', 'Boolean', default='false'),
4217  Option( 'nloop', 'Integer', default='20'),
4218  Option( 'n_inner', 'Integer' ),
4219  Option( 'n_outer', 'Integer' ),
4220  Option( 'nstep_water', 'Integer', default='0'),
4221  Option( 'moving_jump', 'Integer', default='0'),
4222  Option( 'motif_begin', 'Integer', default='0'),
4223  Option( 'motif_size', 'Integer', default='0'),
4224  Option( 'pdb_pos', 'StringVector', default = '""', desc = 'list of one or more positions in the input pdb, eg: -pdb_pos 125:A 127:A 4:C'),
4225  Option( 'methylate', 'StringVector', default = '""', desc = 'list of one or more positions in the input pdb to be methylated, eg: -methylate 125:A 127:A 4:C'),
4226  Option( 'lk_ball_wtd_tag', 'String'),
4227  Option( 'lk_ball_for_bb', 'Boolean', default='false'),
4228  Option( 'lk_ball_ramp_width_A2', 'Real', default='5.0'),
4229  Option( 'lk_ball_water_fade', 'Real', default='1.0'),
4230  Option( 'lk_ball_wtd_prefactors', 'RealVector', desc = '6 scale factors that are applied to the lk_ball_wtd per-atom weights; the order is <donor-iso> <donor-ball> <acceptor-iso> <acceptor-ball> <don+acc-iso> <don+acc-ball>; where <don+acc> means atom-types that are both donors and acceptors (SP3 hybridized OH for example)'),
4231  ), # -dna:specificity
4232 
4233  # ashworth
4234  Option_Group( 'design',
4235 # Option( 'output_initial_pdb', 'Boolean', default = 'false', desc = 'write pdb file for loaded and scored input structure'),
4236  Option( 'output_unbound_pdb', 'Boolean', default = 'false', desc = 'write out an unbound pdb if doing binding score calculations'),
4237  Option( 'z_cutoff', 'Real', default = '3.5', lower = '0', desc = 'distance along DNA-axis from designing DNA bases to allow amino acids to design' ),
4238  # the following options are not implemented yet
4239  Option( 'protein_scan', 'String', default = 'ACDEFGHIKLMNPQRSTVWY', desc = 'single-residue scanning of protein residue types for binding and specificity scores'),
4240  Option( 'checkpoint', 'String', default = '', desc = 'write/read checkpoint files for higher-level protocols that proceed linearly for long periods of time. Provide a checkpoint filename after this option.'),
4241  Option( 'minimize', 'Boolean', default = 'false', desc = 'Perform minimization in DNA design mode.'),
4242 # Option( 'iterations', 'Integer', default = '1', lower = '1', desc = ''),
4243 # Option( 'bb_moves', 'String', default = 'ccd', legal=['ccd','backrub'], desc = ''),
4244  Option( 'dna_defs', 'StringVector', default = '""', desc = ''),
4245  Option( 'dna_defs_file', 'String', default = '', desc = ''),
4246 # Option( 'preminimize_interface', 'Boolean', default = 'false', desc = ''),
4247 # Option( 'prepack_interface', 'Boolean', default = 'false', desc = ''),
4248 # Option( 'flush', 'Boolean', default = 'false', desc = 'enable some tracer flushes in order to see more frequent output'),
4249  Option( 'nopdb', 'Boolean', default = 'false', desc = 'use this flag to disable pdb output' ),
4250 # Option( 'nopack', 'Boolean', default = 'false', desc = 'don\'t actually repack structures' ),
4251 # Option( 'more_stats', 'Boolean', default = 'false' ),
4252 # Option( 'pdb_each_iteration', 'Boolean', default = 'false' ),
4253  Option( 'designable_second_shell', 'Boolean', default = 'false' ),
4254  Option( 'base_contacts_only', 'Boolean', default = 'false' ),
4255  Option( 'probe_specificity', 'Integer', desc='Rapidly estimate the explicit specificity of DNA designs during fixed-backbone repacking', default='1' ),
4256  Option( 'reversion_scan', 'Boolean', desc='Try to revert spurious mutations after designing', default='false' ),
4257  Option( 'binding', 'Boolean', desc='compute a protein-DNA binding energy', default='false' ),
4258  Option( 'Boltz_temp', 'Real', desc='temperature for Boltzmann calculations', default='0.6' ),
4259  Option( 'repack_only', 'Boolean', desc='Do not allow protein sequences to mutate arbitrarily', default='false' ),
4260  Option( 'sparse_pdb_output', 'Boolean', desc='Output only coordinates that change relative to the input structure', default='false' ),
4261  Option_Group( 'specificity',
4262  Option( 'output_structures', 'Boolean', default='false', desc='output structures for each sequence combination'),
4263  Option( 'include_dna_potentials', 'Boolean', default='false', desc='include DNA potentials in calculations of DNA sequence specificity'),
4264  ),
4265  Option_Group( 'reversion',
4266  Option( 'dscore_cutoff', 'Real', desc='limit for acceptable loss in energy', default='1.5' ),
4267  Option( 'dspec_cutoff', 'Real', desc='limit for acceptable loss in specificity', default='-0.05' ),
4268  ),
4269  ), # -dna:design
4270  ), # -dna
4271 
4272  ##############################################################################
4273  # Docking options ---------------------------------------------------------
4274  Option_Group('docking',
4275  Option( 'kick_relax', 'Boolean',
4276  desc='Add relax step at the end of symmetric docking',
4277  default='false'
4278  ),
4279  Option( 'docking', 'Boolean',
4280  desc='Docking option group',
4281  legal='true', default='true'
4282  ),
4283  Option( 'view', 'Boolean',
4284  desc='Decide whether to use the viewer (graphical) or not',
4285  default='false'
4286  ),
4287  Option( 'no_filters', 'Boolean',
4288  desc='Toggle the use of filters',
4289  default='false'
4290  ),
4291  Option( 'design_chains', 'StringVector',
4292  short='Which chains do we want to allow to design?',
4293  desc='Pass in the one-letter chain identifiers, separated by space, for each chain to design: -design_chains A B',
4294  ),
4295  Option( 'recover_sidechains', 'File',
4296  short='take sidechains from this pdb',
4297  desc='usually side-chains are taken from the input structure if it is fullatom - this overrides this behavior and takes sidechains from the pdb-file',
4298  ),
4299  Option('partners', 'String',
4300  short='defines docking partners by chainID for multichain docking partners',
4301  desc='defines docking partners by ChainID, example: docking chains L+H with A is -partners LH_A',
4302  default='_'
4303  ),
4304  Option('docking_local_refine', 'Boolean',
4305  short='Skip centroid mode',
4306  desc='Do a local refinement of the docking position (high resolution)',
4307  default='false'
4308  ),
4309  Option('low_res_protocol_only', 'Boolean',
4310  short='Only low resolution',
4311  desc='Run only low resolution docking, skip high resolution docking',
4312  default='false'
4313  ),
4314  Option('randomize1', 'Boolean',
4315  short='Randomize the first docking partner.',
4316  desc='Randomize the first docking partner.',
4317  default='false'
4318  ),
4319  Option('randomize2', 'Boolean',
4320  short='Randomize the second docking partner.',
4321  desc='Randomize the second docking partner.',
4322  default='false'
4323  ),
4324  Option('use_ellipsoidal_randomization', 'Boolean',
4325  short='Use ellipsoidal docking randomization.',
4326  desc='Modify docking randomization to use ellipsoidal rather than spherical method.',
4327  default='false'
4328  ),
4329  Option('spin', 'Boolean',
4330  short='Spin a second docking partner.',
4331  desc='Spin a second docking partner around axes from center of mass of partner1 to partner2',
4332  default='false'
4333  ),
4334  Option('tilt', 'RealVector',
4335  short='tilt the docking partners at a random angle around the sliding axis',
4336  desc='tilt the docking partners at a random angle : -tilt PARTNER1_MAX_DEGREES PARTNER2_MAX_DEGREES.',
4337  n='2'
4338  ),
4339  Option('tilt1_center', 'String',
4340  short='resID around which rotation of partner1 is centered (CA carbon)',
4341  desc='resID around which rotation of partner1 is centered (default: center of mass of partner 1',
4342  default='',
4343  ),
4344  Option('tilt2_center', 'String',
4345  short='resID around which rotation of partner2 is centered (CA carbon)',
4346  desc='resID around which rotation of partner2 is centered (default: center of mass of partner 2',
4347  default='',
4348  ),
4349  Option('dock_pert', 'RealVector',
4350  short='Do a small perturbation with partner two: -dock_pert ANGSTROMS DEGREES.',
4351  desc='Do a small perturbation with partner two: -dock_pert ANGSTROMS DEGREES. Good values for protein docking are 3 A and 8 deg.',
4352  n='2'
4353 # DO NOT supply default values for this option -- reasonable values differ for protein and ligand protocols.
4354 # Also, default values will cause a perturbation to *always* occur, even with no command line flags -- very surprising.
4355 # Adding defaults WILL BREAK existing protocols in unexpected ways.
4356 # Decided by Jeff, Monica, Ian, and Sid in March 2008.
4357 #
4358 # Jeff notes that eventually there should be 3 parameters, like Rosetta++:
4359 # rotation, normal translation, and perpendicular translation.
4360  ),
4361  Option('uniform_trans', 'Real',
4362  short='Uniform random repositioning within a sphere of the given radius.'
4363  ),
4364  Option('center_at_interface', 'Boolean',
4365  short='Perform all initial perturbations with the center of rotation at the interface between partners',
4366  desc='Perform all initial perturbations with the center of rotation at the interface between partners instead of at the center of mass of the oppposite partner.',
4367  default='false'
4368  ),
4369  Option('dock_mcm_first_cycles', 'Integer',
4370  short='First cycle of DockMCMProtocol.',
4371  desc='Perfrom 4 cycles to let the filter decide to continue.',
4372  default='4'
4373  ),
4374  Option('dock_mcm_second_cycles', 'Integer',
4375  short='Second cycle of DockMCMProtocol.',
4376  desc='If the first cycle pass the fliter, continue 45 cycles.',
4377  default='45'
4378  ),
4379  Option('docking_centroid_outer_cycles', 'Integer',
4380  short='Outer cycles during docking rigid body adaptive moves.',
4381  desc='Outer cycles during cking rigid body adaptive moves.',
4382  default='10'
4383  ),
4384  Option('docking_centroid_inner_cycles', 'Integer',
4385  short='Inner cycles during docking rigid body adaptive moves.',
4386  desc='Inner cycles during docking rigid body adaptive moves.',
4387  default='50'
4388  ),
4389  ##Option('dock_mcm', 'Boolean',
4390  ## short='Do a monte-carlo minimize search.',
4391  ## desc='Do a monte-carlo minimize search.',
4392  ## default='true'
4393  ##),
4394  Option('dock_min', 'Boolean',
4395  short='Minimize the final fullatom structure.',
4396  desc='Minimize the final fullatom structure.',
4397  default='false'
4398  ),
4399  Option('flexible_bb_docking', 'String',
4400  short='How to do flexible backbone docking, if at all.',
4401  desc='How to do flexible backbone docking, if at all. Choices include fixedbb, ccd, alc, and backrub.',
4402  default='fixedbb'
4403  ),
4404  Option('flexible_bb_docking_interface_dist', 'Real',
4405  short='Distance between chains required to define a residue as having flexible backbone (ie. loop).',
4406  desc='Distance between chains required to define a residue as having flexible backbone (ie. loop).',
4407  default='10.0'
4408  ),
4409  Option('ensemble1', 'String',
4410  short='denotes partner1 as an ensemble',
4411  desc='turns on ensemble mode for partner 1. String is multi-model pdb file',
4412  default=''
4413  ),
4414  Option('ensemble2', 'String',
4415  short='denotes partner2 as an ensemble',
4416  desc='turns on ensemble mode for partner 2. String is multi-model pdb file',
4417  default=''
4418  ),
4419  Option('dock_mcm_trans_magnitude', 'Real',
4420  short='The magnitude of the translational perturbation during mcm in docking.',
4421  desc='The magnitude of the translational perturbation during mcm in docking.',
4422  default='0.1'
4423  ),
4424  Option('dock_mcm_rot_magnitude', 'Real',
4425  short='The magnitude of the rotational perturbation during mcm in docking.',
4426  desc='The magnitude of the rotational perturbation during mcm in docking.',
4427  default='5.0'
4428  ),
4429  Option('minimization_threshold', 'Real',
4430  short='Threhold for Rosetta to decide whether to minimize jump after a rigid_pert',
4431  desc='Threhold for Rosetta to decide whether to minimize jump after a rigid_pert',
4432  default='15'
4433  ),
4434  Option('temperature', 'Real',
4435  short='Temperature setting for the mc object during rigid-body docking',
4436  desc='Temperature setting for the mc object during rigid-body docking',
4437  default='0.8'
4438  ),
4439  Option('repack_period', 'Integer',
4440  short='full repack period during dockingMCM',
4441  desc='full repack period during dockingMCM',
4442  default='8'
4443  ),
4444  Option('extra_rottrial', 'Boolean',
4445  short='extra rotamer trial after minimization',
4446  desc='extra rotamer trial after minimization',
4447  default='false'
4448  ),
4449  Option('dock_rtmin', 'Boolean',
4450  short='does rotamer trials with minimization, RTMIN',
4451  desc='does rotamer trials with minimization, RTMIN',
4452  default='false'
4453  ),
4454  Option('sc_min', 'Boolean',
4455  short='does sidechain minimization of interface residues',
4456  desc='does sidechain minimization of interface residues',
4457  default='false'
4458  ),
4459  Option('norepack1', 'Boolean',
4460  short='Do not repack the side-chains of partner 1.',
4461  desc='Do not repack the side-chains of partner 1.',
4462  default='false'
4463  ),
4464  Option('norepack2', 'Boolean',
4465  short='Do not repack the side-chains of partner 2.',
4466  desc='Do not repack the side-chains of partner 2.',
4467  default='false'
4468  ),
4469  Option('bb_min_res', 'IntegerVector',
4470  short='Minimize backbone at these positions.',
4471  desc='Minimize backbone at these positions.'
4472  ),
4473  Option('sc_min_res', 'IntegerVector',
4474  short='Minimize backbone at these positions.',
4475  desc='Minimize backbone at these positions.'
4476  ),
4477  Option('dock_ppk', 'Boolean',
4478  short='docking prepack mode',
4479  desc='docking prepack mode',
4480  default='false'
4481  ),
4482  Option('max_repeats', 'Integer',
4483  short='how many repeats to use',
4484  desc='If a decoy does not pass the low- and high-resolution filters, how many attempts to make before failur',
4485  default='1000'
4486  ),
4487  Option('dock_lowres_filter', 'RealVector',
4488  short='manually sets the lowres docking filter: -dock_lowres_filter <INTERCHAIN_CONTACT CUTOFF> <INTERCHAIN_VDW CUTOFF> <RESTRAINT CUTOFF>',
4489  desc='manually sets the lowres docking filter: -dock_lowres_filter <INTERCHAIN_CONTACT CUTOFF> <INTERCHAIN_VDW CUTOFF> <RESTRAINT CUTOFF>. Default values for protein docking are 10.0 and 1.0'
4490  ),
4491  Option( 'multibody', 'IntegerVector', desc="List of jumps allowed to move during docking" ),
4492 
4493  Option('ignore_default_docking_task', 'Boolean',
4494  short='Ignore the DockingTask',
4495  desc='Allows the user to define another task to give to Docking and will ignore the default DockingTask. Task will default to designing everything if no other TaskFactory is given to docking.',
4496  default='false'
4497  ),
4498 
4499  ################ patches for explicit scoring - NGS
4500  Option( 'low_patch', 'String',
4501  desc="Name of weights patch file (without extension .wts) to use during rigid body "),
4502  Option( 'high_patch', 'String',
4503  desc="Name of weights patch file (without extension .wts) to use during docking"),
4504  Option( 'high_min_patch', 'String',
4505  desc="Name of weights patch file (without extension .wts) to use during "),
4506  Option( 'pack_patch', 'String',
4507  desc="Name of weights patch file (without extension .wts) to use during packing"),
4508  Option('use_legacy_protocol', 'Boolean',
4509  short='Use the legacy high resolution docking algorithm.',
4510  desc='Use the legacy high resolution docking algorithm for output compatibility.',
4511  default='false'
4512  ),
4513  Option('docklowres_trans_magnitude', 'Real',
4514  short='The magnitude of the translational perturbation during lowres in docking.',
4515  desc='The magnitude of the translational perturbation during lowres in docking.',
4516  default='0.7'
4517  ),
4518  Option('docklowres_rot_magnitude', 'Real',
4519  short='The magnitude of the rotational perturbation during lowres in docking.',
4520  desc='The magnitude of the rotational perturbation during lowres in docking.',
4521  default='5.0'
4522  ),
4523 
4524 
4525  ###################################################################################
4526  # ligand options ( part of docking )--------------------------------------
4527  Option_Group( 'ligand',
4528  Option( 'ligand', 'Boolean', desc="docking:ligand option group", legal='true', default='true' ),
4529  Option( 'protocol', 'String', desc="Which protocol to run?", default='abbreviated' ),
4530  Option( 'soft_rep', 'Boolean', desc="Use soft repulsive potential?", default='false' ),
4531  Option( 'tweak_sxfn', 'Boolean', desc="Apply default modifications to the score function?", default='true' ),
4532  Option( 'old_estat', 'Boolean', desc="Emulate Rosetta++ electrostatics? (higher weight, ignore protein-protein)", default='false' ),
4533  Option( 'random_conformer', 'Boolean', desc="Start from a random ligand rotamer chosen from the library", default='false' ),
4534  Option( 'improve_orientation', 'Integer', desc="Do N cycles of randomization to minimize clashes with backbone" ),
4535  Option( 'mutate_same_name3', 'Boolean', desc="Allow ligand to 'design' to residue types with same name3? Typically used for protonation states / tautomers.", default='false' ),
4536  Option( 'subset_to_keep', 'Real', desc="When selecting a subset of ligand poses, what fraction (number if > 1.0) to keep?", default='0.05' ),
4537  Option( 'min_rms', 'Real', desc="When selecting a subset of ligand poses, all must differ by at least this amount.", default='0.8' ),
4538  Option( 'max_poses', 'Integer', desc="When selecting a subset of ligand poses, select as most this many.", default='50' ),
4539  Option( 'minimize_ligand', 'Boolean', desc="Allow ligand torsions to minimize?", default='false' ),
4540  Option( 'harmonic_torsions', 'Real', desc="Minimize with harmonic restraints with specified stddev (in degrees)", default='10.0' ),
4541  Option( 'use_ambig_constraints', 'Boolean', desc="Use ambiguous constraints to restrain torsions instead of adding and removing constraints", default='false' ),
4542  Option( 'shear_moves', 'Integer', desc="Do N pseudo-shear moves on ligand torsions per MCM cycle", default='0' ),
4543  Option( 'minimize_backbone', 'Boolean', desc="Allow protein backbone to minimize? Restrained except near ligand.", default='false' ),
4544  Option( 'harmonic_Calphas', 'Real', desc="Minimize with harmonic restraints with specified stddev (in Angstroms)", default='0.2' ),
4545  Option( 'tether_ligand', 'Real', desc="Restrain ligand to starting point with specified stddev (in Angstroms)" ),
4546  Option( 'start_from', 'RealVector', desc="One or more XYZ locations to choose for the ligand: -start_from X1 Y1 Z1 -start_from X2 Y2 Z2 ..." ),
4547  Option('option_file', 'String', desc="Name of Ligand Option File for use with multi_ligand_dock application"),
4548 # Option('rescore', 'Boolean', desc="No docking (debug/benchmark mode)", default='false'),
4549  Option_Group( 'grid',
4550  Option( 'grid', 'Boolean', desc="docking:ligand:grid option group", legal='true', default='true' ),
4551  Option( 'grid_kin', 'File', desc="Write kinemage version of generated grid to named file" ),
4552  Option( 'grid_map', 'File', desc="Write grid to named file as electron density in BRIX (aka `O'-map) format" ),
4553  ), # -docking:ligand:grid
4554  ), # -docking:ligand
4555 # Option_Group( 'symmetry',
4556 # Option( 'minimize_backbone', 'Boolean', desc="Allow protein backbone to minimize? ", default='false' ),
4557 # Option( 'minimize_sidechains', 'Boolean', desc="Allow protein sidechains to minimize? ", default='false' ),
4558 # ), # -docking:symmetry
4559  ), # -docking
4560 
4561  ##domainassembly
4562  Option_Group( 'DomainAssembly',
4563  Option( 'da_setup', 'Boolean', desc='run DomainAssembly setup routine', legal=['true','false'], default='false'),
4564  Option( 'da_setup_option_file','File', desc='input list of pdbs and linker sequences', default='--' ),
4565  Option( 'da_setup_output_pdb','File',desc='PDB file output by DomainAssemblySetup',default='--' ),
4566  Option( 'da_linker_file','File',desc='input file with linker definitions',default='--' ),
4567  Option( 'da_require_buried','File',desc='Input file containing residues to be buried in the domain interface',default='--'),
4568  Option( 'da_start_pdb','File',desc='input pdb for linker optimization',default='--' ),
4569  Option( 'run_fullatom','Boolean', desc='Run fullatom stage of the protocol', legal=['true','false'], default='false'),
4570  Option( 'run_centroid','Boolean', desc='Run centroid stage of the protocol', legal=['true','false'], default='false'),
4571  Option( 'run_centroid_abinitio','Boolean', desc='Run centroid abinitio stage of the protocol', legal=['true','false'], default='true'),
4572  Option( 'da_nruns','Integer', desc='number of runs', default='1' ),
4573  Option( 'da_start_pdb_num','Integer', desc='starting number for output pdb files', default='1' ),
4574  Option( 'da_linker_file_rna','File', desc='input file with moveable RNA definitions', default='--' ),
4575  Option( 'residues_repack_only','String', desc='Residues not to be redesigned under any circumstances'),
4576  Option( 'da_eval_pose_map','File', desc='input file that maps pose coordinates to structurally related positions of native pose'),
4577  ), # -DomainAssembly
4578 
4579  Option_Group( 'edensity',
4580  Option( 'debug', 'Boolean', default = 'false'),
4581  Option( 'mapfile', 'String' ),
4582  Option( 'mapreso', 'Real', default = '0.0'),
4583  Option( 'grid_spacing', 'Real', default = '0.0'),
4584  Option( 'centroid_density_mass', 'Real', default = '0.0'),
4585  Option( 'sliding_window', 'Integer', default = '1'),
4586  Option( 'cryoem_scatterers', 'Boolean', default = 'false'),
4587  Option( 'force_apix', 'Real', default = '0.0', desc='force pixel spacing to take a particular value'),
4588  Option( 'fastdens_wt', 'Real', default = '0.0', desc='wt of fast edens score'),
4589  Option( 'fastdens_params', 'RealVector', desc='parameters for fastdens scoring'),
4590  Option( 'legacy_fastdens_score', 'Boolean', default = 'false', desc='use the pre-June 2013 normalization for scoring'),
4591  Option( 'sliding_window_wt', 'Real', default = '0.0', desc='wt of edens sliding-window score'),
4592  Option( 'score_sliding_window_context', 'Boolean', default = 'false', desc='when using sl. win. density fit, include neighbor atoms (slows trajectory)'),
4593  Option( 'whole_structure_ca_wt', 'Real', default = '0.0', desc='wt of edens centroid (CA-only) scoring'),
4594  Option( 'whole_structure_allatom_wt', 'Real', default = '0.0', desc='wt of edens centroid (allatom) scoring'),
4595 # Option( 'no_edens_in_minimizer', 'Boolean', default = 'false', desc='exclude density score from minimizer'),
4596  Option( 'debug_derivatives', 'Boolean', default = 'false', desc='calculate numeric derivatives for density terms and compare with analytical'),
4597  Option( 'realign', 'String' , default = 'no' , legal=['no', 'min', 'random', 'membrane', 'membrane_min'] , desc='how to initially align the pose to density'),
4598  Option( 'membrane_axis', 'String' , default = 'Z' , desc='the membrane normal axis'),
4599  Option( 'atom_mask', 'Real', default = '3.2', desc='override default (=3.2A) atom mask radius to this value (hi-res scoring)'),
4600  Option( 'atom_mask_min', 'Real', default = '2.0', desc='override the 3 sigma minimum value which takes precedence over atom_mask value (hi-res scoring)'),
4601  Option( 'ca_mask', 'Real', default = '6.0', desc='override default (=6A) CA mask radius to this value (low-res scoring)'),
4602  Option( 'score_symm_complex', 'Boolean', default = 'false', desc='If set, scores the structure over the entire symmetric complex; otherwise just use controlling monomer'),
4603  Option( 'sc_scaling', 'Real', default = '1.0', desc='Scale sidechain density by this amount (default same as mainchain density)'),
4604  Option( 'n_kbins', 'Integer', default = '1', desc='Number of B-factor bins'),
4605 # Option( 'render_sigma', 'Real', default = '2', desc='initially render at this sigma level (extras=graphics build only)'),
4606  Option( 'unmask_bb', 'Boolean', default = 'false', desc='Only include sidechain atoms in atom mask'),
4607  ), # -edensity
4608 
4609  ## options for enzyme design
4610  Option_Group('enzdes',
4611  Option( 'enzdes', 'Boolean', desc="enzdes option group", legal='true', default='true' ),
4612  Option( 'checkpoint', 'String', default = '', desc = 'write/read checkpoint files to the desired filename.'),
4613  Option('enz_score', 'Boolean', default = 'false',
4614  desc="prevent repacking in enzyme design calculation"),
4615  Option('enz_repack', 'Boolean', default = 'false',
4616  desc="prevent redesign in enzyme design calculation"),
4617  Option('cst_opt', 'Boolean', default = 'false',
4618  desc="pre design constraint minimization"),
4619  Option('cst_predock', 'Boolean', default = 'false',
4620  desc="docks a ligand relative the catalytic residue"),
4621  Option('trans_magnitude','Real',default = '0.1',
4622  desc="rigid body translation in Angstrom"),
4623  Option('rot_magnitude','Real',default = '2',
4624  desc="rigid body rotation in deg"),
4625  Option('dock_trials','Real',default = '100',
4626  desc="number of docking trials"),
4627  Option('cst_min', 'Boolean', default = 'false',
4628  desc="after design minimization, constraints turned off"),
4629  Option('cst_design', 'Boolean', default = 'false',
4630  desc="invokes actual design"),
4631  Option('design_min_cycles', 'Integer', default = '1',
4632  desc="determines how many iterations of designing/minimizing are done during a design run"),
4633  Option('make_consensus_mutations', 'Boolean', default = 'false',
4634  desc="Invokes mutations back to sequence profile consensus throughout whole protein in EnzdesFixBB protocol. sequence profile file must be specified through -in:pssm option."),
4635  Option('bb_min','Boolean', default = 'false',
4636  desc="allows backbone of active site residues to move during cst_opt and cst_min. In the cst_opt stage, residue Cas will be constrained to their original positions."),
4637  Option('bb_min_allowed_dev','Real', default = '0.5',
4638  desc="distance by which Cas are allowed to move during backbone minimization before a penalty is assigned."),
4639  Option('loop_bb_min_allowed_dev','Real', default = '0.5',
4640  desc="distance by which Cas are allowed to move during backbone minimization before a penalty is assigned. Applied only for loops as determined by DSSP."),
4641  Option('minimize_ligand_torsions','Real', default = '10.0',
4642  desc="degrees by which ligand torsions are allowed to rotate before a penalty is assigned. Only those torsions which have diversity in the conformational ensemble are allowed this std dev. rest are constrained to 0.1"),
4643  Option('minimize_all_ligand_torsions','Real', default = '10.0',
4644  desc="allows constrained minimization of all ligand torsions using stddev."),
4645  Option('chi_min','Boolean', default = 'false',
4646  desc="allows chi values of active site residues to move during cst_opt and cst_min."),
4647  Option('min_all_jumps','Boolean', default = 'false',
4648  desc="allows all jumps in the pose to minimize during cst_opt and cst_min. By default only ligand-associated jumps minimize"),
4649  Option('cst_dock', 'Boolean', default = 'false',
4650  desc="ligand docking after design. By default, constraints (except covalent connections will be turned off for this stage."),
4651  Option('run_ligand_motifs', 'Boolean', default = 'false',
4652  desc="run ligand motif search and add motif rotamers to packer"),
4653  Option('enz_debug', 'Boolean', default = 'false',
4654  desc="invokes various debug routines around the enzdes code"),
4655  Option('cstfile','File', default = 'constraints.cst',
4656  desc="file that contains all necessary constraints for an enzyme design calculation"),
4657  Option('enz_loops_file','File', default = 'eloops.els',
4658  desc="file that contains definitions of loop regions"),
4659  Option('flexbb_protocol', 'Boolean', default = 'false',
4660  desc="triggers flexible backbone design"),
4661  Option('remodel_protocol', 'Boolean', default = 'false',
4662  desc="triggers remodel protocol design"),
4663  Option('kic_loop_sampling', 'Boolean', default = 'false', desc="Generate alternate loop conformations using KIC loop closure instead of backrub"),
4664  Option('dump_loop_samples', 'String', default = "no", legal=["no","yes","quit_afterwards"], desc="yes/no? Create loop pdb files named loopreg_[regionid]_[whichsample].pdb for the chosen loop samples; if 'quit_afterwards' is given, then the program exits after all loops have been generated"),
4665  Option('fix_catalytic_aa', 'Boolean', default = 'false',
4666  desc="preventing catalytic aa from repacking"),
4667  Option('additional_packing_ligand_rb_confs', 'Integer', default = '0',
4668  desc="Ligand Rotamers will be built at additional random rigid body positions during packing"),
4669  Option( 'ex_catalytic_rot', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1', desc="convenience option to use higher number of rotamers for catalytic residues. The chosen level will be applied to all chis of every catalytic residue." ),
4670  Option('single_loop_ensemble_size', 'Integer', default = '100',
4671  desc="number of conformations generated for each of the independent loops in a flexbb calculation"),
4672  Option('loop_generator_trials', 'Integer', default = '200',
4673  desc="number of trials of that the respective loop generator(backrub/kinematic kic) does in enzdes flexbb"),
4674  Option('no_catres_min_in_loopgen', 'Boolean', default = 'false',
4675  desc="prevents minimization of catalytic residues when generating loop ensembles"),
4676  Option('mc_kt_low', 'Real', default = '0.6',
4677  desc="low monte carlo limit for ensemble generation using backrub"),
4678  Option('mc_kt_high', 'Real', default = '0.9',
4679  desc="high monte carlo limit for ensemble generation using backrub"),
4680  Option('min_cacb_deviation', 'Real', default = '0.3',
4681  desc="Fragment uniqueness filter. On by default. Minimum CA/CB average deviation that at least one residue must have from all other already-included fragments for a new fragment to be included"),
4682  Option('max_bb_deviation', 'Real', default = '0.1',
4683  desc="Fragment smoothness filter. Off by default. Upper limit on the backbone average deviation a new fragment may have to its most-similar fragment that has already been included in the fragment set."),
4684  Option('max_bb_deviation_from_startstruct', 'Real', default = '1.5',
4685  desc="Fragment native-proximity Filter. Always on. Maximum tolerated backbone average deviation from the starting backbone for a fragment that to be included in the fragment set."),
4686 # Option('flexbb_outstructs', 'Integer', default = '10',
4687 # desc="doesn't do much anymore in the current implementation of the flexbb protocol"),
4688  Option('remodel_trials', 'Integer', default = '100',
4689  desc="how often each loop is being remodeled in the enzdes_remodel mover"),
4690  Option('remodel_secmatch', 'Boolean', default = 'false',
4691  desc="if constrained interactions are missing in the pose during remodel, the SecondaryMatcher will be used to try to find them in the remodeled region. very experimental at this point"),
4692  Option('dump_inverse_rotamers', 'Boolean', default = 'false',
4693  desc="in case of remodel secmatching against inverse rotamers, these rotamers will be dumped before the protocol starts for visual inspection by the user"),
4694  Option('remodel_aggressiveness', 'Real', default = '0.1',
4695  desc="determines the aggressiveness with which a given loop is remodeled. legal values between 0 and 1, where 1 is aggressive and 0 conservative."),
4696  Option('favor_native_res','Real', default = '0.5',
4697  desc="a bonus energy assigned to the native res during a design calculation"),
4698  Option('detect_design_interface', 'Boolean', default = 'false',
4699  desc="automatically detect design/repack region around ligand(s)"),
4700  Option('include_catres_in_interface_detection', 'Boolean', default = 'false',
4701  desc="if option -detect_design_interface is active, invoking this option causes all residues that are within the specified cuts of any catalytic residue are also set to designing/repacking"),
4702  Option('arg_sweep_interface', 'Boolean', default = 'false',
4703  desc="Use protein-DNA design-like interface detection, involving generation of arginine rotamers at each position, checking to see if argininte can make interaction with ligand."),
4704  Option('arg_sweep_cutoff', 'Real', default = '3.7',
4705  desc="Interaction cutoff distance from arginine to ligand when performing arginine sweep interface detection."),
4706  Option('cut1','Real', default = '0.0',
4707  desc="option to specify redesign cutoff 1 in enzdes calculation"),
4708  Option('cut2','Real', default = '0.0',
4709  desc="option to specify redesign cutoff 2 in enzdes calculation"),
4710  Option('cut3','Real', default = '10.0',
4711  desc="option to specify repack cutoff 1 in enzdes calculation"),
4712  Option('cut4','Real', default = '10.0',
4713  desc="option to specify repack cutoff 2 in enzdes calculation"),
4714  Option('lig_packer_weight','Real', default = '1.0',
4715  desc="specifies the weights for protein ligand interaction during packing (and only packing!! )"),
4716  Option('no_unconstrained_repack', 'Boolean', default = 'false',
4717  desc="no unconstrained repacking after the design stage"),
4718  Option('secmatch_Ecutoff', 'Real', default = '1.0',
4719  desc="the maximum constraint energy at which a residue is accepted in the secondary matcher"),
4720  Option('change_lig','File', default = 'ligchange_file.txt',
4721  desc="Can be used with the secondary matching protocol if different incarnations of the ligand are used for design and primary matching. The file needs to contain information on what atoms to superimpose."),
4722  Option('process_ligrot_separately','String', default = 'default_lig',
4723  desc="In the EnzdesFixBB protocol, causes the protocol to be executed separately for all non_bb clashing ligand rotamers."),
4724  Option('start_from_random_rb_conf','Boolean', default = 'false',
4725  desc="In the EnzdesFixBB protocol, if there are additional ligand rigid body conformations available (from a multimodel pdb), a random one of these will be the starting point for the protocol."),
4726  Option('bb_bump_cutoff','Real', default = '2.0',
4727  desc="option to specify the maximum allowed backbone energie when replacing a new residue type"),
4728  Option('sc_sc_bump_cutoff','Real', default = '2.0',
4729  desc="option to specify the maximum allowed energy between two newly placed sidechains in the secondary matcher"),
4730  Option('no_packstat_calculation','Boolean', default = 'false',
4731  desc="will determine whether the computationally intensive packstat calculation will be done at the end of a run"),
4732  Option('compare_native','String', default = './',
4733  desc="triggers comparison of every designed structure to its respective native pdb. the value of the option needs to be a directory path that contains all the native pdb files"),
4734  Option('final_repack_without_ligand','Boolean', default = 'false',
4735  desc="if a scorefile is requested, this option triggers every structure to be repacked without the ligand. the resulting structure will be output in a multimodel pdb, and differences in energy and rmsd are added to the scorefile."),
4736  Option('dump_final_repack_without_ligand_pdb','Boolean', default = 'false',
4737  desc="If option -final_repack_without_ligand is active, this option will cause the repacked structure to be separately dumped."),
4738  Option('parser_read_cloud_pdb','Boolean', default = 'false',
4739  desc="read cloud format PDB for enzdes in rosetta scripts"),
4740  ), # -enzdes
4741 
4742  Option_Group( 'fast_loops',
4743  Option( 'window_accept_ratio', 'Real', desc='windows with more than x percent of good loops in fast-loop sampling are used for scored-sampling', default='0.01' ),
4744  Option( 'nr_scored_sampling_passes', 'Integer',desc='good windows go into scored-sampling N times', default='4' ),
4745  Option( 'nr_scored_fragments', 'Integer',desc='scored loops sampled per good window each pass', default='20' ),
4746  Option( 'min_breakout_good_loops', 'Integer',desc='stop doing scored sampling if N or more good loops have been found', default='5' ),
4747  Option( 'min_breakout_fast_loops', 'Integer',desc='stop doing fast sampling if N or more good loops have been found', default='80' ),
4748  Option( 'min_good_loops', 'Integer',desc='treat as failure if less good-loops than', default='0' ),
4749  Option( 'min_fast_loops', 'Integer',desc='treat as failure if less fast-loops than', default='3' ),
4750  Option( 'vdw_delta', 'Real', desc='accept as good loop if vdw-score < vdw-score-start+vdw-delta', default='0.5' ),
4751  Option( 'give_up', 'Integer',desc='if N scored_frag_attemps didnt give any good loop -- jump out', default='1000' ),
4752  Option( 'chainbreak_max', 'Real', desc='accept only loops that have a maximum chainbreak score of... (sum of linear_chainbreak / chainbreak and overlap_chainbreak', default='0.2'),
4753  Option( 'fragsample_score', 'File', desc='Scorefunction used durgin scored-frag sampling', default='loop_fragsample.wts' ),
4754  Option( 'fragsample_patch', 'File', desc='Patch weights for scorefunction used during scored-frag sampling' ),
4755  Option( 'overwrite_filter_scorefxn', 'File', desc='force Scorefunction to be used during filter stage (instead last score of sampling protocol)' ),
4756  Option( 'patch_filter_scorefxn', 'File', desc='apply patch to Scorefunction used during filter stage' ),
4757  Option( 'filter_cst_file', 'File', desc='use these constraints to filter loops --- additional to whatever is in pose already' ),
4758  Option( 'filter_cst_weight', 'Real', desc='weight for constraints versus normal score (might contain additional constraints)', default='1.0' ),
4759  Option( 'fast_relax_sequence_file', 'File', desc='use this FastRelax protocol for loop-selection'),
4760  ), # -fast_loops
4761 
4762 # Option_Group( 'fldsgn',
4763 # Option( 'view', 'Boolean', desc='viewing pose during protocol' ),
4764 # Option( 'blueprint', 'FileVector', default=['blueprint'], desc="blueprint filename(s). "),
4765 # Option( 'dr_cycles', 'Integer', desc="design-refine cycles", default='3' ),
4766 # Option( 'centroid_sfx', 'String', desc="filename of the centroid score function to use," ),
4767 # Option( 'centroid_sfx_patch', 'String', desc="filename of the centroid score function patch to use," ),
4768 # Option( 'fullatom_sfx', 'String', desc="filename of the full-atom score function to use" ),
4769 # Option( 'fullatom_sfx_patch', 'String', desc="filename of the full-atom score function patch to use" ),
4770 # Option( 'run_flxbb', 'Integer', desc='run flxbb at the given stage' ),
4771 # ), # -fldsgn
4772 
4773  Option_Group( 'flexpack',
4774  Option_Group( 'annealer',
4775  Option( 'inner_iteration_scale', 'Real', desc="Scale up or down the number of inner iterations in the flexpack annealer"),
4776  Option( 'outer_iteration_scale', 'Real', desc="Scale up or down the number of outer iterations in the flexpack annealer"),
4777  Option( 'fixbb_substitutions_scale', 'Real', desc="Scale up or down the number of fixed-backbone rotamer substitutions in the flexpack annealer"),
4778  Option( 'pure_movebb_substitutions_scale', 'Real', desc="Scale up or down the number of backbone moves"),
4779  Option( 'rotsub_movebb_substitutions_scale', 'Real', desc="Scale up or down the number of rotamer substitions with backbone moves"),
4780  ), # -flexpack:annealer
4781  ), # -flexpack
4782 
4783  # FlexPepDocking Options -----------------------------------------------------------
4784  Option_Group( 'flexPepDocking',
4785  Option( 'params_file', 'String',
4786  desc='parameters file that describe the complex details, like anchor residues, etc.' ),
4787  Option( 'peptide_anchor', 'Integer',
4788  desc='Set the peptide anchor residue mannualy (instead of using the center of mass', lower='1', default='1' ),
4789  Option( 'receptor_chain', 'String',
4790  desc='chain-id of receptor protein'),
4791  Option( 'peptide_chain', 'String',
4792  desc='chain-id of peptide protein'),
4793  Option( 'pep_fold_only', 'Boolean',
4794  desc="Only fold a peptide, without docking (no input receptor is expected in this case).",
4795  default = 'false' ),
4796  Option( 'lowres_abinitio', 'Boolean',
4797  desc="Do a preemptive ab-initio low-resolution peptide docking",
4798  default = 'false' ),
4799  Option( 'lowres_preoptimize', 'Boolean',
4800  desc="Do a preemptive optimization in low resolution",
4801  default = 'false' ),
4802  Option( 'flexPepDockingMinimizeOnly', 'Boolean',
4803  desc="Just do simple minimization on input structure",
4804  default = 'false' ),
4805  Option( 'extend_peptide', 'Boolean',
4806  desc="start the protocol with the peptide in extended conformation",
4807  default = 'false' ),
4808  Option( 'place_peptide_on_binding_site', 'Boolean',
4809  desc="places peptide on the binding using SiteConstraints",
4810  default = 'false' ),
4811  Option( 'sample_pcs', 'Integer',
4812  desc="number of principle components to use for initial peptide placement and flipping",
4813  lower='0', default = '0' ),
4814  Option( 'SlideIntoContact', 'Boolean',
4815  desc="Slides peptide toward or away from receptor to remove clashes",
4816  default = 'false' ),
4817  Option( 'recalculate_foldtree', 'Boolean',
4818  desc="recalculates foldtree after random RB perturbation",
4819  default = 'false' ),
4820  Option( 'pep_refine', 'Boolean',
4821  desc="High-resolution peptide refinement over receptor surface, equivalent to the obsolete -rbMCM -torsionsMCM flags",
4822  default = 'false' ),
4823  Option( 'rbMCM', 'Boolean',
4824  desc="Do rigid body mcm in the main loop of the protocol (obsolete)",
4825  default = 'false' ),
4826  Option( 'torsionsMCM', 'Boolean',
4827  desc="Do torsions (small/shear mcm in the main loop of the protocol (obsolete)",
4828  default = 'false' ),
4829  Option( 'peptide_loop_model', 'Boolean',
4830  desc="Do cycles of random loop modeling to peptide backbone",
4831  default = 'false' ),
4832  Option( 'backrub_peptide', 'Boolean',
4833  desc="Adds a backrub stage to the protocol",
4834  default = 'false' ),
4835  Option( 'boost_fa_atr', 'Boolean',
4836  desc="while ramping up the fa_rep, start from high atr and lower to normal",
4837  default = 'true' ),
4838  Option( 'ramp_fa_rep', 'Boolean',
4839  desc="Whether to ramp the full-atom repulsive score during the protocol",
4840  default= 'true' ),
4841  Option( 'ramp_rama', 'Boolean',
4842  desc="Whether to ramp the Ramachandran score during the protocol",
4843  default= 'false' ),
4844  Option( 'flexpep_score_only', 'Boolean',
4845  desc="just reads in the pose and scores it",
4846  default = 'false' ),
4847  Option('ref_startstruct', 'File',
4848  desc='Alternative start structure for scoring statistics, instead of the original start structure (useful as reference for rescoring previous runs)'
4849  ),
4850  Option( 'use_cen_score', 'Boolean',
4851  desc="when in score_only mode, uses centroid weights to score",
4852  default = 'false' ),
4853  Option( 'design_peptide', 'Boolean',
4854  desc="Add a desing stage to each cycle of the RB-torsions perturbations",
4855  default = 'false' ),
4856  Option( 'rep_ramp_cycles', 'Integer',
4857  desc='Number of cycles for the ramping up of repulsion term',
4858  lower='0', default='10' ),
4859  Option( 'mcm_cycles', 'Integer',
4860  desc='Number of cycles for the mcm procedures (rb/torsions)',
4861  lower='0', default='8' ),
4862  Option( 'random_phi_psi_preturbation','Real',
4863  desc="Size of random perturbation of peptide's phi/psi",
4864  lower='0.0', default = '0.0' ),
4865  Option( 'smove_angle_range','Real',
4866  desc="Defines the perturbations size of small/sheer moves",
4867  lower='0.0', default = '6.0' ),
4868  Option( 'min_receptor_bb', 'Boolean',
4869  desc="Whether to include protein backbone in minimization",
4870  default='false' ),
4871  Option( 'random_trans_start','Real',
4872  desc="Size of random perturbation of peptide's rigid body translation",
4873  lower='0.0', default = '0.0' ),
4874  Option( 'random_rot_start','Real',
4875  desc="Size of random perturbation of peptide's rigid body rotation",
4876  lower='0.0', default = '0.0' ),
4877  Option( 'flexpep_prepack','Boolean',
4878  desc="Prepack an initial structure and exit",
4879  default = 'false' ),
4880  Option('flexpep_noprepack1', 'Boolean',
4881  short='Do not prepack the side-chains of partner 1 ( = globular protein ).',
4882  desc='Do not repack the side-chains of partner 1 ( = globular protein).',
4883  default='false'
4884  ),
4885  Option('flexpep_noprepack2', 'Boolean',
4886  short='Do not prepack the side-chains of partner 2 ( = peptide).',
4887  desc='Do not repack the side-chains of partner 2 ( = peptide).',
4888  default='false'
4889  ),
4890  Option('score_filter', 'Real',
4891  short='Only output decoys with scores lower than this filter.',
4892  desc='Only output decoys with scores lower than this filter.',
4893  default = '10000.0' ),
4894  Option('hb_filter', 'Integer',
4895  short='Only output decoys with more h-bonds than this filter.',
4896  desc='Only output decoys with more h-bonds than this filter.',
4897  lower='0', default = '0' ),
4898  Option('hotspot_filter', 'Integer',
4899  short='Only output decoys with more hotspots than this filter.',
4900  desc='Only output decoys with more hotspots than this filter.',
4901  lower='0', default = '0' ),
4902  Option('frag5', 'String', desc="5-mer fragments for ab-initio flexPepDock" ),
4903  Option('frag9_weight', 'Real',
4904  desc='Relative weight of 9-mers in ab-initio',
4905  lower='0', default='0.1'),
4906  Option('frag5_weight', 'Real',
4907  desc='relative weight of 5-mers in ab-initio',
4908  lower='0', default='0.25'),
4909  Option('frag3_weight', 'Real',
4910  desc='Relative weight of 3-mers in ab-initio',
4911  lower='0', default='1.0'),
4912  Option('pSer2Asp_centroid', 'Boolean',
4913  desc='convert pSer to Asp during centroid mode',
4914  default='false'),
4915  Option('pSer2Glu_centroid', 'Boolean',
4916  desc='convert pSer to Glu during centroid mode',
4917  default='false'),
4918  Option('dumpPDB_abinitio', 'Boolean',
4919  desc='dump PDB during Monte-Carlo ab-initio',
4920  default='false'),
4921  Option('dumpPDB_lowres', 'Boolean',
4922  desc='dump PDB during Monte-Carlo low-res',
4923  default='false'),
4924  Option('dumpPDB_hires', 'Boolean',
4925  desc='dump PDB during Monte-Carlo hi-res',
4926  default='false'),
4927  ), # -flexPepDocking
4928 
4929  #################################FloppyTail####################################################
4930  Option_Group( 'FloppyTail',
4931  Option( 'flexible_start_resnum', 'Integer', desc='starting residue for the flexible region, using PDB numbering', default='180'),
4932  Option( 'flexible_stop_resnum', 'Integer', desc='stop residue for the flexible region, using PDB numbering. If unspecified, it assumes the end of the pose.', default='0'),
4933  Option( 'flexible_chain', 'String', desc='chain ID for flexible region', default='C'),
4934  Option( 'shear_on', 'Real', desc='fraction of perturb moves when shear turns on (0.5 = halfway through)', default='1.0/3.0'),
4935  Option( 'pair_off', 'Boolean', desc='turn off Epair electrostatics term. Used once for a simple side experiment, not meant for general use.', default='false'),
4936  Option( 'publication', 'Boolean', desc='output statistics used in publication. TURN OFF if not running publication demo.', default='false'),
4937  Option( 'C_root', 'Boolean', desc='Reroot the fold_tree to the C-terminus. If your flexible region is N-terminal, or closer to the first half of the pose, this will speed computation.', default='false'),
4938  Option( 'force_linear_fold_tree', 'Boolean', desc='Force a linear fold tree. Used in combination with C_root and reordering the chains in your input PDB to ensure you get exactly the right kinematics', default='false'),
4939  Option( 'debug', 'Boolean', desc='debug mode (extra checks and pdb dumps)', default='false' ),
4940  Option( 'cen_weights', 'String', desc = 'Use a different/custom scorefunction for centroid step'),
4941  Option( 'perturb_show', 'Boolean', desc='dump perturbed centroid pdbs as well as final results', default='false' ),
4942  Option( 'perturb_cycles', 'Integer', desc='perturbation phase runs for <input> cycles', default = '5' ),
4943  Option( 'perturb_temp', 'Real', desc='perturbation phase temperature for monte carlo', default = '0.8' ),
4944  Option( 'refine_cycles', 'Integer', desc='refinement phase runs for <input> cycles', default = '5' ),
4945  Option( 'refine_temp', 'Real', desc='refinement phase temperature for monte carlo', default = '0.8' ),
4946  Option( 'refine_repack_cycles', 'Integer', desc='refinement phase runs repack every <input> cycles', lower = '2', default = '20' ),
4947  Option_Group( 'short_tail',
4948  Option( 'short_tail_fraction', 'Real', desc='what fraction of the flexible segment is used in the short-tail section of refinement (not compatible with non-terminal flexible regions)', default='1.0'),
4949  Option( 'short_tail_off', 'Real', desc='fraction of refine cycles where movemap reverts to full tail (0.5 = halfway through)', default='0.0'),
4950  ),
4951  ), # -FloppyTail
4952 
4953  Option_Group( 'flxbb',
4954  Option( 'view', 'Boolean', desc='viewing pose during protocol' ),
4955  Option( 'ncycle', 'Integer', desc='number of cycles of design and relax' ),
4956  Option( 'constraints_sheet', 'Real', desc='weight constraints between Ca atoms in beta sheet' ),
4957  Option( 'constraints_sheet_include_cacb_pseudotorsion', 'Boolean', desc ="puts an additional constraint on two residues paired in a beta-sheet to ensure their CA-CB vectors are pointing the same way.", default = 'false' ),
4958  Option( 'constraints_NtoC', 'Real', desc='weight constraints between N- and C- terminal CA atoms' ),
4959  Option( 'filter_trial', 'Integer', desc="number of filtering trial " ),
4960  Option( 'filter_type', 'String', desc="filter type name, currently only packstat is available" ),
4961 # Option( 'exclude_Met', 'Boolean', desc="do not use Met for design" ),
4962 # Option( 'exclude_Ala', 'Boolean', desc="do not use Ala for design" ),
4963  Option( 'blueprint', 'File', desc='blueprint file ' ),
4964  Option( 'movemap_from_blueprint', 'Boolean', desc='viewing pose during protocol' ),
4965  Option_Group( 'layer',
4966  Option( 'layer', 'String',
4967  desc='design core, boundary, and surface with different aa types', default='normal'
4968  ),
4969 # Option( 'pore_radius', 'Real',
4970 # desc="sphere radius for sasa calculation",
4971 # ),
4972 # Option( 'burial', 'Real',
4973 # desc="surface area when residues regarded as core ",
4974 # ),
4975 # Option( 'surface', 'Real',
4976 # desc="surface area when residues regarded as surface ",
4977 # ),
4978  ), # -flxbb:layer
4979  ), # -flxbb
4980 
4981  Option_Group( 'fold_and_dock',
4982  Option( 'move_anchor_points','Boolean', desc="move the anchor points that define symmetric coordinate system during symmetry fragment insertion", default='false'),
4983  Option( 'set_anchor_at_closest_point','Boolean', desc="set the anchor points that define symmetric coordinate system to the nearest point between two consecutive chains during fragment insertion", default='false'),
4984  Option( 'rotate_anchor_to_x','Boolean', desc="rotate the anchor residue to the x-axis before applying rigid body transformations", default='true'),
4985  Option ('trans_mag_smooth', 'Real', desc = 'translation perturbation size for smooth refinement', default='0.1'),
4986  Option ('rot_mag_smooth', 'Real', desc = 'rotational perturbation size for smooth refinement', default='1.0'),
4987  Option ('rb_rot_magnitude', 'Real', desc = 'rotational perturbation size for rigid body pertubations', default='8.0'),
4988  Option ('rb_trans_magnitude', 'Real', desc = 'translational perturbation size rigid body pertubations', default='3.0'),
4989  Option ('rigid_body_cycles', 'Integer', desc ='number of rigid bosy cycles during fold and dock fragment insertion', default='50' ),
4990  Option ('move_anchor_frequency', 'Real', desc = 'Frequency of slide-anchor moves', default='1.0'),
4991  Option ('rigid_body_frequency', 'Real', desc = 'The fraction of times rigid body cycles are applied during fragment assembly moves', default='0.2'),
4992  Option( 'rigid_body_disable_mc','Boolean', desc="Dissallow moves to be accepted locally by MC criteria within the rigid body mover ", default='false'),
4993  Option ('slide_contact_frequency', 'Real', desc = 'The fraction of times subunits are slided together during fragment assembly moves', default='0.1'),
4994  ), # -fold_and_dock
4995 
4996  Option_Group( 'fold_cst',
4997  Option( 'constraint_skip_rate', 'Real', desc='if e.g., 0.95 it will randomly select 5% if the constraints each round -- full-cst score in extra column', default='0' ),
4998  Option( 'violation_skip_basis', 'Integer', desc='local skip_rate is viol/base', default='100' ),
4999  Option( 'violation_skip_ignore', 'Integer', desc='no skip for numbers below this level', default='10' ),
5000  Option( 'keep_skipped_csts', 'Boolean', desc='final score only with active constraints', default='false'),
5001  Option( 'no_minimize', 'Boolean', desc='No minimization moves in fold_constraints protocol. Useful for testing wheather fragment moves alone can recapitulate a given structure.', default='false' ),
5002  Option( 'force_minimize', 'Boolean', desc='Minimization moves in fold_constraints protocol also if no constraints present', default='false' ),
5003  Option( 'seq_sep_stages', 'RealVector', desc='give vector with sequence_separation after stage1, stage3 and stage4', default='0' ),
5004  Option( 'reramp_cst_cycles', 'Integer', desc='in stage2 do xxx cycles where atom_pair_constraint is ramped up', default='0' ),
5005  Option( 'reramp_start_cstweight', 'Real', desc='drop cst_weight to this value and ramp to 1.0 in stage2 -- needs reramp_cst_cycles > 0', default='0.01' ),
5006  Option( 'reramp_iterations', 'Integer', desc='do X loops of annealing cycles', default='1' ),
5007  Option( 'skip_on_noviolation_in_stage1', 'Boolean', desc='if constraints report no violations --- skip cycles', default='false' ),
5008  Option( 'stage1_ramp_cst_cycle_factor', 'Real', desc='spend x*<standard cycles> on each step of sequence separation', default='0.25' ),
5009  Option( 'stage2_constraint_threshold', 'Real', desc='stop runs that violate this threshold at end of stage2', default='0' ),
5010  Option( 'ignore_sequence_seperation', 'Boolean', desc='usually constraints are switched on according to their separation in the fold-tree', default='false' ),
5011  Option( 'no_recover_low_at_constraint_switch', 'Boolean', desc='dont recover low when max_seq_sep is increased', default='false' ),
5012  Option( 'ramp_coord_cst', 'Boolean', desc='ramp coord csts just like chainbreak-weights during fold-cst', default='false' ),
5013  ), # -fold_cst
5014 
5015  # fold from loops
5016  Option_Group('fold_from_loops',
5017  Option ('native_ca_cst', 'Boolean', desc = 'derive constraints from the native topology', default ='false'),
5018  Option('swap_loops','File', desc='pdb of the target loops ', default='--'),
5019  Option( 'checkpoint', 'String', desc = 'write/read checkpoint files for nstruct. Provide a checkpoint filename after this option.', default=''),
5020  Option ('ca_csts_dev', 'Real', desc = 'standard deviation allowed to each constraint', default='0.5'),
5021  Option ('add_relax_cycles', 'Integer', desc ='additional relax cycles', default='2' ),
5022  Option ('loop_mov_nterm', 'Integer', desc ='Movable region inside the provided loop(nterm)', default='0' ),
5023  Option ('loop_mov_cterm', 'Integer', desc ='Moveable region inside the provided loop(cterm)', default='0' ),
5024  Option ('ca_rmsd_cutoff', 'Real', desc = 'Filter the decoys to pass the relax-design stage ', default='5.0'),
5025  Option ('res_design_bs', 'IntegerVector', desc='enumerate the residues to be designed within the fixed binding site' ),
5026  Option ('clear_csts','File', desc='input loops file with ranges free of CA csts', default='--'),
5027  Option ('output_centroid','Boolean',desc='output centroid structures befor the design stage', default = 'false'),
5028  Option ('add_cst_loop','Boolean',desc='add CA csts of motif to constraint set', default = 'false'),
5029  ), # -fold_from_loops
5030 
5031 ## -------------------------- FRAGMENT PICKING --------------
5032  Option_Group( 'frags',
5033  Option( 'j', 'Integer', desc='Number of threads to use'),
5034  Option( 'filter_JC', 'Boolean',
5035  desc='Filter J-coupling values in the dynamic range ', default='false'),
5036 
5037  Option( 'bounded_protocol', 'Boolean',
5038  desc = 'makes the picker use bounded protocol to select fragments. This is teh default behavior',
5039  default = 'true'
5040  ),
5041  Option( 'keep_all_protocol', 'Boolean',
5042  desc = 'makes the picker use keep-all protocol to select fragments. The default is bounded protocol',
5043  default = 'false'
5044  ),
5045  Option( 'quota_protocol', 'Boolean',
5046  desc = 'quota protocol implies the use of a QuotaCollector and a QuotaSelelctor, no matter what user set up by other flags.',
5047  default = 'false'),
5048  Option(
5049  'nonlocal_pairs', 'Boolean',
5050  desc = 'identifies and outputs nonlocal fragment pairs.',
5051  default = 'false'
5052  ),
5053  Option( 'fragment_contacts', 'Boolean',
5054  desc = 'identifies and outputs fragment contacts.',
5055  default = 'false'
5056  ),
5057  Option( 'p_value_selection', 'Boolean',
5058  desc = 'the final fragment selection will b based on p-value rather than on a total score for the given fragment',
5059  default = 'false'),
5060 
5061  Option( 'n_frags', 'Integer',
5062  desc = 'number of fragments per position',
5063  default = '200'
5064  ),
5065  Option( 'allowed_pdb', 'File',
5066  desc = "provides a text file with allowed PDB chains (five characters per entry, e.g.'4mbA'). Only these PDB chains from Vall will be used to pick fragments",
5067  ),
5068  Option( 'ss_pred', 'StringVector',
5069  desc = 'provides one or more files with secondary structure prediction (PsiPred SS2 format) , to be used by secondary structure scoring and quota selector. Each file name must be followed by a string ID.',
5070  ),
5071  Option( 'spine_x', 'File',
5072  desc = "provides phi and psi torsion angle predictions and solvent accessibility prediction from Spine-X",
5073  ),
5074  Option( 'depth', 'File',
5075  desc = "provides residue depth values from DEPTH",
5076  ),
5077  Option( 'denied_pdb', 'File',
5078  desc = "provides a text file with denied PDB chains (five characters per entry, e.g.'4mbA'). This way close homologs may be excluded from fragment picking.",
5079  ),
5080  Option( 'frag_sizes', 'IntegerVector',
5081  desc = 'sizes of fragments to pick from the vall',
5082  default = ['9','3','1'],
5083  ),
5084  Option( 'write_ca_coordinates','Boolean', desc='Fragment picker will store CA Cartesian coordinates in output fragment files. By default only torsion coordinates are stored.',default='false'),
5085  Option( 'write_scores', 'Boolean', desc='Fragment picker will write scores in output fragment files.', default='false' ),
5086  Option( 'annotate', 'Boolean', desc='read the annotation from the rosetta++ fragment file', default='false' ),
5087  Option( 'nr_large_copies', 'Integer', desc='make N copies for each standard 9mer (or so) fragment', default='1' ),
5088 
5089  Option( 'n_candidates', 'Integer',
5090  desc = 'number of fragment candidates per position; the final fragments will be selected from them',
5091  default = '200'
5092  ),
5093  Option( 'write_rama_tables','Boolean', desc='Fragment picker will spit out sequence specific ramachandran score tables for your viewing pleasure. These ramachandran tables are based on the secondary structure predictions fed into RamaScore, and you may occasionally want to look at what the program has defined.',default='false'),
5094  Option( 'rama_C', 'Real', desc='Constant in RamaScore equation, command line is for optimization tests', default='0.0'),
5095  Option( 'rama_B', 'Real', desc='Constant in RamaScore equation, command line is for optimization tests', default='1.0'),
5096  Option( 'sigmoid_cs_A', 'Real', desc='Constant in CSScore equation, command line is for optimization tests', default='2.0'),
5097  Option( 'sigmoid_cs_B', 'Real', desc='Constant in CSScore equation, command line is for optimization tests', default='4.0'),
5098  Option( 'seqsim_H', 'Real', desc='Secondary structure type prediction multiplier, for use in fragment picking', default='1.0'),
5099  Option( 'seqsim_E', 'Real', desc='Secondary structure type prediction multiplier, for use in fragment picking', default='1.0'),
5100  Option( 'seqsim_L', 'Real', desc='Secondary structure type prediction multiplier, for use in fragment picking', default='1.0'),
5101  Option( 'rama_norm', 'Real', desc='Used to multiply rama table values after normalization, default (0.0) means use raw counts (unnormalized)', default='0.0'),
5102  Option( 'describe_fragments','String',desc='Writes scores for all fragments into a file', default=''),
5103  Option( 'picking_old_max_score', 'Real', desc='maximal score allowed for fragments picked by the old vall (used by RosettaRemodel).', default='1000000.0'),
5104  Option( 'write_sequence_only', 'Boolean', desc='Fragment picker will output fragment sequences only. This option is for creating structure based sequence profiles using the FragmentCrmsdResDepth score.', default='false'),
5105  Option( 'output_silent', 'Boolean', desc='Fragment picker will output fragments into a silent file.', default='false'),
5106  Option( 'output_index', 'Boolean', desc='Fragment picker will output fragments into an index file.', default='false'),
5107  Option( 'score_output_silent', 'Boolean', desc='Fragment picker will output fragments into a silent file. Scores of relaxed fragments are added to the silent file.', default='false'),
5108 
5109  Option_Group( 'scoring',
5110  Option('config', 'File', desc = 'scoring scheme used for picking fragments', default = '', ),
5111  Option('profile_score', 'String', desc = 'scoring scheme used for profile-profile comparison', default = 'L1', ),
5112 # Option( 'predicted_secondary', 'FileVector',
5113 # desc = 'provides one or more files with secondary structure prediction, to be used by secondary structure scoring and quota selector',
5114 # default = '',
5115 # ),
5116  ), # -frags:scoring
5117 
5118  Option_Group( 'picking',
5119  Option( 'selecting_rule', 'String',
5120  desc = 'the way how fragments are selected from candidates, e.g. QuotaSelector of BestTotalScoreSelector',
5121  default = 'BestTotalScoreSelector',
5122  legal=['QuotaSelector','BestTotalScoreSelector'],
5123  ),
5124  Option( 'selecting_scorefxn', 'String',
5125  desc = 'in the case user chose BestTotalScoreSelector to be used, this option provides a custom scoring function to be used at the selection step',
5126  ),
5127  Option( 'quota_config_file', 'File',
5128  desc = 'provides a configuration file for quota selector',
5129  ),
5130  Option( 'query_pos','IntegerVector',
5131  desc = 'provide sequence position for which fragments will be picked. By default fragments are picked for the whole query sequence',
5132  ),
5133  ), # -frags:picking
5134 
5135  Option_Group( 'nonlocal',
5136  Option( 'relax_input', 'Boolean',
5137  desc = 'relax input before running protocol' ),
5138  Option( 'relax_input_with_coordinate_constraints', 'Boolean',
5139  desc = 'relax input with coordinate constraints before running protocol' ),
5140  Option( 'relax_frags_repeats', 'Integer',
5141  desc = 'relax repeats for relaxing fragment pair' ),
5142  Option( 'single_chain', 'Boolean',
5143  desc = 'non-local fragment pairs will be restricted to the same chain' ),
5144  Option( 'min_contacts_per_res', 'Real',
5145  desc = 'minimum contacts per residue in fragment to be considered a fragment pair', default = '1.0' ),
5146  Option( 'max_ddg_score', 'Real',
5147  desc = 'maximum DDG score of fragment pair' ),
5148  Option( 'max_rmsd_after_relax', 'Real',
5149  desc = 'maximum rmsd of fragment pair after relax' ),
5150  Option( 'output_frags_pdbs', 'Boolean',
5151  desc = 'output non-local fragment pair PDBs' ),
5152  Option( 'output_idealized', 'Boolean',
5153  desc = 'output an idealized pose which can be used for generating a new VALL' ),
5154  Option( 'output_silent', 'Boolean',
5155  desc = 'output non-local fragment pairs silent file', default = 'true' ),
5156  ), # -frags:nonlocal
5157 
5158  Option_Group( 'contacts',
5159  Option( 'min_seq_sep', 'Integer',
5160  desc = 'minimum sequence separation between contacts', default = '12' ),
5161  Option( 'dist_cutoffs', 'RealVector', default = ['9.0'], desc = 'distance cutoffs to be considered a contact. contact counts will only be saved.' ),
5162  Option( 'centroid_distance_scale_factor', 'Real', default = '1.0', desc = 'Scaling factor for centroid distance cutoffs.' ),
5163  Option( 'type', 'StringVector',
5164  desc='Atom considered for contacts',
5165  legal = ['ca','cb','cen'], default='utility::vector1<std::string>(1,"ca")'
5166  ),
5167  Option( 'neighbors', 'Integer',
5168  desc = 'number of adjacent residues to a contact for finding neighboring contacts', default = '0' ),
5169  Option( 'output_all', 'Boolean', desc = 'output all contacts', default = 'false' ),
5170  ), # -frags:contacts
5171 
5172  Option_Group( 'ABEGO',
5173  Option( 'phi_psi_range_A' , 'Real', desc = 'Further filter phi&psi during frag picking process in design', default = '999.0'),
5174  ), # -frags:ABEGO
5175  ), # -frags
5176 ## -------------------------- END OF fragment picking --------------
5177 
5178  # rosetta holes settings -----------------------------------------------------------
5179  Option_Group( 'holes',
5180  Option('dalphaball','File', desc="The DAlaphaBall_surf program"),
5181  Option('params','File', desc="File containing score parameters",default="holes_params.dat"),
5182  Option('h_mode','Integer', desc="include H's or no... see PoseBalls.cc",default="0"),
5183  Option('water','Boolean', desc="include water or no",default="false"),
5184  Option('make_pdb' ,'Boolean', desc="make pdb with scores",default="false"),
5185  Option('make_voids' ,'Boolean', desc="do separate SLOW void calculation",default="false"),
5186  Option('atom_scores' ,'Boolean', desc="output scores for all atoms",default="false"),
5187  Option('residue_scores','Boolean', desc="output scores for all residues (avg over atoms)",default="false"),
5188 # Option('cav_shrink' ,'Real' , desc="Cavity ball radii reduced by this amount",default="0.7"),
5189  Option('minimize' ,'String' , desc="RosettaHoles params to use: decoy15, decoy25 or resl",default="decoy15"),
5190  Option('debug' ,'Boolean' , desc="dump debug output",default="false"),
5191  ), # -holes
5192 
5193  ## options for hotspot hashing
5194  Option_Group( 'hotspot',
5195  Option( 'allow_gly', 'Boolean', desc='Allow glycines in hotspot hashing constraints?', default = 'false' ),
5196  Option( 'allow_proline', 'Boolean', desc='Allow prolines in hotspot hashing constraints?', default = 'false' ),
5197  Option( 'benchmark', 'Boolean', desc='Score existing interface?', default = 'false'),
5198  Option( 'residue', 'StringVector', desc='mini residue name3 to use for hotspot hashing', default = 'utility::vector1<std::string>(1,"ALL")'),
5199  Option( 'hashfile', 'File', desc='Existing hotspot hash file.'),
5200  Option( 'target', 'File', desc='Target PDB of the hotspot hash. Used for both de novo hashing and making hash density maps.'),
5201  Option( 'target_res', 'Integer', desc='Rosetta residue number of interest on the target PDB. Used for targeted hashing'),
5202  Option( 'target_dist', 'Real', desc='Tolerated distance from the target residue. Used for targeted hashing', default='20' ),
5203  Option( 'density', 'File', desc='Filename to write *unweighted* hotspot density (compared to -target PDB).'),
5204  Option( 'weighted_density', 'File', desc='Filename to write *score weighted* hotspot density (compared to -target PDB).'),
5205  Option( 'rms_target', 'File', desc='Filename to write best rms of hotspot to target complex. Suitable for pymol data2b_res'),
5206  Option( 'rms_hotspot', 'File', desc='Filename to write best rms of hotspot to target complex. Suitable for rms vs E scatter plots.'),
5207  Option( 'rms_hotspot_res', 'Integer', desc='Rosetta residue # to use for calculating rms_hotspot.'),
5208  Option( 'rescore', 'Boolean', desc='Rescore hotspots from -hashfile based on the supplied -target PDB.', default='false'),
5209  Option( 'threshold', 'Real', desc='Score threshold for hotspot accepts. Found hotspots must be better than or equal to threshold', default='-1.0' ),
5210  Option( 'sc_only', 'Boolean', desc='Make backbone atoms virtual to find sidechain-only hotspots?', default='true'),
5211  Option( 'fxnal_group', 'Boolean', desc='Only use a stubs functional group for rmsd calculations.', default='true'),
5212  Option( 'cluster', 'Boolean', desc='Cluster stubset. Will take place before colonyE.', default='false'),
5213  Option( 'colonyE', 'Boolean', desc='Rescore hotspots from -hashfile based on colony energy.', default='false'),
5214  Option( 'length', 'Integer', desc='Length of hotspot peptide to use for hashing. Sidechain-containing group will be in the center.', default='1'),
5215  Option( 'envhb', 'Boolean', desc='Use environment dependent Hbonds when scoring hotspots.', default='false'),
5216  Option( 'angle', 'Real', desc='Maximum allowed angle between stubCA, target CoM, and stubCB. Used to determine if stub is pointing towards target. Negative numbers deactivates this check (default)', default='-1' ),
5217  Option( 'angle_res', 'Integer', desc='Residue to use for angle calculation from stubCA, <this option>, and stubCB. Used to determine if stub is pointing towards target. 0 uses the default, which is the targets center of mass', default='0' ),
5218  ), # -hotspot
5219 
5220  Option_Group( 'indexed_structure_store',
5221  Option( 'fragment_store', 'File', desc='Fragment store. [.h5] file'),
5222  Option( 'fragment_threshold_distance', 'Real', desc='sets the fragment threshold distance when being read in by the VallLookback score function',default = '0.4'),
5223  ), # -indexed_structure_store
5224  Option_Group( 'lh',
5225 # Option( 'db_prefix', 'String', default = 'loopdb', desc='stem for loop database' ),
5226  Option( 'loopsizes', 'IntegerVector', default = ['10','15','20'] , desc='Which loopsizes to use' ),
5227  Option( 'num_partitions', 'Integer', default = '1', desc='Number of partitions to split the database into'),
5228  Option( 'db_path', 'Path', default = '', desc = 'Path to database' ),
5229  Option( 'exclude_homo', 'Boolean', default = 'false', desc = 'Use a homolog exclusion filter' ),
5230  Option( 'bss', 'Boolean', default = 'false', desc = 'Use BinaryProteinSilentStruct instead of ProteinSilentStruct (needed for nonideal)' ),
5231  Option( 'refstruct', 'String', default = '', desc = 'File with a target reference structure' ),
5232  Option( 'homo_file', 'String', default = '', desc = 'File containing homologs to exclude' ),
5233  Option( 'createdb_rms_cutoff', 'RealVector', default = ['0','0','0'], desc = 'RMS cutoff used for throwing out similar fragments.' ),
5234  Option( 'min_bbrms', 'Real', default='20.0' ),
5235  Option( 'max_bbrms', 'Real', default='1400.0' ),
5236  Option( 'min_rms' , 'Real', default='0.5' ),
5237  Option( 'max_rms' , 'Real', default='4.0' ),
5238  Option( 'filter_by_phipsi', 'Boolean', default = 'true' ),
5239  Option( 'max_radius' , 'Integer', default='4' ),
5240  Option( 'max_struct' , 'Integer', default='10' ),
5241  Option( 'max_struct_per_radius' , 'Integer', default='10' ),
5242  Option( 'grid_space_multiplier' , 'Real', default = '1' ),
5243  Option( 'grid_angle_multiplier' , 'Real', default = '2.5' ),
5244  Option( 'skim_size', 'Integer', default='100' ),
5245  Option( 'rounds', 'Integer', default='100' ),
5246  Option( 'jobname', 'String', desc = 'Prefix (Ident string) !', default = 'default' ),
5247  Option( 'max_lib_size', 'Integer', default = '2' ),
5248  Option( 'max_emperor_lib_size', 'Integer', default = '25' ),
5249  Option( 'max_emperor_lib_round', 'Integer', default = '0' ),
5250  Option( 'library_expiry_time', 'Integer', default = '2400' ),
5251  Option( 'objective_function', 'String', desc = 'What to use as the objective function', default='score' ),
5252  Option( 'expire_after_rounds', 'Integer', desc = 'If set to > 0 this causes the Master to expire a structure after it has gone through this many cycles', default='0' ),
5253  Option( 'mpi_resume', 'String', desc = 'Prefix (Ident string) for resuming a previous job!'),
5254  Option( 'mpi_feedback', 'String', default = 'no',
5255  legal=['no','add_n_limit','add_n_replace', 'single_replace', 'single_replace_rounds' ], ),
5256  Option( 'mpi_batch_relax_chunks', 'Integer', default='100' ),
5257  Option( 'mpi_batch_relax_absolute_max', 'Integer', default='300' ),
5258  Option( 'mpi_outbound_wu_buffer_size', 'Integer', default='60' ),
5259  Option( 'mpi_loophash_split_size ', 'Integer', default='50' ),
5260  Option( 'mpi_metropolis_temp', 'Real', default='1000000.0' ),
5261  Option( 'mpi_save_state_interval', 'Integer', default='1200' ),
5262  Option( 'mpi_master_save_score_only', 'Boolean', default = 'true' ),
5263  Option( 'max_loophash_per_structure', 'Integer', default='1' ),
5264  Option( 'prob_terminus_ramapert' , 'Real', default='0.0', desc="Prob. to run ramapert instead of fraginsert on terminus" ),
5265  Option( 'rms_limit', 'Real', default='2.0', desc = 'How to deal with returned relaxed structures' ),
5266  Option( 'similarity_reference', 'Real', default='2.0', desc = 'How to deal with returned relaxed structures' ),
5267  Option( 'centroid_only', 'Boolean', default = 'false', desc = 'false' ),
5268  Option( 'write_centroid_structs', 'Boolean', default = 'false', desc = 'Output raw loophashed decoys as well as relaxed ones' ),
5269  Option( 'write_all_fa_structs', 'Boolean', default = 'false', desc = 'Write out all structures returned from batch relax' ),
5270  Option( 'sandbox', 'Boolean', default = 'false', desc = 'Sand box mode' ),
5271  Option( 'create_db', 'Boolean', default = 'false', desc = 'Make database with this loopsize' ),
5272  Option( 'sample_weight_file', 'File', desc = 'Holds the initial per residue sample weights' ),
5273  Option( 'radius_size', 'Real',default = '2',desc='tune the radius for hypershell'),
5274  # specific for mpi_refinement (above are shared by both loophash & mpi_refinement)
5275  Option( 'max_ref_lib_size', 'Integer', default = '2' ),
5276  Option( 'multi_objective_functions', 'StringVector', desc = 'What to use as the objective function', default='utility::vector1<std::string>(1,"score")' ),
5277  Option( 'additional_objective_functions', 'StringVector', desc = 'What to add for the multi-objective function' ),
5278  Option( 'edensity_weight_for_sampling', 'Real', desc = 'weight for elec_dens_fast in WorkUnit_Samplers', default='0.0' ),
5279  Option( 'mpi_master_schfile', 'String', default = '', desc = 'schedule file'),
5280  Option( 'mpi_master_cpu_weight', 'IntegerVector', default = ['0.0'], desc = 'weight on number of slaves'),
5281  Option( 'mpi_loophash_scan_type', 'String', default='random' ),
5282  Option( 'mpi_read_structure_for_emperor', 'Boolean', default='true' ),
5283  Option( 'mpi_packmin_init', 'Boolean', default='false' ),
5284  Option( 'max_sample_per_structure', 'Integer', default='1' ),
5285  Option( 'loop_string', 'String', default='', desc = 'string to be parsed for loop region, e.g. 1-10,15-20,32-38' ),
5286  Option( 'seg_string', 'String', default='', desc = 'string to be parsed for segment region, e.g. 1-10,15-20,32-38' ),
5287  Option( 'loopresdef', 'StringVector', default=[''], desc = 'String vector that tells connectivity, e.g. peptide:1,2,3,4,5-6 SSbond:3,2,1-9,8,7,6'),
5288  Option( 'pert_init_loop', 'Boolean', default='false', desc = 'Try perturbing loops from starting structure at the beginning' ),
5289  Option( 'NMdist', 'Real', default='10.0', desc = 'normalmodemover distance cut'),
5290  Option( 'objective_dominate_cut', 'RealVector', default=['0.0','0.0','3.0'], desc = 'cut for objective function domination'),
5291  Option( 'objective_cut_increment', 'RealVector', default=['0.0','0.0','0.0'], desc = 'objective_dominate_cut increment for every call'),
5292  Option( 'similarity_method', 'String', default='sum' ),
5293  Option( 'similarity_measure', 'String', default='Sscore' ),
5294  Option( 'similarity_tolerance', 'Real', default='0.5' ),
5295  Option( 'parent_selection_kT', 'Real', default='0.2' ),
5296  Option( 'sim_replace_obj', 'String', default='goap' ),
5297  Option( 'ulr_mulfactor', 'Real', default='1.8' ),
5298  Option( 'filter_up_to_maxlib', 'Boolean', default='false' ),
5299  Option( 'minimize_after_nmsearch', 'Boolean', default='false' ),
5300 
5301  Option_Group( 'fragpdb',
5302  Option( 'out_path', 'String', default = '', desc='Path where pdbs are saved' ),
5303  Option( 'indexoffset', 'IntegerVector', desc='list of index offset pairs' , default = ['-1']),
5304  Option( 'bin', 'StringVector', desc='list of bin keys', default = 'utility::vector1<std::string>()' ),
5305  ), # -lh:fragpdb
5306  Option_Group( 'symfragrm',
5307  Option( 'pdblist', 'FileVector', desc='list of pdbs to be processed' ),
5308  ), # -lh:symfragrm
5309  ), # -lh
5310 
5311  Option_Group( 'loopfcst',
5312  Option( 'coord_cst_weight', 'Real', desc='use coord constraints for template', default='0.0' ),
5313  Option( 'coord_cst_all_atom', 'Boolean', desc='use coord constraints on all atoms and not just CA', default='false' ),
5314  Option( 'use_general_protocol', 'Boolean', desc='use the new machinery around classes KinematicXXX', default='false' ),
5315  Option( 'coord_cst_weight_array', 'File', desc='use these weights (per seqpos) for coord cst in rigid regions', default='' ),
5316  Option( 'dump_coord_cst_weight_array', 'File', desc='dump these weights (per seqpos) for coord cst in rigid regions', default='' ),
5317  ), # -loopfcst
5318 
5319  Option_Group( 'LoopModel',
5320  Option( 'input_pdb','File', desc='input pdb file', default='LoopModel::input_pdb' ),
5321 # Option( 'loop_file','File', desc='input loops list file', default='LoopModel::loop_file' ),
5322  ), # -LoopModel
5323 
5324  ## Make Rot Lib Options ##
5325  Option_Group( 'make_rot_lib',
5326  Option( 'options_file', 'File', desc='path to make rot lib options file' ),
5327  Option( 'two_fold_symmetry_135_315', 'IntegerVector', desc='the chi number at which to apply two fold symmetry across the 135/315 axis' ),
5328  Option( 'two_fold_symmetry_0_180' , 'IntegerVector', desc='the chi number at which to apply two fold symmetry across the 0/180 axis' ),
5329  Option( 'three_fold_symmetry_90_210_330' , 'IntegerVector', desc='the chi number at which to apply two fold symmetry across the 0/180 axis' ),
5330  Option( 'use_terminal_residues' , 'Boolean', desc='Use separate ACE and NME residues as terminal capping groups, rather than patches', default='false' ),
5331  Option( 'k_medoids' , 'Boolean', desc='Use k-medoids instead of k-means clustering', default='false' ),
5332  ), # -make_rot_lib
5333 
5334  Option_Group( 'match',
5335  Option( 'lig_name', 'String', desc="Name of the ligand to be matched. This should be the same as the NAME field of the ligand's parameter file (the .params file)" ),
5336  Option( 'bump_tolerance', 'Real', desc='The permitted level of spherical overlap betweeen any two atoms. Used to detect collisions between the upstream atoms and the background, the upstream atoms and the downstream atoms, and the downstream atoms and the background', default='0.0' ),
5337  Option( 'active_site_definition_by_residue', 'File', desc='File describing the active site of the scaffold as a set of resid/radius pairs' ),
5338  Option( 'active_site_definition_by_gridlig', 'File', desc='File containing 1s and Os describing the volume of space for the active site. .gridlig file format from Rosetta++' ),
5339  Option( 'required_active_site_atom_names', 'File', desc='File listing the downstream-residue-atom names which must reside in the defined active site. Requires either the flag active_site_definition_by_residue or the flag active_site_definition_by_gridlig to be specified.' ),
5340  Option( 'grid_boundary', 'File', desc='File describing the volume in space in which the third orientation atom must lie', default = ''),
5341  Option( 'geometric_constraint_file', 'File', desc='File describing the geometry of the downstream object relative to the upstream object' ),
5342  Option( 'scaffold_active_site_residues', 'File', desc="File with the residue indices on the scaffold that should be \
5343  considered as potential launch points for the scaffold's active site. File format described in MatcherTask.cc \
5344  in the details section of the initialize_scaffold_active_site_residue_list_from_command_line() method.", default = ''),
5345  Option( 'scaffold_active_site_residues_for_geomcsts', 'File', desc="File which lists the residue indices on the \
5346  scaffold to consider as potential launch points for the scaffold's active site for each geometric constraint; \
5347  each constraint may have a separate set of residue ids. File format described in MatcherTask.cc in the details \
5348  section of the initialize_scaffold_active_site_residue_list_from_command_line() method.", default = ''),
5349  Option( 'euclid_bin_size', 'Real', desc='The bin width for the 3-dimensional coordinate hasher, in Angstroms', default = '1.0'),
5350  Option( 'euler_bin_size', 'Real', desc='The bin width for the euler angle hasher, in degrees', default = '10.0'),
5351  Option( 'consolidate_matches', 'Boolean', desc='Instead of outputting all matches, group matches and then write only the top -match::output_matches_per_group from each group.', default = 'false'),
5352  Option( 'output_matches_per_group', 'Integer', desc='The number of matches to output per group. Requires the -match::consolidate_matches flag is active.', default = '10'),
5353  Option( 'orientation_atoms', 'StringVector', desc="The three atoms, by name, on the downstream partner \
5354  to use to describe its 6 dimensional coordinate; its position and orientation. \
5355  Only usable when the downstream partner is a single residue. Exactly 3 atom names must be given. \
5356  If these atoms are unspecified, the matcher will use the residues neighbor atom and two atoms \
5357  bonded to the neighbor atom to define the orientation. The euclidean coordinate of the third \
5358  orientation atom is used as the first the dimensions of the downstream residues 6D coordinate; the \
5359  other three dimensions are the three euler angles described by creating a coordinate frame at orientation \
5360  atom 3, with the z axis along the vector from orientation atom 2 to orientation atom 3, and the y axis \
5361  lying in the plane with orientation atoms 1,2&3."),
5362  Option( 'output_format', 'String', desc='The format in which the matches are output', default = 'CloudPDB', legal = [ 'PDB', 'KinWriter', 'CloudPDB' ] ),
5363  Option( 'match_grouper', 'String', desc='The parameters that matches are grouped according to by the MatchConsolidator or the CloudPDBWriter', default = 'SameSequenceAndDSPositionGrouper', legal = [ 'SameChiBinComboGrouper', 'SameSequenceGrouper', 'SameSequenceAndDSPositionGrouper', 'SameRotamerComboGrouper' ] ),
5364  Option( 'grouper_downstream_rmsd', 'Real', desc='Maximum allowed rmsd between two orientations of the downstream pose to be considered part of the same group ', default = '1.5' ),
5365  Option( 'output_matchres_only', 'Boolean', desc='Whether to output the matched residues only or the whole pose for every match', default = 'false'),
5366  Option( 'geom_csts_downstream_output', 'IntegerVector', desc='For which of the geometric constraints the downstream residue/ligand will be output', default = ['1']),
5367  Option( 'filter_colliding_upstream_residues', 'Boolean', desc='Filter the output matches if the hits induce a collision between the upstream residues', default = 'true' ),
5368  Option( 'upstream_residue_collision_tolerance', 'Real', desc='The amount of atom overlap allowed between upstream residues in a match. If this is unspecified on the command line, then the value in the bump_tolerance option is used', default = '0.0' ),
5369  Option( 'upstream_residue_collision_score_cutoff', 'Real', desc='The score cutoff for upstream residue pairs to use in the collision filter. Activating this cutoff uses the etable atr/rep/sol terms to evaluate residue-pair interactions instead of hard-sphere overlap detection', default = '10.0' ),
5370  Option( 'upstream_residue_collision_Wfa_atr', 'Real', desc='The fa_atr weight to use in the upstream-collision filter; use in tandem with upstream_residue_collision_score_cutoff', default = '0.8' ),
5371  Option( 'upstream_residue_collision_Wfa_rep', 'Real', desc='The fa_rep weight to use in the upstream-collision filter; use in tandem with upstream_residue_collision_score_cutoff', default = '0.44' ),
5372  Option( 'upstream_residue_collision_Wfa_sol', 'Real', desc='The fa_sol weight to use in the upstream-collision filter; use in tandem with upstream_residue_collision_score_cutoff', default = '0.0' ),
5373  Option( 'filter_upstream_downstream_collisions', 'Boolean', desc='Filter the output matches if the hits induce a collision between the upstream residues and the downstream pose', default = 'true' ),
5374  Option( 'updown_collision_tolerance', 'Real', desc='The amount of atom overlap allowed between upstream and downstream atoms in a match. If this is unspecified on the command line, then the value in the bump_tolerance option is used', default = '0.0' ),
5375  Option( 'updown_residue_collision_score_cutoff', 'Real', desc='The score cutoff for upstream/downstream residue pairs to use in the collision filter. Activating this cutoff uses the etable atr/rep/sol terms to evaluate residue-pair interactions instead of hard-sphere overlap detection', default = '10.0' ),
5376  Option( 'updown_residue_collision_Wfa_atr', 'Real', desc='The fa_atr weight to use in the upstream-downstream-collision filter; use in tandem with updown_residue_collision_score_cutoff', default = '0.8' ),
5377  Option( 'updown_residue_collision_Wfa_rep', 'Real', desc='The fa_rep weight to use in the upstream-downstream-collision filter; use in tandem with updown_residue_collision_score_cutoff', default = '0.44' ),
5378  Option( 'updown_residue_collision_Wfa_sol', 'Real', desc='The fa_sol weight to use in the upstream-downstream-collision filter; use in tandem with updown_residue_collision_score_cutoff', default = '0.0' ),
5379 
5380  Option( 'define_match_by_single_downstream_positioning', 'Boolean', desc="Enumerate combinations of matches where a \
5381  single positioning of the downstream partner as well as the conformations of the upstream residues defines the \
5382  match; it is significantly faster to enumerate unique matches when they are defined this way instead of enumerating the \
5383  (combinatorially many) matches when a match is defined by n-geometric-constraint locations of the downstream partner. \
5384  This faster technique for outputting matches is automatically chosen when the flag -match::output_format is PDB." ),
5385  Option( 'ligand_rotamer_index', 'Integer', desc="Match with a particular conformation of the ligand; the index \
5386  represents which conformation in the multi-model .pdb file specified in the ligand's .params file by the \
5387  PDB_ROTAMERS field. The index of the first conformation in that file is 1; valid indices range from 1 to \
5388  the number of entries in the multi-model .pdb file. If this command-line flag is not used, then the conformation \
5389  of the ligand described by the ICOOR_INTERNAL lines of the ligand's .params file is used instead." ),
5390  Option( 'enumerate_ligand_rotamers', 'Boolean', desc="Match with all ligand rotamers specified in the multi-model \
5391  .pdb file specified in the ligand's .params file by the PDB_ROTAMERS field. This flag may not be used in \
5392  combination with the match::ligand_rotamer_index flag. Geometry of the ligand rotamers in the .pdb file will \
5393  be idealized to the .params file bond angles and lengths.", default = 'true' ),
5394  Option( 'only_enumerate_non_match_redundant_ligand_rotamers', 'Boolean', desc="Only defined if enumerate_ligand_rotamers is true \
5395  this option causes the matcher to determine which rotamers in the ligand rotamer library are redundant in terms of matching, \
5396  meaning the atoms they're matched through are superimposable. after having subdivided the ligand rotamer library into match-redundant \
5397  subgroups, the matcher will then only place the first nonclashing rotamer from each subgroup. ", default = 'true' ),
5398  Option( 'dynamic_grid_refinement', 'Boolean', desc="When too many hits land in the same 'connected component', requiring the \
5399  enumeration of twoo many matches, refine the grid size to be smaller so that fewer matches have to be enumerated. \
5400  This process works on individual connected components and is not applied to all regions of 6D. This is significantly \
5401  more efficient than enumerating all matches, while allowing the grid size to remain large and the rotamer and external \
5402  geometry to remain dense. (*A connected component refers to " ),
5403  Option( 'build_round1_hits_twice', 'Boolean', desc="Memory saving strategy that avoids paying for the storage of all the round-1 hits \
5404  and instead records only what 6D voxels those hits fall in to. Then the second round of matching proceeds storing only the hits that \
5405  fall into the same voxels that the hits from the first round fell into. Then the matcher goes back and generates the first-round hits \
5406  again, but only keeps the ones that land into the same voxels that hits from round 2 fell into. To be used, round 2 must also use the \
5407  classic match algorithm (and must not use secondary matching).", default='false' ),
5408  ), # -match
5409 
5410  Option_Group( 'matdes',
5411  Option('num_subs_building_block', 'Integer', desc='The number of subunits in the oligomeric building block', default='1'),
5412  Option('num_subs_total', 'Integer', desc='The number of subunits in the target assembly', default='1'),
5413  Option('pdbID', 'String', desc='The PDB ID', default='0xxx'),
5414  Option('prefix', 'String', desc='Prefix appended to output PDB files. Perhaps useful to describe the architecture, e.g., 532_3_...', default='pre_'),
5415  Option('radial_disp', 'RealVector', desc='Specify the radial displacement from the center of a closed point group assembly. Use with -in::olig_search::dump_pdb'),
5416  Option('angle', 'RealVector', desc='Specify the angle by which a building block is rotated in a symmetrical assembly. Use with -in::olig_search::dump_pdb'),
5417  Option('tag', 'String', desc='Four digit ID tag attached to a design model during design'),
5418  Option_Group( 'dock',
5419  Option('neg_r', 'Real', desc='Specify whether radial displacement is positive or negative. 1 for negative, 0 for positive.', default='0'),
5420  Option('dump_pdb', 'Boolean', desc='Dump a pdb of a particular docked configuration', default='false'),
5421  Option('dump_chainA_only', 'Boolean', desc='Only output chain A (the asymmetric unit) of the symmetrical assembly. Use with -in::olig_search::dump_pdb', default='false'),
5422  ), # -matdes:dock
5423 
5424  Option_Group( 'design',
5425  Option('contact_dist', 'Real', desc='CA-CA distance for defining interface residues', default='10.0'),
5426  Option('grid_size_angle' , 'Real', desc='The width of angle space to start design/minimize runs from, centered on the starting angle', default='1.0'),
5427  Option('grid_size_radius', 'Real', desc='The width of radius space to start design/minimize runs from, centered on the starting radius', default='1.0'),
5428  Option('grid_nsamp_angle' , 'Integer', desc='The number of samples the rigid body grid is divided into in angle space', default='9'),
5429  Option('grid_nsamp_radius', 'Integer', desc='The number of samples the rigid body grid is divided into in radius space', default='9'),
5430  Option('fav_nat_bonus', 'Real', desc='Bonus to be awarded to native residues', default='0.0'),
5431  ), # -matdes:design
5432 
5433  Option_Group( 'mutalyze',
5434  Option('calc_rot_boltz', 'Boolean', desc='Specify whether to calculate RotamerBoltzmann probabilities or not', default='0'),
5435  Option('ala_scan', 'Boolean', desc='Specify whether to calculate ddGs for alanine-scanning mutants at the designed interface', default='1'),
5436  Option('revert_scan', 'Boolean', desc='Specify whether to calculate ddGs for reversion mutants at the designed interface', default='1'),
5437  Option('min_rb', 'Boolean', desc='Specify whether to minimize the rigid body DOFs', default='1'),
5438  ), # -matdes:mutalyze
5439 
5440  ), # -matdes
5441 
5442  Option_Group( 'mc',
5443  Option( 'log_scores_in_MC', 'Boolean', desc="Score each decoy during a simulation and output it to log; slows down run!", default="false" ),
5444  Option( 'hierarchical_pool', 'String', desc='specify prefix in order to look for hierarchical pool' ),
5445  Option( 'read_structures_into_pool', 'File', desc='specify the silent-structs to create a hierarchy for lazy users'),
5446  Option( 'convergence_check_frequency', 'Integer', desc='how often check for convergences in MC object?', default = '100' ),
5447  Option( 'known_structures', 'File',
5448  desc='specify a filename of a silent-file containing known structures',
5449  default='known_structs.in'
5450  ), ##using this option will cause that tag of nearest structure to sampled decoys is reported
5451  Option( 'max_rmsd_against_known_structures', 'Real', desc='stop sampling if rmsd to a known-structure is lower than X',default='1.5' ),
5452  Option( 'excluded_residues_from_rmsd', 'IntegerVector', desc='residues that are not used for RMSD computation in pool' ),
5453  Option( 'heat_convergence_check', 'Integer',
5454  desc ="jump out of current abinitio run if X unsuccesful mc-trials reached", default='0'),
5455  ), # -mc
5456 
5457 
5458  Option_Group( 'mh', # sheffler willsheffler@gmail.com
5459  Option( 'motif_out_file' , 'String' , desc="file to dump ResPairMotifs to" , default="motifs" ),
5460  Option( 'harvest_motifs' , 'FileVector' , desc="files to harvest ResPairMotifs from" , default="SPECIFY_ME_DUMMY" ),
5461  Option( 'print_motifs' , 'FileVector' , desc="files to print ResPairMotifs from" , default="SPECIFY_ME_DUMMY" ),
5462  Option( 'remove_duplicates' , 'FileVector' , desc="files to remove dup ResPairMotifs from" , default="SPECIFY_ME_DUMMY" ),
5463  Option( 'dump_motif_pdbs' , 'FileVector' , desc="files to extract ResPairMotifs clusters from" , default="SPECIFY_ME_DUMMY" ),
5464  Option( 'merge_motifs' , 'FileVector' , desc="files to merge ResPairMotifs from" , default="SPECIFY_ME_DUMMY" ),
5465  Option( 'merge_scores' , 'FileVector' , desc="files to merge scores from" , default="SPECIFY_ME_DUMMY" ),
5466  Option( 'merge_motifs_one_per_bin' , 'Boolean' , desc="keep only one motif per hash bin (for sepcified grid)" , default="false" ),
5467  Option( 'gen_reverse_motifs_on_load' , 'Boolean' , desc="" , default="false" ),
5468  Option( 'dump_input_pdb' , 'FileVector' , desc="files to dump biount interpretation from" , default="SPECIFY_ME_DUMMY" ),
5469  Option( 'score_pdbs' , 'FileVector' , desc="files to score with input counts file" , default="SPECIFY_ME_DUMMY" ),
5470  Option( 'sequence_recovery' , 'FileVector' , desc="pdb files to score" , default="SPECIFY_ME_DUMMY" ),
5471  Option( 'explicit_motif_score' , 'FileVector' , desc="pdb files to score" , default="SPECIFY_ME_DUMMY" ),
5472  Option( 'harvest_scores' , 'FileVector' , desc="get counts from ResPairMotif files and dump to binary counts file" , default="" ),
5473  Option( 'print_scores' , 'File' , desc="print a binary counts file" , default="" ),
5474  Option( 'dump_matching_motifs' , 'FileVector' , desc="pdb files to score" , default="SPECIFY_ME_DUMMY" ),
5475  Option( 'score_across_chains_only' , 'Boolean' , desc="ignore intra-chain motifs" , default= 'false' ),
5476  Option( 'normalize_score_ncontact' , 'Boolean' , desc="normalize by total num contacts" , default= 'true' ),
5477  # Option( 'hash_cart_size' , 'Real' , desc="dimensions of binned space" , default= '12.0' ),
5478  Option( 'harvest_motifs_min_hh_ends' , 'Integer' , desc="restrict to middle of hilix contacts " , default= '0' ),
5479  Option( 'ignore_io_errors' , 'Boolean' , desc=" " , default= 'false' ),
5480  Option( 'motif_match_radius' , 'Real' , desc="width of euler angle bin" , default= '9e9' ),
5481  Option( 'merge_similar_motifs' , 'RealVector' , desc="give 3 hash params" ),
5482  Option_Group('score',
5483  Option('background_weight' ,'Real' , desc="weight on cb contacts, kinda" , default= '0.0' ),
5484  Option('ca_cb_clash_weight' ,'Real' , desc="weight on cb clashes, kinda" , default= '1.0' ),
5485  Option('noloops' ,'Boolean' , desc="ignore loop ss in scored structs" , default= 'false' ),
5486  Option('nosheets' ,'Boolean' , desc="ignore strand ss in scored structs" , default= 'false' ),
5487  Option('nohelix' ,'Boolean' , desc="ignore helix ss in scored structs" , default= 'false' ),
5488  Option('spread_ss_element' ,'Boolean' , desc="" , default= 'false' ),
5489  Option('min_cover_fraction' ,'Real' , desc="" , default= '0.0' ),
5490  Option('strand_pair_weight' ,'Real' , desc="" , default= '1.0' ),
5491  Option('anti_polar_weight' ,'Real' , desc="" , default= '1.0' ),
5492  Option('min_contact_pairs' ,'Real' , desc="" , default= '1.0' ),
5493  Option('max_contact_pairs' ,'Real' , desc="" , default= '9e9' ),
5494  Option('max_cb_dis' ,'Real' , desc="" , default= '9.0' ),
5495  Option('coverage_pow' ,'Real' , desc="" , default= '0.0' ),
5496  Option('use_ss1' ,'Boolean' , desc="" , default= 'true' ),
5497  Option('use_ss2' ,'Boolean' , desc="" , default= 'true' ),
5498  Option('use_aa1' ,'Boolean' , desc="" , default= 'false' ),
5499  Option('use_aa2' ,'Boolean' , desc="" , default= 'false' ),
5500  Option('use_log' ,'Boolean' , desc="" , default= 'true' ),
5501  ),
5502  Option_Group('path',
5503  Option( 'biounit' ,'StringVector' , desc="path to search for biounits in the ab/1abc.pdb1.gz format" , default="utility::vector1<std::string>()" ),
5504  Option( 'biounit_ideal' ,'StringVector' , desc="idealized biounit coords, missing PDBInfo metadatab" , default="utility::vector1<std::string>()" ),
5505  Option( 'pdb' ,'StringVector' , desc="path to search for pdbs in the ab/1abc.pdb.gz format" , default="utility::vector1<std::string>()" ),
5506  Option( 'motifs' , 'StringVector' , desc="concrete motifs in .rpm.bin.gz format" , default="utility::vector1<std::string>()" ),
5507  Option( 'motifs_SC_SC' , 'StringVector' , desc="concrete SC_SC motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5508  Option( 'motifs_SC_BB' , 'StringVector' , desc="concrete SC_BB motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5509  Option( 'motifs_BB_BB' , 'StringVector' , desc="concrete BB_BB motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5510  Option( 'motifs_BB_PH' , 'StringVector' , desc="concrete BB_PH motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5511  Option( 'motifs_BB_PO' , 'StringVector' , desc="concrete BB_PO motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5512  Option( 'motifs_PH_PO' , 'StringVector' , desc="concrete PH_PO motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5513  Option( 'scores' , 'StringVector' , desc="motif hash data for scoring, mixed, may not use" ),
5514  Option( 'scores_SC_SC' , 'StringVector' , desc="motif hash data for scoring SC_SC" ),
5515  Option( 'scores_SC_BB' , 'StringVector' , desc="motif hash data for scoring SC_BB" ),
5516  Option( 'scores_BB_BB' , 'StringVector' , desc="motif hash data for scoring" ),
5517  Option( 'scores_BB_PH' , 'StringVector' , desc="motif hash data for scoring BB_PH" ),
5518  Option( 'scores_BB_PO' , 'StringVector' , desc="motif hash data for scoring BB_PO" ),
5519  Option( 'scores_PH_PO' , 'StringVector' , desc="motif hash data for scoring strand pairings" ),
5520  Option( 'scores_frags' , 'StringVector' , desc="motif hash data for scoring strand pairings" ),
5521  ),
5522  Option_Group('harvest',
5523  Option('hash_cart_resl' ,'Real' , desc="width of cartesian bin" , default= '0.8' ),
5524  Option('hash_angle_resl' ,'Real' , desc="width of euler angle bin" , default= '15.0' ),
5525  Option('smoothing_factor' ,'Real' , desc="smoothing radius exp(-d/resl**2 * factor)" , default= '1.0' ),
5526  Option('idealize' ,'Boolean' , desc="" , default= 'false' ),
5527  Option('dump' ,'Boolean' , desc="" , default= 'false' ),
5528  Option('min_bin_val' ,'Real' , desc="" , default='0.0' ),
5529  Option('sep_aa' ,'Boolean' , desc="" , default= 'false' ),
5530  Option('sep_aa1' ,'Boolean' , desc="" , default= 'false' ),
5531  Option('sep_aa2' ,'Boolean' , desc="" , default= 'false' ),
5532  Option('sep_ss' ,'Boolean' , desc="" , default= 'false' ),
5533  Option('sep_dssp' ,'Boolean' , desc="" , default= 'false' ),
5534  Option('sep_lj' ,'RealVector' , desc="" , default= 'utility::vector1<double>()' ),
5535  Option('sep_hb' ,'RealVector' , desc="" , default= 'utility::vector1<double>()' ),
5536  Option('sep_nbrs' ,'RealVector' , desc="" , default= 'utility::vector1<double>()' ),
5537  Option('sep_bfac' ,'RealVector' , desc="" , default= 'utility::vector1<double>()' ),
5538  Option('sep_dist' ,'RealVector' , desc="" , default= 'utility::vector1<double>()' ),
5539  Option('weight_by_energy' ,'Boolean' , desc="" , default= 'true' ),
5540  Option('max_rmsd' ,'Real' , desc="skip structure if refined rms to input is higher than this" , default='0.5' ),
5541  Option('max_res' ,'Integer' , desc="max res in biounit (or whatever) for harvest" , default="1000" ),
5542  Option('agg_with_max' ,'Boolean' , desc="" , default= 'false' ),
5543  Option('multiplier' ,'Real' , desc="" , default= '1.0' ),
5544 
5545  ),
5546  Option_Group('match',
5547  Option('interface_only' ,'Boolean' , desc="" , default= 'true' ),
5548  Option('ss' ,'Boolean' , desc="" , default= 'true' ),
5549  Option('ss1' ,'Boolean' , desc="" , default= 'true' ),
5550  Option('ss2' ,'Boolean' , desc="" , default= 'true' ),
5551  Option('aa' ,'Boolean' , desc="" , default= 'false' ),
5552  Option('aa1' ,'Boolean' , desc="" , default= 'false' ),
5553  Option('aa2' ,'Boolean' , desc="" , default= 'false' ),
5554  ),
5555  Option_Group('dump',
5556  Option('limit_per_pair' ,'Integer' , desc="" , default= '999999' ),
5557  Option('max_per_res' ,'Integer' , desc="" , default= '30' ),
5558  Option('max_ca_dis' ,'Real' , desc="" , default= '12.0' ),
5559  Option('max_rms' ,'Real' , desc="" , default= '0.5' ),
5560  Option('resfile_min_pair_score' ,'Real' , desc="" , default= '0.00' ),
5561  Option('resfile_min_tot_score' ,'Real' , desc="" , default= '0.00' ),
5562  Option('resfile_dump' ,'Boolean' , desc="" , default= 'false' ),
5563  Option('symmetric_motifs' ,'Boolean' , desc="" , default= 'false' ),
5564  ),
5565  Option_Group('filter',
5566  Option('filter_harvest' ,'Boolean' , desc="filter while harvesting" , default= 'false' ),
5567  Option('filter_io' ,'Boolean' , desc="filter while reading filter" , default= 'true' ),
5568  Option('pdb' ,'String' , desc="4/5 letter pdb code" ),
5569  Option('lig' ,'String' , desc="3 letter lig code" ),
5570  Option('motif_type' ,'String' , desc="bb pb sc pp" ),
5571  Option('restype1' ,'String' , desc="allowed res types for res1" , default='ACDEFGHIKLMNPQRSTVWY' ),
5572  Option('restype2' ,'String' , desc="allowed res types for res2" , default='ACDEFGHIKLMNPQRSTVWY' ),
5573  Option('restype' ,'String' , desc="allowed res types" , default='ACDEFGHIKLMNPQRSTVWY' ),
5574  Option('restype_one' ,'String' , desc="allowed res types need at least one" , default='ACDEFGHIKLMNPQRSTVWY' ),
5575  Option('not_restype' ,'String' , desc="disallowed res types" , default='ACGP' ),
5576  Option('not_restype_one' ,'String' , desc="disallowed res types at least one not" , default='ACGP' ),
5577  Option('seqsep' ,'Integer' , desc="min filter seqsep" , default= '0' ),
5578  Option('max_seqsep' ,'Integer' , desc="min filter seqsep" , default= '99999' ),
5579  Option('no_hb_bb' ,'Boolean' , desc="no bb hbonded" , default= 'false' ),
5580  Option('mindist2' ,'Real' , desc="min CA-CA dist sq" , default= '0.0' ),
5581  Option('maxdist2' ,'Real' , desc="max CA-CA dist sq" , default= '999999.0' ),
5582  Option('ss1' ,'String' , desc="filter ss1" , default= '' ),
5583  Option('ss2' ,'String' , desc="filter ss2" , default= '' ),
5584  Option('dssp1' ,'String' , desc="filter dssp1" , default= '' ),
5585  Option('dssp2' ,'String' , desc="filter dssp2" , default= '' ),
5586  Option('aa1' ,'String' , desc="filter aa1" , default= '' ),
5587  Option('aa2' ,'String' , desc="filter aa2" , default= '' ),
5588  Option('sasa' ,'Real' , desc="filter max sasa" , default= '999.0' ),
5589  # Option('avge_cut' ,'Real' , desc="filter max total rosetta E cut (default 999.0 = no filtering" , default= '999.0' ),
5590  Option('faatr' ,'Real' , desc="filter max faatr (default 999.0 = no filtering" , default= '999.0' ),
5591  Option('hb_sc' ,'Real' , desc="filter max hb_sc (default 999.0 = no filtering" , default= '999.0' ),
5592  Option('hb_bb_sc' ,'Real' , desc="filter max hb_bb_sc (default 999.0 = no filtering" , default= '999.0' ),
5593  Option('hb_bb' ,'Real' , desc="filter max hb_bb (default 999.0 = no filtering" , default= '999.0' ),
5594  Option('occupancy' ,'Real' , desc="filter min occupancy (default 0.0 = no filtering" , default= '0.0' ),
5595  Option('coorderr' ,'Real' , desc="filter max bfac coorderr = sqrt(B/8*pi**2)) (default 999.0 = no filtering" , default= '999.0' ),
5596  Option('uniformfrag' ,'Boolean' , desc="is frag and all same ss in frag" , default= 'false' ),
5597  Option('faatr_or_hbbb' ,'Real' , desc="filter require atr or hb (bb allowed) below thresh" , default= '999.0' ),
5598  Option('faatr_or_hb' ,'Real' , desc="filter require atr or hb below thresh" , default= '999.0' ),
5599  Option('noloops' ,'Boolean' , desc="" , default= 'false' ),
5600  Option('oneloop' ,'Boolean' , desc="" , default= 'false' ),
5601  Option('nodisulf' ,'Boolean' , desc="" , default= 'false' ),
5602  Option('score' ,'Real' , desc="filter on ResPairMotir::score()" , default= '999.0' ),
5603  ),
5604  ),
5605 
5606 
5607  # options for motif protocol stuff
5608  Option_Group( 'magnesium',
5609  Option( 'scan', 'Boolean', desc="default mode: scan Mg(2+) through PDB", default='true' ),
5610  Option( 'mg_res', 'IntegerVector', desc="supply PDB residue numbers of Mg(2+) to look at [leave blank to scan a new Mg(2+)]", default='' ),
5611  Option( 'minimize_during_scoring', 'Boolean', desc="minimize mg(2+) during scoring/hydration of each position", default='true' ),
5612  Option( 'ligand_res', 'ResidueChainVector', desc="in scan, look at positions near these residues (PDB numbering/chains)", default='' ),
5613  Option( 'pose_ligand_res', 'IntegerVector', desc="in scan, look at positions near these residues, pose numbering (1,2,..)", default='' ),
5614  Option( 'lores_scan', 'Boolean', desc="do not try hydration or minimization during scan", default='false' ),
5615  Option( 'xyz_step', 'Real', desc="increment in Angstroms for xyz scan", default='0.50' ),
5616  Option( 'score_cut', 'Real', desc="score cut for silent output (5.0 for hires; -8.0 for lores)", default='5.0' ), # /* used to be -8.0 for low res */
5617  Option( 'score_cut_PDB', 'Real', desc="score cut for PDB output from scanning (deprecated)", default='0.0' ),
5618  Option( 'integration_test', 'Boolean', desc="Stop after first mg position found -- for testing", default='false' ),
5619  Option( 'tether_to_closest_res', 'Boolean', desc="stay near closest ligand res; helps force unique grid sampling in different cluster jobs.", default='false' ),
5620  Option( 'fixup', 'Boolean', desc="test mode: align the 6 octahedral virtual 'orbitals' for specified mg_res", default='false' ),
5621  Option( 'pack_water_hydrogens', 'Boolean', desc="test mode: strip out non-mg waters, align mg frames, pack mg waters for specified mg_res", default='false' ),
5622  Option( 'hydrate', 'Boolean', desc="test mode: strip out waters and hydrate mg(2+) for specified mg_res", default='false' ),
5623  Option( 'monte_carlo', 'Boolean', desc="test mode: monte carlo sampling of Mg(2+) and surrounding waters", default='false' ),
5624  Option( 'scored_hydrogen_sampling', 'Boolean', desc="in -pack_water_hydrogens test mode, when packing water hydrogens, use a complete scorefunction to rank (slow)", default='false' ),
5625  Option( 'all_hydration_frames', 'Boolean', desc="in -hydration test mode, Sample all hydration frames (slow)", default='false' ),
5626  Option( 'leave_other_waters', 'Boolean', desc="in -hydration test mode, do not remove all waters", default='false' ),
5627  Option( 'minimize', 'Boolean', desc="minimize Mg(2+) after hydration or hydrogen-packing", default='false' ),
5628  Option( 'minimize_mg_coord_constraint_distance', 'Real', desc="harmonic tether to Mg(2+) during minimize", default='0.2' ),
5629 
5630  Option_Group('montecarlo',
5631  Option( 'temperature', 'Real', desc="temperature for Monte Carlo", default='1.0' ),
5632  Option( 'cycles', 'Integer', desc="Monte Carlo cycles", default='100000' ),
5633  Option( 'dump', 'Boolean', desc="dump PDBs from Mg monte carlo", default='false' ),
5634  Option( 'add_delete_frequency', 'Real', desc="add_delete_frequency for Monte Carlo", default='0.1' ),
5635  ) # monte_carlo
5636  ), # magnesium
5637 
5638  # options for motif protocol stuff
5639  Option_Group( 'motifs',
5640  Option( 'close_enough', 'Real', default = '1.0', desc='4-atom rmsd cutoff beyond which you don\'t bother trying an inverse rotamer' ),
5641  Option( 'max_depth', 'Integer', default = '1', desc='Maximum recursion depth - i.e., maximum number of motifs to incorporate' ),
5642  Option( 'keep_motif_xtal_location', 'Boolean', default = 'false', desc="used to dna_motif_collector - controls whether motifs are moved away from original PDB location (comparison is easier if they are moved, so that's default)" ),
5643  Option( 'pack_score_cutoff', 'Real', default = '-0.5', desc = 'used in dna_motif_collector - fa_atr + fa_rep energy threshold for a two-residue interaction to determine if it is a motif'),
5644  Option( 'hb_score_cutoff', 'Real', default = '-0.3', desc = 'used in dna_motif_collector - hbond_sc energy threshold for a two-residue interaction to determine if it is a motif'),
5645  Option( 'water_score_cutoff', 'Real', default = '-0.3', desc = 'used in dna_motif_collector - h2o_hbond energy threshold for a two-residue interaction to determine if it is a motif'),
5646  Option( 'pack_min_threshold', 'Real', default = '-9999.0', desc = 'Used for motif extraction - packing scores below this value will cause a motif to be discarded'),
5647  Option( 'pack_max_threshold', 'Real', default = '9999.0', desc = 'Used for motif extraction - packing scores above this value will cause a motif to be discarded'),
5648  Option( 'hbond_min_threshold', 'Real', default = '-9999.0', desc = 'Used for motif extraction - hbond scores below this value will cause a motif to be discarded'),
5649  Option( 'hbond_max_threshold', 'Real', default = '9999.0', desc = 'Used for motif extraction - hbond scores above this value will cause a motif to be discarded'),
5650  Option( 'elec_min_threshold', 'Real', default = '-9999.0', desc = 'Used for motif extraction - fa_elec scores below this value will cause a motif to be discarded'),
5651  Option( 'elec_max_threshold', 'Real', default = '9999.0', desc = 'Used for motif extraction - fa_elec scores above this value will cause a motif to be discarded'),
5652  Option( 'duplicate_dist_cutoff', 'Real', default = '1.0', desc = 'Value for determining whether a motif is different from others already in a library'),
5653  Option( 'duplicate_angle_cutoff', 'Real', default = '0.4', desc = 'Value for determining whether a motif is different from others already in a library'),
5654  Option( 'motif_output_directory', 'String', desc = 'used in dna_motif_collector - path for the directory where all the collected motifs are dumped as 2-residue pdbs'),
5655  Option( 'eliminate_weak_motifs', 'Boolean', default = 'true', desc="used to dna_motif_collector - controls whether only the top 1-2 motifs are counted for every protein position in a protein-DNA interface" ),
5656  Option( 'duplicate_motif_cutoff', 'Real', default = '0.2', desc = 'used in dna_motif_collector - RMSD cutoff for an identical base placed via a motif to see if that motif already exists in a motif library'),
5657  Option( 'preminimize_motif_pdbs', 'Boolean', default = 'false', desc="used to dna_motif_collector - controls whether the input PDB structure sidechains and bb are minimized before motifs are collected" ),
5658  Option( 'preminimize_motif_pdbs_sconly', 'Boolean', default = 'false', desc="used to dna_motif_collector - controls whether the input PDB structure sidechains are minimized before motifs are collected" ),
5659  Option( 'place_adduct_waters', 'Boolean', default = 'true', desc="used to dna_motif_collector - whether or not adduct waters are placed before motifs are collected, there will be no water interaction calculated if this is false" ),
5660  Option( 'list_motifs', 'FileVector', desc="File(s) containing list(s) of PDB files to process" ),
5661  Option( 'motif_filename', 'String', desc="File containing motifs" ),
5662  Option( 'file_prefix', 'String', default = 'motif', desc="File containing motifs" ),
5663  Option( 'build_residue_file', 'String', desc="File containing the target positions for building and incorporating motifs" ),
5664  Option( 'motif_flexible_loop_file', 'String', desc="File containing the flexible loop definition" ),
5665  Option( 'residue_trim_file', 'String', desc="File a list of residues to trim to Ala before motif incorporation." ),
5666  Option( 'BPData', 'String', desc="File containing BuildPosition specific motifs and/or rotamers" ),
5667  Option( 'list_dnaconformers', 'FileVector', desc="File(s) containing list(s) of PDB files to process" ),
5668  Option( 'target_dna_defs', 'StringVector', default = '""', desc = ''),
5669  Option( 'motif_build_defs', 'StringVector', default = '""', desc = ''),
5670 # Option( 'motif_build_position_chain', 'String', default = '""', desc = ''),
5671  Option( 'motif_build_positions', 'IntegerVector', desc = ''),
5672  Option( 'r1', 'Real', default = '4.5', lower = '0', desc = 'RMSD cutoff between motif anchor position and motif target position for allowing a particular motif rotamer to continue on to expand with DNA conformers'),
5673  Option( 'r2', 'Real', default = '1.1', lower = '0', desc = 'RMSD cutoff between motif anchor position and motif target position for accepting the motif'),
5674  Option( 'z1', 'Real', default = '0.75', lower = '0', desc = 'DNA motif specific: cutoff between motif target DNA position and standardized base for allowing a particular motif to continue on to expand with DNA conformers'),
5675  Option( 'z2', 'Real', default = '0.95', lower = '0', desc = 'DNA motif specific: cutoff between motif target DNA position and DNA conformer placed according to motif for accepting the pair of residues'),
5676  Option( 'dtest', 'Real', default = '5.5', lower = '0', desc = 'DNA motif specific: cutoff between motif target DNA position and DNA conformer placed according to motif for accepting the pair of residues'),
5677  Option( 'rotlevel', 'Integer', default = '5', lower = '1', desc = 'level of rotamer sampling for motif search'),
5678  Option( 'num_repacks', 'Integer', default = '5', lower = '0', desc = 'number of cycles of dropping special_rot weight and design'),
5679  Option( 'minimize', 'Boolean', default = 'true', desc = 'whether or not to minimize the motifs toward the xtal structure DNA'),
5680  Option( 'minimize_dna', 'Boolean', default = 'true', desc = 'whether or not to minimize DNA after every round of design with special_rot weight dropping'),
5681  Option( 'run_motifs', 'Boolean', default = 'true', desc = 'whether or not to use motifs in DnaPackerMotif'),
5682  Option( 'expand_motifs', 'Boolean', default = 'true', desc = 'whether or not to use expand (use all types) motifs in DnaPackerMotif'),
5683  Option( 'aromatic_motifs', 'Boolean', default = 'true', desc = 'whether or not to use expand (use aromatic only types) motifs in DnaPackerMotif'),
5684  Option( 'dump_motifs', 'Boolean', default = 'true', desc = 'whether or not to output pdbs with the best rotamer/conformer for each motifs'),
5685  Option( 'quick_and_dirty', 'Boolean', default = 'true', desc = 'quick motif run to get a list of all possible motifs before doing a real run'),
5686  Option( 'special_rotweight', 'Real', default = '-40.0', desc = 'starting weight for the weight on motif rotamers'),
5687  Option( 'output_file', 'String', desc = 'name of output file for all the best motifs and rotamers or for the dna_motif_collector it is the file where all the motifs are dumped'),
5688  Option( 'data_file', 'String', desc = 'name of output file for any data about how many rotamers and motifs pass what tests, etc'),
5689  Option( 'target_aa', 'String', default = 'LEU', desc = 'three letter code for the target amino acid for finding motifs'),
5690 # Option( 'constraint_max', 'Real', default = '20.0', lower = '0', desc = 'highest value for constraint score (before and after minimization) that results in the rotamer being dropped'),
5691  Option( 'flex_sugar', 'Boolean', default = 'true', desc = 'whether or not to add the flexible sugar, not using PB way of adding options'),
5692  Option( 'clear_bprots', 'Boolean', default = 'true', desc = 'whether or not to clear the rotamers that were read in from a previous run and restart with only the motifs that were read in and the specified rotlevel'),
5693  Option( 'rots2add', 'Integer', default = '100', lower = '1', desc = 'number of rotamers to add to design from the MotifSearch for each amino acid type'),
5694  Option( 'restrict_to_wt', 'Boolean', default = 'true', desc = 'restrict the motif search to finding motifs of the same amino acid as the starting pose, for homology modeling'),
5695  Option( 'rerun_motifsearch', 'Boolean', default = 'true', desc = 'setting the MotifSearch to run again, using the rotamers in the build position, most likely to change stringency or amino acid type on a second run'),
5696  Option( 'no_rotamer_bump', 'Boolean', default = 'false', desc = 'skip the bump check when making the rotamers that will be tested for motif interactions, makes code much slower, but it is advised to increase the max_rotbump_energy to at least 10.0 instead of the default of 5.0 if bump_check is being used'),
5697  Option('ligand_motif_sphere','Real', default = '6.0',
5698  desc="option to specify radius of motif search around ligand"),
5699  ), # -motifs
5700 
5701  Option_Group( 'ms' , # multistate_design
5702 # Option( 'share_data', 'Boolean', desc='share rotamers and energies between states -- valid only if state variability is defined rotamerically', default='false' ),
5703 # Option( 'verbose', 'Boolean', desc='', default='false' ),
5704 # Option( 'restrict_to_canonical', 'Boolean', desc='design only canonical residue types', default='false' ),
5705  Option( 'pop_from_ss', 'Integer', desc='generate starting sequence population based on single-state design results', default='0' ),
5706  Option( 'pop_size', 'Integer', desc='genetic algorithm population size', default='100' ),
5707  Option( 'generations', 'Integer', desc='number of genetic algorithm generations', default='20' ),
5708  Option( 'num_packs', 'Integer', desc='number of repack trials per sequence/state combination', default='1' ),
5709  Option( 'numresults', 'Integer', desc='number of top-fitness results to save for explicit reference at the end of multistate design', default='1' ),
5710  Option( 'anchor_offset', 'Real', desc='energy offset from the energy of single-state design toward the target state -- used to generate an affinity anchor for fitness calculations', default='5.0' ),
5711  Option( 'Boltz_temp', 'Real', desc='thermodynamic temperature to use for specificity calculations', default='0.6' ),
5712  Option( 'mutate_rate', 'Real', desc='rate of mutation per position', default='0.5' ),
5713  Option( 'fraction_by_recombination', 'Real', desc='fraction of the population that should be generated by recombination during the evolution stage', default='0.5' ),
5714  Option_Group( 'checkpoint',
5715  Option( 'prefix', 'String', desc='prefix to add to the beginning of checkpoint file names', default='' ),
5716  Option( 'interval', 'Integer', desc='frequency with which the entity checkpoint is written', default='0' ),
5717  Option( 'gz', 'Boolean', desc='compress checkpoing files with gzip', default='false' ),
5718  Option( 'rename', 'Boolean', desc='rename checkpoint files after genetic algorithm completes', default='false' ),
5719  ), # -ms:checkpoint
5720  ), # -ms:
5721 
5722  # NonlocalAbinitio
5723  Option_Group('nonlocal',
5724 # Option('builder', 'String', desc = 'One of {simple, star}. Specifies how non-local abinitio should construct the fold tree', default = 'star'),
5725  Option('chunks', 'File', desc = 'Decsribes how the structure is partitioned into chunks. Each residue must be present in 1 and only 1 chunk. Loop file format.'),
5726 # Option('max_chunk_size', 'Integer', desc = 'Maximum allowable chunk size for comparative modeling inputs. If the chunk exceeds this threshold, it is recursively decomposed into smaller pieces.', default = '20'),
5727  Option('randomize_missing', 'Boolean', desc = 'Randomize the coordinates of missing loops. This occurs often in broken-chain folding from a sequence alignment and template pdb. Default value is false to preserve existing behavior in ThreadingJobInputter', default = 'false'),
5728 # Option('rdc_weight', 'Real', desc = 'Weight for the rdc energy term in nonlocal abinitio protocol', default = '5'),
5729  ), # -nonlocal
5730 
5731  Option_Group( 'optE',
5732  Option( 'optE', 'Boolean', desc="optE option group", legal='true', default='true' ),
5733  Option( 'load_from_silent', 'String', default='pdb_set.silent', desc='load from silent instead of pdb - uses path of requested pdb to find silent file, each PDB needs to have all of its structures in its own folder (ie: 1agy/pdb_set.silent) - only works in optimize_decoy_discrimination' ),
5734  Option( 'data_in', 'String', default='optE.data', desc='file from which to read in optE data' ),
5735  Option( 'data_out', 'String', default='optE.data.out', desc='file to which to write optE data' ),
5736  Option( 'weights', 'String', desc='a conventional weightfile that optE will use to determine which weights will be counted. All non-zero weights in the file will contribute to rotamer energies and be fit; use the -optE::fix option to fix any of these weights. Weight values will also be used as starting values for optimization.' ),
5737  Option( 'fix', 'StringVector', desc='weights to be fixed (must also appear in the weightfile given by the -optE::weights option)' ),
5738  Option( 'free', 'File', desc='IterativeOptEDriver flag: specify a file to read score types that are free -- optionally include a starting weight for each score type'),
5739  Option( 'fixed', 'File', desc='IterativeOptEDriver flag: specify a file to read score types and weights for score types that are on but fixed'),
5740  Option( 'parse_tagfile', 'File', desc='a file in utility::tag format that optE may parse to customize its operation'),
5741  Option( 'constant_logic_taskops_file', 'File', desc='a file in utility::tag format that optE uses to build a task that will not change with the context of the pose after design'),
5742  Option( 'optE_soft_rep', 'Boolean', desc='Instruct the IterativeOptEDriver to use the soft-repulsion etable' ),
5743  Option( 'no_hb_env_dependence', 'Boolean', desc='Disable environmental dependent weighting of hydrogen bond terms'),
5744  Option( 'no_hb_env_dependence_DNA', 'Boolean', desc='Disable environmental dependent weighting of hydrogen bonds involving DNA'),
5745  Option( 'optE_no_protein_fa_elec', 'Boolean', desc='Instruct the IterativeOptEDriver to use the soft-repulsion etable', default='false' ),
5746  Option( 'centroid_rot', 'Boolean', desc='Use CENTROID_ROT vdw radii', default='false' ),
5747  Option( 'centroid_rot_min', 'Boolean', desc='Use CENTROID_ROT_MIN vdw radii', default='false' ),
5748  Option( 'design_first', 'Boolean', desc='Do not optimize the weights in the context of the native structure, but rather, start by designing the protein with the input weight set. Requires that all score types listed in -optE::free have specificed weights.'),
5749  Option( 'n_design_cycles', 'Integer', desc='The number of outer-loop design cycles to complete; default of 10 after which convergence has usually occurred', default='10'),
5750  ##Option( 'recover_nat_aa', 'Boolean', desc='With the iterative optE driver, use design to recover the native amino acids'),
5751  Option( 'recover_nat_rot', 'Boolean', desc='With the iterative optE driver, repack to recover the native rotamers'),
5752  Option( 'component_weights', 'File', desc='With the iterative optE driver, weight the individual components according to the input file -- default weight of 1 for all components. Weight file consists of component-name/weight pairs on separate lines: e.g. prob_native_structure 100.0' ),
5753  Option( 'optimize_nat_aa', 'Boolean', desc='With the iterative optE driver, optimize weights to maximize the probability of the native rotamer'),
5754  Option( 'optimize_nat_rot', 'Boolean', desc='With the iterative optE driver, optimize weights to maximize the probability of the native rotamer in the native context'),
5755  Option( 'optimize_ligand_rot', 'File', desc='With the iterative optE driver, optimize weights to maximize the probability of the native rotamer around the ligand'),
5756  Option( 'optimize_pssm', 'Boolean', desc='With the iterative optE driver, optimize weights to maximize the match between a BLAST generated pssm probabillity distribution'),
5757  Option( 'optimize_dGbinding', 'File', desc='With the iterative optE driver, optimize weights to minimize squared error between the predicted dG of binding and the experimental dG; provide a file listing 1. bound PDB structure, 2. unbound PDB structure, and 3. measured dG'),
5758  Option( 'optimize_ddG_bind_correlation', 'File', desc='With the iterative optE driver, optimize weights to minimize squared error between the predicted ddG of binding for a mutation to the experimental ddG; provide a file listing 1. list file containing wt complexes, 2. list file containing mut complexes, 3. list file containing wt unbounds structures, 4. list file containing mut unbounds structures, and 5. measured ddG of binding'),
5759  Option( 'optimize_ddGmutation', 'File', desc='With the iterative optE driver, optimize weights to minimize the predicted ddG of mutation and the measured ddG; provide a file listing 1. repacked wt pdb list, 2. repacked mut pdb list, and 3. measured ddG triples'),
5760  Option( 'optimize_ddGmutation_straight_mean', 'Boolean', desc='With the iterative optE driver, predict the the ddGmut to be the difference between the straight mean (1/n Sum(E_i)) of the WT and MUT structures provided. Requires the -optimize_ddGmutation flag be set.'),
5761  Option( 'optimize_ddGmutation_boltzman_average', 'Boolean', desc='With the iterative optE driver, predict the the ddGmut to be the difference between the boltzman average energies ( Sum( E_i * e**-E_i/kT)/Sum( e**-E_i/kT) ) of the WT and MUT structures provided. Requires the -optimize_ddGmutation flag be set.'),
5762  Option( 'exclude_badrep_ddGs', 'Real', desc='With the iterative optE driver, consider only ddG data where the unweighted repulsive energy delta mut-wt < given value'),
5763  Option( 'pretend_no_ddG_repulsion','Boolean', desc='With the iterative optE driver, set all repulsive scores to zero when looking for ddG correlations'),
5764  Option( 'optimize_decoy_discrimination', 'File', desc='With the iterative optE driver, optimize weights to maximize the partition between relaxed natives and low-scoring decoys. File is a list of file-list pairs and a single pdb file < native_pdb_list, decoy_pdb_list, crystal_native_pdb >.'),
5765  Option( 'normalize_decoy_score_spread', 'String', desc="In decoy discrimination optimization, normalize both the native and decoy energies generated by a set of weights by sigma_curr /sigma_start where sigma_start is computed as the standard deviation of the decoy energies given an input weight set"),
5766  Option( 'ramp_nativeness', 'Boolean', desc="In decoy discrimination optimization, give structures in the range between max_rms_from_native and min_decoy_rms_to_native a nativeness score (which ramps linearly from 1 to 0 in that range) and include scores from structures in the numerator of the partition."),
5767  Option( 'n_top_natives_to_optimize', 'Integer', desc='For use with the -optimize_decoy_discrimination flag. Objective function considers top N natives in partition function', default='1'),
5768  Option( 'approximate_decoy_entropy', 'Real', desc='Alpha expansion of conformation space size as a function of nres: size ~ alpha ^ nres; entropy ~ nres ln alpha.' ),
5769  Option( 'repack_and_minimize_decoys', 'Boolean', desc='Generate new structures in each round of iterative optE by repacking and minimizing the input decoys & natives using the weights obtained in the last round'),
5770  Option( 'repack_and_minimize_input_structures', 'Boolean', desc='Minimizing the input decoys & natives using the starting weights -- allows structures a chance to see the energy function before decoy discrimination begins without the memory overhead of the repack_and_minimize_decoys flag'),
5771  Option( 'output_top_n_new_decoys', 'Integer', desc='For use with repack_and_minimize_decoys flag: Write out the top N decoys generated each round in this iterative refinement', default='0'),
5772  Option( 'optimize_ligand_discrimination', 'File', desc='With the iterative optE driver, optimize weights to maximize the partition between relaxed natives and low-scoring decoys. File is a list of file-list pairs and a single pdb file < native_pdb_list, decoy_pdb_list, crystal_native_pdb >.'),
5773  Option( 'no_design', 'Boolean', desc="Don't bother loading pdbs and doing design; just optimize weights for decoy-discrim and or native rotamer recovery"),
5774  Option( 'sqrt_pssm', 'Boolean', desc='Turn the pssm probability vectors into unit vectors so that dot product is a true similarity measure'),
5775  Option( 'min_decoy_rms_to_native', 'Real', desc='For use with the optimize_decoy_discrimination flag: exclude decoys that are within a certain RMS of the native structure'),
5776  Option( 'max_rms_from_native', 'Real', desc='For use with the optimize_decoy_discrimination flag: exclude natives that are more than a certain RMS of the crystal structure. max_rms_from_native of 1.5, min_decoy_rms_from_native 2.0 would throw out structures in the range of 1.5 and 2.0 RMS from consideration'),
5777  Option( 'optimize_starting_free_weights', 'Boolean', desc='With the iterative optE driver, try many different starting points for the minimization', default='false'),
5778  Option( 'wrap_dof_optimization', 'File', desc='Create new dofs and setup arithmetic dependencies for free dofs.' ),
5779  Option( 'randomly_perturb_starting_free_weights', 'Real', desc='With the iterative optE driver, perturb the weights by +/- <input value> for those weights listed as free'),
5780  Option( 'inv_kT_natrot', 'Real', desc='1 / kT for the pNativeRotamer fitness function', default = '1' ),
5781  Option( 'inv_kT_nataa', 'Real', desc='1 / kT for the pNatAA and PSSM fitness function', default = '1' ),
5782  Option( 'inv_kT_natstruct', 'Real', desc='1 / kT for the pNativeStructure fitness function', default = '1' ),
5783  Option( 'mpi_weight_minimization', 'Boolean', desc='Distribute OptEMultifunc func/dfunc evaluations across nodes' ),
5784  Option( 'dont_use_reference_energies', 'Boolean', desc='Do not use reference energies anywhere during the protocol.', default='false' ),
5785  Option( 'number_of_swarm_particles', 'Integer', desc='The number of particles to use during particle swarm weight optimization.', default='100' ),
5786  Option( 'number_of_swarm_cycles', 'Integer', desc='The number of cycles to run the swarm minimizer for.', default='20' ),
5787  Option( 'constrain_weights', 'File', desc='When minimizing the fitness objective function, also include weight constraints in the objective function'),
5788  Option( 'fit_reference_energies_to_aa_profile_recovery', 'Boolean', desc='In the inner-loop sequence recovery/weight tweaking stage, accept/reject weight sets based on both the sequence recovery rate, and the mutual information between the expected and observed amino acid frequency distributions'),
5789  Option( 'starting_refEs', 'File', desc='IterativeOptEDriver flag: specify a weights file to read reference energies from; do not optimize reference energies in the first round of weight fitting'),
5790  Option( 'repeat_swarm_optimization_until_fitness_improves', 'Boolean', desc='After the first time though the particle swarm optimization phase, if the end fitness is not better than the start fitness, recreate the swarm around the start dofs and repeat the swarm optimization.', default='false'),
5791  Option( 'design_with_minpack', 'Boolean', desc='Use the min-packer to design in the sequence recovery stages.', default='false'),
5792  Option( 'limit_bad_scores', 'Boolean', desc='Quit after 100,000 inf or NaN errors in optE objective function'),
5793  Option('no_design_pdb_output','Boolean',desc='Do not write out the designed pdbs to the workdir_ directories over the course of the optE run'),
5794  Option_Group( 'rescore',
5795  Option( 'weights', 'File', desc='Weight set to use when rescoring optE partition functions' ),
5796  Option( 'context_round', 'Integer', desc='Integer of the context PDBs generated during design to use to measure the pNatAA'),
5797  Option( 'outlog', 'File', desc='File to which the OptEPosition data should be written'),
5798  Option( 'measure_sequence_recovery', 'Boolean', desc='When rescoring a weight set, run design with that weight set and measure the sequence recovery.', default='false' ),
5799  ), # -optE:rescore
5800  ), # -optE
5801 
5802  # packstat measure settings -----------------------------------------------------------
5803  Option_Group( 'packstat',
5804  Option( 'include_water', 'Boolean',desc="Revert to old style etables", default="false" ),
5805  Option( 'oversample', "Integer", desc="Precision of SASA measurements", default='0' ),
5806  Option( 'packstat_pdb', "Boolean", desc="Output a pdb with packing visualizations", default='false' ),
5807  Option( 'surface_accessibility', "Boolean", desc="Compute extra cavity burial information", default='false' ),
5808  Option( 'residue_scores', "Boolean", desc="Output the score for each resdiue", default='false' ),
5809  Option( 'cavity_burial_probe_radius', "Real", desc="Radius probe to consider a cavity buried", default='1.4' ),
5810  Option( 'raw_stats', "Boolean", desc="Output the raw stats per-residue (for training, etc...)", default='false'),
5811  Option( 'threads', "Integer", desc="Number of threads to use (0 for no threading)", default='0' ),
5812  Option( 'cluster_min_volume', 'Real', desc='voids smaller than this will not be shown.', default='30'),
5813  Option( 'min_surface_accessibility', 'Real', desc='voids must be at least this exposed', default='-1.0'),
5814  Option( 'min_cluster_overlap', 'Real', desc='void-balls must overlap by this much to be clustered', default='0.1'),
5815  Option( 'min_cav_ball_radius', 'Real', desc='radius of smallest void-ball to consider', default='0.7'),
5816 # Option( 'max_cav_ball_radius', 'Real', desc='radius of largest void-ball to consider', default='3.0'),
5817  ), # -packstat
5818 
5819  ## options for parser
5820  Option_Group( 'parser',
5821  Option( 'protocol', 'String', desc='File name for the xml parser protocol' ),
5822  Option( 'script_vars', 'StringVector', desc='Variable substitutions for xml parser, in the form of name=value' ),
5823  Option( 'view', 'Boolean', desc='Use the viewer?' ),
5824  Option( 'patchdock', 'String', desc='Patchdock output file name.' ),
5825  Option( 'patchdock_random_entry', 'IntegerVector', desc='Pick a random patchdock entry between two entry numbers. inclusive', n='2' ),
5826  ), # -parser
5827 
5828  Option_Group( 'patterson',
5829 # Option( 'debug', 'Boolean', default = 'false'),
5830  Option( 'weight', 'Real', default = '0.0', desc='wt of patterson correlation'),
5831  Option( 'sc_scaling', 'Real', default = '1.0', desc='Scale sidechain density by this amount (default = same as mainchain density)'),
5832  Option( 'radius_cutoffs', 'RealVector', desc='patterson-space radius cuttoffs'),
5833  Option( 'resolution_cutoffs', 'RealVector', desc='reciprocal space F^2 cuttoffs'),
5834  Option( 'Bsol', 'Real', default = '300.0', desc='solvent B'),
5835  Option( 'Fsol', 'Real', default = '0.95', desc='solvent fraction'),
5836  Option( 'model_B', 'Real', default = '0.0', desc='B factor computing patterson CC'),
5837  Option( 'rmsd', 'Real', default = '2.0', desc='Expected RMS error for sigma-A calculation'),
5838  Option( 'no_ecalc', 'Boolean', default = 'false', desc='Do not normalize p_o with ecalc'),
5839  Option( 'nshells', 'Integer', default = '50', desc='Number of resolution shells for patterson normalization'),
5840  Option( 'use_spline_interpolation', 'Boolean', default = 'false', desc='use spline interpolation for derivative evaluation? (default trilinear)'),
5841  Option( 'use_on_repack', 'Boolean', default = 'false', desc='SLOW - use patterson correlation on repacks (default no)'),
5842  Option( 'dont_use_symm_in_pcalc', 'Boolean', default = 'false', desc='perform Pcalc in P1 (default no)'),
5843  ), # -patterson
5844 
5845  Option_Group( 'pb_potential',
5846  Option( 'charged_chains', 'IntegerVector', desc="Chain numbers that carries charge in the PB calculation",default='1' ),
5847  Option( 'sidechain_only', 'Boolean', desc="Only calculate interactions to sidechain.", default="true" ),
5848  Option( 'revamp_near_chain', 'IntegerVector', desc="Scale down PB interactions if near the given chain. Use chain numbers as input." ),
5849  Option( 'apbs_path', 'String', desc="Path to the APBS (Adaptive Poisson-Boltzmann Solver) executable"),
5850  Option( 'potential_cap', 'Real', desc="Cap for PB potential input", default = '20.0' ),
5851  Option( 'epsilon', 'Real', desc="Tolerance in A. When a charged atom moves byond this tolerance, the PDE is resolved.", default='2.0'),
5852  Option( 'apbs_debug', 'Integer', desc="APBS debug level [0-6]", default="2"),
5853  Option( 'calcenergy', 'Boolean', desc="Calculate energy?", default="false"),
5854  ), # -pb_potential
5855 
5856  # Some of the PCS options are migrating into TopologyClaimer framework.
5857  Option_Group( 'PCS',
5858  Option( 'write_extra', 'File', desc = 'Write into the File PCS calc, PCS exp, PCS dev, tensor informations, AT EACH ENERGY EVALUATION. More suited for rescoring'),
5859  Option( 'normalization_id', 'Integer', desc = 'Normalize individual data set. The integer identify the normalization method to be used'),
5860 # Option( 'npc_files_input', 'StringVector', desc = 'A list of pseudocontact shift (PCS) files in the .npc format. One file per lanthanide' ),
5861 # Option( 'pcs_weight', 'Real', desc = 'Reweight the pseudocontact shift (PCS) energy term.'),
5862 # Option( 'pcs_grid_search_parameter', 'StringVector', desc = 'Describe the grid search: `Residue_number Atom_name Edge_size Step_size` will describe a grid search centered at the residue number and atom name specified, the grid search beeing a cube of edge edge_size, and step step_size. Example: -pcs_grid_search_parameter 68 CB 12 1' ),
5863 # Option( 'minimize_tensor', 'Boolean', desc = 'Optimize the best tensor found form the grid search'),
5864  ), # PCS
5865  Option_Group( 'PCSTS1',
5866  Option( 'write_extra', 'File', desc = 'Write into the File PCS calc, PCS exp, PCS dev, tensor imformation, AT EACH ENERGY EVALUATION. More suited for rescoring'),
5867  Option( 'normalization_id', 'Integer', desc = 'Normalize individual data set. The integer identify the normalization method to be used'),
5868  ), # PCSTS1
5869  Option_Group( 'PCSTS2',
5870  Option( 'write_extra', 'File', desc = 'Write into the File PCS calc, PCS exp, PCS dev, tensor imformation, AT EACH ENERGY EVALUATION. More suited for rescoring'),
5871  Option( 'normalization_id', 'Integer', desc = 'Normalize individual data set. The integer identify the normalization method to be used'),
5872  ), # PCSTS2
5873  Option_Group( 'PCSTS3',
5874  Option( 'write_extra', 'File', desc = 'Write into the File PCS calc, PCS exp, PCS dev, tensor imformation, AT EACH ENERGY EVALUATION. More suited for rescoring'),
5875  Option( 'normalization_id', 'Integer', desc = 'Normalize individual data set. The integer identify the normalization method to be used'),
5876  ), # PCSTS3
5877  Option_Group( 'PCSTS4',
5878  Option( 'write_extra', 'File', desc = 'Write into the File PCS calc, PCS exp, PCS dev, tensor imformation, AT EACH ENERGY EVALUATION. More suited for rescoring'),
5879  Option( 'normalization_id', 'Integer', desc = 'Normalize individual data set. The integer identify the normalization method to be used'),
5880  ), # PCSTS4
5881 
5882  ###############################################################################
5883  ## peptide specificity / flexible backbone design options (chrisk)
5884  Option_Group( 'pepspec',
5885  Option( 'soft_wts', 'String', default='soft_rep.wts'),
5886  Option( 'cen_wts', 'String', default='cen_ghost.wts'),
5887  Option( 'binding_score', 'Boolean', default='true'),
5888 
5889  Option( 'no_cen', 'Boolean', default='true'),
5890  Option( 'no_cen_rottrials', 'Boolean', default='true'),
5891  Option( 'run_sequential', 'Boolean', default='false'),
5892  Option( 'pep_anchor', 'Integer' ),
5893  Option( 'pep_chain', 'String', default=' '),
5894  Option( 'n_peptides', 'Integer', default='8' ),
5895  Option( 'n_build_loop', 'Integer', default='1000' ),
5896  Option( 'n_cgrelax_loop', 'Integer', default='1' ),
5897  Option( 'n_dock_loop', 'Integer', default='4' ),
5898  Option( 'interface_cutoff', 'Real', default='5.0'),
5899  Option( 'use_input_bb', 'Boolean', default='false'),
5900  Option( 'remove_input_bb', 'Boolean', default='false'),
5901  Option( 'homol_csts', 'String', default='prep.csts'),
5902  Option( 'p_homol_csts', 'Real', default='1.0'),
5903 # Option( 'frag_file', 'String', default='sampling/filtered.vall.dat.2006-05-05.gz'),
5904  Option( 'gen_pep_bb_sequential', 'Boolean', default='false'),
5905  Option( 'input_seq', 'String' ),
5906  Option( 'ss_type', 'String' ),
5907  Option( 'upweight_interface', 'Boolean', default='false'),
5908  Option( 'calc_sasa', 'Boolean', default='false'),
5909 
5910  Option( 'diversify_pep_seqs', 'Boolean', default='true'),
5911  Option( 'diversify_lvl', 'Integer', default='10'),
5912  Option( 'dump_cg_bb', 'Boolean', default='false'),
5913  Option( 'save_low_pdbs', 'Boolean', default='true'),
5914  Option( 'save_all_pdbs', 'Boolean', default='false'),
5915  Option( 'no_design', 'Boolean', default='false'),
5916 
5917  Option( 'pdb_list', 'String' ),
5918  Option( 'ref_pdb_list', 'String' ),
5919  Option( 'add_buffer_res', 'Boolean', default='false'),
5920  Option( 'cg_res_type', 'String', default = 'ALA' ),
5921 
5922  Option( 'native_pep_anchor', 'Integer' ),
5923  Option( 'native_pep_chain', 'String', default=''),
5924  Option( 'native_align', 'Boolean', default='false'),
5925  Option( 'rmsd_analysis', 'Boolean', default='false'),
5926 # Option( 'phipsi_analysis', 'Boolean', default='false'),
5927 
5928  Option( 'anchor_type', 'String', default='ALA' ),
5929  Option( 'no_prepack_prot', 'Boolean', default='false'),
5930  Option( 'prep_use_ref_rotamers', 'Boolean', default='false'),
5931  Option( 'n_prepend', 'Integer', default='0' ),
5932  Option( 'n_append', 'Integer', default='0' ),
5933  Option( 'clash_cutoff', 'Real', default='5' ),
5934  Option( 'n_anchor_dock_std_devs', 'Real', default='1.0' ),
5935  Option( 'prep_trans_std_dev', 'Real', default='0.5' ),
5936  Option( 'prep_rot_std_dev', 'Real', default='10.0' ),
5937  Option( 'seq_align', 'Boolean', default='false'),
5938  Option( 'prep_align_prot_to', 'String'),
5939  ), # -pepspec
5940 
5941  ###################################################################################
5942  # Residue protonation state options
5943  Option_Group( 'pH' ,
5944  Option( 'pH_mode', 'Boolean', desc="Allow protonated/deprotonated versions of the residues based on pH", default='false' ),
5945  Option( 'keep_input_protonation_state', 'Boolean', desc="Read in residue protonation states from input pdb?", default='false' ),
5946  Option( 'value_pH', 'Real', desc="pH value input for the pHEnergy score", default = '7.0' ),
5947  Option_Group( 'calc_pka',
5948  Option( 'pka_all', 'Boolean', desc="Calculate pKa values for all protonatable protein residues in the PDB?", default='false' ),
5949  Option( 'pka_for_resnos', 'RealVector', desc="Residue no whose pKa value is to be determined", default = '0' ),
5950  Option( 'pka_for_chainno', 'String', desc="Chain no of the residue whose pKa is to be determined", default = 'A' ),
5951  Option( 'pH_neighbor_pack', 'Boolean', desc="Pack the neighbors while calculating pKa?", default='false' ),
5952  Option( 'pka_rad', 'Real', desc="Radius of repack", default = '5.0' ),
5953  Option( 'pH_prepack', 'Boolean', desc="Prepack structure before calculating pKa values?", default='false' ),
5954  Option( 'pH_relax', 'Boolean', desc="Relax structure before calculating pKa values?", default='false' ),
5955  Option( 'rotamer_prot_stats', 'Boolean', desc="Get rotamer protonation statistics when titrating?", default='false' ),
5956  ), # -pH:calc_pka
5957  Option( 'pH_unbound', 'FileVector', desc="Name(s) of unbound receptor and ligand PDB file(s)" ),
5958  Option( 'output_raw_scores', 'Boolean', desc="Return raw scores contributing to interface score?" ),
5959  Option( 'pre_process', 'Boolean', desc="Refine rigid body orientation?" ),
5960  Option( 'cognate_partners', 'String', desc="Chain IDs for the cognate complex", default='_' ),
5961  Option( 'cognate_pdb', 'File', desc="File containing the cognate Antigen-Antibody complex" ),
5962  ), # -pH
5963 
5964  ##############################################################################
5965  # PocketGrid/Fingerprint options ---------------------------------------------
5966  Option_Group('pocket_grid',
5967  Option( 'pocket_grid_size', 'Real',default='0',desc='grid spacing in Angstroms'),
5968  Option( 'pocket_grid_size_x', 'Real',default='10',desc='grid spacing in Angstroms'),
5969  Option( 'pocket_grid_size_y', 'Real',default='10',desc='grid spacing in Angstroms'),
5970  Option( 'pocket_grid_size_z', 'Real',default='10',desc='grid spacing in Angstroms'),
5971  Option( 'pocket_grid_spacing', 'Real',default='0.5',desc='grid spacing in Angstroms'),
5972  Option( 'pocket_max_spacing', 'Real',default='8',desc='Maximum residue-residue distance to be considered a pocket'),
5973  Option( 'pocket_min_size', 'Real',default='10',desc='Minimum pocket size to score, in cubic Angstroms'),
5974  Option( 'pocket_max_size', 'Real',default='0',desc='Maximum pocket size to report, in cubic Angstroms, 0 for no limit'),
5975  Option( 'pocket_probe_radius', 'Real',default='1.0',desc='radius of surface probe molecule'),
5976  Option( 'central_relax_pdb_num', 'String',default='-1',desc='Residue number:(optional)Chain around which to do Pocket Constraint'),
5977  Option( 'pocket_ntrials', 'Integer',default='100000',desc='Number of trials to use for backrub'),
5978  Option( 'pocket_num_angles', 'Integer',default='1',desc='Number of different pose angles to measure pocket score at'),
5979  Option( 'pocket_side', 'Boolean', desc="Include only side chain residues for target surface", default='false' ),
5980  Option( 'pocket_dump_pdbs', 'Boolean', desc="Generate PDB files",default='false' ),
5981  Option( 'pocket_dump_exemplars', 'Boolean', desc="Generate exemplar PDB files",default='false' ),
5982  Option( 'pocket_filter_by_exemplar', 'Boolean', desc="Restrict the pocket to the exemplars",default='false' ),
5983  Option( 'pocket_dump_rama', 'Boolean', desc="Generate Ramachandran maps for each pocket cluster",default='false' ),
5984  Option( 'pocket_restrict_size', 'Boolean', desc="Pockets that are too large return score of 0",default='false' ),
5985  Option( 'pocket_ignore_buried', 'Boolean', desc="Ignore pockets that are not solvent exposed",default='true' ),
5986  Option( 'pocket_only_buried', 'Boolean', desc="Identify only pockets buried in the protein core (automatically sets -pocket_ignored_buried false)",default='false' ),
5987  Option( 'pocket_psp', 'Boolean', desc="Mark Pocket-Solvent-Pocket events as well",default='true' ),
5988  Option( 'pocket_sps', 'Boolean', desc="Unmark Solvent-Pocket-Solvent events",default='false' ),
5989  Option( 'pocket_search13', 'Boolean', desc="Search in 13 directions (all faces and edges of a cube) versus faces and diagonal",default='false' ),
5990  Option( 'pocket_surface_score', 'Real',default='0',desc='Score given to pocket surface'),
5991  Option( 'pocket_surface_dist', 'Real',default='2.5',desc='Distance to consider pocket surface'),
5992  Option( 'pocket_buried_score', 'Real',default='5.0',desc='Score given to deeply buried pocket points'),
5993  Option( 'pocket_buried_dist', 'Real',default='2.0',desc='Distance to consider pocket buried'),
5994  Option( 'pocket_exemplar_vdw_pen', 'Real',default='300.0',desc='Temporary max penalty for vdW class in exemplar discovery'),
5995  Option( 'pocket_debug_output', 'Boolean', desc="Print any and all debuggind output related to pockets", default='false' ),
5996  Option( 'dump_pocketGrid', 'Boolean', desc="print the pocket grid points into a PDB file",default='false' ),
5997  Option( 'dump_Grid', 'Boolean', desc="print the grid points into a PDB file",default='false' ),
5998  Option( 'extend_eggshell', 'Boolean', desc="Extend the eggshell points",default='false' ),
5999  Option( 'extend_eggshell_dist', 'Real',default='1',desc='Distance to extend eggshell'),
6000  Option( 'extra_eggshell_dist', 'Real',default='4',desc='Distance to extend extra eggshell points'),
6001  Option( 'eggshell_dist', 'Real',default='4',desc='Distance to extend eggshell points from ligand atoms'),
6002  Option( 'reduce_rays', 'Boolean', default='true', desc='reduce no. of rays by rounding and removing duplicate xyz coordinates'),
6003  Option( 'pocket_static_grid', 'Boolean', desc="No autoexpanding grid", default='false' ),
6004  Option( 'dump_espGrid', 'Boolean', desc="print the electrostaticpotential grid into a PDB file",default='false' ),
6005  Option( 'dump_connollySurface', 'Boolean', desc="print the connolly surface points into a PDB file",default='false' ),
6006  Option( 'esp_buffer_dist', 'Real',default='0.5',desc='buffer dist added to Vdw radius atom while assigining electrostatic potential values'),
6007  Option( 'round_pocketGrid_center', 'Boolean', desc="round_pocketGrid_center", default='true' ),
6008  ),
6009  Option_Group('gen_pharmacophore',
6010  Option( 'clash_distance_cutoff', 'Real', default='1.0', desc='clash distance cutoff to include ideal hydrogen bonding atoms'),
6011  Option( 'ring_sasa_cutoff', 'Integer', default='25', desc='ring_sasa_cutoff to include in pharmacophore'),
6012  Option( 'min_num_ring', 'Integer', default='1', desc='minimimum number of rings to be in a cluster'),
6013  Option( 'ring_ring_dist_cutoff', 'Real', default='5.0', desc='ring - ringatom distance to include in the pharmacophore clusters'),
6014  Option( 'ring_atm_dist_cutoff', 'Real', default='5.0', desc='ring - hbond atom distance to include in the pharmacophore clusters'),
6015  ),
6016  Option_Group('fingerprint',
6017  Option( 'print_eggshell', 'Boolean', desc="print the eggshell points into a PDB file",default='false' ),
6018  Option( 'atom_radius_scale', 'Real', default='0.9', desc='Scale to shrink the radius of atom'),
6019  Option( 'atom_radius_buffer', 'Real', default='1.0', desc='Value to subtract from all atomic radii, to match PocketGrid buffer thickness'),
6020  Option( 'packing_weight', 'Real', default='1', desc='Add weight to rho large deviation'),
6021  Option( 'dist_cut_off', 'Real', default='5', desc='set cut_off distance to add packing weight'),
6022  Option( 'include_extrashell_to_set_origin', 'Boolean', desc="include extrashell points to set origin",default='false' ),
6023  Option( 'include_hydrogens', 'Boolean', desc="include hydrogen atoms for fingerprint",default='false' ),
6024  Option( 'multiple_origin', 'Boolean', desc="set multiple origin points for ray casting",default='false' ),
6025  Option( 'use_DARC_gpu', 'Boolean', desc="use GPU when computing DARC score",default='false' ),
6026  Option( 'square_score', 'Boolean', desc="square the terms in DARC scoring function",default='false' ),
6027  Option( 'darc_components', 'Boolean', desc="get the score for individual components in DARC scoring function",default='false' ),
6028  Option( 'set_origin', 'Integer',default='0',desc='option to set orgin: 0 to choose origin based on R(rugedness) value, 1 for protein_center, 2 for eggshell_bottom, 3 for vector from eggshell_plane closest to protein_center, 4 for vector from eggshell_plane distant to protein_center, 5 for choosing a residue center as origin(use the flag -origin_res_num for choosing the residue number)'),
6029  Option( 'origin_res_num', 'String', default='1', desc='Residue number:(optional)Chain to be used as origin for ray-casting'),
6030  Option( 'add_esp', 'Boolean', default='false', desc='add electrostatic calculations'),
6031  Option( 'darc_shape_only', 'Boolean', default='false', desc='darc with shape only'),
6032  Option( 'darc_elsts_only', 'Boolean', default='false', desc='darc with electrostatics only'),
6033  Option( 'esp_weight', 'Real', default='0.117', desc='add weight for electrostatic energy'),
6034  Option( 'esp_protein_wt', 'Real', default='0', desc='add weight for electrostatic energy inside protein'),
6035  Option( 'esp_surface_wt', 'Real', default='0', desc='add weight for electrostatic energy on protein surface'),
6036  Option( 'delphi_grid', 'Boolean', desc="input electrostatic potential grid if from DELPHI, default is ZAP grid",default='false' ),
6037  Option( 'cap_e_potential', 'Real', default='10.0', desc='max/min value to cap electrostatic potential'),
6038  Option( 'return_zero_darc_score', 'Boolean', desc="return 0 as darc score",default='false' ),
6039  Option( 'set_surface_esp_to_zero', 'Boolean', desc="set surface electrostatic potential to zero",default='false' ),
6040  Option( 'set_protein_esp_to_zero', 'Boolean', desc="set protein electrostatic potential to zero",default='false' ),
6041  Option( 'inp_lig', 'String', default='inp_lig.pdb', desc='inp_lig'),
6042  Option( 'ref_lig', 'String', default='ref_lig.pdb', desc='ref_lig'),
6043  ),
6044 
6045  Option_Group ( 'ProQ',
6046  Option( 'svmmodel','Integer', desc="SVM model to use (in cross-validation, default is to use all [1-5])",default='1'),
6047  Option( 'basename','String', desc="basename location for sequence specific inputfile)",default=""),
6048  Option( 'membrane','Boolean', desc="use membrane version (ProQM)",default='false'),
6049  Option( 'prof_bug','Boolean', desc="reproduce the profile bug in ProQres",default='false'),
6050  Option( 'output_feature_vector','Boolean', desc="outputs the feature vector",default='false'),
6051  Option( 'output_local_prediction','Boolean', desc="outputs the local predicted values",default='false'),
6052  Option( 'prefix','String', desc="prefix for outputfiles)",default=""),
6053  Option( 'use_gzip','Boolean', desc="gzip output files", default='false'),
6054  Option( 'normalize','Real', desc="Normalizing factor (usually target sequence length)", default='1.0'),
6055  ), # -ProQ
6056 
6057  Option_Group( 'qsar',
6058  Option( 'weights','String',default='talaris2013',desc = 'select qsar weight set to use'),
6059  Option( 'grid_dir','String',desc = 'Directory to store grids in'),
6060  Option( 'max_grid_cache_size','Integer',desc= 'delete old grids if grid cache exceeds specified size')
6061  ), # qsar
6062 
6063  Option_Group( 'rbe',
6064  Option( 'server_url', 'String', desc='serverurl for rosetta backend' ),
6065  Option( 'server_port', 'String', default = '80', desc='port for rosetta backend' ),
6066  Option( 'poll_frequency', 'Real', default='1.0' ),
6067  ),
6068 
6069  Option_Group( 'RBSegmentRelax',
6070  Option( 'input_pdb','File', desc='input pdb file', default='--' ),
6071  Option( 'rb_file','File', desc='input rb segment file', default='--' ),
6072 # Option( 'cst_wt', 'Real', desc='Weight on constraint term in scoring function', default = '0.1' ),
6073 # Option( 'cst_width', 'Real', desc='Width of harmonic constraints on csts', default = '1.0' ),
6074 # Option( 'cst_pdb', 'String', desc='PDB file from which to draw constraints', default = '--' ),
6075  Option( 'nrbmoves', 'Integer', desc='number of rigid-body moves', default = '100' ),
6076  Option( 'nrboutercycles', 'Integer', desc='number of rigid-body moves', default = '5' ),
6077  Option( 'rb_scorefxn', 'String', desc='number of rigid-body moves', default = 'score5' ),
6078  Option( 'skip_fragment_moves', 'Boolean', desc='omit fragment insertions (in SS elements)', default = 'false' ),
6079  Option( 'skip_seqshift_moves', 'Boolean', desc='omit sequence shifting moves', default = 'false' ),
6080  Option( 'skip_rb_moves', 'Boolean', desc='omit rigid-body moves', default = 'false' ),
6081  Option( 'helical_movement_params', 'RealVector', desc='helical-axis-rotation, helical-axis-translation, off-axis-rotation, off-axis-translation', default = 'utility::vector1<float>(4,0.0)' ),
6082  Option( 'strand_movement_params', 'RealVector', desc='strand-in-plane-rotation, strand-in-plane-translation, out-of-plane-rotation, out-of-plane-translationn' , default = 'utility::vector1<float>(4,0.0)' ),
6083  Option( 'default_movement_params', 'RealVector', desc='default-rotation, default-translation' , default = 'utility::vector1<float>(2,0.0)' ),
6084  Option( 'cst_seqwidth', 'Integer', desc='sequence width on constraints', default = '0' ),
6085  ), # -RBSegmentRelax
6086 
6087  ############################################################################
6088  # CS-Rosetta options
6089  Option_Group('rdc',
6090  Option( 'correct_NH_length', 'Boolean', desc='fix N-H bond-vector to 1.04 as measured in ottiger&bax 98', default='true'),
6091  Option( 'reduced_couplings', 'Boolean', desc='gives more equal weights to different bond-vectors', default='false'),
6092  Option( 'weights', 'File', desc='specify weights for individual residues ( works for all couplings at this reside)' ),
6093  Option( 'iterate_weights', 'Real', desc='do a wRDC computation, i.e., iterate tensor calculation until weights are ~exp ( -dev2/sigma )', default='1' ),
6094  Option( 'segment_file','File',desc='Definition of rigid segments for alignment tensor optimization'),
6095 
6096  Option( 'segment_scoring_mode', 'String',
6097  desc="Type of treatment of alignment tensor-based scoring : pairwise or fixed_axis_z (e.g. for homo-dimers) ",
6098  legal=['pairwise', 'fixed_axis_z', 'fixed_sum']
6099  ),
6100 
6101  Option( 'total_weight','Real',desc='Weight for RDC scores of individual al. tensors', default='1.0'),
6102  Option( 'tensor_weight','Real',desc='Weight for pairwise scoring of al. tensors', default='1.0'),
6103  Option( 'print_rdc_values','File',desc='print computed vs experimental RDC values'),
6104  Option( 'iterate_tol','Real',desc='tolerance for tensor iterations', default='0.01'),
6105  Option( 'iterate_reset','Boolean',desc='reset weights to 1.0 when optimizing for new structure', default='false' ),
6106  Option( 'dump_weight_trajectory','File', desc='if yes, write weights to file for each scoring event'),
6107  Option( 'fix_normAzz', 'RealVector', desc='divide by this axial tensor component' ),
6108 # Option( 'select_residues_file', 'File', desc='loop/rigid-file with RIGID entries that define the set of residues active for RDC score' ),
6109  Option( 'fit_method', 'String', legal = [ 'svd', 'nls'], default = 'nls' ),
6110  Option( 'fixDa', 'RealVector'),
6111  Option( 'fixR', 'RealVector'),
6112  Option( 'nlsrepeat', 'Integer', default = '5' ),
6113  ), # -rdc
6114 
6115  # relax mode -----------------------------------------------------------
6116  Option_Group( 'relax',
6117  ## Different relax modes:
6118  Option( 'fast', 'Boolean', desc='Do a preset, small cycle number FastRelax' ),
6119  Option( 'thorough', 'Boolean', desc='Do a preset, large cycle number FastRelax' ),
6120 # Option( 'membrane', 'Boolean', desc='Do membrane relax', default='false' ),
6121  Option( 'centroid_mode', 'Boolean', desc="Use centroid relax protocol", default='false'),
6122  Option( 'default_repeats', 'Integer', desc='Default number of repeats done by FastRelax. Has no effect if a custom script is used!', default='5' ),
6123  Option( 'dualspace', 'Boolean', desc='Do 3 FastRelax cycles of internal coordinate relax followed by two cycles of Cartesian relax - cart_bonded energy term is required, pro_close energy term should be turned off, and use of -relax::minimize_bond_angles is recommended. Use of the -nonideal flag switches all these and sets up correct min cycles, minimizer type, etc.' ),
6124  Option( 'cyclic_peptide', 'Boolean', desc='Set up N-to-C constraints in a cyclic peptide' ),
6125 
6126  ## Options for Range Relax
6127  Option_Group('range',
6128  Option( 'set_tm_helical', 'Boolean', desc="Set helical secondary structure in TM region", default='false'),
6129  Option( 'kT', 'Real', desc="Advanced option: kT", default='1.0'),
6130  Option( 'angle_max', 'Real', desc="Maximum dihedral angle deviation for Small and ShearMover inside RangeRelax", default='0.1'),
6131  Option( 'nmoves', 'String', desc="Number of Small and Shear moves inside RangeRelax, can be \'nres\' for all residues or an integer", default='nres'),
6132  Option( 'spherical_wave', 'Boolean', desc="Relax in a spherical wave pattern starting at the center residue outwards.", default='false'),
6133  Option( 'repack_again', 'Boolean', desc="Do an additional round of repacking all residues after the RangeRelax", default='false'),
6134  Option( 'cycles', 'Integer', desc="Maximum number of cycles for repacking and minimization. Default 3", default='3'),
6135  Option( 'min_cycles', 'Integer', desc="Maximum number of cycles within the Minimizer. Default 2000", default='2000'),
6136  Option( 'idealize', 'Boolean', desc="Idealize decoy after run. Default: true", default='true'),
6137  ),
6138 
6139  ## Options for Sequence Relax
6140  Option( 'ramady', 'Boolean', desc='Run ramady code which aleviates stuck bad ramachandran energies', default='false' ),
6141  Option( 'ramady_rms_limit', 'Real', desc='(ramady-only) Reject rama changes which perturb structure by more than this', default='0.5' ),
6142  Option( 'ramady_cutoff', 'Real', desc='(ramady-only) Cutoff at which a rama is considered bad', default='2.0' ),
6143  Option( 'ramady_max_rebuild', 'Integer', desc='(ramady-only) The maximum number of bad ramas to fix per repack-min cycle', default='1' ),
6144  Option( 'ramady_force', 'Boolean', desc='(ramady-only) Force rebuilding of bad ramas (normal skip-rate = 10%)', default='false' ),
6145  Option( 'script', 'File', desc='Relax script file', default='' ),
6146  Option( 'script_max_accept', 'Integer', desc='Limit number of best accepts', default = '10000000' ),
6147 
6148  Option( 'superimpose_to_native', 'Boolean', desc='Superimpose input structure to native', default='false' ),
6149  Option( 'superimpose_to_file', 'File', desc='Superimpose input structure to file', default='false' ),
6150  Option( 'constrain_relax_to_native_coords', 'Boolean', desc = "For relax and fastrelax, tether backbone coordinates of the pdbs being relaxed to the coordinates in the xtal native", default="false" ),
6151  Option( 'constrain_relax_to_start_coords', 'Boolean', desc = "For relax and fastrelax, tether backbone coordinates of the pdbs being relaxed to the coordinates in the xtal native", default="false" ),
6152  Option( 'coord_constrain_sidechains', 'Boolean', desc = "For relax and fastrelax, also tether sidechain heavy atom coordinates (requires either -constrain_relax_to_native_coords or -constrain_relax_to_start_coords)", default="false" ),
6153  Option( 'sc_cst_maxdist', 'Real', default='0.0', desc='Use distance constraints between pairs of input side-chains atoms which are closer than the given upper distance cutoff (0 => no sc-sc restraints)' ),
6154  Option( 'limit_aroma_chi2', 'Boolean', desc = "limit chi2 rotamer of PHE,TYR, and HIS around 90 ", default="false" ),
6155  Option( 'respect_resfile', 'Boolean', desc = "Tell FastRelax to respect the input resfile. Used mainly for doing design within FastRelax.", default="false"),
6156 
6157  ## Options to manipulate the movemap
6158  Option( 'bb_move', 'Boolean', default='true', desc='allow backbone to move during relax'),
6159  Option( 'chi_move', 'Boolean', default='true', desc='allow sidechain to move during relax'),
6160  Option( 'jump_move', 'Boolean', default='false', desc='allow jump to move during relax'),
6161  Option( 'dna_move', 'Boolean', default='false', desc='allow dna to move during relax + allow DNA-DNA interactions. Best if used with orbitals scorefunction. DNA stays together with great molprobity results. Not recommended for general use at this time.'),
6162  Option( 'fix_omega', 'Boolean', default='false', desc='Fix omega angles during relax' ),
6163  Option( 'minimize_bond_lengths', 'Boolean', default='false', desc='Free bond length DOFs during relax for all atoms' ),
6164  Option( 'minimize_bond_angles', 'Boolean', default='false', desc='Free bond angle DOFs during relax for all atoms' ),
6165  Option( 'minimize_bondlength_subset', 'Integer', legal=[ '0', '1', '2', '3'], default='0',
6166  desc="Minimize only a subset of bondlengths \
6167 0 Default all bondlengths \
6168 1 backbone only \
6169 2 sidechain only \
6170 3 CA only (Ca-C,Ca-N and Ca-Cb)",
6171  ),
6172  Option( 'minimize_bondangle_subset', 'Integer', legal=[ '0', '1', '2', '3', '4'], default='0',
6173  desc="Minimize only a subset of bondlengths \
6174 0 Default all bondangles \
6175 1 backbone only \
6176 2 sidechain only \
6177 3 tau only \
6178 4 Ca-Cb only",
6179  ),
6180  ## Use an alternate minimizer
6181  Option( 'min_type', 'String', default = 'dfpmin_armijo_nonmonotone', desc = 'minimizer to use during relax.'),
6182  Option( 'cartesian', 'Boolean', default='false', desc='Use Cartesian minimizer' ),
6183 
6184  Option( 'chainbreak_weight', 'Real', desc='chainbreak weight', default='0.0'),
6185  Option( 'linear_chainbreak_weight', 'Real', desc='linear chainbreak weight', default='0.0'),
6186  Option( 'overlap_chainbreak_weight', 'Real', desc='overlap chainbreak weight', default='0.0'),
6187 
6188 
6189  # Older, deprecated protocols
6190  Option( 'classic', 'Boolean', desc='Do very old classic relax ! This is a poor protocol - don\'t use it !' ),
6191  Option( 'sequence_file', 'File', desc='Relax script file', default='' ),
6192  Option( 'quick', 'Boolean', desc='Do a preset, small cycle number FastRelax' ),
6193  Option( 'sequence', 'Boolean', desc='Do a preset, small cycle number FastRelax' ),
6194 
6195  Option( 'minirelax_repeats', 'Integer', desc='', default='2'),
6196  Option( 'minirelax_sdev', 'Real', desc='tether on coordinate constraints for minirelax', default='0.5' ),
6197  Option( 'wobblemoves', 'Boolean', desc='Do Wobble moves ?', default="false" ),
6198  Option( 'constrain_relax_segments', 'File', desc='loop definition file', default='' ),
6199  Option( 'coord_cst_width', 'Real', desc='Width on coordinate constraints from constrain_relax_* options', default='0.0' ),
6200  Option( 'coord_cst_stdev', 'Real', desc='Stdev on coordinate constraints from constrain_relax_* options', default='0.5' ),
6201  Option( 'ramp_constraints', 'Boolean', desc='Ramp constraints during phase1 of relax from full to zero', default='false' ),
6202  Option( 'energycut', 'Real', desc='Rottrial energycut (per residue!)', default='0.01'),
6203  Option( 'mini', 'Boolean', desc='perform a relax that is only a minimization and repack.', default='false' ),
6204  Option( 'stage1_ramp_cycles', 'Integer', desc='Ramp cyclesin stage 1 ', default='8'),
6205  Option( 'stage1_ramp_inner_cycles', 'Integer', desc='Inner cycles means how many small shear moves + rottrials', default='1'),
6206  Option( 'stage2_repack_period', 'Integer', desc='Full repack after how many cycles in stage 2', default='100'),
6207  Option( 'stage2_cycles', 'Integer', desc='How many stage 2 cycles ? (by default its -1 means Nresidues*4 )', default='-1'),
6208  Option( 'min_tolerance', 'Real', desc='Minimizer tolerance', default='0.00025'),
6209  Option( 'stage3_cycles', 'Integer', desc='How many stage 3 cycles ? (by default its -1 means Nresidues )', default='-1'),
6210  Option( 'cycle_ratio', 'Real', desc='Post-multiplier for cycle numbers', default='1.0'),
6211  Option( 'filter_stage2_beginning', 'Real', desc='FArelax score filter', default='99999999.00'),
6212  Option( 'filter_stage2_quarter', 'Real', desc='FArelax score filter', default='99999999.00'),
6213  Option( 'filter_stage2_half', 'Real', desc='FArelax score filter', default='99999999.00'),
6214  Option( 'filter_stage2_end', 'Real', desc='FArelax score filter', default='99999999.00'),
6215 
6216  ## Options for CentroidRelax
6217  Option_Group('centroid',
6218  Option( 'weights', 'String', desc="Weights to use for centroid minimization", default='score4_smooth_cen_relax'),
6219  Option( 'ramp_vdw', 'Boolean', desc="Ramp up the VDW weight", default='true'),
6220  Option( 'ramp_rama', 'Boolean', desc="Ramp up the rama/rama2b weight", default='false'),
6221  Option( 'parameters', 'String', desc="Database file for ramp/min parameter", default='sampling/cen_relax/default_relax_parameters.txt'),
6222  Option( 'do_final_repack', 'Boolean', desc="Repack sidechains in movemap after protocol if given a fullatom structure", default='false'),
6223  Option( 'increase_vdw_radii','Boolean', desc="Increase BB vdw radii", default='false'),
6224  ), # -relax:centroid
6225  ), # -relax
6226 
6227  ##remodel
6228  Option_Group( 'remodel',
6229 # Option( 'help', 'Boolean', desc='help menu.'),
6230 # Option( 'autopilot', 'Boolean', desc='autopilot'),
6231  Option( 'blueprint', 'File', desc='blueprint file name'),
6232  Option( 'cstfile', 'File', desc='description'),
6233  Option( 'cst_fa_only', 'Boolean', desc='false'),
6234  Option( 'cstfilter', 'Integer', desc='filter cst energy', default='10'),
6235  Option( 'cen_sfxn', 'String', desc = 'centroid score function to be used for building', default='remodel_cen'),
6236  Option( 'check_scored_centroid', 'Boolean', desc = 'dump centroid structures after build'),
6237  Option( 'num_trajectory', 'Integer', desc='Number of remodel trajectories.', default = '10'),
6238  Option( 'save_top' , 'Integer', desc= 'the number of final low scoring pdbs to keep.', default = '5'),
6239  Option( 'swap_refine_confirm_protocols' , 'Boolean', desc= 'swapping the protocols used refinement and confirmation', default = 'false'),
6240 # Option( 'num_frag_moves', 'Integer', desc= 'number of fragment moves to try in the centroid stage.'),
6241  Option( 'bypass_fragments', 'Boolean' , desc= 'only works on input PDB, so no extensions or deletions are honored in the blueprint. Blueprint (H,L,E,D) becomes allow_move definitionsi.'),
6242  Option( 'use_same_length_fragments', 'Boolean' , desc= 'harvest fragments that matches the length to rebuild', default = 'true'),
6243 # Option( 'enable_ligand_aa', 'Boolean' , desc= 'handles ligand attachment and clash check after centroid build.'),
6244  Option( 'no_jumps', 'Boolean', desc= 'will setup simple foldtree and fold through it during centroid build.'),
6245  Option( 'reroot_tree', 'Integer', desc= 'rerooting the tree for the build.', default = '1'),
6246 # Option( 'backrub', 'Boolean', desc= 'run backrub MC trajectory after every completed loop building attempt'),
6247  Option( 'use_blueprint_sequence ', 'Boolean', desc=' picks fragments based on both secondary structure and the second column (sequence) in blueprint file'),
6248 # Option( 'randomize_equivalent_fragments ', 'Boolean', desc=' will randomize identical scoring fragments; without either this flag or'),
6249  Option( 'quick_and_dirty ', 'Boolean', desc=' only do fragment insertion'),
6250  Option( 'checkpoint ', 'Boolean', desc=' this writes out the best pdbs collected so far after each design step.'),
6251 # Option( 'use_ccd_refine ', 'Boolean', desc=' maintain a default chainbreak position (loop start+1) and try using CCD for refinement. try 20 times for 5 closed loops.'),
6252  Option( 'use_pose_relax ', 'Boolean', desc=' an alternative to the default minimization step, but use constraints in a similar way.'),
6253  Option( 'use_cart_relax ', 'Boolean', desc=' an alternative to the default minimization step, but use constraints in a similar way.'),
6254  Option( 'free_relax ', 'Boolean', desc=' running pose_relax with no constraints.'),
6255 # Option( 'use_dssp_assignment' , 'Boolean', desc=' use dssp assignment.'),
6256 # Option( 'keep_jumps_in_minimizer ', 'Boolean', desc=' no constraint is setup for minimization, only rebuilt regions allow bbmove.'),
6257 # Option( 'output_fragfiles', 'File', desc='output fragment file [filename ,e.g. aafr01].'),
6258 # Option( 'read_fragfile' , 'File' , desc='read fragment file.'),
6259  Option( 'generic_aa' , 'String' , desc='the type of AA for centroid building', default='V'),
6260  Option( 'cluster_radius', 'Real', desc='cluster radius for accumulator, default to auto set value', default = '-1.0'),
6261  Option( 'use_clusters', 'Boolean', desc='use clustering in accumulator', default = 'false'),
6262  Option( 'run_confirmation', 'Boolean', desc='use KIC rms confirmation', default = 'false'),
6263  Option( 'cluster_on_entire_pose', 'Boolean', desc='cluster use all pose, not just loops', default = 'false'),
6264 # Option( 'collect_clustered_top', 'Integer', desc='take the best N from each cluster', default = '1'),
6265  Option( 'dr_cycles', 'Integer', desc='number of design-refine cycles to use', default = '3'),
6266  Option( 'two_chain_tree', 'Integer', desc='label the start of the second chain'),
6267  Option( 'repeat_structure', 'Integer', desc='build identical repeats this many times', default='1'),
6268  Option( 'lh_ex_limit', 'Integer', desc='loophasing neighboring bin expansion limit', default='5'),
6269  Option( 'lh_filter_string', 'StringVector', desc='loophash ABEGO filter target fragment type. list sequentially for each loop'),
6270  Option( 'lh_cbreak_selection', 'Integer', desc='loophash with cbreak dominant weight', default='10'),
6271  Option( 'lh_closure_filter', 'Boolean', desc='filter for close rms when bypass_closure is used', default='false'),
6272  Option( 'cen_minimize', 'Boolean' , desc= 'centroid minimization after fragment building', default = 'false'),
6273  Option( 'core_cutoff', 'Integer', desc='number of neighbors required to consider core in auto design', default = '18'),
6274  Option( 'boundary_cutoff', 'Integer', desc='number of neighbors required to consider boundary in auto design', default = '15'),
6275  Option( 'coreAA', 'String', desc = 'amino acid set for core', default=''),
6276  Option( 'boundaryAA', 'String', desc = 'amino acid set for boundary', default=''),
6277  Option( 'surfaceAA', 'String', desc = 'amino acid set for surface', default=''),
6278 # Option( 'use_LD_operation', 'Boolean' , desc= 'enable operation described by LayerDesignOperation', default = 'true'),
6279  Option( 'design_around_ligand', 'Boolean' , desc= 'apply manual design mode around the ligand', default = 'false'),
6280  Option( 'move_ligand', 'Boolean' , desc= 'apply ligand handler to move ligand', default = 'false'),
6281 
6282  Option( 'resclass_by_sasa', 'Boolean' , desc= 'switch to use sasa for residue classification', default = 'false'),
6283 
6284  Option( 'helical_rise', 'Real', desc='helical parameter: rise', default = '0.0'),
6285  Option( 'helical_radius', 'Real', desc='helical parameter: radius', default = '0.0'),
6286  Option( 'helical_omega', 'Real', desc='helical parameter: omega', default = '0.0'),
6287  Option( 'filter_rise', 'RealVector', desc='filter value range for helical params rise', n = '2'),
6288  Option( 'filter_radius', 'RealVector', desc='filter value range for helical params radius', n = '2'),
6289  Option( 'filter_omega', 'RealVector', desc='filter value range for helical params omega', n = '2'),
6290  Option( 'COM_sd', 'Real', desc='center of mass coordinate constraint sd value', default = '1.0'),
6291  Option( 'COM_tolerance', 'Real', desc='center of mass coordinate constraint tolerance value', default = '0.0'),
6292 
6293  Option( 'vdw', 'Real', desc='set vdw weight', default = '1.0'),
6294  Option( 'rama', 'Real', desc='set rama weight', default = '0.1'),
6295  Option( 'cbeta', 'Real', desc='set cbeta weight', default = '0.0'),
6296  Option( 'cenpack', 'Real', desc='set cenpack weight', default = '0.0'),
6297  Option( 'rg_local', 'Real', desc='set rg_local weight', default = '0.0'),
6298  Option( 'hb_lrbb', 'Real', desc='set hbond_lrbb weight', default = '0.0'),
6299  Option( 'hb_srbb', 'Real', desc='set hbond_srbb weight', default = '0.0'),
6300  Option( 'rg', 'Real', desc='set rg weight'),
6301  Option( 'rsigma', 'Real', desc='set rsigma weight', default = '0.0'),
6302  Option( 'ss_pair', 'Real', desc='set sspair weight', default = '0.0'),
6303  Option( 'build_disulf', 'Boolean', desc='build disulfides', default = 'false'),
6304 # Option( 'max_disulf_allowed', 'Integer', desc='number of disulf pairs can be generated at a time', default = '1'),
6305  Option( 'match_rt_limit', 'Real', desc='match RT score cutoff', default = '0.4'),
6306  Option( 'disulf_landing_range', 'IntegerVector', desc='residue range for disulf landing sites', n = '2'),
6307  Option( 'rank_by_bsasa' ,'Boolean', desc= 'rank results by bsasa.'),
6308 
6309  Option_Group( 'staged_sampling',
6310  Option( 'staged_sampling', 'Boolean', desc = 'sampling first with 9mers then 3mers. Staged energies. For rebuilding entire structure not loop closure', default = 'false'),
6311  Option( 'residues_to_sample', 'File', desc = 'residues to allow sampling (format:1,3,5)', default = ''),
6312  Option( 'starting_sequence', 'String', desc = 'AA sequence to start', default = ''),
6313  Option( 'starting_pdb', 'File', desc = 'pdb to start', default = ''),
6314  Option( 'require_frags_match_blueprint', 'Boolean', desc = 'makes sure the frags match the definition in the blueprint', default = 'true'),
6315  Option( 'start_w_ideal_helices', 'Boolean', desc = 'begins with all helices set to -63.8 phi and -41.1 for psi.', default = 'false'),
6316  Option( 'sample_over_loops', 'Boolean', desc = 'sample residues defined as loops in the blueprint', default = 'false'),
6317  Option( 'small_moves', 'Boolean', desc = 'add a stage of small moves', default = 'false'),
6318  Option( 'fa_relax_moves', 'Boolean', desc = 'Adds a stage of fa relax', default = 'false'),
6319  ), # -remodel:staged_sampling
6320  Option_Group( 'domainFusion',
6321  Option( 'insert_segment_from_pdb', 'File', desc='segment pdb file to be inserted [insert pdb file name].', default=''),
6322  Option( 'insert_segment2_from_pdb', 'File', desc='segment2 pdb file to be inserted [insert pdb file name].', default=''),
6323  #Option( 'rigid_segment_in_refinement', 'Boolean', desc=' rigid segment in refinement.'),
6324  ), # -remodel:domainFusion
6325  Option_Group( 'design',
6326  Option( 'no_design ', 'Boolean', desc=' skips all design steps. WARNING: will only output centroid level structures and dump all fragment tries.' ),
6327  Option( 'design_all', 'Boolean', desc=' force AUTO design procedure (layered) to perform design on all positions. ' ),
6328  Option( 'allow_rare_aro_chi', 'Boolean', desc='allow all aromatic rotamers, not issuing AroChi2 filter', default= 'false' ),
6329 # Option( 'silent', 'Boolean', desc=' dumps all structures by silent-mode WARNING: will work only during no_design protocol (see -no_design).' ),
6330  Option( 'skip_partial', 'Boolean', desc=' skip design stage that operate only on burial positions', default = 'false' ),
6331  Option( 'design_neighbors', 'Boolean', desc= 'design neighbors.', default='false'),
6332  Option( 'find_neighbors', 'Boolean', desc = 'find neighbors for design/repack' ,default= 'false' ),
6333  Option( 'include_current', 'Boolean', desc = 'include current rotamers' ,default= 'true' ),
6334  ), # -remodel:design
6335 
6336  ## remodel loop mover options
6337  Option_Group( 'RemodelLoopMover',
6338  Option( 'max_linear_chainbreak', 'Real', desc="linear chainbreak is <= this value, loop is considered closed (default 0.07) ", default = '0.07' ),
6339  Option( 'randomize_loops', 'Boolean', desc="randomize loops prior to running main protocol (default true)", default='true' ),
6340  Option( 'use_loop_hash', 'Boolean', desc="centroid build with loop hash (default false)", default='false' ),
6341  Option( 'set_segment', 'File', desc="directly set segment phi-psi-omega from file", default='' ),
6342 
6343  Option( 'allowed_closure_attempts', 'Integer', desc="the allowed number of overall closure attempts (default 1)", default='1' ),
6344  Option( 'loophash_cycles', 'Integer', desc="the number of loophash closure cycles to perform (default 8)", default='8' ),
6345  Option( 'simultaneous_cycles', 'Integer', desc="the number of simultaneous closure cycles to perform (default 2)", default='2' ),
6346  Option( 'independent_cycles', 'Integer', desc="the number of independent closure cycles to perform (default 8)", default='8' ),
6347  Option( 'boost_closure_cycles', 'Integer', desc="the maximum number of possible lockdown closure cycles to perform (default 30)", default='30' ) ,
6348  Option( 'threshold_for_boost_closure', 'Real', desc="numerical chainbreak threshold for entering boost_closure_stage", default='1.0' ) ,
6349  Option( 'force_cutting_index', 'Integer', desc="force a cutpoint shift index of blueprint assignment", default='1' ) ,
6350  Option( 'force_cutting_N', 'Boolean', desc="force a cutpoint at N-term side of blueprint assignment", default='false' ) ,
6351  Option( 'bypass_closure', 'Boolean', desc="turning off CCD closure in the mover for tethered docking purpose", default='false' ),
6352  Option( 'cyclic_peptide', 'Boolean', desc="circularize structure joining N and C-term.", default='false' ),
6353  Option( 'temperature', 'Real', desc="temperature for monte carlo ( default 2.0)", default='2.0' ),
6354 # Option( 'max_chews', 'Integer', desc='maxium number of residues to chew on either side of loop', default='1'),
6355  ), # -remodel:RemodelLoopMover
6356  ), # -remodel
6357 
6358  Option_Group( 'resample',
6359  Option( 'silent', 'File', desc='a silent file for decoys to restart sampling from ', default='' ),
6360  Option( 'tag', 'String', desc='which decoy to select from silent file ', default='' ),
6361  Option( 'stage1', 'Boolean', desc='if true restart after stage1, otherwise after stage2 ', default='false' ),
6362  Option( 'stage2', 'Boolean', desc='if true restart after stage1, otherwise after stage2 ', default='false' ),
6363  Option( 'jumps', 'Boolean', desc='if true restart after stage1, otherwise after stage2 ', default='false' ),
6364  Option( 'min_max_start_seq_sep','RealVector', desc='range of (random) start values for seq-separation', default='0' ),
6365  ), # -resample
6366 
6367  # rescore mode -----------------------------------------------------------
6368  Option_Group( 'rescore',
6369 # Option( 'pose_metrics', 'Boolean', desc="Do pose metrics calc" ),
6370  Option( 'assign_ss', 'Boolean', desc="Invoke DSSP to assign secondary structure.", default = 'false' ),
6371  Option( 'skip', 'Boolean', desc="Dont actually call scoring function (i.e. get evaluators only)" ),
6372  Option( 'verbose', 'Boolean', desc="Full break down of weights, raw scores and weighted scores ?" ),
6373 # Option( 'msms_analysis', 'String', desc="Run MSMS on the structure and determine surface properties. " ),
6374  ), # -rescore
6375 
6376  Option_Group( 'rna',
6377  Option( 'corrected_geo', 'Boolean', desc="Use PHENIX-based RNA sugar close energy and params files", default='true'),
6378  Option( 'rna_prot_erraser', 'Boolean', desc='Allows rna_prot_erraser residue type set, featuring both RNA and protein (for ERRASER purposes). You must also use -rna:corrected_geo.', default='false' ),
6379  Option( 'vary_geometry','Boolean', desc='Let bond lengths and angles vary from ideal in minimizer', default='false' ),
6380  Option( 'data_file', 'String', desc="RDAT or legacy-format file with RNA chemical mapping data",default='' ),
6381 
6382  Option_Group( 'farna',
6383  Option( 'cycles', 'Integer', desc= "Default number of Monte Carlo cycles",default='0' ), # now default is set based on the number of moving residues
6384  Option( 'temperature', 'Real', desc= "temperature",default='2.0' ),
6385  Option( 'minimize_rna', 'Boolean', desc= "Minimize RNA after fragment assembly",default='false' ),
6386  Option( 'params_file', 'String', desc= "Input file for pairings",default="default.prm" ),
6387  Option( 'lores_scorefxn', 'String', desc= "Low resolution scorefunction weights file",default="farna/rna_lores.wts" ),
6388  Option( 'filter_lores_base_pairs', 'Boolean', desc= "Filter for models that satisfy structure parameters",default= 'true' ),
6389  Option( 'filter_lores_base_pairs_early', 'Boolean', desc= "Filter for models that satisfy structure parameters at round 2 of 10",default= 'true' ),
6390  Option( 'filter_chain_closure', 'Boolean', desc= "Filter for models that have closed chains after lores before minimize",default='true' ),
6391  Option( 'filter_chain_closure_halfway', 'Boolean', desc= "Filter for models that have closed chains after lores before minimize at round 5 of 10",default= 'true' ),
6392  Option( 'filter_chain_closure_distance', 'Real', desc= "Mean distance across 3 chainbreak atoms to filter models that have closed chains after lores",default='6.0' ),
6393  Option( 'relax_rna', 'Boolean', desc= "Relax RNA after fragment assembly",default='false' ),
6394  Option( 'simple_relax', 'Boolean', desc= "Relax by minimizing after any fragment insertion",default='false' ),
6395  Option( 'ignore_secstruct', 'Boolean', desc= "Ignore sec struct in input file",default='false' ),
6396  Option( 'jump_change_frequency', 'Real', desc= "jump change frequency",default='0.1' ),
6397  Option( 'close_loops', 'Boolean', desc= "close loops after de novo protocol and again after minimization",default= 'true' ), # this should always be on.
6398  Option( 'close_loops_after_each_move', 'Boolean', desc= "close loops during frag insertion and jump mover -- can be expensive",default= 'false' ),
6399  Option( 'output_lores_silent_file', 'Boolean', desc= "output lores stuff",default= 'false' ),
6400  Option( 'heat', 'Boolean',desc= "Heat (random frag insertions)", default='false' ),
6401  Option( 'dump', 'Boolean', desc= "Dump pdb",default= 'false' ),
6402  Option( 'staged_constraints', 'Boolean', desc= "Apply constraints in stages depending on sequence separation",default= 'false' ),
6403  Option( 'jump_library_file', 'String', desc= "Input file for jumps",default="sampling/rna/1jj2_RNA_jump_library.dat" ),
6404  Option( 'vall_torsions', 'String', desc='Torsions file containing information on fragments from RNA models', default='rna.torsions' ),
6405  Option( 'use_1jj2_torsions', 'Boolean',desc= "Use original (ribosome) fragments, 1JJ2", default='false' ),
6406  Option( 'rna_lores_chainbreak_weight', 'Real', desc= "chainbreak weight for lo res sampling",default='0.0' ),
6407  Option( 'rna_lores_linear_chainbreak_weight', 'Real', desc= "linear chainbreak weight for lo res sampling",default='0.0' ),
6408  Option( 'allow_bulge ', 'Boolean', desc= "Automatically virtualize residues that are not energetically stable",default= 'false' ),
6409  Option( 'allowed_bulge_res', 'IntegerVector', desc= "Use with allow_bulge, allowable pos for virtualization",default=[] ),
6410  Option( 'allow_consecutive_bulges', 'Boolean', desc= "allow_consecutive_bulges",default= 'false' ),
6411  Option( 'binary_output', 'Boolean', desc= "force output to binary rna silentstruct",default= 'false' ),
6412  Option( 'move_first_rigid_body', 'Boolean', desc= "first_rigid_body is usually kept frozen, but might be useful to sample it.",default= 'false' ),
6413  Option( 'root_at_first_rigid_body', 'Boolean', desc= "places coordinate system away from the usual last virtual residue and puts it on the first rigid body. useful if this rigidbody needs to be fixed, but other bodies need to move as if this one is moving. Use with -move_first_rigid_body. ",default= 'false' ),
6414  Option( 'suppress_bp_constraint', 'Real', desc= "Factor by which to lower base pair constraint weight. ",default='1.0' ),
6415  Option( 'output_filters', 'Boolean',desc= "output lores scores at early stage (round 2 of 10) and at end -- could be useable for early termination of unpromising early starts", default='false' ),
6416  Option( 'autofilter', 'Boolean', desc= "Automatically skip output/minimize if lores score is worse than 20th percentile, updated on the fly.",default= 'true' ),
6417  Option( 'output_res_num', 'ResidueChainVector', desc= "Numbering (and chain) of residues in output PDB or silent file",default=[] ),
6418  Option( 'refine_silent_file', 'String', desc= "Name of the silent file to be refined.",default="" ),
6419  Option( 'refine_native', 'Boolean', desc= "Refine starting from the native pose",default= 'false' ),
6420  Option( 'bps_moves', 'Boolean', desc= "Base pair step moves",default= 'false' ),
6421  Option( 'disallow_bps_at_extra_min_res', 'Boolean', desc= "Disallow base pair step moves inside input domains, even extra_min_res",default= 'false' ),
6422  Option( 'allow_fragment_moves_in_bps', 'Boolean', desc= "Allow fragment/jump moves in regions claimed by base pair steps",default= 'false' ),
6423 
6424  Option_Group('db',
6425  Option( 'jump_database', 'Boolean', desc='Generate a database of jumps extracted from base pairings from a big RNA file', default='false' ),
6426  Option( 'bps_database', 'Boolean', desc='Generate a database of base pair steps extracted from a big RNA file', default='false' ),
6427  ), # -rna:farna:database
6428 
6429  Option_Group('minimize',
6430  Option( 'minimize_rounds', 'Integer', desc='The number of rounds of minimization.', default = '2' ),
6431  Option( 'skip_coord_constraints', 'Boolean', desc='Skip first stage of minimize with coordinate constraints',default='false' ),
6432  Option( 'skip_o2prime_trials', 'Boolean', desc='No O2* packing in minimizer',default='false' ),
6433  Option( 'deriv_check', 'Boolean', desc="In rna_minimize, check derivatives numerically", default='false' ),
6434  Option( 'minimizer_use_coordinate_constraints', 'Boolean', desc= "Use coordinate constraints for first round of minimizer",default= 'true' ),
6435  Option( 'minimize_bps', 'Boolean', desc= "Minimize base pair steps (from Rosetta library)",default= 'true' ),
6436  Option( 'extra_minimize_res', 'IntegerVector', desc= "Extra residues during minimize step",default=[] ),
6437  Option( 'extra_minimize_chi_res', 'IntegerVector', desc= "Extra side-chain chis to move during minimize step",default=[] ),
6438  ), # -rna:farna:minimize
6439  ), # -rna:farna
6440  ), # -rna
6441 
6442  Option_Group('rotamerdump',
6443  Option('xyz','Boolean',default= 'false',desc="when using the RotamerDump application, output the xyz coords of every rotamer"),
6444  Option('one_body','Boolean',default='false',desc="when using the RotamerDump application, output the one_body energies of every rotamer"),
6445  Option('two_body','Boolean',default='false',desc="when using the RotamerDump application, output the two_body energies of every rotamer"),
6446  Option('annealer','Boolean',default='false',desc="Run the annealer and output the rotamers it chose"),
6447  ), # -rotamerdump
6448 
6449  Option_Group( 'sample_around',
6450  Option( 'alpha_increment', 'Real', desc= "if sampling jump, rotation increment, in degrees", default='40.0' ),
6451  Option( 'cosbeta_increment', 'Real', desc= "if sampling jump, cosbeta increment, no units", default='0.25' ),
6452  Option( 'gamma_increment', 'Real', desc= "if sampling jump, rotation increment, in degrees", default='40.0' ),
6453  ), #sample_around
6454 
6455  ###############################################################################
6456  ## peptide specificity / flexible backbone design options (chrisk)
6457  Option_Group( 'sicdock',
6458  Option( 'clash_dis' , 'Real', default='3.5' , desc="max acceptable clash dis"),
6459  Option( 'contact_dis' , 'Real', default='12.0', desc="max acceptable contact dis"),
6460  Option( 'hash_2D_vs_3D', 'Real', default='1.3' , desc="grid spacing top 2D hash"),
6461 # Option( 'term_min_expose', 'Real', default='0.1' , desc="terminus at least X exposed"),
6462 # Option( 'term_max_angle', 'Real', default='45.0' , desc="terminus at most X degrees from XY plane"),
6463  ), # -sicdock
6464 
6465  ################################
6466  ## In development helix assembly options
6467  Option_Group( 'sewing',
6468 
6469  ##General options
6470  Option('model_file_name','File', desc="Filename for model file (creation or reading)"),
6471  Option('score_file_name','File', desc="Filename for scores file (creation or reading)"),
6472 
6473  ##ModelTrimmer options
6474  Option('new_model_file_name','File', desc="Filename for new model file to be written"),
6475  Option('remove_any_dssp','String', desc="If a given model has *any* segments with this DSSP, remove it", default=""),
6476  Option('remove_all_dssp','String', desc="If a given model has *all* non-loop segments with this DSSP, remove it", default=""),
6477  Option('min_helix_length','Integer', desc="Helices less than supplied length will be removed from model file", default='0'),
6478  Option('max_helix_length','Integer', desc="Helices greater than supplied length will be removed from model file", default='1000'),
6479  Option('min_loop_length','Integer', desc="Loops less than supplied length will be removed from model file", default='0'),
6480  Option('max_loop_length','Integer', desc="Loops greater than supplied length will be removed from model file", default='1000'),
6481  Option('min_strand_length','Integer', desc="Strands less than supplied length will be removed from model file", default='0'),
6482  Option('max_strand_length','Integer', desc="Strands greater than supplied length will be removed from model file", default='1000'),
6483 
6484  Option('leave_models_by_ss_num','Boolean', desc="Only models with certain number of secondary structures remain", default='false'),
6485  Option('model_should_have_this_num_of_ss','Integer', desc="Only models with this number of secondary structures remain", default='5'),
6486 
6487  Option('model_should_have_at_least_one_E_at_terminal_segment','Boolean', desc="model_should_have_at_least_one_E_at_terminal_segment", default='false'),
6488  Option('model_should_have_at_least_one_E','Boolean', desc="model_should_have_at_least_one_E", default='false'),
6489  Option('leave_models_with_E_terminal_ss','Boolean', desc="leave only models_with_E_terminal_ss", default='false'),
6490  Option('leave_antiparallel_way_H_bonded_models_by_terminal_strands_only','Boolean', desc="leave only anti-pa H_bonded_models by_terminal_strands", default='false'),
6491  Option('leave_parallel_way_H_bonded_models_by_terminal_strands_only','Boolean', desc="leave only pa H_bonded_models by_terminal_strands", default='false'),
6492  Option('box_length','Integer', desc="Neighborhood lookup box size, 3 for 27 boxes, 4 for 64 boxes etc",default='3'),
6493 
6494 
6495  ##SewingHasher and ModelDumper options
6496  Option( 'mode', 'String',
6497  desc="The mode sewing_hasher should run.",
6498  default='hash',
6499  legal=["hash", "generate", "generate_five_ss_model", "convert", "test"]),
6500 
6501  Option('num_models_to_dump','Integer', desc="Used for ModelDumper. How many random models should be dumped?"),
6502  Option('models_to_dump','IntegerVector', desc="Used for ModelDumper for specifying model ids you want to dump"),
6503  Option('min_hash_score','Integer', desc="Minimum number of overlapping atoms per segment", default='10'),
6504  Option('max_clash_score','Integer', desc="Maximum number of atoms found in the same bin, but not from superimposed fragments",default='0'),
6505  Option('num_segments_to_match','Integer', desc="Number of segments required to have min_hash_score atom matches",default='1'),
6506  Option('match_segments','IntegerVector', desc="Segment scored by the hasher"),
6507 
6508  Option('max_models','Integer', desc="Maximum models to hash, for testing purposes only"),
6509  Option('starting_model','Integer', desc="Starting model for hashing"),
6510  Option('num_procs','Integer', desc="Number of processors to split up hashing with"),
6511  Option('rank','Integer', desc="The processor rank for this process"),
6512  Option('hash_tag_only_terminal_Es','Boolean', desc="hash_tag_only_terminal_Es",default='false'),
6513 
6514  ##Base AssemblyMover options
6515  Option('assembly_type','String', desc="Type of Assembly class to generate", default='continuous'),
6516  Option('num_edges_to_follow','Integer',desc="Maximum number of edges on graph to follow"),
6517  Option('base_native_bonus','Real',desc="Weighting term for packing native rotamers"),
6518  Option('neighbor_cutoff','Integer',desc="Cutoff for favoring natives in SEWING refinement. Any residues with fewer neighbors is not favored"),
6519  Option('dump_pdbs','Boolean', desc="Dump intermediate PDBs", default='false'),
6520  Option('skip_refinement','Boolean', desc="Should you refine the final assembly", default='false'),
6521  Option('skip_filters','Boolean', desc="Should the Assembly be filtered before refinment", default='false'),
6522  Option('min_motif_score','Real',desc="Minimum allowable motif score", default='20'),
6523 
6524  ##ClashScore options
6525  Option('offset_bump_dsq','Real', desc="offset to bump_dsq", default='0'),
6526 
6527  ##RepeatAssembly options
6528  Option('num_repeats','Integer', desc="Number of repeats to print in final structures", default='3'),
6529  Option('repeat','Boolean', desc="Should the AssemblyConstraintsMover treat this as a repeat?", default='false'),
6530 
6531  ##SewingAppend options
6532  Option('pose_segment_starts','IntegerVector', desc="Segment begin indices"),
6533  Option('pose_segment_ends','IntegerVector', desc="Segment end indices"),
6534  Option('keep_source_segments', 'Boolean', desc="Keep the source segments rather than the target segments. For use with append", default='false'),
6535  Option('partner_pdb', 'File', desc="A PDB that is not part of the Assembly, but will be used for clash checking"),
6536  Option('keep_model_residues', 'IntegerVector', desc="A list of residues from the input pose that will not be designed (but are repacked)"),
6537 
6538  ##LoopHashAssemblyMover options
6539  Option('min_lh_fragments','Integer', desc="Minimium number of LoopHash fragments necessary for each designed loop", default='10'),
6540  Option('skip_loop_generation','Boolean', desc="Should you skip generation of loops", default='false'),
6541 
6542  ##ExhaustiveAssemblyMover options
6543  Option('max_ss_num','Integer', desc="max_ss_num", default='5'),
6544  Option('dump_every_model_for_devel_purpose','Boolean', desc="dump_every_model_for_devel_purpose", default='false'),
6545  ), # -sewing
6546 
6547  Option_Group( 'SSrbrelax',
6548 # Option( 'input_pdb','File', desc='input pdb file', default='input_pdb' ),
6549  Option( 'rb_file','File', desc='rb definition file', default='rb_file' ),
6550  Option( 'rb_param_file','File', desc='rb param file', default='rb_param_file' ),
6551  Option( 'frag_sizes','IntegerVector', desc='lengths of fragments to be used in loop modeling', default=['9','3','1']),
6552  Option( 'frag_files', 'FileVector', desc='fragment libraries files', default=['FragFile9','FragFile3','FragFile1'] ),
6553  ), # -SSrbrelax
6554 
6555  ################################
6556  # step-wise assembly options
6557  Option_Group( 'stepwise',
6558  Option( 's1', 'StringVector',desc="input file(s)"),
6559  Option( 's2', 'StringVector',desc="input file(s)"),
6560  Option( 'silent1', 'StringVector',desc="input file"),
6561  Option( 'silent2', 'StringVector',desc="input file"),
6562  Option( 'tags1', 'StringVector',desc="input tag(s)"),
6563  Option( 'tags2', 'StringVector',desc="input tag(s)"),
6564  Option( 'slice_res1', 'IntegerVector',desc='Residues to slice out of starting file',default=[]),
6565  Option( 'slice_res2', 'IntegerVector',desc='Residues to slice out of starting file',default=[]),
6566  Option( 'input_res1', 'IntegerVector',desc='Residues already present in starting file',default=[]),
6567  Option( 'input_res2', 'IntegerVector',desc='Residues already present in starting file2',default=[]),
6568  Option( 'backbone_only1', 'Boolean', desc="just copy protein backbone DOFS, useful for homology modeling"),
6569  Option( 'backbone_only2', 'Boolean', desc="just copy protein backbone DOFS, useful for homology modeling"),
6570  Option( 'fixed_res', 'IntegerVector', desc='Do not move these residues during minimization.', default=[] ),
6571  Option( 'test_encapsulation', 'Boolean', desc="Test ability StepWiseRNA Modeler to figure out what it needs from just the pose - no JobParameters", default="false" ),
6572  Option( 'choose_random', 'Boolean', desc="ask swa residue sampler for a random solution", default="false" ),
6573  Option( 'num_random_samples', 'Integer', desc="In choose_random/monte-carlo mode, number of samples from swa residue sampler before minimizing best", default="20" ),
6574  Option( 'max_tries_multiplier_for_ccd', 'Integer', desc="In choose_random/monte-carlo mode, when CCD closure needs to occur, multiple # tries by this factor", default="10" ),
6575  Option( 'num_pose_minimize','Integer', desc='optional: set_num_pose_minimize by Minimizer', default='0' ),
6576  Option( 'atr_rep_screen', 'Boolean', desc='In sampling, screen for contacts (but no clash) between partitions before packing',default='true' ),
6577  Option( 'atr_rep_screen_for_docking', 'Boolean', desc='In just docking moves, screen for contacts (but no clash) between partitions before packing',default='false' ),
6578  Option( 'align_pdb', 'String', desc='PDB to align to. Default will be -native, or no alignment', default='' ),
6579  Option( 'enumerate', 'Boolean', desc="For SWM. Force enumeration (SWA-like) instead of random", default="false" ),
6580  Option( 'preminimize', 'Boolean', desc="For SWM. Just prepack and minimize", default="false" ),
6581  Option( 'skip_preminimize', 'Boolean', desc="Skip preminimize before stepwise monte carlo", default="false" ),
6582  Option( 'test_all_moves', 'Boolean', desc="Try all moves from starting pose, recursing through additions ", default="false" ),
6583  Option( 'new_move_selector', 'Boolean', desc="For SWM. Use new move selector which does keep track of proposal probabilities.", default="true" ),
6584  Option( 'dump', 'Boolean', desc="Dump intermediate silent & PDB files",default="false" ),
6585  Option( 'VERBOSE', 'Boolean', desc= "VERBOSE", default='false' ),
6586  Option( 'use_green_packer', 'Boolean', desc= "use packer instead of rotamer trials for side-chain packing and O2' optimization", default='false' ),
6587  Option( 'rmsd_screen', 'Real', desc="keep sampled residues within this rmsd from the native pose",default="0.0" ),
6588  Option( 'skip_minimize', 'Boolean', desc="Skip minimize, e.g. in prepack step",default="false" ),
6589  Option( 'virtualize_packable_moieties_in_screening_pose', 'Boolean', desc="Virtualize 2'-OH, terminal phosphates in stepwise contact screening, before actual packing ",default="false" ),
6590  Option( 'sampler_silent_file', 'String', desc='In StepWiseConnectionSampler, where to output all poses that pass filters', default='' ),
6591  Option( 'superimpose_over_all', 'Boolean', desc='In final superimposition, do not keep any domains fixed, superimpose over everything',default="false" ),
6592  Option( 'move', 'StringVector', desc="For SWM. Format: 'ADD 5 BOND_TO_PREVIOUS 4'", default=[] ),
6593  Option( 'min_type', 'String', desc="Minimizer type",default="dfpmin_armijo_nonmonotone" ),
6594  Option( 'min_tolerance', 'Real', desc="Minimizer tolerance",default="0.000025" ),
6595  Option( 'vary_polar_hydrogen_geometry', 'Boolean', desc='Optimize hydrogens that form hydrogen bonds', default='false' ),
6596  Option( 'output_minimized_pose_list', 'Boolean', desc='Use legacy output that puts out all minimized poses; set to true in legacy SWA', default='false' ),
6597  Option( 'virtualize_free_moieties_in_native', 'Boolean', desc="Virtualize bulges, terminal phosphates, and 2' hydroxyls detected to be non-interacting ('free') in native pose. I.e., do not calculate RMSD over those atoms.", default='true' ),
6598  Option( 'output_cluster_size', 'Boolean', desc="Output cluster_size in StepWiseClusterer as an extra score in the pose", default='false' ),
6599  Option( 'lores', 'Boolean', desc="Use coarse-grained energy function to sample; no minimize.", default='false' ),
6600  Option( 'verbose_sampler', 'Boolean', desc="verbose output from StepWiseConnectionSampler sample-and-screen.", default='false' ),
6601 
6602  Option_Group( 'monte_carlo',
6603  Option( 'verbose_scores', 'Boolean', desc= "Show all score components", default='false' ),
6604  Option( 'skip_deletions', 'Boolean', desc= "no delete moves -- just for testing", default='false' ),
6605 # Option( 'erraser', 'Boolean', desc= "Use KIC sampling", default='true' ),
6606  Option( 'allow_internal_hinge_moves', 'Boolean', desc= "Allow moves in which internal suites are sampled (hinge-like motions)", default='true' ),
6607  Option( 'allow_internal_local_moves', 'Boolean', desc= "Allow moves in which internal cutpoints are created to allow ERRASER rebuilds", default='true' ),
6608  Option( 'allow_skip_bulge', 'Boolean', desc= "Allow moves in which an intervening residue is skipped and the next one is modeled as floating base", default='false' ),
6609  Option( 'skip_bulge_frequency', 'Real', desc= "Compared to 'normal' add moves, how often to skip a bulge and do addition.", default='0.0' ),
6610  Option( 'from_scratch_frequency', 'Real', desc= "Allow modeling of 'free' dinucleotides that are not part of input poses", default='0.1' ),
6611  Option( 'allow_split_off', 'Boolean', desc= "Allow chunks that do not contain fixed domains to split off after nucleating on fixed domains.", default='true' ),
6612  Option( 'cycles', 'Integer', desc= "Number of Monte Carlo cycles", default='50' ),
6613  Option( 'temperature', 'Real', desc= "Monte Carlo temperature", default='1.0' ),
6614  Option( 'add_proposal_density_factor', 'Real', desc= "Increase/decrease the proposal_density_ratio for add moves by this factor", default='1.0' ),
6615  Option( 'add_delete_frequency', 'Real', desc= "Frequency of add/delete vs. resampling", default='0.5' ),
6616  Option( 'docking_frequency', 'Real', desc= "Frequency of docking vs. folding moves", default='0.2' ),
6617  Option( 'submotif_frequency', 'Real', desc= "Frequency of submotif additions", default='0.2' ),
6618  Option( 'intermolecular_frequency', 'Real', desc= "Same as -docking_frequency, to be deprecated soon", default='0.2' ),
6619  Option( 'minimize_single_res_frequency', 'Real', desc= "Frequency with which to minimize the residue that just got rebuilt, instead of all", default='0.0' ),
6620  Option( 'allow_variable_bond_geometry', 'Boolean', desc= "In 10% of moves, let bond angles & distance change", default='true' ),
6621  Option( 'switch_focus_frequency', 'Real', desc= "Frequency with which to switch the sub-pose that is being modeled", default='0.5' ),
6622  Option( 'just_min_after_mutation_frequency', 'Real', desc= "After a mutation, how often to just minimize (without further sampling the mutated residue)", default='0.5' ),
6623  Option( 'local_redock_only', 'Boolean', desc='In ResampleMover, docking partners can change anywhere across connected chains. Force the new partners to be close to the old ones.', default='true' ),
6624  Option( 'make_movie', 'Boolean', desc= "create silent files in movie/ with all steps and accepted steps", default='false' ),
6625  Option( 'recover_low', 'Boolean', desc="Output lowest energy model in monte carlo, not the last frame", default='true' ),
6626  Option( 'use_precomputed_library', 'Boolean', desc="In from_scratch moves, do not sample dinucleotides explicitly, but instead use library saved to disk.", default='true' ),
6627  Option( 'allow_submotif_split', 'Boolean', desc="for submotif moves, allow submotifs to be split. (inconsistent with detailed balance.)", default='false' ),
6628  Option( 'force_submotif_without_intervening_bulge', 'Boolean', desc="for submotif moves, only add base pairs that have an attachment point and a cutpoint closed, with no intervening bulge", default='false' ),
6629  Option( 'use_first_jump_for_submotif', 'Boolean', desc="for submotif moves, only use first jump from jump library -- does not change stepwise -lores (which resamples jump) except in balance of move selection.", default='false' ),
6630  Option( 'vary_loop_length_frequency', 'Real', desc="In design, allow loops ('n') to shorten from loop lengths defined in FASTA files.", default='0.0'),
6631  Option_Group( 'csa',
6632  Option( 'csa_bank_size', 'Integer', desc='Do conformational space annealing (population monte carlo) with this number of models in the bank',default='0' ),
6633  Option( 'csa_rmsd', 'Real', desc='RMSD cutoff for calling two poses different in conformational space annealing (population monte carlo)',default='1.0' ),
6634  Option( 'csa_output_rounds', 'Boolean', desc='output silent files at intermediate stages (at integral multiples of bank_size)',default='false' ),
6635  ),
6636  ), # -stepwise:monte_carlo
6637  Option_Group( 'rna',
6638  Option( 'sampler_num_pose_kept', 'Integer', desc="set_num_pose_kept by ResidueSampler )", default='108' ),
6639  Option( 'native_edensity_score_cutoff', 'Real', desc= "native_edensity_score_cutoff", default='-1.0' ), #Fang's electron density code,
6640  Option( 'o2prime_legacy_mode', 'Boolean', desc="complete virtualization of O2' hydrogen during sampling, and then complete restoration and packing", default='false' ),
6641  Option( 'allow_virtual_o2prime_hydrogens', 'Boolean', desc= "allow O2' hydrogen to be virtualized during packing.", default='false' ),
6642  Option( 'sampler_perform_phosphate_pack', 'Boolean', desc= "perform terminal phosphate packing inside StepWiseRNA_ResidueSampler", default='false' ),
6643  Option( 'force_phosphate_instantiation', 'Boolean', desc= "Require terminal phosphates to be instantiated.", default='false' ),
6644  Option( 'distinguish_pucker', 'Boolean', desc= "distinguish pucker when cluster:both in sampler and clusterer", default='true' ),
6645  Option( 'finer_sampling_at_chain_closure', 'Boolean', desc= "Sampler: finer_sampling_at_chain_closure", default='false' ), #Jun 9, 201,
6646  Option( 'PBP_clustering_at_chain_closure', 'Boolean', desc= "Sampler: PBP_clustering_at_chain_closure", default='false' ),
6647  Option( 'sampler_allow_syn_pyrimidine', 'Boolean', desc="sampler_allow_syn_pyrimidine", default='false' ), #Nov 15, 2010
6648  Option( 'sampler_extra_chi_rotamer', 'Boolean', desc="Sampler: extra_syn_chi_rotamer", default='false' ),
6649  Option( 'sampler_extra_beta_rotamer', 'Boolean', desc="Sampler: extra_beta_rotamer", default='false' ),
6650  Option( 'sampler_extra_epsilon_rotamer', 'Boolean', desc="Sampler: extra_epsilon_rotamer", default='true' ), #Change this to true on April 9, 2011
6651  Option( 'force_centroid_interaction', 'Boolean', desc="Require base stack or pair even for single residue loop closed (which could also be bulges!)", default='false' ), #for SWM
6652  Option( 'virtual_sugar_legacy_mode', 'Boolean', desc="In virtual sugar sampling, use legacy protocol to match Parin's original workflow", default='false' ),
6653  Option( 'VDW_rep_optimize_memory_usage', 'Boolean', desc="RNA_VDW_BinChecker, do not store vector of occupied xyz bins.", default='false' ),
6654  Option( 'erraser', 'Boolean', desc="Use KIC sampling", default='false' ),
6655  Option( 'centroid_screen', 'Boolean', desc="centroid_screen", default='true' ),
6656  Option( 'VDW_atr_rep_screen', 'Boolean', desc="classic VDW_atr_rep_screen", default='true' ),
6657  Option( 'minimize_and_score_native_pose', 'Boolean', desc="minimize_and_score_native_pose ", default='false' ), #Sept 15, 2010
6658  Option( 'rm_virt_phosphate', 'Boolean', desc="Remove virtual phosphate patches during minimization", default='false' ),
6659  Option( 'VDW_rep_screen_info', 'StringVector', desc="VDW_rep_screen_info to create VDW_rep_screen_bin ( useful when building loop from large poses )", default=[] ), #Jun 9, 2010
6660  Option( 'VDW_rep_alignment_RMSD_CUTOFF', 'Real', desc="use with VDW_rep_screen_info", default='0.001' ), #Nov 12, 2010
6661  Option( 'VDW_rep_delete_matching_res', 'StringVector', desc="delete residues in VDW_rep_pose that exist in the working_pose", default=[] ), #Feb 20, 2011
6662  Option( 'VDW_rep_screen_physical_pose_clash_dist_cutoff', 'Real', desc="The distance cutoff for VDW_rep_screen_with_physical_pose", default='1.2' ), #March 23, 2011
6663  Option( 'integration_test', 'Boolean', desc=" integration_test ", default='false' ), #March 16, 2012
6664  Option( 'allow_bulge_at_chainbreak', 'Boolean', desc="Allow sampler to replace chainbreak res with virtual_rna_variant if it looks have bad fa_atr score.", default='true' ),
6665  Option( 'parin_favorite_output', 'Boolean', desc=" parin_favorite_output ", default='true' ), #Change to true on Oct 10, 2010
6666  Option( 'reinitialize_CCD_torsions', 'Boolean', desc="Sampler: reinitialize_CCD_torsions: Reinitialize_CCD_torsion to zero before every CCD chain closure", default='false' ),
6667  Option( 'sample_both_sugar_base_rotamer', 'Boolean', desc="Sampler: Super hacky for SQUARE_RNA", default='false' ),
6668  Option( 'sampler_include_torsion_value_in_tag', 'Boolean', desc="Sampler:include_torsion_value_in_tag", default='true' ),
6669  Option( 'sampler_assert_no_virt_sugar_sampling', 'Boolean', desc="sampler_assert_no_virt_sugar_sampling", default='false' ), #July 28, 2011
6670  Option( 'sampler_try_sugar_instantiation', 'Boolean', desc="for floating base sampling, try to instantiate sugar if it looks promising", default='false' ), #July 28, 2011
6671  Option( 'do_not_sample_multiple_virtual_sugar', 'Boolean', desc=" Sampler: do_not_sample_multiple_virtual_sugar ", default='false' ),
6672  Option( 'sample_ONLY_multiple_virtual_sugar', 'Boolean', desc=" Sampler: sample_ONLY_multiple_virtual_sugar ", default='false' ),
6673  Option( 'allow_base_pair_only_centroid_screen', 'Boolean', desc="allow_base_pair_only_centroid_screen", default='false' ), #This only effect floating base sampling + dinucleotide.. deprecate option
6674  Option( 'minimizer_rename_tag', 'Boolean', desc="Reorder and rename the tag by the energy_score", default='true' ), #March 15, 2012
6675  Option( 'minimize_res', 'IntegerVector', desc='alternative to fixed_res', default=[] ),
6676  Option( 'alignment_res', 'StringVector', desc="align_res_list", default=[] ),
6677  Option( 'native_alignment_res', 'IntegerVector', desc="optional: native_alignment_res ", default=[] ),
6678  Option( 'rmsd_res', 'IntegerVector', desc="residues that will be use to calculate rmsd ( for clustering as well as RMSD to native_pdb if specified )", default=[] ),
6679  Option( 'missing_res', 'IntegerVector', desc='Residues missing in starting pose_1, alternative to input_res',default=[] ),
6680  Option( 'missing_res2', 'IntegerVector', desc='Residues missing in starting pose_2, alternative to input_res2',default=[] ),
6681  Option( 'job_queue_ID', 'Integer', desc="swa_rna_sample()/combine_long_loop mode: Specify the tag pair in filter_output_filename to be read in and imported ( start from 0! )", default='0' ),
6682  Option( 'minimize_and_score_sugar', 'Boolean', desc="minimize and sugar torsion + angle? and include the rna_sugar_close_score_term ", default='true' ),
6683  Option( 'global_sample_res_list', 'IntegerVector', desc="A list of all the nucleotide to be build/sample over the entire dag.",default=[] ),
6684  Option( 'filter_output_filename', 'File', desc="CombineLongLoopFilterer: filter_output_filename", default="filter_struct.txt" ),
6685  Option( 'combine_long_loop_mode', 'Boolean', desc=" Sampler: combine_long_loop_mode ", default="false" ),
6686  Option( 'combine_helical_silent_file', 'Boolean', desc="CombineLongLoopFilterer: combine_helical_silent_file", default="false" ),
6687  Option( 'output_extra_RMSDs', 'Boolean', desc="output_extra_RMSDs", default="false" ),
6688  Option( 'protonated_H1_adenosine_list', 'IntegerVector', desc="optional: protonate_H1_adenosine_list", default=[] ),
6689  Option( 'native_virtual_res', 'IntegerVector', desc=" optional: native_virtual_res ", default=[] ),
6690  Option( 'simple_append_map', 'Boolean', desc="simple_append_map", default="false" ),
6691  Option( 'allow_fixed_res_at_moving_res', 'Boolean', desc="mainly just to get Hermann Duplex modeling to work", default="false" ),
6692  Option( 'force_user_defined_jumps', 'Boolean', desc="Trust and use user defined jumps", default="false" ),
6693  Option( 'jump_point_pairs', 'StringVector', desc="optional: extra jump_points specified by the user for setting up the fold_tree ", default=[] ),
6694  Option( 'add_virt_root', 'Boolean', desc="add_virt_root", default="false" ),
6695  Option( 'floating_base', 'Boolean', desc=" floating_base ", default="false" ),
6696  Option( 'floating_base_anchor_res', 'Integer', desc="If we want floating base to be connected via a jump to an anchor res (with no intervening virtual residues), specify the anchor.", default="0" ),
6697  Option( 'allow_chain_boundary_jump_partner_right_at_fixed_BP', 'Boolean', desc="mainly just to get Hermann nano - square RNA modeling to work", default="false" ),
6698  Option( 'rebuild_bulge_mode', 'Boolean', desc="rebuild_bulge_mode", default="false" ),
6699  Option( 'virtual_sugar_keep_base_fixed', 'Boolean', desc="When instantiating virtual sugar, keep base fixed -- do not spend a lot of time to minimize!", default="true" ),
6700  Option( 'virtual_sugar_do_minimize', 'Boolean', desc="When instantiating virtual sugar, minimize (as in original SWA code) -- takes extra time!", default="true" ),
6701  Option( 'sampler_max_centroid_distance', 'Real', desc="max centroid distance of moving base to reference in floating base sampler", default='0.0' ), #Nov 12, 2010
6702  Option( 'filter_user_alignment_res', 'Boolean', desc=" filter_user_alignment_res ", default="true" ),
6703  Option( 'tether_jump', 'Boolean', desc="In rigid body moves, keep moving residue close to (jump-connected) reference residue (8.0 A) and force centroid interaction between them", default="true" ),
6704  Option( 'turn_off_rna_chem_map_during_optimize', 'Boolean', desc="When using rna_chem_map, only score with this after minimizing (takes too long to compute during optimizing).", default="true" )
6705  ), # -stepwise:rna
6706  Option_Group( 'protein',
6707  Option( 'global_optimize', 'Boolean', desc="In clustering, packing, minimizing, use all residues.",default="false" ),
6708  Option( 'disable_sampling_of_loop_takeoff', 'Boolean', desc="For KIC protein loop closure, disallow sampling of psi at N-terminus and phi at C-terminus takeoff residues",default="false" ),
6709  Option( 'sample_beta', 'Boolean', desc="sample beta strand pairing -- later need to specify parallel/antiparallel",default="false" ),
6710  Option( 'ghost_loops', 'Boolean', desc="Virtualize loops in centroid screening",default="false" ),
6711  Option( 'centroid_screen', 'Boolean', desc="Centroid Screen",default="false" ),
6712  Option( 'centroid_score_diff_cut', 'Real', desc="If doing -centroid_screen, only keep poses whose energies are within this energy of reference..",default="20.0" ),
6713  Option( 'centroid_weights', 'String', desc="weights for centroid filter",default="score3.wts" ),
6714  Option( 'score_diff_cut', 'Real', desc="score difference cut for clustering",default="10.0" ),
6715  Option( 'filter_native_big_bins', 'Boolean', desc="Figure out various terms for score12",default="false" ),
6716  Option( 'cluster_by_all_atom_rmsd', 'Boolean', desc="cluster by all atom rmsd",default="false" ),
6717  Option( 'centroid_output', 'Boolean', desc="output centroid structure during screening",default="false" ),
6718  Option( 'n_sample', 'Integer', desc="number of samples per torsion angle",default="18" ),
6719  Option( 'nstruct_centroid', 'Integer', desc="Number of decoys to output from centroid screening",default="0" ),
6720  Option( 'ccd_close', 'Boolean', desc="Close loops with CCD",default="false" ),
6721  Option( 'bridge_res', 'IntegerVector', desc="instead of enumerative sampling of backbone torsions, combine silent files that contains pieces of loops", default=[] ),
6722  Option( 'cart_min', 'Boolean', desc="Use cartesian minimizer",default="false" ),
6723  Option( 'move_jumps_between_chains', 'Boolean', desc="Move all jumps",default="false" ),
6724  Option( 'use_packer_instead_of_rotamer_trials', 'Boolean', desc="Use packer instead of rotamer trials in residue sampling",default="false" ),
6725  Option( 'expand_loop_takeoff', 'Boolean', desc="expand -sample_res loop to include connection to previous/next residues",default="false" ),
6726  Option( 'skip_coord_constraints', 'Boolean', desc='Skip first stage of minimize with coordinate constraints',default='false' ),
6727  Option( 'allow_virtual_side_chains', 'Boolean', desc='In packing, allow virtual side chains',default='true' ),
6728  Option( 'protein_prepack', 'Boolean', desc='In packing, prepack separate partitions',default='true' ),
6729  Option( 'disulfide_file', 'String', desc='File with pairs of numbers for desired disulfides.', default=''),
6730  ), # -stepwise:protein
6731  ), # -stepwise
6732 
6733  ################################
6734  # full_model_info --> may replace stepwise stuff above.
6735  Option_Group( 'full_model',
6736  Option( 'cutpoint_open', 'ResidueChainVector',desc='open cutpoints in full model',default=[]),
6737  Option( 'cutpoint_closed', 'ResidueChainVector',desc='closed cutpoints in full model',default=[]),
6738  Option( 'other_poses', 'StringVector',desc='list of PDB files containing other poses'),
6739  Option( 'jump_res', 'ResidueChainVector', desc= "optional: residues for defining jumps -- please supply in pairs", default=[] ),
6740  Option( 'extra_min_res', 'ResidueChainVector', desc= "specify residues other than those being built that should be minimized", default=[] ),
6741  Option( 'extra_min_jump_res', 'ResidueChainVector', desc= "specify jump-connected pairs other than those being built that should be minimized", default=[] ),
6742  Option( 'root_res', 'ResidueChainVector', desc= "optional: desired root res (used in SWM move testing)", default=[] ),
6743  Option( 'virtual_sugar_res', 'ResidueChainVector', desc= "optional: starting virtual sugars (used in SWM move testing)", default=[] ),
6744  Option( 'virtual_res', 'ResidueChainVector', desc="optional: residues for defining virtual residues", default=[] ),
6745  Option( 'sample_res', 'ResidueChainVector', desc="residues to build (for SWA, the first element is the actual sample res while the other are the bulge residues)", default=[] ),
6746  Option( 'calc_rms_res', 'ResidueChainVector', desc="residues over which to calculate rms for SWA. Not in wide use anymore.", default=[] ),
6747  Option( 'working_res', 'ResidueChainVector', desc="residues that are being built [by default will be set from sample_res and any input pdbs]", default=[] ),
6748  Option( 'motif_mode','Boolean',desc='in fixed PDB parts, minimize residues right next to loops & disallow pair/stacking in most distal residues',default='false'),
6749  Option( 'allow_jump_in_numbering','Boolean',desc='useful for design. if residue numbers jump from i to i+1 do *not* assume cutpoint.',default='false'),
6750  Option_Group( 'rna',
6751  Option( 'terminal_res', 'ResidueChainVector', desc="optional: residues that are not allowed to stack during sampling", default=[] ),
6752  Option( 'block_stack_above_res', 'ResidueChainVector', desc="optional: residues on which other residues cannot stack above (uses repulsion atoms)", default=[] ),
6753  Option( 'block_stack_below_res', 'ResidueChainVector', desc="optional: residues on which other residues cannot stack below (uses repulsion atoms)", default=[] ),
6754  Option( 'force_syn_chi_res_list', 'ResidueChainVector', desc="optional: sample only syn chi for the res in sampler.", default=[] ),
6755  Option( 'force_anti_chi_res_list', 'ResidueChainVector', desc="optional: sample only anti chi for the res in sampler.", default=[] ),
6756  Option( 'force_north_sugar_list', 'ResidueChainVector', desc="optional: sample only north sugar for the res in sampler.", default=[] ),
6757  Option( 'force_south_sugar_list', 'ResidueChainVector', desc="optional: sample only south sugar for the res in sampler.", default=[] ),
6758  Option( 'bulge_res', 'ResidueChainVector', desc="optional: residues to be turned into a bulge variant", default=[] ),
6759  Option( 'sample_sugar_res', 'ResidueChainVector', desc="optional: residues in fixed input pose whose sugars can still move", default=[] ),
6760  ), # -full_model:rna
6761  ), # -full_model
6762 
6763  ## strand assembly options
6764  Option_Group( 'strand_assembly',
6765  # all options are for StrandBundleFeaatures only, since SandwichFeatures are dealt with parse_my_tag
6766  # default values are in code
6767  Option('min_num_strands_to_deal','Integer', desc="Minimum number of strands to handle beta-sandwich"),
6768  Option('max_num_strands_to_deal','Integer', desc="Maximum number of strands to handle beta-sandwich"),
6769  Option('extract_native_only', 'Boolean', desc="if true, extract native full strands only"),
6770  Option('min_res_in_strand','Integer', desc="minimum number of residues in a strand, for edge strand definition & analysis"),
6771  Option('max_res_in_strand','Integer', desc="Maximum number of residues in a strand, for edge strand definition & analysis"),
6772  Option('min_O_N_dis','Real', desc="Minimum distance between backbone oxygen and backbone nitrogen"),
6773  Option('max_O_N_dis','Real', desc="Maximum distance between backbone oxygen and backbone nitrogen"),
6774  Option('min_sheet_dis','Real', desc="Minimum distance between sheets (CA and CA)"),
6775  Option('max_sheet_dis','Real', desc="Maximum distance between sheets (CA and CA)"),
6776  Option('min_sheet_torsion','Real', desc="Minimum torsion between sheets (CA and CA) with respect to terminal residues"),
6777  Option('max_sheet_torsion','Real', desc="Maximum torsion between sheets (CA and CA) with respect to terminal residues"),
6778  Option('min_sheet_angle','Real', desc="Minimum angle between sheets (CA and CA)"),
6779  Option('max_sheet_angle','Real', desc="Maximum angle between sheets (CA and CA)"),
6780  Option('min_shortest_dis_sidechain_inter_sheet','Real', desc="minimum distance between sidechains between sheets (pairs of strands)"),
6781  ), # -strand_assembly
6782 
6783  #################################TailSegment####################################################
6784  Option_Group( 'TailSegment',
6785  Option( 'refine_cycles', 'Integer', desc='refinement phase runs for <input> cycles', default = '100' ),
6786  Option( 'refine_repack_cycles', 'Integer', desc='refinement phase runs repack every <input> cycles', default = '10' ),
6787  ), # -TailSegment
6788 
6789  Option_Group( 'templates',
6790  Option( 'config', 'File', desc='read a list of templates and alignments', default='templates.dat' ),
6791  Option( 'fix_aligned_residues', 'Boolean', desc='pick only from template fragments and then keep these residues fixed', default='false' ),
6792  Option( 'fix_frag_file', 'File', desc=' fragments from this file are picked once in beginning and then kept fixed', default='' ),
6793  Option( 'fix_margin', 'Integer', desc='keep n residues at edges of fixed fragments moveable', default='1' ),
6794  Option( 'min_nr_large_frags', 'Integer', desc='how many large fragments should be present', default='100000' ),
6795  Option( 'min_nr_small_frags', 'Integer', desc='how many small fragments should be present', default='100000' ),
6796  Option( 'no_pick_fragments', 'Boolean', desc='no further fragment picking from templates', default='false' ),
6797  Option( 'nr_large_copies', 'Integer', desc='make N copies of each picked template fragment -- a hacky way to weight them', default='4' ),
6798  Option( 'nr_small_copies', 'Integer', desc='make N copies of each picked template fragment -- a hacky way to weight them', default='20' ),
6799  Option( 'pairings', 'Boolean', desc='use pairings from templates', default='false' ),
6800  Option( 'pick_multiple_sizes', 'Boolean', desc='pick 9mers, 18mers and 27mers', default='false' ),
6801  Option( 'strand_constraint', 'Boolean', desc='use the template-based strand-constraints', default='false' ),
6802  Option( 'vary_frag_size', 'Boolean', desc='pick fragments as long as aligned regions', default='false' ),
6803  Option( 'no_culling', 'Boolean', desc='dont throw out constraints that are violated by other templates', default='false' ),
6804  Option( 'helix_pairings', 'File', desc='file with list of pairings that are enforced (pick jumps from templates with H)', default='' ),
6805  Option( 'prefix', 'File', desc='path for config directory -- applied to all filenames in template_config_file', default='' ),
6806  Option( 'change_movemap', 'Integer', desc='stage in which movemap is switched to allow all bb-residues to move, valid stages: 3..4 (HACK)', default='3' ),
6807  Option( 'force_native_topology', 'Boolean', desc='force the native toplogy (geometries from templates)', default='false' ),
6808  Option( 'topology_rank_cutoff', 'Real', desc='select jumps from all topologies with a higher relative score than if 1.0 take top 5', default='1.0' ),
6809  Option( 'min_frag_size', 'Integer', desc='smallest fragment picked from aligned template regions', default='6' ),
6810  Option( 'max_shrink', 'Integer', desc='pick fragments up to max_shrink smaller than aligned regions', default='0' ),
6811  Option( 'shrink_step', 'Integer', desc='shrink_step 5 , eg., 27mer 22mer 17mer', default='5' ),
6812  Option( 'shrink_pos_step', 'Integer', desc='distance between start pos in shrinked fragments', default='5' ),
6813  Option( 'min_padding', 'Integer', desc='minimum space between fragment and gap', default='0' ),
6814  Option( 'min_align_pos', 'Integer', desc='ignore aligned residues before this position', default='0' ),
6815  Option( 'max_align_pos', 'Integer', desc='ignore aligned residues after this position', default='-1' ),
6816 
6817  Option_Group( 'cst',
6818  Option( 'topN', 'Integer', desc='topN ranking models are used for constraints ( culling and source )', default='0' ),
6819  Option( 'wTopol', 'Real', desc='weight for beta-pairing topology score in ranking', default='0.5' ),
6820  Option( 'wExtern', 'Real', desc='weight for external score ( column in template_config_file, e.g, svn-score', default='0.5' ),
6821  ),
6822 
6823  Option_Group( 'fragsteal',
6824  Option( 'topN', 'Integer', desc='topN ranking models are used for fragment stealing', default='0' ),
6825  Option( 'wTopol', 'Real', desc='weight for beta-pairing topology score in ranking', default='0.5' ),
6826  Option( 'wExtern', 'Real', desc='weight for external score ( column in template_config_file, e.g, svn-score', default='0.5' ),
6827  ),
6828  ), # -templates
6829 
6830  ## Unfolded State Options ##
6831  Option_Group( 'unfolded_state',
6832  Option( 'unfolded_energies_file', 'File', desc='path to an alternative unfolded state energies file' ),
6833  Option( 'split_unfolded_energies_file', 'File', desc='path to an alternative split unfolded state energies file' ),
6834  Option( 'split_unfolded_energies_atom_type', 'String', desc='name of the atom type specfied in the file defeined by the split_unfolded_energies_file option', legal = ['rosetta', 'mm', 'elemental', 'pdb', 'unique'], ),
6835  ), # -unfolded_state
6836 
6837  Option_Group( 'wum',
6838  Option( 'n_slaves_per_master', 'Integer', default='64' , desc = 'A value between 32 and 128 is usually recommended' ),
6839  Option( 'n_masters', 'Integer', default='1' , desc = 'Manual override for -n_slaves_per_master. How many master nodes should be spawned ? 1 by default. generall 1 for eery 256-512 cores is recommended depending on master workload' ),
6840  Option( 'memory_limit', 'Integer', default = '0', desc = 'Memory limit for queues (in kB) ' ),
6841 
6842  Option( 'extra_scorefxn', 'String', desc='Extra score function for post-batchrelax-rescoring' ),
6843  Option( 'extra_scorefxn_ref_structure', 'File', desc='Extra score function for post-batchrelax-rescoring reference structure for superimposition (for scorefunctions that depend on absolute coordinates such as electron denisty)' ),
6844  Option( 'extra_scorefxn_relax', 'Integer', default='0', desc='After doing batch relax and adding any extra_scorefunction terms do another N fast relax rounds (defaut=0)' ),
6845  Option( 'trim_proportion', 'Real', default='0.0' ),
6846 
6847  ), # -wum
6848 
6849 #######################################
6850 # Personal/Pilot option groups
6851 # Please keep in alphabetical order
6852 
6853  ## Options for Spencer Bliven's apps
6854  Option_Group( 'blivens',
6855  Option_Group( 'disulfide_scorer',
6856  Option( 'nds_prob', 'Real', desc='The probability of scoring a non-disulfide pair', default = '0.0' ),
6857  Option( 'cys_prob', 'Real', desc='The probability of outputing a pair of non-disulf cysteines. Default to nds_prob', default = '-1.0' ),
6858  ),
6859  Option( 'score_type', 'String', desc='The scoring type to use, eg for a filter.', default = 'total_score' ),
6860  ), # -blivens
6861 
6862 # ###############################################################################
6863 # ## chrisk's crazy options
6864 # Option_Group( 'chrisk',
6865 # Option( 'hb_elec', 'Boolean', desc="turn on hb-elec switch function", default='false' ),
6866 # ), # -chrisk
6867 
6868  Option_Group('cmiles',
6869  Option_Group('kcluster',
6870  Option('num_clusters', 'Integer', desc = 'Number of clusters to use during k clustering')
6871  ),
6872  Option_Group('jumping',
6873  Option('resi', 'Integer', desc = 'Residue i'),
6874  Option('resj', 'Integer', desc = 'Residue j'),
6875  ),
6876  ), # -cmiles
6877 
6878  Option_Group( 'crossmatch',
6879 # Option( 'write_reduced_matchset', 'StringVector',desc="<name> <pdb1> <pdb2> ..."),
6880 # Option( 'interface_size', 'Integer',desc="num CB-CB within 8A",default='30'),
6881 # Option( 'max_dis_any', 'Real',desc="",default='3.0'),
6882 # Option( 'max_dis_all', 'Real',desc="",default='2.6'),
6883 # Option( 'max_dis_metal', 'Real',desc="",default='1.0'),
6884  Option( 'clash_dis', 'Real',desc="",default='3.0'),
6885 # Option( 'identical_match_dis', 'Real',desc="",default='0.0001'),
6886  # Option( 'filterdist' ,'Real' ,desc="MC temp for cen fold", default="2.0" ),
6887  ), # -crossmatch
6888 
6889  ## dwkulp some options for programs
6890  Option_Group( 'dwkulp',
6891  Option( 'forcePolyAAfragments', 'String', desc="a single amino acid that will be used for fragment picking,default is blank which means taking actual sequence from pose" ,default=""),
6892  ), # -dwkulp
6893 
6894  # evolution mode -----------------------------------------------------------
6895  Option_Group( 'evolution',
6896  Option( 'parentlist', 'FileVector', desc="File(s) containing list(s) of Parent PDB files to process" ),
6897  Option( 'childlist', 'FileVector', desc="File(s) containing list(s) of Parent PDB files to process" ),
6898  Option( 'action' , 'String', desc="One of the following: diversify, intensify ", default = "diversify" ),
6899  Option( 'rms_threshold', 'Real', desc='RMS Clustering threshold', default='3.5'),
6900  Option( 'rms_topmargin', 'Real', desc='RMS Clustering threshold', default='5.0'),
6901  Option( 'targetdir' , 'String', desc="Write target new parent polulation to this directory ! ", default = "./" ),
6902  Option( 'padding_score_filter', 'Real', desc='RMS Clustering threshold', default='5.0'),
6903  Option( 'padding_stage2_filter', 'Real', desc='RMS Clustering threshold', default='15.0'),
6904  ),
6905 
6906  ## options for my pilot apps. No big deal if these need to change!
6907  ## tex
6908  Option_Group( 'james',
6909  Option( 'min_seqsep', 'Integer', default = '0' ),
6910  Option( 'atom_names', 'StringVector', default = 'utility::vector1<std::string>()' ),
6911  Option( 'dist_thresholds', 'RealVector', default = 'utility::vector1<float>(1, 1.0)' ),
6912  Option( 'torsion_thresholds', 'RealVector', default = 'utility::vector1<float>(1, 30.0)' ),
6913 # Option( 'sog_cutoff', 'Real', default='5.0' ),
6914 # Option( 'shift_sog_func', 'Boolean', default = 'true' ),
6915 # Option( 'min_type', 'String', default='dfpmin_armijo_nonmonotone' ),
6916 # Option( 'min_tol', 'Real', default='0.0001' ),
6917  Option( 'debug', 'Boolean', default='false'),
6918  Option( 'real', 'Real', default = '7.0', desc = 'Option for keeping things real.' ),
6919  Option(
6920  'n_designs', 'Integer',
6921  default = '1', desc = 'total number of designs that James should make.'
6922  ),
6923 # Option( 'awesome_mode', 'Boolean', default = 'true', desc = 'activates or deactivates awesome_mode.' ),
6924 # Option( 'n_clusters', 'Integer', default = '10', desc = 'number of clusters for k-means clustering.' ),
6925  Option( 'thread_unaligned', 'Boolean', default = 'false', desc = 'basic_threading without performing an alignment' ),
6926  ),
6927 
6928  Option_Group( 'krassk',
6929 # Option( 'left_tail', 'Integer', default='0' ),
6930 # Option( 'right_tail', 'Integer', default='0' ),
6931  Option( 'tail_mode', 'Boolean', default = 'false'),
6932  Option( 'tail_mode_name', 'Integer', default = '1' ),
6933  Option( 'tail_output_file_name', 'String', default='tail_output'),
6934  ),
6935 
6936  ##options for liz
6937  #Option_Group('liz',
6938  # Option( 'score', 'Boolean', default='true'),
6939  #),
6940 
6941  ## Options for LooDo pilot app (kblacklock)
6942  Option_Group( 'loodo',
6943  Option( 'ins_begin', 'Integer', desc="insertion site (pose numbering)"),
6944  Option( 'cap', 'String', desc="cap pdb", default=""),
6945  Option( 'bot', 'String', desc="bot pdb", default=""),
6946  Option( 'fragAlength', 'IntegerVector', desc='lengths for loop A'),
6947  Option( 'fragBlength', 'IntegerVector', desc='lengths for loop B'),
6948  Option( 'known', 'Integer', desc='length of known interior region'),
6949  Option( 'fragAnative', 'String', desc='native loop A pdb file', default=""),
6950  Option( 'fragBnative', 'String', desc='native loop B pdb file', default=""),
6951  Option( 'gridligpath', 'String', desc='path to gridlig file', default=""),
6952  Option( 'debug', 'Boolean', desc='dump CapHitB pdbs', default="false"),
6953  Option( 'ca_ratio', 'Real', desc='fraction of C-alphas required in active site grid', default='0.5'),
6954  Option( 'distance_tolerance', 'Real', desc='distance cutoff for pairwise Real6 x,y,z comparisons', default='5.0'),
6955  Option( 'euler_tolerance', 'Real', desc='angle cutoff for pairwise Real6 euler angle comparisons', default='15.0'),
6956  Option( 'num_frags', 'Integer', desc='number fragments to pick per frame in library',default='4500'),
6957  Option( 'use_fraglib', 'String', desc='fragment library to use instead of vall database'),
6958  Option( 'use_fraglibsc','String', desc='fragment library to use instead of vall database with sidechain torsions specified'),
6959  Option( 'com_in_grid', 'Boolean', desc='cap center-of-mass required to lie in placement grid', default="false"),
6960  Option( 'loud', 'Boolean', desc='loud output?',default="false"),
6961  Option( 'dump_all_As', 'Boolean', desc='dump passing As',default="false"),
6962  Option( 'dump_all_Bs', 'Boolean', desc='dump passing Bs',default="false"),
6963  Option( 'caphit_rt_file', 'String', desc='name of CapHit_RT or filtered CapHitRT file')
6964  ), #-loodo
6965 
6966  # options for my inv_kin_lig_loop_design program.
6967  Option_Group( 'murphp',
6968  Option( 'inv_kin_lig_loop_design_filename', 'String', desc='input filename to be used for inv_kin_lig_loop_design' ),
6969  ),
6970 
6971  Option_Group( 'peptide_deriver',
6972  Option( 'pep_lengths', 'IntegerVector', desc = 'Length(s) of derived peptides', default = [ '10' ] ),
6973  Option( 'skip_zero_isc', 'Boolean', desc = 'Makes derivation go faster by skipping peptides with 0 interface score', default = 'true' ),
6974  Option( 'dump_peptide_pose', 'Boolean', desc = 'Output pose with peptide cut out (best one for each chain pair)', default = 'false' ),
6975  Option( 'dump_cyclic_poses', 'Boolean', desc = 'Output each cyclic peptide pose (those that are modeled; which is determined by -optimize_cyclic_threshold)', default = 'false' ),
6976  Option( 'dump_prepared_pose', 'Boolean', desc = 'Output each receptor-partner pose as Peptiderive sees it, i.e. after preparation (minimization and disulfide detection)', default = 'false' ),
6977  Option( 'dump_report_file', 'Boolean', desc = 'Send PeptideDeriver output to a file (<input_name>.peptiderive.txt)', default = 'true' ),
6978  Option( 'restrict_receptors_to_chains', 'StringVector', desc = 'Only use chains listed here as receptors. When empty, consider all chains.', default = [] ),
6979  Option( 'restrict_partners_to_chains', 'StringVector', desc = 'Only use chains listed here as partners. When empty, consider all chains. For each receptor-partner pair, a peptide is derived from the partner.', default = [] ),
6980  Option( 'do_minimize', 'Boolean', desc = 'Perform minimization before everything.', default = 'true' ),
6981  Option( 'optimize_cyclic_threshold', 'Real', desc = 'Choose value of peptide interface score percent of total isc from which to optimize cyclic peptide', default = '0.35' ),
6982  Option( 'report_format', 'String', desc = 'The format of the report. Either \'basic\' (easily parsable format) or \'markdown\' (pretty, readable, but verbose format).', default = 'markdown' ),
6983  Option( 'report_gzip', 'Boolean', desc = 'Gzip report file (only if -dump_report_file is enabled)', default = 'false' ),
6984  ), # peptide_deriver
6985 
6986  ## these are just temporary for hacking/debugging -- if they conflict with something else let me know and
6987  ## I can get rid of them
6988  ## -Phil
6989  Option_Group( 'phil',
6990  #Option( 'nstruct', 'Integer', default='10'),
6991  Option( 'nloop', 'Integer', default='10'),
6992  Option( 'vall_file', 'String'),
6993 # Option( 'align_file', 'String'),
6994  ), # phil
6995 
6996  ##options for Robert
6997  #Option_Group('Robert',
6998  # Option( 'score', 'Boolean', default='true'),
6999  # ),
7000  ## options for my pilot apps. Only the best for Robert!
7001  ## Robert
7002  Option_Group( 'robert',
7003  Option( 'pairdata_input_pdb_list', 'String', default='', desc="Takes in a file containing a list of pdb locations paired with protocol specific data (eg: one disulfide pair)"),
7004  Option( 'pcs_maxsub_filter', 'Real', default='0.9', desc="minimum normalized maxsub for PCS clustering protocol"),
7005  Option( 'pcs_maxsub_rmsd', 'Real', default='4.0', desc="maxsub calculation's rmsd threshold"),
7006  Option( 'pcs_dump_cluster', 'Boolean', default = 'false'),
7007  Option( 'pcs_cluster_coverage', 'Real', default='0.3', desc="cluster coverage required"),
7008  Option( 'pcs_cluster_lowscoring', 'Boolean', default = 'true', desc="cluster lowest 20% against lowest 50%"),
7009  ),
7010 
7011  ###############################################################################
7012  ## rotamer analysis options (chrisk)
7013  Option_Group( 'rot_anl',
7014  Option( 'tag', 'String', desc="nametag", default='.' ),
7015 
7016 # Option( 'premin', 'Boolean', desc="do all sc min and dump pdb", default='false' ),
7017  Option( 'min', 'Boolean', desc="do sc min", default='false' ),
7018 # Option( 'diff_to_min', 'Boolean', desc="native pose is post-min", default='false' ),
7019  Option( 'repack', 'Boolean', desc="", default='false' ),
7020  Option( 'rtmin', 'Boolean', desc="", default='false' ),
7021  Option( 'scmove', 'Boolean', desc="", default='false' ),
7022  Option( 'design', 'Boolean', desc="", default='false' ),
7023 
7024 # Option( 'score_tol', 'Real', desc="score filter for dump_pdb", default='1.0' ),
7025 # Option( 'rmsd_tol', 'Real', desc="rmsd filter for dump_pdb", default='1.0' ),
7026  Option( 'dump_pdb', 'Boolean', desc="dump_pdb when pass thresh", default='false' ),
7027  Option( 'nloop_scmove', 'Integer', desc="base of scmover loop (total=nloop^n_chi)", default='9' ),
7028  ), # -rot_anl
7029 
7030  Option_Group( 'smhybrid',
7031  Option( 'add_cavities', 'Boolean',desc="output cavities in result pdbs", default="false" ),
7032  Option( 'abinitio_design', 'Boolean',desc="do a design run in centroid mode", default="true" ),
7033  Option( 'fa_refine', 'Boolean',desc="Do nobu's flxbb", default="true" ),
7034  Option( 'virtual_nterm', 'Boolean',desc="remove Nterm", default="false" ),
7035  Option( 'debug', 'Boolean',desc="debug", default="false" ),
7036  Option( 'refine', 'Boolean',desc="don't do bit centroid moves", default="false" ),
7037 # Option( 'filter', 'Boolean',desc="filter centroid results as you go", default="false" ),
7038 # Option( 'floating_scs_rep', 'Boolean',desc="should floating scs repel those in other subunits?", default="false" ),
7039 # Option( 'flxbb', 'Boolean',desc="allow bb moves in minimization", default="false" ),
7040  Option( 'centroid_all_val', 'Boolean',desc="mutate all to VAL in centroid mode", default="false" ),
7041  Option( 'subsubs_attract' , 'Boolean',desc="attract subsubs togeher", default="false" ),
7042  Option( 'linker_cst' , 'Boolean',desc="attract N/C termini for linker", default="false" ),
7043  Option( 'pseudosym' , 'Boolean',desc="HACK pseudosymmetry", default="false" ),
7044  Option( 'design_linker' , 'Boolean',desc="allow design on added 'linker' residues", default="true" ),
7045  Option( 'design' , 'Boolean',desc="allow design on added 'linker' residues", default="true" ),
7046  Option( 'restrict_design_to_interface','Boolean',desc="allow design on added 'linker' residues", default="false" ),
7047  Option( 'restrict_design_to_subsub_interface','Boolean',desc="allow design on added 'linker' residues", default="false" ),
7048  Option( 'design_hydrophobic','Boolean',desc="design all hydrophobic", default="false" ),
7049  Option( 'add_metal_at_0' , 'Boolean',desc="DEPRECATED", default="false" ),
7050  Option( 'nres_mono', 'Integer',desc="target number of residues per monomer", default="20" ),
7051  Option( 'abinitio_cycles', 'Integer',desc="number of abinitio cycles", default="10000" ),
7052  Option( 'primary_subsubunit','Integer' ,desc="primary subunut", default="1" ),
7053  Option( 'minbb' ,'Integer' ,desc="level of bb min 0=None 1=little 2=all", default="1" ),
7054  Option( 'switch_concert_sub','Integer' ,desc="assume prmary subsub is on this subunit for concerted RB moves", default="1" ),
7055  Option( 'temperature' ,'Real' ,desc="MC temp for cen fold", default="2.0" ),
7056  Option( 'inter_subsub_cst' ,'Boolean' ,desc="add dis csts inter-subsub", default="false" ),
7057  Option( 'rb_mag' ,'Real' ,desc="magnitude of rb moves", default="1.0" ),
7058 # Option( 'ss', 'String' ,desc="secondary structure", default="" ),
7059  Option( 'symm_def_template', 'File',desc="template for symmetry definition file" ),
7060  Option( 'symm_def_template_reduced', 'File',desc="template for reduced symmetry definition file" ),
7061  Option( 'attach_as_sc', 'IntegerVector',desc="attach the group via side chain" ),
7062  Option( 'attach_as_sc_sub', 'IntegerVector',desc="attach the group via side chain in this sub" ),
7063 # Option( 'inversion_subs', 'IntegerVector',desc="subunits to be inverted, if any" ),
7064  Option( 'chainbreaks', 'BooleanVector',desc="close chainbreak from this subsub to the next" ),
7065  Option( 'design_res_files', 'StringVector',default='""',desc="files containing designable residues for each component pose" ),
7066  Option( 'fixed_res_files', 'StringVector',default='""',desc="files containing fixed residues (no repack even) for each component pose" ),
7067  Option( 'frag_res_files', 'StringVector',default='""',desc="files containing residues ok to insert frags into. will have starting ss" ),
7068  Option( 'scattach_res_files','StringVector',default='""',desc="files containing residues ok to scattach to." ),
7069  Option( 'rep_edge_files','StringVector',default='""',desc="files containing residues which are edge strands." ),
7070  Option( 'virtual_res_files' ,'StringVector',default='""',desc="files containing residues that should be virtual" ),
7071  Option( 'jumpcut_files', 'StringVector',default='""',desc="file specifying jumps and cuts for subsubunits" ),
7072  Option( 'cst_sub_files', 'StringVector',default='""',desc="file specifying which subunits are part of a structural unit and shoudl be constrained"),
7073  Option( 'symm_file_tag', 'StringVector',default='""',desc="label for each subunit" ),
7074  Option( 'attach_atom', 'StringVector',default='""',desc="attach atom on each subunit" ),
7075  Option( 'add_res_before', 'StringVector',default='""',desc="SS to add before each subunit region" ),
7076  Option( 'add_res_after', 'StringVector',default='""',desc="SS to add after each subunit region" ),
7077  Option( 'add_ss_before', 'StringVector',default='""',desc="residues to add" ),
7078  Option( 'add_ss_after', 'StringVector',default='""',desc="SS to add after each subunit region" ),
7079  Option( 'add_atom_at_cen', 'StringVector',default='""',desc="SS to add after each subunit region" ),
7080  Option( 'attach_rsd', 'StringVector',default='""',desc="attach rsd on each subunit" ),
7081  ), # -smhybrid
7082 
7083  # thread side-chains tools (barak) -----------------------------------------------------------
7084  Option_Group( 'threadsc',
7085  Option('src_chain', 'String',
7086  short='Chain of source pdb',
7087  desc='Chain of source pdb'
7088  ),
7089  Option('trg_chain', 'String',
7090  short='Chain of target pdb',
7091  desc='Chain of target pdb'
7092  ),
7093  Option('src_first_resid', 'Integer',
7094  short='Residue id of first residue in source pdb range',
7095  desc='Residue id of first residue in source pdb range'
7096  ),
7097  Option('trg_first_resid', 'Integer',
7098  short='Residue id of first residue in source pdb range',
7099  desc='Residue id of first residue in source pdb range'
7100  ),
7101  Option('nres', 'Integer',
7102  short='Number of residues to be threaded',
7103  desc='Number of residues to be threaded'
7104  ),
7105  Option('trg_anchor', 'Integer',
7106  short='anchor residue for backbone threading',
7107  desc='anchor residue for backbone threading',
7108  ),
7109  ), # threadsc
7110 
7111  ###############################################################################
7112  ## (yab) ufv sandbox options
7113  Option_Group( 'ufv',
7114  Option( 'left', 'Integer', desc="left endpoint" ),
7115  Option( 'right', 'Integer', desc="right endpoint" ),
7116  Option( 'ss', 'String', desc="secondary structure string" ),
7117  Option( 'aa_during_build', 'String', desc="amino acid string during centroid build" ),
7118  Option( 'aa_during_design_refine', 'String', desc="amino acid string during design-refine" ),
7119  Option( 'keep_junction_torsions', 'Boolean', desc="when rebuilding loops, keep (approx) the original torsions at the junctions of the loop endpoints", default='false' ),
7120  Option( 'ufv_loops', 'File', desc="use this multiple loop file in place of specifying single loop options on command line" ),
7121  Option( 'use_fullmer', 'Boolean', desc="use full-mer fragments when building loop", default='false' ),
7122  Option( 'centroid_loop_mover', 'String', desc="the centroid loop mover to use", default='RemodelLoopMover' ),
7123  Option( 'no_neighborhood_design', 'Boolean', desc="only repack the neighborhood of the loop, don't design", default='false' ),
7124  Option( 'dr_cycles', 'Integer', desc="design-refine cycles", default='3' ),
7125  Option( 'centroid_sfx', 'String', desc="filename of the centroid score function to use," ),
7126  Option( 'centroid_sfx_patch', 'String', desc="filename of the centroid score function patch to use," ),
7127  Option( 'fullatom_sfx', 'String', desc="filename of the full-atom score function to use" ),
7128  Option( 'fullatom_sfx_patch', 'String', desc="filename of the full-atom score function patch to use" ),
7129 
7130  Option_Group( 'insert',
7131  Option( 'insert_pdb', 'File', desc="pdb of insert structure" ),
7132  Option( 'attached_pdb', 'File', desc="pdb of structure in rigid body relationship with insert structure" ),
7133  Option( 'connection_scheme', 'String', desc="enforce type of insertion: choose either n2c or c2n" ),
7134  ), # -ufv:insert
7135  ), # -ufv
7136 
7137  Option_Group( 'willmatch',
7138 # Option( 'arg_dun_th', 'Real', desc='fa_dun thresh for ARG', default='16.0' ),
7139 # Option( 'asp_dun_th', 'Real', desc='fa_dun thresh for ASP', default='8.0' ),
7140 # Option( 'glu_dun_th', 'Real', desc='fa_dun thresh for GLU', default='12.0' ),
7141 # Option( 'lys_dun_th', 'Real', desc='fa_dun thresh for LYS', default='16.0' ),
7142 # Option( 'usecache', 'Boolean', desc='use cached stage 1 data', default='false' ),
7143  Option( 'write_reduced_matchset', 'StringVector',desc="<name> <pdb1> <pdb2> ..."),
7144  Option( 'interface_size', 'Real',desc="num CB-CB within 8A",default='30'),
7145  Option( 'max_dis_any', 'Real',desc="",default='3.0'),
7146  Option( 'max_dis_all', 'Real',desc="",default='2.6'),
7147  Option( 'max_dis_hb', 'Real',desc="",default='3.2'),
7148  Option( 'min_dis_hb', 'Real',desc="",default='2.2'),
7149  Option( 'max_dis_hb_colinear', 'Real',desc="",default='0.7'),
7150  Option( 'max_dis_metal','Real',desc="",default='1.0'),
7151  Option( 'max_ang_metal','Real',desc="",default='5.0'),
7152  Option( 'clash_dis', 'Real',desc="",default='3.5'),
7153  Option( 'c2_linker_dist', 'Real',desc="",default='3.5'),
7154  Option( 'identical_match_dis', 'Real',desc="",default='0.0001'),
7155  Option( 'chi1_increment', 'Real',desc="",default='10.0'),
7156  Option( 'chi2_increment', 'Real',desc="",default='20.0'),
7157  Option( 'c2_symm_increment', 'Real',desc="",default='20.0'),
7158  Option( 'cb_sasa_thresh', 'Real',desc="",default='20.0'),
7159  Option( 'design_interface', 'Boolean',desc="", default="true" ),
7160  Option( 'chilist', 'File',desc="" ),
7161  Option( 'fixed_res', 'File',desc="" ),
7162  Option( 'native1', 'File',desc="" ),
7163  Option( 'native2', 'File',desc="" ),
7164  Option( 'exclude_res1', 'File',desc="",default="" ),
7165  Option( 'exclude_res2', 'File',desc="",default="" ),
7166  Option( 'taglist', 'File',desc="" ),
7167  Option( 'residues', 'IntegerVector',desc="" ),
7168  Option( 'symmetry_d2', 'Boolean', desc="", default='false'),
7169  Option( 'symmetry_c2_dock', 'Boolean', desc="", default='false'),
7170  Option( 'splitwork', 'IntegerVector', desc=""),
7171  Option( 'exclude_ala', 'Boolean', desc="", default="false"),
7172  Option( 'match_overlap_dis','Real',desc="distance under which to consider matches redundant",default='00.20'),
7173  Option( 'match_overlap_ang','Real',desc="ang(deg) under which to consider matches redundant",default='10.00'),
7174  Option( 'forbid_residues', 'IntegerVector',desc="disallow residues for matching" ),
7175  Option( 'poi', 'RealVector',desc="xyz coords of some site of interest" ),
7176  Option( 'poidis', 'Real',desc="poi distance threshold" ),
7177  Option( 'homodimer', 'Boolean', desc="examine only homodimer configs", default="false"),
7178  Option( 'fa_dun_thresh','Real',desc="",default='6.0'),
7179 
7180  # Option( 'filterdist' ,'Real' ,desc="MC temp for cen fold", default="2.0" ),
7181  ), #-willmatch
7182 
7183 ) # end options