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( "prevent_auto_setup_metal_bb_variants", "Boolean", desc="When automatically setting up metals, in cases where there is a bond detected "
195  "between a metal and a backbone heavyatom (e.g. a backbone carbonyl oxygen), by default Rosetta will set up bonded variant "
196  "types for the current residue and for all orther residue types with an equivalent backbone heavyatom, to permit mutations. "
197  "Setting this flag to true prevents this. False by default.",
198  legal=["true","false"], default="false"),
199  Option( "metals_detection_LJ_multiplier", "Real", desc="When -auto_setup_metals is used, overlap between metal atoms and "
200  "metal-binding atoms is used as the criterion by which covalent bonds are detected. The Lennard-Jones radii of the "
201  "atoms can be multiplied by a constant factor in order to detect longer bonds to metal ions. Default 1.0.",
202  default="1.0" ),
203  Option( "metals_distance_constraint_multiplier", "Real", desc="Distances between metals and metal-binding atoms are constrained "
204  "using harmonic potentials, scaled by this multiplier. Default 1.0. Set to 0.0 to skip adding distance constraints.",
205  default="1.0" ),
206  Option( "metals_angle_constraint_multiplier", "Real", desc="Angles between metals, metal-binding atoms, and metal-binding atom parents "
207  "are constrained using circular harmonic potentials, scaled by this multiplier. Default 1.0. "
208  "Set to 0.0 to skip adding angle constraints.",
209  default="1.0" ),
210 
211  # Other input options -------------------------------------------------
212  Option("name3_property_codes", "StringVector",
213  desc="File that describes name3-property correspondence to fix up atom assignments", default='utility::vector1<std::string>(1,"code_properties.codes")' ),
214  Option("alternate_3_letter_codes", "StringVector",
215  desc="Specify the filename(s) of (a) *.codes files that includes "
216  "a list of alternative 3-letter codes. "
217  "The default directory is "
218  "database/input_output/3-letter_codes/ but any path can be "
219  "provided. "
220  "Duplicate codes in successive files will overwrite previous "
221  "ones.",
222  short="Specify (a) *.codes file(s) of alternate 3-letter codes."),
223  Option( 'fix_disulf', 'File',
224  desc="Specify disulfide connectivity via a file. Disulfides are specified as two whitespace-separated "
225  "residue indices per line. This option replaces the old '-run:fix_disulf' option.", ),
226 
227  Option( 'missing_density_to_jump', 'Boolean',
228  desc='If missing density is found in input pdbs, replace with a jump',
229  default = 'false'),
230 
231  Option( 'target_residues', 'IntegerVector', desc = 'which residue numbers to pass for getDistConstraints' ),
232  Option( 'replonly_residues', 'IntegerVector', desc = 'residue numbers regarded as repulsive-only residues' ),
233  Option( 'replonly_loops', 'Boolean', desc = 'all loops will be regarded as repulsive-only', default='false' ),
234  Option( 'use_database', 'Boolean',
235  desc="Read in structures from database. Specify database via -inout:dbms:database_name and wanted "
236  "structures with -in:file:tags or select_structures_from_database"),
237 
238 # Option( 'database_protocol', 'Integer', desc="Database to use when reading in structures", default="1"),
239  Option( 'select_structures_from_database', 'StringVector',
240  desc="specify an SQL query to determine which structures get read in from a database specified with "
241  "-inout:dbms:database_name. SELECT query must return structures.tag"),
242  # Database options
243  Option_Group( 'dbms',
244  Option( 'struct_ids', 'StringVector',
245  desc="List of struct_ids (hex representation) to be used by the database job inputter"),
246  ),
247  Option_Group( 'path',
248  Option( 'path', 'PathVector',
249  desc="Paths to search for input files (checked after type-specific paths)",
250  default="." ),
251  Option( 'fragments', 'PathVector', desc="Fragment file input search paths", oldName='frag_dir' ),
252  Option( 'pdb', 'PathVector', desc="PDB file input search paths" ),
253  Option( 'database', 'PathVector',
254  desc="Database file input search paths. If the database is not found the ROSETTA3_DB environment "
255  "variable is tried."),
256  Option( 'database_cache_dir', 'Path',
257  desc="Which directory to use when caching processed database files."),
258  ), # in:path
259 
260  # File options --------------------------------------------------------
261  Option_Group( 'file',
262  Option( 'file', 'Boolean', desc="Input file option group", legal='true', default='true' ),
263  Option( 's', 'FileVector', desc="Name(s) of single PDB file(s) to process", default=[] ),
264  Option( 't', 'FileVector', desc="Name(s) of second PDB file(s) to process (pairs with -s)" ),
265  Option( 'l', 'FileVector', desc="File(s) containing list(s) of PDB files to process" ),
266  Option( 'list', 'FileVector',
267  desc="File(s) containing list(s) of PDB files. PDBs on the same line become one pose" ),
268  Option( 'screening_list','FileVector',
269  desc="Files containing lists of PDB files. all permutations of the files in the list become poses"),
270  Option( 'screening_job_file','File',
271  desc="A JSON file containing groups of ligands and proteins to screen"),
272  Option( 'shuffle_screening_jobs','Boolean',desc="Randomize the order of jbos input through -in:file:screening_job_file",default='false'),
273  Option( 'native', 'File', desc="Native PDB filename"),
274  Option( 'torsion_bin_probs', 'File',
275  desc="File describing probabilities over torsion bins A,B,E,G,O",
276  default="empty"
277  ),
278  Option( 'PCS_frag_cst', 'File', desc="File that containts PCS constraints for use in fragment picking"),
279  Option( 'talos_phi_psi', 'File', desc="File that provides Phi-Psi angles in Talos+ format"),
280  Option( 'talos_cs', 'File', desc="File that provides chemical shifts in Talos format"),
281  Option( 'ambig_talos_cs_A', 'File',
282  desc="File that provides 1st set of ambigious chemical shift options in Talos format"),
283  Option( 'ambig_talos_cs_B', 'File',
284  desc="File that provides 2nd set of ambigious chemical shift options in Talos format"),
285  Option( 'native_exclude_res', 'IntegerVector',
286  desc="Residue numbers to be excluded from RMS calculation" ),
287  Option( 'tags', 'StringVector', desc="Tag(s) of structures to be used from silent-file"),
288  Option( 'user_tags', 'StringVector', desc="user_tag(s) of structures to be used from silent-file"),
289  Option( 'tagfile', 'File',
290  desc='file with list of tags to be resampled from file given with in:resample:silent',
291  default='TAGS' ),
292  Option( 'frag_files', 'FileVector', desc="Fragment input file names", default=[] ),
293 # Option( 'frag_sizes', 'IntegerVector', desc="Fragment file sizes" ),
294  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." ),
295  Option( 'extra_res', 'FileVector', desc=".params file(s) for new residue types (e.g. ligands)" ),
296  Option( 'extra_res_fa', 'FileVector',
297  desc=".params file(s) for new fullatom residue types (e.g. ligands)", default=[] ),
298  Option( 'extra_res_mol', 'FileVector',
299  desc=".mol file(s) for new fullatom residue types (e.g. ligands)"),
300  Option( 'extra_res_mmCIF', 'FileVector',
301  desc=".mmCIF file(s) for component dictionary for residue types (e.g. ligands)"),
302  Option( 'load_PDB_components', 'Boolean',
303  desc="Use the PDB ligand definitions to load all standard residue descriptions."),
304  Option( 'PDB_components_file', 'String',
305  default="chemical/components.cif",
306  desc="The CIF file from which to load the PDB component definitions. "
307  "(An example can be found at http://www.wwpdb.org/data/ccd"),
308  Option( 'extra_res_database', 'String',
309  desc="the name of a database containing fullatom residue types (e.g. ligands)"),
310  Option( 'extra_res_pq_schema', 'String',
311  desc="the name of a postgreSQL schema in the database containing fullatom residue types "
312  "(e.g. ligands)",
313  default=""),
314  Option( 'extra_res_database_mode', 'String',
315  desc="The type of database driver to use for -in:file:extra_res_database.",
316  default='sqlite3',
317  legal=["sqlite3", "mysql", "postgres"]),
318  Option( 'extra_res_database_resname_list', 'File',
319  desc="Path to a list of residue names to be read in from the residue database. "
320  "The list should have one residue name per line"),
321  Option( 'extra_res_cen', 'FileVector',
322  desc=".params file(s) for new centroid residue types (e.g. ligands)" ),
323  Option( 'extra_res_path', 'PathVector',
324  desc="directories with .params files. Only files containing 'param' will be chosen" ),
325  Option( 'extra_rot_lib_path', 'PathVector',
326  desc="directories with NCAA rotamer files." ),
327  Option( 'override_rot_lib_path', 'PathVector',
328  desc="if rotamer libraries are found in this directory, prioritize them and not others" ),
329  Option( 'extra_res_batch_path', 'PathVector',
330  desc="directories generated by src/python/apps/public/batch_molfile_to_params.py. "
331  "Only files containing 'param' will be chosen"),
332  Option( 'extra_patch_fa', 'FileVector',
333  desc="patch files for full atom variants not specified in the database" ),
334  Option( 'extra_patch_cen', 'FileVector',
335  desc="patch files for centroid atom variants not specified in the database" ),
336  Option( 'frag3', 'String' ),
337  Option( 'frag9', 'String' ),
338  Option( 'fragA', 'String' ),
339  Option( 'fragB', 'String' ),
340  Option( 'surface_vectors', 'String' , desc="Input file containing three sets of xyz coordinates which define the plane and periodicity of the solid surface"),
341  Option( 'xyz', 'String',desc="Input coordinates in a raw XYZ format (three columns)" ),
342 # Option( 'fragA_size', 'Integer', default = '9' ),
343  ##Option( 'fragB_size', 'Integer', default = '3' ),
344  Option('keep_input_scores', 'Boolean',
345  desc = "Keep/Don't keep scores from input file in Pose.",
346  default = 'true'
347  ),
348  Option( 'lazy_silent', 'Boolean', default = 'false', desc = 'Activate LazySilentFileJobInputter' ),
349  Option( 'silent', 'FileVector', desc = 'silent input filename(s)',default=[]),
350  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.' ),
351  Option( 'atom_tree_diff', 'FileVector', desc= 'atom_tree_diff input filename(s)'),
352  Option( 'zip', 'String', desc = 'zipped input file, used for BOINC database'),
353  Option( 'boinc_wu_zip', 'FileVector', desc = 'zipped input file with files for a specific BOINC workunit'),
354  Option( 'fullatom', 'Boolean', default = 'false',
355  desc = "Enable full-atom input of PDB or centroid structures"),
356  Option( 'centroid_input', 'Boolean', default = 'false',
357  desc = "why input in the name twice ? in:file:centroid_input Enable centroid inputs of PDBs"),
358  Option( 'centroid', 'Boolean', default = 'false', desc = "Enable centroid inputs of PDBs"),
359  Option( 'assign_gasteiger_atom_types', 'Boolean', default = 'false',
360  desc = 'Automatically assign GasteigerAtomTypes to all residues in the ResidueTypeSet' ),
361  Option( 'treat_residues_in_these_chains_as_separate_chemical_entities', 'String', default = ' ',
362  desc = "Create a chemical jump for each residue in these chains (String of 1-letter chain IDs)"),
363  Option( 'residue_type_set', 'String', desc = 'ResidueTypeSet for input files', default = 'fa_standard' ),
364  Option( 'pca', 'File', desc='compute PCA projections', default='' ),
365  Option( 'silent_energy_cut', 'Real', default = '1.0', desc = 'energy cut for silent-files' ),
366  Option( 'silent_list', 'FileVector', desc = 'Silent input filename list(s) - like -l is to -s '),
367  Option('silent_renumber', 'Boolean', desc ='renumber decoys in not_universal_main or not', default='false'),
368 # Option( 'silent_optH', 'Boolean', desc="Call optH when reading a silent file"),
369  Option('silent_struct_type', 'String',
370  desc='Type of SilentStruct object to use in silent-file input',
371  default='protein'
372  ),
373  Option( 'silent_read_through_errors','Boolean', default='false',
374  desc="will ignore decoys with errors and continue reading"),
375  Option('silent_score_prefix', 'String',
376  desc='Prefix that is appended to all scores read in from a silent-file',
377  default=''
378  ),
379  Option('silent_select_random', 'Integer',
380  desc='Select a random subset of this number of decoys from every silent-file read',
381  default = '0'
382  ),
383  Option( 'silent_select_range_start', 'Integer',
384  desc='Select a ranged subset of decoys from every silent-file read. Start at this decoy.',
385  default = '-1'),
386  Option( 'silent_select_range_mul', 'Integer',
387  desc='Select a blocksize multiplier. This param pasically multiplies -silent_select_range_start. '
388  'E.g. when set to, say, 5, -silent_select_range_start 0,1,2,3,4 will result in decoys '
389  'being read starting from 0,5,10,15,20',
390  default = '1'),
391  Option( 'silent_select_range_len', 'Integer',
392  desc='Select a ranged subset of decoys from every silent-file read. Start at this decoy.',
393  default = '1'),
394  Option( 'skip_failed_simulations', 'Boolean', default = 'false',
395  desc = 'Ignore failed simulations (prefixed by W_) during silent file input. Existing behavior is '
396  'preserved by default.'),
397  Option('silent_scores_wanted', 'StringVector',
398  desc = 'Only put these silent-scores into the Pose.',
399  ),
400  Option( 'fasta', 'FileVector', desc="Fasta-formatted sequence file" ),
401  Option( 'pssm', 'FileVector', desc="NCBI BLAST formatted position-specific scoring matrix" ),
402  Option( 'seq', 'StringVector', desc="List of input files for constructing sequences" ),
403  Option( 'checkpoint', 'File', desc="Sequence profile (flat text file format) prepared by NCBI BLAST" ),
404  Option( 'binary_chk', 'File', desc="Sequence profile (binary file format) prepared by NCBI BLAST" ),
405  Option( 'alignment', 'FileVector', desc='Input file for sequence alignment' ),
406  Option( 'alignment2','FileVector', desc='Input file for second sequence alignment '),
407  Option( 'rama2b_map', 'File', default = 'scoring/score_functions/rama/Rama08.dat',
408  desc="Ramachandran file used by rama2b" ),
409  Option( 'psipred_ss2','File', desc='psipred_ss2 secondary structure definition file', default='tt' ),
410  Option( 'dssp','File', desc='dssp secondary structure definition file', default='tt' ),
411  Option( 'fail_on_bad_hbond', 'Boolean', desc ='exit if a hydrogen bonding error is detected',
412  default = 'true'),
413  Option( 'movemap', 'File', default = 'default.movemap' ),
414  Option( 'repair_sidechains', 'Boolean',
415  desc='Attempt a repack/minmize to repair sidechain problems, such as proline geometry and His '
416  'tautomerization',
417  default = 'false' ),
418  Option( 'no_binary_dunlib', 'Boolean',
419  desc='Do not attempt to read from or write to a binary file for the Dunbrack library' ),
420  Option( 'extended_pose', 'Integer', desc='number of extended poses to process in not_universal_main',
421  default='1' ),
422  Option( 'template_pdb', 'FileVector', desc = 'Name of input template PDB files for comparative modeling' ),
423  Option( 'template_silent', 'File',
424  desc='input templates for comparative modeling -- tag needs to fit alignment id' ),
425  Option( 'rdc', 'FileVector',
426  desc='Experimental NMR Residual Dipolar Coupling File --- one file per alignment medium' ),
427  Option( 'csa', 'FileVector', desc='Experimental NMR Chemical Shift Anisotropy File' ),
428  Option( 'dc', 'FileVector', desc='Experimental NMR Dipolar Coupling File' ),
429  Option( 'burial', 'FileVector', desc='WESA-formatted burial prediction' ),
430  Option( 'vall', 'FileVector', desc='Fragment database file, e.g vall.dat.2006-05-05',
431  default='/sampling/filtered.vall.dat.2006-05-05' ),
432  Option( 'rescore', 'Boolean',
433  desc='Governs whether input poses are rescored or not in not_universal_main, defaults to false.',
434  default='false' ),
435 
436  ## Input Membrane Options
437  ## Last Modified: 1/12/14 - Old RosettaMembrane Option System
438  ## Author: Rebecca Alford
439  Option('spanfile', 'String', desc='Membrane spanning file'),
440  Option('lipofile', 'String', desc='Membrane exposure file'),
441 
442  Option('HDX', 'String', desc='HDX (Hydrogen exchange data file'),
443  Option('d2h_sa_reweight', 'Real', desc='d2h_sa reweight', default ='1.00'),
444  Option( 'sucker_params', 'File',
445  desc="Parameter file containing SplineEnergy parameters",
446  default='scoring/spline_energy_functions/sucker.params'),
447  Option( 'fold_tree', 'File',
448  desc="User defined fold tree to be imposed on the pose after reading from disk" ),
449  Option( 'obey_ENDMDL', 'Boolean',
450  desc='Stop reading a PDB after ENDMDL card; '
451  'effectively read only first model in multimodel NMR PDBs',
452  default='false'),
453  Option( 'new_chain_order', 'Boolean',\
454  desc='ensures chain from different MODEL records have differnet mini chains',
455  default='false'),
456  Option( 'ddg_predictions_file', 'File',
457  desc='File that contains mutational ddG information. Used by ddG task operation/filter.',
458  default=''),
459  Option( 'input_res', 'ResidueChainVector', desc='Residues already present in starting file',default=[]),
460  Option( 'minimize_res', 'IntegerVector', desc='Residues to minimize',default=[]),
461  Option( 'md_schfile', 'String', desc='File name containing MD schedule'),
462  Option("read_pdb_link_records", "Boolean",
463  desc='Sets whether or not the LINK records in PDB files are read. '
464  'The default value is false.',
465  short="Read LINK records?",
466  legal=["true", "false"],
467  default="false"),
468  Option( 'native_contacts', 'File',
469  desc='native contacts pair list for fnat/fnon-nat calculation in Docking'),
470  ), # in:file
471 
472  # RDF options ---------------------------------------------------------
473  Option_Group( 'rdf',
474  Option( 'sep_bb_ss', 'Boolean',
475  desc='separate RDFs by SS for backbone atypes ',
476  default = 'true'
477  ),
478  ), # in:rdf
479 
480  ), # in
481 
482  # Input+Output options --------------------------------------------------------------------------------------------
483  Option_Group( 'inout',
484  Option( 'inout', 'Boolean', desc="Ouput option group", legal='true', default='true' ),
485  Option( 'fold_tree_io', 'Boolean', desc="Ignore 'CHECKPOINT' file and the overwrite the PDB file(s)" ),
486  Option( 'skip_connect_info', 'Boolean',
487  desc="If true, skips writing CONECT information in PDB files. False by default (writes CONECT records).",
488  default='false' ),
489  Option( 'write_all_connect_info', 'Boolean',
490  desc="By default, CONECT information is written for all noncanonicals and HETATMs, except waters. If this flag is set to true, it will"
491  " be written for ALL residues, subject to the distance cutoff (-inout:connect_info_cufoff) and overridden by -inout:skip_connect_info.",
492  default='false' ),
493  Option( 'connect_info_cutoff', 'Real',
494  desc="The atom separation cutoff above which bonded atoms have explicit CONECT records written so "
495  "that programs like PyMOL know the atomic connectivity. Default 0.0 Angstroms (write all records).",
496  default='0.0' ),
497 
498  # Relational database options -----------------------------------------
499  Option_Group('dbms',
500  Option('dbms', 'Boolean', desc="database option group", legal='true', default='true'),
501  Option('mode', 'String',
502  desc="Which backend to use by default for database access. Note, usage of 'mysql' requires "
503  "building with 'extras=mysql' and usage of 'postgres' requires building with "
504  "'extras=postgres'",
505  legal=["sqlite3", "mysql", "postgres"],
506  default='sqlite3'),
507  Option('database_name', 'String',
508  desc="name of the database. For sqlite3 databases this is a path in the file system usually with "
509  "the '.db3' extension."),
510  Option('pq_schema', 'String',
511  desc="For posgres databases, specify the default schema with the database. "
512  "For PostgreSQL database, schemas are like namespaces.",
513  default=""),
514  Option('host', 'String', desc="default hostname of database server"),
515  Option('user', 'String', desc="default username for database server access"),
516  Option('password', 'String', desc="default password for database server access"),
517  Option('port', 'Integer', desc="default port for database server access"),
518  Option('readonly', 'Boolean', desc="open sqlite3 database in read-only mode by default", default='false'),
519  Option('separate_db_per_mpi_process', 'Boolean',
520  desc="In MPI mode, open a separate sqlite3 database for each process with extension _<mpi_rank> "
521  "and write partitioned schema to that database.",
522  default='false'),
523  Option('database_partition', 'Integer',
524  desc="Open a sepearte sqlite3 database with the extension _<partition> and write a partitioned "
525  "schema to that database.",
526  default='-1'),
527  Option('use_compact_residue_schema', 'Boolean',
528  desc="Store all the atoms for a residue in a binary silent file style blob. Sacrifices "
529  "analyzability for scalability. If you don't know if you want this you probably don't.",
530  default='false'),
531  Option( 'retry_failed_reads','Boolean',desc="If a database read fails for an unknown reason, try again several times before giving up",default='false'),
532  Option( 'path', 'Path', desc = "Directory the database should be read from or exported to.", default="."),
533 
534  ), # inout:dbms
535  ), # inout
536 
537  # Output options --------------------------------------------------------------------------------------------------
538  Option_Group( 'out',
539  Option( 'out', 'Boolean', desc="Ouput option group", legal='true', default='true' ),
540  Option( 'overwrite', 'Boolean', desc="Ignore 'CHECKPOINT' file and the overwrite the PDB file(s)" ),
541  Option( 'nstruct', 'Integer', desc="Number of times to process each input PDB", default="1" ),
542  Option( 'shuffle_nstruct', 'Integer', desc="total number of decoys to produce", default="1" ),
543  Option( 'prefix', 'String', desc="Prefix for output structure names, like old -series code", default="" ),
544  Option( 'suffix', 'String', desc="Suffix for output structure names", default="" ),
545 # Option( 'force_output_name', 'String',
546 # desc="Force output name to be this. Needed for some cluster environments." ),
547  Option( 'no_nstruct_label', 'Boolean', desc="Do not tag the first output structure with _0001",
548  default="false" ),
549  Option( 'pdb_gz', 'Boolean', desc="Compress (gzip) output pdbs", default="false", oldName="output_pdb_gz" ),
550  Option( 'pdb', 'Boolean', desc="Output PDBs", default="false" ),
551  Option( 'silent_gz', 'Boolean', desc="Use gzipped compressed output (silent run level)",
552  default="false",
553  oldName="output_silent_gz" ),
554  Option( 'membrane_pdb', 'Boolean', desc="Write out the membrane in the PDB - on/off."),
555  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."),
556 
557  # Database options ----------------------------------------------------
558  Option( 'use_database', 'Boolean',
559  desc="Write out structures to database. Specify database via -inout:dbms:database_name and wanted "
560  "structures with -in:file:tags"),
561  Option( 'database_protocol_id', 'Integer',
562  desc="Manually specify a protocol ID for database output. "
563  "MPI-distributed jobs are the only time when you will want to use this. "
564  "It is a temporary workaround to a limitation of the MPI distributor"),
565  Option( 'database_filter', 'StringVector',
566  desc="Filter to use with database output. Arguments for filter follow filter name"),
567  Option( 'resume_batch','IntegerVector',
568  desc="Specify 1 or more batch ids to finish an incomplete protocol. "
569  "Only works with the DatabaseJobOutputter. "
570  "The new jobs will be generated under a new protocol and batch ID"),
571  Option( 'nooutput', 'Boolean', desc="Surpress outputfiles", default="false"),
572  Option( 'output', 'Boolean', desc="Force outputfiles", default="false"),
573  Option( 'scorecut', 'Real',
574  desc="Only output lowest energy fraction of structures - default 1.0, i.e. output all ",
575  default="1.0"),
576  Option( 'show_accessed_options', 'Boolean',
577  desc="In the end of the run show options that has been accessed.",
578  default="false"),
579  Option( 'show_unused_options', 'Boolean',
580  desc="In the end of the run show options that were set by the user but never accessed. (Will automatically happen for JD2 protocols.)",
581  default="false"),
582  Option( 'sf', 'File', desc='filename for score output', default='score.fsc' ),
583 
584  # Tracer related options ----------------------------------------------
585  Option( 'mute', 'StringVector', desc="Mute specified Tracer channels; specify 'all' to mute all channels."),
586  Option( 'unmute', 'StringVector',
587  desc="UnMute specified Tracer channels; specify 'all' to unmute all channels."),
588  Option( 'level', 'Integer',
589  desc="Level of Tracer output, any level above will be muted. "
590  "Availible levels: 0 - fatal, 100 - error, 200 - warning, "
591  "300 - info, 400 - debug, 500 - trace. "
592  "For additional info please see: src/basic/Tracer.hh and doc "
593  "page 'Tracer, tool for debug IO'. Default output level is 'info': 300",
594  default="300" ),
595  Option( 'levels', 'StringVector',
596  desc="Specified hierarchical mute levels for individual channels in following format: -levels all:300 "
597  "core.pose:500. Numeric values could be substituted with mute level names like: debug, info, "
598  "error etc. Please note that all:<num> is synonymous to -level:<num>"),
599  Option( 'std_IO_exit_error_code', 'Integer',
600  desc="Specify error code that will be used to exit if std::IO error detected. This is useful if you "
601  "want to detect situations like: Rosetta output was redirected to a file but the disk got "
602  "full, etc. Default value is 0 which means that error detection code is turned off.",
603  default="0" ),
604  Option( 'chname', 'Boolean', desc="Add Tracer chanel names to output", default="true" ),
605  Option( 'chtimestamp', 'Boolean', desc="Add timestamp to tracer channel name", default="false" ),
606  Option( 'dry_run', 'Boolean',
607  desc="If set ComparingTracer will not generate any asserts, and save all Tracer output to a file",
608  default="false" ),
609  Option( 'mpi_tracer_to_file', 'String',
610  desc="MPI ONLY: Redirect all tracer output to this file with '_<mpi_rank>' appened as a suffix",
611  default="tracer.out" ),
612  Option( 'user_tag', 'String', desc="add this tag to structure tags: e.g., a process id", default=""),
613  Option( 'output_tag', 'String', desc="Prefix output files with this tag, if code checks for it", default=""),
614  Option( 'save_times', 'Boolean', desc="Save modeling time for each model in seconds", default='false' ),
615 
616  # File options -------------------------------------------------------
617  Option_Group( 'file',
618  Option( 'file', 'Boolean', desc="Output file option group", legal='true', default='true' ),
619  Option( 'o', 'String', desc="Name of output file" ),
620  Option( 'design_contrast', 'File', desc='output list comparing design sequence to native sequence',
621  default='redesign'),
622  Option( 'residue_type_set', 'String', desc='ResidueTypeSet for output files', default='fa_standard' ),
623 
624  # Atom_tree_diff file options -------------------------------------
625  Option( 'atom_tree_diff', 'String', desc="Use atom_tree_diff file output, use filename after this flag",
626  default="default.out" ),
627  Option( 'atom_tree_diff_bb', 'Integer',
628  desc="For atom_tree_diff output, how many digits of precision to use for backbone dihedrals",
629  default="6" ),
630  Option( 'atom_tree_diff_sc', 'Integer',
631  desc="For atom_tree_diff output, how many digits of precision to use for sidechain dihedrals",
632  default="4" ),
633  Option( 'atom_tree_diff_bl', 'Integer',
634  desc="For atom_tree_diff output, how many digits of precision to use for bond lengths",
635  default="2" ),
636 
637  # Alignment file options -----------------------------------------
638  Option( 'alignment', 'String', desc='Output file for sequence alignment', default='out.align' ),
639 
640  # Score file options -----------------------------------------------
641  Option('score_only', 'String', desc="Only output scores, no silent files or pdb files",
642  default="default.sc"),
643  Option( 'scorefile', 'String', desc="Write a scorefile to the provided filename", default="default.sc" ),
644  Option( 'scorefile_format', 'String', desc="Scorefile format: text, json", default="text" ),
645 
646  # Silent file options ----------------------------------------------
647  Option( 'silent', 'String',
648  desc="Use silent file output, use filename after this flag",
649  default="default.out" ),
650  Option( 'silent_struct_type', 'String', desc='Type of SilentStruct object to use in silent-file output',
651  default='protein'),
652  #Option( 'binary_silentfile', 'Boolean',
653  # desc="Write uuencoded binary silentfile DEPRECATED!!! USE -silent_struct_type binary instead",
654  # default='false' ),
655  Option( 'silent_print_all_score_headers', 'Boolean',
656  desc='Print a SCORE header for every SilentStruct in a silent-file',
657  default='false' ),
658 # Option( 'silent_decoytime', 'Boolean',
659 # desc='Add time since last silent structure was written to score line',
660 # default = 'false' ),
661 # Option( 'silent_comment_bound', 'Integer',
662 # desc='String data longer than this ends up as remark rather than in score line',
663 # default = '15' ),
664  Option( 'raw', 'Boolean', desc="Use silent-type file output", default="false" ),
665  Option( 'weight_silent_scores', 'Boolean', desc='Weight scores in silent-file output.', default='true' ),
666 
667  # PDB file options -----------------------------------------------
668  Option( 'silent_preserve_H', 'Boolean',
669  desc='Preserve hydrogrens in PDB silent-file format.',
670  default = 'false' ),
671  Option( 'fullatom', 'Boolean', default='false',
672  desc="Enable full-atom output of PDB or centroid structures"),
673  Option( 'suppress_zero_occ_pdb_output', 'Boolean', default='false',
674  desc="Suppress output of atoms with zero (or negative) occupancy"),
675  Option( 'output_virtual', 'Boolean', default='false', desc="Output virtual atoms in output of PDB"),
676  Option( 'output_virtual_zero_occ', 'Boolean', default='false', desc="Set occupancy to 0.0 for virtual atoms in output of PDB"),
677  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' ),
678  Option( 'no_output_cen', 'Boolean', default='false', desc="Omit outputting centroids"),
679  Option( 'output_orbitals', 'Boolean', default='false', desc="Output all orbitals into PDB."),
680  Option( 'no_scores_in_pdb', 'Boolean', default='false', desc="Do not output the scoretable at the end of the output PDB."),
681  Option( 'renumber_pdb', 'Boolean', default='false',
682  desc='Use Rosetta residue numbering and arbitrary chain labels in pdb output.'),
683  Option( 'pdb_parents', 'Boolean', default='false',
684  desc='If the pose contains a comment named template, print this as a REMARK in the pdb file'),
685  Option( 'per_chain_renumbering', 'Boolean', default='false',
686  desc='When used in conjunction with renumber_pdb, restarts residue numbering at each chain.'),
687  Option( 'output_torsions', 'Boolean', default='false',
688  desc='Output phi, psi, and omega torsions in the PDB output if the pose is ideal.'),
689  Option( 'use_occurrence_data', 'Boolean', default='false',
690  desc='if option is true reads probabilty matrix from pssm file.'),
691  Option( 'pdb_comments', 'Boolean', default='false',
692  desc='If the pose contains any comment print it as a COMMENT in the pdb file.'),
693  Option('force_nonideal_structure', 'Boolean',
694  desc="Force ResidueConformationFeatures to treat the structure as nonideal. "
695  "If you know all your structures are non-ideal this decreases pose output time",
696  default='true'),
697  Option('write_pdb_link_records', 'Boolean',
698  desc='Sets whether or not the LINK records in PDB files are written. '
699  'The default value is false.',
700  short='Write LINK records?',
701  legal=['true', 'false'],
702  default='false'),
703  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.',
704  short= 'Write parametric info?', legal=['true', 'false'], default='true'),
705 
706  # Dunbrack library options
707  Option( 'dont_rewrite_dunbrack_database', 'Boolean',
708  desc='Disables the default behavior of rewriting the Dunrack library in binary format if a binary '
709  'version is not found' ),
710 
711  # Fragment file options -------------------------------------------
712  Option( 'frag_prefix', 'String', desc='Prefix for fragment output', default='default.frags' ),
713 
714  # SDF file options
715  Option( 'no_extra_sdf_data', 'Boolean', desc='Do not add extra round-tripping data to SDF file output', default='false' ),
716  ), # out:file
717 
718  # Path options -------------------------------------------------------
719  Option_Group( 'path',
720  Option( 'all', 'Path', desc="Default file output path", default="." ),
721  Option( 'path', 'Path', desc="Default file output path", default="." ),
722  Option( 'pdb', 'Path', desc="PDB file output path" ),
723  Option( 'db', 'Path', desc="Database file output path if using FeatureReporters or database output", default="."),
724  Option( 'score', 'Path', desc="Score file output path" ),
725 # Option( 'movie', 'Path', desc="Movie file output path" ),
726  Option( 'scratch', 'Path', desc="use this path as scratch drive", default=['/scratch/USERS/'] ),
727  Option( 'mpi_rank_dir','Boolean',
728  desc="Put silent-output files in individual directory as determined by mpi-rank",
729  default='false'),
730  ), # out:path
731  ), # out
732 
733  ###################################################################################
734  # Run options ---------------------------------------------------------
735  Option_Group( 'run',
736  Option( 'run', 'Boolean',
737  desc='Run option group',
738  legal='true', default='true'
739  ),
740  Option( 'batches', 'FileVector', desc= 'batch_flag_files', default='' ),
741  Option( 'no_prof_info_in_silentout','Boolean',desc='no time-columns appears in score/silent - files', default='false' ),
742  ##Option( 'no_execptions', 'Boolean', desc='always exit immediatly if EXCN is thrown ... make backtracing easier', default='false' ),
743  ##Option( 'ralph', 'Boolean',
744  ## desc='Give some more output to stderr and stdout',
745  ## default='false'
746  ##),
747  Option( 'archive', 'Boolean', desc='run MPIArchiveJobDistributor', default='false' ),
748  Option( 'n_replica', 'Integer', desc='run MPIMultiCommJobDistributor with n_replica processes per job', default='1' ),
749 
750  Option( 'shuffle', 'Boolean',
751  desc='Shuffle job order',
752  legal=['true','false'], default='false'
753  ),
754  Option( 'msd_job_dist', 'Boolean',
755  desc='Use MSD Job Distributor',
756  legal=['true','false'], default='false'
757  ),
758  Option( 'msd_randomize', 'Boolean',
759  desc='Randomize order of input poses for MSD',
760  legal=['true', 'false'], default='false'
761  ),
762  Option( 'n_cycles', 'Integer',
763  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.',
764  lower='1', default='1'
765  ),
766  Option( 'repeat', 'Integer',
767  desc='Repeat mover N times',
768  lower='0', default='1'
769  ),
770  Option( 'max_min_iter', 'Integer',
771  desc='Maximum number of iterations of dfpmin',
772  default='200'
773  ),
774  Option( 'maxruntime', 'Integer',
775  desc='Maximum runtime in seconds. JobDistributor will signal end if time is exceeded no matter how many jobs were finished.',
776  default='-1'
777  ),
778  Option( 'maxruntime_bufferfactor', 'Real',
779  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.",
780  default='0'
781  ),
782  Option( 'write_failures',
783  'Boolean',
784  desc='write failed structures to output',
785  default='false' ),
786 # Option('clean', 'Boolean',
787 # short='clean input pdb befere processing them',
788 # desc='clean input pdb befere processing them',
789 # default='false'
790 # ),
791  Option( 'benchmark', 'Boolean',
792  desc='Run in benchmark mode'
793  ),
794  Option( 'test_cycles', 'Boolean',
795  desc='When running tests, use reduced cycles. Cycles must be defined in the code itself',
796  default='false'
797  ),
798  Option( 'memory_test_cycles', 'Boolean',
799  desc='use together with test_cycles to keep number of copies of anything as high as in production mode',
800  default='false'
801  ),
802  Option( 'dry_run', 'Boolean',
803  desc="Run through structures/tasks/etc skipping the actual calculation step for testing of I/O and/or setup",
804  default='false',
805  ),
806  Option( 'debug', 'Boolean',
807  desc="Run in debug mode"
808  ),
809  Option( 'profile', 'Boolean',
810  desc="Run in profile mode",
811  default='false',
812  ),
813  Option( 'max_retry_job', 'Integer',
814  desc='If a job fails with FAIL_RETRY retry this many times at most',
815  default='10'
816  ),
817 # Option( 'verbosity', 'Integer',
818 # desc='Logging verbosity level',
819 # lower='0', upper='9', default='0'
820 # ),
821  Option( 'version', 'Boolean',
822  desc="write out SVN version info, if it was available at compile time",
823  default='true'
824  ),
825  Option( 'nodelay', 'Boolean',
826  desc="Do not delay launch of minirosetta",
827  ),
828  Option( 'delay', 'Integer',
829  desc="Wait N seconds before doing anything at all. Useful for cluster job staggering.",
830  default='0'
831  ),
832  Option( 'random_delay', 'Integer',
833  desc="Wait a random amount of 0..N seconds before doing anything at all. Useful for cluster job staggering.",
834  default='0'
835  ),
836  Option( 'timer', 'Boolean',
837  desc="write out time per decoy in minutes in scorefile",
838  ),
839 # Option( 'series', 'String',
840 # desc="alternate way to specify the code name chain",
841 # default='ss',
842 # ),
843 # Option( 'protein', 'String',
844 # desc="protein <pdbcode> these options override the first three args",
845 # default='----',
846 # ),
847  Option( 'chain', 'String',
848  desc="-chain <chain_id>",
849  default='-',
850  ),
851  Option( 'score_only', 'Boolean',
852  desc='calculate the score only and exit',
853  default='false'
854  ),
855 # Option( 'silent_input', 'Boolean',
856 # 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",
857 # ),
858  ##Option( 'by_index', 'Boolean',
859  ## desc="read compressed start structures by index # (by label is the default)",
860  ##),
861  ##Option( 'new_reader', 'Boolean',
862  ## desc="use new silent-reader, single read-through",
863  ##),
864  ##Option( 'output_all', 'Boolean',
865  ## desc="output pdb files for structures that fail filters (default false)",
866  ##),
867  ##Option( 'accept_all', 'Boolean',
868  ## desc="accept all pdb files (default false) -- use with '-output_all' ",
869  ##),
870  ##Option( 'chain_inc', 'Boolean',
871  ## desc="use last char in start file name (before extension) as the pdb chain",
872  ##),
873  ##Option( 'skip_missing_residues', 'Boolean',
874  ## desc="skip missing residues in pdb file (ie they are not part of the query sequence)",
875  ##),
876  Option( 'decoystats', 'Boolean',
877  desc="calculate values of a series of additional "
878  "structural properties, including counting unsatisfied "
879  "buried Hbond donors and acceptors, SASApack, etc. Additional "
880  "output associated with this flag is written both to stdout and "
881  "to output PDB files",
882  ),
883  ##Option( 'interface_ds', 'Boolean',
884  ## desc="calculate values of a series of additional structural properties for interfaces",
885  ##),
886  ##Option( 'ds_outpdb_only', 'Boolean',
887  ## desc="suppress decoystats output written to stdout, while maintaining availability of this information in the output PDBs",
888  ##),
889  Option( 'output_hbond_info', 'Boolean',
890  desc="print hydrogen bond info in the stats section of written out PDB files",
891  ),
892  ##Option( 'tight_core_analysis', 'Boolean',
893  ## desc="carry out an analysis of how many buried atoms are 'tightly packed' (based on SASA to a 0.5 A probe)",
894  ##),
895  ### type?
896  ##Option( 'tight_core_threshold', 'Real',
897  ## desc="The maximum SASA to a 0.5 A probe an atom can have while still qualifying as 'tightly packed' ",
898  ##),
899  Option( 'wide_nblist_extension', 'Real',
900  desc="Amount to extend the wide neighbor list",
901  default='2.0'
902  ),
903  ### type?
904  ##Option( 'measure_changed_environment', 'Boolean',
905  ## desc="-measure_changed_environment Color B-factors based on difference in distances to neighboring atoms compared with native",
906  ##),
907 # Option( 'status', 'Boolean',
908 # desc="Generate a status file",
909 # ),
910  Option( 'constant_seed', 'Boolean',
911  desc="Use a constant seed (1111111 unless specified)",
912  ),
913  Option( 'jran', 'Integer',
914  desc="Specify seed (requires -constant_seed)",
915  default='1111111',
916  ),
917  Option( 'use_time_as_seed', 'Boolean',
918  desc="Use time as random number seed instead of default rng seed device.",
919  ),
920  Option( 'rng_seed_device', 'String',
921  desc="Obtain random number seed from specified device.",
922  default='/dev/urandom',
923  ),
924  Option( 'seed_offset', 'Integer',
925  desc="This value will be added to the random number seed. Useful when using time as seed \
926  and submitting many jobs to clusters. Using the condor job id will force jobs that \
927  are started in the same second to still have different initial seeds",
928  default='0',
929  ),
930  Option( 'rng', 'String',
931  desc="Random number generation algorithm: Currently only mt19937 is a accepted here",
932  default='mt19937',
933  legal=['mt19937'],
934  ),
935  ##Option( 'delay_at_start', 'Boolean',
936  ## desc="Wait 'seed_offset' seconds before starting the job, so that multiple jobs don't all start in sync",
937  ##),
938 # Option( 'run_level', 'Integer',
939 # desc="Specify runlevel by integer",
940 # default='0',
941 # ),
942 # Option( 'verbose', 'String', # This is being replaced by verbosity
943 # desc="Keyword runlevels (decreasing verbosity): gush yap chat inform quiet silent",
944 # legal=['gush', 'yap', 'chat', 'inform', 'quiet', 'silent']
945 # ),
946 # Option( 'silent', 'Boolean',
947 # desc="use compressed output (also a runlevel)",
948 # ),
949 # Option( 'regions', 'Boolean',
950 # desc="Specify regions of the protein allowed to move",
951 # ),
952  ##Option( 'regionfile', 'String',
953  ## desc="Specify extension for region file (default=regions) (region file root must be same as start structure)",
954  ## default='regions',
955  ##),
956  ##Option( 'ssblocks', 'Boolean',
957  ## desc="require blocks of sequence to follow ss prediction",
958  ##),
959  ##Option( 'check_homs', 'Boolean',
960  ## desc="Stop execution if homologs detected in fragment files; otherwise no checking occurs",
961  ##),
962 # Option( 'find_disulf', 'Boolean',
963 # desc="Each time the pose is scored, attempt to find new disulfide bonds.",
964 # legal=['true','false'], default='false',
965 # ),
966  Option( 'rebuild_disulf', 'Boolean',
967  desc="Attempt to build correct disulfide geometry when converting "
968  "from a centroid pose to a full atom pose. Disulfides must be "
969  "previously annotated, either by enabling -detect_disulf or by "
970  "specifying a file to -fix_disulf.",
971  legal=['true','false'], default='false',
972  ),
973  ##Option( 'use_disulf_logfile', 'File',
974  ## desc="output physical parameters of disulf bonds",
975  ## default='-',
976  ##),
977  ##Option( 'disulf_filter', 'Boolean',
978  ## desc="turn on disulfide filter. The default is off. require -find_disulf or -fix_disulf is on first",
979  ##),
980 # Option( 'movie', 'Boolean',
981 # desc="Update _movie.pdb file for rasmol_rt",
982 # ),
983 # Option( 'trajectory', 'Boolean',
984 # desc="Write a pdb file of each accepted structure",
985 # ),
986  ##Option( 'ise_movie', 'Boolean',
987  ## desc="Write a pdb of every move (accept or reject)",
988  ##),
989 # Option( 'IUPAC', 'Boolean',
990 # desc="Use IUPAC hydrogen conventions in place of PDB conventions",
991 # ),
992  ##Option( 'repeatout', 'Boolean',
993  ## 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",
994  ##),
995  ##Option( 'repeatin', 'Boolean',
996  ## desc="Will repeat runs with RNG states from <infile>. RNG state \
997  ## is defined as ran3 seed and # of times ran3 has been \
998  ## called. File format is as generated by -repeatout: \
999  ## one line per trajectory as follows: \
1000  ## <name/id> <ran3 seed> <ran3 iters>",
1001  ##),
1002  Option( 'preserve_header', 'Boolean',
1003  desc="Maintain header info from input PDB when writing output PDBs",
1004  ),
1005  #Option( 'output_silent_gz', 'Boolean', # moved to -out::silent_gz
1006  # desc="Use gzipped compressed output (silent run level)",
1007  #),
1008  #Option( 'output_pdb_gz', 'Boolean', # moved to -out:pdb_gz
1009  # desc="write gzipped output pdbs",
1010  # default="false",
1011  #),
1012  ##Option( 'output_scorefile_gz', 'Boolean',
1013  ## desc="write gzipped scorefiles",
1014  ##),
1015  ##Option( 'map_sequence', 'File',
1016  ## desc="allows the reading of starting structures whose sequence differs from the query sequence \
1017  ## defined by the fasta file. The structure will be mapped back to the query sequence \
1018  ## by a fast loop modeling protocol. Requires: query defined (3 args), fasta file, \
1019  ## and fragments. The alignment file format is either aligned fasta, or single \
1020  ## line: 'ALIGN <alignment> <tag>', with . or - for gaps. See map_sequence.cc",
1021  ##),
1022  ##Option( 'unix_paths', 'Boolean', #SGM This (and paths.txt) is probably obsolete: The FileName and PathName classes handle /\ conversion
1023  ## desc="Reads unix path format (forward slashes) in paths.txt for running Windows version on Cygwin",
1024  ##),
1025  ##Option( 'max_frags', 'Integer',
1026  ## desc="Max number of fragments to read from fragment files (default is 200)",
1027  ## default='200',
1028  ##),
1029  ##Option( 'new_centroid_packing', 'Boolean',
1030  ## desc="Add term to centroid-level energy function that promotes correct (sequence-independent) \
1031  ## pairwise correlation between centroid positions",
1032  ##),
1033  ##Option( 'separate_centroid_pack_score', 'Boolean',
1034  ## desc="Puts new centroid packing score (see above) in a separate column in scorefile, \
1035  ## rather than adding onto cb score",
1036  ##),
1037  ##Option( 'use_native_centroid', 'Boolean',
1038  ## desc="place centroids at actual centers of mass (relative to backbone) as read \
1039  ## in from native state, rather than the average position observed for each amino acid in PDB",
1040  ##),
1041 # Option( 'evolution', 'Boolean',
1042 # desc="evolutionary algorithm applied to fullatom refinement of structure models",
1043 # ),
1044  ##Option( 'evol_recomb', 'Boolean',
1045  ## desc="evolutionary algorithm applied to centroid level recombinations of deocys",
1046  ##),
1047  ### type?
1048  ##Option( 'sasapack_bvalues', 'Boolean',
1049  ## desc="bvalues reflect sasapack scores and unsatisfied buried hbonds",
1050  ##),
1051  ##Option( 'cenlist_values', 'Boolean',
1052  ## desc="Output values of cen6 and cen10 for each residue as the 2 last \
1053  ## columns in the 'complete' lines of the output pdb file",
1054  ##),
1055  Option( 'suppress_checkpoints', 'Boolean',
1056  desc="Override & switch off checkpoints.",
1057  ),
1058  Option( 'checkpoint', 'Boolean',
1059  desc="Turn checkpointing on",
1060  ),
1061  Option( 'delete_checkpoints', 'Boolean',
1062  desc="delete the checkpoints after use", default='true',
1063  ),
1064  Option( 'checkpoint_interval', 'Integer',
1065  desc="Checkpoint time interval in seconds",
1066  lower='10', default='600',
1067  ),
1068  Option( 'protocol', 'String',
1069  desc="Which protocol to run, for Rosetta@home wrapper",
1070  default='abrelax',
1071  legal=[
1072  'abrelax', 'simple_cycpep_predict', 'broker', 'vf_abrelax', 'ligand_dock', 'relax', 'symdock', 'star',
1073  'loophash','looprelax','threading', 'rbsegmentrelax', 'boinc_debug', 'parser',
1074  'jd2_scripting', 'cm', 'flxbb','rna','ddg', 'canonical_sampling', 'nonlocal_frags', 'medal',
1075  ],
1076  ),
1077  Option( 'remove_ss_length_screen', 'Boolean',
1078  desc="Sets the use_ss_length_screen flag in the Fragment Mover to false",
1079  ),
1080  Option( 'min_type', 'String',
1081  default='dfpmin', desc='type of minimizer to use'
1082  ),
1083  Option( 'min_tolerance', 'Real', default='0.000001', desc='minimizer tolerance' ),
1084  Option( 'nblist_autoupdate', 'Boolean',
1085  default='false', desc="Turn on neighborlist auto-updates for all minimizations"
1086  ),
1087  Option( 'nblist_autoupdate_narrow', 'Real', default="0.5", desc="With nblist autoupdate: the reach in Angstroms for the narrow neighbor list"),
1088  Option( 'nblist_autoupdate_wide', 'Real', default="2.0", desc="With nblist autoupdate: the reach in Angstroms for the wide neighbor list"),
1089  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."),
1090  ##Option( 'set_fold_tree_from_edges', 'Boolean', default='false', desc="Handle multi-residue ligands and pdbs with H20 and ions"),
1091  Option( 'randomize_missing_coords', 'Boolean', default='false',
1092  desc='Insert random coordinates for missing density atoms ( occupancy is zero ) and for any atoms with negative occupancy, randomizing coords is done by default'
1093  ),
1094  Option( 'ignore_zero_occupancy', 'Boolean', default='true',
1095  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'
1096  ),
1097 
1098  Option( 'cycles_outer', 'Integer', default='1', lower='1', desc='number of outer cycles' ),
1099  Option( 'cycles_inner', 'Integer', default='1', lower='1', desc='number of inner cycles' ),
1100  Option( 'repack_rate', 'Integer', default='10', lower='1', desc='repack after every [value] cycles during certain protocols' ),
1101 
1102  # newJD options - still in run:: group
1103  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)'),
1104  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)'),
1105  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.'),
1106  Option( 'jobdist_miscfile_ext', 'String', default='.data', desc='extension for JobOutputter file() function (miscellaneous file output).'),
1107  Option( 'no_scorefile', 'Boolean', default='false', desc='do not output scorefiles'),
1108  #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
1109 
1110  #replace these two by the two intermediate_XXX olange
1111  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'),
1112  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.'),
1113 
1114  Option( 'intermediate_scorefiles', 'Boolean', default='false', desc='write intermediate evaluations to disk (depends on your protocol if and how often this happens'),
1115  Option( 'intermediate_structures', 'Boolean', default='false', desc='write structures together with intermediate evaluations'),
1116 
1117  #end of newJD
1118  Option( 'idealize_before_protocol', 'Boolean',
1119  desc="run idealize first, before running whatever.",
1120  ),
1121 
1122  Option( 'interactive', 'Boolean',
1123  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."),
1124 
1125  Option( 'condor', 'Boolean', desc='if condor say yes -- proc_id counting starts at 0', default='false' ),
1126  Option( 'nproc', 'Integer', desc='number of process... needed if proc_id is specified', default='0' ),
1127  Option( 'proc_id', 'Integer', desc='give process number... Jobdistributor will only work on proc_id mod nproc part of work ', default='0' ),
1128  Option( 'exit_if_missing_heavy_atoms', 'Boolean', default='false', desc="quit if heavy atoms missing in pdb"),
1129 
1130  # PyMOL -----------------------
1131  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!"),
1132  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.'),
1133  Option( 'update_pymol_on_conformation_changes_only', 'Boolean', default = 'false', desc = 'Only update the simulation in pymol on conformation change.'),
1134  Option( 'keep_pymol_simulation_history', 'Boolean', desc='Keep history when using show_simulation_in_pymol flag?', default='false' ),
1135 
1136  Option( 'insert_disulfide_constraint_weight', 'Real', default='0.0', desc='Weight of the constraints on disulfide bonds formed by the DisulfideInsertionMover; EXPERIMENTAL'),
1137 
1138  ), # -run
1139 
1140  # jd2 Options ---------------------------------------------------------
1141  Option_Group( 'jd2',
1142  Option('pose_input_stream','Boolean',desc='Use PoseInputStream classes for Pose input', default='false' ),
1143  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'),
1144  #for the Archive it really doesn't matter to finish the last runs.. some stragglers can take up to an 1h to finish...
1145  # save the computer time...
1146  Option( 'mpi_nowait_for_remaining_jobs','Boolean', desc='exit immediately (not graceful -- not complete) if the last job has been sent out', default='false'),
1147 
1148  Option( 'mpi_timeout_factor','Real', desc='timeout is X times average job-completion time - set to 0 to switch off', default='0'),
1149 
1150 
1151  Option( 'mpi_work_partition_job_distributor', 'Boolean', desc='determine if we should use the WorkPartition job distributor', default='false' ),
1152  Option( 'mpi_file_buf_job_distributor', 'Boolean', desc='determine if we should use the MPIFileBufJobDistributor (warning: silent output only)', default='true' ),
1153 
1154  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' ),
1155 
1156  #this is unnecessary and unsafe, use the the faster mpi_filebuf_jobdistributor instead
1157  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' ),
1158 
1159 
1160  Option( 'dd_parser', 'Boolean', desc='determine whether to use the dock_design_parser', default='false' ),
1161  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.' ),
1162  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
1163  Option( 'no_output', 'Boolean', desc='use NoOutputJobOutputter; do not store the pose after a run (no silent or scorefile)', default='false'),
1164  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'),
1165  Option( 'buffer_silent_output', 'Integer', default = '1', desc = 'write structures to silent-files in blocks of N structures to', ),
1166  Option( 'buffer_flush_frequency', 'Real', default = '1.0', desc = 'when N structures (buffer_silent_output) are collected dump to file with probability X' ),
1167  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.
1168  Option( 'resource_definition_files', 'FileVector', desc = 'Specify all the jobs and all of their resources to the new JD2ResourceManager system', ),
1169  Option( 'checkpoint_file', 'File', desc='write/read nstruct-based checkpoint files to the desired filename.' ),
1170  #Option( 'nthreads', 'Integer', desc='The maximum number of threads to run at once using the MultiThreadedJobDistributor' ),
1171  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', ),
1172  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.', ),
1173  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.', ),
1174  ), # jd2
1175 
1176  # score function settings -----------------------------------------------------------
1177  Option_Group( 'score',
1178  Option( 'score_pose_cutpoint_variants', 'Boolean', desc='Include cutpoint variants in the pose during linear chainbreak', default='false'),
1179  Option( 'score', 'Boolean', desc="scorefunction option group", legal='true', default='true' ),
1180  Option( 'weights', 'String', desc="Name of weights file (without extension .wts)" , default="talaris2013" ),
1181  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> ..." ),
1182  Option( 'pack_weights', 'String', desc="Name of packing weights file (without extension .wts)" , default="talaris2013" ),
1183  Option( 'soft_wts', 'String', desc="Name of the 'soft' weights file, for protocols which use it." , default="soft_rep" ),
1184  Option( 'docking_interface_score','Boolean',desc="the score is computed as difference between bound and unbound pose", default='false'),
1185  Option( 'min_score_score', 'Real', desc='do not consider scores lower than min-score in monte-carlo criterion', default='0.0'),
1186  Option( 'custom_atom_pair', 'String', desc='filename for custom atom pair constraints', default = 'empty' ),
1187  Option( 'patch', 'FileVector', desc="Name of patch file (without extension)",default="" ),
1188  Option( 'empty', 'Boolean', desc="Make an empty score - i.e. NO scoring" ),
1189  Option( 'fa_max_dis', 'Real', desc='How far does the FA pair potential go out to ?', default='6.0', ),
1190  Option( 'fa_Hatr', 'Boolean', desc='Turn on Lennard Jones attractive term for hydrogen atoms'),
1191  Option( 'no_smooth_etables', 'Boolean',desc="Revert to old style etables" ),
1192 # Option( 'etable_lr' , 'Real', desc="lowers energy well at 6.5A" ),
1193  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" ),
1194  Option( 'input_etables' , 'String', desc="Read etables from files with given prefix" ),
1195  Option( 'output_etables', 'String', desc="Write out etables to files with given prefix" ),
1196  Option( 'analytic_etable_evaluation', 'Boolean', desc="Instead of interpolating between bins, use an analytic evaluation of the lennard-jones and solvation energies", default="true" ),
1197  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" ),
1198  Option( 'include_intra_res_protein','Boolean', desc="Include computation of intra-residue terms for proteins.", default="false" ),
1199  Option( 'fa_stack_base_base_only','Boolean', desc="Only calculate fa_stack for RNA base/base.", default="true" ),
1200  Option( 'fa_stack_sol_prefactor','Real', desc="Strength of sol penalty in fa_stack_sol.", default="0.1" ),
1201  Option( 'fa_stack_sol_stack_cutoff','Real', desc="distances below this get full sol stack.", default="5.5" ),
1202  Option( 'fa_stack_sol_dist_cutoff' ,'Real', desc="distances below this get some sol stack.", default="6.5" ),
1203  Option( 'fa_stack_lr_prefactor','Real', desc="Strength of lr penalty in fa_stack_lr.", default="-0.05" ),
1204  Option( 'fa_stack_lr_stack_cutoff','Real', desc="distances below this get full lr stack.", default="6.5" ),
1205  Option( 'fa_stack_lr_dist_cutoff' ,'Real', desc="distances below this get some lr stack.", default="7.5" ),
1206  Option( 'geom_sol_interres_path_distance_cutoff', 'Integer', desc="Minimum no. bonds between atoms in different residues to calculate geom_sol", default="0" ),
1207  Option( 'geom_sol_intrares_path_distance_cutoff', 'Integer', desc="Minimum no. bonds between atoms in same residues to calculate geom_sol", default="6" ),
1208  Option( 'rms_target', 'Real', desc='Target of RMS optimization for RMS_Energy EnergyMethod', default='0.0'),
1209  Option( 'ramaneighbors', 'Boolean', desc='Uses neighbor-dependent ramachandran maps', default='false'),
1210  Option( 'optH_weights', 'String', desc="Name of weights file (without extension .wts) to use during optH"),
1211  Option( 'optH_patch', 'String', desc="Name of weights file (without extension .wts) to use during optH"),
1212  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" ),
1213  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" ),
1214  Option( 'hbe_for_dH2O_aGEN_SP3SC_ssother', 'String', desc="HBEvalType for HBEvalTuple(hbdon_H2O, hbacc_GENERIC_SP3SC, seq_sep_other)", default="hbe_dH2OaHXL"),
1215  Option( 'hbond_params', 'String', desc="Directory name in the database for which hydrogen bond parameters to use.", default='sp2_elec_params'),
1216  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'),
1217  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' ),
1218  Option( 'hb_env_dep_new', 'Boolean', desc="Use new version of env-dep fading for hbond and fa_elec", default="false" ),
1219  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" ),
1220  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" ),
1221  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" ),
1222  Option( 'symE_units', 'Integer', desc="Number of symmetric Units in design for use with symE scoring",default='-1'),
1223  Option( 'symE_bonus', 'Real', desc="Energy bonus per match for use with symE scoring",default='0.0'),
1224  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'),
1225  Option( 'NV_lbound', 'Real', desc="Lower Bound for neighbor Vector scoring" , default='3.3'),
1226  Option( 'NV_ubound', 'Real', desc="Upper Bound for neighbor Vector scoring", default='11.1'),
1227  Option( 'NV_table', 'String', desc="Location of path to potential lookup table", default='scoring/score_functions/NV/neighbor_vector_score.histogram'),
1228  Option( 'disable_orientation_dependent_rna_ch_o_bonds', 'Boolean', desc="Do not use orientation-dependent potential for RNA carbon hydrogen bonds" , default="false"),
1229  Option( 'rna_torsion_potential', 'String', desc="In RNA torsion calculation, directory containing 1D torsional potentials" , default="ps_04282011"),
1230  Option( 'rna_suite_potential', 'String', desc="In RNA calculation, directory containing suite potentials" , default="Richardson"),
1231  Option( 'suiteness_bonus', 'String', desc="In RNA calculation, directory containing suiteness bonus definition" , default="Richardson"),
1232  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"),
1233  Option( 'rna_chemical_shift_verbose', 'Boolean', desc="print out chemical shifts; useful for debug" , default="false"),
1234  Option( 'rna_chemical_shift_larmord', 'Boolean', desc="Use LARMORD to calculate 1H chemical shifts" , default="false"),
1235  Option( 'rna_chemical_shift_exp_data', 'String', desc="rna_chemical_shift_exp_data" , default=""),
1236  Option( 'rna_chemical_shift_larmord_par', 'String', desc="larmord parameters file" , default="larmord_1.0_nocut_parameters.dat"),
1237  Option( 'rna_chemical_shift_larmord_wt', 'String', desc="larmord expected accuracy file" , default="larmord_noweights.txt"),
1238  Option( 'rna_chemical_shift_larmord_ref', 'String', desc="larmord reference chemical shift file" , default="larmord_1.0_reference_shifts.dat"),
1239  Option( 'rna_chemical_shift_larmord_nei', 'String', desc="larmord neighbor atom shift file" , default="larmord_1.0_neighbor_atoms.dat"),
1240  Option( 'rna_chemical_shift_larmord_cut', 'Real', desc="larmord distance cutoff" , default='9999.9'),
1241  Option( 'rna_chemical_shift_larmord_beta', 'Real', desc="larmord beta value (the exponent)" , default='-3.0'),
1242  Option( 'rna_chemical_shift_H5_prime_mode', 'String', desc="rna_chemical_shift_H5_prime_mode", default=""),
1243  Option( 'rna_chemical_shift_include_res', 'IntegerVector', desc="rna_chemical_shift_include_res"),
1244  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"),
1245  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"),
1246  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"),
1247  Option( 'use_2prime_OH_potential', 'Boolean', desc="Use torsional potential for RNA 2prime OH." , default="true"),
1248  Option( 'include_neighbor_base_stacks', 'Boolean', desc="In RNA score calculation, include stacks between i,i+1" , default="false"),
1249  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' ),
1250  Option( 'find_neighbors_stripehash', 'Boolean', desc="should be faster than 3dgrid and use 1/8th the memory", default='false' ),
1251  Option( 'seqdep_refene_fname', 'String', desc="Filename for table containing sequence-dependent reference energies" ),
1252  Option( 'secondary_seqdep_refene_fname', 'String', desc="Additional filename for table containing sequence-dependent reference energies" ),
1253  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' ),
1254  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' ),
1255  Option( 'exact_occ_include_Hbond_contribution', 'Boolean', desc="When using occ_sol_exact, include Hbonds in the solvation energy", default='false' ),
1256  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' ),
1257  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' ),
1258  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' ),
1259  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" ),
1260  Option( 'ref_offsets', 'StringVector', desc="offset reference energies using 3 character residue types (example: TRP 0.9 HIS 0.3)" ),
1261  Option( 'ref_offset', 'Real', desc="offset all reference energies by this amount", default='0.0' ),
1262  Option( 'output_residue_energies', "Boolean", desc="Output the energy for each residue", default='false' ),
1263  Option( 'fa_custom_pair_distance_file', 'String', desc="Name of custom pair distance energy file", default=""),
1264  Option( 'disulf_matching_probe', 'Real', desc="Size of probe to use in disulfide matching score", default='2.5'),
1265  Option( 'bonded_params', 'RealVector', desc="Default spring constants for bonded parameters [length,angle,torsion,proton-torsion,improper-torsion]"),
1266  Option( 'bonded_params_dir', 'String', desc="Spring constants for bonded parameters [length,angle,torsion,proton-torsion,improper-torsion]", default="scoring/score_functions/bondlength_bondangle"),
1267  Option( 'extra_improper_file', 'String', desc="Add extra parameters for improper torsions"),
1268  Option( 'pro_close_planar_constraint', 'Real', desc="stdev of CD,N,CA,prevC trigonal planar constraint in pro_close energy method", default='0.1' ),
1269  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'),
1270  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' ),
1271  Option( 'linear_bonded_potential', 'Boolean', desc="use linear (instead of quadratic) bonded potential", default='false'),
1272 # Option('use_membrane_rg','Boolean',desc="use the modified RG score where RG calculated over input span centers of mass",default='false'),
1273  Option( 'free_suite_bonus', 'Real', desc="Amount to reward virtualization of a nucleotide suite", default='-1.0'),
1274  Option( 'free_sugar_bonus', 'Real', desc="Amount to reward virtualization of a sugar/ribose", default='-1.0'),
1275  Option( 'free_2HOprime_bonus', 'Real', desc="Amount to reward virtualization of a 2'-OH", default='-0.5'),
1276  Option( 'syn_G_potential_bonus', 'Real', desc="Amount to reward syn chi conformation of guanosine", default='0.0'),
1277  Option( 'pack_phosphate_penalty', 'Real', desc="Amount to penalize instantiation of a 5' or 3' phosphate", default='0.25'),
1278  Option( 'free_side_chain_bonus', 'Real', desc="Amount to reward virtualization of a protein side chain, per free chi", default='-0.5'),
1279  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'),
1280  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'),
1281  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' ),
1282  Option( 'allow_complex_loop_graph', 'Boolean', desc='LoopGraph hack - allow sharing of loops between cycles', default='false' ),
1283  Option( 'compute_mg_sol_for_hydrogens', 'Boolean', desc='mg_sol includes penalties for hydrogens near Mg(2+)', default='false'),
1284  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"),
1285  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"),
1286  Option( 'conc', 'Real', desc="intermolecular concentration to use in intermol term (give in M)", default="1.0"),
1287  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" ),
1288  Option( 'sidechain_buried', 'IntegerVector', desc="count buried residues (rvernon pilot app)", default = '-1' ),
1289  Option( 'sidechain_exposed', 'IntegerVector', desc="count exposed residues (rvernon pilot app)", default = '-1' ),
1290  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/." ),
1291  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" ),
1292  Option( 'elec_min_dis', 'Real', desc='changes the minimum distance cut-off for hack-elec energy', default='1.6'),
1293  Option( 'elec_max_dis', 'Real', desc='changes the maximum distance cut-off for hack-elec energy', default='5.5'),
1294  Option( 'elec_die', 'Real', desc='changes the dielectric constant for hack-elec energy', default='10.0'),
1295  Option( 'elec_r_option', 'Boolean', desc='changes the dielectric from distance dependent to distance independent', default='false'),
1296  Option( 'elec_sigmoidal_die', 'Boolean', desc='changes the dielectric from distance dependent to sigmoidal', default='false'),
1297  Option( 'elec_sigmoidal_die_D', 'Real', desc='D parameter for sigmoidal dielectric', default='78.0'),
1298  Option( 'elec_sigmoidal_die_D0', 'Real', desc='D0 parameter for sigmoidal dielectric', default='2.0'),
1299  Option( 'elec_sigmoidal_die_S', 'Real', desc='S parameter for sigmoidal dielectric', default='0.36'),
1300  Option( 'elec_representative_cp', 'Boolean', desc='Use representative atoms for countpair to avoid dipole splits', default='false'),
1301  Option( 'elec_representative_cp_flip', 'Boolean', desc='Enable elec_representative_cp, but FLIP the order in the table', default='false'),
1302  Option( 'intrares_elec_correction_scale', 'Real', desc='Intrares elec scaling factor for free DOF atoms', default='0.05'),
1303  Option( 'smooth_fa_elec', 'Boolean', desc='Smooth the discontinuities in the elec energy function using a sigmoidal term', default='true' ),
1304  Option( 'grpelec_fade_type', 'String', desc='use standard way (shift/switch function) of Coulomb function for fa_grpelec', default='false' ),
1305  Option( 'grpelec_fade_param1', 'Real', desc='fading distance for shift/switch', default='1.0' ),
1306  Option( 'grpelec_fade_param2', 'Real', desc='exponent for shift', default='1.0' ),
1307  Option( 'elec_group_file', 'String', desc='file where group information is stored', default='/scoring/score_functions/elec_group_def.dat' ),
1308  Option( 'elec_group_extrafile', 'String', desc='file where group information for extra_res is stored', default='' ),
1309  Option( 'grpelec_fade_hbond', 'Boolean', desc='fade grpelec for hbonding group', default='false' ),
1310  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'] ),
1311  Option( 'grpelec_context_dependent', 'Boolean', desc='whether grpelec depends on context', default='false' ),
1312  Option( 'grp_cpfxn', 'Boolean', desc='rule for trying cpfxn on group', default='true' ),
1313  Option( 'grpelec_cpfxn_weight', 'RealVector', desc='cpfxn weight on group(1-4/1-5/>1-5)', default=['0.0','0.2','1.0'] ),
1314  Option( 'elec_context_minstrength', 'Real', desc='strength at min burial ', default='0.2' ),
1315  Option( 'elec_context_minburial', 'Real', desc='num. cb assigned as min burial ', default='7.0' ),
1316  Option( 'elec_context_maxburial', 'Real', desc='num. cb assigned as max burial', default='24.0' ),
1317  Option( 'use_polarization', 'Boolean', desc='whether multipole electrostatics includes polarization (induced dipoles)', default='true' ),
1318  Option( 'use_gen_kirkwood', 'Boolean', desc='whether multipole electrostatics includes treatment of reaction field', default='true' ),
1319  Option( 'protein_dielectric', 'Real', desc='dielectric constant for protein in generalized Kirkwood treatment of reaction field', default='1.0' ),
1320  Option( 'water_dielectric', 'Real', desc='dielectric constant for water in generalized Kirkwood treatment of reaction field', default='78.3' ),
1321  Option( 'facts_GBpair_cut','Real', desc='GBpair interaction distance cutoff (same as elec_max_dis)', default="10.0" ),
1322  Option( 'facts_kappa','Real', desc='GBpair interaction screening factor', default="12.0" ),
1323  Option( 'facts_asp_patch','Integer', desc='AtomicSolvationParameter set for nonpolar interaction in FACTS', default="3" ),
1324  Option( 'facts_plane_to_self','Boolean', desc='Add atoms in same plane to self energy pairs', default="true" ),
1325  Option( 'facts_saltbridge_correction','Real', desc='FACTS Self energy parameter scaling factor for polarH', default="1.0" ),
1326  Option( 'facts_dshift','RealVector', desc='FACTS pair term denominator distance shift[bb/bbsc/scsc/saltbridge]', default=["0.0","1.5","1.5","1.5"] ),
1327  Option( 'facts_die','Real', desc='FACTS dielectric constant', default="1.0" ),
1328  Option( 'facts_binding_affinity','Boolean', desc='Activate FACTS options for binding affinity calculation', default="false" ),
1329  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' ),
1330  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'] ),
1331  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'] ),
1332  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'] ),
1333  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'] ),
1334  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'] ),
1335  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'] ),
1336  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'] ),
1337  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'] ),
1338  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'] ),
1339  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'] ),
1340  Option( 'facts_charge_dir','String', desc='directory where residue topology files for FACTS charge are stored', default="scoring/score_functions/facts" ),
1341  Option( 'facts_eff_charge_dir','String', desc='directory where residue topology files for FACTS charge are stored', default="scoring/score_functions/facts/eff" ),
1342  Option( 'facts_plane_aa','StringVector', desc='AAs to apply plane rule'),
1343  Option( 'facts_eq_type','String', desc='FACTS equation type',default="exact"),
1344  Option( 'ignore_terminal_ss_elements','Integer', desc='number of secondary structure elements to be ignored', default="0" ),
1345  Option( 'length_dep_srbb','Boolean', desc='Enable helix-length-dependent sr backbone hbonds', default="false" ),
1346  Option( 'ldsrbb_low_scale','Real', desc='Helix-length-dependent scaling at minlength.', default="0.5" ),
1347  Option( 'ldsrbb_high_scale','Real', desc='Helix-length-dependent scaling at maxlength.', default="2.0" ),
1348  Option( 'ldsrbb_minlength','Integer', desc='Helix-length-dependent scaling minlength.', default="4" ),
1349  Option( 'ldsrbb_maxlength','Integer', desc='Helix-length-dependent scaling maxlength.', default="17" ),
1350  Option( 'max_motif_per_res','Real',desc = 'maximum value for motifs',default="3.0"),
1351  Option( 'max_contacting_ss','Integer',desc= 'maximum number of interconnecting SS',default="4"),
1352  Option( 'motif_ignore_symmmetry','Boolean',desc= 'only counts motifs inside monomer',default="true"),
1353  Option( 'motif_residues','IntegerVector', desc = 'which residue numbers to calculate motifs'),
1354  Option( 'nmer_ref_energies', 'String', desc='nmer ref energies database filename' ),
1355  Option( 'nmer_ref_energies_list', 'String', desc='list of nmer ref energies database filenames' ),
1356  Option( 'nmer_pssm', 'String', desc='nmer pssm database filename' ),
1357  Option( 'nmer_pssm_list', 'String', desc='list of nmer pssm database filenames' ),
1358  Option( 'nmer_pssm_scorecut', 'Real', desc='nmer pssm scorecut gate for ignoring lowscore nmers', default='0.0' ),
1359  Option( 'nmer_svm', 'String', desc='nmer svm filename (libsvm)' ),
1360  Option( 'nmer_svm_list', 'String', desc='list of nmer svm filenames (libsvm)' ),
1361  Option( 'nmer_svm_scorecut', 'Real', desc='nmer svm scorecut gate for ignoring lowscore nmers', default='0.0' ),
1362  Option( 'nmer_svm_aa_matrix', 'String', desc='nmer svm sequence encoding matrix filename' ),
1363  Option( 'nmer_svm_term_length', 'Integer', desc='how many up/dnstream res to avg and incl in svm sequence encoding', default='3' ),
1364  Option( 'nmer_svm_pssm_feat', 'Boolean', desc='add pssm features to svm encoding?', default='true' ),
1365  Option( 'nmer_ref_seq_length', 'Integer', desc='length of nmers in nmer_ref score', default='9' ),
1366  Option( 'just_calc_rmsd', "Boolean", desc="In rna_score, just calculate rmsd -- do not replace score.", default='false' ),
1367  Option( 'envsmooth_zero_negatives', "Boolean", desc="use alternative envsmooth table with a floor of 0.0 (envsmooth awards no energy bonus)", default='false' ),
1368  Option_Group( 'saxs',
1369  Option('min_score', 'Real', desc="minimum value of saxs score; the parameter is used to flatten the energy funnel around its minimum", default='-5' ),
1370  Option( 'custom_ff', 'String',desc="Name of config file providing extra from factors",default=""),
1371  Option( 'print_i_calc', 'String',desc="File to optionally write scaled computed spectra",default=""),
1372  Option( 'ref_fa_spectrum','File' , desc="reads reference full-atom spectrum from a file"),
1373  Option( 'ref_cen_spectrum','File' , desc="reads reference centroid spectrum from a file"),
1374  Option( 'ref_spectrum','File' , desc="reads reference spectrum from a file"),
1375  Option( 'ref_pddf','File' , desc="reads reference pairwise distance distribution function"),
1376 # Option('skip_hydrogens', 'Boolean',desc="skip hydrogen atoms", default='false' ),
1377  Option('d_min', 'Real', desc="minimum value of distance used in PDDF score evaluation (in [A])", default='5.0' ),
1378  Option('d_max', 'Real', desc="maximum value of distance used in PDDF score evaluation (in [A])", default='100.0' ),
1379  Option('d_step', 'Real', desc="step of distance used in PDDF score evaluation (in [A])", default='0.1' ),
1380  Option('q_min', 'Real', desc="minimum value of q used in spectra calculations (in [A^-1])", default='0.01' ),
1381  Option('q_max', 'Real', desc="maximum value of q used in spectra calculations (in [A^-1])", default='0.25' ),
1382  Option('q_step', 'Real', desc="step of q used in spectra calculations (in [A^-1])", default='0.01' ),
1383  Option('fit_pddf_area', 'Boolean', desc="PDDF curve for a scored pose will be normalized to match the area under the reference PDDF curve"
1384  , default='false' ),
1385  ), # -score:saxs
1386  Option_Group( 'fiber_diffraction',
1387  Option( 'layer_lines','File',desc="reads layer_lines from a file"),
1388  Option( 'a','Real' , desc="number of subunits per repeat", default='0'),
1389  Option( 'b','Real' , desc="number of turns per repeat", default='0'),
1390  Option( 'p','Real' , desc="subunit rise", default='0'),
1391  Option( 'radius','Real' , desc="helical radius", default='0'),
1392  Option( 'resolution_cutoff_low','Real' , desc="ignore intensity data below this point", default='0.05'),
1393  Option( 'resolution_cutoff_high','Real' , desc="ignore intensity data above this point", default='0.5'),
1394  Option( 'max_bessel_order','Integer' , desc="maximum number of bessel orders used in simulations", default='50'),
1395  Option( 'cn_symmetry','Integer' , desc="cn symmetry at one z level (along fibrilar axis)", default='0'),
1396  Option( 'b_factor','Real' , desc="b_factor value", default='20'),
1397  Option( 'b_factor_solv','Real' , desc="b_factor_solv value", default='400'),
1398  Option( 'b_factor_solv_K','Real' , desc="b_factor_solv_K value", default='0.4'),
1399  Option( 'grid_reso','Real' , desc="resolution for density sampling on the grid", default='0.5'),
1400  Option( 'grid_r','Integer' , desc="number of grid points along r", default='256'),
1401  Option( 'grid_phi','Integer' , desc="number of grid points along phi", default='128'),
1402  Option( 'grid_z','Integer' , desc="number of grid points along z", default='256'),
1403  Option( 'qfht_K1','Real' , desc="value of K1 for Hankel sampling", default='2.0'),
1404  Option( 'qfht_K2','Real' , desc="value of K2 for Hankel sampling", default='2.2'),
1405  Option( 'chi_iterations','Integer', desc="number of iterations to calculate chi e.g. number of layer lines", default='0'),
1406  Option( 'rfactor_refinement','Boolean', desc="R-factor refinement", default='false'),
1407  Option( 'output_fiber_spectra','Boolean', desc="Output intensity, reciprocal R, layer line", default='false'),
1408  Option( 'gpu_processor','Integer', desc="GPU processor number - for systems with more than 1", default='0'),
1409  Option( 'centroid_density_mass','Real' , desc="density mass of centroid", default='0.0'),
1410  ), #-score:fiber_diffraction
1411  ), # -score
1412 
1413  # packing options -----------------------------------------------------------
1414  Option_Group( 'packing',
1415  Option( 'packing', 'Boolean', desc='Packing option group', legal='true', default='true' ),
1416  Option( 'repack_only', 'Boolean', desc='Disable design at all positions', default='false' ),
1417  Option( 'prevent_repacking', 'Boolean', desc='Disable repacking (or design) at all positions', default='false' ),
1418  Option( 'cenrot_cutoff', 'Real', desc='Cutoff to generate centroid rotamers', default='0.16' ),
1419  Option( 'ignore_ligand_chi', 'Boolean', desc='Disable param file chi-angle based rotamer generation in SingleLigandRotamerLibrary', default='false' ),
1420  Option( 'ndruns', 'Integer',
1421  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.',
1422  lower='1', default='1'
1423  ),
1424  Option( 'soft_rep_design', 'Boolean',
1425  desc="Use larger LJ radii for softer potential"
1426  ),
1427  Option( 'mainchain_h_rebuild_threshold', 'Real',
1428  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.',
1429  default='0.75'
1430  ),
1431  ##Option( 'read_hetero_h2o', 'Boolean',
1432  ## desc="Read native water from pdb file. Calculate the energy between native water and protein atoms. Output native water information"
1433  ##),
1434  ##Option( 'use_aw', 'Boolean',
1435  ## desc="Use weights for all fold proteins"
1436  ##),
1437  ##Option( 'use_bw', 'Boolean',
1438  ## desc="Use weights for beta protein"
1439  ##),
1440  Option( 'use_electrostatic_repulsion', 'Boolean',
1441  desc="Use electrostatic repulsion"
1442  ),
1443  Option( 'dump_rotamer_sets', 'Boolean',
1444  desc="Output NMR-style PDB's with the rotamer sets used during packing"
1445  ),
1446  Option( 'dunbrack_prob_buried', 'Real', default='0.98', lower='0', upper='1',
1447  desc="fraction of possible dunbrack rotamers to include in each single residue rotamer set, for \'buried\' residues"
1448  ),
1449  Option( 'dunbrack_prob_nonburied', 'Real', default='0.95', lower='0', upper='1',
1450  desc="fraction of possible dunbrack rotamers to include in each single residue rotamer set, for \'nonburied\' residues"
1451  ),
1452 # Option( 'dunbrack_prob_nonburied_semirotameric', 'Real', default='0.95', lower='0', upper='1',
1453 # desc="fraction of possible dunbrack rotamers to include in each single residue rotamer set, for \'nonburied\', semi-rotameric residues"
1454 # ),
1455  Option( 'no_optH', 'Boolean',
1456  desc="Do not optimize hydrogen placement at the time of a PDB load", default="true"
1457  ),
1458  Option( 'optH_MCA', 'Boolean',
1459  desc="If running optH, use the Multi-Cool Annealer (more consistent, but slower)", default="false"
1460  ),
1461  Option( 'pack_missing_sidechains', 'Boolean', default='true', desc="Run packer to fix residues with missing sidechain density at PDB load"),
1462  Option( 'preserve_c_beta', 'Boolean',
1463  desc="Preserve c-beta positions during rotamer construction"
1464  ),
1465  Option( 'flip_HNQ', 'Boolean',
1466  desc="Consider flipping HIS, ASN, and GLN during hydrogen placement optimization"
1467  ),
1468  Option( 'fix_his_tautomer','IntegerVector', desc='seqpos numbers of his residus whose tautomer should be fixed during repacking',
1469  default=[]
1470  ),
1471  Option( 'print_pymol_selection', 'Boolean',
1472  desc="include pymol-style selections when printing a PackerTask", default="false"
1473  ),
1474 
1475  Option( 'extrachi_cutoff', 'Integer', default='18',
1476  desc="number of neighbors a residue must have before extra rotamers are used. default: 18",
1477  ),
1478  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."),
1479 
1480  # Are below option is packing options? -----------------------------------
1481  # ----------
1482  # options for packing (applicable only for fullatom scoring):
1483  # ----------
1484  ##Option( 'ex1cys', 'Boolean',
1485  ## desc="use more chi1 rotamers for cystine. Uses EX_SIX_QUARTER_STEP_STDDEVS sampling",
1486  ##),
1487  ##Option( 'exOH', 'Boolean',
1488  ## desc="use extra chi samples for hydroxyl hydrogens in ST&Y",
1489  ##),
1490  ##Option( 'exdb', 'File',
1491  ## desc="specify any extra chi angle combination using an input file following the -exdb flag. Example file \
1492  ## is rundata.exdb.example. This method is an alternative \
1493  ## to the other -ex[1234] flags; you cannot specify extra \
1494  ## rotamers using both types of flags",
1495  ## default='exrot_file',
1496  ##),
1497  ##Option( 'rotamer_explosion', 'Real',
1498  ## desc="screen through an expanded rotamer set, filtering out rotamers based upon some particular quality threshold",
1499  ## default='-1.0',
1500  ##),
1501  ##Option( 'rot_pert', 'Boolean',
1502  ## desc="add 'perturbed rotamers' by changing base rotamers chi angles by 'pert_size' degrees (below)",
1503  ##),
1504  ##Option( 'rot_pert_input', 'Boolean',
1505  ## desc="Add 'perturbed rotamers' for the starting sidechains (analogous to rot_pert flag)",
1506  ##),
1507  ##Option( 'pert_acc_prob', 'Real',
1508  ## desc="Fraction of potential 'perturbed rotamers' to include",
1509  ## default='1.0',
1510  ##),
1511  ##Option( 'pert_size', 'Real',
1512  ## desc="Number of degrees each perturbation should entail",
1513  ## default='5.0',
1514  ##),
1515  Option( 'outeriterations_scaling', 'Real', desc="Multiplier for number of outer iterations", default='1.0', ),
1516  Option( 'inneriterations_scaling', 'Real', desc="Multiplier for number of inner iterations", default='1.0', ),
1517  #Option( 'ignore_residue_burial', 'Boolean', desc="when generating rotamers in the packer task, do not take residue burial into account", default='false',),
1518 # Option( 'explicit_h2o', 'Boolean',
1519 # desc="Use rotamers with explicit waters",
1520 # ),
1521  Option( 'adducts', 'StringVector',
1522  desc="Gives list of adduct names to generate for residue \
1523  definitions. Each adduct name may be followed by an \
1524  optional integer, which gives a maximum number of adducts \
1525  of that type which will be generated.",
1526  ),
1527 # Option( 'solvate', 'Boolean',
1528 # desc="Add explicit water, but don't try to place water \
1529 # such that it bridges Hbonds, just put it on every \
1530 # available Hbond donor/acceptor where there's no \
1531 # clash (implies explicit_h2o)",
1532 # ),
1533  Option( 'use_input_sc', 'Boolean',
1534  desc="Use rotamers from input structure in packing \
1535  By default, input sidechain coords are NOT \
1536  included in rotamer set but are discarded \
1537  before the initial pack; with this flag, the \
1538  the input rotamers will NOT be discarded. \
1539  Note that once the starting rotamers are \
1540  replaced by any mechanism, they are no longer \
1541  included in the rotamer set \
1542  (rotamers included by coordinates)",
1543  ),
1544  Option( 'unboundrot', 'FileVector', desc="Read 'native' rotamers from supplied PDB(s). \
1545  Unlike -use_input_sc, these rotamers will not be lost during repacks. \
1546  This option requires specific support from the protocol; \
1547  it is NOT built in to PackerTask.initialize_from_command_line()" ),
1548  ##Option( 'norepack_disulf', 'Boolean',
1549  ## desc="do not change disulfides in pack or rotamer trials or sidechain minimize",
1550  ##),
1551  ##Option( 'minimize_rot', 'Boolean',
1552  ## desc="minimize each rotamer in rotamer_trials",
1553  ##),
1554  ##Option( 'try_both_his_tautomers', 'Boolean',
1555  ## desc="Turns on a variant for histidine with the side chain polar hydrogen moved from NE2 to ND1",
1556  ## default='true',
1557  ##),
1558  ##Option( 'write_interaction_graph', 'Boolean',
1559  ## desc="Write binary file of rotamer pair energies. Must be in design mode",
1560  ##),
1561  ##Option( 'read_interaction_graph', 'Boolean',
1562  ## desc="Read binary file of rotamer pair energies; must use same \
1563  ## coordinates for backbone used to produce the interaction graph file. \
1564  ## Simple translation and rotation of a pdb will \
1565  ## introduce enough numerical noise to invalidate the energies in the file. \
1566  ## Must be in design mode",
1567  ##),
1568  ##Option( 'ig_file', 'File',
1569  ## desc="The name of the interaction graph file. I suggest the extension '.igf' \
1570  ## for interaction graph file. This flag/input is necessary if either \
1571  ## -write_interaction_graph or -read_interaction_graph are set",
1572  ##),
1573  ##Option( 'dump_rotamers_pdb', 'Integer',
1574  ## desc="for residue # (rosetta numbering -- see resfile) \
1575  ## output a file containing the set of rotamers used \
1576  ## during design, with their one-body energies printed \
1577  ## in the b-factor column. If you want multiple residues at once, you can edit \
1578  ## the code to do so",
1579  ## default='0',
1580  ##),
1581  Option( 'max_rotbump_energy', 'Real',
1582  desc='discard rotamers with poor interactions with the background using \
1583  the specified cutoff. Values must be in the range of 0 to 5.0.',
1584  default='5.0'
1585  ),
1586  Option( 'lazy_ig', 'Boolean',
1587  desc="Force the packer to always allocate pair energy storage but procrastinate \
1588  energy caclulation until each RPE is needed; each RPE is \
1589  computed at most once. Memory use is quadratic in rotamers per residue. \
1590  The InteractionGraphFactory will prefer the linear-memory interaction graph \
1591  to the Lazy Interaction graph, so specifying both linmem_ig and lazy_ig results \
1592  in the use of the linear-memory interaction graph. The Surface-series IGs \
1593  (surface weight in scorefunction is nonzero) also overrides this IG.",
1594  default='false',
1595  ),
1596  Option( 'double_lazy_ig', 'Boolean',
1597  desc="Force the packer to always procrastinate allocation AND energy caclulation \
1598  until each RPE is needed; each RPE is computed at most once. \
1599  The InteractionGraphFactory will prefer the linear-memory interaction graph \
1600  to the DoubleLazy Interaction graph, so specifying both linmem_ig and lazy_ig results \
1601  in the use of the linear-memory interaction graph. The Surface-series IGs (surface \
1602  weight in scorefunction is nonzero) also overrides this IG.",
1603  default='false',
1604  ),
1605 # Option( 'double_lazy_ig_mem_limit', 'Integer',
1606 # desc="The amount of memory, in MB, that each double-lazy interaction graph should be allowed \
1607 # to allocate toward rotamer pair energies. Using this flag will not trigger the \
1608 # use of the double-lazy interaction graph, and this flag is not read in the PackerTask's \
1609 # initialize_from_command_line routine. For use in multistate design",
1610 # default='0',
1611 # ),
1612  Option( 'linmem_ig', 'Integer',
1613  desc="Force the packer to use the linear memory interaction graph; each \
1614  RPE may be computed more than once, but recently-computed RPEs \
1615  are reused. The integer parameter specifies the number \
1616  of recent rotamers to store RPEs for. 10 is the recommended size. \
1617  Memory use scales linearly with the number of \
1618  rotamers at about 200 bytes per rotamer per recent rotamers to \
1619  store RPEs for (~4 KB per rotamer by default)",
1620  default='10',
1621  ),
1622  ##Option( 'minimalist_ig', 'Boolean',
1623  ## desc="DOES NOT YET WORK. Force the packer to use the minimalist interaction graph. The minimalist \
1624  ## interaction graph allocates no space for RPE storage. It is \
1625  ## somewhat slow. Memory use scales linearly with the number of rotamers",
1626  ##),
1627  ##Option( 'packer_precompute_only', 'Boolean',
1628  ## desc="DOES NOT YET WORK. force the packer to precompute rotamer pair energies; by default \
1629  ## the packer will either precompute RPEs or use the Lazy interaction \
1630  ## graph after predicting which is faster",
1631  ##),
1632  ##Option( 'tight_memory_restrictions', 'Boolean',
1633  ## desc="DOES NOT YET WORK. decide between precomputing pair energies and using the linmem IG \
1634  ## depending on whether pair energy storage would exceed the MB limit \
1635  ## indicated (default 256 MB);\
1636  ## Caution: it is possible for the linmem IG to use more memory \
1637  ## than the given limit",
1638  ##),
1639  ##Option( 'MB_limit_for_RPEs', 'Integer',
1640  ## desc="DOES NOT YET WORK. for use with the -tight_memory_restrictions flag",
1641  ##),
1642  Option( 'multi_cool_annealer', 'Integer',
1643  desc="Alternate annealer for packing. Runs multiple quence cycles in a first cooling stage, and tracks \
1644  the N best network states it observes. It then runs low-temperature rotamer substitutions with repeated \
1645  quenching starting from each of these N best network states. 10 is recommended.",
1646  ),
1647 
1648  Option( 'minpack_temp_schedule', 'RealVector',
1649  desc="Alternate annealing schedule for min_pack.",
1650  ),
1651  Option( 'minpack_inner_iteration_scale', 'Integer',
1652  desc="The number of inner iterations per rotamer to run at each temperature in min pack.",
1653  ),
1654  Option( 'minpack_disable_bumpcheck', 'Boolean',
1655  desc="Disable bump check in min pack (i.e. include rotamers that collide with the background.",
1656  ),
1657 
1658  ##Option( 'Wint_repack_only', 'Boolean',
1659  ## desc="set weights to int weights (use environment dependent H-bond energy) when repacking \
1660  ## (calling subroutine 'pack_rotamer') default weight is current packer weights \
1661  ## (no environment dependent weight for hb) No longer be used. If you are in ddg mode, \
1662  ## use -Wpack_only",
1663  ##),
1664  ##Option( 'Wint_score_only', 'Boolean',
1665  ## desc="set weights to int weights (use environment dependent H-bond energy) \
1666  ## when scoring (calling subroutine 'fullatom_energy') \
1667  ## default weight is current packer weights \
1668  ## (no environment dependent weight for hb) \
1669  ## No longer be used. If you are in ddg mode, \
1670  ## use -Wint_only",
1671  ##),
1672  #Option( 'read_hetero_h2o', 'Boolean',
1673  # desc="read native water from pdbfile calculate the energy between native water \
1674  # and protein atoms output native water information",
1675  #),
1676  ##Option( 'int_score', 'Boolean',
1677  ## desc="set up for reading and scoring protein complex",
1678  ##),
1679  Option_Group( 'ex1',
1680  Option( 'ex1', 'Boolean',
1681  desc="use extra chi1 sub-rotamers for all residues that pass the extrachi_cutoff",
1682  ),
1683  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1684  desc="use extra chi1 sub-rotamers for all residues that pass the extrachi_cutoff \
1685 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1686 There are currently 8 options; they all include the original chi dihedral angle. \
1687 \
1688 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1689 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1690 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1691 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1692 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1693 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1694 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1695 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1696  ),
1697  Option( 'operate', 'Boolean', desc='apply special operations (see RotamerOperation class) on ex1 rotamers' ),
1698  ), # ex1
1699 
1700  Option_Group( 'ex2',
1701  Option( 'ex2', 'Boolean',
1702  desc="use extra chi2 sub-rotamers for all residues that pass the extrachi_cutoff",
1703  ),
1704  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1705  desc="use extra chi2 sub-rotamers for all residues that pass the extrachi_cutoff \
1706 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1707 There are currently 8 options; they all include the original chi dihedral angle. \
1708 \
1709 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1710 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1711 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1712 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1713 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1714 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1715 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1716 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1717  ),
1718  Option( 'operate', 'Boolean', desc='apply special operations (see RotamerOperation class) on ex2 rotamers' ),
1719  ), # ex2
1720 
1721  Option_Group( 'ex3',
1722  Option( 'ex3', 'Boolean',
1723  desc="use extra chi1 sub-rotamers for all residues that pass the extrachi_cutoff",
1724  ),
1725  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1726  desc="use extra chi3 sub-rotamers for all residues that pass the extrachi_cutoff \
1727 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1728 There are currently 8 options; they all include the original chi dihedral angle. \
1729 \
1730 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1731 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1732 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1733 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1734 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1735 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1736 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1737 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1738  ),
1739  Option( 'operate', 'Boolean', desc='apply special operations (see RotamerOperation class) on ex3 rotamers' ),
1740  ), # ex3
1741 
1742  Option_Group( 'ex4',
1743  Option( 'ex4', 'Boolean',
1744  desc="use extra chi1 sub-rotamers for all residues that pass the extrachi_cutoff",
1745  ),
1746  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1747  desc="use extra chi4 sub-rotamers for all residues that pass the extrachi_cutoff \
1748 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1749 There are currently 8 options; they all include the original chi dihedral angle. \
1750 \
1751 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1752 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1753 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1754 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1755 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1756 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1757 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1758 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1759  ),
1760  Option( 'operate', 'Boolean', desc='apply special operations (see RotamerOperation class) on ex4 rotamers' ),
1761  ), # ex6
1762 
1763  Option_Group( 'ex1aro',
1764  Option( 'ex1aro', 'Boolean',
1765  desc="use extra chi1 sub-rotamers for aromatic residues that pass the extrachi_cutoff",
1766  ),
1767  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1768  desc="use extra chi1 sub-rotamers for all residues that pass the extrachi_cutoff \
1769 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1770 There are currently 8 options; they all include the original chi dihedral angle. \
1771 \
1772 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1773 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1774 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1775 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1776 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1777 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1778 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1779 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1780  ),
1781  ), # ex1aro
1782 
1783  Option_Group( 'ex2aro',
1784  Option( 'ex2aro', 'Boolean',
1785  desc="use extra chi1 sub-rotamers for aromatic residues that pass the extrachi_cutoff",
1786  ),
1787  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1788  desc="use extra chi2 sub-rotamers for all residues that pass the extrachi_cutoff \
1789 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1790 There are currently 8 options; they all include the original chi dihedral angle. \
1791 \
1792 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1793 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1794 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1795 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1796 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1797 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1798 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1799 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1800  ),
1801  ), # ex2aro
1802 
1803  Option_Group( 'ex1aro_exposed',
1804  Option( 'ex1aro_exposed', 'Boolean',
1805  desc="use extra chi1 sub-rotamers for all aromatic residues",
1806  ),
1807  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1808  desc="use extra chi1 sub-rotamers for all aromatic residues \
1809 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1810 There are currently 8 options; they all include the original chi dihedral angle. \
1811 \
1812 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1813 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1814 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1815 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1816 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1817 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1818 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1819 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1820  ),
1821  ), # ex1aro_exposed
1822 
1823  Option_Group( 'ex2aro_exposed',
1824  Option( 'ex2aro_exposed', 'Boolean',
1825  desc="use extra chi2 sub-rotamers for all aromatic residues",
1826  ),
1827  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1828  desc="use extra chi2 sub-rotamers for all aromatic residues \
1829 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1830 There are currently 8 options; they all include the original chi dihedral angle. \
1831 \
1832 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1833 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1834 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1835 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1836 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1837 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1838 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1839 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1840  ),
1841  ), # ex2aro_exposed
1842 
1843  Option_Group( 'exdna',
1844  Option( 'exdna', 'Boolean',
1845  desc="use extra dna rotamers",
1846  ),
1847  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1848  desc="extra dna rotamer sample level -- rotbuilder converts from 0-7 to number",
1849  ),
1850  ##Option( 'dna_rotlib', 'String', desc="DNA rotamer library",
1851  ##),
1852  ##Option( 'use_input_dna_bb', 'Boolean', desc="Use DNA backbone from input structure in packing",
1853  ##),
1854  ), # -packing:exdna
1855  ), # -packing
1856 
1857 ####################################
1858 # General option groups
1859 # Please keep in alphabetical order.
1860 
1861  ################################
1862  # archive options
1863  Option_Group( 'archive',
1864  Option( 'reread_all_structures','Boolean', desc='ignore pool file... reread from batches', default='false'),
1865  Option( 'completion_notify_frequency','Integer', desc='tell Archive every X completed decoys', default='100'),
1866  ), # -archive
1867 
1868  ###########################################################################
1869  # Carbohydrate Options
1870  Option_Group('carbohydrates',
1871  Option('glycam_pdb_format', 'Boolean',
1872  desc='Indicates that the input PDB files were generated by GLYCAM '
1873  'and thus join any HO- or RO- \\"residues\\" to the following one '
1874  'since Rosetta is smart enough to patch reducing ends. The '
1875  'default value is false.',
1876  short='Was this input file generated by GLYCAM?',
1877  legal=['true', 'false'],
1878  default='false'
1879  ),
1880  Option('linkage_conformer_data_file', 'String',
1881  desc='Specify the file where glycosidic linkage conformer torsion '
1882  'angle statistical data is stored. '
1883  'The default directory is '
1884  'database/chemical/carbohydrates/linkage_conformers/'
1885  'but any path can be provided. '
1886  'The default filename is default.table',
1887  short='Specify a file containing glycosidic linkage data.',
1888  default='default.table'
1889  ),
1890 
1891  ##### Glycan Relax Options #####
1892  Option('glycan_relax_test', 'Boolean',
1893  desc='Indicates to go into testing mode for Glycan Relax. '\
1894  'Will try all torsions in a given PDB in a linear fashion',
1895  default = 'false'
1896  ),
1897  Option('glycan_relax_rounds', 'Integer',
1898  desc = 'Number of rounds to use for Glycan Relax. Total rounds is this # times number of glycan residues in movemap',
1899  default = '25'
1900  ),
1901  Option('pack_glycans', 'Boolean',
1902  desc = 'Pack Glycan OH groups during Glycan Relax. Currently time consuming',
1903  default = 'false'
1904  ),
1905  Option('final_min_glycans', 'Boolean',
1906  desc = 'Do a final minimization of glycans after glycan relax protocol?',
1907  default = 'true'
1908  ),
1909  Option('glycan_relax_movie', 'Boolean',
1910  desc = "Make a movie of accepts and trials (send to pymol)",
1911  default = 'false',
1912  ),
1913  Option('glycan_relax_kt', 'Real',
1914  desc = "KT for GlycanRelaxMover",
1915  default = '2.0',
1916  ),
1917  ), # -carbohydrates
1918 
1919  ##########################################################################
1920  Option_Group('rings',
1921  Option('lock_rings', 'Boolean',
1922  desc='Sets whether or not alternative ring conformations '
1923  'will be sampled by the protocol, (e.g, ring flips or '
1924  'puckering). Only low-energy conformers will be sampled, if '
1925  'known. Otherwise, all ideal ring conformers will be '
1926  'sampled. The default value is false.',
1927  short='Are rings allowed to flip or pucker?',
1928  legal=['true', 'false'],
1929  default='false'),
1930  Option('idealize_rings', 'Boolean',
1931  desc='Sets whether or not the ring conformations of input poses '
1932  'are idealized (set to the lowest-energy ring conformer, '
1933  'according to the toplogy file for that residue). The '
1934  'default is false: the input ring conformations will be used.',
1935  short='Are rings pre-set to low-energy conformations?',
1936  legal=['true', 'false'],
1937  default='false'),
1938  Option('sample_high_energy_conformers', 'Boolean',
1939  desc='Sets whether or not even ring conformations that are energy '
1940  'energy maxima will be sampled by the protocol. The default '
1941  'value is false; however, if the low energy ring conformers '
1942  'are not listed in the topology files, all ideal ring '
1943  'conformers will be sampled anyway.',
1944  short='Are rings allowed to flip or pucker?',
1945  legal=['true', 'false'],
1946  default='false'),
1947  ), # -rings
1948 
1949  # chemical settings -----------------------------------------------------------
1950  Option_Group( 'chemical',
1951  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" ),
1952  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", ),
1953  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> ..." ),
1954  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' " ),
1955  Option( 'patch_selectors', 'StringVector', desc = 'allow patch files that have CMDLINE_SELECTOR tags can be switched on with this option',default=[] ),
1956  Option( 'override_rsd_type_limit', 'Boolean', desc="over-ride cap on number of residue types.", default='false'),
1957  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' " ),
1958  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' " ),
1959  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' " ),
1960  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' " ),
1961  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' " ),
1962  Option( 'enlarge_H_lj', 'Boolean', desc="Use larger LJ_WDEPTH for Hs to avoid RNA clashes", default='false'),
1963  Option( 'no_hbonds_to_ether_oxygens', 'Boolean', desc="no H-bonds to nucleic acid ether oxygens O3', O4', O5'", default='false'),
1964  ), #-chemical
1965 
1966  # Coarse options
1967  ##Option_Group( 'coarse',
1968  ## Option( 'crescore', 'Boolean', desc = "rescore structures in fine and coarse"),
1969  ## Option( 'crelax', 'Boolean', desc = "rescore structures in fine and coarse after relax"),
1970  ## Option( 'crepack', 'Boolean', desc = "rescore structures in fine and coarse after repack"),
1971  ## Option( 'cstrip_relax', 'Boolean', desc = "rescore structures in fine and coarse, full repack (stripped sidechains) and relax"),
1972  ## Option( 'cjob','String', desc = "list of input pdb files"),
1973  ##),
1974 
1975  Option_Group( 'constraints',
1976 # Option( 'CA_tether', 'Real', default='2.0', desc='default CA tether for harmonic constraints'),
1977  ##Option( 'p_cst', 'Real', default='0.1', desc='probability of res-res constraint'),
1978  Option( 'exit_on_bad_read', 'Boolean', default = 'true', desc='exit if error is encountered reading constraints' ),
1979  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).' ),
1980  Option( 'cst_weight', 'Real', default = '1.0'),
1981  Option( 'max_cst_dist', 'Real', default = '12.0' ),
1982  Option( 'cst_fa_file', 'StringVector', desc='constraints filename(s) for fullatom. When multiple files are given a *random* one will be picked.' ),
1983  Option( 'cst_fa_weight', 'Real', default = '1.0'),
1984  Option( 'normalize_mixture_func', 'Boolean', default = 'false' ),
1985  Option( 'penalize_mixture_func', 'Boolean', default = 'true' ),
1986  ##Option( 'mixture_func_distance_cutoff', 'Real', default = '20' ),
1987  Option( 'forest_file', 'File', desc='file with constraintforest', default='' ),
1988  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' ),
1989  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' ),
1990  Option( 'dump_cst_set' , 'File', desc='dump the cstset_ to file ', default='' ),
1991  Option( 'evaluate_max_seq_sep', 'IntegerVector', desc='evaluate constraints to this seq-sep [vector]', default='0' ),
1992  Option( 'named', 'Boolean', desc='enable named constraints to avoid problems with changing residue-types e.g., cutpoint-variants', default='false' ),
1993  Option( 'no_cst_in_relax', 'Boolean', desc='remove constraints for relax', default='false' ),
1994  Option( 'no_linearize_bounded', 'Boolean', desc='dont switch to linearized in BOUNDED func', default='false' ),
1995  Option( 'pocket_constraint_weight', 'Real',default='0',desc='Weight of the Pocket Constraint'),
1996  Option( 'pocket_zero_derivatives', 'Boolean', desc="Return zero for PocketConstaint derivatives", default='false' ),
1997  Option( 'viol', 'Boolean', desc='show violations', default='false' ),
1998  Option( 'viol_level', 'Integer', desc='how much detail for violation output', default='1' ),
1999  Option( 'viol_type', 'String', desc='work only on these types of constraints', default='' ),
2000  ##Option( 'debug_cst_stages', 'Boolean', desc="Unknown - ask olange", default = 'false' ),
2001  Option( 'sog_cst_param', 'Real', desc='weight parameter for SOGFunc constraints', default = '0.0' ),
2002  Option( 'sog_upper_bound', 'Real', desc='Upper cutoff for SOGFunc constraints', default = '10.0' ),
2003  Option( 'epr_distance', 'Boolean', desc='use epr distance potential', default='false' ),
2004  Option( 'combine', 'Integer', desc='combine constraints randomly into OR connected groups (Ambiguous). N->1', default='1' ),
2005  Option( 'combine_exclude_region', 'File', desc='core-defintion file do not combine constraints that are core-core' ),
2006  Option( 'skip_redundant', 'Boolean', desc='skip redundant constraints', default='false'),
2007  Option( 'skip_redundant_width', 'Integer', desc='radius of influence for redundant constraints', default='2'),
2008 # Option( 'increase_constraints', 'Real', desc='Multiplicative factor applied to constraints. Not widely supported yet.', default='1.0'),
2009  ), # -constraints
2010 
2011  # correction for testing ------------------------------------------------------------
2012  Option_Group( 'corrections',
2013  Option( 'beta', 'Boolean', desc='Use the most-recent (curr Nov 15) beta score function', default='false'),
2014  Option( 'beta_cart', 'Boolean', desc='Use the most-recent (curr Nov 15) beta score function for nonideal optimization', default='false'),
2015  Option( 'beta_nov15', 'Boolean', desc='Use the November 2015 beta score function', default='false'),
2016  Option( 'beta_nov15_cart', 'Boolean', desc='Use the November 2015 beta score function for nonideal optimization', default='false'),
2017  Option( 'beta_july15', 'Boolean', desc='Use the July 2015 beta score function', default='false'),
2018  Option( 'beta_july15_cart', 'Boolean', desc='Use the July 2015 beta score function for nonideal optimization', default='false'),
2019  Option( 'newdna', 'Boolean', desc='Apply some dna-specific mods to chemical/scoring (for testing)',
2020  default='false'),
2021  Option( 'correct', 'Boolean',
2022  desc="turn on default corrections:"
2023  "See src/core/init/score_function_corrections.cc",
2024  default="false"),
2025  Option( 'hbond_sp2_correction', 'Boolean',
2026  desc="turn on the hbond Sp2 correction with a single flag"
2027  " use with sp2_correction.wts. Note, these weight sets are chosen automatically by default."
2028  " -score::hb_sp2_chipen"
2029  " -hb_sp2_BAH180_rise 0.75"
2030  " -hb_sp2_outer_width 0.357"
2031  " -hb_fade_energy"
2032  " -hbond_measure_sp3acc_BAH_from_hvy"
2033  " -lj_hbond_hdis 1.75"
2034  " -lj_hbond_OH_donor_dis 2.6"
2035  " -hbond_params sp2_elec_params"
2036  " -expand_st_chi2sampling"
2037  " -smooth_fa_elec"
2038  " -elec_min_dis 1.6"
2039  " -elec_r_option false"
2040  " -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"),
2041  Option( 'facts_default', 'Boolean',
2042  desc="turn on default options for FACTS"
2043  " use with scorefacts.wts. Incompatible with hbond_sp2_correction option."
2044  " -correct"
2045  " -lj_hbond_hdis 2.3"
2046  " -lj_hbond_OH_donor_dis 3.4"
2047  " -use_bicubic_interpolation "
2048  " -hbond_params sp2_elec_params"
2049  " -hb_sp2_chipen "
2050  " -hbond_measure_sp3acc_BAH_from_hby"
2051  " -facts_GBpair_cut 10.0"
2052  " -facts_min_dis 1.5"
2053  " -facts_dshift 1.4"
2054  " -facts_die 1.0"
2055  " -facts_kappa 12.0"
2056  " -facts_asp_patch 3"
2057  " -facts_intrares_scale 0.4"
2058  " -facts_elec_sh_exponent 1.8",
2059  default="false"),
2060  Option_Group( 'score',
2061  Option( 'bbdep_omega', 'Boolean', desc="Enable phi-psi dependent omega", ),
2062  Option( 'bbdep_bond_params', 'Boolean', desc="Enable phi-psi dependent bondlengths and bondangles", ),
2063  Option( 'bbdep_bond_devs', 'Boolean', desc="Enable phi-psi dependent deviations for bondlengths and bondangles", ),
2064  Option( 'no_his_his_pairE', 'Boolean', desc="Set pair term for His-His to zero", ),
2065  Option( 'no_his_DE_pairE', 'Boolean', desc="Set pair term for His-Glu and His-Asp to zero", ),
2066 # Option( 'hbond_His_Phil_fix', 'Boolean', desc="Phil's fix on Histidine interaction angular dependence"),
2067 # Option( 'helix_hb_06_2009', 'Boolean', desc="Helix backbone-backbone hbond potential with a different angular dependence"),
2068  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" ),
2069  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" ),
2070  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" ),
2071  Option( 'rama_map', 'File', default = 'scoring/score_functions/rama/Rama_smooth_dyn.dat_ss_6.4', desc="Ramachandran file used by rama" ),
2072  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." ),
2073  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." ),
2074  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." ),
2075  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." ),
2076  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." ),
2077  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." ),
2078  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." ),
2079  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." ),
2080  Option( 'cenrot', 'Boolean', desc="Use the Centroid Rotamer Model.", default="false" ),
2081  Option( 'dun10', 'Boolean', desc="Use the 2010 Dunbrack library instead of either the the 2002 library.", default="true" ),
2082  Option( 'dun10_dir', 'String', desc="Name of dun10 dir", default="rotamer/ExtendedOpt1-5" ),
2083  Option( 'dun02_file', 'String', desc="Name of dun02 input file", default="rotamer/bbdep02.May.sortlib" ),
2084  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" ),
2085 # Option( 'fa_elec_co_only', 'Boolean', desc="Using only CO-CO interactions in fa_elec_bb_bb", default = 'false' ),
2086  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' ),
2087  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'),
2088  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' ),
2089  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' ),
2090  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"),
2091  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"),
2092  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"),
2093  Option( 'hb_sp2_chipen', 'Boolean', desc="Experimental term for hydrogen bonds to sp2 acceptors: penalizes out-of-plane geometry by 67%", default="true" ),
2094  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" ),
2095  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"),
2096  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" ),
2097  Option( 'dun_normsd', 'Boolean', desc="Use height-normalized guassian distributions to model p(chi|phi,psi) instead of height-unnormalized gaussians", default="false" ),
2098  Option( 'dun_entropy_correction', 'Boolean', desc="Add Shannon entropy correction to rotamer energy: E = -logP + S", default="false" ),
2099  ), #-corrections:score
2100  Option_Group( 'chemical',
2101  Option( 'icoor_05_2009', 'Boolean', desc="New set of idealized coordinates for full atom, 05-2009" ),
2102  Option( 'parse_charge', 'Boolean', desc="Use PARSE charge set." ),
2103  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"),
2104  ), #-corrections:chemical
2105 
2106  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'),
2107 
2108  #Different options for new dunbrack, rama, prop libraries, they have effect only when shapovalov_lib_fixes_enable is true.
2109  Option_Group( 'shapovalov_lib',
2110  Option( 'shap_dun10_enable', 'Boolean', desc="Enable new Shapovalov's dun10 fix if the umbrella option is on, shapovalov_lib_fixes", default="true" ),
2111  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"),
2112  Option( 'shap_dun10_dir', 'String', desc="Name of the new format dun10 dir", default="rotamer/shapovalov/StpDwn_5-5-5" ),
2113  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"),
2114 
2115  Option( 'shap_rama_enable', 'Boolean', desc="Enable new Shapovalov's Rama fix if the umbrella option is on, shapovalov_lib_fixes", default="true" ),
2116  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"),
2117  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" ),
2118  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" ),
2119 
2120  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" ),
2121  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"),
2122  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" ),
2123 
2124  ), #-corrections:shapovalov_lib
2125  ), # -corrections
2126 
2127  # Evaluator Options ---------------------------------------------------------
2128  Option_Group( 'evaluation' ,
2129  Option( 'rmsd_target', 'FileVector', desc='[vector] determine rmsd against this/these structure(s)'),
2130  Option( 'rmsd_column', 'StringVector', desc='[vector] use xxx as column name: rms_xxx'),
2131  Option( 'rmsd_select', 'FileVector', desc='[vector] a bunch of loop files which makes rmsds with tags: rms_XXX, where XXX is basename of file' ),
2132  Option( 'align_rmsd_target', 'FileVector', desc='[vector] determine rmsd against this/these structure(s) using simple sequence alignment'),
2133  Option( 'structural_similarity', 'FileVector', desc='[vector] measure average similarity against these structures (option specifies a silent-file)', ),
2134  Option( 'contact_map', 'Boolean', desc='Calculate contact map similarity using the given native' ),
2135  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)' ),
2136  Option( 'align_rmsd_column', 'StringVector', desc='[vector] use xxx as column name for align_rmsd_target: rms_xxx'),
2137  Option( 'align_rmsd_fns', 'FileVector', desc='[vector] of sequence alignments used for align_rmsd files'),
2138  Option( 'align_rmsd_format', 'String',
2139  desc='format for sequence alignment between structures used in evaluation',
2140  legal = ['grishin','general'], default='grishin'
2141  ),
2142  Option( 'predicted_burial_fn', 'String', desc='file for burial predictions', default = '' ),
2143  Option( 'pool', 'File', desc='find closest matching structure in this pool and report tag and rmsd' ),
2144  Option( 'rmsd', 'FileVector', desc='[vector/pairs] tripletts: rmsd_target (or NATIVE / IRMS) col_name selection_file (or FULL)'),
2145  Option( 'chirmsd', 'FileVector', desc='[vector/tripletts]: rmsd_target (or NATIVE / IRMS ) col_name selection_file ( or FULL) '),
2146  Option( 'gdtmm', 'Boolean', desc='for each rmsd evaluator also a gdtmm evaluator is created', default='false'),
2147  Option( 'gdttm', 'Boolean', desc='for each rmsd evaluator also a gdttm evaluator is created', default='false'),
2148  Option( 'score_with_rmsd','Boolean', desc='score the pose on the same subset of atoms as in the rmsd poses'),
2149  Option( 'constraints', 'FileVector', desc='[vector] evaluate against these constraint sets'),
2150  Option( 'constraints_column', 'FileVector', desc='[vector] use xxx as column name: cst_xxx'),
2151  Option( 'combined_constraints', 'FileVector', desc='[vector] use xxx as cst-file but combine constraints before applying'),
2152  Option( 'combined_constraints_column', 'FileVector', desc='[vector] use xxx as cst-file but combine constraints before applying'),
2153  Option( 'combine_statistics','Integer', default ='10', desc='repeat constraint evaluation X times to get statistics of constraint combination'),
2154 
2155  Option( 'chemical_shifts','StringVector', desc='compute chemical shift score with SPARTA+ use tuples: talos_file [cs]_column_name (ATTENTION uses filesystem)'),
2156  Option( 'sparta_dir','String', desc='[optional] point to an external resource for the sparta directory (instead of minirosetta_database)', default='SPARTA+'),
2157  Option( 'cam_shifts','StringVector', desc='compute chemical shift score with Camshift talos_file [cs]_column_name (ATTENTION uses filesystem)'),
2158  Option( 'pales','StringVector', desc='compute Residual Dipolar Couplings using the PALES program (ATTENTION uses filesystem)'),
2159  Option( 'extra_score','FileVector', desc='[vector] provide .wts files to generate extra columns'),
2160  Option( 'extra_score_patch','FileVector', desc='[vector] provide .patch files, set NOPATCH for columns that are not patched'),
2161 
2162  Option( 'extra_score_column', 'StringVector', desc='[vector] use xxx as column name: score_xxx'),
2163  Option( 'extra_score_select','FileVector',desc='[vector] /rigid/ files for selection, use SELECT_ALL as placeholder'),
2164 # Option( 'rdc_select', 'FileVector', desc='[vector] as rmsd_select provide loop-file(RIGID) to compute RDC score on selected residues' ),
2165  Option( 'rdc_target', 'FileVector', desc='[vector] as rmsd_target/column provide PDB wih missing density to compute RDC score on selected residues' ),
2166  Option( 'symmetric_rmsd', 'Boolean', desc='calculate the rmsd symmetrically by checking all chain orderings'),
2167 
2168  Option( 'rdc_column', 'StringVector', desc='[vector] column names for rdc_select'),
2169  Option( 'rdc','StringVector', desc='[vector] rdc-files and column names for RDC calculation'),
2170  Option( 'built_in_rdc','String', desc='evaluate rdc from -in:file:rdc with standard score function and store under column xxx'),
2171  Option( 'jump_nr', 'Boolean', desc='adds the JumpNrEvaluator for the nrjumps column', default='false' ),
2172  Option( 'score_exclude_res', 'IntegerVector', desc="Calculates a select_score column based on all residues not excluded by the command line vector" ),
2173  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' ),
2174  Option( 'score_sscore_maxloop', 'Integer', desc='defines the maximum length of a loop that is still considered for the sscore - score', default='3' ),
2175 # Option( 'rpf', 'Boolean', desc='will compute RPF score with distance cutoff 5 and store in column rpf_score', default='false' ),
2176  Option( 'window_size', 'Integer', desc='Window size for local RMSD calculations in windowed_rmsd app', default='5'),
2177  Option( 'I_sc', 'String', desc='score function name used to calculate I_sc', default = 'score12' ),
2178  Option( 'Irms', 'Boolean', desc='will compute the docking interface rmsd', default='false'),
2179  Option( 'Ca_Irms', 'Boolean', desc='will compute the docking Ca-atom interface rmsd', default='false'),
2180  Option( 'Fnat', 'Boolean', desc='will compute the docking recovered fraction of native contacts', default='false'),
2181  Option( 'Lrmsd', 'Boolean', desc='will compute the docking ligand rmsd', default='false'),
2182  Option( 'Fnonnat', 'Boolean', desc='will compute the fraction of non-native contacts for docking', default='false'),
2183  Option( 'DockMetrics', 'Boolean', desc='will compute all docking metrics (I_sc/Irms/Fnat/Lrmsd for now) for replica docking', default='false'),
2184  ), # -evaluation
2185 
2186  # Filter Options -----------------------------------------------------------
2187  Option_Group( 'filters',
2188  Option( 'disable_all_filters', 'Boolean',
2189  desc="turn off all centroid filters: RG, CO, and Sheet",
2190  default = 'false' ),
2191  Option( 'disable_rg_filter', 'Boolean',
2192  desc="turn off RG filter",
2193  default = 'false' ),
2194  Option( 'disable_co_filter', 'Boolean',
2195  desc="turn off contact order filter",
2196  default = 'false' ),
2197  Option( 'disable_sheet_filter', 'Boolean',
2198  desc="turn off sheet filter",
2199  default = 'false' ),
2200  Option( 'set_pddf_filter', 'Real', desc="Turns on PDDF filter with a given score cutoff",default="5.0"),
2201  Option( 'set_saxs_filter', 'Real', desc="Turns on SAXS energy filter with a given score cutoff",default="-3"),
2202  ), # -filters
2203 
2204  Option_Group( 'gpu',
2205  Option('gpu', 'Boolean', desc='Enable/Disable GPU support', default ='true'),
2206  Option('device', 'Integer', desc='GPU device to use', default = '1'),
2207  Option('threads', 'Integer', desc='Max GPU threads to use', default = '2048'),
2208  ), # -gpu
2209 
2210  Option_Group( 'jumps',
2211  Option( 'evaluate', 'Boolean', desc='evaluate N-CA-C gemoetry for all jumps in the fold-tree', default='false' ),
2212  Option( 'extra_frags_for_ss', 'File', desc='use ss-def from this fragset', default='' ),
2213  Option( 'fix_chainbreak', 'Boolean', desc= 'minimize to fix ccd in re-runs', default='false' ),
2214  Option( 'fix_jumps', 'File', desc='read jump_file', default='' ),
2215  Option( 'jump_lib', 'File', desc='read jump_library_file for automatic jumps', default='' ),
2216  Option( 'loop_definition_from_file', 'File', desc= 'use ss-def from this file', default='' ),
2217  Option( 'no_chainbreak_in_relax', 'Boolean', desc='dont penalize chainbreak in relax', default='false' ),
2218  Option( 'pairing_file', 'File', desc='file with pairings', default='' ),
2219  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' ),
2220  Option( 'residue_pair_jump_file', 'File', desc='a file to define residue pair jump', default='' ),
2221  Option( 'sheets', 'IntegerVector', desc='sheet topology--> replaces -sheet1 -sheet2 ... -sheetN', default='1' ),
2222  Option( 'topology_file', 'File', desc='read a file with topology info ( PairingStats )', default='' ),
2223 
2224  Option( 'bb_moves', 'Boolean', desc='Apply bb_moves ( wobble, small, shear) during stage3 and stage 4.', default='false' ),
2225  Option( 'no_wobble', 'Boolean', desc='Don t apply the useless wobble during stage3 and stage 4.', default='false' ),
2226  Option( 'no_shear', 'Boolean', desc='Don t apply the useless shear during stage3 and stage 4.', default='false' ),
2227  Option( 'no_sample_ss_jumps', 'Boolean', desc='sample jump-frags during folding', default='false' ),
2228  Option( 'invrate_jump_move', 'Integer', desc='give 5 here to have 5 torsion moves for each jump move', default='10' ),
2229  Option( 'chainbreak_weight_stage1', 'Real', desc='the weight on chainbreaks', default='1.0' ),
2230  Option( 'chainbreak_weight_stage2', 'Real', desc='the weight on chainbreaks', default='1.0' ),
2231  Option( 'chainbreak_weight_stage3', 'Real', desc='the weight on chainbreaks', default='1.0' ),
2232  Option( 'chainbreak_weight_stage4', 'Real', desc='the weight on chainbreaks', default='1.0' ),
2233  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' ),
2234  Option( 'increase_chainbreak','Real', desc='multiply ramped chainbreak weight by this amount', default='1.0'),
2235  Option( 'overlap_chainbreak', 'Boolean', desc='use the overlap chainbrak term in stage4', default='false' ),
2236  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' ),
2237  Option( 'dump_frags', 'Boolean', desc='dump jump_fragments ', default='false' ),
2238  Option( 'njumps', 'Integer', desc='number_of_jumps to select from library for each trajectory (membrane mode)', default='1' ),
2239  Option( 'max_strand_gap_allowed', 'Integer', desc='merge strands if they less than X residues but same register', default='2' ),
2240  Option( 'contact_score', 'Real', desc='the strand-weight will have a weight * contact_order component', default='0.0' ),
2241  Option( 'filter_templates', 'Boolean', desc='filter hybridization protocol templates', default='false'),
2242  ), # -jumps
2243 
2244  Option_Group( 'loops',
2245  Option( 'loops', 'Boolean', desc='loop modeling option group', legal=['true','false'], default='true'),
2246  Option( 'cen_weights', 'String', desc='ScoreFunction weights file for centroid phase of loop-modeling', default = 'cen_std' ),
2247  Option( 'cen_patch', 'String', desc='ScoreFunction patch for for centroid phase of loop-modeling', default = 'score4L', ),
2248  Option( 'input_pdb','File', desc='template pdb file', default='input_pdb' ),
2249  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.' ),
2250  Option( 'extended_loop_file','File',
2251  desc='loop definition file for loops to be extended (used in abrelax)',
2252  default='loop_file'
2253  ),
2254  Option( 'mm_loop_file','File',
2255  desc='loop definition file', default='loop_file'
2256  ),
2257  Option( 'fix_natsc', 'Boolean', desc='fix sidechains in template region in loop modeling',
2258  legal=['true','false'], default='false'
2259  ),
2260  Option( 'refine_only', 'Boolean', desc='perform full atom refinement only on loops',
2261  legal=['true', 'false'], default='false'
2262  ),
2263 # Option( 'fa_input', 'Boolean', desc='input structures are in full atom format',
2264 # legal=['true', 'false'], default='false'
2265 # ),
2266  Option( 'fast', 'Boolean', desc='reduce number of simulation cycles in loop modeling',
2267  legal=['true', 'false'], default='false'
2268  ),
2269  Option( 'vall_file','File', desc='vall database file', default='vall_file' ),
2270  Option( 'frag_sizes','IntegerVector', desc='lengths of fragments to be used in loop modeling',
2271  default=['9','3','1']
2272  ),
2273  Option( 'frag_files', 'FileVector', desc='fragment libraries files', default=['frag9','frag3','frag1'] ),
2274  Option( 'output_pdb','File', desc='output model pdb file', default='output.pdb' ),
2275  Option( 'debug', 'Boolean', default = 'false' ),
2276  Option( 'build_initial', 'Boolean',
2277  desc='Precede loop-modeling with an initial round of just removing the missing densities and building simple loops',
2278  legal=['true','false'], default='false'
2279  ),
2280  Option( 'extended', 'Boolean', desc='Force extended on loops, independent of loop input file',legal=['true','false'], default='false'),
2281  Option( 'remove_extended_loops', 'Boolean', desc='Before building any loops, remove all loops marked as extended',legal=['true','false'], default='false'),
2282  Option( 'idealize_after_loop_close', 'Boolean', desc='Run structure through idealizer after loop_closing', default='true' ),
2283  Option( 'idealize_before_loop_close', 'Boolean', desc='Run structure through idealizer before loop_closing', default='true' ),
2284  Option( 'select_best_loop_from', 'Integer', desc='Keep building loops until N and choose best (by score)', default='1'),
2285  Option( 'build_attempts', 'Integer', desc='Build attempts per growth attempt', default='3'),
2286 
2287  ## Options affecting growing/combining of loops
2288  Option( 'grow_attempts', 'Integer',
2289  desc='Total loop growth attempts',
2290  default='7'
2291  ),
2292  Option( 'random_grow_loops_by', 'Real',
2293  desc='Randomly grow loops by up to this number of residues on either side.',
2294  default='0.0'
2295  ),
2296  Option( 'accept_aborted_loops', 'Boolean',
2297  desc='accept aborted loops ',
2298  legal=['true','false'], default='false'
2299  ),
2300  Option( 'strict_loops', 'Boolean',
2301  desc='Do not allow growing of loops',
2302  legal=['true','false'], default='false'
2303  ),
2304  Option( 'superimpose_native', 'Boolean',
2305  desc='Superimpose the native over the core before calculating looprms',
2306  legal=['true','false'], default='false'
2307  ),
2308 
2309  ## options affection choice of loops
2310  Option( 'build_specific_loops', 'IntegerVector', desc='Numbers of the loops to be built' ),
2311  Option( 'random_order', 'Boolean',
2312  desc='build in random order ',
2313  legal=['true','false'], default='true'
2314  ),
2315  Option( 'build_all_loops', 'Boolean',
2316  desc='build all loops(no skip) ',
2317  legal=['true','false'], default='false'
2318  ),
2319  Option( 'fa_closure_protocol', 'Boolean', desc='Abrelax uses FASlidingWindowLoopClosure... ', default = 'false' ),
2320  Option( 'combine_rate', 'Real', desc='Combine successive loops at this rate', default='0.0' ),
2321  ## Options affecting growing/combining of loops
2322  ## subprotocol components
2323  Option( 'skip_initial_loop_build', 'Boolean',
2324  desc='Skip the initial loop build step where existing loop torsions are discarded and the loop is built from scratch. ',
2325  legal=['true','false'], default='false'
2326  ),
2327  Option( 'remodel', 'String', default = 'no',
2328  legal=['no','perturb_ccd','perturb_kic','perturb_kic_refactor','perturb_kic_with_fragments','quick_ccd','quick_ccd_moves','old_loop_relax','sdwindow'], desc = ''),
2329  Option( 'intermedrelax', 'String', default = 'no',
2330  legal=['no','relax','fastrelax','seqrelax'], desc = ''
2331  ),
2332  Option( 'refine', 'String', default = 'no',
2333  legal=['no','refine_ccd','refine_kic','refine_kic_refactor','refine_kic_with_fragments'],
2334  desc = 'method for performing full-atom refinement on loops'
2335  ),
2336  Option( 'relax', 'String', default = 'no',
2337  legal=['no','relax','fastrelax','seqrelax','minirelax'], desc = ''
2338  ),
2339 # Option(
2340 # 'n_rebuild_tries', 'Integer', default='1', desc='number of times to retry loop-rebuilding'
2341 # ),
2342 
2343  Option( 'final_clean_fastrelax', 'Boolean',
2344  desc='Add a final fastrelax without constraints',
2345  legal=['true','false'], default='false'
2346  ),
2347  Option( 'relax_with_foldtree', 'Boolean',
2348  desc='keep foldtree during relax', legal=['true','false'],
2349  default='false'
2350  ),
2351  Option( 'constrain_rigid_segments', 'Real',
2352  desc='Use Coordinate constraints on the non-loop regions',
2353  default='0.0'
2354  ),
2355 
2356  Option( 'loopscores', 'String',
2357  desc='Calculate loopscores individually',
2358  ),
2359  Option( 'timer', 'Boolean',
2360  desc='Output time spent in seconds for each loop modeling job',
2361  legal=['true','false'], default='false'
2362  ),
2363 
2364  ## Kinematic loop building (KIC)
2365  Option( 'vicinity_sampling', 'Boolean',
2366  desc='only sample within a certain region of the current torsion values',
2367  legal=['true','false'], default='false'
2368  ),
2369  Option( 'vicinity_degree', 'Real',
2370  desc='number of degrees to sample within current torsion values for vicinity sampling',
2371  default='1.0'
2372  ),
2373  Option( 'neighbor_dist', 'Real',
2374  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',
2375  default='10.0'
2376  ),
2377  Option( 'kic_max_seglen', 'Integer',
2378  desc='maximum size of residue segments used in kinematic closure calculations',
2379  default='12'
2380  ),
2381  Option( 'kic_recover_last', 'Boolean',
2382  desc='If true, do not recover lowest scoring pose after each outer cycle and at end of protocol in kic remodel and refine',
2383  default='false'
2384  ),
2385  Option( 'kic_min_after_repack', 'Boolean',
2386  desc='Should the kinematic closure refine protocol minimize after repacking steps',
2387  default='true'
2388  ),
2389  Option( 'optimize_only_kic_region_sidechains_after_move', 'Boolean',
2390  desc='Should we perform rotamer trials and minimization after every KIC move but only within the loops:neighbor_dist '
2391  'of the residues in the moved KIC segment. Useful to speed up when using very large loop definitions '
2392  '(like when whole chains are used for ensemble generation).',
2393  default='false'
2394  ),
2395  Option( 'max_kic_build_attempts', 'Integer',
2396  desc='Number of attempts at initial kinematic closure loop building',
2397  default='10000'
2398  ),
2399  Option( 'remodel_kic_attempts', 'Integer',
2400  desc='Number of kic attempts per inner cycle during perturb_kic protocol',
2401  default='300'
2402  ),
2403  Option( 'max_kic_perturber_samples', 'Integer',
2404  desc='Maximum number of kinematic perturber samples',
2405  default='2000'
2406  ),
2407  Option( 'nonpivot_torsion_sampling', 'Boolean',
2408  desc='enables sampling of non-pivot residue torsions when the kinematic loop closure segment length is > 3',
2409  legal=['true','false'], default='true'
2410  ),
2411  Option( 'fix_ca_bond_angles', 'Boolean',
2412  desc='Freezes N-CA-C bond angles in KIC loop sampling',
2413  legal=['true','false'], default='false'
2414  ),
2415  Option( 'kic_use_linear_chainbreak', 'Boolean',
2416  desc='Use linear_chainbreak instead of (harmonic) chainbreak in KIC loop sampling',
2417  legal=['true','false'], default='false'
2418  ),
2419  Option( 'sample_omega_at_pre_prolines', 'Boolean',
2420  desc='Sample omega in KIC loop sampling',
2421  legal=['true','false'], default='false'
2422  ),
2423  Option( 'allow_omega_move', 'Boolean',
2424  desc='Allow loop omega to minimize during loop modeling',
2425  legal=['true','false'], default='false'
2426  ),
2427  Option( 'kic_with_cartmin', 'Boolean',
2428  desc="Use cartesian minimization in KIC loop modeling",
2429  legal=['true', 'false'], default='false'
2430  ),
2431  Option( 'allow_takeoff_torsion_move', 'Boolean',
2432  desc='Allow takeoff phi/psi to move during loop modeling',
2433  legal=['true','false'], default='false'
2434  ),
2435  Option( 'extend_length', 'Integer',
2436  desc='Number of alanine residues to append after cutpoint in loopextend app',
2437  default = '0', lower = '0'
2438  ),
2439  Option( 'perturb_outer_cycles', 'Integer',
2440  desc='number of outer cycles in the perturbation (centroid) stage', default = '5', lower = '1'
2441  ),
2442  Option( 'refine_outer_cycles', 'Integer',
2443  desc='number of outer cycles in the fullatom refinement stage', default = '5', lower = '1'
2444  ),
2445  Option( 'max_inner_cycles', 'Integer',
2446  desc='maxium number of inner cycles in fullatom loop refinement',
2447  default = '1', lower = '1'
2448  ),
2449  Option( 'repack_period', 'Integer',
2450  desc='repack period during fullatom loop refinement',
2451  default = '20', lower = '1'
2452  ),
2453 # Option( 'repack_never', 'Boolean',
2454 # desc='option to disable repacking during loop movement',
2455 # default = 'false'
2456 # ),
2457  ##Option( 'repack_all', 'Boolean', default = 'false' ),
2458  Option( 'remodel_init_temp' , 'Real',
2459  desc='Initial temperature for loop rebuiding. Currently only supported in kinematic (KIC) mode',
2460  default = '2.0'
2461  ),
2462  Option( 'remodel_final_temp', 'Real',
2463  desc='Final temperature for loop rebuilding. Currently only supported in kinematic (KIC) mode',
2464  default = '1.0'
2465  ),
2466  Option( 'refine_init_temp', 'Real',
2467  desc='Initial temperature for loop refinement. Currently only supported in kinematic (KIC) mode',
2468  default = '1.5'
2469  ),
2470  Option( 'refine_final_temp', 'Real',
2471  desc='Final temperature for loop refinement. Currently only supported in kinematic (KIC) mode',
2472  default = '0.5'
2473  ),
2474  Option( 'gapspan', 'Integer', default='6', lower='1',
2475  desc='when automatically identifying loop regions, this is the maximum gap length for a single loop'
2476  ),
2477  Option( 'spread', 'Integer', default='2', lower='1',
2478  desc='when automatically identifying loop regions, this is the number of neighboring residues by which to extend out loop regions'
2479  ),
2480  Option( 'kinematic_wrapper_cycles', 'Integer',
2481  desc='maximum number of KinematicMover apply() tries per KinematicWrapper apply()',
2482  default = '20'
2483  ),
2484  Option( 'kic_num_rotamer_trials', 'Integer',
2485  desc='number of RotamerTrial iterations in each KIC cycle -- default is 1',
2486  default = '1'
2487  ),
2488  Option( 'kic_omega_sampling', 'Boolean',
2489  desc="Perform sampling of omega angles around 179.6 for trans, and including 0 for pre-prolines -- default false, for legacy reasons",
2490  default='false'
2491  ),
2492  Option( 'kic_bump_overlap_factor', 'Real',
2493  desc="allow some atomic overlap in initial loop closures (should be remediated in subsequent repacking and minimization)",
2494  default='0.36'
2495  ),
2496  Option( 'minimize_max_iter', 'Integer', desc='Max iteration of minimization during MC', default='200'),
2497 # Option( 'kic_cen_weights', 'String',
2498 # 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',
2499 # default="score4_smooth"
2500 # ),
2501 # Option( 'kic_cen_patch', 'String',
2502 # desc='weights patch file to be used for KIC+NGK centroid modeling stage',
2503 # default=""
2504 # ),
2505 
2506  ## next-generation KIC
2507  Option( 'restrict_kic_sampling_to_torsion_string', 'String',
2508  desc='restrict kinematic loop closure sampling to the phi/psi angles specified in the torsion string',
2509  default = ""
2510  ),
2511  Option( 'derive_torsion_string_from_native_pose', 'Boolean',
2512  desc='apply torsion-restricted sampling, and derive the torsion string from the native [or, if not provided, starting] structure',
2513  default = 'false'
2514  ),
2515  Option( 'always_remodel_full_loop', 'Boolean',
2516  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',
2517  default = 'false'
2518  ),
2519  Option( 'taboo_sampling', 'Boolean',
2520  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',
2521  default = 'false'
2522  ),
2523  Option( 'taboo_in_fa', 'Boolean',
2524  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',
2525  default = 'false'
2526  ),
2527  Option( 'ramp_fa_rep', 'Boolean',
2528  desc='ramp the weight of fa_rep over outer cycles in refinement',
2529  default = 'false'
2530  ),
2531  Option( 'ramp_rama', 'Boolean',
2532  desc='ramp the weight of rama over outer cycles in refinement',
2533  default = 'false'
2534  ),
2535  Option( 'kic_rama2b', 'Boolean',
2536  desc='use neighbor-dependent Ramachandran distributions in random torsion angle sampling',
2537  default = 'false'
2538  ),
2539 # Option( 'kic_small_moves', 'Boolean',
2540 # desc='sample torsions by adding or subtracting a small amount from the previous value, instead of picking from the Ramachandran distribution.',
2541 # default = 'false'
2542 # ),
2543 # Option( 'kic_small_move_magnitude', 'Real',
2544 # desc='specify the magnitude of the small moves. Only meant to be used for initial testing and optimization.',
2545 # default = '5.0'
2546 # ),
2547 # Option( 'kic_pivot_based', 'Boolean',
2548 # desc='use ramachandran sampling if the pivots are closer than 8 residues apart, otherwise use small moves.',
2549 # default = 'false'
2550 # ),
2551 # Option( 'kic_no_centroid_min', 'Boolean',
2552 # desc='don\'t minimize in centroid mode during KIC perturb',
2553 # default = 'false'
2554 # ),
2555  Option( 'kic_leave_centroid_after_initial_closure', 'Boolean',
2556  desc="only use centroid mode for initial loop closure -- all further loop closures will be performed in full-atom",
2557  default = 'false'
2558  ),
2559 # Option( 'kic_repack_neighbors_only', 'Boolean',
2560 # 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)',
2561 # default='false'
2562 # ),
2563  Option ( 'legacy_kic', 'Boolean',
2564  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)',
2565  default='false'
2566  ),
2567 
2568  ## QuickCCD
2569 
2570  ## From Foldcst
2571  Option( 'alternative_closure_protocol', 'Boolean',
2572  desc='use WidthFirstSliding...',
2573  default='false'
2574  ),
2575  Option( 'chainbreak_max_accept', 'Real',
2576  desc='accept all loops that have a lower cumulative chainbreak score (linear,quadratic(if present), and overlap)',
2577  default='2.0'
2578  ),
2579  Option( 'debug_loop_closure', 'Boolean',
2580  desc='dump structures before and after loop closing',
2581  default='false'
2582  ),
2583  Option( 'non_ideal_loop_closing', 'Boolean',
2584  desc='allow small non-idealities at the chainbreak residue after loop-closing -- requires binary silent out',
2585  default='false'
2586  ),
2587  Option( 'scored_frag_cycles', 'Real',
2588  desc='cycle-ratio for scored_frag_cycles ( loop_size<10 ) after jumping-abinitio',
2589  default='1.0'
2590  ),
2591  Option( 'short_frag_cycles', 'Real',
2592  desc='cycle-ratio for short_frag_cycles ( loop_size<10 ) after jumping-abinitio',
2593  default='1.0'
2594  ),
2595  ## Deprecated == Old "looprelax"
2596  Option( 'rmsd_tol', 'Real', desc='rmsd tolerance to deviate from original pose', default='10000.0' ),
2597  Option( 'chain_break_tol', 'Real', desc='acceptable tolerance for chain break score', default='0.2' ),
2598  Option( 'random_loop', 'Boolean', desc='randomize loop stub positions', default='false' ),
2599 
2600  Option( 'stealfrags', 'FileVector', desc='StealFragPDBS' ),
2601  Option( 'stealfrags_times', 'Integer', desc='StealFragPDBS how many times ?', default='1' ),
2602  Option( 'coord_cst', 'Real', desc='restraintweight', default='0.0' ),
2603  Option( 'skip_1mers', 'Real', desc='rate at which you should skip a 1 mer insertion', default='0.0' ),
2604  Option( 'skip_3mers', 'Real', desc='rate at which you should skip a 3 mer insertion', default='0.0' ),
2605  Option( 'skip_9mers', 'Real', desc='rate at which you should skip a 9 mer insertion', default='0.0' ),
2606  Option( 'loop_model', 'Boolean', desc='loop modeling option', legal=['true','false'], default='false'),
2607 
2608  Option( 'score_filter_cutoff', 'Real', desc='value for score filter', default='1.0' ),
2609  ##Option( 'loop_skip_rate', 'Real', desc='skip rate for not building a chosen loop', default='0.0' ),
2610 # Option( 'loop_farlx', 'Boolean', desc='do fullatom loop refinement', legal=['true','false'], default='false'),
2611  Option( 'ccd_closure', 'Boolean', desc='apply ccd closure', legal=['true','false'], default='false'),
2612  Option( 'skip_ccd_moves', 'Boolean', desc='when running in ccd_moves mode, dont actually do ccd_moves.. just do fragment insertions', default='false'),
2613  Option( 'no_randomize_loop', 'Boolean', desc='Leave loop as it is', default='false'),
2614 
2615  Option( 'loops_subset', 'Boolean', desc='pick subset of desired loops',
2616  legal=['true','false'], default='false'
2617  ),
2618 
2619  Option( 'num_desired_loops', 'Integer', desc='number of desired loops', default='1' ),
2620  Option( 'loop_combine_rate', 'Real', desc='skip rate for not combining a chosen loop', default='0.0' ),
2621  Option( 'final_score_filter', 'Real', desc='Only output structures that score bette rthan that', default='1000000.0' ),
2622  Option( 'no_combine_if_fail', 'Boolean', desc='combine loops if loop modeling fails',
2623  legal=['true','false'], default='true'
2624  ),
2625  Option( 'shorten_long_terminal_loop', 'Boolean', desc='shorten long loops',
2626  legal=['true','false'], default='false'
2627  ),
2628 
2629  Option( 'backrub_trials', 'Integer', desc='number of backrub steps to do in loop relax', default='10' ),
2630 
2631  Option( 'looprlx_cycle_ratio', 'Real', desc='fraction of the total looprlx cycles', default='1.0' ),
2632  Option( 'extended_beta', 'Real',
2633  desc='Extended tempfactor: stochastic extendedness: p_ext = exp( - beta * length ) ',
2634  default='-1.0'
2635  ),
2636 # Option( 'shortrelax', 'Boolean',
2637 # desc='do a short fullatom relax after loop remodeling',
2638 # default='false'
2639 # ),
2640 # Option( 'fastrelax', 'Boolean',
2641 # desc='do a fast fullatom relax after loop remodeling',
2642 # default='false'
2643 # ),
2644  Option( 'no_looprebuild', 'Boolean', desc='do not rebuild loops',
2645  legal=['true','false'],
2646  default='false'
2647  ),
2648  Option( 'allow_lig_move', 'Boolean',
2649  desc='allow ligands to move during loop modeling',
2650  legal=['true','false'],
2651  default='false'
2652  ),
2653  Option('keep_natro', 'File',
2654  desc='list of residues where the rotamers are kept fixed',
2655  default='keep_natro'
2656  ),
2657  Option('refine_design_iterations','Integer',
2658  desc='iterations of refine and design', default='1'
2659  ),
2660 # Option_Group( 'loop_closure' ,
2661 # Option( 'loop_insert', 'String',
2662 # 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.',
2663 # ),
2664 # Option( 'loop_insert_rclrc', 'String',
2665 # 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.',
2666 # ),
2667 # Option( 'blueprint', 'String',
2668 # desc='path to a blueprint file specifying loops. loop_insert, loop_insert_rclrc and blueprint options are mutually exclusive',
2669 # ),
2670 # ), # -loops:loop_closure'
2671  Option_Group( 'ccd' ,
2672  Option( 'max_rama_score_increase', 'Real', desc='Maximum increase in Ramachandran score that will be tolerated.', default='2.0' ),
2673  Option( 'max_torsion_delta_per_move', 'RealVector',
2674  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).',
2675  default=['1.0', '5.0', '10.0'], n='3' ),
2676  Option( 'max_torsion_delta', 'RealVector',
2677  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).',
2678  default=['10.0', '50.0', '75.0'] , n='3'),
2679  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' ),
2680  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' ),
2681  Option( 'check_rama_scores', 'Boolean', desc="Bias toward moves that improve the moving resiude's Ramachandran score.", legal=['true','false'], default='true' ),
2682  Option( 'rama_2b', 'Boolean', desc="Use two-body (neighbor-dependent) Ramachandran score.", legal=['true','false'], default='false' ),
2683  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' ),
2684  ), # -loops:ccd' )
2685  ), # -loops
2686 
2687  #Interface statistics app (JKLeman)
2688  Option_Group( 'intf',
2689  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.'),
2690  ),
2691 
2692  #New Membrane Protein Option group (RosettaMP)
2693  Option_Group( 'mp',
2694 
2695  #Membrane options
2696  Option( 'thickness', 'Real', desc='Thickness of the membrane used by the high resolution scoring function. Overwrites default thickness of 30A.'),
2697  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.'),
2698 
2699  #Embedding options - advanced (these are currently not used)
2700  Option( 'center_start', 'RealVector', desc='Starting point for center search. Example: 3 2 4.'),
2701  Option( 'center_delta', 'Real', desc='Perturbation of center in Angstrom.'),
2702  Option( 'center_search_cycles', 'Real', desc='Iterations for center search.'),
2703  Option( 'normal_start', 'RealVector', desc='Base vector for normal search. Angles go off that vector.'),
2704  Option( 'normal_angle_start', 'Real', desc='Starting angle from base vector for normal search. Degrees.'),
2705  Option( 'normal_angle_delta', 'Real', desc='Perturbation of normal angle in degrees.'),
2706  Option( 'normal_search_cycles', 'Real', desc='Number of iterations for normal search.'),
2707  Option( 'chain_normal_angle_max', 'Real', desc='Maximum of normal angle wrt normal_start for chain embedding. Degrees.'),
2708  Option( 'pose_normal_angle_max', 'Real', desc='Maximum of normal angle wrt normal_start for pose embedding. Degrees.'),
2709 
2710  #Scoring parameters - advanced
2711  Option( 'no_interpolate_Mpair', 'Boolean', desc='from old code.'),
2712  Option( 'Hbond_depth_correction', 'Boolean', desc='from old code.'),
2713 
2714  #Penalties - advanced
2715  Option( 'TMprojection', 'Boolean', desc='Penalty for hydrophobic mismatch on/off.'),
2716  Option( 'wt_TMprojection', 'Real', desc='Weight for hydrophobic mismatch penalty.'),
2717  Option( 'non_helix', 'Boolean', desc='Penalty for non-helix residues in the membrane on/off.'),
2718  Option( 'wt_non_helix', 'Real', desc='Weight for non-helix penalty. '),
2719  Option( 'termini', 'Boolean', desc='Penalty for termini in the membrane on/off.'),
2720  Option( 'wt_termini', 'Real', desc='Weight for termini penalty.'),
2721  Option( 'secstruct', 'Boolean', desc='Penalty if structure-based secondary structure doesn\'t match predicted one - on/off'),
2722  Option( 'wt_secstruct', 'Real', desc='Weight for secondary structure penalty.'),
2723  Option( 'spanning', 'Boolean', desc='Penalty if structure-based spanning doesn\'t match spanfile - on/off.'),
2724  Option( 'wt_spanning', 'Real', desc='Weight for spanning penalty.'),
2725 
2726  Option_Group( 'viewer',
2727  Option( 'thickness', 'Real', desc="Thickness of membrane to visualize", default='15' ),
2728  Option( 'num_points', 'Integer', desc="Number of points to define the membrane planes. x >= 3" ),
2729  ),
2730 
2731  # Visualization Options (Visualize Membrane Mover)
2732  Option_Group( 'visualize',
2733  Option( 'embedding', 'Boolean', desc='Visualize embedding centers and normals for each pose element', default='true' ),
2734  Option( 'spacing', 'Real', desc="Spacing of virtual membrane residues representing the membrane planes", default='5' ),
2735  Option( 'width', 'Real', desc='Width of membrane planes for n by n plane', default='100' ),
2736  Option( 'thickness', 'Real', desc="Thickness of membrane to visualize", default='15' ),
2737  Option( 'plane_radius', 'Real', desc="Radius of membrane planes to draw in PyMol - part of the PyMol viewer plugin" ),
2738  ),
2739 
2740  # Scoring options
2741  Option_Group( 'scoring',
2742  Option( 'hbond', 'Boolean',
2743  desc="Hydrogen bonding energy correction for membrane proteins"),
2744  ),
2745 
2746  # Setup Options
2747  Option_Group( 'setup',
2748  Option( 'spanfiles', 'StringVector', desc="Spanning topology file from Octopus" ),
2749  Option( 'spans_from_structure', 'Boolean', desc="Uses spanning topology computed from the PDB; requires the protein to be transformed into the membrane coordinate frame!" ),
2750  Option( 'lipsfile', 'String', desc="List of lips files by chain", default='mypdb.lips4' ),
2751  Option( 'center', 'RealVector', desc="membrane center x,y,z" ),
2752  Option( 'normal', 'RealVector', desc="membrane normal x,y,z" ),
2753  Option( 'membrane_rsd', 'Real', desc="membrane residue number" ),
2754 
2755  Option( 'transform_into_membrane', 'Boolean', desc="score_jd2: transform protein into fixed membrane before scoring; spanfile required" ),
2756  Option( 'position_from_topo', 'Boolean', desc="determine a membrane position from the transmembrane spans of the protein" ),
2757 
2758  Option( 'optimize1', 'Boolean', desc="Optimize position in membrane for partner 1 using membrane scorefunction.", default='false' ),
2759  Option( 'optimize2', 'Boolean', desc="Optimize position in membrane for partner 2 using membrane scorefunction.", default='false' ),
2760  ),
2761 
2762  # For transforming protein into the membrane
2763  Option_Group( "transform",
2764  Option( "optimize_embedding", 'Boolean', desc="Use the scorefunction to optimize the embedding after an initial coarse grained setting" ),
2765  ),
2766 
2767  #MP_Docking Option group - JKLeman (julia.koehler1982@gmail.com)
2768  Option_Group( 'dock',
2769 
2770  #Scoring options
2771  Option( 'weights_cen', 'String', desc='Scorefunction for low-resolution step.'),
2772  Option( 'weights_fa', 'String', desc='Scorefunction for high-resolution step.'),
2773  Option( 'lowres', 'Boolean', desc='Use centroid score function for finding interface.'),
2774 # Option( 'highres', 'Boolean', desc='Use full-atom score function for finding interface.'),
2775  Option( 'allow_flips', 'Boolean', desc='Allow partner 2 to flip in the membrane during global search. Default: yes.' ),
2776  Option( 'flexible_bb', 'Boolean', desc='Do a flexible backbone docking: runs relax before and after docking.' ),
2777  Option( 'flexible_sc', 'Boolean', desc='Do a flexible sidechain docking: repacks before and after docking.' ),
2778  Option( 'slide_threshold', 'Real', desc='Theshold for scoreterm to define partner closeness in SlideIntoContact.' ),
2779  ),
2780 
2781  #MP_Docking Option group - JKLeman (julia.koehler1982@gmail.com)
2782  Option_Group( 'quickrelax',
2783 
2784  #Scoring options
2785  Option( 'angle_max', 'Real', desc='Maximum allowed change in dihedral angles. Typical values around 1.'),
2786  Option( 'nmoves', 'String', desc='Number of moves allowed. Typical value is close to the number of residues in the protein: [nres] is allowed value. '),
2787  Option( 'repack_again', 'Boolean', desc='Do an additional round of sidechain repacking, simultaneously including all sidechains.'),
2788 
2789  ),
2790 
2791  #mutate relax Option group - JKLeman (julia.koehler1982@gmail.com)
2792  Option_Group( 'mutate_relax',
2793 
2794  Option( 'mutation', 'String', desc='Single mutation: Format: One-letter code / residue number / one-letter code. Example: A163F'),
2795  Option( 'mutant_file', 'String', desc='Input file containing mutations'),
2796  Option( 'iter', 'Integer', desc='Number of iterations to run. Typically 100.' ),
2797  Option( 'repack_mutation_only', 'Boolean', desc='Boolean - Only repack the mutated residue(s), no relax.' ),
2798  Option( 'repack_radius', 'Real', desc='Float - Repack within a radius of X Angstrom of the mutated residue(s).' ),
2799  Option( 'relax', 'Boolean', desc='Boolean - Do a full relax run with both backbone minimization and repacking.' ),
2800 
2801  ),
2802 
2803  ### Options For Benchmarking
2804  ### @author Rebecca Alford (rfalford12@gmail.com)
2805  Option_Group( 'benchmark',
2806 
2807  ## Build Ideal/Canonical Alpha helices
2808  Option_Group( 'ideal_helix',
2809  Option( 'helix_start', 'Real', desc="Start position for ideal helix dihedral angles" ),
2810  Option( 'helix_end', 'Real', desc="End position for ideal helix dihedral angles" )
2811  ),
2812 
2813  ## Sampling of per-helix tilt angles
2814  Option_Group( 'tilt_angle',
2815  Option( 'output', 'String', desc="Path to tilt angle vs. score output file" ),
2816  ),
2817  ),
2818 
2819  ## Options for membrane specific output. Currently controlled by file_data, will eventually
2820  ## become an extension of JD2/JD3 - Added 8/3/15
2821  Option_Group( 'output',
2822  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' ),
2823  ),
2824  ),
2825 
2826 
2827  # Old RosettaMembrane Option Group
2828  # Last Modified: 1/12/14
2829  # @author Rebecca Alford
2830  Option_Group( 'membrane',
2831  # New Membrane Input Option Group
2832 # Option( 'include_lips', 'Boolean', default='false', desc='Include lipid accessibility data for membrane protiens'),
2833  # Scoring Options
2834  Option( 'normal_cycles', 'Integer', default='100', desc='number of membrane normal cycles'),
2835  Option( 'normal_mag', 'Real', default='5', desc='magnitude of membrane normal angle search (degrees)'),
2836  Option( 'center_mag', 'Real', default='1', desc='magnitude of membrane normal center search (Angstroms)' ),
2837  Option( 'smooth_move_frac', 'Real', default='0.5'),
2838  Option( 'no_interpolate_Mpair', 'Boolean', default='false'),
2839  Option( 'Menv_penalties','Boolean',default='false'),
2840  Option( 'Membed_init','Boolean',default='false'),
2841  Option( 'Fa_Membed_update','Boolean',default='false'),
2842  Option( 'center_search', 'Boolean', default='false', desc='perform membrane center search'),
2843  Option( 'normal_search', 'Boolean', default='false', desc='perform membrane normal search'),
2844  Option( 'center_max_delta', 'Integer', default='5', desc='magnitude of maximum membrane width deviation during membrane center search (Angstroms)' ),
2845  Option( 'normal_start_angle', 'Integer', default='10', desc='magnitude of starting angle during membrane normal search (degrees)' ),
2846  Option( 'normal_delta_angle', 'Integer', default='10', desc='magnitude of angle deviation during membrane normal search (degrees)' ),
2847  Option( 'normal_max_angle', 'Integer', default='40', desc='magnitude of maximum angle deviation during membrane normal search (degrees)' ),
2848  Option( 'debug', 'Boolean', default='false'),
2849  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'),
2850  Option( 'membrane_center', 'RealVector', desc="membrane center x,y,z" ),
2851  Option( 'membrane_normal', 'RealVector', desc="membrane normal x,y,z" ),
2852  Option( 'view', 'Boolean', default='false', desc='viewing pose during protocol'),
2853  Option( 'Mhbond_depth','Boolean',default='false', desc='membrane depth dependent correction to the hbond potential'),
2854  Option( 'thickness', 'Real', default='15', desc='one leaflet hydrocarbon thickness for solvation calculations (Angstroms)' ),
2855  ), # membrane
2856 
2857  Option_Group( 'mistakes',
2858  Option( 'restore_pre_talaris_2013_behavior', 'Boolean',
2859  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"
2860  " -mistakes::chemical::pre_talaris2013_geometries true"
2861  " -corrections::score::dun10 false"
2862  " -corrections::score::use_bicubic_interpolation false"
2863  " -corrections::score:hb_sp2_chipen false"
2864  " -corrections::score::hb_fade_energy false"
2865  " -corrections::score::hbond_measure_sp3acc_BAH_from_hvy false"
2866  " -corrections::score::lj_hbond_hdis 1.95"
2867  " -corrections::score::lj_hbond_OH_donor_dis 3.0"
2868  " -corrections::chemical::expand_st_chi2sampling false"
2869  " -score::weights pre_talaris_2013_standard.wts"
2870  " -score::patch score12.wts_patch"
2871  " -score::analytic_etable_evaluation false"
2872  " -score::hbond_params score12_params"
2873  " -score::smooth_fa_elec false"
2874  " -score::elec_min_dis 1.5"
2875  " -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",
2876  default="false" ),
2877  Option_Group( 'chemical',
2878  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" ),
2879  ), # -mistakes:chemical
2880  ), # -mistakes
2881 
2882  Option_Group( 'MonteCarlo',
2883  Option( 'temp_initial', 'Real', default='2', lower='0.001', desc='initial temperature for Monte Carlo considerations' ),
2884  Option( 'temp_final', 'Real', default='0.6', lower='0.001', desc='final temperature for Monte Carlo considerations' ),
2885  ), # -MonteCarlo
2886 
2887  ################################
2888  # optimization options
2889  Option_Group( 'optimization',
2890  Option( 'default_max_cycles','Integer', desc='max cycles for MinimizerOptions', default='2000'),
2891  Option( 'armijo_min_stepsize','Real', desc='min stepsize in armijo minimizer', default='1e-8'),
2892  Option( 'scale_normalmode_dampen','Real', desc='dampening scale over normal mode index, used for NormalModeMinimizer', default='0.05'),
2893  Option( 'lbfgs_M','Integer', desc='number of corrections to approximate the inverse hessian matrix.', default='128'),
2894  Option( 'scale_d','Real', desc='max cycles for MinimizerOptions', default='1'),
2895  Option( 'scale_theta','Real', desc='max cycles for MinimizerOptions', default='1'),
2896  Option( 'scale_rb','Real', desc='max cycles for MinimizerOptions', default='10'),
2897  Option( 'scale_rbangle','Real', desc='max cycles for MinimizerOptions', default='1'),
2898  Option( 'scmin_nonideal','Boolean', desc='Do we allow sidechain nonideality during scmin (e.g. rtmin and min_pack)', default='false'),
2899  Option( 'scmin_cartesian', 'Boolean', desc='Toggle Cartesian-space minimization during scmin (e.g. rmin and min_pack)', default='false'),
2900  Option( 'nonideal', 'Boolean', desc='Permit bond geometries to vary from ideal values', default='false'),
2901  Option( 'old_sym_min', 'Boolean', desc='Use the old approach to symmetric minimization', default='false'),
2902  Option( 'debug_inaccurate_G', 'Boolean', desc='Debug innacurate G messages', default='false'),
2903  ), # -optimization
2904 
2905  ################STEVEN COMBS#######################
2906  Option_Group( 'orbitals',
2907  Option( 'Hpol', 'Boolean', desc="look at only polar hydrogen interactions", default='false' ),
2908  Option( 'Haro', 'Boolean', desc="look at only aromatic hydrogen interactions", default='false' ),
2909  Option( 'bb_stats', 'Boolean', desc="look at orbital backbone stats", default='false' ),
2910  Option( 'sc_stats', 'Boolean', desc="look at orbital sc stats", default='false' ),
2911 # Option( 'orb_orb_stats', 'Boolean', desc="look at orbital orbital stats", default='false' ),
2912 # Option('sc_bb', 'Boolean', desc="score the backbone", default='false'),
2913  ), # -orbitals
2914 
2915  # options for pose metric calculators-------------------------------------------------------
2916  Option_Group( 'pose_metrics',
2917  Option( 'atomic_burial_cutoff', 'Real', default='0.3', desc=' maximum SASA that is allowed for an atom to count as buried for the BuriedUnsatisfiedPolarsCalculator' ),
2918  Option( 'sasa_calculator_probe_radius', 'Real', default='1.4', desc=' the probe radius used in the SASA calculator (and thus implicitly in the BuriedUnsatisfiedPolarsCalculator' ),
2919  Option( 'interface_cutoff', 'Real', default='10.0', desc='distance in angstroms (def. 10.0) for calculating what residues are at an interface via InterfaceNeighborDefinitionCalculator'),
2920  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' ),
2921  Option( 'contact_cutoffE', 'Real', default='-1.0', desc=' maximum interaction energy allowed between two residues to count as a contact in the NonlocalContactsCalculator' ),
2922  Option( 'neighbor_by_distance_cutoff', 'Real', default='10.0', desc='distance in angstroms (def. 10.0) for calculating neighbors of a residue via NeighborByDistanceCalculator'),
2923  Option( 'inter_group_neighbors_cutoff', 'Real', default='10.0', desc='distance in angstroms (def. 10.0) for calculating interfaces between domains with InterGroupNeighborsCalculator'),
2924  Option( 'semiex_water_burial_cutoff', 'Real', default='0.25', desc='water hbond states fraction cutiff for SemiExplicitWaterUnsatisfiedPolarsCalculator (0.0,1.0)' ),
2925  Option_Group('shobuns', # SHOBuriedUnsatisfiedPolarsCalculator
2926  Option('tgt_amino', 'String', desc = 'Target amino acid type', default = '_none_'),
2927  Option('tgt_atom', 'String', desc = 'Target atom name', default = '_none_'),
2928  Option('tgt_res', 'File', desc = 'File specifying a subset of target residues', default = ''),
2929  Option('sho_cutoff', 'Real', desc = 'max SHO value for an atom to be considered solvent exposed', default = '4.9'),
2930  ), # shobuns
2931  ), # pose_metrics
2932 
2933  # Rigid body motion options ---------------------------------------------------------------------------------------
2934  Option_Group( 'rigid',
2935  Option('chainbreak_bias', 'Real', desc = 'Strength of bias applied to the translation component of rigid body moves to close chainbreak', default = '0.00'),
2936  Option('close_loops', 'Boolean', desc = 'Perform loop closure at the end of medal', default = 'true'),
2937  Option('fragment_cycles', 'Integer', desc = 'Number of fragment insertion/rigid body cycles', default = '10000'),
2938  Option('log_accepted_moves', 'Boolean', desc = 'Write accepted moves to silent file output', default = 'false'),
2939  Option('max_ca_ca_dist', 'Real', desc = 'Maximum distance between consecutive CA atoms before chunk partitioning occurs', default = '5.0'),
2940 # Option('medium_range_seqsep', 'Integer', desc = 'Constraints with sequence separation less than x are scored', default = '30'),
2941  Option('patch', 'File', desc = 'Patch file containing energy terms and their respective weights'),
2942  Option('residues_backbone_move', 'Integer', desc = 'Number of residues perturbed by a backbone move', default = '5'),
2943  Option('rotation', 'Real', desc = 'Rotation magnitude', default = '2.5'),
2944  Option('sampling_prob', 'File', desc = 'Normalized, per-residue sampling probabilities'),
2945  Option('score', 'String', desc = 'Centroid-level score function', default = 'score3'),
2946  Option('sequence_separation', 'Integer', desc = 'Maximum sequence separation for scoring chainbreaks', default = '20'),
2947 # Option('short_range_seqsep', 'Integer', desc = 'Constraints with sequence separation less than x are scored', default = '15'),
2948  Option('small_cycles', 'Integer', desc = 'Number of small/shear cycles', default = '8000'),
2949  Option('stages', 'Integer', desc = 'Number of stages over which to interpolate ramped values', default = '4'),
2950  Option('temperature', 'Real', desc = 'Monte Carlo temperature', default = '2.0'),
2951  Option('translation', 'Real', desc = 'Translation magnitude', default = '0.5'),
2952  ), # rigid
2953 
2954  # Sasa options --------------------------------------------------------------Does not work with SasaCalculatorLegacy/sasa functions in use pre-2014
2955  Option_Group( 'sasa',
2956  Option('method', 'String',
2957  desc= 'The method used to calculate sasa. More will hopefully be added in the future.',
2958  default='LeGrand',
2959  legal =['LeGrand']),
2960  Option('include_hydrogens_explicitly', 'Boolean',
2961  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.',
2962  default = 'true'),
2963  Option('probe_radius', 'Real',
2964  desc= 'Probe radius used by SasaCalc. Default is radius of water. 1.2 is also commonly used.',
2965  default='1.4'),
2966  Option('include_probe_radius_in_atom_radii', 'Boolean',
2967  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.',
2968  default='true'
2969  ),
2970  Option('include_only_C_S_in_hsasa', 'Boolean',
2971  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.',
2972  default='true'),
2973  Option('exclude_polar_atoms_by_charge_in_hsasa', 'Boolean',
2974  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',
2975  default='false'),
2976  Option('polar_charge_cutoff', 'Real',
2977  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.',
2978  default='.4'
2979  ),
2980  Option('implicit_hydrogen_radii_set', 'String',
2981  desc= 'The radii set to use when including hydrogens implicitly instead of explicitly. Chothia 1976 radii are used by the program Naccess. chothia=naccess',
2982  default='chothia',
2983  legal= ['chothia', 'naccess']),
2984  Option('explicit_hydrogen_radii_set', 'String',
2985  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)',
2986  default='reduce',
2987  legal=['reduce', 'LJ', 'legacy']),
2988  ), # -sasa
2989 
2990  # symmetry options
2991  Option_Group( 'symmetry',
2992  Option( 'symmetry_definition','String', desc="Text file describing symmetry setup",default=None),
2993  Option( 'reweight_symm_interactions','Real', desc="Scale intersubunit interactions by a specified weight",default='1.0'),
2994  Option( 'initialize_rigid_body_dofs','Boolean', desc="Initialize the RB dofs from the symmetry definition file?",default='false'),
2995  Option( 'detect_bonds','Boolean', desc="allow new cross subunit bond formation",default='true'),
2996  Option( 'perturb_rigid_body_dofs','RealVector',
2997  desc='(As in docking) Do a small perturbation of the symmetric DOFs: -perturb_rigid_body_dofs ANGSTROMS DEGREES',
2998  n='2'
2999  ),
3000  Option( 'symmetric_rmsd', 'Boolean', desc='calculate the rmsd symmetrically by checking all chain orderings'),
3001  ), # -symmetry
3002 
3003 ######################################
3004 # Application specific options
3005 # Please keep option groups in alphabetical order
3006 
3007  # Ab initio mode -----------------------------------------------------------
3008  Option_Group( 'abinitio',
3009  Option( 'abinitio', 'Boolean', desc="Ab initio mode" ),
3010 # Option( 'prob_perturb_weights', 'Real', desc='Probability of perturbing score function weights', default='0', lower='0', upper='1',),
3011  Option('membrane', 'Boolean', desc = "will use the membrane abinitio protocol. sequential insertion of TMH", default='false' ),
3012  #Option('TMH_topology','Boolean',desc="use TMHTopologySampler to sample membrane SSE placements"),
3013  Option('use_loophash_filter','Boolean',desc='use loophash filter to determine if SSEs too far away'),
3014  Option('loophash_filter_acceptance_rate','Real',desc='fraction at which want to accept poses from loophash filter if no loophash hits found'),
3015  Option('kill_hairpins', 'File', desc="setup hairpin killing in score (kill hairpin file or psipred file)"),
3016  Option('kill_hairpins_frequency', 'Real', desc="automated hairpin killing frequency (for use with psipred file)", default='0.2'),
3017  Option( 'smooth_cycles_only', 'Boolean', desc = "Only smooth cycles in abinitio protocol", default = 'false' ),
3018  Option( 'relax', 'Boolean', desc = "Do a relax after abinitio = abrelax ?" ),
3019  Option( 'final_clean_relax','Boolean', desc = 'Do a final relax without constraints' ),
3020  Option( 'fastrelax', 'Boolean', desc = "Do a fastrelax after abinitio = abfastrelax ?" ),
3021  Option( 'multifastrelax', 'Boolean', desc = "Do a fastrelax after abinitio = abfastrelax ?" ),
3022  Option( 'debug', 'Boolean', default = 'false' ),
3023  Option( 'clear_pose_cache', 'Boolean', desc = "always clear extra-scores away before output", default = 'false' ),
3024  Option(
3025  'explicit_pdb_debug', 'Boolean', default = 'false',
3026  desc = 'always dump pdb (not silent ) files during abinitio stages'
3027  ),
3028  ##Option( 'test_broker', 'Boolean', default = 'false', desc='use topology_broker system '),
3029  Option( 'use_filters', 'Boolean', default = 'false', desc='use RG, contact-order and sheet filters '),
3030  Option( 'increase_cycles', 'Real',
3031  desc='Increase number of cycles at each stage of fold_abinitio (or pose_abinitio) by this factor',
3032  lower='0.001',
3033  default='1.0',
3034  ),
3035  Option( 'number_3mer_frags', 'Integer',
3036  desc="Number of top 3mer fragments to use in fold_abinitio protocol",
3037  lower='0', default='200'
3038  ),
3039  Option( 'number_9mer_frags', 'Integer',
3040  desc='Number of top 9mer fragments to use in fold_abinitio protocol',
3041  lower='0', default='25'
3042  ),
3043  Option( 'temperature', 'Real', oldName='abinitio_temperature',
3044  desc='Temperature used in fold_abinitio',
3045  default='2.0'
3046  ),
3047  ##Option( 'vdw_reweight', 'Real',
3048  ## desc='Reweight contribution of van der Waals score to total score by this scale factor',
3049  ## default='1.0'
3050  ##),
3051  ##Option( 'env_reweight', 'Real',
3052  ## desc='Reweight contribution of environment score to total score by this scale factor (default 1.0)',
3053  ## default='1.0'
3054  ##),
3055  ##Option( 'pair_reweight', 'Real',
3056  ## desc='Reweight contribution of pair score to total score by this scale factor',
3057  ## default='1.0'
3058  ##),
3059  ##Option( 'cb_reweight', 'Real',
3060  ## desc='Reweight contribution of C_beta (packing density) score to total score by this scale factor',
3061  ## default='1.0'
3062  ##),
3063  ##Option( 'sheet_reweight', 'Real',
3064  ## desc='Reweight contribution of sheet score to total score by this scale factor',
3065  ## default='1.0'
3066  ##),
3067  ##Option( 'ss_reweight', 'Real',
3068  ## desc='Reweight contribution of strand-strand score to total score by this scale factor',
3069  ## default='1.0'
3070  ##),
3071  ##Option( 'hs_reweight', 'Real',
3072  ## desc='Reweight contribution of helix-strand score to total score by this scale factor',
3073  ## default='1.0'
3074  ##),
3075  ##Option( 'rsigma_reweight', 'Real',
3076  ## desc='Reweight contribution of R-sigma score (strand pair distance/register) to total score by this scale factor',
3077  ## default='1.0'
3078  ##),
3079  Option( 'rg_reweight', 'Real',
3080  desc='Reweight contribution of radius of gyration to total score by this scale factor',
3081  default='1.0'
3082  ),
3083  ##Option( 'parallel_weight', 'Real',
3084  ## desc='Reweight score for parallel strand pairing between residues whose strands are separated by more than 10 A',
3085  ##),
3086  ##Option( 'antiparallel_weight', 'Real',
3087  ## desc='Reweight score for antiparallel strand pairing between residues whose strands are separated by more than 10 A',
3088  ## default='1.0',
3089  ##),
3090 # Option( 'strand_dist_cutoff', 'Real',
3091 # desc='Specify distance cutoff (in Angstroms) between strand dimers within which they are called paired',
3092 # default='6.5'
3093 # ),
3094 # Option( 'stretch_strand_dist_cutoff', 'Boolean',
3095 # 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>' ",
3096 # ),
3097  Option( 'rsd_wt_helix', 'Real',
3098  desc='Reweight env,pair,cb for helix residues by this factor',
3099  default='1.0',
3100  ),
3101  Option( 'rsd_wt_strand', 'Real',
3102  desc='Reweight env,pair,cb for strand residues by this factor',
3103  default='1.0',
3104  ),
3105  Option( 'rsd_wt_loop', 'Real',
3106  desc='Reweight env,pair,cb for loop residues by this factor',
3107  default='1.0',
3108  ),
3109 
3110  ##Option( 'rand_envpair_res_wt', 'Boolean',
3111  ## desc='Reweight of env,pair,cb contributions by random factors (between 0.5 and 1.2) for each residue',
3112  ##),
3113  ##Option( 'rand_SS_wt', 'Boolean',
3114  ## desc='Reweight helix-strand, strand-strand, sheet, and rsigma scores by random factors between 0.5 and 1.5',
3115  ##),
3116  ##Option( 'random_parallel_antiparallel', 'Boolean',
3117  ## 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",
3118  ##),
3119  ##Option( 'optimize_rmsd', 'Boolean',
3120  ## desc='Optimize a score function composed of van der waals score plus a component proportional to -1/rmsd',
3121  ##),
3122  ##Option( 'handedness_score', 'Boolean',
3123  ## desc='Evaluate whether any beta-alpha-beta connections are left-handed during run; if so, adds a penalty to sheet score',
3124  ##),
3125  # May be need its own category, look: https://wiki.rosettacommons.org/index.php/Command-line_reference
3126 # Option( 'fast', 'Boolean',
3127 # 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',
3128 # ),
3129 # ##Option( 'score_contact_flag', 'Boolean',
3130  ## desc='To turn the contact scoring on',
3131  ##),
3132  ### Default is computed and passed in lookup
3133  ##Option( 'score_contact_file', 'File',
3134  ## 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',
3135  ##),
3136  ##Option( 'score_contact_weight', 'Real',
3137  ## desc='To set the weight - default is 1',
3138  ## default='1.0'
3139  ##),
3140  ##Option( 'score_contact_threshold', 'Real',
3141  ## 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',
3142  ## default='0.5'
3143  ##),
3144  ##Option( 'score_contact_seq_sep', 'Integer',
3145  ## desc='Only AA separated at least this number in sequence are considered - default is 1',
3146  ## default='1'
3147  ##),
3148  ##Option( 'score_contact_calpha', 'Boolean',
3149  ## desc='Use distances between alpha carbons, not centroids to assign bonuses',
3150  ##),
3151  ##
3152  ### Default (8 or 11) passed in lookup: Should this be a 2-valued option?
3153  ##Option( 'score_contact_distance', 'Real',
3154  ## desc='Give distance under which contact is given bonus [Default is 8 angstroms (centroid/centroid) or 11 angstroms (c_alpha/c_alpha)]',
3155  ##),
3156  ##Option( 'score_contact_readindist', 'Boolean',
3157  ## desc='Instead of using score_contact_distance, read in distances from contact file as fourth column: aa1(integer) aa2(integer) probability(double) distance(double)',
3158  ##),
3159  ##Option( 'score_contact_fullatom', 'Boolean',
3160  ## desc="By default the 'contact score' is off during full atom; this option turns it on"
3161  ##),
3162  Option( 'skip_convergence_check', 'Boolean',
3163  desc="this option turns off the convergence check in stage3 (score 2/5)"
3164  ),
3165  Option( 'stage1_patch', 'FileVector',
3166  desc="Name of weights patch file (without extension .wts) to use during stage1 abinitio"),
3167  Option( 'stage2_patch', 'FileVector',
3168  desc="Name of weights patch file (without extension .wts) to use during stage2 abinitio"),
3169  Option( 'stage3a_patch', 'FileVector',
3170  desc="Name of weights patch file (without extension .wts) to use during stage3a abinitio"),
3171  Option( 'stage3b_patch', 'FileVector',
3172  desc="Name of weights patch file (without extension .wts) to use during stage3b abinitio"),
3173  Option( 'stage4_patch', 'FileVector',
3174  desc="Name of weights patch file (without extension .wts) to use during stage4 abinitio"),
3175  Option( 'stage5_patch', 'FileVector',
3176  desc="Name of weights patch file (without extension .wts) to use during stage5 abinitio"),
3177 # Option( 'exit_when_converged', 'Boolean', desc="finish abinitio if mc_converged", default='false' ),
3178 
3179  Option( 'steal_3mers' , 'Boolean', desc='stealing: use 3mers from native', default='false' ),
3180  Option( 'steal_9mers' , 'Boolean', desc='stealing: use 9mers from native', default='false' ),
3181  Option( 'no_write_failures', 'Boolean', desc='dont write failed structures to silent-out', default='false' ),
3182  Option( 'relax_failures', 'Boolean', desc='relax failures anyway', default='false' ),
3183  # Option( 'no_prof_info_in_silentout', 'Boolean', desc='add column <seconds> to silent output', default='false' ),
3184  Option( 'relax_with_jumps', 'Boolean', desc='switch to allow relax even if loops are not closed ', default='false' ),
3185  Option( 'process_store', 'Boolean', desc='run process_decoy on each structure in the structure store', default='false' ),
3186  Option( 'fix_residues_to_native', 'IntegerVector', desc='these residues torsions are copied from native and fixed', default='0' ),
3187  Option( 'return_full_atom', 'Boolean', desc='return a full-atom structure even if no relax is done', default='false' ),
3188  Option( 'detect_disulfide_before_relax','Boolean', desc='run detect_disulfides() before relax', default='false' ),
3189 
3190  Option( 'close_loops', 'Boolean', desc='close loops', default='false' ),
3191 
3192  Option( 'bGDT', 'Boolean', desc="compute gdtmmm", default='true' ),
3193 
3194  Option( 'dump_frags', 'Boolean', desc='for control purposes... dump fragments', default='false' ),
3195  Option( 'jdist_rerun', 'Boolean', desc='go through intput structures and evaluate ( pca, rmsd, cst-energy )', default='false' ),
3196 
3197  Option( 'perturb', 'Real', desc='add some perturbation (gaussian) to phi/psi of native', default='0.0' ),
3198  Option( 'rerun', 'Boolean', desc='go through intput structures and evaluate ( pca, rmsd, cst-energy )', default='false' ),
3199  Option( 'rmsd_residues', 'IntegerVector', desc='give start and end residue for rmsd calcul.', default='-1' ),
3200  Option( 'start_native', 'Boolean', desc='start from native structure (instead of extended)', default='false' ),
3201  Option( 'cyclic_peptide', 'Boolean', desc='set up cyclic peptide (N-to-C cyclization) constraints for abinitio runs', default='false' ),
3202  Option( 'debug_structures', 'Boolean', desc="write structures to debug-out files", default='false' ),
3203 
3204  Option( 'log_frags', 'File', desc='fragment insertions (each trial) will be logged to file', default='' ),
3205  Option( 'only_stage1', 'Boolean', desc='useful for benchmarks sets cycle of all higher stages to 0', default='false' ),
3206  Option( 'end_bias', 'Real', desc='set the endbias for Fragment moves', default='30.0' ),
3207  Option( 'symmetry_residue', 'Integer', desc='hacky symmetry mode for dimers, fragments are inserted at i and i + SR - 1', default='-1' ),
3208  Option( 'vdw_weight_stage1', 'Real', desc='vdw weight in stage1', default='1.0' ),
3209  Option( 'override_vdw_all_stages', 'Boolean', desc='apply vdw_weight_stage1 for all stages', default='false' ),
3210  Option( 'recover_low_in_stages', 'IntegerVector',desc='say default: 2 3 4 recover_low happens in stages 2 3 4', default='0' ),
3211  Option( 'skip_stages', 'IntegerVector',desc='say: 2 3 4, and it will skip stages 2 3 4', default='0' ),
3212  Option( 'close_chbrk', 'Boolean', desc='Chain break closure during classic abinito ', default='false' ),
3213  Option( 'include_stage5', 'Boolean', desc='stage5 contains small moves only', default='false' ),
3214  Option( 'close_loops_by_idealizing', 'Boolean', desc='close loops by idealizing the structure after stage 4', default='false' ),
3215  Option( 'optimize_cutpoints_using_kic', 'Boolean', desc='optimize around cutpoints using kinematic relax', default='false' ),
3216  Option( 'optimize_cutpoints_margin', 'Integer', desc='', default='5' ),
3217 
3218 # Option ('HD_EX_Info', 'File', desc= 'input list of residues with low amide protection ' ),
3219 # Option ('HD_penalty', 'Real', desc= 'penatlty for each inconsistent pairing with HD data ', default='0.1' ),
3220 # Option ('HD_fa_penalty','Real', desc = 'penalty for each Hbond donor inconsistent with HD donor', default = '0.1' ),
3221 # Option ('sheet_edge_pred','File', desc= 'file with interior/exterior predictions for strands' ),
3222 # Option ('SEP_score_scalling','Real', desc= 'scalling factor', default = '1.0' ),
3223 
3224  Option_Group('star',
3225  Option('initial_dist_cutoff', 'Real', desc = 'Maximum distance cutoff for restraints that constrain aligned residues to their initial positions', default = '8.0'),
3226  Option('min_unaligned_len', 'Integer', desc = 'Minimum length of an unaligned region', default = '3'),
3227 # 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'),
3228  ), # -abinito:star
3229  ), # -abinitio
3230 
3231  # abrelax mode -----------------------------------------------------------
3232  Option_Group( 'abrelax',
3233  Option( 'abrelax', 'Boolean', desc="ab initio relax mode" ),
3234 # Option( 'filters', 'Boolean', desc="", oldName='abrelax_filters' ),
3235  Option( 'fail_unclosed', 'Boolean', desc="structures which don't close loops are reported as FAIL_DO_NOT_RETRY", default='false' ),
3236  ), # -abrelax
3237 
3238  #########################AnchoredDesign#############################
3239  Option_Group( 'AnchoredDesign',
3240  Option( 'anchor', 'File', desc='anchor specification file', default='anchor' ),
3241  Option( 'allow_anchor_repack', 'Boolean', desc='allow repacking of anchor (default is to prevent)', default='false'),
3242  Option( 'vary_cutpoints', 'Boolean', desc='vary loop cutpoints. Picks new cutpoints at start of each nstruct', default='false'),
3243  Option( 'no_frags', 'Boolean', desc='use no fragments. Overrides passing an old-style fragment file. Skips new-style fragment generation.', default='false'),
3244  Option( 'debug', 'Boolean', desc='debug mode (extra checks and pdb dumps)', default='false' ),
3245  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' ),
3246  Option( 'refine_only', 'Boolean', desc='refine only mode (skip perturbation step)', default='false' ),
3247  Option( 'perturb_show', 'Boolean', desc='dump perturbed centroid pdbs as well as final results', default='false' ),
3248  Option( 'perturb_cycles', 'Integer', desc='perturbation phase runs for <input> cycles', default = '5' ),
3249  Option( 'perturb_temp', 'Real', desc='perturbation phase temperature for monte carlo', default = '0.8' ),
3250  Option( 'perturb_CCD_off', 'Boolean', desc='CCD-style loop remodeling off in perturb phase (meaning, KIC only)', default = 'false' ),
3251  Option( 'perturb_KIC_off', 'Boolean', desc='KIC-style loop remodeling off in perturb phase (meaning, CCD only)', default = 'false' ),
3252  Option( 'refine_CCD_off', 'Boolean', desc='CCD-style loop remodeling off in refine phase (meaning, KIC only)', default = 'false' ),
3253  Option( 'refine_KIC_off', 'Boolean', desc='KIC-style loop remodeling off in refine phase (meaning, CCD only)', default = 'false' ),
3254  Option( 'refine_cycles', 'Integer', desc='refinement phase runs for <input> cycles', default = '5' ),
3255  Option( 'refine_temp', 'Real', desc='refinement phase temperature for monte carlo', default = '0.8' ),
3256  Option( 'refine_repack_cycles', 'Integer', desc='refinement phase runs repack every <input> cycles', lower = '2', default = '20' ),
3257  Option( 'rmsd', 'Boolean', desc='Calculate result structure CA RMSD from starting structure', default = 'false'),
3258  Option( 'unbound_mode', 'Boolean', desc='Ignore the anchor, as if this were loop modeling', default = 'false'),
3259  Option( 'chainbreak_weight', 'Real', desc='Chainbreak term weight', default = '2.0'),
3260  Option_Group( 'filters',
3261  Option( 'score', 'Real', desc='do not print trajectories with scores greater than this total scorefunction value', default='0'),
3262  Option( 'sasa', 'Real', desc='do not print trajectories with sasas less than this interface delta sasa value', default='500'),
3263  Option( 'omega', 'Boolean', desc='filter out non-trans omegas', default='false'),
3264  ), # -AnchoredDesign:filters
3265  Option_Group( 'akash',
3266  Option( 'dyepos', 'Integer', desc='dye position', default = '0'), #deliberate illegal default - flag should be ignored if not user specified ),
3267  ), # -AnchoredDesign:akash
3268  Option_Group( 'testing',
3269  Option( 'VDW_weight', 'Real', desc='centroid VDW weight; testing if 2 better than 1', lower='0', default = '1.0'),
3270  Option( 'anchor_via_constraints', 'Boolean', desc='allow anchor&jump to move; anchor held in place via constraints - you must specify constraints!', default = 'false'),
3271  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.'),
3272  Option( 'RMSD_only_this', 'File', desc='Perform only RMSD calculations without modifying input. Only used for re-running metrics during benchmarking/debugging.'),
3273  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'),
3274  Option( 'super_secret_fixed_interface_mode', 'Boolean', desc='hold the anchor-containing loop fixed. Currently in testing.', default = 'false'),
3275  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'),
3276  ), # -AnchoredDesign:testing
3277  ), # -AnchoredDesign
3278 
3279  ##############################################################################
3280  # Rosetta Antibody Options -----------------------------------------------
3281  Option_Group('antibody',
3282  Option( 'antibody', 'Boolean',
3283  desc='Antibody option group',
3284  legal='true', default='true'
3285  ),
3286 
3287  Option('numbering_scheme', 'String',
3288  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.',
3289  default='Chothia_Scheme'
3290  ),
3291  Option('cdr_definition', 'String',
3292  desc='The CDR definition to use. Current Options are: Chothia, Aroop, North, Kabat, Martin',
3293  default='Aroop'
3294  ),
3295  Option('light_chain', 'String',
3296  desc='Type of light chain if known. Only used for design for now.',
3297  legal = ['unknown', 'lambda', 'kappa'],
3298  default='unknown'
3299  ),
3300  Option('check_cdr_chainbreaks', 'Boolean',
3301  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',
3302  default='true'
3303  ),
3304  Option('check_cdr_pep_bond_geom', 'Boolean',
3305  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.',
3306  default='false'
3307  ),
3308  Option( 'graft_l1', 'Boolean',
3309  desc='Graft CDR L1 from template',
3310  default='false'
3311  ),
3312  Option('l1_template', 'String',
3313  desc='Choose specified template for CDR L1 grafting',
3314  default='l1.pdb'
3315  ),
3316  Option( 'graft_l2', 'Boolean',
3317  desc='Graft CDR L2 from template',
3318  default='false'
3319  ),
3320  Option('l2_template', 'String',
3321  desc='Choose specified template for CDR L2 grafting',
3322  default='l2.pdb'
3323  ),
3324  Option( 'graft_l3', 'Boolean',
3325  desc='Graft CDR L3 from template',
3326  default='false'
3327  ),
3328  Option('l3_template', 'String',
3329  desc='Choose specified template for CDR L3 grafting',
3330  default='l3.pdb'
3331  ),
3332  Option( 'graft_h1', 'Boolean',
3333  desc='Graft CDR H1 from template',
3334  default='false'
3335  ),
3336  Option('h1_template', 'String',
3337  desc='Choose specified template for CDR H1 grafting',
3338  default='h1.pdb'
3339  ),
3340  Option( 'graft_h2', 'Boolean',
3341  desc='Graft CDR H2 from template',
3342  default='false'
3343  ),
3344  Option('h2_template', 'String',
3345  desc='Choose specified template for CDR H2 grafting',
3346  default='h2.pdb'
3347  ),
3348  Option( 'graft_h3', 'Boolean',
3349  desc='Graft CDR H3 from template',
3350  default='false'
3351  ),
3352  Option('h3_template', 'String',
3353  desc='Choose specified template for CDR H3 grafting',
3354  default='h3.pdb'
3355  ),
3356  Option( 'h3_no_stem_graft', 'Boolean',
3357  desc='Graft CDR H3 from template, use stem to superimpose, but do not copy the stem',
3358  default='false'
3359  ),
3360  Option( 'packonly_after_graft', 'Boolean',
3361  desc='Only do packing after grafting, do not do minimization',
3362  default='false'
3363  ),
3364  Option( 'stem_optimize', 'Boolean',
3365  desc='turn on/off the option to optimize the grafted stems',
3366  default='true'
3367  ),
3368  Option( 'stem_optimize_size', 'Integer',
3369  desc=' define the size of the stem to optimize ',
3370  default='4'
3371  ),
3372  Option( 'preprocessing_script_version', 'String',
3373  desc='Rosetta 2 using Perl script has errors for grafting',
3374  default='R3_Python'
3375  ),
3376  Option( 'model_h3', 'Boolean',
3377  desc='Model CDR H3 from scratch using fragments',
3378  default='false'
3379  ),
3380  Option( 'snugfit', 'Boolean',
3381  desc='Adjust relative orientation of VL-VH',
3382  default='false'
3383  ),
3384  Option( 'refine_h3', 'Boolean',
3385  desc='Refine CDR H3 in high resolution',
3386  default='true'
3387  ),
3388  Option( 'h3_filter', 'Boolean',
3389  desc='filter decoys having neither kink nor extend form',
3390  default='true'
3391  ),
3392  Option( 'h3_filter_tolerance', 'Real',
3393  desc='maximum number of tries for the filter',
3394  default='5'
3395  ),
3396  Option( 'cter_insert', 'Boolean',
3397  desc='insert kind or extend Ab fragments to CDR H3',
3398  default='true'
3399  ),
3400  Option( 'flank_residue_min', 'Boolean',
3401  desc='minimize flank residues of CDR H3 during high-reso refinement',
3402  default='true'
3403  ),
3404  Option( 'sc_min', 'Boolean',
3405  desc='minimize the side chain after finishing the rotamer packing',
3406  default='false'
3407  ),
3408  Option( 'rt_min', 'Boolean',
3409  desc='minimize the rotamer each packing',
3410  default='false'
3411  ),
3412  Option( 'bad_nter', 'Boolean',
3413  desc='the n-terminal is bad because of bad H3 grafting',
3414  default='true'
3415  ),
3416  Option( 'extend_h3_before_modeling', 'Boolean',
3417  desc='extend the H3 to forget the intial H3 configuration',
3418  default='true'
3419  ),
3420  Option( 'idealize_h3_stems_before_modeling', 'Boolean',
3421  desc='idealize the H3 stem, H3 grafting does not copy the coordinates which makes the grafting bad ',
3422  default='true'
3423  ),
3424  Option('remodel', 'String',
3425  desc='Choose a perturb method to model H3 in centroid mode',
3426  default='legacy_perturb_ccd'
3427  ),
3428  Option('refine', 'String',
3429  desc='Choose a refine method to model H3 in high-resol model',
3430  default='legacy_perturb_ccd'
3431  ),
3432  Option('centroid_refine', 'String',
3433  desc='Choose a refine method to refine a loop in centroid mode',
3434  default='refine_kic'
3435  ),
3436  Option( 'constrain_cter', 'Boolean',
3437  desc='The option to turn on/off the cterminal constrain penalty in loop scoring function',
3438  default='false'
3439  ),
3440  Option( 'constrain_vlvh_qq', 'Boolean',
3441  desc='The option to turn on/off the VL-VH QQ H-bond in docking scoring function',
3442  default='false'
3443  ),
3444  Option( 'snug_loops', 'Boolean',
3445  desc='Allow CDR loop backbone flexibility during minimization',
3446  default='false'
3447  ),
3448  Option( 'input_fv','File',
3449  desc='input antibody variable (Fv) region',
3450  default='FR02.pdb'
3451  ),
3452  Option( 'camelid','Boolean',
3453  desc='Camelid input with only heavy (VH) chain',
3454  default='false'
3455  ),
3456  Option( 'camelid_constraints','Boolean',
3457  desc='Display constraints file for use with camelid H3 modeler',
3458  default='false'
3459  ),
3460  ### Only used for antibody design at the moment ###
3461  ############# CDR Dihedral Constraints ############
3462  Option('use_mean_cluster_cst_data', 'Boolean',
3463  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.',
3464  default = 'true'
3465  ),
3466  Option('force_use_of_cluster_csts_with_outliers', 'Boolean',
3467  desc= 'Force the use of cluster dihedral constraints to use ones with outliers.',
3468  default = 'false'
3469  ),
3470  Option('cluster_csts_stats_cutoff', 'Integer',
3471  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.',
3472  default='10'
3473  ),
3474 
3475 
3476  Option('prefix', 'String', desc="File name prefix for antibody grafting outout", default='grafting.'),
3477 
3478  Option('grafting_database', 'String',
3479  desc='Path to the Antibody Grafting Database from Rosetta tools repository. Should be point to tools/antibody',
3480  default='../../tools/antibody'
3481  ),
3482 
3483  Option('blastp', 'String', desc="Path to NCBI-Blast+ executable", default='blastp'),
3484 
3485 
3486  Option('general_dihedral_cst_phi_sd', 'Real',
3487  desc = 'Standard deviation to use for phi while using general dihedral circular harmonic constraints',
3488  default='16.0'
3489  ),
3490  Option('general_dihedral_cst_psi_sd', 'Real',
3491  desc = 'Standard deviation to use for psi while using general dihedral circular harmonic constraints',
3492  default = '16.0'
3493  ),
3494  ##############################################################################
3495  # Rosetta AntibodyDesign Options -----------------------------------------------
3496  Option_Group( 'design',
3497  Option('base_cdr_instructions', 'String',
3498  desc='The Default/Baseline instructions file. Should not need to be changed.',
3499  default='/sampling/antibodies/design/default_instructions.txt'
3500  ),
3501 
3502  Option('cdr_instructions', 'String',
3503  desc='Path to CDR Instruction File',
3504  ),
3505  Option('antibody_database', 'String',
3506  desc='Path to the current Antibody Database, updated weekly. Download from http://dunbrack2.fccc.edu/PyIgClassify/ ',
3507  default='/sampling/antibodies/antibody_database_rosetta_design.db'
3508  ),
3509  Option('paper_ab_db', 'Boolean',
3510  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/',
3511  default='false'
3512  ),
3513  Option('paper_ab_db_path', 'String',
3514  desc='Path to the North paper ab_db path. Only used if -paper_ab_db option is passed',
3515  default='/sampling/antibodies/antibody_database_rosetta_design_north_paper.db'
3516  ),
3517  Option('design_cdrs', 'StringVector',
3518  legal = ['L1', 'L2', 'L3', 'H1', 'H2', 'H3', 'l1', 'l2', 'l3', 'h1', 'h2', 'h3'],
3519  desc = "Design these CDRs in graft and sequence design steps. Use to override instructions file"
3520  ),
3521  Option('top_designs', 'Integer',
3522  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.',
3523  default='1'
3524  ),
3525  ###### Protocol Steps
3526  Option('design_protocol', 'String',
3527  desc='Set the main protocol to use. Note that deterministic is currently only available for the grafting of one CDR.',
3528  default='gen_mc',
3529  legal = ['gen_mc', 'even_cluster_mc', 'even_length_cluster_mc', 'deterministic_graft']
3530  ),
3531  Option('run_snugdock', 'Boolean',
3532  desc='Run snugdock on each ensemble after designing.',
3533  default='false'
3534  ),
3535  Option('run_relax', 'Boolean',
3536  desc = 'Run Dualspace Relax on each ensemble after designing (after snugdock if run). Also output pre-relaxed structures',
3537  default = 'false'
3538  ),
3539  Option('run_interface_analyzer', 'Boolean',
3540  desc = 'Run the Interface Analyzer and add the information to the resulting score function for each top design output.',
3541  default = 'true'),
3542 
3543  ###### Paratope + Epitope
3544  Option('paratope', 'StringVector',
3545  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.",
3546  legal = ['L1', 'L2', 'L3', 'H1', 'H2', 'H3', 'l1', 'l2', 'l3', 'h1', 'h2', 'h3'],
3547  ),
3548  Option('epitope', 'StringVector',
3549  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 = []
3550  ),
3551  Option('use_epitope_constraints', 'Boolean',
3552  default = 'false',
3553  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."
3554  ),
3555  ###### Constraint Control
3556  Option('dihedral_cst_weight', 'Real',
3557  default = '.3',
3558  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.'
3559  ),
3560  Option('atom_pair_cst_weight', 'Real',
3561  default = '0.01',
3562  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.'
3563  ),
3564  Option('global_dihedral_cst_scoring', 'Boolean',
3565  default = 'false',
3566  desc = 'Use the dihedral cst score throughout the protocol, including final scoring of the poses instead of just during minimization step'
3567  ),
3568  Option('global_atom_pair_cst_scoring', 'Boolean',
3569  default = 'false',
3570  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.'
3571  ),
3572  ###### Optimization Step
3573  Option('do_dock', 'Boolean',
3574  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 ',
3575  default='false'
3576  ),
3577  Option('do_rb_min', 'Boolean',
3578  desc='Minimize the ab-ag interface post graft and any docking/cdr min by minimizing the jump',
3579  default='false'
3580  ),
3581  Option('dock_min_dock', 'Boolean',
3582  desc='Do Dock -> Min -> Dock instead of Dock->Min where you would otherwise want 2 cycles. Must already be passing do_dock',
3583  default='false'
3584  ),
3585  ###### Protocol Rounds
3586  Option('outer_cycle_rounds', 'Integer',
3587  desc='Rounds for outer loop of the protocol (not for deterministic_graft ). Each round chooses a CDR and designs',
3588  default='150'
3589  ),
3590  Option('inner_cycle_rounds', 'Integer',
3591  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.',
3592  default = '1'
3593  ),
3594  Option('dock_cycle_rounds', 'Integer',
3595  desc='Number of rounds for any docking. If you are seeing badly docked structures, increase this value.',
3596  default='1'
3597  ),
3598  ##### Distance Detection
3599  Option('interface_dis', 'Real',
3600  desc='Interface distance cutoff. Used for repacking of interface, epitope detection, etc.',
3601  default='8.0'
3602  ),
3603  Option('neighbor_dis', 'Real',
3604  desc='Neighbor distance cutoff. Used for repacking after graft, minimization, etc.',
3605  default='6.0'
3606  ),
3607  ###### Outlier Control
3608  Option('use_outliers', 'Boolean',
3609  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.',
3610  default='false'
3611  ),
3612  Option('use_H3_graft_outliers', 'Boolean',
3613  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.',
3614  default = 'true'
3615  ),
3616  Option('use_only_H3_kinked', 'Boolean',
3617  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.',
3618  default = 'false'
3619  ),
3620  ###### Regional Sequence Design
3621  Option('design_antigen', 'Boolean',
3622  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.',
3623  default = 'false'
3624  ),
3625  Option('design_framework', 'Boolean',
3626  desc='Design framework residues during sequence design. Typically done with only neighbor residues of designing CDRs or during interface minimization.',
3627  default = 'false'
3628  ),
3629  Option('conservative_framework_design', 'Boolean',
3630  desc='If designing Framework positions, use conservative mutations instead of all of them.',
3631  default='true'
3632  ),
3633  ###### Seq Design Control
3634  Option('design_H3_stem', 'Boolean',
3635  default='false',
3636  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.'
3637  ),
3638  Option('design_proline', 'Boolean',
3639  default='false',
3640  desc='Enable proline design. Profiles for proline are very good, but designing them is a bit risky. Enable this if you are feeling daring.'
3641  ),
3642  Option('sample_zero_probs_at', 'Real',
3643  default='0',
3644  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. '
3645  ),
3646  Option('force_mutate_framework_for_cluster', 'Boolean',
3647  default = 'true',
3648  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",
3649  ),
3650  ## Profile Stats
3651  Option('seq_design_stats_cutoff', 'Integer',
3652  default='10',
3653  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.'
3654 
3655  ),
3656  Option('seq_design_profile_samples', 'Integer',
3657  default='1',
3658  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.'
3659  ),
3660  ##### Fine Control
3661  Option('use_light_chain_type','Boolean',
3662  default='true',
3663  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.'
3664  ),
3665  Option('idealize_graft_cdrs', 'Boolean',
3666  desc='Idealize the CDR before grafting. May help or hinder. Still testing.',
3667  default = 'false'
3668  ),
3669  Option('add_backrub_pivots', 'StringVector',
3670  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.',
3671  ),
3672  Option('inner_kt', 'Real',
3673  desc = "KT used in the inner min monte carlo after each graft.",
3674  default = '2.0'),
3675  Option('outer_kt', 'Real',
3676  desc = 'KT used for the outer graft Monte Carlo. Each graft step will use this value',
3677  default = '1.0'),
3678  ###### Benchmarking
3679  Option('random_start', 'Boolean',
3680  desc = 'Start graft design (currently) with a new set of CDRs from the CDRSets as to not bias the run with native CDRs.',
3681  default='false'
3682  ),
3683  Option('adapt_graft', 'Boolean',
3684  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.',
3685  default='true'
3686  ),
3687  Option('enable_adapt_graft_cartesian', 'Boolean',
3688  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',
3689  default = 'false'
3690  ),
3691  Option('remove_antigen', 'Boolean',
3692  desc = 'Remove the antigen from the pose before doing any design on it',
3693  default = 'false'
3694  ),
3695  Option('add_graft_log_to_pdb', 'Boolean',
3696  desc = 'Add the full graft log to the output pose. Must also pass -pdb_comments option.',
3697  default = 'false'
3698  ),
3699  Option('mutate_framework_for_cluster', 'Boolean',
3700  desc = 'Mutate the framework to maintain certain clusters post-graft.',
3701  default = 'false'
3702  ),
3703  ), #design
3704  ), # antibody
3705 
3706  ## Options for specific task operations - outside global packing options.
3707  Option_Group( 'task_operations',
3708  Option( 'cons_design_data_source', 'String',
3709  desc='Data source used for the ConservativeDesignOperation. This guides the set of allowed mutations. Higher blosum means higher conservation (numbers indicate sequence similarity cutoffs.',
3710  default='blosum62',
3711  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']
3712  ),
3713  ),
3714 
3715  ##########################################################################
3716  Option_Group( 'assembly',
3717  Option( 'pdb1','File', desc='pdb1 file' ),
3718  Option( 'pdb2','File', desc='pdb2 file' ),
3719 # Option( 'nterm_seq', 'String', default='', desc='extra sequence at Nterminus' ),
3720 # Option( 'cterm_seq', 'String', default='', desc='extra sequence at Cterminus' ),
3721 # Option( 'linkers_pdb1', 'IntegerVector', desc="Residue numbers to be built as linkers " ),
3722 # Option( 'linkers_pdb2', 'IntegerVector', desc="Residue numbers to be built as linkers " ),
3723 # Option( 'preserve_sidechains_pdb1', 'IntegerVector', desc="Residue numbers to be sidchain-preserved " ),
3724 # Option( 'preserve_sidechains_pdb2', 'IntegerVector', desc="Residue numbers to be sidchain-preserved " ),
3725  ), # -assembly
3726 
3727  ## options for BackrubMover
3728  Option_Group( 'backrub',
3729  Option( 'pivot_residues', 'IntegerVector', desc='residues for which contiguous stretches can contain segments (internal residue numbers, defaults to all residues)', default = 'utility::vector1<int>()'),
3730  Option( 'pivot_atoms', 'StringVector', desc='main chain atoms usable as pivots', default = 'utility::vector1<std::string>(1, "CA")'),
3731  Option( 'min_atoms', 'Integer', desc='minimum backrub segment size (atoms)', default = '3'),
3732  Option( 'max_atoms', 'Integer', desc='maximum backrub segment size (atoms)', default = '34'),
3733 
3734  #BackrubProtocol
3735  Option( 'ntrials', 'Integer', desc='number of Monte Carlo trials to run', default = '1000'),
3736  Option( 'sc_prob', 'Real', desc='probability of making a side chain move', default = '0.25'),
3737  Option( 'sm_prob', 'Real', desc='probability of making a small move', default = '0'),
3738  Option( 'sc_prob_uniform', 'Real', desc='probability of uniformly sampling chi angles', default = '0.1'),
3739  Option( 'sc_prob_withinrot', 'Real', desc='probability of sampling within the current rotamer', default = '0.0'),
3740  Option( 'mc_kt', 'Real', desc='value of kT for Monte Carlo', default = '0.6'),
3741  Option( 'mm_bend_weight', 'Real', desc = 'weight of mm_bend bond angle energy term', default = '1.0'),
3742  Option( 'initial_pack', 'Boolean', desc = 'force a repack at the beginning regardless of whether mutations are set in the resfile', default = 'false'),
3743  Option( 'minimize_movemap', 'File', desc = 'specify degrees of freedom for minimization'),
3744  Option( 'trajectory', 'Boolean', desc = 'record a trajectory', default = 'false'),
3745  Option( 'trajectory_gz', 'Boolean', desc = 'gzip the trajectory', default = 'false'),
3746  Option( 'trajectory_stride', 'Integer', desc = 'write out a trajectory frame every N steps', default = '100'),
3747 
3748  ), # -backrub
3749 
3750  # batch_relax mode -----------------------------------------------------------
3751  Option_Group( 'batch_relax',
3752  Option( 'batch_size', 'Integer', desc='Size of batches - note that thsie affects memory usage significantly', default='100' ),
3753  #Option( 'return_all', 'Boolean', desc='Return all structures or only the ones that made it to the end ?', default='false' ),
3754  ), # -batch_relax
3755 
3756  ## options for BBGaussianMover
3757  Option_Group( 'bbg',
3758  Option( 'factorA', 'Real', desc='Control how big the move would be(acceptance rate), default 1.0', default='1.0'),
3759  Option( 'factorB', 'Real', desc='Control how local the move would be(folded 10.0, unfolded 0.1), default 10.0', default='10.0'),
3760  Option( 'ignore_improper_res', "Boolean", desc='Skip improper residues (proline)', default = 'false'),
3761  Option( 'fix_short_segment', "Boolean", desc='Do not apply small mover to short segments, for loop', default = 'false'),
3762  ), # -bbg
3763 
3764  Option_Group( 'boinc',
3765  Option( 'graphics', 'Boolean', desc='The boinc client uses this option for the windowed graphics', default='false' ),
3766  Option( 'fullscreen','Boolean', desc='The boinc client uses this option for the screensaver full screen graphics', default='false' ),
3767  Option( 'max_fps', 'Integer', desc='Maximum frames per second, overrides user preference.', default='0' ),
3768  Option( 'max_cpu', 'Integer', desc='Maximum cpu percentage, overrides user preferecne.', default='0' ),
3769  Option( 'noshmem', 'Boolean', desc='for testing graphics without shared memory.', default='false' ),
3770  Option('cpu_run_time', 'Integer', desc='Target cpu run time in seconds', default='10800'),
3771  Option('max_nstruct', 'Integer', desc='Maximum number of output models (failed or successful) for a given client', default='99' ),
3772  Option('cpu_frac', 'Real', desc='Percentage of CPU time used for graphics', default='10.0'),
3773  Option('frame_rate', 'Real', desc='Number of frames per second for graphics', default='10.0'),
3774  Option('watchdog', 'Boolean', desc='Turn watchdog on', default='false'),
3775  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'),
3776  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'),
3777  Option('description_file', 'File', desc='work unit description file', default='rosetta_description.txt'),
3778  Option('score_cut_pct','Real', desc='score cut done on the local nodes by percentage, required to return centroid models'),
3779  Option('score_cut_fl', 'File', desc='temp file where output is stored in', default='score_cut_tmp.out'),
3780  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)'),
3781  ), # -boinc
3782 
3783  # Broker stuff -----------------------------------------------------------
3784  Option_Group( 'broker',
3785  Option( 'setup', 'FileVector', desc="setup file for topology-broker",default='NO_SETUP_FILE' ),
3786  Option('rb_mover_stage1_weight', 'Real', desc = 'weight of RB mover in abinitio stage 1', default = '5.0'),
3787  Option('large_frag_mover_stage1_weight', 'Real', desc = 'weight of fragment mover in abinitio stage 1',default = '1.0'),
3788  Option('small_frag_mover_stage1_weight', 'Real', desc = 'weight of fragment mover in abinitio stage 1',default = '1.0'),
3789  ), # -broker
3790 
3791  Option_Group( 'bunsat_calc2',
3792 # Option( 'probe_radius', 'Real', desc="Probe radius for SASA calculation", default = '1.4' ),
3793 # Option( 'wobble', 'Real', desc="Distance atoms can move towards" \
3794 # " or away from solvent. Value is subtracted from inner shell and added to outer shell for variable distance SASA.", default = '0.0' ),
3795  Option( 'sasa_burial_cutoff', 'Real', desc="Minimum SASA to be considered exposed", default = '0.01' ),
3796  Option( 'layered_sasa', 'Boolean', desc="Use the variable distance solvent SASA calculator for finding buried unsats", default="true"),
3797  Option( 'generous_hbonds', 'Boolean', desc="Use generous hbond criteria", default = "true"),
3798  Option( 'AHD_cutoff', 'Real', desc="Minimum AHD angle for secondary geometry based h-bond detection", default = '120' ),
3799  Option( 'dist_cutoff', 'Real', desc="max dist", default = '3.0'),
3800  Option( 'hxl_dist_cutoff', 'Real', desc="hxl max dist", default = '3.5'),
3801  Option( 'sulph_dist_cutoff', 'Real', desc="max sulph dist", default = '3.3'),
3802  Option( 'metal_dist_cutoff', 'Real', desc="max metal dist", default = '2.7'),
3803  ), # -bunsat_calc2
3804 
3805  ############################################################################
3806  # equilibrium sampling options
3807  Option_Group('canonical_sampling',
3808  Option_Group('probabilities',
3809  Option('sc','Real',desc='probability of making a side chain move',default = '0.25'),
3810  Option('localbb','Real',desc='probability of making a small move',default = '0.75'),
3811  Option('sc_prob_uniform','Real',desc='probability of uniformly sampling chi angles',default = '0.1'),
3812  Option('sc_prob_withinrot','Real',desc='probability of sampling within the current rotamer',default = '0.9'),
3813  Option('sc_prob_perturbcurrent','Real',desc='probability of perturbing the current rotamer',default = '0.0'),
3814  Option('MPI_sync_pools','Boolean',desc='use MPI to synchronize pools and communicate between nodes',default = 'false'),
3815  Option('MPI_bcast','Boolean',desc='use broadcasting in syncing',default = 'false'),
3816  Option('fast_sc_moves','Boolean',desc='use the fast SidechainMCMover',default = 'false'),
3817  Option('fast_sc_moves_ntrials','Real',desc='specify the number of ntrials for each call of scmover apply',default='1000'),
3818  Option('no_jd2_output','Boolean',desc='do not write to silent-file specified by -out:file:silent',default = 'false'),
3819  Option('use_hierarchical_clustering','Boolean',desc='use the HierarchicalLevel class',default = 'false'),
3820 # Option('hierarchical_max_cache_size','Integer',desc='set the max-cache size of the hierarchy',default = '1000'),
3821  Option('backrub','Real',desc='set the probability of executing a backrub move when making a backbone move',default = '0.5'),
3822  Option('conrot','Real',desc='set relative probability of executing a conrot move when making a backbone move',default = '0.0'),
3823  ), # -canonical_sampling:probabilities
3824  Option_Group('sampling',
3825  Option('no_detailed_balance','Boolean',desc='preserve detailed balance',default = 'false'),
3826  Option('ntrials','Integer',desc='number of Monte Carlo trials to run',default = '1000' ),
3827  Option('mc_kt','Real',desc='value of kT for Monte Carlo',default='0.6'),
3828  Option('interval_pose_dump','Integer',desc='dump a pose out every x steps',default='1000'),
3829  Option('interval_data_dump','Integer',desc='dump data out every x steps',default='100'),
3830  Option('output_only_cluster_transitions','Boolean',desc='output only cluster transitions',default = 'false'),
3831  Option('transition_threshold','Real',desc='if rmsd to known_structures larger than X, add a new structure to pool',default = '2.0'),
3832  Option('max_files_per_dir','Integer',desc='distribute traj and transition files into subdirectories with max N entries',default = '1000'),
3833  Option('save_loops_only','Boolean',desc='save only loop conformation to pool',default = 'false'),
3834  Option('dump_loops_only','Boolean',desc='dump only loop conformation in silent-files',default = 'false'),
3835  ), # -canonical_sampling:sampling
3836  Option_Group('out',
3837  Option('new_structures','File',desc='',default = 'discovered_decoys.out'),
3838  ), # -canonical_sampling:out
3839  ), # -canonical_sampling
3840 
3841  ##relevent casp options for refinement protocols
3842  Option_Group( 'casp',
3843 # Option( 'decoy', 'String'),
3844 # Option( 'wt', 'String'),
3845 # Option( 'rots' , 'String'),
3846  Option( 'opt_radius', 'Real', desc='optimization radius for repacking and minimization'),
3847  Option( 'repack', 'Boolean', desc='should we repack the structure?'),
3848  Option( 'sc_min', 'Boolean', desc='should we sidechain minimize the structure?'),
3849  Option( 'sequential', 'Boolean', desc='should mutations be considered in sequence or all together?'),
3850  Option( 'num_iterations', 'Real', desc='number of iterations to perform'),
3851 # Option( 'weight_file', 'String', desc='what weight-file to use?'),
3852  Option( 'refine_res', 'String', desc='specifies file that contains which residues to refine'),
3853  ), # -casp
3854 
3855  ############################UBQ_*, chemically_conjugated_docking, UBQ_E2_thioester, UBQ_Gp_*########################
3856  Option_Group( 'chemically_conjugated_docking',
3857  #UBQ_E2_thioester AND shared group
3858  Option( 'UBQpdb', 'File', desc='ubiquitin structure, or the structure for the attached thing that is moving', default='1UBQ.pdb'),
3859  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'),
3860  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'),
3861  Option( 'SASAfilter', 'Real', desc='filter out structures with interface dSASA less than this', default='1000'),
3862  Option( 'scorefilter', 'Real', desc='filter out structures with total score greater than this', default='10'),
3863  Option( 'publication', 'Boolean', desc='output statistics used in publication. TURN OFF if not running (original Saha et al.) publication demo.', default='false'),
3864  Option( 'n_tail_res', 'Integer', desc='Number of c-terminal ~tail~ residues to make flexible (terminus inclusive)', default='3'),
3865  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'),
3866  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=''),
3867  Option( 'UBQ2_lys', 'Integer', desc='which Lys on the second UB will be conjugated', default='48'),
3868  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.'),
3869  Option( 'dont_minimize_omega', 'Boolean', desc='disable minimization of omega angles near thioester in MoveMap; not present in original publications (Saha; Baker)', default='false'),
3870  #UBQ_Gp_LYX-Cterm and UBQ_Gp_CYD-CYD group
3871  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'),
3872  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'),
3873  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'),
3874  ), # -chemically_conjugated_docking
3875 
3876  # Chunk related stuff -----------------------------------------------------------
3877  Option_Group( 'chunk',
3878  Option( 'pdb2', 'File', desc="file for chunk2" ),
3879  Option( 'loop2', 'File', desc="rigid region for chunk2" ),
3880  ), # -chunk
3881 
3882  # clustering options -----------------------------------------------------------
3883  Option_Group( 'cluster',
3884  Option('lite','Boolean',desc="uses light-weight method of outputting cluster-centers, useful for when there's a HUGE amount of data!",default='false'),
3885  Option( 'input_score_filter', 'Real', desc="Only read in structures below a certain energy", default = '1000000.0' ),
3886  Option( 'output_score_filter', 'Real', desc="Only read in structures below a certain energy", default = '1000000.0' ),
3887  Option( 'exclude_res', 'IntegerVector', desc="Residue numbers to be excluded from cluster RMS calculation", default = '-1' ),
3888  Option( 'thinout_factor', 'Real', desc="Ignore this fraction of decoys in the first round !", default = '-1' ),
3889 # Option( 'max_cluster_seeds', 'Integer', desc="Do not calculate initial cluster centers for more then this many structuers", default = '500' ),
3890  Option( 'radius', 'Real', desc="Cluster radius", default = '3.0' ),
3891  Option( 'limit_cluster_size', 'Integer', desc="For each cluster only retain top N ", default = '-1' ),
3892  Option( 'limit_cluster_size_percent', 'Real', desc="0 to 1. For each cluster only retain top N % " ),
3893  Option( 'random_limit_cluster_size_percent', 'Real', desc="0 to 1. For each cluster only retain random N % " ),
3894  Option( 'limit_clusters', 'Integer', desc="Only retain largest N clusters", default = '100' ),
3895  Option( 'limit_total_structures', 'Integer', desc="Only retain the first N structures (ordered by cluster number)", default = '-1' ),
3896  Option( 'max_total_cluster','Integer', desc="Only ever make N clusters or less", default = '1000'),
3897  Option( 'gdtmm', 'Boolean', desc="Cluster by gdtmm instead of RMS", default = 'false' ),
3898  Option( 'skip_align', 'Boolean', desc="Cluster without aligning the structures", default = 'false' ),
3899  Option( 'sort_groups_by_energy', 'Boolean', desc="Sort clusters by energy", default = 'false' ),
3900  Option( 'sort_groups_by_size', 'Boolean', desc="Sort clusters by energy", default = 'false' ),
3901  Option( 'remove_singletons', 'Boolean', desc="Get rid of single-member clusters", default = 'false' ),
3902  Option( 'export_only_low', 'Boolean', desc="Print only the lowest energy member", default = 'false' ),
3903  Option( 'remove_highest_energy_member', 'Boolean', desc="Remove highest energy member from each cluster", default = 'false' ),
3904  Option( 'idealize_final_structures', 'Boolean', desc="Run an idealization over the resulting structures", default = 'false' ),
3905  Option( 'limit_dist_matrix', 'Integer', desc="Only calculate full matrix for a subset of structres. Then simply assign structures to nearest cluster", default = '-1'),
3906  Option( 'make_ensemble_cst', "Boolean", desc="Create a set of constraints describing the variablity in each cluster of each residue.", default='false' ),
3907  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' ),
3908  Option( 'loops', "Boolean", desc='Cluster the loop specified with the -loops:loop_file option', default = 'false' ),
3909  Option( 'population_weight', 'Real', desc="Order Clusters by (1-p)*score - p*size whpere p = population_weight " , default = '0.09' ),
3910 
3911  Option( 'template_scores', 'String', desc="imple textfile containing template names (in caps) and scores." ),
3912 
3913  Option( 'K_level', "Integer", desc='Hierarchical cluster level number', default = '1'),
3914  Option( 'K_radius', "RealVector", desc='Radius list of different level of cluster', default = 'utility::vector1<float>(1, 2.0)'),
3915  Option( 'K_n_cluster', "IntegerVector", desc='How many clusters in each level', default = 'utility::vector1<int>(1, 10000)'),
3916  Option( 'K_style', "StringVector", desc='Which K-cluster engine to use', default = 'utility::vector1<std::string>(9, "GKC")'),
3917 # Option( 'K_threshold', "Real", desc='Threshold for test the convergence of iteration', default = '0.01'),
3918  Option( 'K_n_sub', "Integer", desc='Number of clusters in subdir', default = '100'),
3919  Option( 'K_deque_size', "Integer", desc='Size of subcluster deque', default = '20'),
3920  Option( 'K_deque_level', "Integer", desc='Provide deque in top level', default = '1'),
3921  Option( 'K_redundant', "Boolean", desc='Keep all the higher level center structure in sub-pools', default = 'true'),
3922  Option( 'K_not_fit_xyz', "Boolean", desc='Do not rotate xyz when calculate rmsd', default = 'false'),
3923  Option( 'K_save_headers', "Boolean", desc='Save headers in silent file', default = 'false'),
3924  Option( 'score_diff_cut','Real',desc='score difference cut for RNA and SWA clustering', default = '1000000.0' ),
3925  Option( 'auto_tune', 'Boolean', desc='autotune rmsd for clustering between 0.1A up to 2.0A, for SWA clusterer', default='false' ),
3926  ),
3927 
3928  Option_Group( 'cm', # comparative modeling
3929  Option_Group('sanitize',
3930 # Option('bound_delta', 'Real', desc = 'Distance in Angstroms from aligned position before a penalty is incurred', default = '0.5'),
3931 # Option('bound_sd', 'Real', desc = 'Value of standard deviation in bound func', default = '1.0'),
3932  Option('num_fragments', 'Integer', desc = 'Use the top k fragments at each position during sanitization', default = '25'),
3933  Option('cst_weight_pair', 'Real', desc = 'atom_pair_constraint weight', default = '1.0'),
3934  Option('cst_weight_coord', 'Real', desc = 'coordinate_constraint weight', default = '1.0'),
3935  ), # -cm:sanitize
3936 
3937  Option( 'start_models_only', 'Boolean', desc='Make starting models only!', default='false' ),
3938  Option( 'aln_format', 'String', legal = ['grishin','general'],
3939  default='grishin'
3940  ),
3941  Option( 'recover_side_chains', 'Boolean', desc='recover side-chains',
3942  default='false'
3943  ),
3944  Option( 'steal_extra_residues', 'FileVector',
3945  desc='list of template extra residues (ie ligands) to add to query pose in comparative modeling',
3946  ),
3947  Option( 'loop_mover', 'String',
3948  legal = [
3949  'quick_ccd','quick_ccd_moves','perturb_ccd','perturb_kic','sdwindow'
3950  ],
3951  default='quick_ccd',
3952  ),
3953  Option( 'loop_close_level', 'Integer', legal=[ '0', '1', '2', '3' ],
3954  default='0',
3955  desc="level of aggressiveness to use in closing loops. \
3956  The integers that follow flags specify how aggressively \
3957  loops are rebuilt. Each option implies all non-zero levels below it,\
3958  so that loop_close_level 2 implies level 1 as well. Meaning of \
3959  the options are: \
3960  NO_REBUILD 0 don't rebuild loops at all \
3961  REBUILD_UNALIGNED 1 rebuild loops around unaligned regions \
3962  REBUILD_CHAINBREAK 2 rebuild loops around chainbreaks \
3963  REBUILD_EXHAUSTIVE 3 rebuild loops around regions with a chainbreak until no chainbreaks remain",
3964  ),
3965  Option( 'min_loop_size', 'Integer',
3966  desc='Minimum size of loops to remodel when building threading models.',
3967  default='5'
3968  ),
3969  Option( 'max_loop_rebuild', 'Integer',
3970  desc='Maximum number of times to try to rebuild a loop before giving up.',
3971  default='10'
3972  ),
3973  Option(
3974  'loop_rebuild_filter', 'Real',
3975  desc='Maximum score a structure must have after loop rebuilding.',
3976  default='0'
3977  ),
3978  Option( 'aln_length_filter_quantile', 'Real',
3979  desc='Only use alignment lengths longer than the Xth quantile. e.g. setting this to 0.75 will only use the 25% longest alignments',
3980  default='0.0',
3981  ),
3982  Option( 'aln_length_filter', 'Integer',
3983  desc='Only use alignment longer or equal to this length',
3984  default='-1',
3985  ),
3986 # Option( 'template_ids', 'StringVector',
3987 # desc = 'List of template identifiers to use in comparative modeling',
3988 # ),
3989 # Option( 'ligand_pdb', 'File',
3990 # desc = 'Add a ligand to the system',
3991 # ),
3992  Option( 'seq_score', 'StringVector',
3993  desc = 'sequence-based scoring scheme used for generating alignments',
3994  legal = [ 'L1', 'ProfSim', 'DP', 'Matrix', 'Simple', 'ChemicalShift' ],
3995  default = 'utility::vector1<std::string>(1,"Simple")',
3996  ),
3997  Option( 'aligner', 'String',
3998  desc = 'algorithm for making sequence alignments',
3999  legal = [ 'local', 'global', 'mc' ],
4000  ),
4001  Option( 'min_gap_open', 'Real',
4002  desc = 'gap opening penalty for sequence alignments (usually negative)',
4003  default = '-2.0',
4004  ),
4005  Option( 'max_gap_open', 'Real',
4006  desc = 'gap opening penalty for sequence alignments (usually negative)',
4007  default = '-2.0',
4008  ),
4009  Option( 'min_gap_extend', 'Real',
4010  desc = 'gap extension penalty for sequence alignments (usually negative)',
4011  default = '-0.2'
4012  ),
4013  Option( 'max_gap_extend', 'Real',
4014  desc = 'gap extension penalty for sequence alignments (usually negative)',
4015  default = '-0.2'
4016  ),
4017  Option( 'nn', 'Integer',
4018  desc = 'number of neighbors to include in constraint derivation',
4019  default = '500',
4020  ),
4021 # Option( 'fr_temperature', 'Real',
4022 # desc = 'temperature to use during fragment-based refinement of structures',
4023 # default = '2.0'
4024 # ),
4025  Option( 'ev_map','FileVector', desc='Input file that maps pdbChains to blast e-values'
4026  ),
4027  Option( 'hh_map','FileVector', desc='Input file that maps pdbChains to hhsearch probabilities'
4028  ),
4029  Option_Group( 'hybridize', # tempalate hybridization
4030  Option( 'starting_template', 'IntegerVector', desc='Define starting templates' ),
4031  Option( 'realign_domains', 'Boolean', desc='domain parse and realign the starting templates', default='true' ),
4032  Option( 'realign_domains_stage2', 'Boolean', desc='realign the starting templates to the pose after stage1', default='true' ),
4033  Option( 'add_non_init_chunks', 'Integer', desc='add (on average) this many non-template chunks', default='0' ),
4034  Option( 'stage1_increase_cycles', 'Real', desc='Scale stage 1 cycles', default='1.0' ),
4035  Option( 'stage2_increase_cycles', 'Real', desc='Scale stage 2 cycles', default='1.0' ),
4036  Option( 'stage2min_increase_cycles', 'Real', desc='Scale minimizer cycles after stage 2', default='1.0'),
4037  Option( 'stage1_probability', 'Real', desc='Probability of hybridizing in stage 1, 0=never, 1=always', default='1.0' ),
4038  Option( 'skip_stage2', 'Boolean', desc='skip cartesian fragment hybridize stage', default='false' ),
4039  Option( 'no_global_frame', 'Boolean', desc='no global-frame fragment insertions', default='false' ),
4040  Option( 'linmin_only', 'Boolean', desc='linmin only in stage 2', default='false' ),
4041  Option( 'relax', 'Integer', desc='if n==1, perform relax at end; if n>1 perform batch relax over n centroids', default='0' ),
4042  Option( 'frag_weight_aligned', 'Real', desc='Probability of fragment insertion in the aligned region', default='0.' ),
4043  Option( 'max_registry_shift', 'Integer', desc='maximum registry shift', default='0' ),
4044  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' ),
4045  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' ),
4046  Option( 'big_frag_insertion_weight', 'Real', desc='weight for big fragment insertions vs. template chunk insertions in stage1', default='0.5' ),
4047  Option( 'auto_frag_insertion_weight', 'Boolean', desc='automatically set the weight for fragment insertions vs. template chunk insertions in stage1', default='true' ),
4048  Option( 'stage1_1_cycles', 'Integer', desc='Number of cycles for ab initio stage 1 in Stage1', default='2000'),
4049  Option( 'stage1_2_cycles', 'Integer', desc='Number of cycles for ab initio stage 2 in Stage1', default='2000'),
4050  Option( 'stage1_3_cycles', 'Integer', desc='Number of cycles for ab initio stage 3 in Stage1', default='2000'),
4051  Option( 'stage1_4_cycles', 'Integer', desc='Number of cycles for ab initio stage 4 in Stage1', default='400'),
4052  Option( 'stage2_temperature', 'Real', desc='Monte Carlo temperature in the stage2', default='2.0'),
4053  Option( 'stage1_4_cenrot_score', 'String', desc='Switch to cenrot model in stage1_4', default='score_cenrot_cm_stage1_4.wts'),
4054 
4055  ), # -cm:hybridize
4056  ), # -cm
4057 
4058  ##############################################################################
4059  # ContactMap options
4060  Option_Group( 'contactMap',
4061  Option( 'contactMap', 'Boolean',
4062  desc="contactMap option group",
4063  legal='true', default='true'
4064  ),
4065  Option( 'prefix', 'String',
4066  default = 'contact_map_',
4067  desc = "Prefix of contactMap filename"
4068  ),
4069  Option( 'distance_cutoff', 'Real',
4070  default = '10.0',
4071  desc = "Cutoff Backbone distance for two atoms to be considered interacting"
4072  ),
4073  Option( 'region_def', 'String',
4074  default = '',
4075  desc = "Region definition for comparison eg: 1-10:20-30,40-50,A:ligand=X"
4076  ),
4077  Option( 'row_format', 'Boolean',
4078  default = 'false',
4079  desc = "Flag whether to output in row instead of matrix format"
4080  ),
4081  Option( 'distance_matrix', 'Boolean',
4082  default = 'false',
4083  desc = "Output a distance matrix instead of a contact map"
4084  ),
4085  ), # -contactMap
4086 
4087  ##################################
4088  # VIP mover options
4089  Option_Group( 'cp',
4090  Option( 'cutoff', 'Real', desc="designable neighbor cutoff", default='16' ),
4091 # Option( 'minimizer', 'String', desc="minimizer to use for initial minimization", default='score12_full'),
4092  Option( 'relax_sfxn', 'String', desc="score function for final relaxation step", default='score12_full'),
4093  Option( 'pack_sfxn', 'String', desc="score function for mutational trials",default='gauss'),
4094 # Option( 'minimizer_tol', 'Real', desc="tolerance for minimization", default='.0001'),
4095  Option( 'minimizer_score_fxn', 'String', desc="score function for initial minimization", default='score12_full'),
4096  Option( 'output', 'String', desc="file where we want to dump the final pose",default='final_mutant.pdb'),
4097  Option( 'ncycles', 'Integer', desc="how many cycles to run refinement for",default='0'),
4098  Option( 'max_failures', 'Integer', desc="how many failures to tolerate at each iteration before quitting",default='1'),
4099  Option( 'print_reports', 'Boolean', desc="print reports to text file?",default='false' ),
4100  Option( 'vipReportFile', 'String', desc="File to print reports to", default='reports.txt' ),
4101  Option( 'exclude_file', 'String', desc="Optional input file to specify positions that should not be mutated", default='cp_excludes' ),
4102  Option( 'relax_mover', 'String', desc="relax w/o constraints=relax, w constraints=cst_relax", default='relax'),
4103  Option( 'skip_relax','Boolean',desc="Skip relax step... may reduce accurate identification of mutations",default='false'),
4104  Option( 'local_relax','Boolean',desc="Limit relax step to neighbors",default='false'),
4105  Option( 'print_intermediate_pdbs','Boolean',desc="Output a pdb file for each consecutive mutation",default='false'),
4106  Option( 'use_unrelaxed_starting_points', 'Boolean', desc="For subsequent iterations, uses mutation before relaxation",default='false' ),
4107  Option( 'easy_vip_acceptance', 'Boolean', desc="For all iterations, use initial energy for acceptance test",default='false' ),
4108  ), # -cp
4109  # end VIP
4110 
4111  Option_Group( 'cryst',
4112  Option( 'mtzfile', 'String', desc = 'mtz file'),
4113  Option( 'crystal_refine', 'Boolean', desc='Turns on crystal-refinement-specific options', default='false' ),
4114  Option( 'refinable_lattice', 'Boolean', desc='In MakeLatticeMover, are the lattice dimensions refineable?', default='true' ),
4115  Option( 'interaction_shell', 'Real', desc='In MakeLatticeMover, what is default interaction shell?', default='12.0' ),
4116  ),
4117 
4118  ############################################################################
4119  # Solid state NMR orientational constraints
4120  Option_Group('csa',
4121  Option( 'useZ', 'Boolean', desc='Use absolute zaxis for scoring csa'),
4122  ),
4123 
4124  # cutoutdomain Options -----------------------------------------------------------
4125  Option_Group( 'cutoutdomain',
4126  Option( 'start', 'Integer', desc="start residue", default = '1' ),
4127  Option( 'end', 'Integer', desc="end residue", default = '2' ),
4128  ), # -cutoutdomain
4129 
4130  ## Cyclization Options ##
4131  Option_Group( 'cyclization',
4132  #Option( 'chains_to_cyclize', 'IntegerVector', desc="The chain number to cyclize", default="1" ),
4133  #Option( 'chains_to_cyclize', 'IntegerVector', desc="The chain number to cyclize", default="0" ),
4134  Option( 'chains_to_cyclize', 'IntegerVector', desc="The chain number to cyclize" ),
4135  Option( 'num_min_rebuild', 'Integer', desc="The number of time to iterate between minimization and rebuilding the connection dependant atom positions", default='3' ),
4136  Option( 'add_constraints', 'Boolean', desc="The add constraints to maintain cycle geometry", default='true' ),
4137  ), # -cyclization
4138 
4139  ## Options for cyclic peptide structure prediction app (simple_cycpep_predict) -- Vikram K. Mulligan, Baker laboratory (vmullig@uw.edu) ##
4140  Option_Group( 'cyclic_peptide',
4141  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" ),
4142  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" ),
4143  Option( 'checkpoint_job_identifier', 'String', desc="A unique job name for checkpointing. If none is provided, jobs are not checkpointed.", default="" ),
4144  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="" ),
4145  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="" ),
4146  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." ),
4147  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' ),
4148  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' ),
4149  Option( 'cyclic_permutations', 'Boolean', desc="Should cyclic permutations of the sequence be considered when setting up the kinematic closure? Default true.", default='true' ),
4150  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' ),
4151  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' ),
4152  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' ),
4153  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' ),
4154  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' ),
4155  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' ),
4156  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' ),
4157  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' ),
4158  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' ),
4159  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' ),
4160  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' ),
4161  Option( 'user_set_alpha_dihedrals', 'RealVector', desc="Allows the user to specify the dihedrals values at one or more alpha-amino acid positions in the peptide. The flag must be followed by groups of four numbers, where the first is the sequence position and the second, third, and fourth are the phi, psi, and omega values, respectively. Not used if not specified." ),
4162  Option( 'user_set_alpha_dihedral_perturbation', 'Real', desc="A small, random perturbation added to all dihedral values set with the -user_set_alpha_dihedrals value. Zero if not specified.", default='0.0' ),
4163  ), # -cyclic_peptide
4164 
4165  Option_Group('dc',
4166  Option( 'useZ', 'Boolean', desc='Use absolute zaxis for scoring dc'),
4167  ),
4168 
4169  ## ekellogg. Options for ddg protocol
4170  Option_Group( 'ddg',
4171 # Option('avg_rot_cst_enrg','Boolean',default='false'),
4172 # Option('use_bound_cst','Boolean',default='false'),
4173 # Option('cap_rot_cst_enrg','Real',default='false'),
4174  Option('opt_input_structure','Boolean',default='false'),
4175  Option('pack_until_converge','Boolean',default='false'),
4176  Option('no_constraints','Boolean',default='false'),
4177 # Option('apply_rot_cst_to_mutation_region_only','Real'),
4178 # Option('rot_cst_enrg_cutoff','Real'),
4179  Option('use_rotamer_constraints_to_native','Boolean',default='false'),
4180 # Option('single_res_scoring','Boolean'),
4181 # Option('downweight_by_sasa','Boolean'),
4182 # Option('global','Boolean'),
4183 # Option('exclude_solvent_exposed_res','Boolean'),
4184 # Option('radius','Real'),
4185 # Option('wt','String'),
4186 # Option('mut','String'),
4187 
4188  Option('suppress_checkpointing','Boolean',default='false',desc="boinc specific options to suppress checkpointing behavior"),
4189  Option('wt_only','Boolean',desc="option added to minirosetta app in order to produce only refinement in wt structures"),
4190  Option('mut_only','Boolean',desc="options added to minirosetta app in order to produce refinement in only mutant structure"),
4191  Option('output_silent','Boolean'),
4192  Option('minimization_scorefunction','String'),
4193  Option('minimization_patch','String'),
4194  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." ),
4195  Option('lowest_x_decoys','Integer'),
4196  Option('local_opt_only','Boolean',default='false'),
4197  Option('print_per_res_diff','Boolean',default='false'),
4198  Option('mean','Boolean'),
4199  Option('min','Boolean'),
4200 # Option('rb_restrict_to_mutsite_nbrs','Boolean',default='false'),
4201  Option('no_bb_movement','Boolean',default='false'),
4202  Option('initial_repack','Boolean',default='false'),
4203 # Option('rb_file','String'),
4204  Option('interface_ddg','Integer',default='0', desc='Calculate ddGs across an interface? Uses jump # specified for determining interface.'),
4205  Option('ens_variation', 'Real', default='0.5'),
4206  Option('sc_min_only','Boolean',default='true'),
4207  Option('min_cst_weights','String',default='talaris2013'),
4208  Option('opt_radius','Real',default='8.0'),
4209  Option('output_dir','String',default='./'),
4210  ##Option('accepted_mc_pose_dir','String',default='./'),
4211  Option('last_accepted_pose_dir','String',default='./'),
4212  Option('min_with_cst','Boolean', default='false', desc="Used in ensemble generation"),
4213  Option('temperature', 'Real', default='10',desc='because I really dont know what the monte carlo temperature should be set to'),
4214  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'),
4215  Option('mut_file','String',desc='alternate specification for mutations. File format described in fix_bb_monomer_ddg.cc above the read_in_mutations function'),
4216 # 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'),
4217  Option('out_pdb_prefix','String',desc='specifies the prefix assigned to output so that no overwriting happens'),
4218  Option('constraint_weight','Real',default='1.0',desc='because that other option isnt working'),
4219  Option( 'harmonic_ca_tether', 'Real', default='2.0', desc='default CA tether for harmonic constraints'),
4220  Option('iterations','Integer',default='20',desc='specifies the number of iterations of refinement'),
4221  Option('out', 'String',default='ddg_predictions.out',desc='create output file of predicted ddgs'),
4222  Option('debug_output', 'Boolean', default='false',desc='specify whether or not to write a whole bunch of debug statements to standard out'),
4223  Option('dump_pdbs','Boolean',default='true',desc='specify whether or not to dump repacked wild-type and mutant pdbs'),
4224  Option('weight_file', 'String', default='ddg.wts',desc='specifies the weight-files to be used in calculations'),
4225 # 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.'),
4226  ), # -ddg
4227 
4228  Option_Group( 'DenovoProteinDesign',
4229  Option( 'redesign_core', 'Boolean', desc='redesign core of pdb', default='false'),
4230  Option( 'redesign_loops', 'Boolean', desc='redesign loops of pdb', default='false'),
4231  Option( 'redesign_surface', 'Boolean', desc='redesign surface of pdb', default='false'),
4232  Option( 'redesign_complete', 'Boolean', desc='complete redesign of pdb', default='false'),
4233  ##Option( 'disfavor_native_aa', 'Boolean', desc='penalize native aa in design', default='false'),
4234 # Option( 'disallow_native_aa', 'Boolean', desc='do not allow native aa in design', default='false'),
4235  Option( 'optimize_loops', 'Boolean', desc="do serious loop modeling at the end of designrelax mover"),
4236  Option( 'secondary_structure_file', 'File', desc="has fasta file format - describes secondary structure of desired target with H/C/E" ),
4237  Option( 'hydrophobic_polar_pattern', 'File', desc="has fasta file format - describes hydrophobic(B) polar(P) pattern" ),
4238  Option( 'use_template_sequence', 'Boolean', desc='use the template pdbs sequence when creating starting structures', default='false'),
4239  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'),
4240  Option( 'create_from_template_pdb', 'File', desc='create starting structure from a template pdb, follow with pdb name'),
4241  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'),
4242  ), # -DenovoProteinDesign
4243 
4244  Option_Group( 'dna',
4245  Option_Group( 'specificity',
4246  Option( 'exclude_dna_dna', 'Boolean', default='true'),
4247  Option( 'params', 'RealVector', desc="vector of real-valued params"),
4248  Option( 'frag_files', 'FileVector', desc="files to collect frags from" ),
4249 # Option( 'exclude_bb_sc_hbonds', 'Boolean', default='false'),
4250  Option( 'only_repack', 'Boolean', default='false'),
4251  Option( 'design_DNA', 'Boolean', default='false'),
4252 # Option( 'run_test', 'Boolean', default='false'),
4253  Option( 'soft_rep', 'Boolean', default='false'),
4254  Option( 'dump_pdbs', 'Boolean', default='false'),
4255  Option( 'fast', 'Boolean', default='false'),
4256  Option( 'randomize_motif', 'Boolean', default='false'),
4257  Option( 'Wfa_elec', 'Real', default='0'),
4258  Option( 'Wdna_bs', 'Real', default='0'),
4259  Option( 'Wdna_bp', 'Real', default='0'),
4260  Option( 'minimize_tolerance', 'Real', default='0.001'),
4261  Option( 'weights_tag', 'String'),
4262  Option( 'weights_tag_list', 'String'),
4263  Option( 'min_type', 'String', default='dfpmin'),
4264  #Option( 'output_tag', 'String'),
4265 # Option( 'tf', 'String'),
4266  Option( 'mode', 'String'),
4267  Option( 'score_function', 'String'),
4268  Option( 'pre_minimize', 'Boolean', default='false'),
4269  Option( 'post_minimize', 'Boolean', default='false'),
4270  Option( 'pre_pack', 'Boolean', default='false'),
4271  Option( 'nloop', 'Integer', default='20'),
4272  Option( 'n_inner', 'Integer' ),
4273  Option( 'n_outer', 'Integer' ),
4274  Option( 'nstep_water', 'Integer', default='0'),
4275  Option( 'moving_jump', 'Integer', default='0'),
4276  Option( 'motif_begin', 'Integer', default='0'),
4277  Option( 'motif_size', 'Integer', default='0'),
4278  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'),
4279  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'),
4280  Option( 'dna_backbone_torsion_sdevs', 'RealVector' ),
4281  Option( 'dna_sugar_torsion_sdev', 'Real', default='4.0'), ## too small
4282  Option( 'dna_chi_torsion_sdev', 'Real', default='15.0'),
4283  Option( 'lk_ball_wtd_tag', 'String'),
4284  Option( 'lk_ball_for_bb', 'Boolean', default='false'),
4285  Option( 'lk_ball_ramp_width_A2', 'Real', default='5.0'),
4286  Option( 'lk_ball_water_fade', 'Real', default='1.0'),
4287  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)'),
4288  ), # -dna:specificity
4289 
4290  # ashworth
4291  Option_Group( 'design',
4292 # Option( 'output_initial_pdb', 'Boolean', default = 'false', desc = 'write pdb file for loaded and scored input structure'),
4293  Option( 'output_unbound_pdb', 'Boolean', default = 'false', desc = 'write out an unbound pdb if doing binding score calculations'),
4294  Option( 'z_cutoff', 'Real', default = '3.5', lower = '0', desc = 'distance along DNA-axis from designing DNA bases to allow amino acids to design' ),
4295  # the following options are not implemented yet
4296  Option( 'protein_scan', 'String', default = 'ACDEFGHIKLMNPQRSTVWY', desc = 'single-residue scanning of protein residue types for binding and specificity scores'),
4297  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.'),
4298  Option( 'minimize', 'Boolean', default = 'false', desc = 'Perform minimization in DNA design mode.'),
4299 # Option( 'iterations', 'Integer', default = '1', lower = '1', desc = ''),
4300 # Option( 'bb_moves', 'String', default = 'ccd', legal=['ccd','backrub'], desc = ''),
4301  Option( 'dna_defs', 'StringVector', default = '""', desc = ''),
4302  Option( 'dna_defs_file', 'String', default = '', desc = ''),
4303 # Option( 'preminimize_interface', 'Boolean', default = 'false', desc = ''),
4304 # Option( 'prepack_interface', 'Boolean', default = 'false', desc = ''),
4305 # Option( 'flush', 'Boolean', default = 'false', desc = 'enable some tracer flushes in order to see more frequent output'),
4306  Option( 'nopdb', 'Boolean', default = 'false', desc = 'use this flag to disable pdb output' ),
4307 # Option( 'nopack', 'Boolean', default = 'false', desc = 'don\'t actually repack structures' ),
4308 # Option( 'more_stats', 'Boolean', default = 'false' ),
4309 # Option( 'pdb_each_iteration', 'Boolean', default = 'false' ),
4310  Option( 'designable_second_shell', 'Boolean', default = 'false' ),
4311  Option( 'base_contacts_only', 'Boolean', default = 'false' ),
4312  Option( 'probe_specificity', 'Integer', desc='Rapidly estimate the explicit specificity of DNA designs during fixed-backbone repacking', default='1' ),
4313  Option( 'reversion_scan', 'Boolean', desc='Try to revert spurious mutations after designing', default='false' ),
4314  Option( 'binding', 'Boolean', desc='compute a protein-DNA binding energy', default='false' ),
4315  Option( 'Boltz_temp', 'Real', desc='temperature for Boltzmann calculations', default='0.6' ),
4316  Option( 'repack_only', 'Boolean', desc='Do not allow protein sequences to mutate arbitrarily', default='false' ),
4317  Option( 'sparse_pdb_output', 'Boolean', desc='Output only coordinates that change relative to the input structure', default='false' ),
4318  Option_Group( 'specificity',
4319  Option( 'output_structures', 'Boolean', default='false', desc='output structures for each sequence combination'),
4320  Option( 'include_dna_potentials', 'Boolean', default='false', desc='include DNA potentials in calculations of DNA sequence specificity'),
4321  ),
4322  Option_Group( 'reversion',
4323  Option( 'dscore_cutoff', 'Real', desc='limit for acceptable loss in energy', default='1.5' ),
4324  Option( 'dspec_cutoff', 'Real', desc='limit for acceptable loss in specificity', default='-0.05' ),
4325  ),
4326  ), # -dna:design
4327  ), # -dna
4328 
4329  ##############################################################################
4330  # Docking options ---------------------------------------------------------
4331  Option_Group('docking',
4332  Option( 'kick_relax', 'Boolean',
4333  desc='Add relax step at the end of symmetric docking',
4334  default='false'
4335  ),
4336  Option( 'docking', 'Boolean',
4337  desc='Docking option group',
4338  legal='true', default='true'
4339  ),
4340  Option( 'view', 'Boolean',
4341  desc='Decide whether to use the viewer (graphical) or not',
4342  default='false'
4343  ),
4344  Option( 'no_filters', 'Boolean',
4345  desc='Toggle the use of filters',
4346  default='false'
4347  ),
4348  Option( 'design_chains', 'StringVector',
4349  short='Which chains do we want to allow to design?',
4350  desc='Pass in the one-letter chain identifiers, separated by space, for each chain to design: -design_chains A B',
4351  ),
4352  Option( 'recover_sidechains', 'File',
4353  short='take sidechains from this pdb',
4354  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',
4355  ),
4356  Option('partners', 'String',
4357  short='defines docking partners by chainID for multichain docking partners',
4358  desc='defines docking partners by ChainID, example: docking chains L+H with A is -partners LH_A',
4359  default='_'
4360  ),
4361  Option('docking_local_refine', 'Boolean',
4362  short='Skip centroid mode',
4363  desc='Do a local refinement of the docking position (high resolution)',
4364  default='false'
4365  ),
4366  Option('low_res_protocol_only', 'Boolean',
4367  short='Only low resolution',
4368  desc='Run only low resolution docking, skip high resolution docking',
4369  default='false'
4370  ),
4371  Option('randomize1', 'Boolean',
4372  short='Randomize the first docking partner.',
4373  desc='Randomize the first docking partner.',
4374  default='false'
4375  ),
4376  Option('randomize2', 'Boolean',
4377  short='Randomize the second docking partner.',
4378  desc='Randomize the second docking partner.',
4379  default='false'
4380  ),
4381  Option('use_ellipsoidal_randomization', 'Boolean',
4382  short='Use ellipsoidal docking randomization.',
4383  desc='Modify docking randomization to use ellipsoidal rather than spherical method.',
4384  default='false'
4385  ),
4386  Option('spin', 'Boolean',
4387  short='Spin a second docking partner.',
4388  desc='Spin a second docking partner around axes from center of mass of partner1 to partner2',
4389  default='false'
4390  ),
4391  Option('tilt', 'RealVector',
4392  short='tilt the docking partners at a random angle around the sliding axis',
4393  desc='tilt the docking partners at a random angle : -tilt PARTNER1_MAX_DEGREES PARTNER2_MAX_DEGREES.',
4394  n='2'
4395  ),
4396  Option('tilt1_center', 'String',
4397  short='resID around which rotation of partner1 is centered (CA carbon)',
4398  desc='resID around which rotation of partner1 is centered (default: center of mass of partner 1',
4399  default='',
4400  ),
4401  Option('tilt2_center', 'String',
4402  short='resID around which rotation of partner2 is centered (CA carbon)',
4403  desc='resID around which rotation of partner2 is centered (default: center of mass of partner 2',
4404  default='',
4405  ),
4406  Option('dock_pert', 'RealVector',
4407  short='Do a small perturbation with partner two: -dock_pert ANGSTROMS DEGREES.',
4408  desc='Do a small perturbation with partner two: -dock_pert ANGSTROMS DEGREES. Good values for protein docking are 3 A and 8 deg.',
4409  n='2'
4410 # DO NOT supply default values for this option -- reasonable values differ for protein and ligand protocols.
4411 # Also, default values will cause a perturbation to *always* occur, even with no command line flags -- very surprising.
4412 # Adding defaults WILL BREAK existing protocols in unexpected ways.
4413 # Decided by Jeff, Monica, Ian, and Sid in March 2008.
4414 #
4415 # Jeff notes that eventually there should be 3 parameters, like Rosetta++:
4416 # rotation, normal translation, and perpendicular translation.
4417  ),
4418  Option('uniform_trans', 'Real',
4419  short='Uniform random repositioning within a sphere of the given radius.'
4420  ),
4421  Option('center_at_interface', 'Boolean',
4422  short='Perform all initial perturbations with the center of rotation at the interface between partners',
4423  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.',
4424  default='false'
4425  ),
4426  Option('dock_mcm_first_cycles', 'Integer',
4427  short='First cycle of DockMCMProtocol.',
4428  desc='Perfrom 4 cycles to let the filter decide to continue.',
4429  default='4'
4430  ),
4431  Option('dock_mcm_second_cycles', 'Integer',
4432  short='Second cycle of DockMCMProtocol.',
4433  desc='If the first cycle pass the fliter, continue 45 cycles.',
4434  default='45'
4435  ),
4436  Option('docking_centroid_outer_cycles', 'Integer',
4437  short='Outer cycles during docking rigid body adaptive moves.',
4438  desc='Outer cycles during cking rigid body adaptive moves.',
4439  default='10'
4440  ),
4441  Option('docking_centroid_inner_cycles', 'Integer',
4442  short='Inner cycles during docking rigid body adaptive moves.',
4443  desc='Inner cycles during docking rigid body adaptive moves.',
4444  default='50'
4445  ),
4446  ##Option('dock_mcm', 'Boolean',
4447  ## short='Do a monte-carlo minimize search.',
4448  ## desc='Do a monte-carlo minimize search.',
4449  ## default='true'
4450  ##),
4451  Option('dock_min', 'Boolean',
4452  short='Minimize the final fullatom structure.',
4453  desc='Minimize the final fullatom structure.',
4454  default='false'
4455  ),
4456  Option('flexible_bb_docking', 'String',
4457  short='How to do flexible backbone docking, if at all.',
4458  desc='How to do flexible backbone docking, if at all. Choices include fixedbb, ccd, alc, and backrub.',
4459  default='fixedbb'
4460  ),
4461  Option('flexible_bb_docking_interface_dist', 'Real',
4462  short='Distance between chains required to define a residue as having flexible backbone (ie. loop).',
4463  desc='Distance between chains required to define a residue as having flexible backbone (ie. loop).',
4464  default='10.0'
4465  ),
4466  Option('ensemble1', 'String',
4467  short='denotes partner1 as an ensemble',
4468  desc='turns on ensemble mode for partner 1. String is multi-model pdb file',
4469  default=''
4470  ),
4471  Option('ensemble2', 'String',
4472  short='denotes partner2 as an ensemble',
4473  desc='turns on ensemble mode for partner 2. String is multi-model pdb file',
4474  default=''
4475  ),
4476  Option('dock_mcm_trans_magnitude', 'Real',
4477  short='The magnitude of the translational perturbation during mcm in docking.',
4478  desc='The magnitude of the translational perturbation during mcm in docking.',
4479  default='0.1'
4480  ),
4481  Option('dock_mcm_rot_magnitude', 'Real',
4482  short='The magnitude of the rotational perturbation during mcm in docking.',
4483  desc='The magnitude of the rotational perturbation during mcm in docking.',
4484  default='5.0'
4485  ),
4486  Option('minimization_threshold', 'Real',
4487  short='Threhold for Rosetta to decide whether to minimize jump after a rigid_pert',
4488  desc='Threhold for Rosetta to decide whether to minimize jump after a rigid_pert',
4489  default='15'
4490  ),
4491  Option('temperature', 'Real',
4492  short='Temperature setting for the mc object during rigid-body docking',
4493  desc='Temperature setting for the mc object during rigid-body docking',
4494  default='0.8'
4495  ),
4496  Option('repack_period', 'Integer',
4497  short='full repack period during dockingMCM',
4498  desc='full repack period during dockingMCM',
4499  default='8'
4500  ),
4501  Option('extra_rottrial', 'Boolean',
4502  short='extra rotamer trial after minimization',
4503  desc='extra rotamer trial after minimization',
4504  default='false'
4505  ),
4506  Option('dock_rtmin', 'Boolean',
4507  short='does rotamer trials with minimization, RTMIN',
4508  desc='does rotamer trials with minimization, RTMIN',
4509  default='false'
4510  ),
4511  Option('sc_min', 'Boolean',
4512  short='does sidechain minimization of interface residues',
4513  desc='does sidechain minimization of interface residues',
4514  default='false'
4515  ),
4516  Option('norepack1', 'Boolean',
4517  short='Do not repack the side-chains of partner 1.',
4518  desc='Do not repack the side-chains of partner 1.',
4519  default='false'
4520  ),
4521  Option('norepack2', 'Boolean',
4522  short='Do not repack the side-chains of partner 2.',
4523  desc='Do not repack the side-chains of partner 2.',
4524  default='false'
4525  ),
4526  Option('bb_min_res', 'IntegerVector',
4527  short='Minimize backbone at these positions.',
4528  desc='Minimize backbone at these positions.'
4529  ),
4530  Option('sc_min_res', 'IntegerVector',
4531  short='Minimize backbone at these positions.',
4532  desc='Minimize backbone at these positions.'
4533  ),
4534  Option('dock_ppk', 'Boolean',
4535  short='docking prepack mode',
4536  desc='docking prepack mode',
4537  default='false'
4538  ),
4539  Option('max_repeats', 'Integer',
4540  short='how many repeats to use',
4541  desc='If a decoy does not pass the low- and high-resolution filters, how many attempts to make before failur',
4542  default='1000'
4543  ),
4544  Option('dock_lowres_filter', 'RealVector',
4545  short='manually sets the lowres docking filter: -dock_lowres_filter <INTERCHAIN_CONTACT CUTOFF> <INTERCHAIN_VDW CUTOFF> <RESTRAINT CUTOFF>',
4546  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'
4547  ),
4548  Option( 'multibody', 'IntegerVector', desc="List of jumps allowed to move during docking" ),
4549 
4550  Option('ignore_default_docking_task', 'Boolean',
4551  short='Ignore the DockingTask',
4552  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.',
4553  default='false'
4554  ),
4555 
4556  ################ patches for explicit scoring - NGS
4557  Option( 'low_patch', 'String',
4558  desc="Name of weights patch file (without extension .wts) to use during rigid body "),
4559  Option( 'high_patch', 'String',
4560  desc="Name of weights patch file (without extension .wts) to use during docking"),
4561  Option( 'high_min_patch', 'String',
4562  desc="Name of weights patch file (without extension .wts) to use during "),
4563  Option( 'pack_patch', 'String',
4564  desc="Name of weights patch file (without extension .wts) to use during packing"),
4565  Option('use_legacy_protocol', 'Boolean',
4566  short='Use the legacy high resolution docking algorithm.',
4567  desc='Use the legacy high resolution docking algorithm for output compatibility.',
4568  default='false'
4569  ),
4570  Option('docklowres_trans_magnitude', 'Real',
4571  short='The magnitude of the translational perturbation during lowres in docking.',
4572  desc='The magnitude of the translational perturbation during lowres in docking.',
4573  default='0.7'
4574  ),
4575  Option('docklowres_rot_magnitude', 'Real',
4576  short='The magnitude of the rotational perturbation during lowres in docking.',
4577  desc='The magnitude of the rotational perturbation during lowres in docking.',
4578  default='5.0'
4579  ),
4580 
4581 
4582  ###################################################################################
4583  # ligand options ( part of docking )--------------------------------------
4584  Option_Group( 'ligand',
4585  Option( 'ligand', 'Boolean', desc="docking:ligand option group", legal='true', default='true' ),
4586  Option( 'protocol', 'String', desc="Which protocol to run?", default='abbreviated' ),
4587  Option( 'soft_rep', 'Boolean', desc="Use soft repulsive potential?", default='false' ),
4588  Option( 'tweak_sxfn', 'Boolean', desc="Apply default modifications to the score function?", default='true' ),
4589  Option( 'old_estat', 'Boolean', desc="Emulate Rosetta++ electrostatics? (higher weight, ignore protein-protein)", default='false' ),
4590  Option( 'random_conformer', 'Boolean', desc="Start from a random ligand rotamer chosen from the library", default='false' ),
4591  Option( 'improve_orientation', 'Integer', desc="Do N cycles of randomization to minimize clashes with backbone" ),
4592  Option( 'mutate_same_name3', 'Boolean', desc="Allow ligand to 'design' to residue types with same name3? Typically used for protonation states / tautomers.", default='false' ),
4593  Option( 'subset_to_keep', 'Real', desc="When selecting a subset of ligand poses, what fraction (number if > 1.0) to keep?", default='0.05' ),
4594  Option( 'min_rms', 'Real', desc="When selecting a subset of ligand poses, all must differ by at least this amount.", default='0.8' ),
4595  Option( 'max_poses', 'Integer', desc="When selecting a subset of ligand poses, select as most this many.", default='50' ),
4596  Option( 'minimize_ligand', 'Boolean', desc="Allow ligand torsions to minimize?", default='false' ),
4597  Option( 'harmonic_torsions', 'Real', desc="Minimize with harmonic restraints with specified stddev (in degrees)", default='10.0' ),
4598  Option( 'use_ambig_constraints', 'Boolean', desc="Use ambiguous constraints to restrain torsions instead of adding and removing constraints", default='false' ),
4599  Option( 'shear_moves', 'Integer', desc="Do N pseudo-shear moves on ligand torsions per MCM cycle", default='0' ),
4600  Option( 'minimize_backbone', 'Boolean', desc="Allow protein backbone to minimize? Restrained except near ligand.", default='false' ),
4601  Option( 'harmonic_Calphas', 'Real', desc="Minimize with harmonic restraints with specified stddev (in Angstroms)", default='0.2' ),
4602  Option( 'tether_ligand', 'Real', desc="Restrain ligand to starting point with specified stddev (in Angstroms)" ),
4603  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 ..." ),
4604  Option('option_file', 'String', desc="Name of Ligand Option File for use with multi_ligand_dock application"),
4605 # Option('rescore', 'Boolean', desc="No docking (debug/benchmark mode)", default='false'),
4606  Option_Group( 'grid',
4607  Option( 'grid', 'Boolean', desc="docking:ligand:grid option group", legal='true', default='true' ),
4608  Option( 'grid_kin', 'File', desc="Write kinemage version of generated grid to named file" ),
4609  Option( 'grid_map', 'File', desc="Write grid to named file as electron density in BRIX (aka `O'-map) format" ),
4610  ), # -docking:ligand:grid
4611  ), # -docking:ligand
4612 # Option_Group( 'symmetry',
4613 # Option( 'minimize_backbone', 'Boolean', desc="Allow protein backbone to minimize? ", default='false' ),
4614 # Option( 'minimize_sidechains', 'Boolean', desc="Allow protein sidechains to minimize? ", default='false' ),
4615 # ), # -docking:symmetry
4616  ), # -docking
4617 
4618  ##domainassembly
4619  Option_Group( 'DomainAssembly',
4620  Option( 'da_setup', 'Boolean', desc='run DomainAssembly setup routine', legal=['true','false'], default='false'),
4621  Option( 'da_setup_option_file','File', desc='input list of pdbs and linker sequences', default='--' ),
4622  Option( 'da_setup_output_pdb','File',desc='PDB file output by DomainAssemblySetup',default='--' ),
4623  Option( 'da_linker_file','File',desc='input file with linker definitions',default='--' ),
4624  Option( 'da_require_buried','File',desc='Input file containing residues to be buried in the domain interface',default='--'),
4625  Option( 'da_start_pdb','File',desc='input pdb for linker optimization',default='--' ),
4626  Option( 'run_fullatom','Boolean', desc='Run fullatom stage of the protocol', legal=['true','false'], default='false'),
4627  Option( 'run_centroid','Boolean', desc='Run centroid stage of the protocol', legal=['true','false'], default='false'),
4628  Option( 'run_centroid_abinitio','Boolean', desc='Run centroid abinitio stage of the protocol', legal=['true','false'], default='true'),
4629  Option( 'da_nruns','Integer', desc='number of runs', default='1' ),
4630  Option( 'da_start_pdb_num','Integer', desc='starting number for output pdb files', default='1' ),
4631  Option( 'da_linker_file_rna','File', desc='input file with moveable RNA definitions', default='--' ),
4632  Option( 'residues_repack_only','String', desc='Residues not to be redesigned under any circumstances'),
4633  Option( 'da_eval_pose_map','File', desc='input file that maps pose coordinates to structurally related positions of native pose'),
4634  ), # -DomainAssembly
4635 
4636  Option_Group( 'edensity',
4637  Option( 'debug', 'Boolean', default = 'false'),
4638  Option( 'mapfile', 'String' ),
4639  Option( 'mapreso', 'Real', default = '0.0'),
4640  Option( 'grid_spacing', 'Real', default = '0.0'),
4641  Option( 'centroid_density_mass', 'Real', default = '0.0'),
4642  Option( 'sliding_window', 'Integer', default = '1'),
4643  Option( 'cryoem_scatterers', 'Boolean', default = 'false'),
4644  Option( 'force_apix', 'Real', default = '0.0', desc='force pixel spacing to take a particular value'),
4645  Option( 'fastdens_wt', 'Real', default = '0.0', desc='wt of fast edens score'),
4646  Option( 'fastdens_params', 'RealVector', desc='parameters for fastdens scoring'),
4647  Option( 'legacy_fastdens_score', 'Boolean', default = 'false', desc='use the pre-June 2013 normalization for scoring'),
4648  Option( 'sliding_window_wt', 'Real', default = '0.0', desc='wt of edens sliding-window score'),
4649  Option( 'score_sliding_window_context', 'Boolean', default = 'false', desc='when using sl. win. density fit, include neighbor atoms (slows trajectory)'),
4650  Option( 'whole_structure_ca_wt', 'Real', default = '0.0', desc='wt of edens centroid (CA-only) scoring'),
4651  Option( 'whole_structure_allatom_wt', 'Real', default = '0.0', desc='wt of edens centroid (allatom) scoring'),
4652 # Option( 'no_edens_in_minimizer', 'Boolean', default = 'false', desc='exclude density score from minimizer'),
4653  Option( 'debug_derivatives', 'Boolean', default = 'false', desc='calculate numeric derivatives for density terms and compare with analytical'),
4654  Option( 'realign', 'String' , default = 'no' , legal=['no', 'min', 'random', 'membrane', 'membrane_min'] , desc='how to initially align the pose to density'),
4655  Option( 'membrane_axis', 'String' , default = 'Z' , desc='the membrane normal axis'),
4656  Option( 'atom_mask', 'Real', default = '3.2', desc='override default (=3.2A) atom mask radius to this value (hi-res scoring)'),
4657  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)'),
4658  Option( 'ca_mask', 'Real', default = '6.0', desc='override default (=6A) CA mask radius to this value (low-res scoring)'),
4659  Option( 'score_symm_complex', 'Boolean', default = 'false', desc='If set, scores the structure over the entire symmetric complex; otherwise just use controlling monomer'),
4660  Option( 'sc_scaling', 'Real', default = '1.0', desc='Scale sidechain density by this amount (default same as mainchain density)'),
4661  Option( 'n_kbins', 'Integer', default = '1', desc='Number of B-factor bins'),
4662 # Option( 'render_sigma', 'Real', default = '2', desc='initially render at this sigma level (extras=graphics build only)'),
4663  Option( 'unmask_bb', 'Boolean', default = 'false', desc='Only include sidechain atoms in atom mask'),
4664  ), # -edensity
4665 
4666  ## options for enzyme design
4667  Option_Group('enzdes',
4668  Option( 'enzdes', 'Boolean', desc="enzdes option group", legal='true', default='true' ),
4669  Option( 'checkpoint', 'String', default = '', desc = 'write/read checkpoint files to the desired filename.'),
4670  Option('enz_score', 'Boolean', default = 'false',
4671  desc="prevent repacking in enzyme design calculation"),
4672  Option('enz_repack', 'Boolean', default = 'false',
4673  desc="prevent redesign in enzyme design calculation"),
4674  Option('cst_opt', 'Boolean', default = 'false',
4675  desc="pre design constraint minimization"),
4676  Option('cst_predock', 'Boolean', default = 'false',
4677  desc="docks a ligand relative the catalytic residue"),
4678  Option('trans_magnitude','Real',default = '0.1',
4679  desc="rigid body translation in Angstrom"),
4680  Option('rot_magnitude','Real',default = '2',
4681  desc="rigid body rotation in deg"),
4682  Option('dock_trials','Real',default = '100',
4683  desc="number of docking trials"),
4684  Option('cst_min', 'Boolean', default = 'false',
4685  desc="after design minimization, constraints turned off"),
4686  Option('cst_design', 'Boolean', default = 'false',
4687  desc="invokes actual design"),
4688  Option('design_min_cycles', 'Integer', default = '1',
4689  desc="determines how many iterations of designing/minimizing are done during a design run"),
4690  Option('make_consensus_mutations', 'Boolean', default = 'false',
4691  desc="Invokes mutations back to sequence profile consensus throughout whole protein in EnzdesFixBB protocol. sequence profile file must be specified through -in:pssm option."),
4692  Option('bb_min','Boolean', default = 'false',
4693  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."),
4694  Option('bb_min_allowed_dev','Real', default = '0.5',
4695  desc="distance by which Cas are allowed to move during backbone minimization before a penalty is assigned."),
4696  Option('loop_bb_min_allowed_dev','Real', default = '0.5',
4697  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."),
4698  Option('minimize_ligand_torsions','Real', default = '10.0',
4699  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"),
4700  Option('minimize_all_ligand_torsions','Real', default = '10.0',
4701  desc="allows constrained minimization of all ligand torsions using stddev."),
4702  Option('chi_min','Boolean', default = 'false',
4703  desc="allows chi values of active site residues to move during cst_opt and cst_min."),
4704  Option('min_all_jumps','Boolean', default = 'false',
4705  desc="allows all jumps in the pose to minimize during cst_opt and cst_min. By default only ligand-associated jumps minimize"),
4706  Option('cst_dock', 'Boolean', default = 'false',
4707  desc="ligand docking after design. By default, constraints (except covalent connections will be turned off for this stage."),
4708  Option('run_ligand_motifs', 'Boolean', default = 'false',
4709  desc="run ligand motif search and add motif rotamers to packer"),
4710  Option('enz_debug', 'Boolean', default = 'false',
4711  desc="invokes various debug routines around the enzdes code"),
4712  Option('cstfile','File', default = 'constraints.cst',
4713  desc="file that contains all necessary constraints for an enzyme design calculation"),
4714  Option('enz_loops_file','File', default = 'eloops.els',
4715  desc="file that contains definitions of loop regions"),
4716  Option('flexbb_protocol', 'Boolean', default = 'false',
4717  desc="triggers flexible backbone design"),
4718  Option('remodel_protocol', 'Boolean', default = 'false',
4719  desc="triggers remodel protocol design"),
4720  Option('kic_loop_sampling', 'Boolean', default = 'false', desc="Generate alternate loop conformations using KIC loop closure instead of backrub"),
4721  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"),
4722  Option('fix_catalytic_aa', 'Boolean', default = 'false',
4723  desc="preventing catalytic aa from repacking"),
4724  Option('additional_packing_ligand_rb_confs', 'Integer', default = '0',
4725  desc="Ligand Rotamers will be built at additional random rigid body positions during packing"),
4726  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." ),
4727  Option('single_loop_ensemble_size', 'Integer', default = '100',
4728  desc="number of conformations generated for each of the independent loops in a flexbb calculation"),
4729  Option('loop_generator_trials', 'Integer', default = '200',
4730  desc="number of trials of that the respective loop generator(backrub/kinematic kic) does in enzdes flexbb"),
4731  Option('no_catres_min_in_loopgen', 'Boolean', default = 'false',
4732  desc="prevents minimization of catalytic residues when generating loop ensembles"),
4733  Option('mc_kt_low', 'Real', default = '0.6',
4734  desc="low monte carlo limit for ensemble generation using backrub"),
4735  Option('mc_kt_high', 'Real', default = '0.9',
4736  desc="high monte carlo limit for ensemble generation using backrub"),
4737  Option('min_cacb_deviation', 'Real', default = '0.3',
4738  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"),
4739  Option('max_bb_deviation', 'Real', default = '0.1',
4740  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."),
4741  Option('max_bb_deviation_from_startstruct', 'Real', default = '1.5',
4742  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."),
4743 # Option('flexbb_outstructs', 'Integer', default = '10',
4744 # desc="doesn't do much anymore in the current implementation of the flexbb protocol"),
4745  Option('remodel_trials', 'Integer', default = '100',
4746  desc="how often each loop is being remodeled in the enzdes_remodel mover"),
4747  Option('remodel_secmatch', 'Boolean', default = 'false',
4748  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"),
4749  Option('dump_inverse_rotamers', 'Boolean', default = 'false',
4750  desc="in case of remodel secmatching against inverse rotamers, these rotamers will be dumped before the protocol starts for visual inspection by the user"),
4751  Option('remodel_aggressiveness', 'Real', default = '0.1',
4752  desc="determines the aggressiveness with which a given loop is remodeled. legal values between 0 and 1, where 1 is aggressive and 0 conservative."),
4753  Option('favor_native_res','Real', default = '0.5',
4754  desc="a bonus energy assigned to the native res during a design calculation"),
4755  Option('detect_design_interface', 'Boolean', default = 'false',
4756  desc="automatically detect design/repack region around ligand(s)"),
4757  Option('include_catres_in_interface_detection', 'Boolean', default = 'false',
4758  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"),
4759  Option('arg_sweep_interface', 'Boolean', default = 'false',
4760  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."),
4761  Option('arg_sweep_cutoff', 'Real', default = '3.7',
4762  desc="Interaction cutoff distance from arginine to ligand when performing arginine sweep interface detection."),
4763  Option('cut1','Real', default = '0.0',
4764  desc="option to specify redesign cutoff 1 in enzdes calculation"),
4765  Option('cut2','Real', default = '0.0',
4766  desc="option to specify redesign cutoff 2 in enzdes calculation"),
4767  Option('cut3','Real', default = '10.0',
4768  desc="option to specify repack cutoff 1 in enzdes calculation"),
4769  Option('cut4','Real', default = '10.0',
4770  desc="option to specify repack cutoff 2 in enzdes calculation"),
4771  Option('lig_packer_weight','Real', default = '1.0',
4772  desc="specifies the weights for protein ligand interaction during packing (and only packing!! )"),
4773  Option('no_unconstrained_repack', 'Boolean', default = 'false',
4774  desc="no unconstrained repacking after the design stage"),
4775  Option('secmatch_Ecutoff', 'Real', default = '1.0',
4776  desc="the maximum constraint energy at which a residue is accepted in the secondary matcher"),
4777  Option('change_lig','File', default = 'ligchange_file.txt',
4778  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."),
4779  Option('process_ligrot_separately','String', default = 'default_lig',
4780  desc="In the EnzdesFixBB protocol, causes the protocol to be executed separately for all non_bb clashing ligand rotamers."),
4781  Option('start_from_random_rb_conf','Boolean', default = 'false',
4782  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."),
4783  Option('bb_bump_cutoff','Real', default = '2.0',
4784  desc="option to specify the maximum allowed backbone energie when replacing a new residue type"),
4785  Option('sc_sc_bump_cutoff','Real', default = '2.0',
4786  desc="option to specify the maximum allowed energy between two newly placed sidechains in the secondary matcher"),
4787  Option('no_packstat_calculation','Boolean', default = 'false',
4788  desc="will determine whether the computationally intensive packstat calculation will be done at the end of a run"),
4789  Option('compare_native','String', default = './',
4790  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"),
4791  Option('final_repack_without_ligand','Boolean', default = 'false',
4792  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."),
4793  Option('dump_final_repack_without_ligand_pdb','Boolean', default = 'false',
4794  desc="If option -final_repack_without_ligand is active, this option will cause the repacked structure to be separately dumped."),
4795  Option('parser_read_cloud_pdb','Boolean', default = 'false',
4796  desc="read cloud format PDB for enzdes in rosetta scripts"),
4797  ), # -enzdes
4798 
4799  Option_Group( 'fast_loops',
4800  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' ),
4801  Option( 'nr_scored_sampling_passes', 'Integer',desc='good windows go into scored-sampling N times', default='4' ),
4802  Option( 'nr_scored_fragments', 'Integer',desc='scored loops sampled per good window each pass', default='20' ),
4803  Option( 'min_breakout_good_loops', 'Integer',desc='stop doing scored sampling if N or more good loops have been found', default='5' ),
4804  Option( 'min_breakout_fast_loops', 'Integer',desc='stop doing fast sampling if N or more good loops have been found', default='80' ),
4805  Option( 'min_good_loops', 'Integer',desc='treat as failure if less good-loops than', default='0' ),
4806  Option( 'min_fast_loops', 'Integer',desc='treat as failure if less fast-loops than', default='3' ),
4807  Option( 'vdw_delta', 'Real', desc='accept as good loop if vdw-score < vdw-score-start+vdw-delta', default='0.5' ),
4808  Option( 'give_up', 'Integer',desc='if N scored_frag_attemps didnt give any good loop -- jump out', default='1000' ),
4809  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'),
4810  Option( 'fragsample_score', 'File', desc='Scorefunction used durgin scored-frag sampling', default='loop_fragsample.wts' ),
4811  Option( 'fragsample_patch', 'File', desc='Patch weights for scorefunction used during scored-frag sampling' ),
4812  Option( 'overwrite_filter_scorefxn', 'File', desc='force Scorefunction to be used during filter stage (instead last score of sampling protocol)' ),
4813  Option( 'patch_filter_scorefxn', 'File', desc='apply patch to Scorefunction used during filter stage' ),
4814  Option( 'filter_cst_file', 'File', desc='use these constraints to filter loops --- additional to whatever is in pose already' ),
4815  Option( 'filter_cst_weight', 'Real', desc='weight for constraints versus normal score (might contain additional constraints)', default='1.0' ),
4816  Option( 'fast_relax_sequence_file', 'File', desc='use this FastRelax protocol for loop-selection'),
4817  ), # -fast_loops
4818 
4819 # Option_Group( 'fldsgn',
4820 # Option( 'view', 'Boolean', desc='viewing pose during protocol' ),
4821 # Option( 'blueprint', 'FileVector', default=['blueprint'], desc="blueprint filename(s). "),
4822 # Option( 'dr_cycles', 'Integer', desc="design-refine cycles", default='3' ),
4823 # Option( 'centroid_sfx', 'String', desc="filename of the centroid score function to use," ),
4824 # Option( 'centroid_sfx_patch', 'String', desc="filename of the centroid score function patch to use," ),
4825 # Option( 'fullatom_sfx', 'String', desc="filename of the full-atom score function to use" ),
4826 # Option( 'fullatom_sfx_patch', 'String', desc="filename of the full-atom score function patch to use" ),
4827 # Option( 'run_flxbb', 'Integer', desc='run flxbb at the given stage' ),
4828 # ), # -fldsgn
4829 
4830  Option_Group( 'flexpack',
4831  Option_Group( 'annealer',
4832  Option( 'inner_iteration_scale', 'Real', desc="Scale up or down the number of inner iterations in the flexpack annealer"),
4833  Option( 'outer_iteration_scale', 'Real', desc="Scale up or down the number of outer iterations in the flexpack annealer"),
4834  Option( 'fixbb_substitutions_scale', 'Real', desc="Scale up or down the number of fixed-backbone rotamer substitutions in the flexpack annealer"),
4835  Option( 'pure_movebb_substitutions_scale', 'Real', desc="Scale up or down the number of backbone moves"),
4836  Option( 'rotsub_movebb_substitutions_scale', 'Real', desc="Scale up or down the number of rotamer substitions with backbone moves"),
4837  ), # -flexpack:annealer
4838  ), # -flexpack
4839 
4840  # FlexPepDocking Options -----------------------------------------------------------
4841  Option_Group( 'flexPepDocking',
4842  Option( 'params_file', 'String',
4843  desc='parameters file that describe the complex details, like anchor residues, etc.' ),
4844  Option( 'peptide_anchor', 'Integer',
4845  desc='Set the peptide anchor residue mannualy (instead of using the center of mass', lower='1', default='1' ),
4846  Option( 'receptor_chain', 'String',
4847  desc='chain-id of receptor protein'),
4848  Option( 'peptide_chain', 'String',
4849  desc='chain-id of peptide protein'),
4850  Option( 'pep_fold_only', 'Boolean',
4851  desc="Only fold a peptide, without docking (no input receptor is expected in this case).",
4852  default = 'false' ),
4853  Option( 'lowres_abinitio', 'Boolean',
4854  desc="Do a preemptive ab-initio low-resolution peptide docking",
4855  default = 'false' ),
4856  Option( 'lowres_preoptimize', 'Boolean',
4857  desc="Do a preemptive optimization in low resolution",
4858  default = 'false' ),
4859  Option( 'flexPepDockingMinimizeOnly', 'Boolean',
4860  desc="Just do simple minimization on input structure",
4861  default = 'false' ),
4862  Option( 'extend_peptide', 'Boolean',
4863  desc="start the protocol with the peptide in extended conformation",
4864  default = 'false' ),
4865  Option( 'place_peptide_on_binding_site', 'Boolean',
4866  desc="places peptide on the binding using SiteConstraints",
4867  default = 'false' ),
4868  Option( 'sample_pcs', 'Integer',
4869  desc="number of principle components to use for initial peptide placement and flipping",
4870  lower='0', default = '0' ),
4871  Option( 'SlideIntoContact', 'Boolean',
4872  desc="Slides peptide toward or away from receptor to remove clashes",
4873  default = 'false' ),
4874  Option( 'recalculate_foldtree', 'Boolean',
4875  desc="recalculates foldtree after random RB perturbation",
4876  default = 'false' ),
4877  Option( 'pep_refine', 'Boolean',
4878  desc="High-resolution peptide refinement over receptor surface, equivalent to the obsolete -rbMCM -torsionsMCM flags",
4879  default = 'false' ),
4880  Option( 'rbMCM', 'Boolean',
4881  desc="Do rigid body mcm in the main loop of the protocol (obsolete)",
4882  default = 'false' ),
4883  Option( 'torsionsMCM', 'Boolean',
4884  desc="Do torsions (small/shear mcm in the main loop of the protocol (obsolete)",
4885  default = 'false' ),
4886  Option( 'peptide_loop_model', 'Boolean',
4887  desc="Do cycles of random loop modeling to peptide backbone",
4888  default = 'false' ),
4889  Option( 'backrub_peptide', 'Boolean',
4890  desc="Adds a backrub stage to the protocol",
4891  default = 'false' ),
4892  Option( 'boost_fa_atr', 'Boolean',
4893  desc="while ramping up the fa_rep, start from high atr and lower to normal",
4894  default = 'true' ),
4895  Option( 'ramp_fa_rep', 'Boolean',
4896  desc="Whether to ramp the full-atom repulsive score during the protocol",
4897  default= 'true' ),
4898  Option( 'ramp_rama', 'Boolean',
4899  desc="Whether to ramp the Ramachandran score during the protocol",
4900  default= 'false' ),
4901  Option( 'flexpep_score_only', 'Boolean',
4902  desc="just reads in the pose and scores it",
4903  default = 'false' ),
4904  Option('ref_startstruct', 'File',
4905  desc='Alternative start structure for scoring statistics, instead of the original start structure (useful as reference for rescoring previous runs)'
4906  ),
4907  Option( 'use_cen_score', 'Boolean',
4908  desc="when in score_only mode, uses centroid weights to score",
4909  default = 'false' ),
4910  Option( 'design_peptide', 'Boolean',
4911  desc="Add a desing stage to each cycle of the RB-torsions perturbations",
4912  default = 'false' ),
4913  Option( 'rep_ramp_cycles', 'Integer',
4914  desc='Number of cycles for the ramping up of repulsion term',
4915  lower='0', default='10' ),
4916  Option( 'mcm_cycles', 'Integer',
4917  desc='Number of cycles for the mcm procedures (rb/torsions)',
4918  lower='0', default='8' ),
4919  Option( 'random_phi_psi_preturbation','Real',
4920  desc="Size of random perturbation of peptide's phi/psi",
4921  lower='0.0', default = '0.0' ),
4922  Option( 'smove_angle_range','Real',
4923  desc="Defines the perturbations size of small/sheer moves",
4924  lower='0.0', default = '6.0' ),
4925  Option( 'min_receptor_bb', 'Boolean',
4926  desc="Whether to include protein backbone in minimization",
4927  default='false' ),
4928  Option( 'random_trans_start','Real',
4929  desc="Size of random perturbation of peptide's rigid body translation",
4930  lower='0.0', default = '0.0' ),
4931  Option( 'random_rot_start','Real',
4932  desc="Size of random perturbation of peptide's rigid body rotation",
4933  lower='0.0', default = '0.0' ),
4934  Option( 'flexpep_prepack','Boolean',
4935  desc="Prepack an initial structure and exit",
4936  default = 'false' ),
4937  Option('flexpep_noprepack1', 'Boolean',
4938  short='Do not prepack the side-chains of partner 1 ( = globular protein ).',
4939  desc='Do not repack the side-chains of partner 1 ( = globular protein).',
4940  default='false'
4941  ),
4942  Option('flexpep_noprepack2', 'Boolean',
4943  short='Do not prepack the side-chains of partner 2 ( = peptide).',
4944  desc='Do not repack the side-chains of partner 2 ( = peptide).',
4945  default='false'
4946  ),
4947  Option('score_filter', 'Real',
4948  short='Only output decoys with scores lower than this filter.',
4949  desc='Only output decoys with scores lower than this filter.',
4950  default = '10000.0' ),
4951  Option('hb_filter', 'Integer',
4952  short='Only output decoys with more h-bonds than this filter.',
4953  desc='Only output decoys with more h-bonds than this filter.',
4954  lower='0', default = '0' ),
4955  Option('hotspot_filter', 'Integer',
4956  short='Only output decoys with more hotspots than this filter.',
4957  desc='Only output decoys with more hotspots than this filter.',
4958  lower='0', default = '0' ),
4959  Option('frag5', 'String', desc="5-mer fragments for ab-initio flexPepDock" ),
4960  Option('frag9_weight', 'Real',
4961  desc='Relative weight of 9-mers in ab-initio',
4962  lower='0', default='0.1'),
4963  Option('frag5_weight', 'Real',
4964  desc='relative weight of 5-mers in ab-initio',
4965  lower='0', default='0.25'),
4966  Option('frag3_weight', 'Real',
4967  desc='Relative weight of 3-mers in ab-initio',
4968  lower='0', default='1.0'),
4969  Option('pSer2Asp_centroid', 'Boolean',
4970  desc='convert pSer to Asp during centroid mode',
4971  default='false'),
4972  Option('pSer2Glu_centroid', 'Boolean',
4973  desc='convert pSer to Glu during centroid mode',
4974  default='false'),
4975  Option('dumpPDB_abinitio', 'Boolean',
4976  desc='dump PDB during Monte-Carlo ab-initio',
4977  default='false'),
4978  Option('dumpPDB_lowres', 'Boolean',
4979  desc='dump PDB during Monte-Carlo low-res',
4980  default='false'),
4981  Option('dumpPDB_hires', 'Boolean',
4982  desc='dump PDB during Monte-Carlo hi-res',
4983  default='false'),
4984  ), # -flexPepDocking
4985 
4986  #################################FloppyTail####################################################
4987  Option_Group( 'FloppyTail',
4988  Option( 'flexible_start_resnum', 'Integer', desc='starting residue for the flexible region, using PDB numbering', default='180'),
4989  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'),
4990  Option( 'flexible_chain', 'String', desc='chain ID for flexible region', default='C'),
4991  Option( 'shear_on', 'Real', desc='fraction of perturb moves when shear turns on (0.5 = halfway through)', default='1.0/3.0'),
4992  Option( 'pair_off', 'Boolean', desc='turn off Epair electrostatics term. Used once for a simple side experiment, not meant for general use.', default='false'),
4993  Option( 'publication', 'Boolean', desc='output statistics used in publication. TURN OFF if not running publication demo.', default='false'),
4994  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'),
4995  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'),
4996  Option( 'debug', 'Boolean', desc='debug mode (extra checks and pdb dumps)', default='false' ),
4997  Option( 'cen_weights', 'String', desc = 'Use a different/custom scorefunction for centroid step'),
4998  Option( 'perturb_show', 'Boolean', desc='dump perturbed centroid pdbs as well as final results', default='false' ),
4999  Option( 'perturb_cycles', 'Integer', desc='perturbation phase runs for <input> cycles', default = '5' ),
5000  Option( 'perturb_temp', 'Real', desc='perturbation phase temperature for monte carlo', default = '0.8' ),
5001  Option( 'refine_cycles', 'Integer', desc='refinement phase runs for <input> cycles', default = '5' ),
5002  Option( 'refine_temp', 'Real', desc='refinement phase temperature for monte carlo', default = '0.8' ),
5003  Option( 'refine_repack_cycles', 'Integer', desc='refinement phase runs repack every <input> cycles', lower = '2', default = '20' ),
5004  Option_Group( 'short_tail',
5005  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'),
5006  Option( 'short_tail_off', 'Real', desc='fraction of refine cycles where movemap reverts to full tail (0.5 = halfway through)', default='0.0'),
5007  ),
5008  ), # -FloppyTail
5009 
5010  Option_Group( 'flxbb',
5011  Option( 'view', 'Boolean', desc='viewing pose during protocol' ),
5012  Option( 'ncycle', 'Integer', desc='number of cycles of design and relax' ),
5013  Option( 'constraints_sheet', 'Real', desc='weight constraints between Ca atoms in beta sheet' ),
5014  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' ),
5015  Option( 'constraints_NtoC', 'Real', desc='weight constraints between N- and C- terminal CA atoms' ),
5016  Option( 'filter_trial', 'Integer', desc="number of filtering trial " ),
5017  Option( 'filter_type', 'String', desc="filter type name, currently only packstat is available" ),
5018 # Option( 'exclude_Met', 'Boolean', desc="do not use Met for design" ),
5019 # Option( 'exclude_Ala', 'Boolean', desc="do not use Ala for design" ),
5020  Option( 'blueprint', 'File', desc='blueprint file ' ),
5021  Option( 'movemap_from_blueprint', 'Boolean', desc='viewing pose during protocol' ),
5022  Option_Group( 'layer',
5023  Option( 'layer', 'String',
5024  desc='design core, boundary, and surface with different aa types', default='normal'
5025  ),
5026 # Option( 'pore_radius', 'Real',
5027 # desc="sphere radius for sasa calculation",
5028 # ),
5029 # Option( 'burial', 'Real',
5030 # desc="surface area when residues regarded as core ",
5031 # ),
5032 # Option( 'surface', 'Real',
5033 # desc="surface area when residues regarded as surface ",
5034 # ),
5035  ), # -flxbb:layer
5036  ), # -flxbb
5037 
5038  Option_Group( 'fold_and_dock',
5039  Option( 'move_anchor_points','Boolean', desc="move the anchor points that define symmetric coordinate system during symmetry fragment insertion", default='false'),
5040  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'),
5041  Option( 'rotate_anchor_to_x','Boolean', desc="rotate the anchor residue to the x-axis before applying rigid body transformations", default='true'),
5042  Option ('trans_mag_smooth', 'Real', desc = 'translation perturbation size for smooth refinement', default='0.1'),
5043  Option ('rot_mag_smooth', 'Real', desc = 'rotational perturbation size for smooth refinement', default='1.0'),
5044  Option ('rb_rot_magnitude', 'Real', desc = 'rotational perturbation size for rigid body pertubations', default='8.0'),
5045  Option ('rb_trans_magnitude', 'Real', desc = 'translational perturbation size rigid body pertubations', default='3.0'),
5046  Option ('rigid_body_cycles', 'Integer', desc ='number of rigid bosy cycles during fold and dock fragment insertion', default='50' ),
5047  Option ('move_anchor_frequency', 'Real', desc = 'Frequency of slide-anchor moves', default='1.0'),
5048  Option ('rigid_body_frequency', 'Real', desc = 'The fraction of times rigid body cycles are applied during fragment assembly moves', default='0.2'),
5049  Option( 'rigid_body_disable_mc','Boolean', desc="Dissallow moves to be accepted locally by MC criteria within the rigid body mover ", default='false'),
5050  Option ('slide_contact_frequency', 'Real', desc = 'The fraction of times subunits are slided together during fragment assembly moves', default='0.1'),
5051  ), # -fold_and_dock
5052 
5053  Option_Group( 'fold_cst',
5054  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' ),
5055  Option( 'violation_skip_basis', 'Integer', desc='local skip_rate is viol/base', default='100' ),
5056  Option( 'violation_skip_ignore', 'Integer', desc='no skip for numbers below this level', default='10' ),
5057  Option( 'keep_skipped_csts', 'Boolean', desc='final score only with active constraints', default='false'),
5058  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' ),
5059  Option( 'force_minimize', 'Boolean', desc='Minimization moves in fold_constraints protocol also if no constraints present', default='false' ),
5060  Option( 'seq_sep_stages', 'RealVector', desc='give vector with sequence_separation after stage1, stage3 and stage4', default='0' ),
5061  Option( 'reramp_cst_cycles', 'Integer', desc='in stage2 do xxx cycles where atom_pair_constraint is ramped up', default='0' ),
5062  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' ),
5063  Option( 'reramp_iterations', 'Integer', desc='do X loops of annealing cycles', default='1' ),
5064  Option( 'skip_on_noviolation_in_stage1', 'Boolean', desc='if constraints report no violations --- skip cycles', default='false' ),
5065  Option( 'stage1_ramp_cst_cycle_factor', 'Real', desc='spend x*<standard cycles> on each step of sequence separation', default='0.25' ),
5066  Option( 'stage2_constraint_threshold', 'Real', desc='stop runs that violate this threshold at end of stage2', default='0' ),
5067  Option( 'ignore_sequence_seperation', 'Boolean', desc='usually constraints are switched on according to their separation in the fold-tree', default='false' ),
5068  Option( 'no_recover_low_at_constraint_switch', 'Boolean', desc='dont recover low when max_seq_sep is increased', default='false' ),
5069  Option( 'ramp_coord_cst', 'Boolean', desc='ramp coord csts just like chainbreak-weights during fold-cst', default='false' ),
5070  ), # -fold_cst
5071 
5072  # fold from loops
5073  Option_Group('fold_from_loops',
5074  Option ('native_ca_cst', 'Boolean', desc = 'derive constraints from the native topology', default ='false'),
5075  Option('swap_loops','File', desc='pdb of the target loops ', default='--'),
5076  Option( 'checkpoint', 'String', desc = 'write/read checkpoint files for nstruct. Provide a checkpoint filename after this option.', default=''),
5077  Option ('ca_csts_dev', 'Real', desc = 'standard deviation allowed to each constraint', default='0.5'),
5078  Option ('add_relax_cycles', 'Integer', desc ='additional relax cycles', default='2' ),
5079  Option ('loop_mov_nterm', 'Integer', desc ='Movable region inside the provided loop(nterm)', default='0' ),
5080  Option ('loop_mov_cterm', 'Integer', desc ='Moveable region inside the provided loop(cterm)', default='0' ),
5081  Option ('ca_rmsd_cutoff', 'Real', desc = 'Filter the decoys to pass the relax-design stage ', default='5.0'),
5082  Option ('res_design_bs', 'IntegerVector', desc='enumerate the residues to be designed within the fixed binding site' ),
5083  Option ('clear_csts','File', desc='input loops file with ranges free of CA csts', default='--'),
5084  Option ('output_centroid','Boolean',desc='output centroid structures befor the design stage', default = 'false'),
5085  Option ('add_cst_loop','Boolean',desc='add CA csts of motif to constraint set', default = 'false'),
5086  ), # -fold_from_loops
5087 
5088 ## -------------------------- FRAGMENT PICKING --------------
5089  Option_Group( 'frags',
5090  Option( 'j', 'Integer', desc='Number of threads to use'),
5091  Option( 'filter_JC', 'Boolean',
5092  desc='Filter J-coupling values in the dynamic range ', default='false'),
5093 
5094  Option( 'bounded_protocol', 'Boolean',
5095  desc = 'makes the picker use bounded protocol to select fragments. This is teh default behavior',
5096  default = 'true'
5097  ),
5098  Option( 'keep_all_protocol', 'Boolean',
5099  desc = 'makes the picker use keep-all protocol to select fragments. The default is bounded protocol',
5100  default = 'false'
5101  ),
5102  Option( 'quota_protocol', 'Boolean',
5103  desc = 'quota protocol implies the use of a QuotaCollector and a QuotaSelelctor, no matter what user set up by other flags.',
5104  default = 'false'),
5105  Option(
5106  'nonlocal_pairs', 'Boolean',
5107  desc = 'identifies and outputs nonlocal fragment pairs.',
5108  default = 'false'
5109  ),
5110  Option( 'fragment_contacts', 'Boolean',
5111  desc = 'identifies and outputs fragment contacts.',
5112  default = 'false'
5113  ),
5114  Option( 'p_value_selection', 'Boolean',
5115  desc = 'the final fragment selection will b based on p-value rather than on a total score for the given fragment',
5116  default = 'false'),
5117 
5118  Option( 'n_frags', 'Integer',
5119  desc = 'number of fragments per position',
5120  default = '200'
5121  ),
5122  Option( 'allowed_pdb', 'File',
5123  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",
5124  ),
5125  Option( 'ss_pred', 'StringVector',
5126  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.',
5127  ),
5128  Option( 'spine_x', 'File',
5129  desc = "provides phi and psi torsion angle predictions and solvent accessibility prediction from Spine-X",
5130  ),
5131  Option( 'depth', 'File',
5132  desc = "provides residue depth values from DEPTH",
5133  ),
5134  Option( 'denied_pdb', 'File',
5135  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.",
5136  ),
5137  Option( 'frag_sizes', 'IntegerVector',
5138  desc = 'sizes of fragments to pick from the vall',
5139  default = ['9','3','1'],
5140  ),
5141  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'),
5142  Option( 'write_scores', 'Boolean', desc='Fragment picker will write scores in output fragment files.', default='false' ),
5143  Option( 'annotate', 'Boolean', desc='read the annotation from the rosetta++ fragment file', default='false' ),
5144  Option( 'nr_large_copies', 'Integer', desc='make N copies for each standard 9mer (or so) fragment', default='1' ),
5145 
5146  Option( 'n_candidates', 'Integer',
5147  desc = 'number of fragment candidates per position; the final fragments will be selected from them',
5148  default = '200'
5149  ),
5150  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'),
5151  Option( 'rama_C', 'Real', desc='Constant in RamaScore equation, command line is for optimization tests', default='0.0'),
5152  Option( 'rama_B', 'Real', desc='Constant in RamaScore equation, command line is for optimization tests', default='1.0'),
5153  Option( 'sigmoid_cs_A', 'Real', desc='Constant in CSScore equation, command line is for optimization tests', default='2.0'),
5154  Option( 'sigmoid_cs_B', 'Real', desc='Constant in CSScore equation, command line is for optimization tests', default='4.0'),
5155  Option( 'seqsim_H', 'Real', desc='Secondary structure type prediction multiplier, for use in fragment picking', default='1.0'),
5156  Option( 'seqsim_E', 'Real', desc='Secondary structure type prediction multiplier, for use in fragment picking', default='1.0'),
5157  Option( 'seqsim_L', 'Real', desc='Secondary structure type prediction multiplier, for use in fragment picking', default='1.0'),
5158  Option( 'rama_norm', 'Real', desc='Used to multiply rama table values after normalization, default (0.0) means use raw counts (unnormalized)', default='0.0'),
5159  Option( 'describe_fragments','String',desc='Writes scores for all fragments into a file', default=''),
5160  Option( 'picking_old_max_score', 'Real', desc='maximal score allowed for fragments picked by the old vall (used by RosettaRemodel).', default='1000000.0'),
5161  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'),
5162  Option( 'output_silent', 'Boolean', desc='Fragment picker will output fragments into a silent file.', default='false'),
5163  Option( 'output_index', 'Boolean', desc='Fragment picker will output fragments into an index file.', default='false'),
5164  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'),
5165 
5166  Option_Group( 'scoring',
5167  Option('config', 'File', desc = 'scoring scheme used for picking fragments', default = '', ),
5168  Option('profile_score', 'String', desc = 'scoring scheme used for profile-profile comparison', default = 'L1', ),
5169 # Option( 'predicted_secondary', 'FileVector',
5170 # desc = 'provides one or more files with secondary structure prediction, to be used by secondary structure scoring and quota selector',
5171 # default = '',
5172 # ),
5173  ), # -frags:scoring
5174 
5175  Option_Group( 'picking',
5176  Option( 'selecting_rule', 'String',
5177  desc = 'the way how fragments are selected from candidates, e.g. QuotaSelector of BestTotalScoreSelector',
5178  default = 'BestTotalScoreSelector',
5179  legal=['QuotaSelector','BestTotalScoreSelector'],
5180  ),
5181  Option( 'selecting_scorefxn', 'String',
5182  desc = 'in the case user chose BestTotalScoreSelector to be used, this option provides a custom scoring function to be used at the selection step',
5183  ),
5184  Option( 'quota_config_file', 'File',
5185  desc = 'provides a configuration file for quota selector',
5186  ),
5187  Option( 'query_pos','IntegerVector',
5188  desc = 'provide sequence position for which fragments will be picked. By default fragments are picked for the whole query sequence',
5189  ),
5190  ), # -frags:picking
5191 
5192  Option_Group( 'nonlocal',
5193  Option( 'relax_input', 'Boolean',
5194  desc = 'relax input before running protocol' ),
5195  Option( 'relax_input_with_coordinate_constraints', 'Boolean',
5196  desc = 'relax input with coordinate constraints before running protocol' ),
5197  Option( 'relax_frags_repeats', 'Integer',
5198  desc = 'relax repeats for relaxing fragment pair' ),
5199  Option( 'single_chain', 'Boolean',
5200  desc = 'non-local fragment pairs will be restricted to the same chain' ),
5201  Option( 'min_contacts_per_res', 'Real',
5202  desc = 'minimum contacts per residue in fragment to be considered a fragment pair', default = '1.0' ),
5203  Option( 'max_ddg_score', 'Real',
5204  desc = 'maximum DDG score of fragment pair' ),
5205  Option( 'max_rmsd_after_relax', 'Real',
5206  desc = 'maximum rmsd of fragment pair after relax' ),
5207  Option( 'output_frags_pdbs', 'Boolean',
5208  desc = 'output non-local fragment pair PDBs' ),
5209  Option( 'output_idealized', 'Boolean',
5210  desc = 'output an idealized pose which can be used for generating a new VALL' ),
5211  Option( 'output_silent', 'Boolean',
5212  desc = 'output non-local fragment pairs silent file', default = 'true' ),
5213  ), # -frags:nonlocal
5214 
5215  Option_Group( 'contacts',
5216  Option( 'min_seq_sep', 'Integer',
5217  desc = 'minimum sequence separation between contacts', default = '12' ),
5218  Option( 'dist_cutoffs', 'RealVector', default = ['9.0'], desc = 'distance cutoffs to be considered a contact. contact counts will only be saved.' ),
5219  Option( 'centroid_distance_scale_factor', 'Real', default = '1.0', desc = 'Scaling factor for centroid distance cutoffs.' ),
5220  Option( 'type', 'StringVector',
5221  desc='Atom considered for contacts',
5222  legal = ['ca','cb','cen'], default='utility::vector1<std::string>(1,"ca")'
5223  ),
5224  Option( 'neighbors', 'Integer',
5225  desc = 'number of adjacent residues to a contact for finding neighboring contacts', default = '0' ),
5226  Option( 'output_all', 'Boolean', desc = 'output all contacts', default = 'false' ),
5227  ), # -frags:contacts
5228 
5229  Option_Group( 'ABEGO',
5230  Option( 'phi_psi_range_A' , 'Real', desc = 'Further filter phi&psi during frag picking process in design', default = '999.0'),
5231  ), # -frags:ABEGO
5232  ), # -frags
5233 ## -------------------------- END OF fragment picking --------------
5234 
5235  # rosetta holes settings -----------------------------------------------------------
5236  Option_Group( 'holes',
5237  Option('dalphaball','File', desc="The DAlaphaBall_surf program"),
5238  Option('params','File', desc="File containing score parameters",default="holes_params.dat"),
5239  Option('h_mode','Integer', desc="include H's or no... see PoseBalls.cc",default="0"),
5240  Option('water','Boolean', desc="include water or no",default="false"),
5241  Option('make_pdb' ,'Boolean', desc="make pdb with scores",default="false"),
5242  Option('make_voids' ,'Boolean', desc="do separate SLOW void calculation",default="false"),
5243  Option('atom_scores' ,'Boolean', desc="output scores for all atoms",default="false"),
5244  Option('residue_scores','Boolean', desc="output scores for all residues (avg over atoms)",default="false"),
5245 # Option('cav_shrink' ,'Real' , desc="Cavity ball radii reduced by this amount",default="0.7"),
5246  Option('minimize' ,'String' , desc="RosettaHoles params to use: decoy15, decoy25 or resl",default="decoy15"),
5247  Option('debug' ,'Boolean' , desc="dump debug output",default="false"),
5248  ), # -holes
5249 
5250  ## options for hotspot hashing
5251  Option_Group( 'hotspot',
5252  Option( 'allow_gly', 'Boolean', desc='Allow glycines in hotspot hashing constraints?', default = 'false' ),
5253  Option( 'allow_proline', 'Boolean', desc='Allow prolines in hotspot hashing constraints?', default = 'false' ),
5254  Option( 'benchmark', 'Boolean', desc='Score existing interface?', default = 'false'),
5255  Option( 'residue', 'StringVector', desc='mini residue name3 to use for hotspot hashing', default = 'utility::vector1<std::string>(1,"ALL")'),
5256  Option( 'hashfile', 'File', desc='Existing hotspot hash file.'),
5257  Option( 'target', 'File', desc='Target PDB of the hotspot hash. Used for both de novo hashing and making hash density maps.'),
5258  Option( 'target_res', 'Integer', desc='Rosetta residue number of interest on the target PDB. Used for targeted hashing'),
5259  Option( 'target_dist', 'Real', desc='Tolerated distance from the target residue. Used for targeted hashing', default='20' ),
5260  Option( 'density', 'File', desc='Filename to write *unweighted* hotspot density (compared to -target PDB).'),
5261  Option( 'weighted_density', 'File', desc='Filename to write *score weighted* hotspot density (compared to -target PDB).'),
5262  Option( 'rms_target', 'File', desc='Filename to write best rms of hotspot to target complex. Suitable for pymol data2b_res'),
5263  Option( 'rms_hotspot', 'File', desc='Filename to write best rms of hotspot to target complex. Suitable for rms vs E scatter plots.'),
5264  Option( 'rms_hotspot_res', 'Integer', desc='Rosetta residue # to use for calculating rms_hotspot.'),
5265  Option( 'rescore', 'Boolean', desc='Rescore hotspots from -hashfile based on the supplied -target PDB.', default='false'),
5266  Option( 'threshold', 'Real', desc='Score threshold for hotspot accepts. Found hotspots must be better than or equal to threshold', default='-1.0' ),
5267  Option( 'sc_only', 'Boolean', desc='Make backbone atoms virtual to find sidechain-only hotspots?', default='true'),
5268  Option( 'fxnal_group', 'Boolean', desc='Only use a stubs functional group for rmsd calculations.', default='true'),
5269  Option( 'cluster', 'Boolean', desc='Cluster stubset. Will take place before colonyE.', default='false'),
5270  Option( 'colonyE', 'Boolean', desc='Rescore hotspots from -hashfile based on colony energy.', default='false'),
5271  Option( 'length', 'Integer', desc='Length of hotspot peptide to use for hashing. Sidechain-containing group will be in the center.', default='1'),
5272  Option( 'envhb', 'Boolean', desc='Use environment dependent Hbonds when scoring hotspots.', default='false'),
5273  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' ),
5274  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' ),
5275  ), # -hotspot
5276 
5277  Option_Group( 'indexed_structure_store',
5278  Option( 'fragment_store', 'File', desc='Fragment store. [.h5] file'),
5279  Option( 'fragment_threshold_distance', 'Real', desc='sets the fragment threshold distance when being read in by the VallLookback score function',default = '0.4'),
5280  Option( 'store_name', 'String', desc='name of store in hdf5',default = '9_mer'),
5281  ), # -indexed_structure_store
5282  Option_Group( 'lh',
5283 # Option( 'db_prefix', 'String', default = 'loopdb', desc='stem for loop database' ),
5284  Option( 'loopsizes', 'IntegerVector', default = ['10','15','20'] , desc='Which loopsizes to use' ),
5285  Option( 'num_partitions', 'Integer', default = '1', desc='Number of partitions to split the database into'),
5286  Option( 'db_path', 'Path', default = '', desc = 'Path to database' ),
5287  Option( 'exclude_homo', 'Boolean', default = 'false', desc = 'Use a homolog exclusion filter' ),
5288  Option( 'bss', 'Boolean', default = 'false', desc = 'Use BinaryProteinSilentStruct instead of ProteinSilentStruct (needed for nonideal)' ),
5289  Option( 'refstruct', 'String', default = '', desc = 'File with a target reference structure' ),
5290  Option( 'homo_file', 'String', default = '', desc = 'File containing homologs to exclude' ),
5291  Option( 'createdb_rms_cutoff', 'RealVector', default = ['0','0','0'], desc = 'RMS cutoff used for throwing out similar fragments.' ),
5292  Option( 'min_bbrms', 'Real', default='20.0' ),
5293  Option( 'max_bbrms', 'Real', default='1400.0' ),
5294  Option( 'min_rms' , 'Real', default='0.5' ),
5295  Option( 'max_rms' , 'Real', default='4.0' ),
5296  Option( 'filter_by_phipsi', 'Boolean', default = 'true' ),
5297  Option( 'max_radius' , 'Integer', default='4' ),
5298  Option( 'max_struct' , 'Integer', default='10' ),
5299  Option( 'max_struct_per_radius' , 'Integer', default='10' ),
5300  Option( 'grid_space_multiplier' , 'Real', default = '1' ),
5301  Option( 'grid_angle_multiplier' , 'Real', default = '2.5' ),
5302  Option( 'skim_size', 'Integer', default='100' ),
5303  Option( 'rounds', 'Integer', default='100' ),
5304  Option( 'jobname', 'String', desc = 'Prefix (Ident string) !', default = 'default' ),
5305  Option( 'max_lib_size', 'Integer', default = '2' ),
5306  Option( 'max_emperor_lib_size', 'Integer', default = '25' ),
5307  Option( 'max_emperor_lib_round', 'Integer', default = '0' ),
5308  Option( 'library_expiry_time', 'Integer', default = '2400' ),
5309  Option( 'objective_function', 'String', desc = 'What to use as the objective function', default='score' ),
5310  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' ),
5311  Option( 'mpi_resume', 'String', desc = 'Prefix (Ident string) for resuming a previous job!'),
5312  Option( 'mpi_feedback', 'String', default = 'no',
5313  legal=['no','add_n_limit','add_n_replace', 'single_replace', 'single_replace_rounds' ], ),
5314  Option( 'mpi_batch_relax_chunks', 'Integer', default='100' ),
5315  Option( 'mpi_batch_relax_absolute_max', 'Integer', default='300' ),
5316  Option( 'mpi_outbound_wu_buffer_size', 'Integer', default='60' ),
5317  Option( 'mpi_loophash_split_size ', 'Integer', default='50' ),
5318  Option( 'mpi_metropolis_temp', 'Real', default='1000000.0' ),
5319  Option( 'mpi_save_state_interval', 'Integer', default='1200' ),
5320  Option( 'mpi_master_save_score_only', 'Boolean', default = 'true' ),
5321  Option( 'max_loophash_per_structure', 'Integer', default='1' ),
5322  Option( 'prob_terminus_ramapert' , 'Real', default='0.0', desc="Prob. to run ramapert instead of fraginsert on terminus" ),
5323  Option( 'rms_limit', 'Real', default='2.0', desc = 'How to deal with returned relaxed structures' ),
5324  Option( 'similarity_reference', 'Real', default='2.0', desc = 'How to deal with returned relaxed structures' ),
5325  Option( 'centroid_only', 'Boolean', default = 'false', desc = 'false' ),
5326  Option( 'write_centroid_structs', 'Boolean', default = 'false', desc = 'Output raw loophashed decoys as well as relaxed ones' ),
5327  Option( 'write_all_fa_structs', 'Boolean', default = 'false', desc = 'Write out all structures returned from batch relax' ),
5328  Option( 'sandbox', 'Boolean', default = 'false', desc = 'Sand box mode' ),
5329  Option( 'create_db', 'Boolean', default = 'false', desc = 'Make database with this loopsize' ),
5330  Option( 'sample_weight_file', 'File', desc = 'Holds the initial per residue sample weights' ),
5331  Option( 'radius_size', 'Real',default = '2',desc='tune the radius for hypershell'),
5332  # specific for mpi_refinement (above are shared by both loophash & mpi_refinement)
5333  Option( 'max_ref_lib_size', 'Integer', default = '2' ),
5334  Option( 'multi_objective_functions', 'StringVector', desc = 'What to use as the objective function', default='utility::vector1<std::string>(1,"score")' ),
5335  Option( 'additional_objective_functions', 'StringVector', desc = 'What to add for the multi-objective function' ),
5336  Option( 'edensity_weight_for_sampling', 'Real', desc = 'weight for elec_dens_fast in WorkUnit_Samplers', default='0.0' ),
5337  Option( 'mpi_master_schfile', 'String', default = '', desc = 'schedule file'),
5338  Option( 'mpi_master_cpu_weight', 'IntegerVector', default = ['0.0'], desc = 'weight on number of slaves'),
5339  Option( 'mpi_loophash_scan_type', 'String', default='random' ),
5340  Option( 'mpi_read_structure_for_emperor', 'Boolean', default='true' ),
5341  Option( 'mpi_packmin_init', 'Boolean', default='false' ),
5342  Option( 'max_sample_per_structure', 'Integer', default='1' ),
5343  Option( 'loop_string', 'String', default='', desc = 'string to be parsed for loop region, e.g. 1-10,15-20,32-38' ),
5344  Option( 'seg_string', 'String', default='', desc = 'string to be parsed for segment region, e.g. 1-10,15-20,32-38' ),
5345  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'),
5346  Option( 'pert_init_loop', 'Boolean', default='false', desc = 'Try perturbing loops from starting structure at the beginning' ),
5347  Option( 'NMdist', 'Real', default='10.0', desc = 'normalmodemover distance cut'),
5348  Option( 'objective_dominate_cut', 'RealVector', default=['0.0','0.0','3.0'], desc = 'cut for objective function domination'),
5349  Option( 'objective_cut_increment', 'RealVector', default=['0.0','0.0','0.0'], desc = 'objective_dominate_cut increment for every call'),
5350  Option( 'similarity_method', 'String', default='sum' ),
5351  Option( 'similarity_measure', 'String', default='Sscore' ),
5352  Option( 'similarity_tolerance', 'Real', default='0.5' ),
5353  Option( 'parent_selection_kT', 'Real', default='0.2' ),
5354  Option( 'sim_replace_obj', 'String', default='goap' ),
5355  Option( 'ulr_mulfactor', 'Real', default='1.8' ),
5356  Option( 'filter_up_to_maxlib', 'Boolean', default='false' ),
5357  Option( 'minimize_after_nmsearch', 'Boolean', default='false' ),
5358 
5359  Option_Group( 'fragpdb',
5360  Option( 'out_path', 'String', default = '', desc='Path where pdbs are saved' ),
5361  Option( 'indexoffset', 'IntegerVector', desc='list of index offset pairs' , default = ['-1']),
5362  Option( 'bin', 'StringVector', desc='list of bin keys', default = 'utility::vector1<std::string>()' ),
5363  ), # -lh:fragpdb
5364  Option_Group( 'symfragrm',
5365  Option( 'pdblist', 'FileVector', desc='list of pdbs to be processed' ),
5366  ), # -lh:symfragrm
5367  ), # -lh
5368 
5369  Option_Group( 'loopfcst',
5370  Option( 'coord_cst_weight', 'Real', desc='use coord constraints for template', default='0.0' ),
5371  Option( 'coord_cst_all_atom', 'Boolean', desc='use coord constraints on all atoms and not just CA', default='false' ),
5372  Option( 'use_general_protocol', 'Boolean', desc='use the new machinery around classes KinematicXXX', default='false' ),
5373  Option( 'coord_cst_weight_array', 'File', desc='use these weights (per seqpos) for coord cst in rigid regions', default='' ),
5374  Option( 'dump_coord_cst_weight_array', 'File', desc='dump these weights (per seqpos) for coord cst in rigid regions', default='' ),
5375  ), # -loopfcst
5376 
5377  Option_Group( 'LoopModel',
5378  Option( 'input_pdb','File', desc='input pdb file', default='LoopModel::input_pdb' ),
5379 # Option( 'loop_file','File', desc='input loops list file', default='LoopModel::loop_file' ),
5380  ), # -LoopModel
5381 
5382  ## Make Rot Lib Options ##
5383  Option_Group( 'make_rot_lib',
5384  Option( 'options_file', 'File', desc='path to make rot lib options file' ),
5385  Option( 'two_fold_symmetry_135_315', 'IntegerVector', desc='the chi number at which to apply two fold symmetry across the 135/315 axis' ),
5386  Option( 'two_fold_symmetry_0_180' , 'IntegerVector', desc='the chi number at which to apply two fold symmetry across the 0/180 axis' ),
5387  Option( 'three_fold_symmetry_90_210_330' , 'IntegerVector', desc='the chi number at which to apply two fold symmetry across the 0/180 axis' ),
5388  Option( 'use_terminal_residues' , 'Boolean', desc='Use separate ACE and NME residues as terminal capping groups, rather than patches', default='false' ),
5389  Option( 'k_medoids' , 'Boolean', desc='Use k-medoids instead of k-means clustering', default='false' ),
5390  ), # -make_rot_lib
5391 
5392  Option_Group( 'match',
5393  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)" ),
5394  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' ),
5395  Option( 'active_site_definition_by_residue', 'File', desc='File describing the active site of the scaffold as a set of resid/radius pairs' ),
5396  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++' ),
5397  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.' ),
5398  Option( 'grid_boundary', 'File', desc='File describing the volume in space in which the third orientation atom must lie', default = ''),
5399  Option( 'geometric_constraint_file', 'File', desc='File describing the geometry of the downstream object relative to the upstream object' ),
5400  Option( 'scaffold_active_site_residues', 'File', desc="File with the residue indices on the scaffold that should be \
5401  considered as potential launch points for the scaffold's active site. File format described in MatcherTask.cc \
5402  in the details section of the initialize_scaffold_active_site_residue_list_from_command_line() method.", default = ''),
5403  Option( 'scaffold_active_site_residues_for_geomcsts', 'File', desc="File which lists the residue indices on the \
5404  scaffold to consider as potential launch points for the scaffold's active site for each geometric constraint; \
5405  each constraint may have a separate set of residue ids. File format described in MatcherTask.cc in the details \
5406  section of the initialize_scaffold_active_site_residue_list_from_command_line() method.", default = ''),
5407  Option( 'euclid_bin_size', 'Real', desc='The bin width for the 3-dimensional coordinate hasher, in Angstroms', default = '1.0'),
5408  Option( 'euler_bin_size', 'Real', desc='The bin width for the euler angle hasher, in degrees', default = '10.0'),
5409  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'),
5410  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'),
5411  Option( 'orientation_atoms', 'StringVector', desc="The three atoms, by name, on the downstream partner \
5412  to use to describe its 6 dimensional coordinate; its position and orientation. \
5413  Only usable when the downstream partner is a single residue. Exactly 3 atom names must be given. \
5414  If these atoms are unspecified, the matcher will use the residues neighbor atom and two atoms \
5415  bonded to the neighbor atom to define the orientation. The euclidean coordinate of the third \
5416  orientation atom is used as the first the dimensions of the downstream residues 6D coordinate; the \
5417  other three dimensions are the three euler angles described by creating a coordinate frame at orientation \
5418  atom 3, with the z axis along the vector from orientation atom 2 to orientation atom 3, and the y axis \
5419  lying in the plane with orientation atoms 1,2&3."),
5420  Option( 'output_format', 'String', desc='The format in which the matches are output', default = 'CloudPDB', legal = [ 'PDB', 'KinWriter', 'CloudPDB' ] ),
5421  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' ] ),
5422  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' ),
5423  Option( 'output_matchres_only', 'Boolean', desc='Whether to output the matched residues only or the whole pose for every match', default = 'false'),
5424  Option( 'geom_csts_downstream_output', 'IntegerVector', desc='For which of the geometric constraints the downstream residue/ligand will be output', default = ['1']),
5425  Option( 'filter_colliding_upstream_residues', 'Boolean', desc='Filter the output matches if the hits induce a collision between the upstream residues', default = 'true' ),
5426  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' ),
5427  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' ),
5428  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' ),
5429  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' ),
5430  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' ),
5431  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' ),
5432  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' ),
5433  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' ),
5434  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' ),
5435  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' ),
5436  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' ),
5437 
5438  Option( 'define_match_by_single_downstream_positioning', 'Boolean', desc="Enumerate combinations of matches where a \
5439  single positioning of the downstream partner as well as the conformations of the upstream residues defines the \
5440  match; it is significantly faster to enumerate unique matches when they are defined this way instead of enumerating the \
5441  (combinatorially many) matches when a match is defined by n-geometric-constraint locations of the downstream partner. \
5442  This faster technique for outputting matches is automatically chosen when the flag -match::output_format is PDB." ),
5443  Option( 'ligand_rotamer_index', 'Integer', desc="Match with a particular conformation of the ligand; the index \
5444  represents which conformation in the multi-model .pdb file specified in the ligand's .params file by the \
5445  PDB_ROTAMERS field. The index of the first conformation in that file is 1; valid indices range from 1 to \
5446  the number of entries in the multi-model .pdb file. If this command-line flag is not used, then the conformation \
5447  of the ligand described by the ICOOR_INTERNAL lines of the ligand's .params file is used instead." ),
5448  Option( 'enumerate_ligand_rotamers', 'Boolean', desc="Match with all ligand rotamers specified in the multi-model \
5449  .pdb file specified in the ligand's .params file by the PDB_ROTAMERS field. This flag may not be used in \
5450  combination with the match::ligand_rotamer_index flag. Geometry of the ligand rotamers in the .pdb file will \
5451  be idealized to the .params file bond angles and lengths.", default = 'true' ),
5452  Option( 'only_enumerate_non_match_redundant_ligand_rotamers', 'Boolean', desc="Only defined if enumerate_ligand_rotamers is true \
5453  this option causes the matcher to determine which rotamers in the ligand rotamer library are redundant in terms of matching, \
5454  meaning the atoms they're matched through are superimposable. after having subdivided the ligand rotamer library into match-redundant \
5455  subgroups, the matcher will then only place the first nonclashing rotamer from each subgroup. ", default = 'true' ),
5456  Option( 'dynamic_grid_refinement', 'Boolean', desc="When too many hits land in the same 'connected component', requiring the \
5457  enumeration of twoo many matches, refine the grid size to be smaller so that fewer matches have to be enumerated. \
5458  This process works on individual connected components and is not applied to all regions of 6D. This is significantly \
5459  more efficient than enumerating all matches, while allowing the grid size to remain large and the rotamer and external \
5460  geometry to remain dense. (*A connected component refers to " ),
5461  Option( 'build_round1_hits_twice', 'Boolean', desc="Memory saving strategy that avoids paying for the storage of all the round-1 hits \
5462  and instead records only what 6D voxels those hits fall in to. Then the second round of matching proceeds storing only the hits that \
5463  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 \
5464  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 \
5465  classic match algorithm (and must not use secondary matching).", default='false' ),
5466  ), # -match
5467 
5468  Option_Group( 'matdes',
5469  Option('num_subs_building_block', 'Integer', desc='The number of subunits in the oligomeric building block', default='1'),
5470  Option('num_subs_total', 'Integer', desc='The number of subunits in the target assembly', default='1'),
5471  Option('pdbID', 'String', desc='The PDB ID', default='0xxx'),
5472  Option('prefix', 'String', desc='Prefix appended to output PDB files. Perhaps useful to describe the architecture, e.g., 532_3_...', default='pre_'),
5473  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'),
5474  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'),
5475  Option('tag', 'String', desc='Four digit ID tag attached to a design model during design'),
5476  Option_Group( 'dock',
5477  Option('neg_r', 'Real', desc='Specify whether radial displacement is positive or negative. 1 for negative, 0 for positive.', default='0'),
5478  Option('dump_pdb', 'Boolean', desc='Dump a pdb of a particular docked configuration', default='false'),
5479  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'),
5480  ), # -matdes:dock
5481 
5482  Option_Group( 'design',
5483  Option('contact_dist', 'Real', desc='CA-CA distance for defining interface residues', default='10.0'),
5484  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'),
5485  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'),
5486  Option('grid_nsamp_angle' , 'Integer', desc='The number of samples the rigid body grid is divided into in angle space', default='9'),
5487  Option('grid_nsamp_radius', 'Integer', desc='The number of samples the rigid body grid is divided into in radius space', default='9'),
5488  Option('fav_nat_bonus', 'Real', desc='Bonus to be awarded to native residues', default='0.0'),
5489  ), # -matdes:design
5490 
5491  Option_Group( 'mutalyze',
5492  Option('calc_rot_boltz', 'Boolean', desc='Specify whether to calculate RotamerBoltzmann probabilities or not', default='0'),
5493  Option('ala_scan', 'Boolean', desc='Specify whether to calculate ddGs for alanine-scanning mutants at the designed interface', default='1'),
5494  Option('revert_scan', 'Boolean', desc='Specify whether to calculate ddGs for reversion mutants at the designed interface', default='1'),
5495  Option('min_rb', 'Boolean', desc='Specify whether to minimize the rigid body DOFs', default='1'),
5496  ), # -matdes:mutalyze
5497 
5498  ), # -matdes
5499 
5500  Option_Group( 'mc',
5501  Option( 'log_scores_in_MC', 'Boolean', desc="Score each decoy during a simulation and output it to log; slows down run!", default="false" ),
5502  Option( 'hierarchical_pool', 'String', desc='specify prefix in order to look for hierarchical pool' ),
5503  Option( 'read_structures_into_pool', 'File', desc='specify the silent-structs to create a hierarchy for lazy users'),
5504  Option( 'convergence_check_frequency', 'Integer', desc='how often check for convergences in MC object?', default = '100' ),
5505  Option( 'known_structures', 'File',
5506  desc='specify a filename of a silent-file containing known structures',
5507  default='known_structs.in'
5508  ), ##using this option will cause that tag of nearest structure to sampled decoys is reported
5509  Option( 'max_rmsd_against_known_structures', 'Real', desc='stop sampling if rmsd to a known-structure is lower than X',default='1.5' ),
5510  Option( 'excluded_residues_from_rmsd', 'IntegerVector', desc='residues that are not used for RMSD computation in pool' ),
5511  Option( 'heat_convergence_check', 'Integer',
5512  desc ="jump out of current abinitio run if X unsuccesful mc-trials reached", default='0'),
5513  ), # -mc
5514 
5515 
5516  Option_Group( 'mh', # sheffler willsheffler@gmail.com
5517  Option( 'motif_out_file' , 'String' , desc="file to dump ResPairMotifs to" , default="motifs" ),
5518  Option( 'harvest_motifs' , 'FileVector' , desc="files to harvest ResPairMotifs from" , default="SPECIFY_ME_DUMMY" ),
5519  Option( 'print_motifs' , 'FileVector' , desc="files to print ResPairMotifs from" , default="SPECIFY_ME_DUMMY" ),
5520  Option( 'remove_duplicates' , 'FileVector' , desc="files to remove dup ResPairMotifs from" , default="SPECIFY_ME_DUMMY" ),
5521  Option( 'dump_motif_pdbs' , 'FileVector' , desc="files to extract ResPairMotifs clusters from" , default="SPECIFY_ME_DUMMY" ),
5522  Option( 'merge_motifs' , 'FileVector' , desc="files to merge ResPairMotifs from" , default="SPECIFY_ME_DUMMY" ),
5523  Option( 'merge_scores' , 'FileVector' , desc="files to merge scores from" , default="SPECIFY_ME_DUMMY" ),
5524  Option( 'merge_motifs_one_per_bin' , 'Boolean' , desc="keep only one motif per hash bin (for sepcified grid)" , default="false" ),
5525  Option( 'gen_reverse_motifs_on_load' , 'Boolean' , desc="" , default="false" ),
5526  Option( 'dump_input_pdb' , 'FileVector' , desc="files to dump biount interpretation from" , default="SPECIFY_ME_DUMMY" ),
5527  Option( 'score_pdbs' , 'FileVector' , desc="files to score with input counts file" , default="SPECIFY_ME_DUMMY" ),
5528  Option( 'sequence_recovery' , 'FileVector' , desc="pdb files to score" , default="SPECIFY_ME_DUMMY" ),
5529  Option( 'explicit_motif_score' , 'FileVector' , desc="pdb files to score" , default="SPECIFY_ME_DUMMY" ),
5530  Option( 'harvest_scores' , 'FileVector' , desc="get counts from ResPairMotif files and dump to binary counts file" , default="" ),
5531  Option( 'print_scores' , 'File' , desc="print a binary counts file" , default="" ),
5532  Option( 'dump_matching_motifs' , 'FileVector' , desc="pdb files to score" , default="SPECIFY_ME_DUMMY" ),
5533  Option( 'score_across_chains_only' , 'Boolean' , desc="ignore intra-chain motifs" , default= 'false' ),
5534  Option( 'normalize_score_ncontact' , 'Boolean' , desc="normalize by total num contacts" , default= 'true' ),
5535  # Option( 'hash_cart_size' , 'Real' , desc="dimensions of binned space" , default= '12.0' ),
5536  Option( 'harvest_motifs_min_hh_ends' , 'Integer' , desc="restrict to middle of hilix contacts " , default= '0' ),
5537  Option( 'ignore_io_errors' , 'Boolean' , desc=" " , default= 'false' ),
5538  Option( 'motif_match_radius' , 'Real' , desc="width of euler angle bin" , default= '9e9' ),
5539  Option( 'merge_similar_motifs' , 'RealVector' , desc="give 3 hash params" ),
5540  Option_Group('score',
5541  Option('background_weight' ,'Real' , desc="weight on cb contacts, kinda" , default= '0.0' ),
5542  Option('ca_cb_clash_weight' ,'Real' , desc="weight on cb clashes, kinda" , default= '1.0' ),
5543  Option('noloops' ,'Boolean' , desc="ignore loop ss in scored structs" , default= 'false' ),
5544  Option('nosheets' ,'Boolean' , desc="ignore strand ss in scored structs" , default= 'false' ),
5545  Option('nohelix' ,'Boolean' , desc="ignore helix ss in scored structs" , default= 'false' ),
5546  Option('spread_ss_element' ,'Boolean' , desc="" , default= 'false' ),
5547  Option('min_cover_fraction' ,'Real' , desc="" , default= '0.0' ),
5548  Option('strand_pair_weight' ,'Real' , desc="" , default= '1.0' ),
5549  Option('anti_polar_weight' ,'Real' , desc="" , default= '1.0' ),
5550  Option('min_contact_pairs' ,'Real' , desc="" , default= '1.0' ),
5551  Option('max_contact_pairs' ,'Real' , desc="" , default= '9e9' ),
5552  Option('max_cb_dis' ,'Real' , desc="" , default= '9.0' ),
5553  Option('coverage_pow' ,'Real' , desc="" , default= '0.0' ),
5554  Option('use_ss1' ,'Boolean' , desc="" , default= 'true' ),
5555  Option('use_ss2' ,'Boolean' , desc="" , default= 'true' ),
5556  Option('use_aa1' ,'Boolean' , desc="" , default= 'false' ),
5557  Option('use_aa2' ,'Boolean' , desc="" , default= 'false' ),
5558  Option('use_log' ,'Boolean' , desc="" , default= 'true' ),
5559  ),
5560  Option_Group('path',
5561  Option( 'biounit' ,'StringVector' , desc="path to search for biounits in the ab/1abc.pdb1.gz format" , default="utility::vector1<std::string>()" ),
5562  Option( 'biounit_ideal' ,'StringVector' , desc="idealized biounit coords, missing PDBInfo metadatab" , default="utility::vector1<std::string>()" ),
5563  Option( 'pdb' ,'StringVector' , desc="path to search for pdbs in the ab/1abc.pdb.gz format" , default="utility::vector1<std::string>()" ),
5564  Option( 'motifs' , 'StringVector' , desc="concrete motifs in .rpm.bin.gz format" , default="utility::vector1<std::string>()" ),
5565  Option( 'motifs_SC_SC' , 'StringVector' , desc="concrete SC_SC motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5566  Option( 'motifs_SC_BB' , 'StringVector' , desc="concrete SC_BB motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5567  Option( 'motifs_BB_BB' , 'StringVector' , desc="concrete BB_BB motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5568  Option( 'motifs_BB_PH' , 'StringVector' , desc="concrete BB_PH motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5569  Option( 'motifs_BB_PO' , 'StringVector' , desc="concrete BB_PO motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5570  Option( 'motifs_PH_PO' , 'StringVector' , desc="concrete PH_PO motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5571  Option( 'scores' , 'StringVector' , desc="motif hash data for scoring, mixed, may not use" ),
5572  Option( 'scores_SC_SC' , 'StringVector' , desc="motif hash data for scoring SC_SC" ),
5573  Option( 'scores_SC_BB' , 'StringVector' , desc="motif hash data for scoring SC_BB" ),
5574  Option( 'scores_BB_BB' , 'StringVector' , desc="motif hash data for scoring" ),
5575  Option( 'scores_BB_PH' , 'StringVector' , desc="motif hash data for scoring BB_PH" ),
5576  Option( 'scores_BB_PO' , 'StringVector' , desc="motif hash data for scoring BB_PO" ),
5577  Option( 'scores_PH_PO' , 'StringVector' , desc="motif hash data for scoring strand pairings" ),
5578  Option( 'scores_frags' , 'StringVector' , desc="motif hash data for scoring strand pairings" ),
5579  ),
5580  Option_Group('harvest',
5581  Option('hash_cart_resl' ,'Real' , desc="width of cartesian bin" , default= '0.8' ),
5582  Option('hash_angle_resl' ,'Real' , desc="width of euler angle bin" , default= '15.0' ),
5583  Option('smoothing_factor' ,'Real' , desc="smoothing radius exp(-d/resl**2 * factor)" , default= '1.0' ),
5584  Option('idealize' ,'Boolean' , desc="" , default= 'false' ),
5585  Option('dump' ,'Boolean' , desc="" , default= 'false' ),
5586  Option('min_bin_val' ,'Real' , desc="" , default='0.0' ),
5587  Option('sep_aa' ,'Boolean' , desc="" , default= 'false' ),
5588  Option('sep_aa1' ,'Boolean' , desc="" , default= 'false' ),
5589  Option('sep_aa2' ,'Boolean' , desc="" , default= 'false' ),
5590  Option('sep_ss' ,'Boolean' , desc="" , default= 'false' ),
5591  Option('sep_dssp' ,'Boolean' , desc="" , default= 'false' ),
5592  Option('sep_lj' ,'RealVector' , desc="" , default= 'utility::vector1<double>()' ),
5593  Option('sep_hb' ,'RealVector' , desc="" , default= 'utility::vector1<double>()' ),
5594  Option('sep_nbrs' ,'RealVector' , desc="" , default= 'utility::vector1<double>()' ),
5595  Option('sep_bfac' ,'RealVector' , desc="" , default= 'utility::vector1<double>()' ),
5596  Option('sep_dist' ,'RealVector' , desc="" , default= 'utility::vector1<double>()' ),
5597  Option('weight_by_energy' ,'Boolean' , desc="" , default= 'true' ),
5598  Option('max_rmsd' ,'Real' , desc="skip structure if refined rms to input is higher than this" , default='0.5' ),
5599  Option('max_res' ,'Integer' , desc="max res in biounit (or whatever) for harvest" , default="1000" ),
5600  Option('agg_with_max' ,'Boolean' , desc="" , default= 'false' ),
5601  Option('multiplier' ,'Real' , desc="" , default= '1.0' ),
5602 
5603  ),
5604  Option_Group('match',
5605  Option('interface_only' ,'Boolean' , desc="" , default= 'true' ),
5606  Option('ss' ,'Boolean' , desc="" , default= 'true' ),
5607  Option('ss1' ,'Boolean' , desc="" , default= 'true' ),
5608  Option('ss2' ,'Boolean' , desc="" , default= 'true' ),
5609  Option('aa' ,'Boolean' , desc="" , default= 'false' ),
5610  Option('aa1' ,'Boolean' , desc="" , default= 'false' ),
5611  Option('aa2' ,'Boolean' , desc="" , default= 'false' ),
5612  ),
5613  Option_Group('dump',
5614  Option('limit_per_pair' ,'Integer' , desc="" , default= '999999' ),
5615  Option('max_per_res' ,'Integer' , desc="" , default= '30' ),
5616  Option('max_ca_dis' ,'Real' , desc="" , default= '12.0' ),
5617  Option('max_rms' ,'Real' , desc="" , default= '0.5' ),
5618  Option('resfile_min_pair_score' ,'Real' , desc="" , default= '0.00' ),
5619  Option('resfile_min_tot_score' ,'Real' , desc="" , default= '0.00' ),
5620  Option('resfile_dump' ,'Boolean' , desc="" , default= 'false' ),
5621  Option('symmetric_motifs' ,'Boolean' , desc="" , default= 'false' ),
5622  ),
5623  Option_Group('filter',
5624  Option('filter_harvest' ,'Boolean' , desc="filter while harvesting" , default= 'false' ),
5625  Option('filter_io' ,'Boolean' , desc="filter while reading filter" , default= 'true' ),
5626  Option('pdb' ,'String' , desc="4/5 letter pdb code" ),
5627  Option('lig' ,'String' , desc="3 letter lig code" ),
5628  Option('motif_type' ,'String' , desc="bb pb sc pp" ),
5629  Option('restype1' ,'String' , desc="allowed res types for res1" , default='ACDEFGHIKLMNPQRSTVWY' ),
5630  Option('restype2' ,'String' , desc="allowed res types for res2" , default='ACDEFGHIKLMNPQRSTVWY' ),
5631  Option('restype' ,'String' , desc="allowed res types" , default='ACDEFGHIKLMNPQRSTVWY' ),
5632  Option('restype_one' ,'String' , desc="allowed res types need at least one" , default='ACDEFGHIKLMNPQRSTVWY' ),
5633  Option('not_restype' ,'String' , desc="disallowed res types" , default='ACGP' ),
5634  Option('not_restype_one' ,'String' , desc="disallowed res types at least one not" , default='ACGP' ),
5635  Option('seqsep' ,'Integer' , desc="min filter seqsep" , default= '0' ),
5636  Option('max_seqsep' ,'Integer' , desc="min filter seqsep" , default= '99999' ),
5637  Option('no_hb_bb' ,'Boolean' , desc="no bb hbonded" , default= 'false' ),
5638  Option('mindist2' ,'Real' , desc="min CA-CA dist sq" , default= '0.0' ),
5639  Option('maxdist2' ,'Real' , desc="max CA-CA dist sq" , default= '999999.0' ),
5640  Option('ss1' ,'String' , desc="filter ss1" , default= '' ),
5641  Option('ss2' ,'String' , desc="filter ss2" , default= '' ),
5642  Option('dssp1' ,'String' , desc="filter dssp1" , default= '' ),
5643  Option('dssp2' ,'String' , desc="filter dssp2" , default= '' ),
5644  Option('aa1' ,'String' , desc="filter aa1" , default= '' ),
5645  Option('aa2' ,'String' , desc="filter aa2" , default= '' ),
5646  Option('sasa' ,'Real' , desc="filter max sasa" , default= '999.0' ),
5647  # Option('avge_cut' ,'Real' , desc="filter max total rosetta E cut (default 999.0 = no filtering" , default= '999.0' ),
5648  Option('faatr' ,'Real' , desc="filter max faatr (default 999.0 = no filtering" , default= '999.0' ),
5649  Option('hb_sc' ,'Real' , desc="filter max hb_sc (default 999.0 = no filtering" , default= '999.0' ),
5650  Option('hb_bb_sc' ,'Real' , desc="filter max hb_bb_sc (default 999.0 = no filtering" , default= '999.0' ),
5651  Option('hb_bb' ,'Real' , desc="filter max hb_bb (default 999.0 = no filtering" , default= '999.0' ),
5652  Option('occupancy' ,'Real' , desc="filter min occupancy (default 0.0 = no filtering" , default= '0.0' ),
5653  Option('coorderr' ,'Real' , desc="filter max bfac coorderr = sqrt(B/8*pi**2)) (default 999.0 = no filtering" , default= '999.0' ),
5654  Option('uniformfrag' ,'Boolean' , desc="is frag and all same ss in frag" , default= 'false' ),
5655  Option('faatr_or_hbbb' ,'Real' , desc="filter require atr or hb (bb allowed) below thresh" , default= '999.0' ),
5656  Option('faatr_or_hb' ,'Real' , desc="filter require atr or hb below thresh" , default= '999.0' ),
5657  Option('noloops' ,'Boolean' , desc="" , default= 'false' ),
5658  Option('oneloop' ,'Boolean' , desc="" , default= 'false' ),
5659  Option('nodisulf' ,'Boolean' , desc="" , default= 'false' ),
5660  Option('score' ,'Real' , desc="filter on ResPairMotir::score()" , default= '999.0' ),
5661  ),
5662  ),
5663 
5664 
5665  # options for motif protocol stuff
5666  Option_Group( 'magnesium',
5667  Option( 'scan', 'Boolean', desc="default mode: scan Mg(2+) through PDB", default='true' ),
5668  Option( 'mg_res', 'IntegerVector', desc="supply PDB residue numbers of Mg(2+) to look at [leave blank to scan a new Mg(2+)]", default='' ),
5669  Option( 'minimize_during_scoring', 'Boolean', desc="minimize mg(2+) during scoring/hydration of each position", default='true' ),
5670  Option( 'ligand_res', 'ResidueChainVector', desc="in scan, look at positions near these residues (PDB numbering/chains)", default='' ),
5671  Option( 'pose_ligand_res', 'IntegerVector', desc="in scan, look at positions near these residues, pose numbering (1,2,..)", default='' ),
5672  Option( 'lores_scan', 'Boolean', desc="do not try hydration or minimization during scan", default='false' ),
5673  Option( 'xyz_step', 'Real', desc="increment in Angstroms for xyz scan", default='0.50' ),
5674  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 */
5675  Option( 'score_cut_PDB', 'Real', desc="score cut for PDB output from scanning (deprecated)", default='0.0' ),
5676  Option( 'integration_test', 'Boolean', desc="Stop after first mg position found -- for testing", default='false' ),
5677  Option( 'tether_to_closest_res', 'Boolean', desc="stay near closest ligand res; helps force unique grid sampling in different cluster jobs.", default='false' ),
5678  Option( 'fixup', 'Boolean', desc="test mode: align the 6 octahedral virtual 'orbitals' for specified mg_res", default='false' ),
5679  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' ),
5680  Option( 'hydrate', 'Boolean', desc="test mode: strip out waters and hydrate mg(2+) for specified mg_res", default='false' ),
5681  Option( 'monte_carlo', 'Boolean', desc="test mode: monte carlo sampling of Mg(2+) and surrounding waters", default='false' ),
5682  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' ),
5683  Option( 'all_hydration_frames', 'Boolean', desc="in -hydration test mode, Sample all hydration frames (slow)", default='false' ),
5684  Option( 'leave_other_waters', 'Boolean', desc="in -hydration test mode, do not remove all waters", default='false' ),
5685  Option( 'minimize', 'Boolean', desc="minimize Mg(2+) after hydration or hydrogen-packing", default='false' ),
5686  Option( 'minimize_mg_coord_constraint_distance', 'Real', desc="harmonic tether to Mg(2+) during minimize", default='0.2' ),
5687 
5688  Option_Group('montecarlo',
5689  Option( 'temperature', 'Real', desc="temperature for Monte Carlo", default='1.0' ),
5690  Option( 'cycles', 'Integer', desc="Monte Carlo cycles", default='100000' ),
5691  Option( 'dump', 'Boolean', desc="dump PDBs from Mg monte carlo", default='false' ),
5692  Option( 'add_delete_frequency', 'Real', desc="add_delete_frequency for Monte Carlo", default='0.1' ),
5693  ) # monte_carlo
5694  ), # magnesium
5695 
5696  # options for motif protocol stuff
5697  Option_Group( 'motifs',
5698  Option( 'close_enough', 'Real', default = '1.0', desc='4-atom rmsd cutoff beyond which you don\'t bother trying an inverse rotamer' ),
5699  Option( 'max_depth', 'Integer', default = '1', desc='Maximum recursion depth - i.e., maximum number of motifs to incorporate' ),
5700  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)" ),
5701  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'),
5702  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'),
5703  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'),
5704  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'),
5705  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'),
5706  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'),
5707  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'),
5708  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'),
5709  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'),
5710  Option( 'duplicate_dist_cutoff', 'Real', default = '1.0', desc = 'Value for determining whether a motif is different from others already in a library'),
5711  Option( 'duplicate_angle_cutoff', 'Real', default = '0.4', desc = 'Value for determining whether a motif is different from others already in a library'),
5712  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'),
5713  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" ),
5714  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'),
5715  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" ),
5716  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" ),
5717  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" ),
5718  Option( 'list_motifs', 'FileVector', desc="File(s) containing list(s) of PDB files to process" ),
5719  Option( 'motif_filename', 'String', desc="File containing motifs" ),
5720  Option( 'file_prefix', 'String', default = 'motif', desc="File containing motifs" ),
5721  Option( 'build_residue_file', 'String', desc="File containing the target positions for building and incorporating motifs" ),
5722  Option( 'motif_flexible_loop_file', 'String', desc="File containing the flexible loop definition" ),
5723  Option( 'residue_trim_file', 'String', desc="File a list of residues to trim to Ala before motif incorporation." ),
5724  Option( 'BPData', 'String', desc="File containing BuildPosition specific motifs and/or rotamers" ),
5725  Option( 'list_dnaconformers', 'FileVector', desc="File(s) containing list(s) of PDB files to process" ),
5726  Option( 'target_dna_defs', 'StringVector', default = '""', desc = ''),
5727  Option( 'motif_build_defs', 'StringVector', default = '""', desc = ''),
5728 # Option( 'motif_build_position_chain', 'String', default = '""', desc = ''),
5729  Option( 'motif_build_positions', 'IntegerVector', desc = ''),
5730  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'),
5731  Option( 'r2', 'Real', default = '1.1', lower = '0', desc = 'RMSD cutoff between motif anchor position and motif target position for accepting the motif'),
5732  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'),
5733  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'),
5734  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'),
5735  Option( 'rotlevel', 'Integer', default = '5', lower = '1', desc = 'level of rotamer sampling for motif search'),
5736  Option( 'num_repacks', 'Integer', default = '5', lower = '0', desc = 'number of cycles of dropping special_rot weight and design'),
5737  Option( 'minimize', 'Boolean', default = 'true', desc = 'whether or not to minimize the motifs toward the xtal structure DNA'),
5738  Option( 'minimize_dna', 'Boolean', default = 'true', desc = 'whether or not to minimize DNA after every round of design with special_rot weight dropping'),
5739  Option( 'run_motifs', 'Boolean', default = 'true', desc = 'whether or not to use motifs in DnaPackerMotif'),
5740  Option( 'expand_motifs', 'Boolean', default = 'true', desc = 'whether or not to use expand (use all types) motifs in DnaPackerMotif'),
5741  Option( 'aromatic_motifs', 'Boolean', default = 'true', desc = 'whether or not to use expand (use aromatic only types) motifs in DnaPackerMotif'),
5742  Option( 'dump_motifs', 'Boolean', default = 'true', desc = 'whether or not to output pdbs with the best rotamer/conformer for each motifs'),
5743  Option( 'quick_and_dirty', 'Boolean', default = 'true', desc = 'quick motif run to get a list of all possible motifs before doing a real run'),
5744  Option( 'special_rotweight', 'Real', default = '-40.0', desc = 'starting weight for the weight on motif rotamers'),
5745  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'),
5746  Option( 'data_file', 'String', desc = 'name of output file for any data about how many rotamers and motifs pass what tests, etc'),
5747  Option( 'target_aa', 'String', default = 'LEU', desc = 'three letter code for the target amino acid for finding motifs'),
5748 # 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'),
5749  Option( 'flex_sugar', 'Boolean', default = 'true', desc = 'whether or not to add the flexible sugar, not using PB way of adding options'),
5750  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'),
5751  Option( 'rots2add', 'Integer', default = '100', lower = '1', desc = 'number of rotamers to add to design from the MotifSearch for each amino acid type'),
5752  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'),
5753  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'),
5754  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'),
5755  Option('ligand_motif_sphere','Real', default = '6.0',
5756  desc="option to specify radius of motif search around ligand"),
5757  ), # -motifs
5758 
5759  Option_Group( 'ms' , # multistate_design
5760 # Option( 'share_data', 'Boolean', desc='share rotamers and energies between states -- valid only if state variability is defined rotamerically', default='false' ),
5761 # Option( 'verbose', 'Boolean', desc='', default='false' ),
5762 # Option( 'restrict_to_canonical', 'Boolean', desc='design only canonical residue types', default='false' ),
5763  Option( 'pop_from_ss', 'Integer', desc='generate starting sequence population based on single-state design results', default='0' ),
5764  Option( 'pop_size', 'Integer', desc='genetic algorithm population size', default='100' ),
5765  Option( 'generations', 'Integer', desc='number of genetic algorithm generations', default='20' ),
5766  Option( 'num_packs', 'Integer', desc='number of repack trials per sequence/state combination', default='1' ),
5767  Option( 'numresults', 'Integer', desc='number of top-fitness results to save for explicit reference at the end of multistate design', default='1' ),
5768  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' ),
5769  Option( 'Boltz_temp', 'Real', desc='thermodynamic temperature to use for specificity calculations', default='0.6' ),
5770  Option( 'mutate_rate', 'Real', desc='rate of mutation per position', default='0.5' ),
5771  Option( 'fraction_by_recombination', 'Real', desc='fraction of the population that should be generated by recombination during the evolution stage', default='0.5' ),
5772  Option_Group( 'checkpoint',
5773  Option( 'prefix', 'String', desc='prefix to add to the beginning of checkpoint file names', default='' ),
5774  Option( 'interval', 'Integer', desc='frequency with which the entity checkpoint is written', default='0' ),
5775  Option( 'gz', 'Boolean', desc='compress checkpoing files with gzip', default='false' ),
5776  Option( 'rename', 'Boolean', desc='rename checkpoint files after genetic algorithm completes', default='false' ),
5777  ), # -ms:checkpoint
5778  ), # -ms:
5779 
5780  # NonlocalAbinitio
5781  Option_Group('nonlocal',
5782 # Option('builder', 'String', desc = 'One of {simple, star}. Specifies how non-local abinitio should construct the fold tree', default = 'star'),
5783  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.'),
5784 # 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'),
5785  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'),
5786 # Option('rdc_weight', 'Real', desc = 'Weight for the rdc energy term in nonlocal abinitio protocol', default = '5'),
5787  ), # -nonlocal
5788 
5789  Option_Group( 'optE',
5790  Option( 'optE', 'Boolean', desc="optE option group", legal='true', default='true' ),
5791  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' ),
5792  Option( 'data_in', 'String', default='optE.data', desc='file from which to read in optE data' ),
5793  Option( 'data_out', 'String', default='optE.data.out', desc='file to which to write optE data' ),
5794  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.' ),
5795  Option( 'fix', 'StringVector', desc='weights to be fixed (must also appear in the weightfile given by the -optE::weights option)' ),
5796  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'),
5797  Option( 'fixed', 'File', desc='IterativeOptEDriver flag: specify a file to read score types and weights for score types that are on but fixed'),
5798  Option( 'parse_tagfile', 'File', desc='a file in utility::tag format that optE may parse to customize its operation'),
5799  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'),
5800  Option( 'optE_soft_rep', 'Boolean', desc='Instruct the IterativeOptEDriver to use the soft-repulsion etable' ),
5801  Option( 'no_hb_env_dependence', 'Boolean', desc='Disable environmental dependent weighting of hydrogen bond terms'),
5802  Option( 'no_hb_env_dependence_DNA', 'Boolean', desc='Disable environmental dependent weighting of hydrogen bonds involving DNA'),
5803  Option( 'optE_no_protein_fa_elec', 'Boolean', desc='Instruct the IterativeOptEDriver to use the soft-repulsion etable', default='false' ),
5804  Option( 'centroid_rot', 'Boolean', desc='Use CENTROID_ROT vdw radii', default='false' ),
5805  Option( 'centroid_rot_min', 'Boolean', desc='Use CENTROID_ROT_MIN vdw radii', default='false' ),
5806  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.'),
5807  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'),
5808  ##Option( 'recover_nat_aa', 'Boolean', desc='With the iterative optE driver, use design to recover the native amino acids'),
5809  Option( 'recover_nat_rot', 'Boolean', desc='With the iterative optE driver, repack to recover the native rotamers'),
5810  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' ),
5811  Option( 'optimize_nat_aa', 'Boolean', desc='With the iterative optE driver, optimize weights to maximize the probability of the native rotamer'),
5812  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'),
5813  Option( 'optimize_ligand_rot', 'File', desc='With the iterative optE driver, optimize weights to maximize the probability of the native rotamer around the ligand'),
5814  Option( 'optimize_pssm', 'Boolean', desc='With the iterative optE driver, optimize weights to maximize the match between a BLAST generated pssm probabillity distribution'),
5815  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'),
5816  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'),
5817  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'),
5818  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.'),
5819  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.'),
5820  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'),
5821  Option( 'pretend_no_ddG_repulsion','Boolean', desc='With the iterative optE driver, set all repulsive scores to zero when looking for ddG correlations'),
5822  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 >.'),
5823  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"),
5824  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."),
5825  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'),
5826  Option( 'approximate_decoy_entropy', 'Real', desc='Alpha expansion of conformation space size as a function of nres: size ~ alpha ^ nres; entropy ~ nres ln alpha.' ),
5827  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'),
5828  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'),
5829  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'),
5830  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 >.'),
5831  Option( 'no_design', 'Boolean', desc="Don't bother loading pdbs and doing design; just optimize weights for decoy-discrim and or native rotamer recovery"),
5832  Option( 'sqrt_pssm', 'Boolean', desc='Turn the pssm probability vectors into unit vectors so that dot product is a true similarity measure'),
5833  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'),
5834  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'),
5835  Option( 'optimize_starting_free_weights', 'Boolean', desc='With the iterative optE driver, try many different starting points for the minimization', default='false'),
5836  Option( 'wrap_dof_optimization', 'File', desc='Create new dofs and setup arithmetic dependencies for free dofs.' ),
5837  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'),
5838  Option( 'inv_kT_natrot', 'Real', desc='1 / kT for the pNativeRotamer fitness function', default = '1' ),
5839  Option( 'inv_kT_nataa', 'Real', desc='1 / kT for the pNatAA and PSSM fitness function', default = '1' ),
5840  Option( 'inv_kT_natstruct', 'Real', desc='1 / kT for the pNativeStructure fitness function', default = '1' ),
5841  Option( 'mpi_weight_minimization', 'Boolean', desc='Distribute OptEMultifunc func/dfunc evaluations across nodes' ),
5842  Option( 'dont_use_reference_energies', 'Boolean', desc='Do not use reference energies anywhere during the protocol.', default='false' ),
5843  Option( 'number_of_swarm_particles', 'Integer', desc='The number of particles to use during particle swarm weight optimization.', default='100' ),
5844  Option( 'number_of_swarm_cycles', 'Integer', desc='The number of cycles to run the swarm minimizer for.', default='20' ),
5845  Option( 'constrain_weights', 'File', desc='When minimizing the fitness objective function, also include weight constraints in the objective function'),
5846  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'),
5847  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'),
5848  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'),
5849  Option( 'design_with_minpack', 'Boolean', desc='Use the min-packer to design in the sequence recovery stages.', default='false'),
5850  Option( 'limit_bad_scores', 'Boolean', desc='Quit after 100,000 inf or NaN errors in optE objective function'),
5851  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'),
5852  Option_Group( 'rescore',
5853  Option( 'weights', 'File', desc='Weight set to use when rescoring optE partition functions' ),
5854  Option( 'context_round', 'Integer', desc='Integer of the context PDBs generated during design to use to measure the pNatAA'),
5855  Option( 'outlog', 'File', desc='File to which the OptEPosition data should be written'),
5856  Option( 'measure_sequence_recovery', 'Boolean', desc='When rescoring a weight set, run design with that weight set and measure the sequence recovery.', default='false' ),
5857  ), # -optE:rescore
5858  ), # -optE
5859 
5860  # packstat measure settings -----------------------------------------------------------
5861  Option_Group( 'packstat',
5862  Option( 'include_water', 'Boolean',desc="Revert to old style etables", default="false" ),
5863  Option( 'oversample', "Integer", desc="Precision of SASA measurements", default='0' ),
5864  Option( 'packstat_pdb', "Boolean", desc="Output a pdb with packing visualizations", default='false' ),
5865  Option( 'surface_accessibility', "Boolean", desc="Compute extra cavity burial information", default='false' ),
5866  Option( 'residue_scores', "Boolean", desc="Output the score for each resdiue", default='false' ),
5867  Option( 'cavity_burial_probe_radius', "Real", desc="Radius probe to consider a cavity buried", default='1.4' ),
5868  Option( 'raw_stats', "Boolean", desc="Output the raw stats per-residue (for training, etc...)", default='false'),
5869  Option( 'threads', "Integer", desc="Number of threads to use (0 for no threading)", default='0' ),
5870  Option( 'cluster_min_volume', 'Real', desc='voids smaller than this will not be shown.', default='30'),
5871  Option( 'min_surface_accessibility', 'Real', desc='voids must be at least this exposed', default='-1.0'),
5872  Option( 'min_cluster_overlap', 'Real', desc='void-balls must overlap by this much to be clustered', default='0.1'),
5873  Option( 'min_cav_ball_radius', 'Real', desc='radius of smallest void-ball to consider', default='0.7'),
5874 # Option( 'max_cav_ball_radius', 'Real', desc='radius of largest void-ball to consider', default='3.0'),
5875  ), # -packstat
5876 
5877  ## options for parser
5878  Option_Group( 'parser',
5879  Option( 'protocol', 'String', desc='File name for the xml parser protocol' ),
5880  Option( 'script_vars', 'StringVector', desc='Variable substitutions for xml parser, in the form of name=value' ),
5881  Option( 'view', 'Boolean', desc='Use the viewer?' ),
5882  Option( 'patchdock', 'String', desc='Patchdock output file name.' ),
5883  Option( 'patchdock_random_entry', 'IntegerVector', desc='Pick a random patchdock entry between two entry numbers. inclusive', n='2' ),
5884  ), # -parser
5885 
5886  Option_Group( 'patterson',
5887 # Option( 'debug', 'Boolean', default = 'false'),
5888  Option( 'weight', 'Real', default = '0.0', desc='wt of patterson correlation'),
5889  Option( 'sc_scaling', 'Real', default = '1.0', desc='Scale sidechain density by this amount (default = same as mainchain density)'),
5890  Option( 'radius_cutoffs', 'RealVector', desc='patterson-space radius cuttoffs'),
5891  Option( 'resolution_cutoffs', 'RealVector', desc='reciprocal space F^2 cuttoffs'),
5892  Option( 'Bsol', 'Real', default = '300.0', desc='solvent B'),
5893  Option( 'Fsol', 'Real', default = '0.95', desc='solvent fraction'),
5894  Option( 'model_B', 'Real', default = '0.0', desc='B factor computing patterson CC'),
5895  Option( 'rmsd', 'Real', default = '2.0', desc='Expected RMS error for sigma-A calculation'),
5896  Option( 'no_ecalc', 'Boolean', default = 'false', desc='Do not normalize p_o with ecalc'),
5897  Option( 'nshells', 'Integer', default = '50', desc='Number of resolution shells for patterson normalization'),
5898  Option( 'use_spline_interpolation', 'Boolean', default = 'false', desc='use spline interpolation for derivative evaluation? (default trilinear)'),
5899  Option( 'use_on_repack', 'Boolean', default = 'false', desc='SLOW - use patterson correlation on repacks (default no)'),
5900  Option( 'dont_use_symm_in_pcalc', 'Boolean', default = 'false', desc='perform Pcalc in P1 (default no)'),
5901  ), # -patterson
5902 
5903  Option_Group( 'pb_potential',
5904  Option( 'charged_chains', 'IntegerVector', desc="Chain numbers that carries charge in the PB calculation",default='1' ),
5905  Option( 'sidechain_only', 'Boolean', desc="Only calculate interactions to sidechain.", default="true" ),
5906  Option( 'revamp_near_chain', 'IntegerVector', desc="Scale down PB interactions if near the given chain. Use chain numbers as input." ),
5907  Option( 'apbs_path', 'String', desc="Path to the APBS (Adaptive Poisson-Boltzmann Solver) executable"),
5908  Option( 'potential_cap', 'Real', desc="Cap for PB potential input", default = '20.0' ),
5909  Option( 'epsilon', 'Real', desc="Tolerance in A. When a charged atom moves byond this tolerance, the PDE is resolved.", default='2.0'),
5910  Option( 'apbs_debug', 'Integer', desc="APBS debug level [0-6]", default="2"),
5911  Option( 'calcenergy', 'Boolean', desc="Calculate energy?", default="false"),
5912  ), # -pb_potential
5913 
5914  # Some of the PCS options are migrating into TopologyClaimer framework.
5915  Option_Group( 'PCS',
5916  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'),
5917  Option( 'normalization_id', 'Integer', desc = 'Normalize individual data set. The integer identify the normalization method to be used'),
5918 # Option( 'npc_files_input', 'StringVector', desc = 'A list of pseudocontact shift (PCS) files in the .npc format. One file per lanthanide' ),
5919 # Option( 'pcs_weight', 'Real', desc = 'Reweight the pseudocontact shift (PCS) energy term.'),
5920 # 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' ),
5921 # Option( 'minimize_tensor', 'Boolean', desc = 'Optimize the best tensor found form the grid search'),
5922  ), # PCS
5923  Option_Group( 'PCSTS1',
5924  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'),
5925  Option( 'normalization_id', 'Integer', desc = 'Normalize individual data set. The integer identify the normalization method to be used'),
5926  ), # PCSTS1
5927  Option_Group( 'PCSTS2',
5928  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'),
5929  Option( 'normalization_id', 'Integer', desc = 'Normalize individual data set. The integer identify the normalization method to be used'),
5930  ), # PCSTS2
5931  Option_Group( 'PCSTS3',
5932  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'),
5933  Option( 'normalization_id', 'Integer', desc = 'Normalize individual data set. The integer identify the normalization method to be used'),
5934  ), # PCSTS3
5935  Option_Group( 'PCSTS4',
5936  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'),
5937  Option( 'normalization_id', 'Integer', desc = 'Normalize individual data set. The integer identify the normalization method to be used'),
5938  ), # PCSTS4
5939 
5940  ###############################################################################
5941  ## peptide specificity / flexible backbone design options (chrisk)
5942  Option_Group( 'pepspec',
5943  Option( 'soft_wts', 'String', default='soft_rep.wts'),
5944  Option( 'cen_wts', 'String', default='cen_ghost.wts'),
5945  Option( 'binding_score', 'Boolean', default='true'),
5946 
5947  Option( 'no_cen', 'Boolean', default='true'),
5948  Option( 'no_cen_rottrials', 'Boolean', default='true'),
5949  Option( 'run_sequential', 'Boolean', default='false'),
5950  Option( 'pep_anchor', 'Integer' ),
5951  Option( 'pep_chain', 'String', default=' '),
5952  Option( 'n_peptides', 'Integer', default='8' ),
5953  Option( 'n_build_loop', 'Integer', default='1000' ),
5954  Option( 'n_cgrelax_loop', 'Integer', default='1' ),
5955  Option( 'n_dock_loop', 'Integer', default='4' ),
5956  Option( 'interface_cutoff', 'Real', default='5.0'),
5957  Option( 'use_input_bb', 'Boolean', default='false'),
5958  Option( 'remove_input_bb', 'Boolean', default='false'),
5959  Option( 'homol_csts', 'String', default='prep.csts'),
5960  Option( 'p_homol_csts', 'Real', default='1.0'),
5961 # Option( 'frag_file', 'String', default='sampling/filtered.vall.dat.2006-05-05.gz'),
5962  Option( 'gen_pep_bb_sequential', 'Boolean', default='false'),
5963  Option( 'input_seq', 'String' ),
5964  Option( 'ss_type', 'String' ),
5965  Option( 'upweight_interface', 'Boolean', default='false'),
5966  Option( 'calc_sasa', 'Boolean', default='false'),
5967 
5968  Option( 'diversify_pep_seqs', 'Boolean', default='true'),
5969  Option( 'diversify_lvl', 'Integer', default='10'),
5970  Option( 'dump_cg_bb', 'Boolean', default='false'),
5971  Option( 'save_low_pdbs', 'Boolean', default='true'),
5972  Option( 'save_all_pdbs', 'Boolean', default='false'),
5973  Option( 'no_design', 'Boolean', default='false'),
5974 
5975  Option( 'pdb_list', 'String' ),
5976  Option( 'ref_pdb_list', 'String' ),
5977  Option( 'add_buffer_res', 'Boolean', default='false'),
5978  Option( 'cg_res_type', 'String', default = 'ALA' ),
5979 
5980  Option( 'native_pep_anchor', 'Integer' ),
5981  Option( 'native_pep_chain', 'String', default=''),
5982  Option( 'native_align', 'Boolean', default='false'),
5983  Option( 'rmsd_analysis', 'Boolean', default='false'),
5984 # Option( 'phipsi_analysis', 'Boolean', default='false'),
5985 
5986  Option( 'anchor_type', 'String', default='ALA' ),
5987  Option( 'no_prepack_prot', 'Boolean', default='false'),
5988  Option( 'prep_use_ref_rotamers', 'Boolean', default='false'),
5989  Option( 'n_prepend', 'Integer', default='0' ),
5990  Option( 'n_append', 'Integer', default='0' ),
5991  Option( 'clash_cutoff', 'Real', default='5' ),
5992  Option( 'n_anchor_dock_std_devs', 'Real', default='1.0' ),
5993  Option( 'prep_trans_std_dev', 'Real', default='0.5' ),
5994  Option( 'prep_rot_std_dev', 'Real', default='10.0' ),
5995  Option( 'seq_align', 'Boolean', default='false'),
5996  Option( 'prep_align_prot_to', 'String'),
5997  ), # -pepspec
5998 
5999  ###################################################################################
6000  # Residue protonation state options
6001  Option_Group( 'pH' ,
6002  Option( 'pH_mode', 'Boolean', desc="Allow protonated/deprotonated versions of the residues based on pH", default='false' ),
6003  Option( 'keep_input_protonation_state', 'Boolean', desc="Read in residue protonation states from input pdb?", default='false' ),
6004  Option( 'value_pH', 'Real', desc="pH value input for the pHEnergy score", default = '7.0' ),
6005  Option_Group( 'calc_pka',
6006  Option( 'pka_all', 'Boolean', desc="Calculate pKa values for all protonatable protein residues in the PDB?", default='false' ),
6007  Option( 'pka_for_resnos', 'RealVector', desc="Residue no whose pKa value is to be determined", default = '0' ),
6008  Option( 'pka_for_chainno', 'String', desc="Chain no of the residue whose pKa is to be determined", default = 'A' ),
6009  Option( 'pH_neighbor_pack', 'Boolean', desc="Pack the neighbors while calculating pKa?", default='false' ),
6010  Option( 'pka_rad', 'Real', desc="Radius of repack", default = '5.0' ),
6011  Option( 'pH_prepack', 'Boolean', desc="Prepack structure before calculating pKa values?", default='false' ),
6012  Option( 'pH_relax', 'Boolean', desc="Relax structure before calculating pKa values?", default='false' ),
6013  Option( 'rotamer_prot_stats', 'Boolean', desc="Get rotamer protonation statistics when titrating?", default='false' ),
6014  ), # -pH:calc_pka
6015  Option( 'pH_unbound', 'FileVector', desc="Name(s) of unbound receptor and ligand PDB file(s)" ),
6016  Option( 'output_raw_scores', 'Boolean', desc="Return raw scores contributing to interface score?" ),
6017  Option( 'pre_process', 'Boolean', desc="Refine rigid body orientation?" ),
6018  Option( 'cognate_partners', 'String', desc="Chain IDs for the cognate complex", default='_' ),
6019  Option( 'cognate_pdb', 'File', desc="File containing the cognate Antigen-Antibody complex" ),
6020  ), # -pH
6021 
6022  ##############################################################################
6023  # PocketGrid/Fingerprint options ---------------------------------------------
6024  Option_Group('pocket_grid',
6025  Option( 'pocket_grid_size', 'Real',default='0',desc='grid spacing in Angstroms'),
6026  Option( 'pocket_grid_size_x', 'Real',default='10',desc='grid spacing in Angstroms'),
6027  Option( 'pocket_grid_size_y', 'Real',default='10',desc='grid spacing in Angstroms'),
6028  Option( 'pocket_grid_size_z', 'Real',default='10',desc='grid spacing in Angstroms'),
6029  Option( 'pocket_grid_spacing', 'Real',default='0.5',desc='grid spacing in Angstroms'),
6030  Option( 'pocket_max_spacing', 'Real',default='8',desc='Maximum residue-residue distance to be considered a pocket'),
6031  Option( 'pocket_min_size', 'Real',default='10',desc='Minimum pocket size to score, in cubic Angstroms'),
6032  Option( 'pocket_max_size', 'Real',default='0',desc='Maximum pocket size to report, in cubic Angstroms, 0 for no limit'),
6033  Option( 'pocket_probe_radius', 'Real',default='1.0',desc='radius of surface probe molecule'),
6034  Option( 'central_relax_pdb_num', 'String',default='-1',desc='Residue number:(optional)Chain around which to do Pocket Constraint'),
6035  Option( 'pocket_ntrials', 'Integer',default='100000',desc='Number of trials to use for backrub'),
6036  Option( 'pocket_num_angles', 'Integer',default='1',desc='Number of different pose angles to measure pocket score at'),
6037  Option( 'pocket_side', 'Boolean', desc="Include only side chain residues for target surface", default='false' ),
6038  Option( 'pocket_dump_pdbs', 'Boolean', desc="Generate PDB files",default='false' ),
6039  Option( 'pocket_dump_exemplars', 'Boolean', desc="Generate exemplar PDB files",default='false' ),
6040  Option( 'pocket_filter_by_exemplar', 'Boolean', desc="Restrict the pocket to the exemplars",default='false' ),
6041  Option( 'pocket_dump_rama', 'Boolean', desc="Generate Ramachandran maps for each pocket cluster",default='false' ),
6042  Option( 'pocket_restrict_size', 'Boolean', desc="Pockets that are too large return score of 0",default='false' ),
6043  Option( 'pocket_ignore_buried', 'Boolean', desc="Ignore pockets that are not solvent exposed",default='true' ),
6044  Option( 'pocket_only_buried', 'Boolean', desc="Identify only pockets buried in the protein core (automatically sets -pocket_ignored_buried false)",default='false' ),
6045  Option( 'pocket_psp', 'Boolean', desc="Mark Pocket-Solvent-Pocket events as well",default='true' ),
6046  Option( 'pocket_sps', 'Boolean', desc="Unmark Solvent-Pocket-Solvent events",default='false' ),
6047  Option( 'pocket_search13', 'Boolean', desc="Search in 13 directions (all faces and edges of a cube) versus faces and diagonal",default='false' ),
6048  Option( 'pocket_surface_score', 'Real',default='0',desc='Score given to pocket surface'),
6049  Option( 'pocket_surface_dist', 'Real',default='2.5',desc='Distance to consider pocket surface'),
6050  Option( 'pocket_buried_score', 'Real',default='5.0',desc='Score given to deeply buried pocket points'),
6051  Option( 'pocket_buried_dist', 'Real',default='2.0',desc='Distance to consider pocket buried'),
6052  Option( 'pocket_exemplar_vdw_pen', 'Real',default='300.0',desc='Temporary max penalty for vdW class in exemplar discovery'),
6053  Option( 'pocket_debug_output', 'Boolean', desc="Print any and all debuggind output related to pockets", default='false' ),
6054  Option( 'dump_pocketGrid', 'Boolean', desc="print the pocket grid points into a PDB file",default='false' ),
6055  Option( 'dump_Grid', 'Boolean', desc="print the grid points into a PDB file",default='false' ),
6056  Option( 'extend_eggshell', 'Boolean', desc="Extend the eggshell points",default='false' ),
6057  Option( 'extend_eggshell_dist', 'Real',default='1',desc='Distance to extend eggshell'),
6058  Option( 'extra_eggshell_dist', 'Real',default='4',desc='Distance to extend extra eggshell points'),
6059  Option( 'eggshell_dist', 'Real',default='4',desc='Distance to extend eggshell points from ligand atoms'),
6060  Option( 'reduce_rays', 'Boolean', default='true', desc='reduce no. of rays by rounding and removing duplicate xyz coordinates'),
6061  Option( 'pocket_static_grid', 'Boolean', desc="No autoexpanding grid", default='false' ),
6062  Option( 'dump_espGrid', 'Boolean', desc="print the electrostaticpotential grid into a PDB file",default='false' ),
6063  Option( 'dump_connollySurface', 'Boolean', desc="print the connolly surface points into a PDB file",default='false' ),
6064  Option( 'esp_buffer_dist', 'Real',default='0.5',desc='buffer dist added to Vdw radius atom while assigining electrostatic potential values'),
6065  Option( 'round_pocketGrid_center', 'Boolean', desc="round_pocketGrid_center", default='true' ),
6066  ),
6067  Option_Group('gen_pharmacophore',
6068  Option( 'clash_distance_cutoff', 'Real', default='1.0', desc='clash distance cutoff to include ideal hydrogen bonding atoms'),
6069  Option( 'ring_sasa_cutoff', 'Integer', default='25', desc='ring_sasa_cutoff to include in pharmacophore'),
6070  Option( 'min_num_ring', 'Integer', default='1', desc='minimimum number of rings to be in a cluster'),
6071  Option( 'ring_ring_dist_cutoff', 'Real', default='5.0', desc='ring - ringatom distance to include in the pharmacophore clusters'),
6072  Option( 'ring_atm_dist_cutoff', 'Real', default='5.0', desc='ring - hbond atom distance to include in the pharmacophore clusters'),
6073  ),
6074  Option_Group('fingerprint',
6075  Option( 'print_eggshell', 'Boolean', desc="print the eggshell points into a PDB file",default='false' ),
6076  Option( 'atom_radius_scale', 'Real', default='0.9', desc='Scale to shrink the radius of atom'),
6077  Option( 'atom_radius_buffer', 'Real', default='1.0', desc='Value to subtract from all atomic radii, to match PocketGrid buffer thickness'),
6078  Option( 'packing_weight', 'Real', default='1', desc='Add weight to rho large deviation'),
6079  Option( 'dist_cut_off', 'Real', default='5', desc='set cut_off distance to add packing weight'),
6080  Option( 'include_extrashell_to_set_origin', 'Boolean', desc="include extrashell points to set origin",default='false' ),
6081  Option( 'include_hydrogens', 'Boolean', desc="include hydrogen atoms for fingerprint",default='false' ),
6082  Option( 'multiple_origin', 'Boolean', desc="set multiple origin points for ray casting",default='false' ),
6083  Option( 'use_DARC_gpu', 'Boolean', desc="use GPU when computing DARC score",default='false' ),
6084  Option( 'square_score', 'Boolean', desc="square the terms in DARC scoring function",default='false' ),
6085  Option( 'darc_components', 'Boolean', desc="get the score for individual components in DARC scoring function",default='false' ),
6086  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)'),
6087  Option( 'origin_res_num', 'String', default='1', desc='Residue number:(optional)Chain to be used as origin for ray-casting'),
6088  Option( 'add_esp', 'Boolean', default='false', desc='add electrostatic calculations'),
6089  Option( 'darc_shape_only', 'Boolean', default='false', desc='darc with shape only'),
6090  Option( 'darc_elsts_only', 'Boolean', default='false', desc='darc with electrostatics only'),
6091  Option( 'esp_weight', 'Real', default='0.117', desc='add weight for electrostatic energy'),
6092  Option( 'esp_protein_wt', 'Real', default='0', desc='add weight for electrostatic energy inside protein'),
6093  Option( 'esp_surface_wt', 'Real', default='0', desc='add weight for electrostatic energy on protein surface'),
6094  Option( 'delphi_grid', 'Boolean', desc="input electrostatic potential grid if from DELPHI, default is ZAP grid",default='false' ),
6095  Option( 'cap_e_potential', 'Real', default='10.0', desc='max/min value to cap electrostatic potential'),
6096  Option( 'return_zero_darc_score', 'Boolean', desc="return 0 as darc score",default='false' ),
6097  Option( 'set_surface_esp_to_zero', 'Boolean', desc="set surface electrostatic potential to zero",default='false' ),
6098  Option( 'set_protein_esp_to_zero', 'Boolean', desc="set protein electrostatic potential to zero",default='false' ),
6099  Option( 'inp_lig', 'String', default='inp_lig.pdb', desc='inp_lig'),
6100  Option( 'ref_lig', 'String', default='ref_lig.pdb', desc='ref_lig'),
6101  ),
6102 
6103  Option_Group ( 'ProQ',
6104  Option( 'svmmodel','Integer', desc="SVM model to use (in cross-validation, default is to use all [1-5])",default='1'),
6105  Option( 'basename','String', desc="basename location for sequence specific inputfile)",default=""),
6106  Option( 'membrane','Boolean', desc="use membrane version (ProQM)",default='false'),
6107  Option( 'prof_bug','Boolean', desc="reproduce the profile bug in ProQres",default='false'),
6108  Option( 'output_feature_vector','Boolean', desc="outputs the feature vector",default='false'),
6109  Option( 'output_local_prediction','Boolean', desc="outputs the local predicted values",default='false'),
6110  Option( 'prefix','String', desc="prefix for outputfiles)",default=""),
6111  Option( 'use_gzip','Boolean', desc="gzip output files", default='false'),
6112  Option( 'normalize','Real', desc="Normalizing factor (usually target sequence length)", default='1.0'),
6113  ), # -ProQ
6114 
6115  Option_Group( 'qsar',
6116  Option( 'weights','String',default='talaris2013',desc = 'select qsar weight set to use'),
6117  Option( 'grid_dir','String',desc = 'Directory to store grids in'),
6118  Option( 'max_grid_cache_size','Integer',desc= 'delete old grids if grid cache exceeds specified size')
6119  ), # qsar
6120 
6121  Option_Group( 'rbe',
6122  Option( 'server_url', 'String', desc='serverurl for rosetta backend' ),
6123  Option( 'server_port', 'String', default = '80', desc='port for rosetta backend' ),
6124  Option( 'poll_frequency', 'Real', default='1.0' ),
6125  ),
6126 
6127  Option_Group( 'RBSegmentRelax',
6128  Option( 'input_pdb','File', desc='input pdb file', default='--' ),
6129  Option( 'rb_file','File', desc='input rb segment file', default='--' ),
6130 # Option( 'cst_wt', 'Real', desc='Weight on constraint term in scoring function', default = '0.1' ),
6131 # Option( 'cst_width', 'Real', desc='Width of harmonic constraints on csts', default = '1.0' ),
6132 # Option( 'cst_pdb', 'String', desc='PDB file from which to draw constraints', default = '--' ),
6133  Option( 'nrbmoves', 'Integer', desc='number of rigid-body moves', default = '100' ),
6134  Option( 'nrboutercycles', 'Integer', desc='number of rigid-body moves', default = '5' ),
6135  Option( 'rb_scorefxn', 'String', desc='number of rigid-body moves', default = 'score5' ),
6136  Option( 'skip_fragment_moves', 'Boolean', desc='omit fragment insertions (in SS elements)', default = 'false' ),
6137  Option( 'skip_seqshift_moves', 'Boolean', desc='omit sequence shifting moves', default = 'false' ),
6138  Option( 'skip_rb_moves', 'Boolean', desc='omit rigid-body moves', default = 'false' ),
6139  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)' ),
6140  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)' ),
6141  Option( 'default_movement_params', 'RealVector', desc='default-rotation, default-translation' , default = 'utility::vector1<float>(2,0.0)' ),
6142  Option( 'cst_seqwidth', 'Integer', desc='sequence width on constraints', default = '0' ),
6143  ), # -RBSegmentRelax
6144 
6145  ############################################################################
6146  # CS-Rosetta options
6147  Option_Group('rdc',
6148  Option( 'correct_NH_length', 'Boolean', desc='fix N-H bond-vector to 1.04 as measured in ottiger&bax 98', default='true'),
6149  Option( 'reduced_couplings', 'Boolean', desc='gives more equal weights to different bond-vectors', default='false'),
6150  Option( 'weights', 'File', desc='specify weights for individual residues ( works for all couplings at this reside)' ),
6151  Option( 'iterate_weights', 'Real', desc='do a wRDC computation, i.e., iterate tensor calculation until weights are ~exp ( -dev2/sigma )', default='1' ),
6152  Option( 'segment_file','File',desc='Definition of rigid segments for alignment tensor optimization'),
6153 
6154  Option( 'segment_scoring_mode', 'String',
6155  desc="Type of treatment of alignment tensor-based scoring : pairwise or fixed_axis_z (e.g. for homo-dimers) ",
6156  legal=['pairwise', 'fixed_axis_z', 'fixed_sum']
6157  ),
6158 
6159  Option( 'total_weight','Real',desc='Weight for RDC scores of individual al. tensors', default='1.0'),
6160  Option( 'tensor_weight','Real',desc='Weight for pairwise scoring of al. tensors', default='1.0'),
6161  Option( 'print_rdc_values','File',desc='print computed vs experimental RDC values'),
6162  Option( 'iterate_tol','Real',desc='tolerance for tensor iterations', default='0.01'),
6163  Option( 'iterate_reset','Boolean',desc='reset weights to 1.0 when optimizing for new structure', default='false' ),
6164  Option( 'dump_weight_trajectory','File', desc='if yes, write weights to file for each scoring event'),
6165  Option( 'fix_normAzz', 'RealVector', desc='divide by this axial tensor component' ),
6166 # Option( 'select_residues_file', 'File', desc='loop/rigid-file with RIGID entries that define the set of residues active for RDC score' ),
6167  Option( 'fit_method', 'String', legal = [ 'svd', 'nls'], default = 'nls' ),
6168  Option( 'fixDa', 'RealVector'),
6169  Option( 'fixR', 'RealVector'),
6170  Option( 'nlsrepeat', 'Integer', default = '5' ),
6171  ), # -rdc
6172 
6173  # relax mode -----------------------------------------------------------
6174  Option_Group( 'relax',
6175  ## Different relax modes:
6176  Option( 'fast', 'Boolean', desc='Do a preset, small cycle number FastRelax' ),
6177  Option( 'thorough', 'Boolean', desc='Do a preset, large cycle number FastRelax' ),
6178 # Option( 'membrane', 'Boolean', desc='Do membrane relax', default='false' ),
6179  Option( 'centroid_mode', 'Boolean', desc="Use centroid relax protocol", default='false'),
6180  Option( 'default_repeats', 'Integer', desc='Default number of repeats done by FastRelax. Has no effect if a custom script is used!', default='5' ),
6181  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.' ),
6182  Option( 'cyclic_peptide', 'Boolean', desc='Set up N-to-C constraints in a cyclic peptide' ),
6183 
6184  ## Options for Range Relax
6185  Option_Group('range',
6186  Option( 'set_tm_helical', 'Boolean', desc="Set helical secondary structure in TM region", default='false'),
6187  Option( 'kT', 'Real', desc="Advanced option: kT", default='1.0'),
6188  Option( 'angle_max', 'Real', desc="Maximum dihedral angle deviation for Small and ShearMover inside RangeRelax", default='0.1'),
6189  Option( 'nmoves', 'String', desc="Number of Small and Shear moves inside RangeRelax, can be \'nres\' for all residues or an integer", default='nres'),
6190  Option( 'spherical_wave', 'Boolean', desc="Relax in a spherical wave pattern starting at the center residue outwards.", default='false'),
6191  Option( 'repack_again', 'Boolean', desc="Do an additional round of repacking all residues after the RangeRelax", default='false'),
6192  Option( 'cycles', 'Integer', desc="Maximum number of cycles for repacking and minimization. Default 3", default='3'),
6193  Option( 'min_cycles', 'Integer', desc="Maximum number of cycles within the Minimizer. Default 2000", default='2000'),
6194  Option( 'idealize', 'Boolean', desc="Idealize decoy after run. Default: true", default='true'),
6195  ),
6196 
6197  ## Options for Sequence Relax
6198  Option( 'ramady', 'Boolean', desc='Run ramady code which aleviates stuck bad ramachandran energies', default='false' ),
6199  Option( 'ramady_rms_limit', 'Real', desc='(ramady-only) Reject rama changes which perturb structure by more than this', default='0.5' ),
6200  Option( 'ramady_cutoff', 'Real', desc='(ramady-only) Cutoff at which a rama is considered bad', default='2.0' ),
6201  Option( 'ramady_max_rebuild', 'Integer', desc='(ramady-only) The maximum number of bad ramas to fix per repack-min cycle', default='1' ),
6202  Option( 'ramady_force', 'Boolean', desc='(ramady-only) Force rebuilding of bad ramas (normal skip-rate = 10%)', default='false' ),
6203  Option( 'script', 'File', desc='Relax script file', default='' ),
6204  Option( 'script_max_accept', 'Integer', desc='Limit number of best accepts', default = '10000000' ),
6205 
6206  Option( 'superimpose_to_native', 'Boolean', desc='Superimpose input structure to native', default='false' ),
6207  Option( 'superimpose_to_file', 'File', desc='Superimpose input structure to file', default='false' ),
6208  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" ),
6209  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" ),
6210  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" ),
6211  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)' ),
6212  Option( 'limit_aroma_chi2', 'Boolean', desc = "limit chi2 rotamer of PHE,TYR, and HIS around 90 ", default="false" ),
6213  Option( 'respect_resfile', 'Boolean', desc = "Tell FastRelax to respect the input resfile. Used mainly for doing design within FastRelax.", default="false"),
6214 
6215  ## Options to manipulate the movemap
6216  Option( 'bb_move', 'Boolean', default='true', desc='allow backbone to move during relax'),
6217  Option( 'chi_move', 'Boolean', default='true', desc='allow sidechain to move during relax'),
6218  Option( 'jump_move', 'Boolean', default='false', desc='allow jump to move during relax'),
6219  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.'),
6220  Option( 'fix_omega', 'Boolean', default='false', desc='Fix omega angles during relax' ),
6221  Option( 'minimize_bond_lengths', 'Boolean', default='false', desc='Free bond length DOFs during relax for all atoms' ),
6222  Option( 'minimize_bond_angles', 'Boolean', default='false', desc='Free bond angle DOFs during relax for all atoms' ),
6223  Option( 'minimize_bondlength_subset', 'Integer', legal=[ '0', '1', '2', '3'], default='0',
6224  desc="Minimize only a subset of bondlengths \
6225 0 Default all bondlengths \
6226 1 backbone only \
6227 2 sidechain only \
6228 3 CA only (Ca-C,Ca-N and Ca-Cb)",
6229  ),
6230  Option( 'minimize_bondangle_subset', 'Integer', legal=[ '0', '1', '2', '3', '4'], default='0',
6231  desc="Minimize only a subset of bondlengths \
6232 0 Default all bondangles \
6233 1 backbone only \
6234 2 sidechain only \
6235 3 tau only \
6236 4 Ca-Cb only",
6237  ),
6238  ## Use an alternate minimizer
6239  Option( 'min_type', 'String', default = 'dfpmin_armijo_nonmonotone', desc = 'minimizer to use during relax.'),
6240  Option( 'cartesian', 'Boolean', default='false', desc='Use Cartesian minimizer' ),
6241 
6242  Option( 'chainbreak_weight', 'Real', desc='chainbreak weight', default='0.0'),
6243  Option( 'linear_chainbreak_weight', 'Real', desc='linear chainbreak weight', default='0.0'),
6244  Option( 'overlap_chainbreak_weight', 'Real', desc='overlap chainbreak weight', default='0.0'),
6245 
6246 
6247  # Older, deprecated protocols
6248  Option( 'classic', 'Boolean', desc='Do very old classic relax ! This is a poor protocol - don\'t use it !' ),
6249  Option( 'sequence_file', 'File', desc='Relax script file', default='' ),
6250  Option( 'quick', 'Boolean', desc='Do a preset, small cycle number FastRelax' ),
6251  Option( 'sequence', 'Boolean', desc='Do a preset, small cycle number FastRelax' ),
6252 
6253  Option( 'minirelax_repeats', 'Integer', desc='', default='2'),
6254  Option( 'minirelax_sdev', 'Real', desc='tether on coordinate constraints for minirelax', default='0.5' ),
6255  Option( 'wobblemoves', 'Boolean', desc='Do Wobble moves ?', default="false" ),
6256  Option( 'constrain_relax_segments', 'File', desc='loop definition file', default='' ),
6257  Option( 'coord_cst_width', 'Real', desc='Width on coordinate constraints from constrain_relax_* options', default='0.0' ),
6258  Option( 'coord_cst_stdev', 'Real', desc='Stdev on coordinate constraints from constrain_relax_* options', default='0.5' ),
6259  Option( 'ramp_constraints', 'Boolean', desc='Ramp constraints during phase1 of relax from full to zero', default='false' ),
6260  Option( 'energycut', 'Real', desc='Rottrial energycut (per residue!)', default='0.01'),
6261  Option( 'mini', 'Boolean', desc='perform a relax that is only a minimization and repack.', default='false' ),
6262  Option( 'stage1_ramp_cycles', 'Integer', desc='Ramp cyclesin stage 1 ', default='8'),
6263  Option( 'stage1_ramp_inner_cycles', 'Integer', desc='Inner cycles means how many small shear moves + rottrials', default='1'),
6264  Option( 'stage2_repack_period', 'Integer', desc='Full repack after how many cycles in stage 2', default='100'),
6265  Option( 'stage2_cycles', 'Integer', desc='How many stage 2 cycles ? (by default its -1 means Nresidues*4 )', default='-1'),
6266  Option( 'min_tolerance', 'Real', desc='Minimizer tolerance', default='0.00025'),
6267  Option( 'stage3_cycles', 'Integer', desc='How many stage 3 cycles ? (by default its -1 means Nresidues )', default='-1'),
6268  Option( 'cycle_ratio', 'Real', desc='Post-multiplier for cycle numbers', default='1.0'),
6269  Option( 'filter_stage2_beginning', 'Real', desc='FArelax score filter', default='99999999.00'),
6270  Option( 'filter_stage2_quarter', 'Real', desc='FArelax score filter', default='99999999.00'),
6271  Option( 'filter_stage2_half', 'Real', desc='FArelax score filter', default='99999999.00'),
6272  Option( 'filter_stage2_end', 'Real', desc='FArelax score filter', default='99999999.00'),
6273 
6274  ## Options for CentroidRelax
6275  Option_Group('centroid',
6276  Option( 'weights', 'String', desc="Weights to use for centroid minimization", default='score4_smooth_cen_relax'),
6277  Option( 'ramp_vdw', 'Boolean', desc="Ramp up the VDW weight", default='true'),
6278  Option( 'ramp_rama', 'Boolean', desc="Ramp up the rama/rama2b weight", default='false'),
6279  Option( 'parameters', 'String', desc="Database file for ramp/min parameter", default='sampling/cen_relax/default_relax_parameters.txt'),
6280  Option( 'do_final_repack', 'Boolean', desc="Repack sidechains in movemap after protocol if given a fullatom structure", default='false'),
6281  Option( 'increase_vdw_radii','Boolean', desc="Increase BB vdw radii", default='false'),
6282  ), # -relax:centroid
6283  ), # -relax
6284 
6285  ##remodel
6286  Option_Group( 'remodel',
6287 # Option( 'help', 'Boolean', desc='help menu.'),
6288 # Option( 'autopilot', 'Boolean', desc='autopilot'),
6289  Option( 'blueprint', 'File', desc='blueprint file name'),
6290  Option( 'cstfile', 'File', desc='description'),
6291  Option( 'cst_fa_only', 'Boolean', desc='false'),
6292  Option( 'cstfilter', 'Integer', desc='filter cst energy', default='10'),
6293  Option( 'cen_sfxn', 'String', desc = 'centroid score function to be used for building', default='remodel_cen'),
6294  Option( 'check_scored_centroid', 'Boolean', desc = 'dump centroid structures after build', default='false'),
6295  Option( 'num_trajectory', 'Integer', desc='Number of remodel trajectories.', default = '10'),
6296  Option( 'save_top' , 'Integer', desc= 'the number of final low scoring pdbs to keep.', default = '5'),
6297  Option( 'swap_refine_confirm_protocols' , 'Boolean', desc= 'swapping the protocols used refinement and confirmation', default = 'false'),
6298 # Option( 'num_frag_moves', 'Integer', desc= 'number of fragment moves to try in the centroid stage.'),
6299  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.'),
6300  Option( 'use_same_length_fragments', 'Boolean' , desc= 'harvest fragments that matches the length to rebuild', default = 'true'),
6301 # Option( 'enable_ligand_aa', 'Boolean' , desc= 'handles ligand attachment and clash check after centroid build.'),
6302  Option( 'no_jumps', 'Boolean', desc= 'will setup simple foldtree and fold through it during centroid build.', default = 'false'),
6303  Option( 'reroot_tree', 'Integer', desc= 'rerooting the tree for the build.', default = '1'),
6304 # Option( 'backrub', 'Boolean', desc= 'run backrub MC trajectory after every completed loop building attempt'),
6305  Option( 'use_blueprint_sequence ', 'Boolean', desc=' picks fragments based on both secondary structure and the second column (sequence) in blueprint file'),
6306 # Option( 'randomize_equivalent_fragments ', 'Boolean', desc=' will randomize identical scoring fragments; without either this flag or'),
6307  Option( 'quick_and_dirty ', 'Boolean', desc=' only do fragment insertion'),
6308  Option( 'checkpoint ', 'Boolean', desc=' this writes out the best pdbs collected so far after each design step.'),
6309 # 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.'),
6310  Option( 'use_pose_relax ', 'Boolean', desc=' an alternative to the default minimization step, but use constraints in a similar way.'),
6311  Option( 'use_cart_relax ', 'Boolean', desc=' an alternative to the default minimization step, but use constraints in a similar way.'),
6312  Option( 'free_relax ', 'Boolean', desc=' running pose_relax with no constraints.', default = 'false'),
6313 # Option( 'use_dssp_assignment' , 'Boolean', desc=' use dssp assignment.'),
6314 # Option( 'keep_jumps_in_minimizer ', 'Boolean', desc=' no constraint is setup for minimization, only rebuilt regions allow bbmove.'),
6315 # Option( 'output_fragfiles', 'File', desc='output fragment file [filename ,e.g. aafr01].'),
6316 # Option( 'read_fragfile' , 'File' , desc='read fragment file.'),
6317  Option( 'generic_aa' , 'String' , desc='the type of AA for centroid building', default='V'),
6318  Option( 'cluster_radius', 'Real', desc='cluster radius for accumulator, default to auto set value', default = '-1.0'),
6319  Option( 'use_clusters', 'Boolean', desc='use clustering in accumulator', default = 'false'),
6320  Option( 'run_confirmation', 'Boolean', desc='use KIC rms confirmation', default = 'false'),
6321  Option( 'cluster_on_entire_pose', 'Boolean', desc='cluster use all pose, not just loops', default = 'false'),
6322 # Option( 'collect_clustered_top', 'Integer', desc='take the best N from each cluster', default = '1'),
6323  Option( 'dr_cycles', 'Integer', desc='number of design-refine cycles to use', default = '3'),
6324  Option( 'two_chain_tree', 'Integer', desc='label the start of the second chain'),
6325  Option( 'repeat_structure', 'Integer', desc='build identical repeats this many times', default='1'),
6326  Option( 'lh_ex_limit', 'Integer', desc='loophasing neighboring bin expansion limit', default='5'),
6327  Option( 'lh_filter_string', 'StringVector', desc='loophash ABEGO filter target fragment type. list sequentially for each loop'),
6328  Option( 'lh_cbreak_selection', 'Integer', desc='loophash with cbreak dominant weight', default='10'),
6329  Option( 'lh_closure_filter', 'Boolean', desc='filter for close rms when bypass_closure is used', default='false'),
6330  Option( 'cen_minimize', 'Boolean' , desc= 'centroid minimization after fragment building', default = 'false'),
6331  Option( 'core_cutoff', 'Integer', desc='number of neighbors required to consider core in auto design', default = '18'),
6332  Option( 'boundary_cutoff', 'Integer', desc='number of neighbors required to consider boundary in auto design', default = '15'),
6333  Option( 'coreAA', 'String', desc = 'amino acid set for core', default=''),
6334  Option( 'boundaryAA', 'String', desc = 'amino acid set for boundary', default=''),
6335  Option( 'surfaceAA', 'String', desc = 'amino acid set for surface', default=''),
6336 # Option( 'use_LD_operation', 'Boolean' , desc= 'enable operation described by LayerDesignOperation', default = 'true'),
6337  Option( 'design_around_ligand', 'Boolean' , desc= 'apply manual design mode around the ligand', default = 'false'),
6338  Option( 'move_ligand', 'Boolean' , desc= 'apply ligand handler to move ligand', default = 'false'),
6339 
6340  Option( 'resclass_by_sasa', 'Boolean' , desc= 'switch to use sasa for residue classification', default = 'false'),
6341 
6342  Option( 'helical_rise', 'Real', desc='helical parameter: rise', default = '0.0'),
6343  Option( 'helical_radius', 'Real', desc='helical parameter: radius', default = '0.0'),
6344  Option( 'helical_omega', 'Real', desc='helical parameter: omega', default = '0.0'),
6345  Option( 'filter_rise', 'RealVector', desc='filter value range for helical params rise', n = '2'),
6346  Option( 'filter_radius', 'RealVector', desc='filter value range for helical params radius', n = '2'),
6347  Option( 'filter_omega', 'RealVector', desc='filter value range for helical params omega', n = '2'),
6348  Option( 'COM_sd', 'Real', desc='center of mass coordinate constraint sd value', default = '1.0'),
6349  Option( 'COM_tolerance', 'Real', desc='center of mass coordinate constraint tolerance value', default = '0.0'),
6350 
6351  Option( 'vdw', 'Real', desc='set vdw weight', default = '1.0'),
6352  Option( 'rama', 'Real', desc='set rama weight', default = '0.1'),
6353  Option( 'cbeta', 'Real', desc='set cbeta weight', default = '0.0'),
6354  Option( 'cenpack', 'Real', desc='set cenpack weight', default = '0.0'),
6355  Option( 'rg_local', 'Real', desc='set rg_local weight', default = '0.0'),
6356  Option( 'hb_lrbb', 'Real', desc='set hbond_lrbb weight', default = '0.0'),
6357  Option( 'hb_srbb', 'Real', desc='set hbond_srbb weight', default = '0.0'),
6358  Option( 'rg', 'Real', desc='set rg weight'),
6359  Option( 'rsigma', 'Real', desc='set rsigma weight', default = '0.0'),
6360  Option( 'ss_pair', 'Real', desc='set sspair weight', default = '0.0'),
6361  Option( 'build_disulf', 'Boolean', desc='build disulfides', default = 'false'),
6362 # Option( 'max_disulf_allowed', 'Integer', desc='number of disulf pairs can be generated at a time', default = '1'),
6363  Option( 'match_rt_limit', 'Real', desc='match RT score cutoff', default = '0.4'),
6364  Option( 'disulf_landing_range', 'IntegerVector', desc='residue range for disulf landing sites', n = '2'),
6365  Option( 'rank_by_bsasa' ,'Boolean', desc= 'rank results by bsasa.'),
6366 
6367  Option_Group( 'staged_sampling',
6368  Option( 'staged_sampling', 'Boolean', desc = 'sampling first with 9mers then 3mers. Staged energies. For rebuilding entire structure not loop closure', default = 'false'),
6369  Option( 'residues_to_sample', 'File', desc = 'residues to allow sampling (format:1,3,5)', default = ''),
6370  Option( 'starting_sequence', 'String', desc = 'AA sequence to start', default = ''),
6371  Option( 'starting_pdb', 'File', desc = 'pdb to start', default = ''),
6372  Option( 'require_frags_match_blueprint', 'Boolean', desc = 'makes sure the frags match the definition in the blueprint', default = 'true'),
6373  Option( 'start_w_ideal_helices', 'Boolean', desc = 'begins with all helices set to -63.8 phi and -41.1 for psi.', default = 'false'),
6374  Option( 'sample_over_loops', 'Boolean', desc = 'sample residues defined as loops in the blueprint', default = 'false'),
6375  Option( 'small_moves', 'Boolean', desc = 'add a stage of small moves', default = 'false'),
6376  Option( 'fa_relax_moves', 'Boolean', desc = 'Adds a stage of fa relax', default = 'false'),
6377  ), # -remodel:staged_sampling
6378  Option_Group( 'domainFusion',
6379  Option( 'insert_segment_from_pdb', 'File', desc='segment pdb file to be inserted [insert pdb file name].', default=''),
6380  Option( 'insert_segment2_from_pdb', 'File', desc='segment2 pdb file to be inserted [insert pdb file name].', default=''),
6381  #Option( 'rigid_segment_in_refinement', 'Boolean', desc=' rigid segment in refinement.'),
6382  ), # -remodel:domainFusion
6383  Option_Group( 'design',
6384  Option( 'no_design ', 'Boolean', desc=' skips all design steps. WARNING: will only output centroid level structures and dump all fragment tries.' ),
6385  Option( 'design_all', 'Boolean', desc=' force AUTO design procedure (layered) to perform design on all positions. ' ),
6386  Option( 'allow_rare_aro_chi', 'Boolean', desc='allow all aromatic rotamers, not issuing AroChi2 filter', default= 'false' ),
6387 # Option( 'silent', 'Boolean', desc=' dumps all structures by silent-mode WARNING: will work only during no_design protocol (see -no_design).' ),
6388  Option( 'skip_partial', 'Boolean', desc=' skip design stage that operate only on burial positions', default = 'false' ),
6389  Option( 'design_neighbors', 'Boolean', desc= 'design neighbors.', default='false'),
6390  Option( 'find_neighbors', 'Boolean', desc = 'find neighbors for design/repack' ,default= 'false' ),
6391  Option( 'include_current', 'Boolean', desc = 'include current rotamers' ,default= 'true' ),
6392  ), # -remodel:design
6393 
6394  ## remodel loop mover options
6395  Option_Group( 'RemodelLoopMover',
6396  Option( 'max_linear_chainbreak', 'Real', desc="linear chainbreak is <= this value, loop is considered closed (default 0.07) ", default = '0.07' ),
6397  Option( 'randomize_loops', 'Boolean', desc="randomize loops prior to running main protocol (default true)", default='true' ),
6398  Option( 'use_loop_hash', 'Boolean', desc="centroid build with loop hash (default false)", default='false' ),
6399  Option( 'set_segment', 'File', desc="directly set segment phi-psi-omega from file", default='' ),
6400 
6401  Option( 'allowed_closure_attempts', 'Integer', desc="the allowed number of overall closure attempts (default 1)", default='1' ),
6402  Option( 'loophash_cycles', 'Integer', desc="the number of loophash closure cycles to perform (default 8)", default='8' ),
6403  Option( 'simultaneous_cycles', 'Integer', desc="the number of simultaneous closure cycles to perform (default 2)", default='2' ),
6404  Option( 'independent_cycles', 'Integer', desc="the number of independent closure cycles to perform (default 8)", default='8' ),
6405  Option( 'boost_closure_cycles', 'Integer', desc="the maximum number of possible lockdown closure cycles to perform (default 30)", default='30' ) ,
6406  Option( 'threshold_for_boost_closure', 'Real', desc="numerical chainbreak threshold for entering boost_closure_stage", default='1.0' ) ,
6407  Option( 'force_cutting_index', 'Integer', desc="force a cutpoint shift index of blueprint assignment", default='1' ) ,
6408  Option( 'force_cutting_N', 'Boolean', desc="force a cutpoint at N-term side of blueprint assignment", default='false' ) ,
6409  Option( 'bypass_closure', 'Boolean', desc="turning off CCD closure in the mover for tethered docking purpose", default='false' ),
6410  Option( 'cyclic_peptide', 'Boolean', desc="circularize structure joining N and C-term.", default='false' ),
6411  Option( 'temperature', 'Real', desc="temperature for monte carlo ( default 2.0)", default='2.0' ),
6412 # Option( 'max_chews', 'Integer', desc='maxium number of residues to chew on either side of loop', default='1'),
6413  ), # -remodel:RemodelLoopMover
6414  ), # -remodel
6415 
6416  Option_Group( 'resample',
6417  Option( 'silent', 'File', desc='a silent file for decoys to restart sampling from ', default='' ),
6418  Option( 'tag', 'String', desc='which decoy to select from silent file ', default='' ),
6419  Option( 'stage1', 'Boolean', desc='if true restart after stage1, otherwise after stage2 ', default='false' ),
6420  Option( 'stage2', 'Boolean', desc='if true restart after stage1, otherwise after stage2 ', default='false' ),
6421  Option( 'jumps', 'Boolean', desc='if true restart after stage1, otherwise after stage2 ', default='false' ),
6422  Option( 'min_max_start_seq_sep','RealVector', desc='range of (random) start values for seq-separation', default='0' ),
6423  ), # -resample
6424 
6425  # rescore mode -----------------------------------------------------------
6426  Option_Group( 'rescore',
6427 # Option( 'pose_metrics', 'Boolean', desc="Do pose metrics calc" ),
6428  Option( 'assign_ss', 'Boolean', desc="Invoke DSSP to assign secondary structure.", default = 'false' ),
6429  Option( 'skip', 'Boolean', desc="Dont actually call scoring function (i.e. get evaluators only)" ),
6430  Option( 'verbose', 'Boolean', desc="Full break down of weights, raw scores and weighted scores ?" ),
6431 # Option( 'msms_analysis', 'String', desc="Run MSMS on the structure and determine surface properties. " ),
6432  ), # -rescore
6433 
6434  Option_Group( 'rna',
6435  Option( 'corrected_geo', 'Boolean', desc="Use PHENIX-based RNA sugar close energy and params files", default='true'),
6436  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' ),
6437  Option( 'vary_geometry','Boolean', desc='Let bond lengths and angles vary from ideal in minimizer', default='false' ),
6438  Option( 'data_file', 'String', desc="RDAT or legacy-format file with RNA chemical mapping data",default='' ),
6439 
6440  Option_Group( 'farna',
6441  Option( 'cycles', 'Integer', desc= "Default number of Monte Carlo cycles",default='0' ), # now default is set based on the number of moving residues
6442  Option( 'temperature', 'Real', desc= "temperature",default='2.0' ),
6443  Option( 'minimize_rna', 'Boolean', desc= "Minimize RNA after fragment assembly",default='false' ),
6444  Option( 'params_file', 'String', desc= "Input file for pairings",default="default.prm" ),
6445  Option( 'lores_scorefxn', 'String', desc= "Low resolution scorefunction weights file",default="farna/rna_lores.wts" ),
6446  Option( 'filter_lores_base_pairs', 'Boolean', desc= "Filter for models that satisfy structure parameters",default= 'true' ),
6447  Option( 'filter_lores_base_pairs_early', 'Boolean', desc= "Filter for models that satisfy structure parameters at round 2 of 10",default= 'true' ),
6448  Option( 'filter_chain_closure', 'Boolean', desc= "Filter for models that have closed chains after lores before minimize",default='true' ),
6449  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' ),
6450  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' ),
6451  Option( 'relax_rna', 'Boolean', desc= "Relax RNA after fragment assembly",default='false' ),
6452  Option( 'simple_relax', 'Boolean', desc= "Relax by minimizing after any fragment insertion",default='false' ),
6453  Option( 'ignore_secstruct', 'Boolean', desc= "Ignore sec struct in input file",default='false' ),
6454  Option( 'jump_change_frequency', 'Real', desc= "jump change frequency",default='0.1' ),
6455  Option( 'close_loops', 'Boolean', desc= "close loops after de novo protocol and again after minimization",default= 'true' ), # this should always be on.
6456  Option( 'close_loops_after_each_move', 'Boolean', desc= "close loops during frag insertion and jump mover -- can be expensive",default= 'false' ),
6457  Option( 'output_lores_silent_file', 'Boolean', desc= "output lores stuff",default= 'false' ),
6458  Option( 'heat', 'Boolean',desc= "Heat (random frag insertions)", default='false' ),
6459  Option( 'dump', 'Boolean', desc= "Dump pdb",default= 'false' ),
6460  Option( 'staged_constraints', 'Boolean', desc= "Apply constraints in stages depending on sequence separation",default= 'false' ),
6461  Option( 'jump_library_file', 'String', desc= "Input file for jumps",default="sampling/rna/1jj2_RNA_jump_library.dat" ),
6462  Option( 'vall_torsions', 'String', desc='Torsions file containing information on fragments from RNA models', default='rna.torsions' ),
6463  Option( 'use_1jj2_torsions', 'Boolean',desc= "Use original (ribosome) fragments, 1JJ2", default='false' ),
6464  Option( 'rna_lores_chainbreak_weight', 'Real', desc= "chainbreak weight for lo res sampling",default='0.0' ),
6465  Option( 'rna_lores_linear_chainbreak_weight', 'Real', desc= "linear chainbreak weight for lo res sampling",default='0.0' ),
6466  Option( 'allow_bulge ', 'Boolean', desc= "Automatically virtualize residues that are not energetically stable",default= 'false' ),
6467  Option( 'allowed_bulge_res', 'IntegerVector', desc= "Use with allow_bulge, allowable pos for virtualization",default=[] ),
6468  Option( 'allow_consecutive_bulges', 'Boolean', desc= "allow_consecutive_bulges",default= 'false' ),
6469  Option( 'binary_output', 'Boolean', desc= "force output to binary rna silentstruct",default= 'false' ),
6470  Option( 'move_first_rigid_body', 'Boolean', desc= "first_rigid_body is usually kept frozen, but might be useful to sample it.",default= 'false' ),
6471  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' ),
6472  Option( 'suppress_bp_constraint', 'Real', desc= "Factor by which to lower base pair constraint weight. ",default='1.0' ),
6473  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' ),
6474  Option( 'autofilter', 'Boolean', desc= "Automatically skip output/minimize if lores score is worse than 20th percentile, updated on the fly.",default= 'true' ),
6475  Option( 'output_res_num', 'ResidueChainVector', desc= "Numbering (and chain) of residues in output PDB or silent file",default=[] ),
6476  Option( 'refine_silent_file', 'String', desc= "Name of the silent file to be refined.",default="" ),
6477  Option( 'refine_native', 'Boolean', desc= "Refine starting from the native pose",default= 'false' ),
6478  Option( 'bps_moves', 'Boolean', desc= "Base pair step moves",default= 'false' ),
6479  Option( 'disallow_bps_at_extra_min_res', 'Boolean', desc= "Disallow base pair step moves inside input domains, even extra_min_res",default= 'false' ),
6480  Option( 'allow_fragment_moves_in_bps', 'Boolean', desc= "Allow fragment/jump moves in regions claimed by base pair steps",default= 'false' ),
6481 
6482  Option_Group('db',
6483  Option( 'jump_database', 'Boolean', desc='Generate a database of jumps extracted from base pairings from a big RNA file', default='false' ),
6484  Option( 'bps_database', 'Boolean', desc='Generate a database of base pair steps extracted from a big RNA file', default='false' ),
6485  ), # -rna:farna:database
6486 
6487  Option_Group('minimize',
6488  Option( 'minimize_rounds', 'Integer', desc='The number of rounds of minimization.', default = '2' ),
6489  Option( 'skip_coord_constraints', 'Boolean', desc='Skip first stage of minimize with coordinate constraints',default='false' ),
6490  Option( 'skip_o2prime_trials', 'Boolean', desc='No O2* packing in minimizer',default='false' ),
6491  Option( 'deriv_check', 'Boolean', desc="In rna_minimize, check derivatives numerically", default='false' ),
6492  Option( 'minimizer_use_coordinate_constraints', 'Boolean', desc= "Use coordinate constraints for first round of minimizer",default= 'true' ),
6493  Option( 'minimize_bps', 'Boolean', desc= "Minimize base pair steps (from Rosetta library)",default= 'true' ),
6494  Option( 'extra_minimize_res', 'IntegerVector', desc= "Extra residues during minimize step",default=[] ),
6495  Option( 'extra_minimize_chi_res', 'IntegerVector', desc= "Extra side-chain chis to move during minimize step",default=[] ),
6496  ), # -rna:farna:minimize
6497  ), # -rna:farna
6498  ), # -rna
6499 
6500  Option_Group('rotamerdump',
6501  Option('xyz','Boolean',default= 'false',desc="when using the RotamerDump application, output the xyz coords of every rotamer"),
6502  Option('one_body','Boolean',default='false',desc="when using the RotamerDump application, output the one_body energies of every rotamer"),
6503  Option('two_body','Boolean',default='false',desc="when using the RotamerDump application, output the two_body energies of every rotamer"),
6504  Option('annealer','Boolean',default='false',desc="Run the annealer and output the rotamers it chose"),
6505  ), # -rotamerdump
6506 
6507  Option_Group( 'sample_around',
6508  Option( 'alpha_increment', 'Real', desc= "if sampling jump, rotation increment, in degrees", default='40.0' ),
6509  Option( 'cosbeta_increment', 'Real', desc= "if sampling jump, cosbeta increment, no units", default='0.25' ),
6510  Option( 'gamma_increment', 'Real', desc= "if sampling jump, rotation increment, in degrees", default='40.0' ),
6511  ), #sample_around
6512 
6513  ###############################################################################
6514  ## peptide specificity / flexible backbone design options (chrisk)
6515  Option_Group( 'sicdock',
6516  Option( 'clash_dis' , 'Real', default='3.5' , desc="max acceptable clash dis"),
6517  Option( 'contact_dis' , 'Real', default='12.0', desc="max acceptable contact dis"),
6518  Option( 'hash_2D_vs_3D', 'Real', default='1.3' , desc="grid spacing top 2D hash"),
6519 # Option( 'term_min_expose', 'Real', default='0.1' , desc="terminus at least X exposed"),
6520 # Option( 'term_max_angle', 'Real', default='45.0' , desc="terminus at most X degrees from XY plane"),
6521  ), # -sicdock
6522 
6523  ################################
6524  ## Sewing
6525  Option_Group( 'sewing',
6526  ##General options
6527  Option('model_file_name','File', desc="Filename for model file (creation or reading)"),
6528  Option('score_file_name','File', desc="Filename for scores file (creation or reading)"),
6529 
6530  ##ModelTrimmer options
6531  Option('new_model_file_name','File', desc="Filename for new model file to be written"),
6532  Option('remove_any_dssp','String', desc="If a given model has *any* segments with this DSSP, remove it", default=""),
6533  Option('remove_all_dssp','String', desc="If a given model has *all* non-loop segments with this DSSP, remove it", default=""),
6534  Option('min_helix_length','Integer', desc="Helices less than supplied length will be removed from model file", default='0'),
6535  Option('max_helix_length','Integer', desc="Helices greater than supplied length will be removed from model file", default='1000'),
6536  Option('min_loop_length','Integer', desc="Loops less than supplied length will be removed from model file", default='0'),
6537  Option('max_loop_length','Integer', desc="Loops greater than supplied length will be removed from model file", default='1000'),
6538  Option('min_strand_length','Integer', desc="Strands less than supplied length will be removed from model file", default='0'),
6539  Option('max_strand_length','Integer', desc="Strands greater than supplied length will be removed from model file", default='1000'),
6540 
6541  Option('leave_models_by_ss_num','Boolean', desc="Only models with certain number of secondary structures remain", default='false'),
6542  Option('model_should_have_this_num_of_ss','Integer', desc="Only models with this number of secondary structures remain"),
6543 
6544  Option('model_should_have_at_least_1_E_at_terminal_segment','Boolean', desc="model_should_have_at_least_one_E_at_terminal_segment", default='false'),
6545  Option('model_should_have_at_least_1_E','Boolean', desc="model_should_have_at_least_one_E", default='false'),
6546  Option('model_should_have_at_least_1_H','Boolean', desc="model_should_have_at_least_one_H", default='false'),
6547  Option('leave_models_with_E_terminal_ss','Boolean', desc="leave only models_with_E_terminal_ss", default='false'),
6548  Option('leave_models_with_H_terminal_ss','Boolean', desc="leave only models_with_H_terminal_ss", default='false'),
6549  Option('leave_antiparallel_way_H_bonded_models_by_terminal_strands','Boolean', desc="leave only anti-pa H_bonded_models by_terminal_strands", default='false'),
6550  Option('leave_parallel_way_H_bonded_models_by_terminal_strands','Boolean', desc="leave only pa H_bonded_models by_terminal_strands", default='false'),
6551  Option('leave_certain_model_ids','Boolean', desc="Only models with selected ids are left", default='false'),
6552  Option('leave_these_model_ids','String', desc="Only models with selected ids are left"),
6553  Option('box_length','Integer', desc="Neighborhood lookup box size, 3 for 27 boxes, 4 for 64 boxes etc",default='3'),
6554 
6555  ##sewing_hasher and ModelDumper options
6556  Option( 'mode', 'String',
6557  desc="The mode sewing_hasher should run.",
6558  default='hash',
6559  legal=["hash", "generate", "generate_five_ss_model", "convert", "test"]),
6560 
6561  Option('disregard_num_segment_matches','Boolean', desc="if true, disregard num_segment_matches"),
6562  Option('do_not_remove_connection_inconsistencies','Boolean', desc="if true, do not remove_connection_inconsistencies"),
6563  Option('score_between_opposite_terminal_segments','Boolean', desc="if true, score_between_opposite_terminal_segments like 1-5 or 5-1"),
6564  Option('num_models_to_dump','Integer', desc="Used for ModelDumper. How many random models should be dumped?"),
6565  Option('models_to_dump','IntegerVector', desc="Used for ModelDumper for specifying model ids you want to dump"),
6566  Option('min_hash_score','Integer', desc="Minimum number of overlapping atoms per segment", default='10'),
6567  Option('max_clash_score','Integer', desc="Maximum number of atoms found in the same bin, but not from superimposed fragments",default='0'),
6568  Option('num_segments_to_match','Integer', desc="Number of segments required to have min_hash_score atom matches",default='1'),
6569  Option('match_segments','IntegerVector', desc="Segment scored by the hasher"),
6570 
6571  Option('max_models','Integer', desc="Maximum models to hash, for testing purposes only"),
6572  Option('starting_model','Integer', desc="Starting model for hashing"),
6573  Option('num_procs','Integer', desc="Number of processors to split up hashing with"),
6574  Option('rank','Integer', desc="The processor rank for this process"),
6575  Option('hash_tag_only_terminal_Es','Boolean', desc="hash_tag_only_terminal_Es",default='false'),
6576 
6577  ##Base AssemblyMover options
6578  Option('assembly_type','String', desc="Type of Assembly class to generate", default='continuous'),
6579  Option('num_edges_to_follow','Integer',desc="Maximum number of edges on graph to follow"),
6580  Option('base_native_bonus','Real',desc="Weighting term for packing native rotamers"),
6581  Option('neighbor_cutoff','Integer',desc="Cutoff for favoring natives in SEWING refinement. Any residues with fewer neighbors is not favored"),
6582  Option('dump_pdbs','Boolean', desc="Dump intermediate PDBs", default='false'),
6583  Option('skip_refinement','Boolean', desc="Should you refine the final assembly", default='false'),
6584  Option('skip_filters','Boolean', desc="Should the Assembly be filtered before refinment", default='false'),
6585  Option('min_motif_score','Real',desc="Minimum allowable motif score", default='20'),
6586  Option('may_add_already_added_model','Boolean',desc="may_add_already_added_model", default='false'),
6587 
6588  ##ClashScore options
6589  Option('offset_bump_dsq','Real', desc="offset to bump_dsq", default='0'),
6590 
6591  ##RepeatAssembly options
6592  Option('num_repeats','Integer', desc="Number of repeats to print in final structures", default='3'),
6593  Option('repeat','Boolean', desc="Should the AssemblyConstraintsMover treat this as a repeat?", default='false'),
6594 
6595  ##SewingAppend options
6596  Option('pose_segment_starts','IntegerVector', desc="Segment begin indices"),
6597  Option('pose_segment_ends','IntegerVector', desc="Segment end indices"),
6598  Option('keep_source_segments', 'Boolean', desc="Keep the source segments rather than the target segments. For use with append", default='false'),
6599  Option('partner_pdb', 'File', desc="A PDB that is not part of the Assembly, but will be used for clash checking"),
6600  Option('keep_model_residues', 'IntegerVector', desc="A list of residues from the input pose that will not be designed (but are repacked)"),
6601 
6602  ##LoopHashAssemblyMover options
6603  Option('min_lh_fragments','Integer', desc="Minimium number of LoopHash fragments necessary for each designed loop", default='10'),
6604  Option('skip_loop_generation','Boolean', desc="Should you skip generation of loops", default='false'),
6605 
6606  ##ExhaustiveAssemblyMover options
6607  Option('max_ss_num','Integer', desc="max_ss_num so either 3 (smotif) or 5 (5-ss_models)", default='5'),
6608  Option('dump_every_model','Boolean', desc="dump_every_model", default='false'),
6609  ), # -sewing
6610 
6611  Option_Group( 'SSrbrelax',
6612 # Option( 'input_pdb','File', desc='input pdb file', default='input_pdb' ),
6613  Option( 'rb_file','File', desc='rb definition file', default='rb_file' ),
6614  Option( 'rb_param_file','File', desc='rb param file', default='rb_param_file' ),
6615  Option( 'frag_sizes','IntegerVector', desc='lengths of fragments to be used in loop modeling', default=['9','3','1']),
6616  Option( 'frag_files', 'FileVector', desc='fragment libraries files', default=['FragFile9','FragFile3','FragFile1'] ),
6617  ), # -SSrbrelax
6618 
6619  ################################
6620  # step-wise assembly options
6621  Option_Group( 'stepwise',
6622  Option( 's1', 'StringVector',desc="input file(s)"),
6623  Option( 's2', 'StringVector',desc="input file(s)"),
6624  Option( 'silent1', 'StringVector',desc="input file"),
6625  Option( 'silent2', 'StringVector',desc="input file"),
6626  Option( 'tags1', 'StringVector',desc="input tag(s)"),
6627  Option( 'tags2', 'StringVector',desc="input tag(s)"),
6628  Option( 'slice_res1', 'IntegerVector',desc='Residues to slice out of starting file',default=[]),
6629  Option( 'slice_res2', 'IntegerVector',desc='Residues to slice out of starting file',default=[]),
6630  Option( 'input_res1', 'IntegerVector',desc='Residues already present in starting file',default=[]),
6631  Option( 'input_res2', 'IntegerVector',desc='Residues already present in starting file2',default=[]),
6632  Option( 'backbone_only1', 'Boolean', desc="just copy protein backbone DOFS, useful for homology modeling"),
6633  Option( 'backbone_only2', 'Boolean', desc="just copy protein backbone DOFS, useful for homology modeling"),
6634  Option( 'fixed_res', 'IntegerVector', desc='Do not move these residues during minimization.', default=[] ),
6635  Option( 'test_encapsulation', 'Boolean', desc="Test ability StepWiseRNA Modeler to figure out what it needs from just the pose - no JobParameters", default="false" ),
6636  Option( 'choose_random', 'Boolean', desc="ask swa residue sampler for a random solution", default="false" ),
6637  Option( 'num_random_samples', 'Integer', desc="In choose_random/monte-carlo mode, number of samples from swa residue sampler before minimizing best", default="20" ),
6638  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" ),
6639  Option( 'num_pose_minimize','Integer', desc='optional: set_num_pose_minimize by Minimizer', default='0' ),
6640  Option( 'atr_rep_screen', 'Boolean', desc='In sampling, screen for contacts (but no clash) between partitions before packing',default='true' ),
6641  Option( 'atr_rep_screen_for_docking', 'Boolean', desc='In just docking moves, screen for contacts (but no clash) between partitions before packing',default='false' ),
6642  Option( 'align_pdb', 'String', desc='PDB to align to. Default will be -native, or no alignment', default='' ),
6643  Option( 'enumerate', 'Boolean', desc="For SWM. Force enumeration (SWA-like) instead of random", default="false" ),
6644  Option( 'preminimize', 'Boolean', desc="For SWM. Just prepack and minimize", default="false" ),
6645  Option( 'skip_preminimize', 'Boolean', desc="Skip preminimize before stepwise monte carlo", default="false" ),
6646  Option( 'test_all_moves', 'Boolean', desc="Try all moves from starting pose, recursing through additions ", default="false" ),
6647  Option( 'new_move_selector', 'Boolean', desc="For SWM. Use new move selector which does keep track of proposal probabilities.", default="true" ),
6648  Option( 'dump', 'Boolean', desc="Dump intermediate silent & PDB files",default="false" ),
6649  Option( 'VERBOSE', 'Boolean', desc= "VERBOSE", default='false' ),
6650  Option( 'use_green_packer', 'Boolean', desc= "use packer instead of rotamer trials for side-chain packing and O2' optimization", default='false' ),
6651  Option( 'rmsd_screen', 'Real', desc="keep sampled residues within this rmsd from the native pose",default="0.0" ),
6652  Option( 'skip_minimize', 'Boolean', desc="Skip minimize, e.g. in prepack step",default="false" ),
6653  Option( 'virtualize_packable_moieties_in_screening_pose', 'Boolean', desc="Virtualize 2'-OH, terminal phosphates in stepwise contact screening, before actual packing ",default="false" ),
6654  Option( 'sampler_silent_file', 'String', desc='In StepWiseConnectionSampler, where to output all poses that pass filters', default='' ),
6655  Option( 'superimpose_over_all', 'Boolean', desc='In final superimposition, do not keep any domains fixed, superimpose over everything',default="false" ),
6656  Option( 'move', 'StringVector', desc="For SWM. Format: 'ADD 5 BOND_TO_PREVIOUS 4'", default=[] ),
6657  Option( 'min_type', 'String', desc="Minimizer type",default="dfpmin_armijo_nonmonotone" ),
6658  Option( 'min_tolerance', 'Real', desc="Minimizer tolerance",default="0.000025" ),
6659  Option( 'vary_polar_hydrogen_geometry', 'Boolean', desc='Optimize hydrogens that form hydrogen bonds', default='false' ),
6660  Option( 'output_minimized_pose_list', 'Boolean', desc='Use legacy output that puts out all minimized poses; set to true in legacy SWA', default='false' ),
6661  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' ),
6662  Option( 'output_cluster_size', 'Boolean', desc="Output cluster_size in StepWiseClusterer as an extra score in the pose", default='false' ),
6663  Option( 'lores', 'Boolean', desc="Use coarse-grained energy function to sample; no minimize.", default='false' ),
6664  Option( 'verbose_sampler', 'Boolean', desc="verbose output from StepWiseConnectionSampler sample-and-screen.", default='false' ),
6665 
6666  Option_Group( 'monte_carlo',
6667  Option( 'verbose_scores', 'Boolean', desc= "Show all score components", default='false' ),
6668  Option( 'skip_deletions', 'Boolean', desc= "no delete moves -- just for testing", default='false' ),
6669 # Option( 'erraser', 'Boolean', desc= "Use KIC sampling", default='true' ),
6670  Option( 'allow_internal_hinge_moves', 'Boolean', desc= "Allow moves in which internal suites are sampled (hinge-like motions)", default='true' ),
6671  Option( 'allow_internal_local_moves', 'Boolean', desc= "Allow moves in which internal cutpoints are created to allow ERRASER rebuilds", default='true' ),
6672  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' ),
6673  Option( 'skip_bulge_frequency', 'Real', desc= "Compared to 'normal' add moves, how often to skip a bulge and do addition.", default='0.0' ),
6674  Option( 'from_scratch_frequency', 'Real', desc= "Allow modeling of 'free' dinucleotides that are not part of input poses", default='0.1' ),
6675  Option( 'allow_split_off', 'Boolean', desc= "Allow chunks that do not contain fixed domains to split off after nucleating on fixed domains.", default='true' ),
6676  Option( 'cycles', 'Integer', desc= "Number of Monte Carlo cycles", default='50' ),
6677  Option( 'temperature', 'Real', desc= "Monte Carlo temperature", default='1.0' ),
6678  Option( 'add_proposal_density_factor', 'Real', desc= "Increase/decrease the proposal_density_ratio for add moves by this factor", default='1.0' ),
6679  Option( 'add_delete_frequency', 'Real', desc= "Frequency of add/delete vs. resampling", default='0.5' ),
6680  Option( 'docking_frequency', 'Real', desc= "Frequency of docking vs. folding moves", default='0.2' ),
6681  Option( 'submotif_frequency', 'Real', desc= "Frequency of submotif additions", default='0.2' ),
6682  Option( 'intermolecular_frequency', 'Real', desc= "Same as -docking_frequency, to be deprecated soon", default='0.2' ),
6683  Option( 'minimize_single_res_frequency', 'Real', desc= "Frequency with which to minimize the residue that just got rebuilt, instead of all", default='0.0' ),
6684  Option( 'allow_variable_bond_geometry', 'Boolean', desc= "In 10% of moves, let bond angles & distance change", default='true' ),
6685  Option( 'switch_focus_frequency', 'Real', desc= "Frequency with which to switch the sub-pose that is being modeled", default='0.5' ),
6686  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' ),
6687  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' ),
6688  Option( 'make_movie', 'Boolean', desc= "create silent files in movie/ with all steps and accepted steps", default='false' ),
6689  Option( 'recover_low', 'Boolean', desc="Output lowest energy model in monte carlo, not the last frame", default='true' ),
6690  Option( 'use_precomputed_library', 'Boolean', desc="In from_scratch moves, do not sample dinucleotides explicitly, but instead use library saved to disk.", default='true' ),
6691  Option( 'allow_submotif_split', 'Boolean', desc="for submotif moves, allow submotifs to be split. (inconsistent with detailed balance.)", default='false' ),
6692  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' ),
6693  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' ),
6694  Option( 'vary_loop_length_frequency', 'Real', desc="In design, allow loops ('n') to shorten from loop lengths defined in FASTA files.", default='0.0'),
6695  Option_Group( 'csa',
6696  Option( 'csa_bank_size', 'Integer', desc='Do conformational space annealing (population monte carlo) with this number of models in the bank',default='0' ),
6697  Option( 'csa_rmsd', 'Real', desc='RMSD cutoff for calling two poses different in conformational space annealing (population monte carlo)',default='1.0' ),
6698  Option( 'csa_output_rounds', 'Boolean', desc='output silent files at intermediate stages (at integral multiples of bank_size)',default='false' ),
6699  ),
6700  ), # -stepwise:monte_carlo
6701  Option_Group( 'rna',
6702  Option( 'sampler_num_pose_kept', 'Integer', desc="set_num_pose_kept by ResidueSampler )", default='108' ),
6703  Option( 'native_edensity_score_cutoff', 'Real', desc= "native_edensity_score_cutoff", default='-1.0' ), #Fang's electron density code,
6704  Option( 'o2prime_legacy_mode', 'Boolean', desc="complete virtualization of O2' hydrogen during sampling, and then complete restoration and packing", default='false' ),
6705  Option( 'allow_virtual_o2prime_hydrogens', 'Boolean', desc= "allow O2' hydrogen to be virtualized during packing.", default='false' ),
6706  Option( 'sampler_perform_phosphate_pack', 'Boolean', desc= "perform terminal phosphate packing inside StepWiseRNA_ResidueSampler", default='false' ),
6707  Option( 'force_phosphate_instantiation', 'Boolean', desc= "Require terminal phosphates to be instantiated.", default='false' ),
6708  Option( 'distinguish_pucker', 'Boolean', desc= "distinguish pucker when cluster:both in sampler and clusterer", default='true' ),
6709  Option( 'finer_sampling_at_chain_closure', 'Boolean', desc= "Sampler: finer_sampling_at_chain_closure", default='false' ), #Jun 9, 201,
6710  Option( 'PBP_clustering_at_chain_closure', 'Boolean', desc= "Sampler: PBP_clustering_at_chain_closure", default='false' ),
6711  Option( 'sampler_allow_syn_pyrimidine', 'Boolean', desc="sampler_allow_syn_pyrimidine", default='false' ), #Nov 15, 2010
6712  Option( 'sampler_extra_chi_rotamer', 'Boolean', desc="Sampler: extra_syn_chi_rotamer", default='false' ),
6713  Option( 'sampler_extra_beta_rotamer', 'Boolean', desc="Sampler: extra_beta_rotamer", default='false' ),
6714  Option( 'sampler_extra_epsilon_rotamer', 'Boolean', desc="Sampler: extra_epsilon_rotamer", default='true' ), #Change this to true on April 9, 2011
6715  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
6716  Option( 'virtual_sugar_legacy_mode', 'Boolean', desc="In virtual sugar sampling, use legacy protocol to match Parin's original workflow", default='false' ),
6717  Option( 'VDW_rep_optimize_memory_usage', 'Boolean', desc="RNA_VDW_BinChecker, do not store vector of occupied xyz bins.", default='false' ),
6718  Option( 'erraser', 'Boolean', desc="Use KIC sampling", default='false' ),
6719  Option( 'centroid_screen', 'Boolean', desc="centroid_screen", default='true' ),
6720  Option( 'VDW_atr_rep_screen', 'Boolean', desc="classic VDW_atr_rep_screen", default='true' ),
6721  Option( 'minimize_and_score_native_pose', 'Boolean', desc="minimize_and_score_native_pose ", default='false' ), #Sept 15, 2010
6722  Option( 'rm_virt_phosphate', 'Boolean', desc="Remove virtual phosphate patches during minimization", default='false' ),
6723  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
6724  Option( 'VDW_rep_alignment_RMSD_CUTOFF', 'Real', desc="use with VDW_rep_screen_info", default='0.001' ), #Nov 12, 2010
6725  Option( 'VDW_rep_delete_matching_res', 'StringVector', desc="delete residues in VDW_rep_pose that exist in the working_pose", default=[] ), #Feb 20, 2011
6726  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
6727  Option( 'integration_test', 'Boolean', desc=" integration_test ", default='false' ), #March 16, 2012
6728  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' ),
6729  Option( 'parin_favorite_output', 'Boolean', desc=" parin_favorite_output ", default='true' ), #Change to true on Oct 10, 2010
6730  Option( 'reinitialize_CCD_torsions', 'Boolean', desc="Sampler: reinitialize_CCD_torsions: Reinitialize_CCD_torsion to zero before every CCD chain closure", default='false' ),
6731  Option( 'sample_both_sugar_base_rotamer', 'Boolean', desc="Sampler: Super hacky for SQUARE_RNA", default='false' ),
6732  Option( 'sampler_include_torsion_value_in_tag', 'Boolean', desc="Sampler:include_torsion_value_in_tag", default='true' ),
6733  Option( 'sampler_assert_no_virt_sugar_sampling', 'Boolean', desc="sampler_assert_no_virt_sugar_sampling", default='false' ), #July 28, 2011
6734  Option( 'sampler_try_sugar_instantiation', 'Boolean', desc="for floating base sampling, try to instantiate sugar if it looks promising", default='false' ), #July 28, 2011
6735  Option( 'do_not_sample_multiple_virtual_sugar', 'Boolean', desc=" Sampler: do_not_sample_multiple_virtual_sugar ", default='false' ),
6736  Option( 'sample_ONLY_multiple_virtual_sugar', 'Boolean', desc=" Sampler: sample_ONLY_multiple_virtual_sugar ", default='false' ),
6737  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
6738  Option( 'minimizer_rename_tag', 'Boolean', desc="Reorder and rename the tag by the energy_score", default='true' ), #March 15, 2012
6739  Option( 'minimize_res', 'IntegerVector', desc='alternative to fixed_res', default=[] ),
6740  Option( 'alignment_res', 'StringVector', desc="align_res_list", default=[] ),
6741  Option( 'native_alignment_res', 'IntegerVector', desc="optional: native_alignment_res ", default=[] ),
6742  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=[] ),
6743  Option( 'missing_res', 'IntegerVector', desc='Residues missing in starting pose_1, alternative to input_res',default=[] ),
6744  Option( 'missing_res2', 'IntegerVector', desc='Residues missing in starting pose_2, alternative to input_res2',default=[] ),
6745  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' ),
6746  Option( 'minimize_and_score_sugar', 'Boolean', desc="minimize and sugar torsion + angle? and include the rna_sugar_close_score_term ", default='true' ),
6747  Option( 'global_sample_res_list', 'IntegerVector', desc="A list of all the nucleotide to be build/sample over the entire dag.",default=[] ),
6748  Option( 'filter_output_filename', 'File', desc="CombineLongLoopFilterer: filter_output_filename", default="filter_struct.txt" ),
6749  Option( 'combine_long_loop_mode', 'Boolean', desc=" Sampler: combine_long_loop_mode ", default="false" ),
6750  Option( 'combine_helical_silent_file', 'Boolean', desc="CombineLongLoopFilterer: combine_helical_silent_file", default="false" ),
6751  Option( 'output_extra_RMSDs', 'Boolean', desc="output_extra_RMSDs", default="false" ),
6752  Option( 'protonated_H1_adenosine_list', 'IntegerVector', desc="optional: protonate_H1_adenosine_list", default=[] ),
6753  Option( 'native_virtual_res', 'IntegerVector', desc=" optional: native_virtual_res ", default=[] ),
6754  Option( 'simple_append_map', 'Boolean', desc="simple_append_map", default="false" ),
6755  Option( 'allow_fixed_res_at_moving_res', 'Boolean', desc="mainly just to get Hermann Duplex modeling to work", default="false" ),
6756  Option( 'force_user_defined_jumps', 'Boolean', desc="Trust and use user defined jumps", default="false" ),
6757  Option( 'jump_point_pairs', 'StringVector', desc="optional: extra jump_points specified by the user for setting up the fold_tree ", default=[] ),
6758  Option( 'add_virt_root', 'Boolean', desc="add_virt_root", default="false" ),
6759  Option( 'floating_base', 'Boolean', desc=" floating_base ", default="false" ),
6760  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" ),
6761  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" ),
6762  Option( 'rebuild_bulge_mode', 'Boolean', desc="rebuild_bulge_mode", default="false" ),
6763  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" ),
6764  Option( 'virtual_sugar_do_minimize', 'Boolean', desc="When instantiating virtual sugar, minimize (as in original SWA code) -- takes extra time!", default="true" ),
6765  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
6766  Option( 'filter_user_alignment_res', 'Boolean', desc=" filter_user_alignment_res ", default="true" ),
6767  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" ),
6768  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" )
6769  ), # -stepwise:rna
6770  Option_Group( 'protein',
6771  Option( 'global_optimize', 'Boolean', desc="In clustering, packing, minimizing, use all residues.",default="false" ),
6772  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" ),
6773  Option( 'sample_beta', 'Boolean', desc="sample beta strand pairing -- later need to specify parallel/antiparallel",default="false" ),
6774  Option( 'ghost_loops', 'Boolean', desc="Virtualize loops in centroid screening",default="false" ),
6775  Option( 'centroid_screen', 'Boolean', desc="Centroid Screen",default="false" ),
6776  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" ),
6777  Option( 'centroid_weights', 'String', desc="weights for centroid filter",default="score3.wts" ),
6778  Option( 'score_diff_cut', 'Real', desc="score difference cut for clustering",default="10.0" ),
6779  Option( 'filter_native_big_bins', 'Boolean', desc="Figure out various terms for score12",default="false" ),
6780  Option( 'cluster_by_all_atom_rmsd', 'Boolean', desc="cluster by all atom rmsd",default="false" ),
6781  Option( 'centroid_output', 'Boolean', desc="output centroid structure during screening",default="false" ),
6782  Option( 'n_sample', 'Integer', desc="number of samples per torsion angle",default="18" ),
6783  Option( 'nstruct_centroid', 'Integer', desc="Number of decoys to output from centroid screening",default="0" ),
6784  Option( 'ccd_close', 'Boolean', desc="Close loops with CCD",default="false" ),
6785  Option( 'bridge_res', 'IntegerVector', desc="instead of enumerative sampling of backbone torsions, combine silent files that contains pieces of loops", default=[] ),
6786  Option( 'cart_min', 'Boolean', desc="Use cartesian minimizer",default="false" ),
6787  Option( 'move_jumps_between_chains', 'Boolean', desc="Move all jumps",default="false" ),
6788  Option( 'use_packer_instead_of_rotamer_trials', 'Boolean', desc="Use packer instead of rotamer trials in residue sampling",default="false" ),
6789  Option( 'expand_loop_takeoff', 'Boolean', desc="expand -sample_res loop to include connection to previous/next residues",default="false" ),
6790  Option( 'skip_coord_constraints', 'Boolean', desc='Skip first stage of minimize with coordinate constraints',default='false' ),
6791  Option( 'allow_virtual_side_chains', 'Boolean', desc='In packing, allow virtual side chains',default='true' ),
6792  Option( 'protein_prepack', 'Boolean', desc='In packing, prepack separate partitions',default='true' ),
6793  Option( 'disulfide_file', 'String', desc='File with pairs of numbers for desired disulfides.', default=''),
6794  ), # -stepwise:protein
6795  ), # -stepwise
6796 
6797  ################################
6798  # full_model_info --> may replace stepwise stuff above.
6799  Option_Group( 'full_model',
6800  Option( 'cutpoint_open', 'ResidueChainVector',desc='open cutpoints in full model',default=[]),
6801  Option( 'cutpoint_closed', 'ResidueChainVector',desc='closed cutpoints in full model',default=[]),
6802  Option( 'other_poses', 'StringVector',desc='list of PDB files containing other poses'),
6803  Option( 'jump_res', 'ResidueChainVector', desc= "optional: residues for defining jumps -- please supply in pairs", default=[] ),
6804  Option( 'extra_min_res', 'ResidueChainVector', desc= "specify residues other than those being built that should be minimized", default=[] ),
6805  Option( 'extra_min_jump_res', 'ResidueChainVector', desc= "specify jump-connected pairs other than those being built that should be minimized", default=[] ),
6806  Option( 'root_res', 'ResidueChainVector', desc= "optional: desired root res (used in SWM move testing)", default=[] ),
6807  Option( 'virtual_sugar_res', 'ResidueChainVector', desc= "optional: starting virtual sugars (used in SWM move testing)", default=[] ),
6808  Option( 'virtual_res', 'ResidueChainVector', desc="optional: residues for defining virtual residues", default=[] ),
6809  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=[] ),
6810  Option( 'calc_rms_res', 'ResidueChainVector', desc="residues over which to calculate rms for SWA. Not in wide use anymore.", default=[] ),
6811  Option( 'working_res', 'ResidueChainVector', desc="residues that are being built [by default will be set from sample_res and any input pdbs]", default=[] ),
6812  Option( 'motif_mode','Boolean',desc='in fixed PDB parts, minimize residues right next to loops & disallow pair/stacking in most distal residues',default='false'),
6813  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'),
6814  Option_Group( 'rna',
6815  Option( 'terminal_res', 'ResidueChainVector', desc="optional: residues that are not allowed to stack during sampling", default=[] ),
6816  Option( 'block_stack_above_res', 'ResidueChainVector', desc="optional: residues on which other residues cannot stack above (uses repulsion atoms)", default=[] ),
6817  Option( 'block_stack_below_res', 'ResidueChainVector', desc="optional: residues on which other residues cannot stack below (uses repulsion atoms)", default=[] ),
6818  Option( 'force_syn_chi_res_list', 'ResidueChainVector', desc="optional: sample only syn chi for the res in sampler.", default=[] ),
6819  Option( 'force_anti_chi_res_list', 'ResidueChainVector', desc="optional: sample only anti chi for the res in sampler.", default=[] ),
6820  Option( 'force_north_sugar_list', 'ResidueChainVector', desc="optional: sample only north sugar for the res in sampler.", default=[] ),
6821  Option( 'force_south_sugar_list', 'ResidueChainVector', desc="optional: sample only south sugar for the res in sampler.", default=[] ),
6822  Option( 'bulge_res', 'ResidueChainVector', desc="optional: residues to be turned into a bulge variant", default=[] ),
6823  Option( 'sample_sugar_res', 'ResidueChainVector', desc="optional: residues in fixed input pose whose sugars can still move", default=[] ),
6824  ), # -full_model:rna
6825  ), # -full_model
6826 
6827  ## strand assembly options
6828  Option_Group( 'strand_assembly',
6829  # all options are for StrandBundleFeaatures only, since SandwichFeatures are dealt with parse_my_tag
6830  # default values are in code
6831  Option('min_num_strands_to_deal','Integer', desc="Minimum number of strands to handle beta-sandwich"),
6832  Option('max_num_strands_to_deal','Integer', desc="Maximum number of strands to handle beta-sandwich"),
6833  Option('extract_native_only', 'Boolean', desc="if true, extract native full strands only"),
6834  Option('min_res_in_strand','Integer', desc="minimum number of residues in a strand, for edge strand definition & analysis"),
6835  Option('max_res_in_strand','Integer', desc="Maximum number of residues in a strand, for edge strand definition & analysis"),
6836  Option('min_O_N_dis','Real', desc="Minimum distance between backbone oxygen and backbone nitrogen"),
6837  Option('max_O_N_dis','Real', desc="Maximum distance between backbone oxygen and backbone nitrogen"),
6838  Option('min_sheet_dis','Real', desc="Minimum distance between sheets (CA and CA)"),
6839  Option('max_sheet_dis','Real', desc="Maximum distance between sheets (CA and CA)"),
6840  Option('min_sheet_torsion','Real', desc="Minimum torsion between sheets (CA and CA) with respect to terminal residues"),
6841  Option('max_sheet_torsion','Real', desc="Maximum torsion between sheets (CA and CA) with respect to terminal residues"),
6842  Option('min_sheet_angle','Real', desc="Minimum angle between sheets (CA and CA)"),
6843  Option('max_sheet_angle','Real', desc="Maximum angle between sheets (CA and CA)"),
6844  Option('min_shortest_dis_sidechain_inter_sheet','Real', desc="minimum distance between sidechains between sheets (pairs of strands)"),
6845  ), # -strand_assembly
6846 
6847  #################################TailSegment####################################################
6848  Option_Group( 'TailSegment',
6849  Option( 'refine_cycles', 'Integer', desc='refinement phase runs for <input> cycles', default = '100' ),
6850  Option( 'refine_repack_cycles', 'Integer', desc='refinement phase runs repack every <input> cycles', default = '10' ),
6851  ), # -TailSegment
6852 
6853  Option_Group( 'templates',
6854  Option( 'config', 'File', desc='read a list of templates and alignments', default='templates.dat' ),
6855  Option( 'fix_aligned_residues', 'Boolean', desc='pick only from template fragments and then keep these residues fixed', default='false' ),
6856  Option( 'fix_frag_file', 'File', desc=' fragments from this file are picked once in beginning and then kept fixed', default='' ),
6857  Option( 'fix_margin', 'Integer', desc='keep n residues at edges of fixed fragments moveable', default='1' ),
6858  Option( 'min_nr_large_frags', 'Integer', desc='how many large fragments should be present', default='100000' ),
6859  Option( 'min_nr_small_frags', 'Integer', desc='how many small fragments should be present', default='100000' ),
6860  Option( 'no_pick_fragments', 'Boolean', desc='no further fragment picking from templates', default='false' ),
6861  Option( 'nr_large_copies', 'Integer', desc='make N copies of each picked template fragment -- a hacky way to weight them', default='4' ),
6862  Option( 'nr_small_copies', 'Integer', desc='make N copies of each picked template fragment -- a hacky way to weight them', default='20' ),
6863  Option( 'pairings', 'Boolean', desc='use pairings from templates', default='false' ),
6864  Option( 'pick_multiple_sizes', 'Boolean', desc='pick 9mers, 18mers and 27mers', default='false' ),
6865  Option( 'strand_constraint', 'Boolean', desc='use the template-based strand-constraints', default='false' ),
6866  Option( 'vary_frag_size', 'Boolean', desc='pick fragments as long as aligned regions', default='false' ),
6867  Option( 'no_culling', 'Boolean', desc='dont throw out constraints that are violated by other templates', default='false' ),
6868  Option( 'helix_pairings', 'File', desc='file with list of pairings that are enforced (pick jumps from templates with H)', default='' ),
6869  Option( 'prefix', 'File', desc='path for config directory -- applied to all filenames in template_config_file', default='' ),
6870  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' ),
6871  Option( 'force_native_topology', 'Boolean', desc='force the native toplogy (geometries from templates)', default='false' ),
6872  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' ),
6873  Option( 'min_frag_size', 'Integer', desc='smallest fragment picked from aligned template regions', default='6' ),
6874  Option( 'max_shrink', 'Integer', desc='pick fragments up to max_shrink smaller than aligned regions', default='0' ),
6875  Option( 'shrink_step', 'Integer', desc='shrink_step 5 , eg., 27mer 22mer 17mer', default='5' ),
6876  Option( 'shrink_pos_step', 'Integer', desc='distance between start pos in shrinked fragments', default='5' ),
6877  Option( 'min_padding', 'Integer', desc='minimum space between fragment and gap', default='0' ),
6878  Option( 'min_align_pos', 'Integer', desc='ignore aligned residues before this position', default='0' ),
6879  Option( 'max_align_pos', 'Integer', desc='ignore aligned residues after this position', default='-1' ),
6880 
6881  Option_Group( 'cst',
6882  Option( 'topN', 'Integer', desc='topN ranking models are used for constraints ( culling and source )', default='0' ),
6883  Option( 'wTopol', 'Real', desc='weight for beta-pairing topology score in ranking', default='0.5' ),
6884  Option( 'wExtern', 'Real', desc='weight for external score ( column in template_config_file, e.g, svn-score', default='0.5' ),
6885  ),
6886 
6887  Option_Group( 'fragsteal',
6888  Option( 'topN', 'Integer', desc='topN ranking models are used for fragment stealing', default='0' ),
6889  Option( 'wTopol', 'Real', desc='weight for beta-pairing topology score in ranking', default='0.5' ),
6890  Option( 'wExtern', 'Real', desc='weight for external score ( column in template_config_file, e.g, svn-score', default='0.5' ),
6891  ),
6892  ), # -templates
6893 
6894  ## Unfolded State Options ##
6895  Option_Group( 'unfolded_state',
6896  Option( 'unfolded_energies_file', 'File', desc='path to an alternative unfolded state energies file' ),
6897  Option( 'split_unfolded_energies_file', 'File', desc='path to an alternative split unfolded state energies file' ),
6898  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'], ),
6899  ), # -unfolded_state
6900 
6901  Option_Group( 'wum',
6902  Option( 'n_slaves_per_master', 'Integer', default='64' , desc = 'A value between 32 and 128 is usually recommended' ),
6903  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' ),
6904  Option( 'memory_limit', 'Integer', default = '0', desc = 'Memory limit for queues (in kB) ' ),
6905 
6906  Option( 'extra_scorefxn', 'String', desc='Extra score function for post-batchrelax-rescoring' ),
6907  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)' ),
6908  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)' ),
6909  Option( 'trim_proportion', 'Real', default='0.0' ),
6910 
6911  ), # -wum
6912 
6913 #######################################
6914 # Personal/Pilot option groups
6915 # Please keep in alphabetical order
6916 
6917  ## Options for Spencer Bliven's apps
6918  Option_Group( 'blivens',
6919  Option_Group( 'disulfide_scorer',
6920  Option( 'nds_prob', 'Real', desc='The probability of scoring a non-disulfide pair', default = '0.0' ),
6921  Option( 'cys_prob', 'Real', desc='The probability of outputing a pair of non-disulf cysteines. Default to nds_prob', default = '-1.0' ),
6922  ),
6923  Option( 'score_type', 'String', desc='The scoring type to use, eg for a filter.', default = 'total_score' ),
6924  ), # -blivens
6925 
6926 # ###############################################################################
6927 # ## chrisk's crazy options
6928 # Option_Group( 'chrisk',
6929 # Option( 'hb_elec', 'Boolean', desc="turn on hb-elec switch function", default='false' ),
6930 # ), # -chrisk
6931 
6932  Option_Group('cmiles',
6933  Option_Group('kcluster',
6934  Option('num_clusters', 'Integer', desc = 'Number of clusters to use during k clustering')
6935  ),
6936  Option_Group('jumping',
6937  Option('resi', 'Integer', desc = 'Residue i'),
6938  Option('resj', 'Integer', desc = 'Residue j'),
6939  ),
6940  ), # -cmiles
6941 
6942  Option_Group( 'crossmatch',
6943 # Option( 'write_reduced_matchset', 'StringVector',desc="<name> <pdb1> <pdb2> ..."),
6944 # Option( 'interface_size', 'Integer',desc="num CB-CB within 8A",default='30'),
6945 # Option( 'max_dis_any', 'Real',desc="",default='3.0'),
6946 # Option( 'max_dis_all', 'Real',desc="",default='2.6'),
6947 # Option( 'max_dis_metal', 'Real',desc="",default='1.0'),
6948  Option( 'clash_dis', 'Real',desc="",default='3.0'),
6949 # Option( 'identical_match_dis', 'Real',desc="",default='0.0001'),
6950  # Option( 'filterdist' ,'Real' ,desc="MC temp for cen fold", default="2.0" ),
6951  ), # -crossmatch
6952 
6953  ## dwkulp some options for programs
6954  Option_Group( 'dwkulp',
6955  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=""),
6956  ), # -dwkulp
6957 
6958  # evolution mode -----------------------------------------------------------
6959  Option_Group( 'evolution',
6960  Option( 'parentlist', 'FileVector', desc="File(s) containing list(s) of Parent PDB files to process" ),
6961  Option( 'childlist', 'FileVector', desc="File(s) containing list(s) of Parent PDB files to process" ),
6962  Option( 'action' , 'String', desc="One of the following: diversify, intensify ", default = "diversify" ),
6963  Option( 'rms_threshold', 'Real', desc='RMS Clustering threshold', default='3.5'),
6964  Option( 'rms_topmargin', 'Real', desc='RMS Clustering threshold', default='5.0'),
6965  Option( 'targetdir' , 'String', desc="Write target new parent polulation to this directory ! ", default = "./" ),
6966  Option( 'padding_score_filter', 'Real', desc='RMS Clustering threshold', default='5.0'),
6967  Option( 'padding_stage2_filter', 'Real', desc='RMS Clustering threshold', default='15.0'),
6968  ),
6969 
6970  ## options for my pilot apps. No big deal if these need to change!
6971  ## tex
6972  Option_Group( 'james',
6973  Option( 'min_seqsep', 'Integer', default = '0' ),
6974  Option( 'atom_names', 'StringVector', default = 'utility::vector1<std::string>()' ),
6975  Option( 'dist_thresholds', 'RealVector', default = 'utility::vector1<float>(1, 1.0)' ),
6976  Option( 'torsion_thresholds', 'RealVector', default = 'utility::vector1<float>(1, 30.0)' ),
6977 # Option( 'sog_cutoff', 'Real', default='5.0' ),
6978 # Option( 'shift_sog_func', 'Boolean', default = 'true' ),
6979 # Option( 'min_type', 'String', default='dfpmin_armijo_nonmonotone' ),
6980 # Option( 'min_tol', 'Real', default='0.0001' ),
6981  Option( 'debug', 'Boolean', default='false'),
6982  Option( 'real', 'Real', default = '7.0', desc = 'Option for keeping things real.' ),
6983  Option(
6984  'n_designs', 'Integer',
6985  default = '1', desc = 'total number of designs that James should make.'
6986  ),
6987 # Option( 'awesome_mode', 'Boolean', default = 'true', desc = 'activates or deactivates awesome_mode.' ),
6988 # Option( 'n_clusters', 'Integer', default = '10', desc = 'number of clusters for k-means clustering.' ),
6989  Option( 'thread_unaligned', 'Boolean', default = 'false', desc = 'basic_threading without performing an alignment' ),
6990  ),
6991 
6992  Option_Group( 'krassk',
6993 # Option( 'left_tail', 'Integer', default='0' ),
6994 # Option( 'right_tail', 'Integer', default='0' ),
6995  Option( 'tail_mode', 'Boolean', default = 'false'),
6996  Option( 'tail_mode_name', 'Integer', default = '1' ),
6997  Option( 'tail_output_file_name', 'String', default='tail_output'),
6998  ),
6999 
7000  ##options for liz
7001  #Option_Group('liz',
7002  # Option( 'score', 'Boolean', default='true'),
7003  #),
7004 
7005  ## Options for LooDo pilot app (kblacklock)
7006  Option_Group( 'loodo',
7007  Option( 'ins_begin', 'Integer', desc="insertion site (pose numbering)"),
7008  Option( 'cap', 'String', desc="cap pdb", default=""),
7009  Option( 'bot', 'String', desc="bot pdb", default=""),
7010  Option( 'fragAlength', 'IntegerVector', desc='lengths for loop A'),
7011  Option( 'fragBlength', 'IntegerVector', desc='lengths for loop B'),
7012  Option( 'known', 'Integer', desc='length of known interior region'),
7013  Option( 'fragAnative', 'String', desc='native loop A pdb file', default=""),
7014  Option( 'fragBnative', 'String', desc='native loop B pdb file', default=""),
7015  Option( 'gridligpath', 'String', desc='path to gridlig file', default=""),
7016  Option( 'debug', 'Boolean', desc='dump CapHitB pdbs', default="false"),
7017  Option( 'ca_ratio', 'Real', desc='fraction of C-alphas required in active site grid', default='0.5'),
7018  Option( 'distance_tolerance', 'Real', desc='distance cutoff for pairwise Real6 x,y,z comparisons', default='5.0'),
7019  Option( 'euler_tolerance', 'Real', desc='angle cutoff for pairwise Real6 euler angle comparisons', default='15.0'),
7020  Option( 'num_frags', 'Integer', desc='number fragments to pick per frame in library',default='4500'),
7021  Option( 'use_fraglib', 'String', desc='fragment library to use instead of vall database'),
7022  Option( 'use_fraglibsc','String', desc='fragment library to use instead of vall database with sidechain torsions specified'),
7023  Option( 'com_in_grid', 'Boolean', desc='cap center-of-mass required to lie in placement grid', default="false"),
7024  Option( 'loud', 'Boolean', desc='loud output?',default="false"),
7025  Option( 'dump_all_As', 'Boolean', desc='dump passing As',default="false"),
7026  Option( 'dump_all_Bs', 'Boolean', desc='dump passing Bs',default="false"),
7027  Option( 'caphit_rt_file', 'String', desc='name of CapHit_RT or filtered CapHitRT file')
7028  ), #-loodo
7029 
7030  # options for my inv_kin_lig_loop_design program.
7031  Option_Group( 'murphp',
7032  Option( 'inv_kin_lig_loop_design_filename', 'String', desc='input filename to be used for inv_kin_lig_loop_design' ),
7033  ),
7034 
7035  Option_Group( 'peptide_deriver',
7036  Option( 'pep_lengths', 'IntegerVector', desc = 'Length(s) of derived peptides', default = [ '10' ] ),
7037  Option( 'skip_zero_isc', 'Boolean', desc = 'Makes derivation go faster by skipping peptides with 0 interface score', default = 'true' ),
7038  Option( 'dump_peptide_pose', 'Boolean', desc = 'Output pose with peptide cut out (best one for each chain pair)', default = 'false' ),
7039  Option( 'dump_cyclic_poses', 'Boolean', desc = 'Output each cyclic peptide pose (those that are modeled; which is determined by -optimize_cyclic_threshold)', default = 'false' ),
7040  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' ),
7041  Option( 'dump_report_file', 'Boolean', desc = 'Send PeptideDeriver output to a file (<input_name>.peptiderive.txt)', default = 'true' ),
7042  Option( 'restrict_receptors_to_chains', 'StringVector', desc = 'Only use chains listed here as receptors. When empty, consider all chains.', default = [] ),
7043  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 = [] ),
7044  Option( 'do_minimize', 'Boolean', desc = 'Perform minimization before everything.', default = 'true' ),
7045  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' ),
7046  Option( 'report_format', 'String', desc = 'The format of the report. Either \'basic\' (easily parsable format) or \'markdown\' (pretty, readable, but verbose format).', default = 'markdown' ),
7047  Option( 'report_gzip', 'Boolean', desc = 'Gzip report file (only if -dump_report_file is enabled)', default = 'false' ),
7048  ), # peptide_deriver
7049 
7050  ## these are just temporary for hacking/debugging -- if they conflict with something else let me know and
7051  ## I can get rid of them
7052  ## -Phil
7053  Option_Group( 'phil',
7054  #Option( 'nstruct', 'Integer', default='10'),
7055  Option( 'nloop', 'Integer', default='10'),
7056  Option( 'vall_file', 'String'),
7057 # Option( 'align_file', 'String'),
7058  ), # phil
7059 
7060  ##options for Robert
7061  #Option_Group('Robert',
7062  # Option( 'score', 'Boolean', default='true'),
7063  # ),
7064  ## options for my pilot apps. Only the best for Robert!
7065  ## Robert
7066  Option_Group( 'robert',
7067  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)"),
7068  Option( 'pcs_maxsub_filter', 'Real', default='0.9', desc="minimum normalized maxsub for PCS clustering protocol"),
7069  Option( 'pcs_maxsub_rmsd', 'Real', default='4.0', desc="maxsub calculation's rmsd threshold"),
7070  Option( 'pcs_dump_cluster', 'Boolean', default = 'false'),
7071  Option( 'pcs_cluster_coverage', 'Real', default='0.3', desc="cluster coverage required"),
7072  Option( 'pcs_cluster_lowscoring', 'Boolean', default = 'true', desc="cluster lowest 20% against lowest 50%"),
7073  ),
7074 
7075  ###############################################################################
7076  ## rotamer analysis options (chrisk)
7077  Option_Group( 'rot_anl',
7078  Option( 'tag', 'String', desc="nametag", default='.' ),
7079 
7080 # Option( 'premin', 'Boolean', desc="do all sc min and dump pdb", default='false' ),
7081  Option( 'min', 'Boolean', desc="do sc min", default='false' ),
7082 # Option( 'diff_to_min', 'Boolean', desc="native pose is post-min", default='false' ),
7083  Option( 'repack', 'Boolean', desc="", default='false' ),
7084  Option( 'rtmin', 'Boolean', desc="", default='false' ),
7085  Option( 'scmove', 'Boolean', desc="", default='false' ),
7086  Option( 'design', 'Boolean', desc="", default='false' ),
7087 
7088 # Option( 'score_tol', 'Real', desc="score filter for dump_pdb", default='1.0' ),
7089 # Option( 'rmsd_tol', 'Real', desc="rmsd filter for dump_pdb", default='1.0' ),
7090  Option( 'dump_pdb', 'Boolean', desc="dump_pdb when pass thresh", default='false' ),
7091  Option( 'nloop_scmove', 'Integer', desc="base of scmover loop (total=nloop^n_chi)", default='9' ),
7092  ), # -rot_anl
7093 
7094  Option_Group( 'smhybrid',
7095  Option( 'add_cavities', 'Boolean',desc="output cavities in result pdbs", default="false" ),
7096  Option( 'abinitio_design', 'Boolean',desc="do a design run in centroid mode", default="true" ),
7097  Option( 'fa_refine', 'Boolean',desc="Do nobu's flxbb", default="true" ),
7098  Option( 'virtual_nterm', 'Boolean',desc="remove Nterm", default="false" ),
7099  Option( 'debug', 'Boolean',desc="debug", default="false" ),
7100  Option( 'refine', 'Boolean',desc="don't do bit centroid moves", default="false" ),
7101 # Option( 'filter', 'Boolean',desc="filter centroid results as you go", default="false" ),
7102 # Option( 'floating_scs_rep', 'Boolean',desc="should floating scs repel those in other subunits?", default="false" ),
7103 # Option( 'flxbb', 'Boolean',desc="allow bb moves in minimization", default="false" ),
7104  Option( 'centroid_all_val', 'Boolean',desc="mutate all to VAL in centroid mode", default="false" ),
7105  Option( 'subsubs_attract' , 'Boolean',desc="attract subsubs togeher", default="false" ),
7106  Option( 'linker_cst' , 'Boolean',desc="attract N/C termini for linker", default="false" ),
7107  Option( 'pseudosym' , 'Boolean',desc="HACK pseudosymmetry", default="false" ),
7108  Option( 'design_linker' , 'Boolean',desc="allow design on added 'linker' residues", default="true" ),
7109  Option( 'design' , 'Boolean',desc="allow design on added 'linker' residues", default="true" ),
7110  Option( 'restrict_design_to_interface','Boolean',desc="allow design on added 'linker' residues", default="false" ),
7111  Option( 'restrict_design_to_subsub_interface','Boolean',desc="allow design on added 'linker' residues", default="false" ),
7112  Option( 'design_hydrophobic','Boolean',desc="design all hydrophobic", default="false" ),
7113  Option( 'add_metal_at_0' , 'Boolean',desc="DEPRECATED", default="false" ),
7114  Option( 'nres_mono', 'Integer',desc="target number of residues per monomer", default="20" ),
7115  Option( 'abinitio_cycles', 'Integer',desc="number of abinitio cycles", default="10000" ),
7116  Option( 'primary_subsubunit','Integer' ,desc="primary subunut", default="1" ),
7117  Option( 'minbb' ,'Integer' ,desc="level of bb min 0=None 1=little 2=all", default="1" ),
7118  Option( 'switch_concert_sub','Integer' ,desc="assume prmary subsub is on this subunit for concerted RB moves", default="1" ),
7119  Option( 'temperature' ,'Real' ,desc="MC temp for cen fold", default="2.0" ),
7120  Option( 'inter_subsub_cst' ,'Boolean' ,desc="add dis csts inter-subsub", default="false" ),
7121  Option( 'rb_mag' ,'Real' ,desc="magnitude of rb moves", default="1.0" ),
7122 # Option( 'ss', 'String' ,desc="secondary structure", default="" ),
7123  Option( 'symm_def_template', 'File',desc="template for symmetry definition file" ),
7124  Option( 'symm_def_template_reduced', 'File',desc="template for reduced symmetry definition file" ),
7125  Option( 'attach_as_sc', 'IntegerVector',desc="attach the group via side chain" ),
7126  Option( 'attach_as_sc_sub', 'IntegerVector',desc="attach the group via side chain in this sub" ),
7127 # Option( 'inversion_subs', 'IntegerVector',desc="subunits to be inverted, if any" ),
7128  Option( 'chainbreaks', 'BooleanVector',desc="close chainbreak from this subsub to the next" ),
7129  Option( 'design_res_files', 'StringVector',default='""',desc="files containing designable residues for each component pose" ),
7130  Option( 'fixed_res_files', 'StringVector',default='""',desc="files containing fixed residues (no repack even) for each component pose" ),
7131  Option( 'frag_res_files', 'StringVector',default='""',desc="files containing residues ok to insert frags into. will have starting ss" ),
7132  Option( 'scattach_res_files','StringVector',default='""',desc="files containing residues ok to scattach to." ),
7133  Option( 'rep_edge_files','StringVector',default='""',desc="files containing residues which are edge strands." ),
7134  Option( 'virtual_res_files' ,'StringVector',default='""',desc="files containing residues that should be virtual" ),
7135  Option( 'jumpcut_files', 'StringVector',default='""',desc="file specifying jumps and cuts for subsubunits" ),
7136  Option( 'cst_sub_files', 'StringVector',default='""',desc="file specifying which subunits are part of a structural unit and shoudl be constrained"),
7137  Option( 'symm_file_tag', 'StringVector',default='""',desc="label for each subunit" ),
7138  Option( 'attach_atom', 'StringVector',default='""',desc="attach atom on each subunit" ),
7139  Option( 'add_res_before', 'StringVector',default='""',desc="SS to add before each subunit region" ),
7140  Option( 'add_res_after', 'StringVector',default='""',desc="SS to add after each subunit region" ),
7141  Option( 'add_ss_before', 'StringVector',default='""',desc="residues to add" ),
7142  Option( 'add_ss_after', 'StringVector',default='""',desc="SS to add after each subunit region" ),
7143  Option( 'add_atom_at_cen', 'StringVector',default='""',desc="SS to add after each subunit region" ),
7144  Option( 'attach_rsd', 'StringVector',default='""',desc="attach rsd on each subunit" ),
7145  ), # -smhybrid
7146 
7147  # thread side-chains tools (barak) -----------------------------------------------------------
7148  Option_Group( 'threadsc',
7149  Option('src_chain', 'String',
7150  short='Chain of source pdb',
7151  desc='Chain of source pdb'
7152  ),
7153  Option('trg_chain', 'String',
7154  short='Chain of target pdb',
7155  desc='Chain of target pdb'
7156  ),
7157  Option('src_first_resid', 'Integer',
7158  short='Residue id of first residue in source pdb range',
7159  desc='Residue id of first residue in source pdb range'
7160  ),
7161  Option('trg_first_resid', 'Integer',
7162  short='Residue id of first residue in source pdb range',
7163  desc='Residue id of first residue in source pdb range'
7164  ),
7165  Option('nres', 'Integer',
7166  short='Number of residues to be threaded',
7167  desc='Number of residues to be threaded'
7168  ),
7169  Option('trg_anchor', 'Integer',
7170  short='anchor residue for backbone threading',
7171  desc='anchor residue for backbone threading',
7172  ),
7173  ), # threadsc
7174 
7175  ###############################################################################
7176  ## (yab) ufv sandbox options
7177  Option_Group( 'ufv',
7178  Option( 'left', 'Integer', desc="left endpoint" ),
7179  Option( 'right', 'Integer', desc="right endpoint" ),
7180  Option( 'ss', 'String', desc="secondary structure string" ),
7181  Option( 'aa_during_build', 'String', desc="amino acid string during centroid build" ),
7182  Option( 'aa_during_design_refine', 'String', desc="amino acid string during design-refine" ),
7183  Option( 'keep_junction_torsions', 'Boolean', desc="when rebuilding loops, keep (approx) the original torsions at the junctions of the loop endpoints", default='false' ),
7184  Option( 'ufv_loops', 'File', desc="use this multiple loop file in place of specifying single loop options on command line" ),
7185  Option( 'use_fullmer', 'Boolean', desc="use full-mer fragments when building loop", default='false' ),
7186  Option( 'centroid_loop_mover', 'String', desc="the centroid loop mover to use", default='RemodelLoopMover' ),
7187  Option( 'no_neighborhood_design', 'Boolean', desc="only repack the neighborhood of the loop, don't design", default='false' ),
7188  Option( 'dr_cycles', 'Integer', desc="design-refine cycles", default='3' ),
7189  Option( 'centroid_sfx', 'String', desc="filename of the centroid score function to use," ),
7190  Option( 'centroid_sfx_patch', 'String', desc="filename of the centroid score function patch to use," ),
7191  Option( 'fullatom_sfx', 'String', desc="filename of the full-atom score function to use" ),
7192  Option( 'fullatom_sfx_patch', 'String', desc="filename of the full-atom score function patch to use" ),
7193 
7194  Option_Group( 'insert',
7195  Option( 'insert_pdb', 'File', desc="pdb of insert structure" ),
7196  Option( 'attached_pdb', 'File', desc="pdb of structure in rigid body relationship with insert structure" ),
7197  Option( 'connection_scheme', 'String', desc="enforce type of insertion: choose either n2c or c2n" ),
7198  ), # -ufv:insert
7199  ), # -ufv
7200 
7201  Option_Group( 'willmatch',
7202 # Option( 'arg_dun_th', 'Real', desc='fa_dun thresh for ARG', default='16.0' ),
7203 # Option( 'asp_dun_th', 'Real', desc='fa_dun thresh for ASP', default='8.0' ),
7204 # Option( 'glu_dun_th', 'Real', desc='fa_dun thresh for GLU', default='12.0' ),
7205 # Option( 'lys_dun_th', 'Real', desc='fa_dun thresh for LYS', default='16.0' ),
7206 # Option( 'usecache', 'Boolean', desc='use cached stage 1 data', default='false' ),
7207  Option( 'write_reduced_matchset', 'StringVector',desc="<name> <pdb1> <pdb2> ..."),
7208  Option( 'interface_size', 'Real',desc="num CB-CB within 8A",default='30'),
7209  Option( 'max_dis_any', 'Real',desc="",default='3.0'),
7210  Option( 'max_dis_all', 'Real',desc="",default='2.6'),
7211  Option( 'max_dis_hb', 'Real',desc="",default='3.2'),
7212  Option( 'min_dis_hb', 'Real',desc="",default='2.2'),
7213  Option( 'max_dis_hb_colinear', 'Real',desc="",default='0.7'),
7214  Option( 'max_dis_metal','Real',desc="",default='1.0'),
7215  Option( 'max_ang_metal','Real',desc="",default='5.0'),
7216  Option( 'clash_dis', 'Real',desc="",default='3.5'),
7217  Option( 'c2_linker_dist', 'Real',desc="",default='3.5'),
7218  Option( 'identical_match_dis', 'Real',desc="",default='0.0001'),
7219  Option( 'chi1_increment', 'Real',desc="",default='10.0'),
7220  Option( 'chi2_increment', 'Real',desc="",default='20.0'),
7221  Option( 'c2_symm_increment', 'Real',desc="",default='20.0'),
7222  Option( 'cb_sasa_thresh', 'Real',desc="",default='20.0'),
7223  Option( 'design_interface', 'Boolean',desc="", default="true" ),
7224  Option( 'chilist', 'File',desc="" ),
7225  Option( 'fixed_res', 'File',desc="" ),
7226  Option( 'native1', 'File',desc="" ),
7227  Option( 'native2', 'File',desc="" ),
7228  Option( 'exclude_res1', 'File',desc="",default="" ),
7229  Option( 'exclude_res2', 'File',desc="",default="" ),
7230  Option( 'taglist', 'File',desc="" ),
7231  Option( 'residues', 'IntegerVector',desc="" ),
7232  Option( 'symmetry_d2', 'Boolean', desc="", default='false'),
7233  Option( 'symmetry_c2_dock', 'Boolean', desc="", default='false'),
7234  Option( 'splitwork', 'IntegerVector', desc=""),
7235  Option( 'exclude_ala', 'Boolean', desc="", default="false"),
7236  Option( 'match_overlap_dis','Real',desc="distance under which to consider matches redundant",default='00.20'),
7237  Option( 'match_overlap_ang','Real',desc="ang(deg) under which to consider matches redundant",default='10.00'),
7238  Option( 'forbid_residues', 'IntegerVector',desc="disallow residues for matching" ),
7239  Option( 'poi', 'RealVector',desc="xyz coords of some site of interest" ),
7240  Option( 'poidis', 'Real',desc="poi distance threshold" ),
7241  Option( 'homodimer', 'Boolean', desc="examine only homodimer configs", default="false"),
7242  Option( 'fa_dun_thresh','Real',desc="",default='6.0'),
7243 
7244  # Option( 'filterdist' ,'Real' ,desc="MC temp for cen fold", default="2.0" ),
7245  ), #-willmatch
7246 
7247 ) # end options