Rosetta
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
options_rosetta.py
Go to the documentation of this file.
1 # -*- tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2 # vi: set ts=2 noet:
3 # (c) Copyright Rosetta Commons Member Institutions.
4 # (c) This file is part of the Rosetta software suite and is made available under license.
5 # (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
6 # (c) For more information, see http://www.rosettacommons.org. Questions about this can be
7 # (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
8 
9 ## @file basic/options/options_rosetta.py
10 ## @brief Program options generation script: Rosetta options encoding
11 ## @author Sergey Lyskov (Sergey.Lyskov@jhu.edu)
12 ## @author Stuart G. Mentzer (Stuart_Mentzer@objexx.com)
13 
14 
15 # To Do:
16 # . Implement strict_lower and strict_upper
17 # . Group/organize options better
18 # . Rename options for clarity and to remove prefixes redundant with the group name(s)
19 
20 
21 # Quick Option Definition Overview
22 #
23 #
24 # An option definition is of the form:
25 # Option( 'Name', 'Type',
26 # desc="Description",
27 # legal=[ 'First', 'Second', 'Third' ],
28 # lower='0', upper='99',
29 # default='first'
30 # )
31 #
32 # Name Option name (within its group context)
33 #
34 # Type Option type: One of Boolean, Integer, Real, String, File, or Path
35 #
36 # desc Option description (use \ at the end of each line in long descriptions)
37 #
38 # legal A list of legal values (a single value can be specified as legal='Valid')
39 #
40 # lower Lower bound on the legal value range (for numeric options)
41 #
42 # upper Upper bound on the legal value range (for numeric options)
43 #
44 # For strict inequality bounds these may be used instead:
45 # strict_lower Strict inequality lower bound (positive value would have strict_lower='0')
46 # strict_upper Strict inequality upper bound
47 #
48 # default Default value if option is not specified or specified without a value
49 #
50 # oldName Option's previous name (used in generated Wiki documentation table)
51 #
52 #
53 # Multi-valued options are similar but have types with a "Vector" suffix
54 # and have fields to optionally specify how many values are allowed.
55 #
56 # Multi-valued options have the types:
57 # BooleanVector, IntegerVector, RealVector, StringVector, FileVector, or PathVector
58 #
59 # And fields to specify the number of values:
60 # n Number of values
61 # n_lower Lower bound on the number of values
62 # n_upper Upper bound on the number of values
63 #
64 #
65 # Generating the C++ Options Files
66 #
67 # After adding/modifying the options here the C++ options files can be generated
68 # by running options.py located in this directory (you may wish to delete the .pyc
69 # files after running this). Then the next time Rosetta is built the new options
70 # will be available.
71 #
72 #
73 # Notes:
74 # . Only the Name and Type are mandatory
75 # . Option users documentation is provided in the doxygen documentation for the utility library (options.dox)
76 # . The list of options can be generated by options.py in a Wiki table format (this should be posted to the Rosetta Wiki
77 # when options are added/changed)
78 # . If you are adding pdb file input options, IT IS NOT SUFFICIENT TO ADD THE OPTION HERE. You must also add the option
79 # to FileDataOptions or PDB_DReaderOptions.
80 
81 
82 from options_class import Option, Option_Group
83 
84 if __name__ == "__main__": print "Don't run this one, run options.py instead!"
85 
86 ##################################################################
87 # Option Group Ordering:
88 # First comes the "major" option groups: in, out, run, jd2, score, packing
89 # Next comes "general" option groups in alphabetical order
90 # Then comes application-specific groups in alphabetical order
91 # Finally comes personal/pilot groups in alphabetical order
92 #
93 # (Please leave a descriptive comment with any option group your move out of
94 # alphabetical order to be associated with a logically related option group
95 ##################################################################
96 
97 # Data base of all rosetta options
98 Options = Option_Group( '',
99 
100 ###################################
101 # Major option groups:
102 
103  # Input options ---------------------------------------------------------------------------------------------------
104  Option_Group( 'in',
105 # Option( 'in', 'Boolean', desc="Input option group", legal='true', default='true' ),
106 
107  # Termini options -----------------------------------------------------
108  #Option( 'termini', 'String', default = 'ALL', desc="Put full N and C termini on input structures"),
109  Option( 'Ntermini', 'String', default = 'ALL', desc="Put full N termini on pose", oldName='Nterminus' ),
110  Option( 'Ctermini', 'String', default = 'ALL', desc="Put full C termini on pose", oldName='Cterminus' ),
111  Option( 'use_truncated_termini', 'Boolean',
112  desc = 'Will not add extra OXT/Hs at termini if not in input structure',
113  default = 'false'),
114 
115  # Non-inclusion options -----------------------------------------------
116  Option( 'ignore_unrecognized_res', 'Boolean',
117  desc="Do not abort if unknown residues are found in PDB file; instead, ignore them. "
118  "Note this implies -in:ignore_waters",
119  default='false' ),
120  Option( 'ignore_waters', 'Boolean',
121  desc="Do not abort if HOH water residues are found in PDB file; instead, ignore them.",
122  default='false' ),
123 
124  # Inclusion options
125  Option( 'add_orbitals', 'Boolean',
126  desc="Will add orbitals to residues only. Does not include orbitals to ligands. "
127  "Done through params file reading.",
128  default='false'),
129  Option( 'show_all_fixes', 'Boolean',
130  desc="Show all residue & atom name fixes",
131  default='false' ),
132  Option("include_sugars", "Boolean",
133  desc='Sets whether or not carbohydrate residues will be'
134  'loaded into Rosetta. The default value is false.',
135  short="Load carbohydrate residues into memory?",
136  legal=["true", "false"],
137  default="false"),
138  Option("include_lipids", "Boolean",
139  desc='Sets whether or not lipid residues will be'
140  'loaded into Rosetta. The default value is false.',
141  short="Load lipid residues into memory?",
142  legal=["true", "false"],
143  default="false"),
144  Option("include_surfaces", "Boolean",
145  desc='Sets whether or not mineral surface residues will be'
146  'loaded into Rosetta. The default value is false.',
147  short="Load mineral surface residues into memory?",
148  legal=["true", "false"],
149  default="false"),
150 
151  ## Membrane JD2 Option
152  ## Last Modified: 8/23/14
153  ## Author: Rebecca Alford
154  Option("membrane", "Boolean",
155  desc="Initialize pose as a membrane protein using specified membrane parameters. Default is false",
156  short="initialize membrane",
157  legal=["true", "false"],
158  default="false"),
159 
160  # PDB data-preservation options ---------------------------------------
161  Option( 'remember_unrecognized_res' , 'Boolean',
162  desc="Ignore unrecognized residues, but remember them in PDBInfo.",
163  default='false' ),
164  Option( 'remember_unrecognized_water', 'Boolean',
165  desc="Remember waters along with other unrecognized residues.",
166  default='false' ),
167  Option( 'preserve_crystinfo', 'Boolean',
168  desc = 'Preserve information important for crystal refinement (B factors +CRYST1 line)',
169  default = 'false'),
170 
171  # Auto-detection options ----------------------------------------------
172  Option( 'detect_oops', 'Boolean',
173  desc="Detect oligooxopiperazines (oops) and add required constraints",
174  default='false' ),
175  Option( 'detect_disulf', 'Boolean',
176  desc="Forcably enable or disable disulfide detection. "
177  "When unspecified, rosetta conservatively detects disulfides in full atom input based on SG "
178  "distance, but will not form centroid disulfides. Setting '-detect_disulf true' will force "
179  "aggressive disulfide detection in centroid poses based on CB distance. Setting "
180  "'-detect_disulf false' disables all detection, even in full atom poses. Note that disabling "
181  "disulfides causes severe clashes for native disulfides.",
182  legal=['true','false'], ),
183  Option( 'detect_disulf_tolerance', 'Real', desc='disulf tolerance', default="0.5" ),
184  Option( 'constraints_from_link_records', 'Boolean',
185  desc="Turn link records into atom pair and angle constraints",
186  legal=['true','false'],
187  default='false' ),
188 
189  # Auto-detection options for metalloproteins --------------------------
190  Option( "auto_setup_metals", "Boolean", desc="Automatically adds covalent linkages to bound metal ions, as well as atom pair "
191  "constraints and angle constraints to hold ions in place, on PDB import. Also, sets the atom_pair_constraint and "
192  "angle_constraint weights in the default score function to 1.0. False by default.",
193  legal=["true","false"], default="false"),
194  Option( "metals_detection_LJ_multiplier", "Real", desc="When -auto_setup_metals is used, overlap between metal atoms and "
195  "metal-binding atoms is used as the criterion by which covalent bonds are detected. The Lennard-Jones radii of the "
196  "atoms can be multiplied by a constant factor in order to detect longer bonds to metal ions. Default 1.0.",
197  default="1.0" ),
198  Option( "metals_distance_constraint_multiplier", "Real", desc="Distances between metals and metal-binding atoms are constrained "
199  "using harmonic potentials, scaled by this multiplier. Default 1.0. Set to 0.0 to skip adding distance constraints.",
200  default="1.0" ),
201  Option( "metals_angle_constraint_multiplier", "Real", desc="Angles between metals, metal-binding atoms, and metal-binding atom parents "
202  "are constrained using circular harmonic potentials, scaled by this multiplier. Default 1.0. "
203  "Set to 0.0 to skip adding angle constraints.",
204  default="1.0" ),
205 
206  # Other input options -------------------------------------------------
207  Option("alternate_3_letter_codes", "StringVector",
208  desc="Specify the filename(s) of (a) *.codes files that includes "
209  "a list of alternative 3-letter codes. "
210  "The default directory is "
211  "database/input_output/3-letter_codes/ but any path can be "
212  "provided. "
213  "Duplicate codes in successive files will overwrite previous "
214  "ones.",
215  short="Specify (a) *.codes file(s) of alternate 3-letter codes."),
216  Option( 'fix_disulf', 'File',
217  desc="Specify disulfide connectivity via a file. Disulfides are specified as two whitespace-separated "
218  "residue indices per line. This option replaces the old '-run:fix_disulf' option.", ),
219 
220  Option( 'missing_density_to_jump', 'Boolean',
221  desc='If missing density is found in input pdbs, replace with a jump',
222  default = 'false'),
223 
224  Option( 'target_residues', 'IntegerVector', desc = 'which residue numbers to pass for getDistConstraints' ),
225  Option( 'replonly_residues', 'IntegerVector', desc = 'residue numbers regarded as repulsive-only residues' ),
226  Option( 'replonly_loops', 'Boolean', desc = 'all loops will be regarded as repulsive-only', default='false' ),
227  Option( 'use_database', 'Boolean',
228  desc="Read in structures from database. Specify database via -inout:dbms:database_name and wanted "
229  "structures with -in:file:tags or select_structures_from_database"),
230 
231 # Option( 'database_protocol', 'Integer', desc="Database to use when reading in structures", default="1"),
232  Option( 'select_structures_from_database', 'StringVector',
233  desc="specify an SQL query to determine which structures get read in from a database specified with "
234  "-inout:dbms:database_name. SELECT query must return structures.tag"),
235  # Database options
236  Option_Group( 'dbms',
237  Option( 'struct_ids', 'StringVector',
238  desc="List of struct_ids (hex representation) to be used by the database job inputter"),
239  ),
240  Option_Group( 'path',
241  Option( 'path', 'PathVector',
242  desc="Paths to search for input files (checked after type-specific paths)",
243  default="." ),
244  Option( 'fragments', 'PathVector', desc="Fragment file input search paths", oldName='frag_dir' ),
245  Option( 'pdb', 'PathVector', desc="PDB file input search paths" ),
246  Option( 'database', 'PathVector',
247  desc="Database file input search paths. If the database is not found the ROSETTA3_DB environment "
248  "variable is tried."),
249  Option( 'database_cache_dir', 'Path',
250  desc="Which directory to use when caching processed database files."),
251  ), # in:path
252 
253  # File options --------------------------------------------------------
254  Option_Group( 'file',
255  Option( 'file', 'Boolean', desc="Input file option group", legal='true', default='true' ),
256  Option( 's', 'FileVector', desc="Name(s) of single PDB file(s) to process", default=[] ),
257  Option( 't', 'FileVector', desc="Name(s) of second PDB file(s) to process (pairs with -s)" ),
258  Option( 'l', 'FileVector', desc="File(s) containing list(s) of PDB files to process" ),
259  Option( 'list', 'FileVector',
260  desc="File(s) containing list(s) of PDB files. PDBs on the same line become one pose" ),
261  Option( 'screening_list','FileVector',
262  desc="Files containing lists of PDB files. all permutations of the files in the list become poses"),
263  Option( 'screening_job_file','File',
264  desc="A JSON file containing groups of ligands and proteins to screen"),
265  Option( 'shuffle_screening_jobs','Boolean',desc="Randomize the order of jbos input through -in:file:screening_job_file",default='false'),
266  Option( 'native', 'File', desc="Native PDB filename"),
267  Option( 'torsion_bin_probs', 'File',
268  desc="File describing probabilities over torsion bins A,B,E,G,O",
269  default="empty"
270  ),
271  Option( 'PCS_frag_cst', 'File', desc="File that containts PCS constraints for use in fragment picking"),
272  Option( 'talos_phi_psi', 'File', desc="File that provides Phi-Psi angles in Talos+ format"),
273  Option( 'talos_cs', 'File', desc="File that provides chemical shifts in Talos format"),
274  Option( 'ambig_talos_cs_A', 'File',
275  desc="File that provides 1st set of ambigious chemical shift options in Talos format"),
276  Option( 'ambig_talos_cs_B', 'File',
277  desc="File that provides 2nd set of ambigious chemical shift options in Talos format"),
278  Option( 'native_exclude_res', 'IntegerVector',
279  desc="Residue numbers to be excluded from RMS calculation" ),
280  Option( 'tags', 'StringVector', desc="Tag(s) of structures to be used from silent-file"),
281  Option( 'user_tags', 'StringVector', desc="user_tag(s) of structures to be used from silent-file"),
282  Option( 'tagfile', 'File',
283  desc='file with list of tags to be resampled from file given with in:resample:silent',
284  default='TAGS' ),
285  Option( 'frag_files', 'FileVector', desc="Fragment input file names", default=[] ),
286 # Option( 'frag_sizes', 'IntegerVector', desc="Fragment file sizes" ),
287  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." ),
288  Option( 'extra_res', 'FileVector', desc=".params file(s) for new residue types (e.g. ligands)" ),
289  Option( 'extra_res_fa', 'FileVector',
290  desc=".params file(s) for new fullatom residue types (e.g. ligands)", default=[] ),
291  Option( 'extra_res_mol', 'FileVector',
292  desc=".mol file(s) for new fullatom residue types (e.g. ligands)"),
293  Option( 'extra_res_database', 'String',
294  desc="the name of a database containing fullatom residue types (e.g. ligands)"),
295  Option( 'extra_res_pq_schema', 'String',
296  desc="the name of a postgreSQL schema in the database containing fullatom residue types "
297  "(e.g. ligands)",
298  default=""),
299  Option( 'extra_res_database_mode', 'String',
300  desc="The type of database driver to use for -in:file:extra_res_database.",
301  default='sqlite3',
302  legal=["sqlite3", "mysql", "postgres"]),
303  Option( 'extra_res_database_resname_list', 'File',
304  desc="Path to a list of residue names to be read in from the residue database. "
305  "The list should have one residue name per line"),
306  Option( 'extra_res_cen', 'FileVector',
307  desc=".params file(s) for new centroid residue types (e.g. ligands)" ),
308  Option( 'extra_res_path', 'PathVector',
309  desc="directories with .params files. Only files containing 'param' will be chosen" ),
310  Option( 'extra_rot_lib_path', 'PathVector',
311  desc="directories with NCAA rotamer files." ),
312  Option( 'extra_res_batch_path', 'PathVector',
313  desc="directories generated by src/python/apps/public/batch_molfile_to_params.py. "
314  "Only files containing 'param' will be chosen"),
315  Option( 'extra_patch_fa', 'FileVector',
316  desc="patch files for full atom variants not specified in the database" ),
317  Option( 'extra_patch_cen', 'FileVector',
318  desc="patch files for centroid atom variants not specified in the database" ),
319  Option( 'frag3', 'String' ),
320  Option( 'frag9', 'String' ),
321  Option( 'fragA', 'String' ),
322  Option( 'fragB', 'String' ),
323  Option( 'surface_vectors', 'String' , desc="Input file containing three sets of xyz coordinates which define the plane and periodicity of the solid surface"),
324  Option( 'xyz', 'String',desc="Input coordinates in a raw XYZ format (three columns)" ),
325 # Option( 'fragA_size', 'Integer', default = '9' ),
326  ##Option( 'fragB_size', 'Integer', default = '3' ),
327  Option('keep_input_scores', 'Boolean',
328  desc = "Keep/Don't keep scores from input file in Pose.",
329  default = 'true'
330  ),
331  Option( 'lazy_silent', 'Boolean', default = 'false', desc = 'Activate LazySilentFileJobInputter' ),
332  Option( 'silent', 'FileVector', desc = 'silent input filename(s)',default=[]),
333  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.' ),
334  Option( 'atom_tree_diff', 'FileVector', desc= 'atom_tree_diff input filename(s)'),
335  Option( 'zip', 'String', desc = 'zipped input file, used for BOINC database'),
336  Option( 'boinc_wu_zip', 'FileVector', desc = 'zipped input file with files for a specific BOINC workunit'),
337  Option( 'fullatom', 'Boolean', default = 'false',
338  desc = "Enable full-atom input of PDB or centroid structures"),
339  Option( 'centroid_input', 'Boolean', default = 'false',
340  desc = "why input in the name twice ? in:file:centroid_input Enable centroid inputs of PDBs"),
341  Option( 'centroid', 'Boolean', default = 'false', desc = "Enable centroid inputs of PDBs"),
342  Option( 'assign_gasteiger_atom_types', 'Boolean', default = 'false',
343  desc = 'Automatically assign GasteigerAtomTypes to all residues in the ResidueTypeSet' ),
344  Option( 'treat_residues_in_these_chains_as_separate_chemical_entities', 'String', default = ' ',
345  desc = "Create a chemical jump for each residue in these chains (String of 1-letter chain IDs)"),
346  Option( 'residue_type_set', 'String', desc = 'ResidueTypeSet for input files', default = 'fa_standard' ),
347  Option( 'pca', 'File', desc='compute PCA projections', default='' ),
348  Option( 'silent_energy_cut', 'Real', default = '1.0', desc = 'energy cut for silent-files' ),
349  Option( 'silent_list', 'FileVector', desc = 'Silent input filename list(s) - like -l is to -s '),
350  Option('silent_renumber', 'Boolean', desc ='renumber decoys in not_universal_main or not', default='false'),
351 # Option( 'silent_optH', 'Boolean', desc="Call optH when reading a silent file"),
352  Option('silent_struct_type', 'String',
353  desc='Type of SilentStruct object to use in silent-file input',
354  default='protein'
355  ),
356  Option( 'silent_read_through_errors','Boolean', default='false',
357  desc="will ignore decoys with errors and continue reading"),
358  Option('silent_score_prefix', 'String',
359  desc='Prefix that is appended to all scores read in from a silent-file',
360  default=''
361  ),
362  Option('silent_select_random', 'Integer',
363  desc='Select a random subset of this number of decoys from every silent-file read',
364  default = '0'
365  ),
366  Option( 'silent_select_range_start', 'Integer',
367  desc='Select a ranged subset of decoys from every silent-file read. Start at this decoy.',
368  default = '-1'),
369  Option( 'silent_select_range_mul', 'Integer',
370  desc='Select a blocksize multiplier. This param pasically multiplies -silent_select_range_start. '
371  'E.g. when set to, say, 5, -silent_select_range_start 0,1,2,3,4 will result in decoys '
372  'being read starting from 0,5,10,15,20',
373  default = '1'),
374  Option( 'silent_select_range_len', 'Integer',
375  desc='Select a ranged subset of decoys from every silent-file read. Start at this decoy.',
376  default = '1'),
377  Option( 'skip_failed_simulations', 'Boolean', default = 'false',
378  desc = 'Ignore failed simulations (prefixed by W_) during silent file input. Existing behavior is '
379  'preserved by default.'),
380  Option('silent_scores_wanted', 'StringVector',
381  desc = 'Only put these silent-scores into the Pose.',
382  ),
383  Option( 'fasta', 'FileVector', desc="Fasta-formatted sequence file" ),
384  Option( 'pssm', 'FileVector', desc="NCBI BLAST formatted position-specific scoring matrix" ),
385  Option( 'seq', 'StringVector', desc="List of input files for constructing sequences" ),
386  Option( 'checkpoint', 'File', desc="Sequence profile (flat text file format) prepared by NCBI BLAST" ),
387  Option( 'binary_chk', 'File', desc="Sequence profile (binary file format) prepared by NCBI BLAST" ),
388  Option( 'alignment', 'FileVector', desc='Input file for sequence alignment' ),
389  Option( 'alignment2','FileVector', desc='Input file for second sequence alignment '),
390  Option( 'rama2b_map', 'File', default = 'scoring/score_functions/rama/Rama08.dat',
391  desc="Ramachandran file used by rama2b" ),
392  Option( 'psipred_ss2','File', desc='psipred_ss2 secondary structure definition file', default='tt' ),
393  Option( 'dssp','File', desc='dssp secondary structure definition file', default='tt' ),
394  Option( 'fail_on_bad_hbond', 'Boolean', desc ='exit if a hydrogen bonding error is detected',
395  default = 'true'),
396  Option( 'movemap', 'File', default = 'default.movemap' ),
397  Option( 'repair_sidechains', 'Boolean',
398  desc='Attempt a repack/minmize to repair sidechain problems, such as proline geometry and His '
399  'tautomerization',
400  default = 'false' ),
401  Option( 'no_binary_dunlib', 'Boolean',
402  desc='Do not attempt to read from or write to a binary file for the Dunbrack library' ),
403  Option( 'extended_pose', 'Integer', desc='number of extended poses to process in not_universal_main',
404  default='1' ),
405  Option( 'template_pdb', 'FileVector', desc = 'Name of input template PDB files for comparative modeling' ),
406  Option( 'template_silent', 'File',
407  desc='input templates for comparative modeling -- tag needs to fit alignment id' ),
408  Option( 'rdc', 'FileVector',
409  desc='Experimental NMR Residual Dipolar Coupling File --- one file per alignment medium' ),
410  Option( 'csa', 'FileVector', desc='Experimental NMR Chemical Shift Anisotropy File' ),
411  Option( 'dc', 'FileVector', desc='Experimental NMR Dipolar Coupling File' ),
412  Option( 'burial', 'FileVector', desc='WESA-formatted burial prediction' ),
413  Option( 'vall', 'FileVector', desc='Fragment database file, e.g vall.dat.2006-05-05',
414  default='/sampling/filtered.vall.dat.2006-05-05' ),
415  Option( 'rescore', 'Boolean',
416  desc='Governs whether input poses are rescored or not in not_universal_main, defaults to false.',
417  default='false' ),
418 
419  ## Input Membrane Options
420  ## Last Modified: 1/12/14 - Old RosettaMembrane Option System
421  ## Author: Rebecca Alford
422  Option('spanfile', 'String', desc='Membrane spanning file'),
423  Option('lipofile', 'String', desc='Membrane exposure file'),
424 
425  Option('HDX', 'String', desc='HDX (Hydrogen exchange data file'),
426  Option('d2h_sa_reweight', 'Real', desc='d2h_sa reweight', default ='1.00'),
427  Option( 'sucker_params', 'File',
428  desc="Parameter file containing SplineEnergy parameters",
429  default='scoring/spline_energy_functions/sucker.params'),
430  Option( 'fold_tree', 'File',
431  desc="User defined fold tree to be imposed on the pose after reading from disk" ),
432  Option( 'obey_ENDMDL', 'Boolean',
433  desc='Stop reading a PDB after ENDMDL card; '
434  'effectively read only first model in multimodel NMR PDBs',
435  default='false'),
436  Option( 'new_chain_order', 'Boolean',\
437  desc='ensures chain from different MODEL records have differnet mini chains',
438  default='false'),
439  Option( 'ddg_predictions_file', 'File',
440  desc='File that contains mutational ddG information. Used by ddG task operation/filter.',
441  default=''),
442  Option( 'input_res', 'ResidueChainVector', desc='Residues already present in starting file',default=[]),
443  Option( 'minimize_res', 'IntegerVector', desc='Residues to minimize',default=[]),
444  Option( 'md_schfile', 'String', desc='File name containing MD schedule'),
445  Option("read_pdb_link_records", "Boolean",
446  desc='Sets whether or not the LINK records in PDB files are read. '
447  'The default value is false.',
448  short="Read LINK records?",
449  legal=["true", "false"],
450  default="false"),
451  Option( 'native_contacts', 'File',
452  desc='native contacts pair list for fnat/fnon-nat calculation in Docking'),
453  ), # in:file
454 
455  # RDF options ---------------------------------------------------------
456  Option_Group( 'rdf',
457  Option( 'sep_bb_ss', 'Boolean',
458  desc='separate RDFs by SS for backbone atypes ',
459  default = 'true'
460  ),
461  ), # in:rdf
462 
463  ), # in
464 
465  # Input+Output options --------------------------------------------------------------------------------------------
466  Option_Group( 'inout',
467  Option( 'inout', 'Boolean', desc="Ouput option group", legal='true', default='true' ),
468  Option( 'fold_tree_io', 'Boolean', desc="Ignore 'CHECKPOINT' file and the overwrite the PDB file(s)" ),
469  Option( 'dump_connect_info', 'Boolean',
470  desc="Output CONECT info between bonded atoms that are beyond a threshhold specified with the "
471  "-inout:connect_info_cutoff flag (3.0 A by default); useful for coarse-grained representations.",
472  default="false" ),
473  Option( 'connect_info_cutoff', 'Real',
474  desc="The atom separation cutoff above which bonded atoms have explicit CONECT records written so "
475  "that programs like PyMOL know the atomic connectivity. Default 3.0 Angstroms.",
476  default="3.0" ),
477 
478  # Relational database options -----------------------------------------
479  Option_Group('dbms',
480  Option('dbms', 'Boolean', desc="database option group", legal='true', default='true'),
481  Option('mode', 'String',
482  desc="Which backend to use by default for database access. Note, usage of 'mysql' requires "
483  "building with 'extras=mysql' and usage of 'postgres' requires building with "
484  "'extras=postgres'",
485  legal=["sqlite3", "mysql", "postgres"],
486  default='sqlite3'),
487  Option('database_name', 'String',
488  desc="name of the database. For sqlite3 databases this is a path in the file system usually with "
489  "the '.db3' extension."),
490  Option('pq_schema', 'String',
491  desc="For posgres databases, specify the default schema with the database. "
492  "For PostgreSQL database, schemas are like namespaces.",
493  default=""),
494  Option('host', 'String', desc="default hostname of database server"),
495  Option('user', 'String', desc="default username for database server access"),
496  Option('password', 'String', desc="default password for database server access"),
497  Option('port', 'Integer', desc="default port for database server access"),
498  Option('readonly', 'Boolean', desc="open sqlite3 database in read-only mode by default", default='false'),
499  Option('separate_db_per_mpi_process', 'Boolean',
500  desc="In MPI mode, open a separate sqlite3 database for each process with extension _<mpi_rank> "
501  "and write partitioned schema to that database.",
502  default='false'),
503  Option('database_partition', 'Integer',
504  desc="Open a sepearte sqlite3 database with the extension _<partition> and write a partitioned "
505  "schema to that database.",
506  default='-1'),
507  Option('use_compact_residue_schema', 'Boolean',
508  desc="Store all the atoms for a residue in a binary silent file style blob. Sacrifices "
509  "analyzability for scalability. If you don't know if you want this you probably don't.",
510  default='false'),
511  Option( 'retry_failed_reads','Boolean',desc="If a database read fails for an unknown reason, try again several times before giving up",default='false'),
512  Option( 'path', 'Path', desc = "Directory the database should be read from or exported to.", default="."),
513 
514  ), # inout:dbms
515  ), # inout
516 
517  # Output options --------------------------------------------------------------------------------------------------
518  Option_Group( 'out',
519  Option( 'out', 'Boolean', desc="Ouput option group", legal='true', default='true' ),
520  Option( 'overwrite', 'Boolean', desc="Ignore 'CHECKPOINT' file and the overwrite the PDB file(s)" ),
521  Option( 'nstruct', 'Integer', desc="Number of times to process each input PDB", default="1" ),
522  Option( 'shuffle_nstruct', 'Integer', desc="total number of decoys to produce", default="1" ),
523  Option( 'prefix', 'String', desc="Prefix for output structure names, like old -series code", default="" ),
524  Option( 'suffix', 'String', desc="Suffix for output structure names", default="" ),
525 # Option( 'force_output_name', 'String',
526 # desc="Force output name to be this. Needed for some cluster environments." ),
527  Option( 'no_nstruct_label', 'Boolean', desc="Do not tag the first output structure with _0001",
528  default="false" ),
529  Option( 'pdb_gz', 'Boolean', desc="Compress (gzip) output pdbs", default="false", oldName="output_pdb_gz" ),
530  Option( 'pdb', 'Boolean', desc="Output PDBs", default="false" ),
531  Option( 'silent_gz', 'Boolean', desc="Use gzipped compressed output (silent run level)",
532  default="false",
533  oldName="output_silent_gz" ),
534  Option( 'membrane_pdb', 'Boolean', desc="Write out the membrane in the PDB - on/off."),
535  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."),
536 
537  # Database options ----------------------------------------------------
538  Option( 'use_database', 'Boolean',
539  desc="Write out structures to database. Specify database via -inout:dbms:database_name and wanted "
540  "structures with -in:file:tags"),
541  Option( 'database_protocol_id', 'Integer',
542  desc="Manually specify a protocol ID for database output. "
543  "MPI-distributed jobs are the only time when you will want to use this. "
544  "It is a temporary workaround to a limitation of the MPI distributor"),
545  Option( 'database_filter', 'StringVector',
546  desc="Filter to use with database output. Arguments for filter follow filter name"),
547  Option( 'resume_batch','IntegerVector',
548  desc="Specify 1 or more batch ids to finish an incomplete protocol. "
549  "Only works with the DatabaseJobOutputter. "
550  "The new jobs will be generated under a new protocol and batch ID"),
551  Option( 'nooutput', 'Boolean', desc="Surpress outputfiles", default="false"),
552  Option( 'output', 'Boolean', desc="Force outputfiles", default="false"),
553  Option( 'scorecut', 'Real',
554  desc="Only output lowest energy fraction of structures - default 1.0, i.e. output all ",
555  default="1.0"),
556  Option( 'show_accessed_options', 'Boolean',
557  desc="In the end of the run show options that has been accessed.",
558  default="false"),
559  Option( 'show_unused_options', 'Boolean',
560  desc="In the end of the run show options that were set by the user but never accessed. (Will automatically happen for JD2 protocols.)",
561  default="false"),
562  Option( 'sf', 'File', desc='filename for score output', default='score.fsc' ),
563 
564  # Tracer related options ----------------------------------------------
565  Option( 'mute', 'StringVector', desc="Mute specified Tracer channels; specify 'all' to mute all channels."),
566  Option( 'unmute', 'StringVector',
567  desc="UnMute specified Tracer channels; specify 'all' to unmute all channels."),
568  Option( 'level', 'Integer',
569  desc="Level of Tracer output, any level above will be muted. "
570  "Availible levels: 0 - fatal, 100 - error, 200 - warning, "
571  "300 - info, 400 - debug, 500 - trace. "
572  "For additional info please see: src/basic/Tracer.hh and doc "
573  "page 'Tracer, tool for debug IO'. Default output level is 'info': 300",
574  default="300" ),
575  Option( 'levels', 'StringVector',
576  desc="Specified hierarchical mute levels for individual channels in following format: -levels all:300 "
577  "core.pose:500. Numeric values could be substituted with mute level names like: debug, info, "
578  "error etc. Please note that all:<num> is synonymous to -level:<num>"),
579  Option( 'std_IO_exit_error_code', 'Integer',
580  desc="Specify error code that will be used to exit if std::IO error detected. This is useful if you "
581  "want to detect situations like: Rosetta output was redirected to a file but the disk got "
582  "full, etc. Default value is 0 which means that error detection code is turned off.",
583  default="0" ),
584  Option( 'chname', 'Boolean', desc="Add Tracer chanel names to output", default="true" ),
585  Option( 'chtimestamp', 'Boolean', desc="Add timestamp to tracer channel name", default="false" ),
586  Option( 'dry_run', 'Boolean',
587  desc="If set ComparingTracer will not generate any asserts, and save all Tracer output to a file",
588  default="false" ),
589  Option( 'mpi_tracer_to_file', 'String',
590  desc="MPI ONLY: Redirect all tracer output to this file with '_<mpi_rank>' appened as a suffix",
591  default="tracer.out" ),
592  Option( 'user_tag', 'String', desc="add this tag to structure tags: e.g., a process id", default=""),
593  Option( 'output_tag', 'String', desc="Prefix output files with this tag, if code checks for it", default=""),
594  Option( 'save_times', 'Boolean', desc="Save modeling time for each model in seconds", default='false' ),
595 
596  # File options -------------------------------------------------------
597  Option_Group( 'file',
598  Option( 'file', 'Boolean', desc="Output file option group", legal='true', default='true' ),
599  Option( 'o', 'String', desc="Name of output file" ),
600  Option( 'design_contrast', 'File', desc='output list comparing design sequence to native sequence',
601  default='redesign'),
602  Option( 'residue_type_set', 'String', desc='ResidueTypeSet for output files', default='fa_standard' ),
603 
604  # Atom_tree_diff file options -------------------------------------
605  Option( 'atom_tree_diff', 'String', desc="Use atom_tree_diff file output, use filename after this flag",
606  default="default.out" ),
607  Option( 'atom_tree_diff_bb', 'Integer',
608  desc="For atom_tree_diff output, how many digits of precision to use for backbone dihedrals",
609  default="6" ),
610  Option( 'atom_tree_diff_sc', 'Integer',
611  desc="For atom_tree_diff output, how many digits of precision to use for sidechain dihedrals",
612  default="4" ),
613  Option( 'atom_tree_diff_bl', 'Integer',
614  desc="For atom_tree_diff output, how many digits of precision to use for bond lengths",
615  default="2" ),
616 
617  # Alignment file options -----------------------------------------
618  Option( 'alignment', 'String', desc='Output file for sequence alignment', default='out.align' ),
619 
620  # Score file options -----------------------------------------------
621  Option('score_only', 'String', desc="Only output scores, no silent files or pdb files",
622  default="default.sc"),
623  Option( 'scorefile', 'String', desc="Write a scorefile to the provided filename", default="default.sc" ),
624  Option( 'scorefile_format', 'String', desc="Scorefile format: text, json", default="text" ),
625 
626  # Silent file options ----------------------------------------------
627  Option( 'silent', 'String',
628  desc="Use silent file output, use filename after this flag",
629  default="default.out" ),
630  Option( 'silent_struct_type', 'String', desc='Type of SilentStruct object to use in silent-file output',
631  default='protein'),
632  #Option( 'binary_silentfile', 'Boolean',
633  # desc="Write uuencoded binary silentfile DEPRECATED!!! USE -silent_struct_type binary instead",
634  # default='false' ),
635  Option( 'silent_print_all_score_headers', 'Boolean',
636  desc='Print a SCORE header for every SilentStruct in a silent-file',
637  default='false' ),
638 # Option( 'silent_decoytime', 'Boolean',
639 # desc='Add time since last silent structure was written to score line',
640 # default = 'false' ),
641 # Option( 'silent_comment_bound', 'Integer',
642 # desc='String data longer than this ends up as remark rather than in score line',
643 # default = '15' ),
644  Option( 'raw', 'Boolean', desc="Use silent-type file output", default="false" ),
645  Option( 'weight_silent_scores', 'Boolean', desc='Weight scores in silent-file output.', default='true' ),
646 
647  # PDB file options -----------------------------------------------
648  Option( 'silent_preserve_H', 'Boolean',
649  desc='Preserve hydrogrens in PDB silent-file format.',
650  default = 'false' ),
651  Option( 'fullatom', 'Boolean', default='false',
652  desc="Enable full-atom output of PDB or centroid structures"),
653  Option( 'suppress_zero_occ_pdb_output', 'Boolean', default='false',
654  desc="Suppress output of atoms with zero (or negative) occupancy"),
655  Option( 'output_virtual', 'Boolean', default='false', desc="Output virtual atoms in output of PDB"),
656  Option( 'output_virtual_zero_occ', 'Boolean', default='false', desc="Set occupancy to 0.0 for virtual atoms in output of PDB"),
657  Option( 'no_output_cen', 'Boolean', default='false', desc="Omit outputting centroids"),
658  Option( 'output_orbitals', 'Boolean', default='false', desc="Output all orbitals into PDB."),
659  Option( 'no_scores_in_pdb', 'Boolean', default='false', desc="Do not output the scoretable at the end of the output PDB."),
660  Option( 'renumber_pdb', 'Boolean', default='false',
661  desc='Use Rosetta residue numbering and arbitrary chain labels in pdb output.'),
662  Option( 'pdb_parents', 'Boolean', default='false',
663  desc='If the pose contains a comment named template, print this as a REMARK in the pdb file'),
664  Option( 'per_chain_renumbering', 'Boolean', default='false',
665  desc='When used in conjunction with renumber_pdb, restarts residue numbering at each chain.'),
666  Option( 'output_torsions', 'Boolean', default='false',
667  desc='Output phi, psi, and omega torsions in the PDB output if the pose is ideal.'),
668  Option( 'use_occurrence_data', 'Boolean', default='false',
669  desc='if option is true reads probabilty matrix from pssm file.'),
670  Option( 'pdb_comments', 'Boolean', default='false',
671  desc='If the pose contains any comment print it as a COMMENT in the pdb file.'),
672  Option('force_nonideal_structure', 'Boolean',
673  desc="Force ResidueConformationFeatures to treat the structure as nonideal. "
674  "If you know all your structures are non-ideal this decreases pose output time",
675  default='true'),
676  Option('write_pdb_link_records', 'Boolean',
677  desc='Sets whether or not the LINK records in PDB files are written. '
678  'The default value is false.',
679  short='Write LINK records?',
680  legal=['true', 'false'],
681  default='false'),
682  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.',
683  short= 'Write parametric info?', legal=['true', 'false'], default='true'),
684 
685  # Dunbrack library options
686  Option( 'dont_rewrite_dunbrack_database', 'Boolean',
687  desc='Disables the default behavior of rewriting the Dunrack library in binary format if a binary '
688  'version is not found' ),
689 
690  # Fragment file options -------------------------------------------
691  Option( 'frag_prefix', 'String', desc='Prefix for fragment output', default='default.frags' ),
692 
693  # SDF file options
694  Option( 'no_extra_sdf_data', 'Boolean', desc='Do not add extra round-tripping data to SDF file output', default='false' ),
695  ), # out:file
696 
697  # Path options -------------------------------------------------------
698  Option_Group( 'path',
699  Option( 'all', 'Path', desc="Default file output path", default="." ),
700  Option( 'path', 'Path', desc="Default file output path", default="." ),
701  Option( 'pdb', 'Path', desc="PDB file output path" ),
702  Option( 'db', 'Path', desc="Database file output path if using FeatureReporters or database output", default="."),
703  Option( 'score', 'Path', desc="Score file output path" ),
704 # Option( 'movie', 'Path', desc="Movie file output path" ),
705  Option( 'scratch', 'Path', desc="use this path as scratch drive", default=['/scratch/USERS/'] ),
706  Option( 'mpi_rank_dir','Boolean',
707  desc="Put silent-output files in individual directory as determined by mpi-rank",
708  default='false'),
709  ), # out:path
710  ), # out
711 
712  ###################################################################################
713  # Run options ---------------------------------------------------------
714  Option_Group( 'run',
715  Option( 'run', 'Boolean',
716  desc='Run option group',
717  legal='true', default='true'
718  ),
719  Option( 'batches', 'FileVector', desc= 'batch_flag_files', default='' ),
720  Option( 'no_prof_info_in_silentout','Boolean',desc='no time-columns appears in score/silent - files', default='false' ),
721  ##Option( 'no_execptions', 'Boolean', desc='always exit immediatly if EXCN is thrown ... make backtracing easier', default='false' ),
722  ##Option( 'ralph', 'Boolean',
723  ## desc='Give some more output to stderr and stdout',
724  ## default='false'
725  ##),
726  Option( 'archive', 'Boolean', desc='run MPIArchiveJobDistributor', default='false' ),
727  Option( 'n_replica', 'Integer', desc='run MPIMultiCommJobDistributor with n_replica processes per job', default='1' ),
728 
729  Option( 'shuffle', 'Boolean',
730  desc='Shuffle job order',
731  legal=['true','false'], default='false'
732  ),
733  Option( 'msd_job_dist', 'Boolean',
734  desc='Use MSD Job Distributor',
735  legal=['true','false'], default='false'
736  ),
737  Option( 'msd_randomize', 'Boolean',
738  desc='Randomize order of input poses for MSD',
739  legal=['true', 'false'], default='false'
740  ),
741  Option( 'n_cycles', 'Integer',
742  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.',
743  lower='1', default='1'
744  ),
745  Option( 'repeat', 'Integer',
746  desc='Repeat mover N times',
747  lower='0', default='1'
748  ),
749  Option( 'max_min_iter', 'Integer',
750  desc='Maximum number of iterations of dfpmin',
751  default='200'
752  ),
753  Option( 'maxruntime', 'Integer',
754  desc='Maximum runtime in seconds. JobDistributor will signal end if time is exceeded no matter how many jobs were finished.',
755  default='-1'
756  ),
757  Option( 'maxruntime_bufferfactor', 'Real',
758  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.",
759  default='0'
760  ),
761  Option( 'write_failures',
762  'Boolean',
763  desc='write failed structures to output',
764  default='false' ),
765 # Option('clean', 'Boolean',
766 # short='clean input pdb befere processing them',
767 # desc='clean input pdb befere processing them',
768 # default='false'
769 # ),
770  Option( 'benchmark', 'Boolean',
771  desc='Run in benchmark mode'
772  ),
773  Option( 'test_cycles', 'Boolean',
774  desc='When running tests, use reduced cycles. Cycles must be defined in the code itself',
775  default='false'
776  ),
777  Option( 'memory_test_cycles', 'Boolean',
778  desc='use together with test_cycles to keep number of copies of anything as high as in production mode',
779  default='false'
780  ),
781  Option( 'dry_run', 'Boolean',
782  desc="Run through structures/tasks/etc skipping the actual calculation step for testing of I/O and/or setup",
783  default='false',
784  ),
785  Option( 'debug', 'Boolean',
786  desc="Run in debug mode"
787  ),
788  Option( 'profile', 'Boolean',
789  desc="Run in profile mode",
790  default='false',
791  ),
792  Option( 'max_retry_job', 'Integer',
793  desc='If a job fails with FAIL_RETRY retry this many times at most',
794  default='10'
795  ),
796 # Option( 'verbosity', 'Integer',
797 # desc='Logging verbosity level',
798 # lower='0', upper='9', default='0'
799 # ),
800  Option( 'version', 'Boolean',
801  desc="write out SVN version info, if it was available at compile time",
802  default='true'
803  ),
804  Option( 'nodelay', 'Boolean',
805  desc="Do not delay launch of minirosetta",
806  ),
807  Option( 'delay', 'Integer',
808  desc="Wait N seconds before doing anything at all. Useful for cluster job staggering.",
809  default='0'
810  ),
811  Option( 'random_delay', 'Integer',
812  desc="Wait a random amount of 0..N seconds before doing anything at all. Useful for cluster job staggering.",
813  default='0'
814  ),
815  Option( 'timer', 'Boolean',
816  desc="write out time per decoy in minutes in scorefile",
817  ),
818 # Option( 'series', 'String',
819 # desc="alternate way to specify the code name chain",
820 # default='ss',
821 # ),
822 # Option( 'protein', 'String',
823 # desc="protein <pdbcode> these options override the first three args",
824 # default='----',
825 # ),
826  Option( 'chain', 'String',
827  desc="-chain <chain_id>",
828  default='-',
829  ),
830  Option( 'score_only', 'Boolean',
831  desc='calculate the score only and exit',
832  default='false'
833  ),
834 # Option( 'silent_input', 'Boolean',
835 # 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",
836 # ),
837  ##Option( 'by_index', 'Boolean',
838  ## desc="read compressed start structures by index # (by label is the default)",
839  ##),
840  ##Option( 'new_reader', 'Boolean',
841  ## desc="use new silent-reader, single read-through",
842  ##),
843  ##Option( 'output_all', 'Boolean',
844  ## desc="output pdb files for structures that fail filters (default false)",
845  ##),
846  ##Option( 'accept_all', 'Boolean',
847  ## desc="accept all pdb files (default false) -- use with '-output_all' ",
848  ##),
849  ##Option( 'chain_inc', 'Boolean',
850  ## desc="use last char in start file name (before extension) as the pdb chain",
851  ##),
852  ##Option( 'skip_missing_residues', 'Boolean',
853  ## desc="skip missing residues in pdb file (ie they are not part of the query sequence)",
854  ##),
855  Option( 'decoystats', 'Boolean',
856  desc="calculate values of a series of additional "
857  "structural properties, including counting unsatisfied "
858  "buried Hbond donors and acceptors, SASApack, etc. Additional "
859  "output associated with this flag is written both to stdout and "
860  "to output PDB files",
861  ),
862  ##Option( 'interface_ds', 'Boolean',
863  ## desc="calculate values of a series of additional structural properties for interfaces",
864  ##),
865  ##Option( 'ds_outpdb_only', 'Boolean',
866  ## desc="suppress decoystats output written to stdout, while maintaining availability of this information in the output PDBs",
867  ##),
868  Option( 'output_hbond_info', 'Boolean',
869  desc="print hydrogen bond info in the stats section of written out PDB files",
870  ),
871  ##Option( 'tight_core_analysis', 'Boolean',
872  ## desc="carry out an analysis of how many buried atoms are 'tightly packed' (based on SASA to a 0.5 A probe)",
873  ##),
874  ### type?
875  ##Option( 'tight_core_threshold', 'Real',
876  ## desc="The maximum SASA to a 0.5 A probe an atom can have while still qualifying as 'tightly packed' ",
877  ##),
878  Option( 'wide_nblist_extension', 'Real',
879  desc="Amount to extend the wide neighbor list",
880  default='2.0'
881  ),
882  ### type?
883  ##Option( 'measure_changed_environment', 'Boolean',
884  ## desc="-measure_changed_environment Color B-factors based on difference in distances to neighboring atoms compared with native",
885  ##),
886 # Option( 'status', 'Boolean',
887 # desc="Generate a status file",
888 # ),
889  Option( 'constant_seed', 'Boolean',
890  desc="Use a constant seed (1111111 unless specified)",
891  ),
892  Option( 'jran', 'Integer',
893  desc="Specify seed (requires -constant_seed)",
894  default='1111111',
895  ),
896  Option( 'use_time_as_seed', 'Boolean',
897  desc="Use time as random number seed instead of default rng seed device.",
898  ),
899  Option( 'rng_seed_device', 'String',
900  desc="Obtain random number seed from specified device.",
901  default='/dev/urandom',
902  ),
903  Option( 'seed_offset', 'Integer',
904  desc="This value will be added to the random number seed. Useful when using time as seed \
905  and submitting many jobs to clusters. Using the condor job id will force jobs that \
906  are started in the same second to still have different initial seeds",
907  default='0',
908  ),
909  Option( 'rng', 'String',
910  desc="Random number generation algorithm: Currently only mt19937 is a accepted here",
911  default='mt19937',
912  legal=['mt19937'],
913  ),
914  ##Option( 'delay_at_start', 'Boolean',
915  ## desc="Wait 'seed_offset' seconds before starting the job, so that multiple jobs don't all start in sync",
916  ##),
917 # Option( 'run_level', 'Integer',
918 # desc="Specify runlevel by integer",
919 # default='0',
920 # ),
921 # Option( 'verbose', 'String', # This is being replaced by verbosity
922 # desc="Keyword runlevels (decreasing verbosity): gush yap chat inform quiet silent",
923 # legal=['gush', 'yap', 'chat', 'inform', 'quiet', 'silent']
924 # ),
925 # Option( 'silent', 'Boolean',
926 # desc="use compressed output (also a runlevel)",
927 # ),
928 # Option( 'regions', 'Boolean',
929 # desc="Specify regions of the protein allowed to move",
930 # ),
931  ##Option( 'regionfile', 'String',
932  ## desc="Specify extension for region file (default=regions) (region file root must be same as start structure)",
933  ## default='regions',
934  ##),
935  ##Option( 'ssblocks', 'Boolean',
936  ## desc="require blocks of sequence to follow ss prediction",
937  ##),
938  ##Option( 'check_homs', 'Boolean',
939  ## desc="Stop execution if homologs detected in fragment files; otherwise no checking occurs",
940  ##),
941 # Option( 'find_disulf', 'Boolean',
942 # desc="Each time the pose is scored, attempt to find new disulfide bonds.",
943 # legal=['true','false'], default='false',
944 # ),
945  Option( 'rebuild_disulf', 'Boolean',
946  desc="Attempt to build correct disulfide geometry when converting "
947  "from a centroid pose to a full atom pose. Disulfides must be "
948  "previously annotated, either by enabling -detect_disulf or by "
949  "specifying a file to -fix_disulf.",
950  legal=['true','false'], default='false',
951  ),
952  ##Option( 'use_disulf_logfile', 'File',
953  ## desc="output physical parameters of disulf bonds",
954  ## default='-',
955  ##),
956  ##Option( 'disulf_filter', 'Boolean',
957  ## desc="turn on disulfide filter. The default is off. require -find_disulf or -fix_disulf is on first",
958  ##),
959 # Option( 'movie', 'Boolean',
960 # desc="Update _movie.pdb file for rasmol_rt",
961 # ),
962 # Option( 'trajectory', 'Boolean',
963 # desc="Write a pdb file of each accepted structure",
964 # ),
965  ##Option( 'ise_movie', 'Boolean',
966  ## desc="Write a pdb of every move (accept or reject)",
967  ##),
968 # Option( 'IUPAC', 'Boolean',
969 # desc="Use IUPAC hydrogen conventions in place of PDB conventions",
970 # ),
971  ##Option( 'repeatout', 'Boolean',
972  ## 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",
973  ##),
974  ##Option( 'repeatin', 'Boolean',
975  ## desc="Will repeat runs with RNG states from <infile>. RNG state \
976  ## is defined as ran3 seed and # of times ran3 has been \
977  ## called. File format is as generated by -repeatout: \
978  ## one line per trajectory as follows: \
979  ## <name/id> <ran3 seed> <ran3 iters>",
980  ##),
981  Option( 'preserve_header', 'Boolean',
982  desc="Maintain header info from input PDB when writing output PDBs",
983  ),
984  #Option( 'output_silent_gz', 'Boolean', # moved to -out::silent_gz
985  # desc="Use gzipped compressed output (silent run level)",
986  #),
987  #Option( 'output_pdb_gz', 'Boolean', # moved to -out:pdb_gz
988  # desc="write gzipped output pdbs",
989  # default="false",
990  #),
991  ##Option( 'output_scorefile_gz', 'Boolean',
992  ## desc="write gzipped scorefiles",
993  ##),
994  ##Option( 'map_sequence', 'File',
995  ## desc="allows the reading of starting structures whose sequence differs from the query sequence \
996  ## defined by the fasta file. The structure will be mapped back to the query sequence \
997  ## by a fast loop modeling protocol. Requires: query defined (3 args), fasta file, \
998  ## and fragments. The alignment file format is either aligned fasta, or single \
999  ## line: 'ALIGN <alignment> <tag>', with . or - for gaps. See map_sequence.cc",
1000  ##),
1001  ##Option( 'unix_paths', 'Boolean', #SGM This (and paths.txt) is probably obsolete: The FileName and PathName classes handle /\ conversion
1002  ## desc="Reads unix path format (forward slashes) in paths.txt for running Windows version on Cygwin",
1003  ##),
1004  ##Option( 'max_frags', 'Integer',
1005  ## desc="Max number of fragments to read from fragment files (default is 200)",
1006  ## default='200',
1007  ##),
1008  ##Option( 'new_centroid_packing', 'Boolean',
1009  ## desc="Add term to centroid-level energy function that promotes correct (sequence-independent) \
1010  ## pairwise correlation between centroid positions",
1011  ##),
1012  ##Option( 'separate_centroid_pack_score', 'Boolean',
1013  ## desc="Puts new centroid packing score (see above) in a separate column in scorefile, \
1014  ## rather than adding onto cb score",
1015  ##),
1016  ##Option( 'use_native_centroid', 'Boolean',
1017  ## desc="place centroids at actual centers of mass (relative to backbone) as read \
1018  ## in from native state, rather than the average position observed for each amino acid in PDB",
1019  ##),
1020 # Option( 'evolution', 'Boolean',
1021 # desc="evolutionary algorithm applied to fullatom refinement of structure models",
1022 # ),
1023  ##Option( 'evol_recomb', 'Boolean',
1024  ## desc="evolutionary algorithm applied to centroid level recombinations of deocys",
1025  ##),
1026  ### type?
1027  ##Option( 'sasapack_bvalues', 'Boolean',
1028  ## desc="bvalues reflect sasapack scores and unsatisfied buried hbonds",
1029  ##),
1030  ##Option( 'cenlist_values', 'Boolean',
1031  ## desc="Output values of cen6 and cen10 for each residue as the 2 last \
1032  ## columns in the 'complete' lines of the output pdb file",
1033  ##),
1034  Option( 'suppress_checkpoints', 'Boolean',
1035  desc="Override & switch off checkpoints.",
1036  ),
1037  Option( 'checkpoint', 'Boolean',
1038  desc="Turn checkpointing on",
1039  ),
1040  Option( 'delete_checkpoints', 'Boolean',
1041  desc="delete the checkpoints after use", default='true',
1042  ),
1043  Option( 'checkpoint_interval', 'Integer',
1044  desc="Checkpoint time interval in seconds",
1045  lower='10', default='600',
1046  ),
1047  Option( 'protocol', 'String',
1048  desc="Which protocol to run, for Rosetta@home wrapper",
1049  default='abrelax',
1050  legal=[
1051  'abrelax', 'simple_cycpep_predict', 'broker', 'vf_abrelax', 'ligand_dock', 'relax', 'symdock', 'star',
1052  'loophash','looprelax','threading', 'rbsegmentrelax', 'boinc_debug', 'parser',
1053  'jd2_scripting', 'cm', 'flxbb','rna','ddg', 'canonical_sampling', 'nonlocal_frags', 'medal',
1054  ],
1055  ),
1056  Option( 'remove_ss_length_screen', 'Boolean',
1057  desc="Sets the use_ss_length_screen flag in the Fragment Mover to false",
1058  ),
1059  Option( 'min_type', 'String',
1060  default='dfpmin', desc='type of minimizer to use'
1061  ),
1062  Option( 'min_tolerance', 'Real', default='0.000001', desc='minimizer tolerance' ),
1063  Option( 'nblist_autoupdate', 'Boolean',
1064  default='false', desc="Turn on neighborlist auto-updates for all minimizations"
1065  ),
1066  Option( 'nblist_autoupdate_narrow', 'Real', default="0.5", desc="With nblist autoupdate: the reach in Angstroms for the narrow neighbor list"),
1067  Option( 'nblist_autoupdate_wide', 'Real', default="2.0", desc="With nblist autoupdate: the reach in Angstroms for the wide neighbor list"),
1068  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."),
1069  ##Option( 'set_fold_tree_from_edges', 'Boolean', default='false', desc="Handle multi-residue ligands and pdbs with H20 and ions"),
1070  Option( 'randomize_missing_coords', 'Boolean', default='false',
1071  desc='Insert random coordinates for missing density atoms ( occupancy is zero ) and for any atoms with negative occupancy, randomizing coords is done by default'
1072  ),
1073  Option( 'ignore_zero_occupancy', 'Boolean', default='true',
1074  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'
1075  ),
1076 
1077  Option( 'cycles_outer', 'Integer', default='1', lower='1', desc='number of outer cycles' ),
1078  Option( 'cycles_inner', 'Integer', default='1', lower='1', desc='number of inner cycles' ),
1079  Option( 'repack_rate', 'Integer', default='10', lower='1', desc='repack after every [value] cycles during certain protocols' ),
1080 
1081  # newJD options - still in run:: group
1082  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)'),
1083  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)'),
1084  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.'),
1085  Option( 'jobdist_miscfile_ext', 'String', default='.data', desc='extension for JobOutputter file() function (miscellaneous file output).'),
1086  Option( 'no_scorefile', 'Boolean', default='false', desc='do not output scorefiles'),
1087  #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
1088 
1089  #replace these two by the two intermediate_XXX olange
1090  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'),
1091  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.'),
1092 
1093  Option( 'intermediate_scorefiles', 'Boolean', default='false', desc='write intermediate evaluations to disk (depends on your protocol if and how often this happens'),
1094  Option( 'intermediate_structures', 'Boolean', default='false', desc='write structures together with intermediate evaluations'),
1095 
1096  #end of newJD
1097  Option( 'idealize_before_protocol', 'Boolean',
1098  desc="run idealize first, before running whatever.",
1099  ),
1100 
1101  Option( 'interactive', 'Boolean',
1102  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."),
1103 
1104  Option( 'condor', 'Boolean', desc='if condor say yes -- proc_id counting starts at 0', default='false' ),
1105  Option( 'nproc', 'Integer', desc='number of process... needed if proc_id is specified', default='0' ),
1106  Option( 'proc_id', 'Integer', desc='give process number... Jobdistributor will only work on proc_id mod nproc part of work ', default='0' ),
1107  Option( 'exit_if_missing_heavy_atoms', 'Boolean', default='false', desc="quit if heavy atoms missing in pdb"),
1108 
1109  # PyMOL -----------------------
1110  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!"),
1111  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.'),
1112  Option( 'update_pymol_on_conformation_changes_only', 'Boolean', default = 'false', desc = 'Only update the simulation in pymol on conformation change.'),
1113  Option( 'keep_pymol_simulation_history', 'Boolean', desc='Keep history when using show_simulation_in_pymol flag?', default='false' ),
1114 
1115  Option( 'insert_disulfide_constraint_weight', 'Real', default='0.0', desc='Weight of the constraints on disulfide bonds formed by the DisulfideInsertionMover; EXPERIMENTAL'),
1116 
1117  ), # -run
1118 
1119  # jd2 Options ---------------------------------------------------------
1120  Option_Group( 'jd2',
1121  Option('pose_input_stream','Boolean',desc='Use PoseInputStream classes for Pose input', default='false' ),
1122  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'),
1123  #for the Archive it really doesn't matter to finish the last runs.. some stragglers can take up to an 1h to finish...
1124  # save the computer time...
1125  Option( 'mpi_nowait_for_remaining_jobs','Boolean', desc='exit immediately (not graceful -- not complete) if the last job has been sent out', default='false'),
1126 
1127  Option( 'mpi_timeout_factor','Real', desc='timeout is X times average job-completion time - set to 0 to switch off', default='0'),
1128 
1129 
1130  Option( 'mpi_work_partition_job_distributor', 'Boolean', desc='determine if we should use the WorkPartition job distributor', default='false' ),
1131  Option( 'mpi_file_buf_job_distributor', 'Boolean', desc='determine if we should use the MPIFileBufJobDistributor (warning: silent output only)', default='true' ),
1132 
1133  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' ),
1134 
1135  #this is unnecessary and unsafe, use the the faster mpi_filebuf_jobdistributor instead
1136  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' ),
1137 
1138 
1139  Option( 'dd_parser', 'Boolean', desc='determine whether to use the dock_design_parser', default='false' ),
1140  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.' ),
1141  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
1142  Option( 'no_output', 'Boolean', desc='use NoOutputJobOutputter; do not store the pose after a run (no silent or scorefile)', default='false'),
1143  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'),
1144  Option( 'buffer_silent_output', 'Integer', default = '1', desc = 'write structures to silent-files in blocks of N structures to', ),
1145  Option( 'buffer_flush_frequency', 'Real', default = '1.0', desc = 'when N structures (buffer_silent_output) are collected dump to file with probability X' ),
1146  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.
1147  Option( 'resource_definition_files', 'FileVector', desc = 'Specify all the jobs and all of their resources to the new JD2ResourceManager system', ),
1148  Option( 'checkpoint_file', 'File', desc='write/read nstruct-based checkpoint files to the desired filename.' ),
1149  #Option( 'nthreads', 'Integer', desc='The maximum number of threads to run at once using the MultiThreadedJobDistributor' ),
1150  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', ),
1151  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.', ),
1152  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.', ),
1153  ), # jd2
1154 
1155  # score function settings -----------------------------------------------------------
1156  Option_Group( 'score',
1157  Option( 'score_pose_cutpoint_variants', 'Boolean', desc='Include cutpoint variants in the pose during linear chainbreak', default='false'),
1158  Option( 'score', 'Boolean', desc="scorefunction option group", legal='true', default='true' ),
1159  Option( 'weights', 'String', desc="Name of weights file (without extension .wts)" , default="talaris2013" ),
1160  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> ..." ),
1161  Option( 'pack_weights', 'String', desc="Name of packing weights file (without extension .wts)" , default="talaris2013" ),
1162  Option( 'soft_wts', 'String', desc="Name of the 'soft' weights file, for protocols which use it." , default="soft_rep" ),
1163  Option( 'docking_interface_score','Boolean',desc="the score is computed as difference between bound and unbound pose", default='false'),
1164  Option( 'min_score_score', 'Real', desc='do not consider scores lower than min-score in monte-carlo criterion', default='0.0'),
1165  Option( 'custom_atom_pair', 'String', desc='filename for custom atom pair constraints', default = 'empty' ),
1166  Option( 'patch', 'FileVector', desc="Name of patch file (without extension)",default="" ),
1167  Option( 'empty', 'Boolean', desc="Make an empty score - i.e. NO scoring" ),
1168  Option( 'fa_max_dis', 'Real', desc='How far does the FA pair potential go out to ?', default='6.0', ),
1169  Option( 'fa_Hatr', 'Boolean', desc='Turn on Lennard Jones attractive term for hydrogen atoms'),
1170  Option( 'no_smooth_etables', 'Boolean',desc="Revert to old style etables" ),
1171 # Option( 'etable_lr' , 'Real', desc="lowers energy well at 6.5A" ),
1172  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" ),
1173  Option( 'input_etables' , 'String', desc="Read etables from files with given prefix" ),
1174  Option( 'output_etables', 'String', desc="Write out etables to files with given prefix" ),
1175  Option( 'analytic_etable_evaluation', 'Boolean', desc="Instead of interpolating between bins, use an analytic evaluation of the lennard-jones and solvation energies", default="true" ),
1176  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" ),
1177  Option( 'include_intra_res_protein','Boolean', desc="Include computation of intra-residue terms for proteins.", default="false" ),
1178  Option( 'fa_stack_base_base_only','Boolean', desc="Only calculate fa_stack for RNA base/base.", default="true" ),
1179  Option( 'fa_stack_sol_prefactor','Real', desc="Strength of sol penalty in fa_stack_sol.", default="0.1" ),
1180  Option( 'fa_stack_sol_stack_cutoff','Real', desc="distances below this get full sol stack.", default="5.5" ),
1181  Option( 'fa_stack_sol_dist_cutoff' ,'Real', desc="distances below this get some sol stack.", default="6.5" ),
1182  Option( 'fa_stack_lr_prefactor','Real', desc="Strength of lr penalty in fa_stack_lr.", default="-0.05" ),
1183  Option( 'fa_stack_lr_stack_cutoff','Real', desc="distances below this get full lr stack.", default="6.5" ),
1184  Option( 'fa_stack_lr_dist_cutoff' ,'Real', desc="distances below this get some lr stack.", default="7.5" ),
1185  Option( 'geom_sol_interres_path_distance_cutoff', 'Integer', desc="Minimum no. bonds between atoms in different residues to calculate geom_sol", default="0" ),
1186  Option( 'geom_sol_intrares_path_distance_cutoff', 'Integer', desc="Minimum no. bonds between atoms in same residues to calculate geom_sol", default="6" ),
1187  Option( 'rms_target', 'Real', desc='Target of RMS optimization for RMS_Energy EnergyMethod', default='0.0'),
1188  Option( 'ramaneighbors', 'Boolean', desc='Uses neighbor-dependent ramachandran maps', default='false'),
1189  Option( 'optH_weights', 'String', desc="Name of weights file (without extension .wts) to use during optH"),
1190  Option( 'optH_patch', 'String', desc="Name of weights file (without extension .wts) to use during optH"),
1191  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" ),
1192  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" ),
1193  Option( 'hbond_params', 'String', desc="Directory name in the database for which hydrogen bond parameters to use.", default='sp2_elec_params'),
1194  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'),
1195  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' ),
1196  Option( 'hb_env_dep_new', 'Boolean', desc="Use new version of env-dep fading for hbond and fa_elec", default="false" ),
1197  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" ),
1198  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" ),
1199  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" ),
1200  Option( 'symE_units', 'Integer', desc="Number of symmetric Units in design for use with symE scoring",default='-1'),
1201  Option( 'symE_bonus', 'Real', desc="Energy bonus per match for use with symE scoring",default='0.0'),
1202  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'),
1203  Option( 'NV_lbound', 'Real', desc="Lower Bound for neighbor Vector scoring" , default='3.3'),
1204  Option( 'NV_ubound', 'Real', desc="Upper Bound for neighbor Vector scoring", default='11.1'),
1205  Option( 'NV_table', 'String', desc="Location of path to potential lookup table", default='scoring/score_functions/NV/neighbor_vector_score.histogram'),
1206  Option( 'disable_orientation_dependent_rna_ch_o_bonds', 'Boolean', desc="Do not use orientation-dependent potential for RNA carbon hydrogen bonds" , default="false"),
1207  Option( 'rna_torsion_potential', 'String', desc="In RNA torsion calculation, directory containing 1D torsional potentials" , default="ps_04282011"),
1208  Option( 'rna_suite_potential', 'String', desc="In RNA calculation, directory containing suite potentials" , default="Richardson"),
1209  Option( 'suiteness_bonus', 'String', desc="In RNA calculation, directory containing suiteness bonus definition" , default="Richardson"),
1210  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"),
1211  Option( 'rna_chemical_shift_verbose', 'Boolean', desc="print out chemical shifts; useful for debug" , default="false"),
1212  Option( 'rna_chemical_shift_larmord', 'Boolean', desc="Use LARMORD to calculate 1H chemical shifts" , default="false"),
1213  Option( 'rna_chemical_shift_exp_data', 'String', desc="rna_chemical_shift_exp_data" , default=""),
1214  Option( 'rna_chemical_shift_larmord_par', 'String', desc="larmord parameters file" , default="larmord_1.0_nocut_parameters.dat"),
1215  Option( 'rna_chemical_shift_larmord_wt', 'String', desc="larmord expected accuracy file" , default="larmord_noweights.txt"),
1216  Option( 'rna_chemical_shift_larmord_ref', 'String', desc="larmord reference chemical shift file" , default="larmord_1.0_reference_shifts.dat"),
1217  Option( 'rna_chemical_shift_larmord_nei', 'String', desc="larmord neighbor atom shift file" , default="larmord_1.0_neighbor_atoms.dat"),
1218  Option( 'rna_chemical_shift_larmord_cut', 'Real', desc="larmord distance cutoff" , default='9999.9'),
1219  Option( 'rna_chemical_shift_larmord_beta', 'Real', desc="larmord beta value (the exponent)" , default='-3.0'),
1220  Option( 'rna_chemical_shift_H5_prime_mode', 'String', desc="rna_chemical_shift_H5_prime_mode", default=""),
1221  Option( 'rna_chemical_shift_include_res', 'IntegerVector', desc="rna_chemical_shift_include_res"),
1222  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"),
1223  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"),
1224  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"),
1225  Option( 'use_2prime_OH_potential', 'Boolean', desc="Use torsional potential for RNA 2prime OH." , default="true"),
1226  Option( 'include_neighbor_base_stacks', 'Boolean', desc="In RNA score calculation, include stacks between i,i+1" , default="false"),
1227  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' ),
1228  Option( 'find_neighbors_stripehash', 'Boolean', desc="should be faster than 3dgrid and use 1/8th the memory", default='false' ),
1229  Option( 'seqdep_refene_fname', 'String', desc="Filename for table containing sequence-dependent reference energies" ),
1230  Option( 'secondary_seqdep_refene_fname', 'String', desc="Additional filename for table containing sequence-dependent reference energies" ),
1231  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' ),
1232  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' ),
1233  Option( 'exact_occ_include_Hbond_contribution', 'Boolean', desc="When using occ_sol_exact, include Hbonds in the solvation energy", default='false' ),
1234  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' ),
1235  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' ),
1236  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' ),
1237  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" ),
1238  Option( 'ref_offsets', 'StringVector', desc="offset reference energies using 3 character residue types (example: TRP 0.9 HIS 0.3)" ),
1239  Option( 'ref_offset', 'Real', desc="offset all reference energies by this amount", default='0.0' ),
1240  Option( 'output_residue_energies', "Boolean", desc="Output the energy for each residue", default='false' ),
1241  Option( 'fa_custom_pair_distance_file', 'String', desc="Name of custom pair distance energy file", default=""),
1242  Option( 'disulf_matching_probe', 'Real', desc="Size of probe to use in disulfide matching score", default='2.5'),
1243  Option( 'bonded_params', 'RealVector', desc="Default spring constants for bonded parameters [length,angle,torsion,proton-torsion,improper-torsion]"),
1244  Option( 'bonded_params_dir', 'String', desc="Spring constants for bonded parameters [length,angle,torsion,proton-torsion,improper-torsion]", default="scoring/score_functions/bondlength_bondangle"),
1245  Option( 'extra_improper_file', 'String', desc="Add extra parameters for improper torsions"),
1246  Option( 'pro_close_planar_constraint', 'Real', desc="stdev of CD,N,CA,prevC trigonal planar constraint in pro_close energy method", default='0.1' ),
1247  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'),
1248  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' ),
1249  Option( 'linear_bonded_potential', 'Boolean', desc="use linear (instead of quadratic) bonded potential", default='false'),
1250 # Option('use_membrane_rg','Boolean',desc="use the modified RG score where RG calculated over input span centers of mass",default='false'),
1251  Option( 'free_suite_bonus', 'Real', desc="Amount to reward virtualization of a nucleotide suite", default='-1.0'),
1252  Option( 'free_sugar_bonus', 'Real', desc="Amount to reward virtualization of a sugar/ribose", default='-1.0'),
1253  Option( 'free_2HOprime_bonus', 'Real', desc="Amount to reward virtualization of a 2'-OH", default='-0.5'),
1254  Option( 'syn_G_potential_bonus', 'Real', desc="Amount to reward syn chi conformation of guanosine", default='0.0'),
1255  Option( 'pack_phosphate_penalty', 'Real', desc="Amount to penalize instantiation of a 5' or 3' phosphate", default='0.25'),
1256  Option( 'free_side_chain_bonus', 'Real', desc="Amount to reward virtualization of a protein side chain, per free chi", default='-0.5'),
1257  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'),
1258  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'),
1259  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' ),
1260  Option( 'allow_complex_loop_graph', 'Boolean', desc='LoopGraph hack - allow sharing of loops between cycles', default='false' ),
1261  Option( 'compute_mg_sol_for_hydrogens', 'Boolean', desc='mg_sol includes penalties for hydrogens near Mg(2+)', default='false'),
1262  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"),
1263  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"),
1264  Option( 'conc', 'Real', desc="intermolecular concentration to use in intermol term (give in M)", default="1.0"),
1265  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" ),
1266  Option( 'sidechain_buried', 'IntegerVector', desc="count buried residues (rvernon pilot app)", default = '-1' ),
1267  Option( 'sidechain_exposed', 'IntegerVector', desc="count exposed residues (rvernon pilot app)", default = '-1' ),
1268  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/." ),
1269  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" ),
1270  Option( 'elec_min_dis', 'Real', desc='changes the minimum distance cut-off for hack-elec energy', default='1.6'),
1271  Option( 'elec_max_dis', 'Real', desc='changes the maximum distance cut-off for hack-elec energy', default='5.5'),
1272  Option( 'elec_die', 'Real', desc='changes the dielectric constant for hack-elec energy', default='10.0'),
1273  Option( 'elec_r_option', 'Boolean', desc='changes the dielectric from distance dependent to distance independent', default='false'),
1274  Option( 'elec_sigmoidal_die', 'Boolean', desc='changes the dielectric from distance dependent to sigmoidal', default='false'),
1275  Option( 'elec_sigmoidal_die_D', 'Real', desc='D parameter for sigmoidal dielectric', default='78.0'),
1276  Option( 'elec_sigmoidal_die_D0', 'Real', desc='D0 parameter for sigmoidal dielectric', default='2.0'),
1277  Option( 'elec_sigmoidal_die_S', 'Real', desc='S parameter for sigmoidal dielectric', default='0.36'),
1278  Option( 'elec_representative_cp', 'Boolean', desc='Use representative atoms for countpair to avoid dipole splits', default='false'),
1279  Option( 'elec_representative_cp_flip', 'Boolean', desc='Enable elec_representative_cp, but FLIP the order in the table', default='false'),
1280  Option( 'intrares_elec_correction_scale', 'Real', desc='Intrares elec scaling factor for free DOF atoms', default='0.05'),
1281  Option( 'smooth_fa_elec', 'Boolean', desc='Smooth the discontinuities in the elec energy function using a sigmoidal term', default='true' ),
1282  Option( 'grpelec_fade_type', 'String', desc='use standard way (shift/switch function) of Coulomb function for fa_grpelec', default='false' ),
1283  Option( 'grpelec_fade_param1', 'Real', desc='fading distance for shift/switch', default='1.0' ),
1284  Option( 'grpelec_fade_param2', 'Real', desc='exponent for shift', default='1.0' ),
1285  Option( 'elec_group_file', 'String', desc='file where group information is stored', default='/scoring/score_functions/elec_group_def.dat' ),
1286  Option( 'elec_group_extrafile', 'String', desc='file where group information for extra_res is stored', default='' ),
1287  Option( 'grpelec_fade_hbond', 'Boolean', desc='fade grpelec for hbonding group', default='false' ),
1288  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'] ),
1289  Option( 'grpelec_context_dependent', 'Boolean', desc='whether grpelec depends on context', default='false' ),
1290  Option( 'grp_cpfxn', 'Boolean', desc='rule for trying cpfxn on group', default='true' ),
1291  Option( 'grpelec_cpfxn_weight', 'RealVector', desc='cpfxn weight on group(1-4/1-5/>1-5)', default=['0.0','0.2','1.0'] ),
1292  Option( 'elec_context_minstrength', 'Real', desc='strength at min burial ', default='0.2' ),
1293  Option( 'elec_context_minburial', 'Real', desc='num. cb assigned as min burial ', default='7.0' ),
1294  Option( 'elec_context_maxburial', 'Real', desc='num. cb assigned as max burial', default='24.0' ),
1295  Option( 'use_polarization', 'Boolean', desc='whether multipole electrostatics includes polarization (induced dipoles)', default='true' ),
1296  Option( 'use_gen_kirkwood', 'Boolean', desc='whether multipole electrostatics includes treatment of reaction field', default='true' ),
1297  Option( 'protein_dielectric', 'Real', desc='dielectric constant for protein in generalized Kirkwood treatment of reaction field', default='1.0' ),
1298  Option( 'water_dielectric', 'Real', desc='dielectric constant for water in generalized Kirkwood treatment of reaction field', default='78.3' ),
1299  Option( 'facts_GBpair_cut','Real', desc='GBpair interaction distance cutoff (same as elec_max_dis)', default="10.0" ),
1300  Option( 'facts_kappa','Real', desc='GBpair interaction screening factor', default="12.0" ),
1301  Option( 'facts_asp_patch','Integer', desc='AtomicSolvationParameter set for nonpolar interaction in FACTS', default="3" ),
1302  Option( 'facts_plane_to_self','Boolean', desc='Add atoms in same plane to self energy pairs', default="true" ),
1303  Option( 'facts_saltbridge_correction','Real', desc='FACTS Self energy parameter scaling factor for polarH', default="1.0" ),
1304  Option( 'facts_dshift','RealVector', desc='FACTS pair term denominator distance shift[bb/bbsc/scsc/saltbridge]', default=["0.0","1.5","1.5","1.5"] ),
1305  Option( 'facts_die','Real', desc='FACTS dielectric constant', default="1.0" ),
1306  Option( 'facts_binding_affinity','Boolean', desc='Activate FACTS options for binding affinity calculation', default="false" ),
1307  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' ),
1308  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'] ),
1309  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'] ),
1310  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'] ),
1311  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'] ),
1312  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'] ),
1313  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'] ),
1314  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'] ),
1315  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'] ),
1316  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'] ),
1317  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'] ),
1318  Option( 'facts_charge_dir','String', desc='directory where residue topology files for FACTS charge are stored', default="scoring/score_functions/facts" ),
1319  Option( 'facts_eff_charge_dir','String', desc='directory where residue topology files for FACTS charge are stored', default="scoring/score_functions/facts/eff" ),
1320  Option( 'facts_plane_aa','StringVector', desc='AAs to apply plane rule'),
1321  Option( 'facts_eq_type','String', desc='FACTS equation type',default="exact"),
1322  Option( 'length_dep_srbb','Boolean', desc='Enable helix-length-dependent sr backbone hbonds', default="false" ),
1323  Option( 'ldsrbb_low_scale','Real', desc='Helix-length-dependent scaling at minlength.', default="0.5" ),
1324  Option( 'ldsrbb_high_scale','Real', desc='Helix-length-dependent scaling at maxlength.', default="2.0" ),
1325  Option( 'ldsrbb_minlength','Integer', desc='Helix-length-dependent scaling minlength.', default="4" ),
1326  Option( 'ldsrbb_maxlength','Integer', desc='Helix-length-dependent scaling maxlength.', default="17" ),
1327  Option( 'nmer_ref_energies', 'String', desc='nmer ref energies database filename' ),
1328  Option( 'nmer_ref_energies_list', 'String', desc='list of nmer ref energies database filenames' ),
1329  Option( 'nmer_pssm', 'String', desc='nmer pssm database filename' ),
1330  Option( 'nmer_pssm_list', 'String', desc='list of nmer pssm database filenames' ),
1331  Option( 'nmer_pssm_scorecut', 'Real', desc='nmer pssm scorecut gate for ignoring lowscore nmers', default='0.0' ),
1332  Option( 'nmer_svm', 'String', desc='nmer svm filename (libsvm)' ),
1333  Option( 'nmer_svm_list', 'String', desc='list of nmer svm filenames (libsvm)' ),
1334  Option( 'nmer_svm_scorecut', 'Real', desc='nmer svm scorecut gate for ignoring lowscore nmers', default='0.0' ),
1335  Option( 'nmer_svm_aa_matrix', 'String', desc='nmer svm sequence encoding matrix filename' ),
1336  Option( 'nmer_svm_term_length', 'Integer', desc='how many up/dnstream res to avg and incl in svm sequence encoding', default='3' ),
1337  Option( 'nmer_svm_pssm_feat', 'Boolean', desc='add pssm features to svm encoding?', default='true' ),
1338  Option( 'nmer_ref_seq_length', 'Integer', desc='length of nmers in nmer_ref score', default='9' ),
1339  Option( 'just_calc_rmsd', "Boolean", desc="In rna_score, just calculate rmsd -- do not replace score.", default='false' ),
1340  Option( 'envsmooth_zero_negatives', "Boolean", desc="use alternative envsmooth table with a floor of 0.0 (envsmooth awards no energy bonus)", default='false' ),
1341  Option_Group( 'saxs',
1342  Option('min_score', 'Real', desc="minimum value of saxs score; the parameter is used to flatten the energy funnel around its minimum", default='-5' ),
1343  Option( 'custom_ff', 'String',desc="Name of config file providing extra from factors",default=""),
1344  Option( 'print_i_calc', 'String',desc="File to optionally write scaled computed spectra",default=""),
1345  Option( 'ref_fa_spectrum','File' , desc="reads reference full-atom spectrum from a file"),
1346  Option( 'ref_cen_spectrum','File' , desc="reads reference centroid spectrum from a file"),
1347  Option( 'ref_spectrum','File' , desc="reads reference spectrum from a file"),
1348  Option( 'ref_pddf','File' , desc="reads reference pairwise distance distribution function"),
1349 # Option('skip_hydrogens', 'Boolean',desc="skip hydrogen atoms", default='false' ),
1350  Option('d_min', 'Real', desc="minimum value of distance used in PDDF score evaluation (in [A])", default='5.0' ),
1351  Option('d_max', 'Real', desc="maximum value of distance used in PDDF score evaluation (in [A])", default='100.0' ),
1352  Option('d_step', 'Real', desc="step of distance used in PDDF score evaluation (in [A])", default='0.1' ),
1353  Option('q_min', 'Real', desc="minimum value of q used in spectra calculations (in [A^-1])", default='0.01' ),
1354  Option('q_max', 'Real', desc="maximum value of q used in spectra calculations (in [A^-1])", default='0.25' ),
1355  Option('q_step', 'Real', desc="step of q used in spectra calculations (in [A^-1])", default='0.01' ),
1356  Option('fit_pddf_area', 'Boolean', desc="PDDF curve for a scored pose will be normalized to match the area under the reference PDDF curve"
1357  , default='false' ),
1358  ), # -score:saxs
1359  Option_Group( 'fiber_diffraction',
1360  Option( 'layer_lines','File',desc="reads layer_lines from a file"),
1361  Option( 'a','Real' , desc="number of subunits per repeat", default='0'),
1362  Option( 'b','Real' , desc="number of turns per repeat", default='0'),
1363  Option( 'p','Real' , desc="subunit rise", default='0'),
1364  Option( 'radius','Real' , desc="helical radius", default='0'),
1365  Option( 'resolution_cutoff_low','Real' , desc="ignore intensity data below this point", default='0.05'),
1366  Option( 'resolution_cutoff_high','Real' , desc="ignore intensity data above this point", default='0.5'),
1367  Option( 'max_bessel_order','Integer' , desc="maximum number of bessel orders used in simulations", default='50'),
1368  Option( 'cn_symmetry','Integer' , desc="cn symmetry at one z level (along fibrilar axis)", default='0'),
1369  Option( 'b_factor','Real' , desc="b_factor value", default='20'),
1370  Option( 'b_factor_solv','Real' , desc="b_factor_solv value", default='400'),
1371  Option( 'b_factor_solv_K','Real' , desc="b_factor_solv_K value", default='0.4'),
1372  Option( 'grid_reso','Real' , desc="resolution for density sampling on the grid", default='0.5'),
1373  Option( 'grid_r','Integer' , desc="number of grid points along r", default='256'),
1374  Option( 'grid_phi','Integer' , desc="number of grid points along phi", default='128'),
1375  Option( 'grid_z','Integer' , desc="number of grid points along z", default='256'),
1376  Option( 'qfht_K1','Real' , desc="value of K1 for Hankel sampling", default='2.0'),
1377  Option( 'qfht_K2','Real' , desc="value of K2 for Hankel sampling", default='2.2'),
1378  Option( 'chi_iterations','Integer', desc="number of iterations to calculate chi e.g. number of layer lines", default='0'),
1379  Option( 'rfactor_refinement','Boolean', desc="R-factor refinement", default='false'),
1380  Option( 'output_fiber_spectra','Boolean', desc="Output intensity, reciprocal R, layer line", default='false'),
1381  Option( 'gpu_processor','Integer', desc="GPU processor number - for systems with more than 1", default='0'),
1382  Option( 'centroid_density_mass','Real' , desc="density mass of centroid", default='0.0'),
1383  ), #-score:fiber_diffraction
1384  ), # -score
1385 
1386  # packing options -----------------------------------------------------------
1387  Option_Group( 'packing',
1388  Option( 'packing', 'Boolean', desc='Packing option group', legal='true', default='true' ),
1389  Option( 'repack_only', 'Boolean', desc='Disable design at all positions', default='false' ),
1390  Option( 'prevent_repacking', 'Boolean', desc='Disable repacking (or design) at all positions', default='false' ),
1391  Option( 'cenrot_cutoff', 'Real', desc='Cutoff to generate centroid rotamers', default='0.16' ),
1392  Option( 'ignore_ligand_chi', 'Boolean', desc='Disable param file chi-angle based rotamer generation in SingleLigandRotamerLibrary', default='false' ),
1393  Option( 'ndruns', 'Integer',
1394  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.',
1395  lower='1', default='1'
1396  ),
1397  Option( 'soft_rep_design', 'Boolean',
1398  desc="Use larger LJ radii for softer potential"
1399  ),
1400  Option( 'mainchain_h_rebuild_threshold', 'Real',
1401  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.',
1402  default='0.75'
1403  ),
1404  ##Option( 'read_hetero_h2o', 'Boolean',
1405  ## desc="Read native water from pdb file. Calculate the energy between native water and protein atoms. Output native water information"
1406  ##),
1407  ##Option( 'use_aw', 'Boolean',
1408  ## desc="Use weights for all fold proteins"
1409  ##),
1410  ##Option( 'use_bw', 'Boolean',
1411  ## desc="Use weights for beta protein"
1412  ##),
1413  Option( 'use_electrostatic_repulsion', 'Boolean',
1414  desc="Use electrostatic repulsion"
1415  ),
1416  Option( 'dump_rotamer_sets', 'Boolean',
1417  desc="Output NMR-style PDB's with the rotamer sets used during packing"
1418  ),
1419  Option( 'dunbrack_prob_buried', 'Real', default='0.98', lower='0', upper='1',
1420  desc="fraction of possible dunbrack rotamers to include in each single residue rotamer set, for \'buried\' residues"
1421  ),
1422  Option( 'dunbrack_prob_nonburied', 'Real', default='0.95', lower='0', upper='1',
1423  desc="fraction of possible dunbrack rotamers to include in each single residue rotamer set, for \'nonburied\' residues"
1424  ),
1425 # Option( 'dunbrack_prob_nonburied_semirotameric', 'Real', default='0.95', lower='0', upper='1',
1426 # desc="fraction of possible dunbrack rotamers to include in each single residue rotamer set, for \'nonburied\', semi-rotameric residues"
1427 # ),
1428  Option( 'no_optH', 'Boolean',
1429  desc="Do not optimize hydrogen placement at the time of a PDB load", default="true"
1430  ),
1431  Option( 'optH_MCA', 'Boolean',
1432  desc="If running optH, use the Multi-Cool Annealer (more consistent, but slower)", default="false"
1433  ),
1434  Option( 'pack_missing_sidechains', 'Boolean', default='true', desc="Run packer to fix residues with missing sidechain density at PDB load"),
1435  Option( 'preserve_c_beta', 'Boolean',
1436  desc="Preserve c-beta positions during rotamer construction"
1437  ),
1438  Option( 'flip_HNQ', 'Boolean',
1439  desc="Consider flipping HIS, ASN, and GLN during hydrogen placement optimization"
1440  ),
1441  Option( 'fix_his_tautomer','IntegerVector', desc='seqpos numbers of his residus whose tautomer should be fixed during repacking',
1442  default=[]
1443  ),
1444  Option( 'print_pymol_selection', 'Boolean',
1445  desc="include pymol-style selections when printing a PackerTask", default="false"
1446  ),
1447 
1448  Option( 'extrachi_cutoff', 'Integer', default='18',
1449  desc="number of neighbors a residue must have before extra rotamers are used. default: 18",
1450  ),
1451  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."),
1452 
1453  # Are below option is packing options? -----------------------------------
1454  # ----------
1455  # options for packing (applicable only for fullatom scoring):
1456  # ----------
1457  ##Option( 'ex1cys', 'Boolean',
1458  ## desc="use more chi1 rotamers for cystine. Uses EX_SIX_QUARTER_STEP_STDDEVS sampling",
1459  ##),
1460  ##Option( 'exOH', 'Boolean',
1461  ## desc="use extra chi samples for hydroxyl hydrogens in ST&Y",
1462  ##),
1463  ##Option( 'exdb', 'File',
1464  ## desc="specify any extra chi angle combination using an input file following the -exdb flag. Example file \
1465  ## is rundata.exdb.example. This method is an alternative \
1466  ## to the other -ex[1234] flags; you cannot specify extra \
1467  ## rotamers using both types of flags",
1468  ## default='exrot_file',
1469  ##),
1470  ##Option( 'rotamer_explosion', 'Real',
1471  ## desc="screen through an expanded rotamer set, filtering out rotamers based upon some particular quality threshold",
1472  ## default='-1.0',
1473  ##),
1474  ##Option( 'rot_pert', 'Boolean',
1475  ## desc="add 'perturbed rotamers' by changing base rotamers chi angles by 'pert_size' degrees (below)",
1476  ##),
1477  ##Option( 'rot_pert_input', 'Boolean',
1478  ## desc="Add 'perturbed rotamers' for the starting sidechains (analogous to rot_pert flag)",
1479  ##),
1480  ##Option( 'pert_acc_prob', 'Real',
1481  ## desc="Fraction of potential 'perturbed rotamers' to include",
1482  ## default='1.0',
1483  ##),
1484  ##Option( 'pert_size', 'Real',
1485  ## desc="Number of degrees each perturbation should entail",
1486  ## default='5.0',
1487  ##),
1488  Option( 'outeriterations_scaling', 'Real', desc="Multiplier for number of outer iterations", default='1.0', ),
1489  Option( 'inneriterations_scaling', 'Real', desc="Multiplier for number of inner iterations", default='1.0', ),
1490  #Option( 'ignore_residue_burial', 'Boolean', desc="when generating rotamers in the packer task, do not take residue burial into account", default='false',),
1491 # Option( 'explicit_h2o', 'Boolean',
1492 # desc="Use rotamers with explicit waters",
1493 # ),
1494  Option( 'adducts', 'StringVector',
1495  desc="Gives list of adduct names to generate for residue \
1496  definitions. Each adduct name may be followed by an \
1497  optional integer, which gives a maximum number of adducts \
1498  of that type which will be generated.",
1499  ),
1500 # Option( 'solvate', 'Boolean',
1501 # desc="Add explicit water, but don't try to place water \
1502 # such that it bridges Hbonds, just put it on every \
1503 # available Hbond donor/acceptor where there's no \
1504 # clash (implies explicit_h2o)",
1505 # ),
1506  Option( 'use_input_sc', 'Boolean',
1507  desc="Use rotamers from input structure in packing \
1508  By default, input sidechain coords are NOT \
1509  included in rotamer set but are discarded \
1510  before the initial pack; with this flag, the \
1511  the input rotamers will NOT be discarded. \
1512  Note that once the starting rotamers are \
1513  replaced by any mechanism, they are no longer \
1514  included in the rotamer set \
1515  (rotamers included by coordinates)",
1516  ),
1517  Option( 'unboundrot', 'FileVector', desc="Read 'native' rotamers from supplied PDB(s). \
1518  Unlike -use_input_sc, these rotamers will not be lost during repacks. \
1519  This option requires specific support from the protocol; \
1520  it is NOT built in to PackerTask.initialize_from_command_line()" ),
1521  ##Option( 'norepack_disulf', 'Boolean',
1522  ## desc="do not change disulfides in pack or rotamer trials or sidechain minimize",
1523  ##),
1524  ##Option( 'minimize_rot', 'Boolean',
1525  ## desc="minimize each rotamer in rotamer_trials",
1526  ##),
1527  ##Option( 'try_both_his_tautomers', 'Boolean',
1528  ## desc="Turns on a variant for histidine with the side chain polar hydrogen moved from NE2 to ND1",
1529  ## default='true',
1530  ##),
1531  ##Option( 'write_interaction_graph', 'Boolean',
1532  ## desc="Write binary file of rotamer pair energies. Must be in design mode",
1533  ##),
1534  ##Option( 'read_interaction_graph', 'Boolean',
1535  ## desc="Read binary file of rotamer pair energies; must use same \
1536  ## coordinates for backbone used to produce the interaction graph file. \
1537  ## Simple translation and rotation of a pdb will \
1538  ## introduce enough numerical noise to invalidate the energies in the file. \
1539  ## Must be in design mode",
1540  ##),
1541  ##Option( 'ig_file', 'File',
1542  ## desc="The name of the interaction graph file. I suggest the extension '.igf' \
1543  ## for interaction graph file. This flag/input is necessary if either \
1544  ## -write_interaction_graph or -read_interaction_graph are set",
1545  ##),
1546  ##Option( 'dump_rotamers_pdb', 'Integer',
1547  ## desc="for residue # (rosetta numbering -- see resfile) \
1548  ## output a file containing the set of rotamers used \
1549  ## during design, with their one-body energies printed \
1550  ## in the b-factor column. If you want multiple residues at once, you can edit \
1551  ## the code to do so",
1552  ## default='0',
1553  ##),
1554  Option( 'max_rotbump_energy', 'Real',
1555  desc='discard rotamers with poor interactions with the background using \
1556  the specified cutoff. Values must be in the range of 0 to 5.0.',
1557  default='5.0'
1558  ),
1559  Option( 'lazy_ig', 'Boolean',
1560  desc="Force the packer to always allocate pair energy storage but procrastinate \
1561  energy caclulation until each RPE is needed; each RPE is \
1562  computed at most once. Memory use is quadratic in rotamers per residue. \
1563  The InteractionGraphFactory will prefer the linear-memory interaction graph \
1564  to the Lazy Interaction graph, so specifying both linmem_ig and lazy_ig results \
1565  in the use of the linear-memory interaction graph. The Surface-series IGs \
1566  (surface weight in scorefunction is nonzero) also overrides this IG.",
1567  default='false',
1568  ),
1569  Option( 'double_lazy_ig', 'Boolean',
1570  desc="Force the packer to always procrastinate allocation AND energy caclulation \
1571  until each RPE is needed; each RPE is computed at most once. \
1572  The InteractionGraphFactory will prefer the linear-memory interaction graph \
1573  to the DoubleLazy Interaction graph, so specifying both linmem_ig and lazy_ig results \
1574  in the use of the linear-memory interaction graph. The Surface-series IGs (surface \
1575  weight in scorefunction is nonzero) also overrides this IG.",
1576  default='false',
1577  ),
1578 # Option( 'double_lazy_ig_mem_limit', 'Integer',
1579 # desc="The amount of memory, in MB, that each double-lazy interaction graph should be allowed \
1580 # to allocate toward rotamer pair energies. Using this flag will not trigger the \
1581 # use of the double-lazy interaction graph, and this flag is not read in the PackerTask's \
1582 # initialize_from_command_line routine. For use in multistate design",
1583 # default='0',
1584 # ),
1585  Option( 'linmem_ig', 'Integer',
1586  desc="Force the packer to use the linear memory interaction graph; each \
1587  RPE may be computed more than once, but recently-computed RPEs \
1588  are reused. The integer parameter specifies the number \
1589  of recent rotamers to store RPEs for. 10 is the recommended size. \
1590  Memory use scales linearly with the number of \
1591  rotamers at about 200 bytes per rotamer per recent rotamers to \
1592  store RPEs for (~4 KB per rotamer by default)",
1593  default='10',
1594  ),
1595  ##Option( 'minimalist_ig', 'Boolean',
1596  ## desc="DOES NOT YET WORK. Force the packer to use the minimalist interaction graph. The minimalist \
1597  ## interaction graph allocates no space for RPE storage. It is \
1598  ## somewhat slow. Memory use scales linearly with the number of rotamers",
1599  ##),
1600  ##Option( 'packer_precompute_only', 'Boolean',
1601  ## desc="DOES NOT YET WORK. force the packer to precompute rotamer pair energies; by default \
1602  ## the packer will either precompute RPEs or use the Lazy interaction \
1603  ## graph after predicting which is faster",
1604  ##),
1605  ##Option( 'tight_memory_restrictions', 'Boolean',
1606  ## desc="DOES NOT YET WORK. decide between precomputing pair energies and using the linmem IG \
1607  ## depending on whether pair energy storage would exceed the MB limit \
1608  ## indicated (default 256 MB);\
1609  ## Caution: it is possible for the linmem IG to use more memory \
1610  ## than the given limit",
1611  ##),
1612  ##Option( 'MB_limit_for_RPEs', 'Integer',
1613  ## desc="DOES NOT YET WORK. for use with the -tight_memory_restrictions flag",
1614  ##),
1615  Option( 'multi_cool_annealer', 'Integer',
1616  desc="Alternate annealer for packing. Runs multiple quence cycles in a first cooling stage, and tracks \
1617  the N best network states it observes. It then runs low-temperature rotamer substitutions with repeated \
1618  quenching starting from each of these N best network states. 10 is recommended.",
1619  ),
1620 
1621  Option( 'minpack_temp_schedule', 'RealVector',
1622  desc="Alternate annealing schedule for min_pack.",
1623  ),
1624  Option( 'minpack_inner_iteration_scale', 'Integer',
1625  desc="The number of inner iterations per rotamer to run at each temperature in min pack.",
1626  ),
1627  Option( 'minpack_disable_bumpcheck', 'Boolean',
1628  desc="Disable bump check in min pack (i.e. include rotamers that collide with the background.",
1629  ),
1630 
1631  ##Option( 'Wint_repack_only', 'Boolean',
1632  ## desc="set weights to int weights (use environment dependent H-bond energy) when repacking \
1633  ## (calling subroutine 'pack_rotamer') default weight is current packer weights \
1634  ## (no environment dependent weight for hb) No longer be used. If you are in ddg mode, \
1635  ## use -Wpack_only",
1636  ##),
1637  ##Option( 'Wint_score_only', 'Boolean',
1638  ## desc="set weights to int weights (use environment dependent H-bond energy) \
1639  ## when scoring (calling subroutine 'fullatom_energy') \
1640  ## default weight is current packer weights \
1641  ## (no environment dependent weight for hb) \
1642  ## No longer be used. If you are in ddg mode, \
1643  ## use -Wint_only",
1644  ##),
1645  #Option( 'read_hetero_h2o', 'Boolean',
1646  # desc="read native water from pdbfile calculate the energy between native water \
1647  # and protein atoms output native water information",
1648  #),
1649  ##Option( 'int_score', 'Boolean',
1650  ## desc="set up for reading and scoring protein complex",
1651  ##),
1652  Option_Group( 'ex1',
1653  Option( 'ex1', 'Boolean',
1654  desc="use extra chi1 sub-rotamers for all residues that pass the extrachi_cutoff",
1655  ),
1656  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1657  desc="use extra chi1 sub-rotamers for all residues that pass the extrachi_cutoff \
1658 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1659 There are currently 8 options; they all include the original chi dihedral angle. \
1660 \
1661 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1662 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1663 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1664 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1665 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1666 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1667 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1668 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1669  ),
1670  Option( 'operate', 'Boolean', desc='apply special operations (see RotamerOperation class) on ex1 rotamers' ),
1671  ), # ex1
1672 
1673  Option_Group( 'ex2',
1674  Option( 'ex2', 'Boolean',
1675  desc="use extra chi2 sub-rotamers for all residues that pass the extrachi_cutoff",
1676  ),
1677  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1678  desc="use extra chi2 sub-rotamers for all residues that pass the extrachi_cutoff \
1679 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1680 There are currently 8 options; they all include the original chi dihedral angle. \
1681 \
1682 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1683 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1684 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1685 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1686 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1687 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1688 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1689 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1690  ),
1691  Option( 'operate', 'Boolean', desc='apply special operations (see RotamerOperation class) on ex2 rotamers' ),
1692  ), # ex2
1693 
1694  Option_Group( 'ex3',
1695  Option( 'ex3', 'Boolean',
1696  desc="use extra chi1 sub-rotamers for all residues that pass the extrachi_cutoff",
1697  ),
1698  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1699  desc="use extra chi3 sub-rotamers for all residues that pass the extrachi_cutoff \
1700 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1701 There are currently 8 options; they all include the original chi dihedral angle. \
1702 \
1703 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1704 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1705 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1706 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1707 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1708 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1709 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1710 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1711  ),
1712  Option( 'operate', 'Boolean', desc='apply special operations (see RotamerOperation class) on ex3 rotamers' ),
1713  ), # ex3
1714 
1715  Option_Group( 'ex4',
1716  Option( 'ex4', 'Boolean',
1717  desc="use extra chi1 sub-rotamers for all residues that pass the extrachi_cutoff",
1718  ),
1719  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1720  desc="use extra chi4 sub-rotamers for all residues that pass the extrachi_cutoff \
1721 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1722 There are currently 8 options; they all include the original chi dihedral angle. \
1723 \
1724 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1725 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1726 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1727 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1728 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1729 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1730 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1731 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1732  ),
1733  Option( 'operate', 'Boolean', desc='apply special operations (see RotamerOperation class) on ex4 rotamers' ),
1734  ), # ex6
1735 
1736  Option_Group( 'ex1aro',
1737  Option( 'ex1aro', 'Boolean',
1738  desc="use extra chi1 sub-rotamers for aromatic residues that pass the extrachi_cutoff",
1739  ),
1740  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1741  desc="use extra chi1 sub-rotamers for all residues that pass the extrachi_cutoff \
1742 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1743 There are currently 8 options; they all include the original chi dihedral angle. \
1744 \
1745 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1746 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1747 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1748 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1749 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1750 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1751 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1752 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1753  ),
1754  ), # ex1aro
1755 
1756  Option_Group( 'ex2aro',
1757  Option( 'ex2aro', 'Boolean',
1758  desc="use extra chi1 sub-rotamers for aromatic residues that pass the extrachi_cutoff",
1759  ),
1760  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1761  desc="use extra chi2 sub-rotamers for all residues that pass the extrachi_cutoff \
1762 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1763 There are currently 8 options; they all include the original chi dihedral angle. \
1764 \
1765 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1766 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1767 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1768 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1769 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1770 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1771 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1772 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1773  ),
1774  ), # ex2aro
1775 
1776  Option_Group( 'ex1aro_exposed',
1777  Option( 'ex1aro_exposed', 'Boolean',
1778  desc="use extra chi1 sub-rotamers for all aromatic residues",
1779  ),
1780  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1781  desc="use extra chi1 sub-rotamers for all aromatic residues \
1782 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1783 There are currently 8 options; they all include the original chi dihedral angle. \
1784 \
1785 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1786 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1787 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1788 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1789 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1790 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1791 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1792 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1793  ),
1794  ), # ex1aro_exposed
1795 
1796  Option_Group( 'ex2aro_exposed',
1797  Option( 'ex2aro_exposed', 'Boolean',
1798  desc="use extra chi2 sub-rotamers for all aromatic residues",
1799  ),
1800  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1801  desc="use extra chi2 sub-rotamers for all aromatic residues \
1802 The integers that follow the ex flags specify the pattern for chi dihedral angle sampling \
1803 There are currently 8 options; they all include the original chi dihedral angle. \
1804 \
1805 NO_EXTRA_CHI_SAMPLES 0 original dihedral only; same as using no flag at all \
1806 EX_ONE_STDDEV 1 Default +/- one standard deviation (sd); 3 samples \
1807 EX_ONE_HALF_STEP_STDDEV 2 +/- 0.5 sd; 3 samples \
1808 EX_TWO_FULL_STEP_STDDEVS 3 +/- 1 & 2 sd; 5 samples \
1809 EX_TWO_HALF_STEP_STDDEVS 4 +/- 0.5 & 1 sd; 5 samples \
1810 EX_FOUR_HALF_STEP_STDDEVS 5 +/- 0.5, 1, 1.5 & 2 sd; 9 samples \
1811 EX_THREE_THIRD_STEP_STDDEVS 6 +/- 0.33, 0.67, 1 sd; 7 samples \
1812 EX_SIX_QUARTER_STEP_STDDEVS 7 +/- 0.25, 0.5, 0.75, 1, 1.25 & 1.5 sd; 13 samples",
1813  ),
1814  ), # ex2aro_exposed
1815 
1816  Option_Group( 'exdna',
1817  Option( 'exdna', 'Boolean',
1818  desc="use extra dna rotamers",
1819  ),
1820  Option( 'level', 'Integer', legal=[ '0', '1', '2', '3', '4', '5', '6', '7' ], default='1',
1821  desc="extra dna rotamer sample level -- rotbuilder converts from 0-7 to number",
1822  ),
1823  ##Option( 'dna_rotlib', 'String', desc="DNA rotamer library",
1824  ##),
1825  ##Option( 'use_input_dna_bb', 'Boolean', desc="Use DNA backbone from input structure in packing",
1826  ##),
1827  ), # -packing:exdna
1828  ), # -packing
1829 
1830 ####################################
1831 # General option groups
1832 # Please keep in alphabetical order.
1833 
1834  ################################
1835  # archive options
1836  Option_Group( 'archive',
1837  Option( 'reread_all_structures','Boolean', desc='ignore pool file... reread from batches', default='false'),
1838  Option( 'completion_notify_frequency','Integer', desc='tell Archive every X completed decoys', default='100'),
1839  ), # -archive
1840 
1841  ###########################################################################
1842  # Carbohydrate Options
1843  Option_Group("carbohydrates",
1844  Option('glycam_pdb_format', 'Boolean',
1845  desc='Indicates that the input PDB files were generated by GLYCAM '
1846  'and thus join any HO- or RO- \\"residues\\" to the following one '
1847  'since Rosetta is smart enough to patch reducing ends. The '
1848  'default value is false.',
1849  short='Was this input file generated by GLYCAM?',
1850  legal=['true', 'false'],
1851  default='false'),
1852  ), # -carbohydrates
1853 
1854  ##########################################################################
1855  Option_Group('rings',
1856  Option('lock_rings', 'Boolean',
1857  desc='Sets whether or not alternative ring conformations '
1858  'will be sampled by the protocol, (e.g, ring flips or '
1859  'puckering). Only low-energy conformers will be sampled, if '
1860  'known. Otherwise, all ideal ring conformers will be '
1861  'sampled. The default value is false.',
1862  short='Are rings allowed to flip or pucker?',
1863  legal=['true', 'false'],
1864  default='false'),
1865  Option('idealize_rings', 'Boolean',
1866  desc='Sets whether or not the ring conformations of input poses '
1867  'are idealized (set to the lowest-energy ring conformer, '
1868  'according to the toplogy file for that residue). The '
1869  'default is false: the input ring conformations will be used.',
1870  short='Are rings pre-set to low-energy conformations?',
1871  legal=['true', 'false'],
1872  default='false'),
1873  Option('sample_high_energy_conformers', 'Boolean',
1874  desc='Sets whether or not even ring conformations that are energy '
1875  'energy maxima will be sampled by the protocol. The default '
1876  'value is false; however, if the low energy ring conformers '
1877  'are not listed in the topology files, all ideal ring '
1878  'conformers will be sampled anyway.',
1879  short='Are rings allowed to flip or pucker?',
1880  legal=['true', 'false'],
1881  default='false'),
1882  ), # -rings
1883 
1884  # chemical settings -----------------------------------------------------------
1885  Option_Group( 'chemical',
1886  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" ),
1887  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", ),
1888  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> ..." ),
1889  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' " ),
1890  Option( 'patch_selectors', 'StringVector', desc = 'allow patch files that have CMDLINE_SELECTOR tags can be switched on with this option',default=[] ),
1891  Option( 'override_rsd_type_limit', 'Boolean', desc="over-ride cap on number of residue types.", default='false'),
1892  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' " ),
1893  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' " ),
1894  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' " ),
1895  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' " ),
1896  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' " ),
1897  Option( 'enlarge_H_lj', 'Boolean', desc="Use larger LJ_WDEPTH for Hs to avoid RNA clashes", default='false'),
1898  Option( 'no_hbonds_to_ether_oxygens', 'Boolean', desc="no H-bonds to nucleic acid ether oxygens O3', O4', O5'", default='false'),
1899  Option( 'check_rsd_type_finder','Boolean',desc='run legacy code based on name3_map or aa_map to compare to ResidueTypeFinder, which should be way more efficient',default='false'),
1900  ), #-chemical
1901 
1902  # Coarse options
1903  ##Option_Group( 'coarse',
1904  ## Option( 'crescore', 'Boolean', desc = "rescore structures in fine and coarse"),
1905  ## Option( 'crelax', 'Boolean', desc = "rescore structures in fine and coarse after relax"),
1906  ## Option( 'crepack', 'Boolean', desc = "rescore structures in fine and coarse after repack"),
1907  ## Option( 'cstrip_relax', 'Boolean', desc = "rescore structures in fine and coarse, full repack (stripped sidechains) and relax"),
1908  ## Option( 'cjob','String', desc = "list of input pdb files"),
1909  ##),
1910 
1911  Option_Group( 'constraints',
1912 # Option( 'CA_tether', 'Real', default='2.0', desc='default CA tether for harmonic constraints'),
1913  ##Option( 'p_cst', 'Real', default='0.1', desc='probability of res-res constraint'),
1914  Option( 'exit_on_bad_read', 'Boolean', default = 'true', desc='exit if error is encountered reading constraints' ),
1915  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).' ),
1916  Option( 'cst_weight', 'Real', default = '1.0'),
1917  Option( 'max_cst_dist', 'Real', default = '12.0' ),
1918  Option( 'cst_fa_file', 'StringVector', desc='constraints filename(s) for fullatom. When multiple files are given a *random* one will be picked.' ),
1919  Option( 'cst_fa_weight', 'Real', default = '1.0'),
1920  Option( 'normalize_mixture_func', 'Boolean', default = 'false' ),
1921  Option( 'penalize_mixture_func', 'Boolean', default = 'true' ),
1922  ##Option( 'mixture_func_distance_cutoff', 'Real', default = '20' ),
1923  Option( 'forest_file', 'File', desc='file with constraintforest', default='' ),
1924  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' ),
1925  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' ),
1926  Option( 'dump_cst_set' , 'File', desc='dump the cstset_ to file ', default='' ),
1927  Option( 'evaluate_max_seq_sep', 'IntegerVector', desc='evaluate constraints to this seq-sep [vector]', default='0' ),
1928  Option( 'named', 'Boolean', desc='enable named constraints to avoid problems with changing residue-types e.g., cutpoint-variants', default='false' ),
1929  Option( 'no_cst_in_relax', 'Boolean', desc='remove constraints for relax', default='false' ),
1930  Option( 'no_linearize_bounded', 'Boolean', desc='dont switch to linearized in BOUNDED func', default='false' ),
1931  Option( 'pocket_constraint_weight', 'Real',default='0',desc='Weight of the Pocket Constraint'),
1932  Option( 'pocket_zero_derivatives', 'Boolean', desc="Return zero for PocketConstaint derivatives", default='false' ),
1933  Option( 'viol', 'Boolean', desc='show violations', default='false' ),
1934  Option( 'viol_level', 'Integer', desc='how much detail for violation output', default='1' ),
1935  Option( 'viol_type', 'String', desc='work only on these types of constraints', default='' ),
1936  ##Option( 'debug_cst_stages', 'Boolean', desc="Unknown - ask olange", default = 'false' ),
1937  Option( 'sog_cst_param', 'Real', desc='weight parameter for SOGFunc constraints', default = '0.0' ),
1938  Option( 'sog_upper_bound', 'Real', desc='Upper cutoff for SOGFunc constraints', default = '10.0' ),
1939  Option( 'epr_distance', 'Boolean', desc='use epr distance potential', default='false' ),
1940  Option( 'combine', 'Integer', desc='combine constraints randomly into OR connected groups (Ambiguous). N->1', default='1' ),
1941  Option( 'combine_exclude_region', 'File', desc='core-defintion file do not combine constraints that are core-core' ),
1942  Option( 'skip_redundant', 'Boolean', desc='skip redundant constraints', default='false'),
1943  Option( 'skip_redundant_width', 'Integer', desc='radius of influence for redundant constraints', default='2'),
1944 # Option( 'increase_constraints', 'Real', desc='Multiplicative factor applied to constraints. Not widely supported yet.', default='1.0'),
1945  ), # -constraints
1946 
1947  # correction for testing ------------------------------------------------------------
1948  Option_Group( 'corrections',
1949  Option( 'beta', 'Boolean', desc='Use the most-recent (curr Nov 15) beta score function', default='false'),
1950  Option( 'beta_cart', 'Boolean', desc='Use the most-recent (curr Nov 15) beta score function for nonideal optimization', default='false'),
1951  Option( 'beta_nov15', 'Boolean', desc='Use the November 2015 beta score function', default='false'),
1952  Option( 'beta_nov15_cart', 'Boolean', desc='Use the November 2015 beta score function for nonideal optimization', default='false'),
1953  Option( 'beta_july15', 'Boolean', desc='Use the July 2015 beta score function', default='false'),
1954  Option( 'beta_july15_cart', 'Boolean', desc='Use the July 2015 beta score function for nonideal optimization', default='false'),
1955  Option( 'newdna', 'Boolean', desc='Apply some dna-specific mods to chemical/scoring (for testing)',
1956  default='false'),
1957  Option( 'correct', 'Boolean',
1958  desc="turn on default corrections:"
1959  "See src/core/init/score_function_corrections.cc",
1960  default="false"),
1961  Option( 'hbond_sp2_correction', 'Boolean',
1962  desc="turn on the hbond Sp2 correction with a single flag"
1963  " use with sp2_correction.wts. Note, these weight sets are chosen automatically by default."
1964  " -score::hb_sp2_chipen"
1965  " -hb_sp2_BAH180_rise 0.75"
1966  " -hb_sp2_outer_width 0.357"
1967  " -hb_fade_energy"
1968  " -hbond_measure_sp3acc_BAH_from_hvy"
1969  " -lj_hbond_hdis 1.75"
1970  " -lj_hbond_OH_donor_dis 2.6"
1971  " -hbond_params sp2_elec_params"
1972  " -expand_st_chi2sampling"
1973  " -smooth_fa_elec"
1974  " -elec_min_dis 1.6"
1975  " -elec_r_option false"
1976  " -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"),
1977  Option( 'facts_default', 'Boolean',
1978  desc="turn on default options for FACTS"
1979  " use with scorefacts.wts. Incompatible with hbond_sp2_correction option."
1980  " -correct"
1981  " -lj_hbond_hdis 2.3"
1982  " -lj_hbond_OH_donor_dis 3.4"
1983  " -use_bicubic_interpolation "
1984  " -hbond_params sp2_elec_params"
1985  " -hb_sp2_chipen "
1986  " -hbond_measure_sp3acc_BAH_from_hby"
1987  " -facts_GBpair_cut 10.0"
1988  " -facts_min_dis 1.5"
1989  " -facts_dshift 1.4"
1990  " -facts_die 1.0"
1991  " -facts_kappa 12.0"
1992  " -facts_asp_patch 3"
1993  " -facts_intrares_scale 0.4"
1994  " -facts_elec_sh_exponent 1.8",
1995  default="false"),
1996  Option_Group( 'score',
1997  Option( 'bbdep_omega', 'Boolean', desc="Enable phi-psi dependent omega", ),
1998  Option( 'bbdep_bond_params', 'Boolean', desc="Enable phi-psi dependent bondlengths and bondangles", ),
1999  Option( 'bbdep_bond_devs', 'Boolean', desc="Enable phi-psi dependent deviations for bondlengths and bondangles", ),
2000  Option( 'no_his_his_pairE', 'Boolean', desc="Set pair term for His-His to zero", ),
2001  Option( 'no_his_DE_pairE', 'Boolean', desc="Set pair term for His-Glu and His-Asp to zero", ),
2002 # Option( 'hbond_His_Phil_fix', 'Boolean', desc="Phil's fix on Histidine interaction angular dependence"),
2003 # Option( 'helix_hb_06_2009', 'Boolean', desc="Helix backbone-backbone hbond potential with a different angular dependence"),
2004  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" ),
2005  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" ),
2006  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" ),
2007  Option( 'rama_map', 'File', default = 'scoring/score_functions/rama/Rama_smooth_dyn.dat_ss_6.4', desc="Ramachandran file used by rama" ),
2008  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." ),
2009  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." ),
2010  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." ),
2011  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." ),
2012  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." ),
2013  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." ),
2014  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." ),
2015  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." ),
2016  Option( 'cenrot', 'Boolean', desc="Use the Centroid Rotamer Model.", default="false" ),
2017  Option( 'dun10', 'Boolean', desc="Use the 2010 Dunbrack library instead of either the the 2002 library.", default="true" ),
2018  Option( 'dun10_dir', 'String', desc="Name of dun10 dir", default="rotamer/ExtendedOpt1-5" ),
2019  Option( 'dun02_file', 'String', desc="Name of dun02 input file", default="rotamer/bbdep02.May.sortlib" ),
2020  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" ),
2021 # Option( 'fa_elec_co_only', 'Boolean', desc="Using only CO-CO interactions in fa_elec_bb_bb", default = 'false' ),
2022  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' ),
2023  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'),
2024  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' ),
2025  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' ),
2026  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"),
2027  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"),
2028  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"),
2029  Option( 'hb_sp2_chipen', 'Boolean', desc="Experimental term for hydrogen bonds to sp2 acceptors: penalizes out-of-plane geometry by 67%", default="true" ),
2030  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" ),
2031  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"),
2032  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" ),
2033  Option( 'dun_normsd', 'Boolean', desc="Use height-normalized guassian distributions to model p(chi|phi,psi) instead of height-unnormalized gaussians", default="false" ),
2034  Option( 'dun_entropy_correction', 'Boolean', desc="Add Shannon entropy correction to rotamer energy: E = -logP + S", default="false" ),
2035  ), #-corrections:score
2036  Option_Group( 'chemical',
2037  Option( 'icoor_05_2009', 'Boolean', desc="New set of idealized coordinates for full atom, 05-2009" ),
2038  Option( 'parse_charge', 'Boolean', desc="Use PARSE charge set." ),
2039  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"),
2040  ), #-corrections:chemical
2041 
2042  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'),
2043 
2044  #Different options for new dunbrack, rama, prop libraries, they have effect only when shapovalov_lib_fixes_enable is true.
2045  Option_Group( 'shapovalov_lib',
2046  Option( 'shap_dun10_enable', 'Boolean', desc="Enable new Shapovalov's dun10 fix if the umbrella option is on, shapovalov_lib_fixes", default="true" ),
2047  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"),
2048  Option( 'shap_dun10_dir', 'String', desc="Name of the new format dun10 dir", default="rotamer/shapovalov/StpDwn_5-5-5" ),
2049  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"),
2050 
2051  Option( 'shap_rama_enable', 'Boolean', desc="Enable new Shapovalov's Rama fix if the umbrella option is on, shapovalov_lib_fixes", default="true" ),
2052  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"),
2053  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" ),
2054  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" ),
2055 
2056  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" ),
2057  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"),
2058  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" ),
2059 
2060  ), #-corrections:shapovalov_lib
2061  ), # -corrections
2062 
2063  # Evaluator Options ---------------------------------------------------------
2064  Option_Group( 'evaluation' ,
2065  Option( 'rmsd_target', 'FileVector', desc='[vector] determine rmsd against this/these structure(s)'),
2066  Option( 'rmsd_column', 'StringVector', desc='[vector] use xxx as column name: rms_xxx'),
2067  Option( 'rmsd_select', 'FileVector', desc='[vector] a bunch of loop files which makes rmsds with tags: rms_XXX, where XXX is basename of file' ),
2068  Option( 'align_rmsd_target', 'FileVector', desc='[vector] determine rmsd against this/these structure(s) using simple sequence alignment'),
2069  Option( 'structural_similarity', 'FileVector', desc='[vector] measure average similarity against these structures (option specifies a silent-file)', ),
2070  Option( 'contact_map', 'Boolean', desc='Calculate contact map similarity using the given native' ),
2071  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)' ),
2072  Option( 'align_rmsd_column', 'StringVector', desc='[vector] use xxx as column name for align_rmsd_target: rms_xxx'),
2073  Option( 'align_rmsd_fns', 'FileVector', desc='[vector] of sequence alignments used for align_rmsd files'),
2074  Option( 'align_rmsd_format', 'String',
2075  desc='format for sequence alignment between structures used in evaluation',
2076  legal = ['grishin','general'], default='grishin'
2077  ),
2078  Option( 'predicted_burial_fn', 'String', desc='file for burial predictions', default = '' ),
2079  Option( 'pool', 'File', desc='find closest matching structure in this pool and report tag and rmsd' ),
2080  Option( 'rmsd', 'FileVector', desc='[vector/pairs] tripletts: rmsd_target (or NATIVE / IRMS) col_name selection_file (or FULL)'),
2081  Option( 'chirmsd', 'FileVector', desc='[vector/tripletts]: rmsd_target (or NATIVE / IRMS ) col_name selection_file ( or FULL) '),
2082  Option( 'gdtmm', 'Boolean', desc='for each rmsd evaluator also a gdtmm evaluator is created', default='false'),
2083  Option( 'gdttm', 'Boolean', desc='for each rmsd evaluator also a gdttm evaluator is created', default='false'),
2084  Option( 'score_with_rmsd','Boolean', desc='score the pose on the same subset of atoms as in the rmsd poses'),
2085  Option( 'constraints', 'FileVector', desc='[vector] evaluate against these constraint sets'),
2086  Option( 'constraints_column', 'FileVector', desc='[vector] use xxx as column name: cst_xxx'),
2087  Option( 'combined_constraints', 'FileVector', desc='[vector] use xxx as cst-file but combine constraints before applying'),
2088  Option( 'combined_constraints_column', 'FileVector', desc='[vector] use xxx as cst-file but combine constraints before applying'),
2089  Option( 'combine_statistics','Integer', default ='10', desc='repeat constraint evaluation X times to get statistics of constraint combination'),
2090 
2091  Option( 'chemical_shifts','StringVector', desc='compute chemical shift score with SPARTA+ use tuples: talos_file [cs]_column_name (ATTENTION uses filesystem)'),
2092  Option( 'sparta_dir','String', desc='[optional] point to an external resource for the sparta directory (instead of minirosetta_database)', default='SPARTA+'),
2093  Option( 'cam_shifts','StringVector', desc='compute chemical shift score with Camshift talos_file [cs]_column_name (ATTENTION uses filesystem)'),
2094  Option( 'pales','StringVector', desc='compute Residual Dipolar Couplings using the PALES program (ATTENTION uses filesystem)'),
2095  Option( 'extra_score','FileVector', desc='[vector] provide .wts files to generate extra columns'),
2096  Option( 'extra_score_patch','FileVector', desc='[vector] provide .patch files, set NOPATCH for columns that are not patched'),
2097 
2098  Option( 'extra_score_column', 'StringVector', desc='[vector] use xxx as column name: score_xxx'),
2099  Option( 'extra_score_select','FileVector',desc='[vector] /rigid/ files for selection, use SELECT_ALL as placeholder'),
2100 # Option( 'rdc_select', 'FileVector', desc='[vector] as rmsd_select provide loop-file(RIGID) to compute RDC score on selected residues' ),
2101  Option( 'rdc_target', 'FileVector', desc='[vector] as rmsd_target/column provide PDB wih missing density to compute RDC score on selected residues' ),
2102  Option( 'symmetric_rmsd', 'Boolean', desc='calculate the rmsd symmetrically by checking all chain orderings'),
2103 
2104  Option( 'rdc_column', 'StringVector', desc='[vector] column names for rdc_select'),
2105  Option( 'rdc','StringVector', desc='[vector] rdc-files and column names for RDC calculation'),
2106  Option( 'built_in_rdc','String', desc='evaluate rdc from -in:file:rdc with standard score function and store under column xxx'),
2107  Option( 'jump_nr', 'Boolean', desc='adds the JumpNrEvaluator for the nrjumps column', default='false' ),
2108  Option( 'score_exclude_res', 'IntegerVector', desc="Calculates a select_score column based on all residues not excluded by the command line vector" ),
2109  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' ),
2110  Option( 'score_sscore_maxloop', 'Integer', desc='defines the maximum length of a loop that is still considered for the sscore - score', default='3' ),
2111 # Option( 'rpf', 'Boolean', desc='will compute RPF score with distance cutoff 5 and store in column rpf_score', default='false' ),
2112  Option( 'window_size', 'Integer', desc='Window size for local RMSD calculations in windowed_rmsd app', default='5'),
2113  Option( 'I_sc', 'String', desc='score function name used to calculate I_sc', default = 'score12' ),
2114  Option( 'Irms', 'Boolean', desc='will compute the docking interface rmsd', default='false'),
2115  Option( 'Ca_Irms', 'Boolean', desc='will compute the docking Ca-atom interface rmsd', default='false'),
2116  Option( 'Fnat', 'Boolean', desc='will compute the docking recovered fraction of native contacts', default='false'),
2117  Option( 'Lrmsd', 'Boolean', desc='will compute the docking ligand rmsd', default='false'),
2118  Option( 'Fnonnat', 'Boolean', desc='will compute the fraction of non-native contacts for docking', default='false'),
2119  Option( 'DockMetrics', 'Boolean', desc='will compute all docking metrics (I_sc/Irms/Fnat/Lrmsd for now) for replica docking', default='false'),
2120  ), # -evaluation
2121 
2122  # Filter Options -----------------------------------------------------------
2123  Option_Group( 'filters',
2124  Option( 'disable_all_filters', 'Boolean',
2125  desc="turn off all centroid filters: RG, CO, and Sheet",
2126  default = 'false' ),
2127  Option( 'disable_rg_filter', 'Boolean',
2128  desc="turn off RG filter",
2129  default = 'false' ),
2130  Option( 'disable_co_filter', 'Boolean',
2131  desc="turn off contact order filter",
2132  default = 'false' ),
2133  Option( 'disable_sheet_filter', 'Boolean',
2134  desc="turn off sheet filter",
2135  default = 'false' ),
2136  Option( 'set_pddf_filter', 'Real', desc="Turns on PDDF filter with a given score cutoff",default="5.0"),
2137  Option( 'set_saxs_filter', 'Real', desc="Turns on SAXS energy filter with a given score cutoff",default="-3"),
2138  ), # -filters
2139 
2140  Option_Group( 'gpu',
2141  Option('gpu', 'Boolean', desc='Enable/Disable GPU support', default ='true'),
2142  Option('device', 'Integer', desc='GPU device to use', default = '1'),
2143  Option('threads', 'Integer', desc='Max GPU threads to use', default = '2048'),
2144  ), # -gpu
2145 
2146  Option_Group( 'jumps',
2147  Option( 'evaluate', 'Boolean', desc='evaluate N-CA-C gemoetry for all jumps in the fold-tree', default='false' ),
2148  Option( 'extra_frags_for_ss', 'File', desc='use ss-def from this fragset', default='' ),
2149  Option( 'fix_chainbreak', 'Boolean', desc= 'minimize to fix ccd in re-runs', default='false' ),
2150  Option( 'fix_jumps', 'File', desc='read jump_file', default='' ),
2151  Option( 'jump_lib', 'File', desc='read jump_library_file for automatic jumps', default='' ),
2152  Option( 'loop_definition_from_file', 'File', desc= 'use ss-def from this file', default='' ),
2153  Option( 'no_chainbreak_in_relax', 'Boolean', desc='dont penalize chainbreak in relax', default='false' ),
2154  Option( 'pairing_file', 'File', desc='file with pairings', default='' ),
2155  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' ),
2156  Option( 'residue_pair_jump_file', 'File', desc='a file to define residue pair jump', default='' ),
2157  Option( 'sheets', 'IntegerVector', desc='sheet topology--> replaces -sheet1 -sheet2 ... -sheetN', default='1' ),
2158  Option( 'topology_file', 'File', desc='read a file with topology info ( PairingStats )', default='' ),
2159 
2160  Option( 'bb_moves', 'Boolean', desc='Apply bb_moves ( wobble, small, shear) during stage3 and stage 4.', default='false' ),
2161  Option( 'no_wobble', 'Boolean', desc='Don t apply the useless wobble during stage3 and stage 4.', default='false' ),
2162  Option( 'no_shear', 'Boolean', desc='Don t apply the useless shear during stage3 and stage 4.', default='false' ),
2163  Option( 'no_sample_ss_jumps', 'Boolean', desc='sample jump-frags during folding', default='false' ),
2164  Option( 'invrate_jump_move', 'Integer', desc='give 5 here to have 5 torsion moves for each jump move', default='10' ),
2165  Option( 'chainbreak_weight_stage1', 'Real', desc='the weight on chainbreaks', default='1.0' ),
2166  Option( 'chainbreak_weight_stage2', 'Real', desc='the weight on chainbreaks', default='1.0' ),
2167  Option( 'chainbreak_weight_stage3', 'Real', desc='the weight on chainbreaks', default='1.0' ),
2168  Option( 'chainbreak_weight_stage4', 'Real', desc='the weight on chainbreaks', default='1.0' ),
2169  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' ),
2170  Option( 'increase_chainbreak','Real', desc='multiply ramped chainbreak weight by this amount', default='1.0'),
2171  Option( 'overlap_chainbreak', 'Boolean', desc='use the overlap chainbrak term in stage4', default='false' ),
2172  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' ),
2173  Option( 'dump_frags', 'Boolean', desc='dump jump_fragments ', default='false' ),
2174  Option( 'njumps', 'Integer', desc='number_of_jumps to select from library for each trajectory (membrane mode)', default='1' ),
2175  Option( 'max_strand_gap_allowed', 'Integer', desc='merge strands if they less than X residues but same register', default='2' ),
2176  Option( 'contact_score', 'Real', desc='the strand-weight will have a weight * contact_order component', default='0.0' ),
2177  Option( 'filter_templates', 'Boolean', desc='filter hybridization protocol templates', default='false'),
2178  ), # -jumps
2179 
2180  Option_Group( 'loops',
2181  Option( 'loops', 'Boolean', desc='loop modeling option group', legal=['true','false'], default='true'),
2182  Option( 'cen_weights', 'String', desc='ScoreFunction weights file for centroid phase of loop-modeling', default = 'cen_std' ),
2183  Option( 'cen_patch', 'String', desc='ScoreFunction patch for for centroid phase of loop-modeling', default = 'score4L', ),
2184  Option( 'input_pdb','File', desc='template pdb file', default='input_pdb' ),
2185  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.' ),
2186  Option( 'extended_loop_file','File',
2187  desc='loop definition file for loops to be extended (used in abrelax)',
2188  default='loop_file'
2189  ),
2190  Option( 'mm_loop_file','File',
2191  desc='loop definition file', default='loop_file'
2192  ),
2193  Option( 'fix_natsc', 'Boolean', desc='fix sidechains in template region in loop modeling',
2194  legal=['true','false'], default='false'
2195  ),
2196  Option( 'refine_only', 'Boolean', desc='perform full atom refinement only on loops',
2197  legal=['true', 'false'], default='false'
2198  ),
2199 # Option( 'fa_input', 'Boolean', desc='input structures are in full atom format',
2200 # legal=['true', 'false'], default='false'
2201 # ),
2202  Option( 'fast', 'Boolean', desc='reduce number of simulation cycles in loop modeling',
2203  legal=['true', 'false'], default='false'
2204  ),
2205  Option( 'vall_file','File', desc='vall database file', default='vall_file' ),
2206  Option( 'frag_sizes','IntegerVector', desc='lengths of fragments to be used in loop modeling',
2207  default=['9','3','1']
2208  ),
2209  Option( 'frag_files', 'FileVector', desc='fragment libraries files', default=['frag9','frag3','frag1'] ),
2210  Option( 'output_pdb','File', desc='output model pdb file', default='output.pdb' ),
2211  Option( 'debug', 'Boolean', default = 'false' ),
2212  Option( 'build_initial', 'Boolean',
2213  desc='Precede loop-modeling with an initial round of just removing the missing densities and building simple loops',
2214  legal=['true','false'], default='false'
2215  ),
2216  Option( 'extended', 'Boolean', desc='Force extended on loops, independent of loop input file',legal=['true','false'], default='false'),
2217  Option( 'remove_extended_loops', 'Boolean', desc='Before building any loops, remove all loops marked as extended',legal=['true','false'], default='false'),
2218  Option( 'idealize_after_loop_close', 'Boolean', desc='Run structure through idealizer after loop_closing', default='true' ),
2219  Option( 'idealize_before_loop_close', 'Boolean', desc='Run structure through idealizer before loop_closing', default='true' ),
2220  Option( 'select_best_loop_from', 'Integer', desc='Keep building loops until N and choose best (by score)', default='1'),
2221  Option( 'build_attempts', 'Integer', desc='Build attempts per growth attempt', default='3'),
2222 
2223  ## Options affecting growing/combining of loops
2224  Option( 'grow_attempts', 'Integer',
2225  desc='Total loop growth attempts',
2226  default='7'
2227  ),
2228  Option( 'random_grow_loops_by', 'Real',
2229  desc='Randomly grow loops by up to this number of residues on either side.',
2230  default='0.0'
2231  ),
2232  Option( 'accept_aborted_loops', 'Boolean',
2233  desc='accept aborted loops ',
2234  legal=['true','false'], default='false'
2235  ),
2236  Option( 'strict_loops', 'Boolean',
2237  desc='Do not allow growing of loops',
2238  legal=['true','false'], default='false'
2239  ),
2240  Option( 'superimpose_native', 'Boolean',
2241  desc='Superimpose the native over the core before calculating looprms',
2242  legal=['true','false'], default='false'
2243  ),
2244 
2245  ## options affection choice of loops
2246  Option( 'build_specific_loops', 'IntegerVector', desc='Numbers of the loops to be built' ),
2247  Option( 'random_order', 'Boolean',
2248  desc='build in random order ',
2249  legal=['true','false'], default='true'
2250  ),
2251  Option( 'build_all_loops', 'Boolean',
2252  desc='build all loops(no skip) ',
2253  legal=['true','false'], default='false'
2254  ),
2255  Option( 'fa_closure_protocol', 'Boolean', desc='Abrelax uses FASlidingWindowLoopClosure... ', default = 'false' ),
2256  Option( 'combine_rate', 'Real', desc='Combine successive loops at this rate', default='0.0' ),
2257  ## Options affecting growing/combining of loops
2258  ## subprotocol components
2259  Option( 'skip_initial_loop_build', 'Boolean',
2260  desc='Skip the initial loop build step where existing loop torsions are discarded and the loop is built from scratch. ',
2261  legal=['true','false'], default='false'
2262  ),
2263  Option( 'remodel', 'String', default = 'no',
2264  legal=['no','perturb_ccd','perturb_kic','perturb_kic_refactor','perturb_kic_with_fragments','quick_ccd','quick_ccd_moves','old_loop_relax','sdwindow'], desc = ''),
2265  Option( 'intermedrelax', 'String', default = 'no',
2266  legal=['no','relax','fastrelax','seqrelax'], desc = ''
2267  ),
2268  Option( 'refine', 'String', default = 'no',
2269  legal=['no','refine_ccd','refine_kic','refine_kic_refactor','refine_kic_with_fragments'],
2270  desc = 'method for performing full-atom refinement on loops'
2271  ),
2272  Option( 'relax', 'String', default = 'no',
2273  legal=['no','relax','fastrelax','seqrelax','minirelax'], desc = ''
2274  ),
2275 # Option(
2276 # 'n_rebuild_tries', 'Integer', default='1', desc='number of times to retry loop-rebuilding'
2277 # ),
2278 
2279  Option( 'final_clean_fastrelax', 'Boolean',
2280  desc='Add a final fastrelax without constraints',
2281  legal=['true','false'], default='false'
2282  ),
2283  Option( 'relax_with_foldtree', 'Boolean',
2284  desc='keep foldtree during relax', legal=['true','false'],
2285  default='false'
2286  ),
2287  Option( 'constrain_rigid_segments', 'Real',
2288  desc='Use Coordinate constraints on the non-loop regions',
2289  default='0.0'
2290  ),
2291 
2292  Option( 'loopscores', 'String',
2293  desc='Calculate loopscores individually',
2294  ),
2295  Option( 'timer', 'Boolean',
2296  desc='Output time spent in seconds for each loop modeling job',
2297  legal=['true','false'], default='false'
2298  ),
2299 
2300  ## Kinematic loop building (KIC)
2301  Option( 'vicinity_sampling', 'Boolean',
2302  desc='only sample within a certain region of the current torsion values',
2303  legal=['true','false'], default='false'
2304  ),
2305  Option( 'vicinity_degree', 'Real',
2306  desc='number of degrees to sample within current torsion values for vicinity sampling',
2307  default='1.0'
2308  ),
2309  Option( 'neighbor_dist', 'Real',
2310  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',
2311  default='10.0'
2312  ),
2313  Option( 'kic_max_seglen', 'Integer',
2314  desc='maximum size of residue segments used in kinematic closure calculations',
2315  default='12'
2316  ),
2317  Option( 'kic_recover_last', 'Boolean',
2318  desc='If true, do not recover lowest scoring pose after each outer cycle and at end of protocol in kic remodel and refine',
2319  default='false'
2320  ),
2321  Option( 'kic_min_after_repack', 'Boolean',
2322  desc='Should the kinematic closure refine protocol minimize after repacking steps',
2323  default='true'
2324  ),
2325  Option( 'optimize_only_kic_region_sidechains_after_move', 'Boolean',
2326  desc='Should we perform rotamer trials and minimization after every KIC move but only within the loops:neighbor_dist '
2327  'of the residues in the moved KIC segment. Useful to speed up when using very large loop definitions '
2328  '(like when whole chains are used for ensemble generation).',
2329  default='false'
2330  ),
2331  Option( 'max_kic_build_attempts', 'Integer',
2332  desc='Number of attempts at initial kinematic closure loop building',
2333  default='10000'
2334  ),
2335  Option( 'remodel_kic_attempts', 'Integer',
2336  desc='Number of kic attempts per inner cycle during perturb_kic protocol',
2337  default='300'
2338  ),
2339  Option( 'max_kic_perturber_samples', 'Integer',
2340  desc='Maximum number of kinematic perturber samples',
2341  default='2000'
2342  ),
2343  Option( 'nonpivot_torsion_sampling', 'Boolean',
2344  desc='enables sampling of non-pivot residue torsions when the kinematic loop closure segment length is > 3',
2345  legal=['true','false'], default='true'
2346  ),
2347  Option( 'fix_ca_bond_angles', 'Boolean',
2348  desc='Freezes N-CA-C bond angles in KIC loop sampling',
2349  legal=['true','false'], default='false'
2350  ),
2351  Option( 'kic_use_linear_chainbreak', 'Boolean',
2352  desc='Use linear_chainbreak instead of (harmonic) chainbreak in KIC loop sampling',
2353  legal=['true','false'], default='false'
2354  ),
2355  Option( 'sample_omega_at_pre_prolines', 'Boolean',
2356  desc='Sample omega in KIC loop sampling',
2357  legal=['true','false'], default='false'
2358  ),
2359  Option( 'allow_omega_move', 'Boolean',
2360  desc='Allow loop omega to minimize during loop modeling',
2361  legal=['true','false'], default='false'
2362  ),
2363  Option( 'kic_with_cartmin', 'Boolean',
2364  desc="Use cartesian minimization in KIC loop modeling",
2365  legal=['true', 'false'], default='false'
2366  ),
2367  Option( 'allow_takeoff_torsion_move', 'Boolean',
2368  desc='Allow takeoff phi/psi to move during loop modeling',
2369  legal=['true','false'], default='false'
2370  ),
2371  Option( 'extend_length', 'Integer',
2372  desc='Number of alanine residues to append after cutpoint in loopextend app',
2373  default = '0', lower = '0'
2374  ),
2375  Option( 'perturb_outer_cycles', 'Integer',
2376  desc='number of outer cycles in the perturbation (centroid) stage', default = '5', lower = '1'
2377  ),
2378  Option( 'refine_outer_cycles', 'Integer',
2379  desc='number of outer cycles in the fullatom refinement stage', default = '5', lower = '1'
2380  ),
2381  Option( 'max_inner_cycles', 'Integer',
2382  desc='maxium number of inner cycles in fullatom loop refinement',
2383  default = '1', lower = '1'
2384  ),
2385  Option( 'repack_period', 'Integer',
2386  desc='repack period during fullatom loop refinement',
2387  default = '20', lower = '1'
2388  ),
2389 # Option( 'repack_never', 'Boolean',
2390 # desc='option to disable repacking during loop movement',
2391 # default = 'false'
2392 # ),
2393  ##Option( 'repack_all', 'Boolean', default = 'false' ),
2394  Option( 'remodel_init_temp' , 'Real',
2395  desc='Initial temperature for loop rebuiding. Currently only supported in kinematic (KIC) mode',
2396  default = '2.0'
2397  ),
2398  Option( 'remodel_final_temp', 'Real',
2399  desc='Final temperature for loop rebuilding. Currently only supported in kinematic (KIC) mode',
2400  default = '1.0'
2401  ),
2402  Option( 'refine_init_temp', 'Real',
2403  desc='Initial temperature for loop refinement. Currently only supported in kinematic (KIC) mode',
2404  default = '1.5'
2405  ),
2406  Option( 'refine_final_temp', 'Real',
2407  desc='Final temperature for loop refinement. Currently only supported in kinematic (KIC) mode',
2408  default = '0.5'
2409  ),
2410  Option( 'gapspan', 'Integer', default='6', lower='1',
2411  desc='when automatically identifying loop regions, this is the maximum gap length for a single loop'
2412  ),
2413  Option( 'spread', 'Integer', default='2', lower='1',
2414  desc='when automatically identifying loop regions, this is the number of neighboring residues by which to extend out loop regions'
2415  ),
2416  Option( 'kinematic_wrapper_cycles', 'Integer',
2417  desc='maximum number of KinematicMover apply() tries per KinematicWrapper apply()',
2418  default = '20'
2419  ),
2420  Option( 'kic_num_rotamer_trials', 'Integer',
2421  desc='number of RotamerTrial iterations in each KIC cycle -- default is 1',
2422  default = '1'
2423  ),
2424  Option( 'kic_omega_sampling', 'Boolean',
2425  desc="Perform sampling of omega angles around 179.6 for trans, and including 0 for pre-prolines -- default false, for legacy reasons",
2426  default='false'
2427  ),
2428  Option( 'kic_bump_overlap_factor', 'Real',
2429  desc="allow some atomic overlap in initial loop closures (should be remediated in subsequent repacking and minimization)",
2430  default='0.36'
2431  ),
2432  Option( 'minimize_max_iter', 'Integer', desc='Max iteration of minimization during MC', default='200'),
2433 # Option( 'kic_cen_weights', 'String',
2434 # 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',
2435 # default="score4_smooth"
2436 # ),
2437 # Option( 'kic_cen_patch', 'String',
2438 # desc='weights patch file to be used for KIC+NGK centroid modeling stage',
2439 # default=""
2440 # ),
2441 
2442  ## next-generation KIC
2443  Option( 'restrict_kic_sampling_to_torsion_string', 'String',
2444  desc='restrict kinematic loop closure sampling to the phi/psi angles specified in the torsion string',
2445  default = ""
2446  ),
2447  Option( 'derive_torsion_string_from_native_pose', 'Boolean',
2448  desc='apply torsion-restricted sampling, and derive the torsion string from the native [or, if not provided, starting] structure',
2449  default = 'false'
2450  ),
2451  Option( 'always_remodel_full_loop', 'Boolean',
2452  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',
2453  default = 'false'
2454  ),
2455  Option( 'taboo_sampling', 'Boolean',
2456  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',
2457  default = 'false'
2458  ),
2459  Option( 'taboo_in_fa', 'Boolean',
2460  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',
2461  default = 'false'
2462  ),
2463  Option( 'ramp_fa_rep', 'Boolean',
2464  desc='ramp the weight of fa_rep over outer cycles in refinement',
2465  default = 'false'
2466  ),
2467  Option( 'ramp_rama', 'Boolean',
2468  desc='ramp the weight of rama over outer cycles in refinement',
2469  default = 'false'
2470  ),
2471  Option( 'kic_rama2b', 'Boolean',
2472  desc='use neighbor-dependent Ramachandran distributions in random torsion angle sampling',
2473  default = 'false'
2474  ),
2475 # Option( 'kic_small_moves', 'Boolean',
2476 # desc='sample torsions by adding or subtracting a small amount from the previous value, instead of picking from the Ramachandran distribution.',
2477 # default = 'false'
2478 # ),
2479 # Option( 'kic_small_move_magnitude', 'Real',
2480 # desc='specify the magnitude of the small moves. Only meant to be used for initial testing and optimization.',
2481 # default = '5.0'
2482 # ),
2483 # Option( 'kic_pivot_based', 'Boolean',
2484 # desc='use ramachandran sampling if the pivots are closer than 8 residues apart, otherwise use small moves.',
2485 # default = 'false'
2486 # ),
2487 # Option( 'kic_no_centroid_min', 'Boolean',
2488 # desc='don\'t minimize in centroid mode during KIC perturb',
2489 # default = 'false'
2490 # ),
2491  Option( 'kic_leave_centroid_after_initial_closure', 'Boolean',
2492  desc="only use centroid mode for initial loop closure -- all further loop closures will be performed in full-atom",
2493  default = 'false'
2494  ),
2495 # Option( 'kic_repack_neighbors_only', 'Boolean',
2496 # 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)',
2497 # default='false'
2498 # ),
2499  Option ( 'legacy_kic', 'Boolean',
2500  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)',
2501  default='false'
2502  ),
2503 
2504  ## QuickCCD
2505 
2506  ## From Foldcst
2507  Option( 'alternative_closure_protocol', 'Boolean',
2508  desc='use WidthFirstSliding...',
2509  default='false'
2510  ),
2511  Option( 'chainbreak_max_accept', 'Real',
2512  desc='accept all loops that have a lower cumulative chainbreak score (linear,quadratic(if present), and overlap)',
2513  default='2.0'
2514  ),
2515  Option( 'debug_loop_closure', 'Boolean',
2516  desc='dump structures before and after loop closing',
2517  default='false'
2518  ),
2519  Option( 'non_ideal_loop_closing', 'Boolean',
2520  desc='allow small non-idealities at the chainbreak residue after loop-closing -- requires binary silent out',
2521  default='false'
2522  ),
2523  Option( 'scored_frag_cycles', 'Real',
2524  desc='cycle-ratio for scored_frag_cycles ( loop_size<10 ) after jumping-abinitio',
2525  default='1.0'
2526  ),
2527  Option( 'short_frag_cycles', 'Real',
2528  desc='cycle-ratio for short_frag_cycles ( loop_size<10 ) after jumping-abinitio',
2529  default='1.0'
2530  ),
2531  ## Deprecated == Old "looprelax"
2532  Option( 'rmsd_tol', 'Real', desc='rmsd tolerance to deviate from original pose', default='10000.0' ),
2533  Option( 'chain_break_tol', 'Real', desc='acceptable tolerance for chain break score', default='0.2' ),
2534  Option( 'random_loop', 'Boolean', desc='randomize loop stub positions', default='false' ),
2535 
2536  Option( 'stealfrags', 'FileVector', desc='StealFragPDBS' ),
2537  Option( 'stealfrags_times', 'Integer', desc='StealFragPDBS how many times ?', default='1' ),
2538  Option( 'coord_cst', 'Real', desc='restraintweight', default='0.0' ),
2539  Option( 'skip_1mers', 'Real', desc='rate at which you should skip a 1 mer insertion', default='0.0' ),
2540  Option( 'skip_3mers', 'Real', desc='rate at which you should skip a 3 mer insertion', default='0.0' ),
2541  Option( 'skip_9mers', 'Real', desc='rate at which you should skip a 9 mer insertion', default='0.0' ),
2542  Option( 'loop_model', 'Boolean', desc='loop modeling option', legal=['true','false'], default='false'),
2543 
2544  Option( 'score_filter_cutoff', 'Real', desc='value for score filter', default='1.0' ),
2545  ##Option( 'loop_skip_rate', 'Real', desc='skip rate for not building a chosen loop', default='0.0' ),
2546 # Option( 'loop_farlx', 'Boolean', desc='do fullatom loop refinement', legal=['true','false'], default='false'),
2547  Option( 'ccd_closure', 'Boolean', desc='apply ccd closure', legal=['true','false'], default='false'),
2548  Option( 'skip_ccd_moves', 'Boolean', desc='when running in ccd_moves mode, dont actually do ccd_moves.. just do fragment insertions', default='false'),
2549  Option( 'no_randomize_loop', 'Boolean', desc='Leave loop as it is', default='false'),
2550 
2551  Option( 'loops_subset', 'Boolean', desc='pick subset of desired loops',
2552  legal=['true','false'], default='false'
2553  ),
2554 
2555  Option( 'num_desired_loops', 'Integer', desc='number of desired loops', default='1' ),
2556  Option( 'loop_combine_rate', 'Real', desc='skip rate for not combining a chosen loop', default='0.0' ),
2557  Option( 'final_score_filter', 'Real', desc='Only output structures that score bette rthan that', default='1000000.0' ),
2558  Option( 'no_combine_if_fail', 'Boolean', desc='combine loops if loop modeling fails',
2559  legal=['true','false'], default='true'
2560  ),
2561  Option( 'shorten_long_terminal_loop', 'Boolean', desc='shorten long loops',
2562  legal=['true','false'], default='false'
2563  ),
2564 
2565  Option( 'backrub_trials', 'Integer', desc='number of backrub steps to do in loop relax', default='10' ),
2566 
2567  Option( 'looprlx_cycle_ratio', 'Real', desc='fraction of the total looprlx cycles', default='1.0' ),
2568  Option( 'extended_beta', 'Real',
2569  desc='Extended tempfactor: stochastic extendedness: p_ext = exp( - beta * length ) ',
2570  default='-1.0'
2571  ),
2572 # Option( 'shortrelax', 'Boolean',
2573 # desc='do a short fullatom relax after loop remodeling',
2574 # default='false'
2575 # ),
2576 # Option( 'fastrelax', 'Boolean',
2577 # desc='do a fast fullatom relax after loop remodeling',
2578 # default='false'
2579 # ),
2580  Option( 'no_looprebuild', 'Boolean', desc='do not rebuild loops',
2581  legal=['true','false'],
2582  default='false'
2583  ),
2584  Option( 'allow_lig_move', 'Boolean',
2585  desc='allow ligands to move during loop modeling',
2586  legal=['true','false'],
2587  default='false'
2588  ),
2589  Option('keep_natro', 'File',
2590  desc='list of residues where the rotamers are kept fixed',
2591  default='keep_natro'
2592  ),
2593  Option('refine_design_iterations','Integer',
2594  desc='iterations of refine and design', default='1'
2595  ),
2596 # Option_Group( 'loop_closure' ,
2597 # Option( 'loop_insert', 'String',
2598 # 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.',
2599 # ),
2600 # Option( 'loop_insert_rclrc', 'String',
2601 # 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.',
2602 # ),
2603 # Option( 'blueprint', 'String',
2604 # desc='path to a blueprint file specifying loops. loop_insert, loop_insert_rclrc and blueprint options are mutually exclusive',
2605 # ),
2606 # ), # -loops:loop_closure'
2607  Option_Group( 'ccd' ,
2608  Option( 'max_rama_score_increase', 'Real', desc='Maximum increase in Ramachandran score that will be tolerated.', default='2.0' ),
2609  Option( 'max_torsion_delta_per_move', 'RealVector',
2610  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).',
2611  default=['1.0', '5.0', '10.0'], n='3' ),
2612  Option( 'max_torsion_delta', 'RealVector',
2613  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).',
2614  default=['10.0', '50.0', '75.0'] , n='3'),
2615  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' ),
2616  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' ),
2617  Option( 'check_rama_scores', 'Boolean', desc="Bias toward moves that improve the moving resiude's Ramachandran score.", legal=['true','false'], default='true' ),
2618  Option( 'rama_2b', 'Boolean', desc="Use two-body (neighbor-dependent) Ramachandran score.", legal=['true','false'], default='false' ),
2619  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' ),
2620  ), # -loops:ccd' )
2621  ), # -loops
2622 
2623  #Interface statistics app (JKLeman)
2624  Option_Group( 'intf',
2625  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.'),
2626  ),
2627 
2628  #New Membrane Protein Option group (RosettaMP)
2629  Option_Group( 'mp',
2630 
2631  #Membrane options
2632  Option( 'thickness', 'Real', desc='Thickness of the membrane used by the high resolution scoring function. Overwrites default thickness of 30A.'),
2633  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.'),
2634 
2635  #Embedding options - advanced (these are currently not used)
2636  Option( 'center_start', 'RealVector', desc='Starting point for center search. Example: 3 2 4.'),
2637  Option( 'center_delta', 'Real', desc='Perturbation of center in Angstrom.'),
2638  Option( 'center_search_cycles', 'Real', desc='Iterations for center search.'),
2639  Option( 'normal_start', 'RealVector', desc='Base vector for normal search. Angles go off that vector.'),
2640  Option( 'normal_angle_start', 'Real', desc='Starting angle from base vector for normal search. Degrees.'),
2641  Option( 'normal_angle_delta', 'Real', desc='Perturbation of normal angle in degrees.'),
2642  Option( 'normal_search_cycles', 'Real', desc='Number of iterations for normal search.'),
2643  Option( 'chain_normal_angle_max', 'Real', desc='Maximum of normal angle wrt normal_start for chain embedding. Degrees.'),
2644  Option( 'pose_normal_angle_max', 'Real', desc='Maximum of normal angle wrt normal_start for pose embedding. Degrees.'),
2645 
2646  #Scoring parameters - advanced
2647  Option( 'no_interpolate_Mpair', 'Boolean', desc='from old code.'),
2648  Option( 'Hbond_depth_correction', 'Boolean', desc='from old code.'),
2649 
2650  #Penalties - advanced
2651  Option( 'TMprojection', 'Boolean', desc='Penalty for hydrophobic mismatch on/off.'),
2652  Option( 'wt_TMprojection', 'Real', desc='Weight for hydrophobic mismatch penalty.'),
2653  Option( 'non_helix', 'Boolean', desc='Penalty for non-helix residues in the membrane on/off.'),
2654  Option( 'wt_non_helix', 'Real', desc='Weight for non-helix penalty. '),
2655  Option( 'termini', 'Boolean', desc='Penalty for termini in the membrane on/off.'),
2656  Option( 'wt_termini', 'Real', desc='Weight for termini penalty.'),
2657  Option( 'secstruct', 'Boolean', desc='Penalty if structure-based secondary structure doesn\'t match predicted one - on/off'),
2658  Option( 'wt_secstruct', 'Real', desc='Weight for secondary structure penalty.'),
2659  Option( 'spanning', 'Boolean', desc='Penalty if structure-based spanning doesn\'t match spanfile - on/off.'),
2660  Option( 'wt_spanning', 'Real', desc='Weight for spanning penalty.'),
2661 
2662  Option_Group( 'viewer',
2663  Option( 'thickness', 'Real', desc="Thickness of membrane to visualize", default='15' ),
2664  Option( 'num_points', 'Integer', desc="Number of points to define the membrane planes. x >= 3" ),
2665  ),
2666 
2667  # Visualization Options (Visualize Membrane Mover)
2668  Option_Group( 'visualize',
2669  Option( 'embedding', 'Boolean', desc='Visualize embedding centers and normals for each pose element', default='true' ),
2670  Option( 'spacing', 'Real', desc="Spacing of virtual membrane residues representing the membrane planes", default='5' ),
2671  Option( 'width', 'Real', desc='Width of membrane planes for n by n plane', default='100' ),
2672  Option( 'thickness', 'Real', desc="Thickness of membrane to visualize", default='15' ),
2673  Option( 'plane_radius', 'Real', desc="Radius of membrane planes to draw in PyMol - part of the PyMol viewer plugin" ),
2674  ),
2675 
2676  # Scoring options
2677  Option_Group( 'scoring',
2678  Option( 'hbond', 'Boolean',
2679  desc="Hydrogen bonding energy correction for membrane proteins"),
2680  ),
2681 
2682  # Setup Options
2683  Option_Group( 'setup',
2684  Option( 'spanfiles', 'StringVector', desc="Spanning topology file from Octopus" ),
2685  Option( 'spans_from_structure', 'Boolean', desc="Uses spanning topology computed from the PDB; requires the protein to be transformed into the membrane coordinate frame!" ),
2686  Option( 'lipsfile', 'String', desc="List of lips files by chain", default='mypdb.lips4' ),
2687  Option( 'center', 'RealVector', desc="membrane center x,y,z" ),
2688  Option( 'normal', 'RealVector', desc="membrane normal x,y,z" ),
2689  Option( 'membrane_rsd', 'Real', desc="membrane residue number" ),
2690 
2691  Option( 'transform_into_membrane', 'Boolean', desc="score_jd2: transform protein into fixed membrane before scoring; spanfile required" ),
2692  Option( 'position_from_topo', 'Boolean', desc="determine a membrane position from the transmembrane spans of the protein" ),
2693 
2694  Option( 'optimize1', 'Boolean', desc="Optimize position in membrane for partner 1 using membrane scorefunction.", default='false' ),
2695  Option( 'optimize2', 'Boolean', desc="Optimize position in membrane for partner 2 using membrane scorefunction.", default='false' ),
2696  ),
2697 
2698  # For transforming protein into the membrane
2699  Option_Group( "transform",
2700  Option( "optimize_embedding", 'Boolean', desc="Use the scorefunction to optimize the embedding after an initial coarse grained setting" ),
2701  ),
2702 
2703  #MP_Docking Option group - JKLeman (julia.koehler1982@gmail.com)
2704  Option_Group( 'dock',
2705 
2706  #Scoring options
2707  Option( 'weights_cen', 'String', desc='Scorefunction for low-resolution step.'),
2708  Option( 'weights_fa', 'String', desc='Scorefunction for high-resolution step.'),
2709  Option( 'lowres', 'Boolean', desc='Use centroid score function for finding interface.'),
2710 # Option( 'highres', 'Boolean', desc='Use full-atom score function for finding interface.'),
2711  Option( 'allow_flips', 'Boolean', desc='Allow partner 2 to flip in the membrane during global search. Default: yes.' ),
2712  Option( 'flexible_bb', 'Boolean', desc='Do a flexible backbone docking: runs relax before and after docking.' ),
2713  Option( 'flexible_sc', 'Boolean', desc='Do a flexible sidechain docking: repacks before and after docking.' ),
2714  Option( 'slide_threshold', 'Real', desc='Theshold for scoreterm to define partner closeness in SlideIntoContact.' ),
2715  ),
2716 
2717  #MP_Docking Option group - JKLeman (julia.koehler1982@gmail.com)
2718  Option_Group( 'quickrelax',
2719 
2720  #Scoring options
2721  Option( 'angle_max', 'Real', desc='Maximum allowed change in dihedral angles. Typical values around 1.'),
2722  Option( 'nmoves', 'String', desc='Number of moves allowed. Typical value is close to the number of residues in the protein: [nres] is allowed value. '),
2723  Option( 'repack_again', 'Boolean', desc='Do an additional round of sidechain repacking, simultaneously including all sidechains.'),
2724 
2725  ),
2726 
2727  #mutate relax Option group - JKLeman (julia.koehler1982@gmail.com)
2728  Option_Group( 'mutate_relax',
2729 
2730  Option( 'mutation', 'String', desc='Single mutation: Format: One-letter code / residue number / one-letter code. Example: A163F'),
2731  Option( 'mutant_file', 'String', desc='Input file containing mutations'),
2732  Option( 'iter', 'Integer', desc='Number of iterations to run. Typically 100.' ),
2733  Option( 'repack_mutation_only', 'Boolean', desc='Boolean - Only repack the mutated residue(s), no relax.' ),
2734  Option( 'repack_radius', 'Real', desc='Float - Repack within a radius of X Angstrom of the mutated residue(s).' ),
2735  Option( 'relax', 'Boolean', desc='Boolean - Do a full relax run with both backbone minimization and repacking.' ),
2736 
2737  ),
2738 
2739  ## Options for membrane specific output. Currently controlled by file_data, will eventually
2740  ## become an extension of JD2/JD3 - Added 8/3/15
2741  Option_Group( 'output',
2742  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' ),
2743  ),
2744  ),
2745 
2746 
2747  # Old RosettaMembrane Option Group
2748  # Last Modified: 1/12/14
2749  # @author Rebecca Alford
2750  Option_Group( 'membrane',
2751  # New Membrane Input Option Group
2752 # Option( 'include_lips', 'Boolean', default='false', desc='Include lipid accessibility data for membrane protiens'),
2753  # Scoring Options
2754  Option( 'normal_cycles', 'Integer', default='100', desc='number of membrane normal cycles'),
2755  Option( 'normal_mag', 'Real', default='5', desc='magnitude of membrane normal angle search (degrees)'),
2756  Option( 'center_mag', 'Real', default='1', desc='magnitude of membrane normal center search (Angstroms)' ),
2757  Option( 'smooth_move_frac', 'Real', default='0.5'),
2758  Option( 'no_interpolate_Mpair', 'Boolean', default='false'),
2759  Option( 'Menv_penalties','Boolean',default='false'),
2760  Option( 'Membed_init','Boolean',default='false'),
2761  Option( 'Fa_Membed_update','Boolean',default='false'),
2762  Option( 'center_search', 'Boolean', default='false', desc='perform membrane center search'),
2763  Option( 'normal_search', 'Boolean', default='false', desc='perform membrane normal search'),
2764  Option( 'center_max_delta', 'Integer', default='5', desc='magnitude of maximum membrane width deviation during membrane center search (Angstroms)' ),
2765  Option( 'normal_start_angle', 'Integer', default='10', desc='magnitude of starting angle during membrane normal search (degrees)' ),
2766  Option( 'normal_delta_angle', 'Integer', default='10', desc='magnitude of angle deviation during membrane normal search (degrees)' ),
2767  Option( 'normal_max_angle', 'Integer', default='40', desc='magnitude of maximum angle deviation during membrane normal search (degrees)' ),
2768  Option( 'debug', 'Boolean', default='false'),
2769  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'),
2770  Option( 'membrane_center', 'RealVector', desc="membrane center x,y,z" ),
2771  Option( 'membrane_normal', 'RealVector', desc="membrane normal x,y,z" ),
2772  Option( 'view', 'Boolean', default='false', desc='viewing pose during protocol'),
2773  Option( 'Mhbond_depth','Boolean',default='false', desc='membrane depth dependent correction to the hbond potential'),
2774  Option( 'thickness', 'Real', default='15', desc='one leaflet hydrocarbon thickness for solvation calculations (Angstroms)' ),
2775  ), # membrane
2776 
2777  Option_Group( 'mistakes',
2778  Option( 'restore_pre_talaris_2013_behavior', 'Boolean',
2779  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"
2780  " -mistakes::chemical::pre_talaris2013_geometries true"
2781  " -corrections::score::dun10 false"
2782  " -corrections::score::use_bicubic_interpolation false"
2783  " -corrections::score:hb_sp2_chipen false"
2784  " -corrections::score::hb_fade_energy false"
2785  " -corrections::score::hbond_measure_sp3acc_BAH_from_hvy false"
2786  " -corrections::score::lj_hbond_hdis 1.95"
2787  " -corrections::score::lj_hbond_OH_donor_dis 3.0"
2788  " -corrections::chemical::expand_st_chi2sampling false"
2789  " -score::weights pre_talaris_2013_standard.wts"
2790  " -score::patch score12.wts_patch"
2791  " -score::analytic_etable_evaluation false"
2792  " -score::hbond_params score12_params"
2793  " -score::smooth_fa_elec false"
2794  " -score::elec_min_dis 1.5"
2795  " -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",
2796  default="false" ),
2797  Option_Group( 'chemical',
2798  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" ),
2799  ), # -mistakes:chemical
2800  ), # -mistakes
2801 
2802  Option_Group( 'MonteCarlo',
2803  Option( 'temp_initial', 'Real', default='2', lower='0.001', desc='initial temperature for Monte Carlo considerations' ),
2804  Option( 'temp_final', 'Real', default='0.6', lower='0.001', desc='final temperature for Monte Carlo considerations' ),
2805  ), # -MonteCarlo
2806 
2807  ################################
2808  # optimization options
2809  Option_Group( 'optimization',
2810  Option( 'default_max_cycles','Integer', desc='max cycles for MinimizerOptions', default='2000'),
2811  Option( 'armijo_min_stepsize','Real', desc='min stepsize in armijo minimizer', default='1e-8'),
2812  Option( 'scale_normalmode_dampen','Real', desc='dampening scale over normal mode index, used for NormalModeMinimizer', default='0.05'),
2813  Option( 'lbfgs_M','Integer', desc='number of corrections to approximate the inverse hessian matrix.', default='128'),
2814  Option( 'scale_d','Real', desc='max cycles for MinimizerOptions', default='1'),
2815  Option( 'scale_theta','Real', desc='max cycles for MinimizerOptions', default='1'),
2816  Option( 'scale_rb','Real', desc='max cycles for MinimizerOptions', default='10'),
2817  Option( 'scale_rbangle','Real', desc='max cycles for MinimizerOptions', default='1'),
2818  Option( 'scmin_nonideal','Boolean', desc='Do we allow sidechain nonideality during scmin (e.g. rtmin and min_pack)', default='false'),
2819  Option( 'scmin_cartesian', 'Boolean', desc='Toggle Cartesian-space minimization during scmin (e.g. rmin and min_pack)', default='false'),
2820  Option( 'nonideal', 'Boolean', desc='Permit bond geometries to vary from ideal values', default='false'),
2821  Option( 'new_sym_min', 'Boolean', desc='New approach to sym-min where all dofs, dep+indep, go into the map', default='false'),
2822  ), # -optimization
2823 
2824  ################STEVEN COMBS#######################
2825  Option_Group( 'orbitals',
2826  Option( 'Hpol', 'Boolean', desc="look at only polar hydrogen interactions", default='false' ),
2827  Option( 'Haro', 'Boolean', desc="look at only aromatic hydrogen interactions", default='false' ),
2828  Option( 'bb_stats', 'Boolean', desc="look at orbital backbone stats", default='false' ),
2829  Option( 'sc_stats', 'Boolean', desc="look at orbital sc stats", default='false' ),
2830 # Option( 'orb_orb_stats', 'Boolean', desc="look at orbital orbital stats", default='false' ),
2831 # Option('sc_bb', 'Boolean', desc="score the backbone", default='false'),
2832  ), # -orbitals
2833 
2834  # options for pose metric calculators-------------------------------------------------------
2835  Option_Group( 'pose_metrics',
2836  Option( 'atomic_burial_cutoff', 'Real', default='0.3', desc=' maximum SASA that is allowed for an atom to count as buried for the BuriedUnsatisfiedPolarsCalculator' ),
2837  Option( 'sasa_calculator_probe_radius', 'Real', default='1.4', desc=' the probe radius used in the SASA calculator (and thus implicitly in the BuriedUnsatisfiedPolarsCalculator' ),
2838  Option( 'interface_cutoff', 'Real', default='10.0', desc='distance in angstroms (def. 10.0) for calculating what residues are at an interface via InterfaceNeighborDefinitionCalculator'),
2839  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' ),
2840  Option( 'contact_cutoffE', 'Real', default='-1.0', desc=' maximum interaction energy allowed between two residues to count as a contact in the NonlocalContactsCalculator' ),
2841  Option( 'neighbor_by_distance_cutoff', 'Real', default='10.0', desc='distance in angstroms (def. 10.0) for calculating neighbors of a residue via NeighborByDistanceCalculator'),
2842  Option( 'inter_group_neighbors_cutoff', 'Real', default='10.0', desc='distance in angstroms (def. 10.0) for calculating interfaces between domains with InterGroupNeighborsCalculator'),
2843  Option( 'semiex_water_burial_cutoff', 'Real', default='0.25', desc='water hbond states fraction cutiff for SemiExplicitWaterUnsatisfiedPolarsCalculator (0.0,1.0)' ),
2844  Option_Group('shobuns', # SHOBuriedUnsatisfiedPolarsCalculator
2845  Option('tgt_amino', 'String', desc = 'Target amino acid type', default = '_none_'),
2846  Option('tgt_atom', 'String', desc = 'Target atom name', default = '_none_'),
2847  Option('tgt_res', 'File', desc = 'File specifying a subset of target residues', default = ''),
2848  Option('sho_cutoff', 'Real', desc = 'max SHO value for an atom to be considered solvent exposed', default = '4.9'),
2849  ), # shobuns
2850  ), # pose_metrics
2851 
2852  # Rigid body motion options ---------------------------------------------------------------------------------------
2853  Option_Group( 'rigid',
2854  Option('chainbreak_bias', 'Real', desc = 'Strength of bias applied to the translation component of rigid body moves to close chainbreak', default = '0.00'),
2855  Option('close_loops', 'Boolean', desc = 'Perform loop closure at the end of medal', default = 'true'),
2856  Option('fragment_cycles', 'Integer', desc = 'Number of fragment insertion/rigid body cycles', default = '10000'),
2857  Option('log_accepted_moves', 'Boolean', desc = 'Write accepted moves to silent file output', default = 'false'),
2858  Option('max_ca_ca_dist', 'Real', desc = 'Maximum distance between consecutive CA atoms before chunk partitioning occurs', default = '5.0'),
2859 # Option('medium_range_seqsep', 'Integer', desc = 'Constraints with sequence separation less than x are scored', default = '30'),
2860  Option('patch', 'File', desc = 'Patch file containing energy terms and their respective weights'),
2861  Option('residues_backbone_move', 'Integer', desc = 'Number of residues perturbed by a backbone move', default = '5'),
2862  Option('rotation', 'Real', desc = 'Rotation magnitude', default = '2.5'),
2863  Option('sampling_prob', 'File', desc = 'Normalized, per-residue sampling probabilities'),
2864  Option('score', 'String', desc = 'Centroid-level score function', default = 'score3'),
2865  Option('sequence_separation', 'Integer', desc = 'Maximum sequence separation for scoring chainbreaks', default = '20'),
2866 # Option('short_range_seqsep', 'Integer', desc = 'Constraints with sequence separation less than x are scored', default = '15'),
2867  Option('small_cycles', 'Integer', desc = 'Number of small/shear cycles', default = '8000'),
2868  Option('stages', 'Integer', desc = 'Number of stages over which to interpolate ramped values', default = '4'),
2869  Option('temperature', 'Real', desc = 'Monte Carlo temperature', default = '2.0'),
2870  Option('translation', 'Real', desc = 'Translation magnitude', default = '0.5'),
2871  ), # rigid
2872 
2873  # Sasa options --------------------------------------------------------------Does not work with SasaCalculatorLegacy/sasa functions in use pre-2014
2874  Option_Group( 'sasa',
2875  Option('method', 'String',
2876  desc= 'The method used to calculate sasa. More will hopefully be added in the future.',
2877  default='LeGrand',
2878  legal =['LeGrand']),
2879  Option('include_hydrogens_explicitly', 'Boolean',
2880  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.',
2881  default = 'true'),
2882  Option('probe_radius', 'Real',
2883  desc= 'Probe radius used by SasaCalc. Default is radius of water. 1.2 is also commonly used.',
2884  default='1.4'),
2885  Option('include_probe_radius_in_atom_radii', 'Boolean',
2886  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.',
2887  default='true'
2888  ),
2889  Option('include_only_C_S_in_hsasa', 'Boolean',
2890  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.',
2891  default='true'),
2892  Option('exclude_polar_atoms_by_charge_in_hsasa', 'Boolean',
2893  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',
2894  default='false'),
2895  Option('polar_charge_cutoff', 'Real',
2896  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.',
2897  default='.4'
2898  ),
2899  Option('implicit_hydrogen_radii_set', 'String',
2900  desc= 'The radii set to use when including hydrogens implicitly instead of explicitly. Chothia 1976 radii are used by the program Naccess. chothia=naccess',
2901  default='chothia',
2902  legal= ['chothia', 'naccess']),
2903  Option('explicit_hydrogen_radii_set', 'String',
2904  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)',
2905  default='reduce',
2906  legal=['reduce', 'LJ', 'legacy']),
2907  ), # -sasa
2908 
2909  # symmetry options
2910  Option_Group( 'symmetry',
2911  Option( 'symmetry_definition','String', desc="Text file describing symmetry setup",default=None),
2912  Option( 'reweight_symm_interactions','Real', desc="Scale intersubunit interactions by a specified weight",default='1.0'),
2913  Option( 'initialize_rigid_body_dofs','Boolean', desc="Initialize the RB dofs from the symmetry definition file?",default='false'),
2914  Option( 'detect_bonds','Boolean', desc="allow new cross subunit bond formation",default='true'),
2915  Option( 'perturb_rigid_body_dofs','RealVector',
2916  desc='(As in docking) Do a small perturbation of the symmetric DOFs: -perturb_rigid_body_dofs ANGSTROMS DEGREES',
2917  n='2'
2918  ),
2919  Option( 'symmetric_rmsd', 'Boolean', desc='calculate the rmsd symmetrically by checking all chain orderings'),
2920  ), # -symmetry
2921 
2922 ######################################
2923 # Application specific options
2924 # Please keep option groups in alphabetical order
2925 
2926  # Ab initio mode -----------------------------------------------------------
2927  Option_Group( 'abinitio',
2928  Option( 'abinitio', 'Boolean', desc="Ab initio mode" ),
2929 # Option( 'prob_perturb_weights', 'Real', desc='Probability of perturbing score function weights', default='0', lower='0', upper='1',),
2930  Option('membrane', 'Boolean', desc = "will use the membrane abinitio protocol. sequential insertion of TMH", default='false' ),
2931  #Option('TMH_topology','Boolean',desc="use TMHTopologySampler to sample membrane SSE placements"),
2932  Option('use_loophash_filter','Boolean',desc='use loophash filter to determine if SSEs too far away'),
2933  Option('loophash_filter_acceptance_rate','Real',desc='fraction at which want to accept poses from loophash filter if no loophash hits found'),
2934  Option('kill_hairpins', 'File', desc="setup hairpin killing in score (kill hairpin file or psipred file)"),
2935  Option('kill_hairpins_frequency', 'Real', desc="automated hairpin killing frequency (for use with psipred file)", default='0.2'),
2936  Option( 'smooth_cycles_only', 'Boolean', desc = "Only smooth cycles in abinitio protocol", default = 'false' ),
2937  Option( 'relax', 'Boolean', desc = "Do a relax after abinitio = abrelax ?" ),
2938  Option( 'final_clean_relax','Boolean', desc = 'Do a final relax without constraints' ),
2939  Option( 'fastrelax', 'Boolean', desc = "Do a fastrelax after abinitio = abfastrelax ?" ),
2940  Option( 'multifastrelax', 'Boolean', desc = "Do a fastrelax after abinitio = abfastrelax ?" ),
2941  Option( 'debug', 'Boolean', default = 'false' ),
2942  Option( 'clear_pose_cache', 'Boolean', desc = "always clear extra-scores away before output", default = 'false' ),
2943  Option(
2944  'explicit_pdb_debug', 'Boolean', default = 'false',
2945  desc = 'always dump pdb (not silent ) files during abinitio stages'
2946  ),
2947  ##Option( 'test_broker', 'Boolean', default = 'false', desc='use topology_broker system '),
2948  Option( 'use_filters', 'Boolean', default = 'false', desc='use RG, contact-order and sheet filters '),
2949  Option( 'increase_cycles', 'Real',
2950  desc='Increase number of cycles at each stage of fold_abinitio (or pose_abinitio) by this factor',
2951  lower='0.001',
2952  default='1.0',
2953  ),
2954  Option( 'number_3mer_frags', 'Integer',
2955  desc="Number of top 3mer fragments to use in fold_abinitio protocol",
2956  lower='0', default='200'
2957  ),
2958  Option( 'number_9mer_frags', 'Integer',
2959  desc='Number of top 9mer fragments to use in fold_abinitio protocol',
2960  lower='0', default='25'
2961  ),
2962  Option( 'temperature', 'Real', oldName='abinitio_temperature',
2963  desc='Temperature used in fold_abinitio',
2964  default='2.0'
2965  ),
2966  ##Option( 'vdw_reweight', 'Real',
2967  ## desc='Reweight contribution of van der Waals score to total score by this scale factor',
2968  ## default='1.0'
2969  ##),
2970  ##Option( 'env_reweight', 'Real',
2971  ## desc='Reweight contribution of environment score to total score by this scale factor (default 1.0)',
2972  ## default='1.0'
2973  ##),
2974  ##Option( 'pair_reweight', 'Real',
2975  ## desc='Reweight contribution of pair score to total score by this scale factor',
2976  ## default='1.0'
2977  ##),
2978  ##Option( 'cb_reweight', 'Real',
2979  ## desc='Reweight contribution of C_beta (packing density) score to total score by this scale factor',
2980  ## default='1.0'
2981  ##),
2982  ##Option( 'sheet_reweight', 'Real',
2983  ## desc='Reweight contribution of sheet score to total score by this scale factor',
2984  ## default='1.0'
2985  ##),
2986  ##Option( 'ss_reweight', 'Real',
2987  ## desc='Reweight contribution of strand-strand score to total score by this scale factor',
2988  ## default='1.0'
2989  ##),
2990  ##Option( 'hs_reweight', 'Real',
2991  ## desc='Reweight contribution of helix-strand score to total score by this scale factor',
2992  ## default='1.0'
2993  ##),
2994  ##Option( 'rsigma_reweight', 'Real',
2995  ## desc='Reweight contribution of R-sigma score (strand pair distance/register) to total score by this scale factor',
2996  ## default='1.0'
2997  ##),
2998  Option( 'rg_reweight', 'Real',
2999  desc='Reweight contribution of radius of gyration to total score by this scale factor',
3000  default='1.0'
3001  ),
3002  ##Option( 'parallel_weight', 'Real',
3003  ## desc='Reweight score for parallel strand pairing between residues whose strands are separated by more than 10 A',
3004  ##),
3005  ##Option( 'antiparallel_weight', 'Real',
3006  ## desc='Reweight score for antiparallel strand pairing between residues whose strands are separated by more than 10 A',
3007  ## default='1.0',
3008  ##),
3009 # Option( 'strand_dist_cutoff', 'Real',
3010 # desc='Specify distance cutoff (in Angstroms) between strand dimers within which they are called paired',
3011 # default='6.5'
3012 # ),
3013 # Option( 'stretch_strand_dist_cutoff', 'Boolean',
3014 # 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>' ",
3015 # ),
3016  Option( 'rsd_wt_helix', 'Real',
3017  desc='Reweight env,pair,cb for helix residues by this factor',
3018  default='1.0',
3019  ),
3020  Option( 'rsd_wt_strand', 'Real',
3021  desc='Reweight env,pair,cb for strand residues by this factor',
3022  default='1.0',
3023  ),
3024  Option( 'rsd_wt_loop', 'Real',
3025  desc='Reweight env,pair,cb for loop residues by this factor',
3026  default='1.0',
3027  ),
3028 
3029  ##Option( 'rand_envpair_res_wt', 'Boolean',
3030  ## desc='Reweight of env,pair,cb contributions by random factors (between 0.5 and 1.2) for each residue',
3031  ##),
3032  ##Option( 'rand_SS_wt', 'Boolean',
3033  ## desc='Reweight helix-strand, strand-strand, sheet, and rsigma scores by random factors between 0.5 and 1.5',
3034  ##),
3035  ##Option( 'random_parallel_antiparallel', 'Boolean',
3036  ## 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",
3037  ##),
3038  ##Option( 'optimize_rmsd', 'Boolean',
3039  ## desc='Optimize a score function composed of van der waals score plus a component proportional to -1/rmsd',
3040  ##),
3041  ##Option( 'handedness_score', 'Boolean',
3042  ## desc='Evaluate whether any beta-alpha-beta connections are left-handed during run; if so, adds a penalty to sheet score',
3043  ##),
3044  # May be need its own category, look: https://wiki.rosettacommons.org/index.php/Command-line_reference
3045 # Option( 'fast', 'Boolean',
3046 # 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',
3047 # ),
3048 # ##Option( 'score_contact_flag', 'Boolean',
3049  ## desc='To turn the contact scoring on',
3050  ##),
3051  ### Default is computed and passed in lookup
3052  ##Option( 'score_contact_file', 'File',
3053  ## 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',
3054  ##),
3055  ##Option( 'score_contact_weight', 'Real',
3056  ## desc='To set the weight - default is 1',
3057  ## default='1.0'
3058  ##),
3059  ##Option( 'score_contact_threshold', 'Real',
3060  ## 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',
3061  ## default='0.5'
3062  ##),
3063  ##Option( 'score_contact_seq_sep', 'Integer',
3064  ## desc='Only AA separated at least this number in sequence are considered - default is 1',
3065  ## default='1'
3066  ##),
3067  ##Option( 'score_contact_calpha', 'Boolean',
3068  ## desc='Use distances between alpha carbons, not centroids to assign bonuses',
3069  ##),
3070  ##
3071  ### Default (8 or 11) passed in lookup: Should this be a 2-valued option?
3072  ##Option( 'score_contact_distance', 'Real',
3073  ## desc='Give distance under which contact is given bonus [Default is 8 angstroms (centroid/centroid) or 11 angstroms (c_alpha/c_alpha)]',
3074  ##),
3075  ##Option( 'score_contact_readindist', 'Boolean',
3076  ## desc='Instead of using score_contact_distance, read in distances from contact file as fourth column: aa1(integer) aa2(integer) probability(double) distance(double)',
3077  ##),
3078  ##Option( 'score_contact_fullatom', 'Boolean',
3079  ## desc="By default the 'contact score' is off during full atom; this option turns it on"
3080  ##),
3081  Option( 'skip_convergence_check', 'Boolean',
3082  desc="this option turns off the convergence check in stage3 (score 2/5)"
3083  ),
3084  Option( 'stage1_patch', 'FileVector',
3085  desc="Name of weights patch file (without extension .wts) to use during stage1 abinitio"),
3086  Option( 'stage2_patch', 'FileVector',
3087  desc="Name of weights patch file (without extension .wts) to use during stage2 abinitio"),
3088  Option( 'stage3a_patch', 'FileVector',
3089  desc="Name of weights patch file (without extension .wts) to use during stage3a abinitio"),
3090  Option( 'stage3b_patch', 'FileVector',
3091  desc="Name of weights patch file (without extension .wts) to use during stage3b abinitio"),
3092  Option( 'stage4_patch', 'FileVector',
3093  desc="Name of weights patch file (without extension .wts) to use during stage4 abinitio"),
3094  Option( 'stage5_patch', 'FileVector',
3095  desc="Name of weights patch file (without extension .wts) to use during stage5 abinitio"),
3096 # Option( 'exit_when_converged', 'Boolean', desc="finish abinitio if mc_converged", default='false' ),
3097 
3098  Option( 'steal_3mers' , 'Boolean', desc='stealing: use 3mers from native', default='false' ),
3099  Option( 'steal_9mers' , 'Boolean', desc='stealing: use 9mers from native', default='false' ),
3100  Option( 'no_write_failures', 'Boolean', desc='dont write failed structures to silent-out', default='false' ),
3101  Option( 'relax_failures', 'Boolean', desc='relax failures anyway', default='false' ),
3102  # Option( 'no_prof_info_in_silentout', 'Boolean', desc='add column <seconds> to silent output', default='false' ),
3103  Option( 'relax_with_jumps', 'Boolean', desc='switch to allow relax even if loops are not closed ', default='false' ),
3104  Option( 'process_store', 'Boolean', desc='run process_decoy on each structure in the structure store', default='false' ),
3105  Option( 'fix_residues_to_native', 'IntegerVector', desc='these residues torsions are copied from native and fixed', default='0' ),
3106  Option( 'return_full_atom', 'Boolean', desc='return a full-atom structure even if no relax is done', default='false' ),
3107  Option( 'detect_disulfide_before_relax','Boolean', desc='run detect_disulfides() before relax', default='false' ),
3108 
3109  Option( 'close_loops', 'Boolean', desc='close loops', default='false' ),
3110 
3111  Option( 'bGDT', 'Boolean', desc="compute gdtmmm", default='true' ),
3112 
3113  Option( 'dump_frags', 'Boolean', desc='for control purposes... dump fragments', default='false' ),
3114  Option( 'jdist_rerun', 'Boolean', desc='go through intput structures and evaluate ( pca, rmsd, cst-energy )', default='false' ),
3115 
3116  Option( 'perturb', 'Real', desc='add some perturbation (gaussian) to phi/psi of native', default='0.0' ),
3117  Option( 'rerun', 'Boolean', desc='go through intput structures and evaluate ( pca, rmsd, cst-energy )', default='false' ),
3118  Option( 'rmsd_residues', 'IntegerVector', desc='give start and end residue for rmsd calcul.', default='-1' ),
3119  Option( 'start_native', 'Boolean', desc='start from native structure (instead of extended)', default='false' ),
3120  Option( 'cyclic_peptide', 'Boolean', desc='set up cyclic peptide (N-to-C cyclization) constraints for abinitio runs', default='false' ),
3121  Option( 'debug_structures', 'Boolean', desc="write structures to debug-out files", default='false' ),
3122 
3123  Option( 'log_frags', 'File', desc='fragment insertions (each trial) will be logged to file', default='' ),
3124  Option( 'only_stage1', 'Boolean', desc='useful for benchmarks sets cycle of all higher stages to 0', default='false' ),
3125  Option( 'end_bias', 'Real', desc='set the endbias for Fragment moves', default='30.0' ),
3126  Option( 'symmetry_residue', 'Integer', desc='hacky symmetry mode for dimers, fragments are inserted at i and i + SR - 1', default='-1' ),
3127  Option( 'vdw_weight_stage1', 'Real', desc='vdw weight in stage1', default='1.0' ),
3128  Option( 'override_vdw_all_stages', 'Boolean', desc='apply vdw_weight_stage1 for all stages', default='false' ),
3129  Option( 'recover_low_in_stages', 'IntegerVector',desc='say default: 2 3 4 recover_low happens in stages 2 3 4', default='0' ),
3130  Option( 'skip_stages', 'IntegerVector',desc='say: 2 3 4, and it will skip stages 2 3 4', default='0' ),
3131  Option( 'close_chbrk', 'Boolean', desc='Chain break closure during classic abinito ', default='false' ),
3132  Option( 'include_stage5', 'Boolean', desc='stage5 contains small moves only', default='false' ),
3133  Option( 'close_loops_by_idealizing', 'Boolean', desc='close loops by idealizing the structure after stage 4', default='false' ),
3134  Option( 'optimize_cutpoints_using_kic', 'Boolean', desc='optimize around cutpoints using kinematic relax', default='false' ),
3135  Option( 'optimize_cutpoints_margin', 'Integer', desc='', default='5' ),
3136 
3137 # Option ('HD_EX_Info', 'File', desc= 'input list of residues with low amide protection ' ),
3138 # Option ('HD_penalty', 'Real', desc= 'penatlty for each inconsistent pairing with HD data ', default='0.1' ),
3139 # Option ('HD_fa_penalty','Real', desc = 'penalty for each Hbond donor inconsistent with HD donor', default = '0.1' ),
3140 # Option ('sheet_edge_pred','File', desc= 'file with interior/exterior predictions for strands' ),
3141 # Option ('SEP_score_scalling','Real', desc= 'scalling factor', default = '1.0' ),
3142 
3143  Option_Group('star',
3144  Option('initial_dist_cutoff', 'Real', desc = 'Maximum distance cutoff for restraints that constrain aligned residues to their initial positions', default = '8.0'),
3145  Option('min_unaligned_len', 'Integer', desc = 'Minimum length of an unaligned region', default = '3'),
3146 # 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'),
3147  ), # -abinito:star
3148  ), # -abinitio
3149 
3150  # abrelax mode -----------------------------------------------------------
3151  Option_Group( 'abrelax',
3152  Option( 'abrelax', 'Boolean', desc="ab initio relax mode" ),
3153 # Option( 'filters', 'Boolean', desc="", oldName='abrelax_filters' ),
3154  Option( 'fail_unclosed', 'Boolean', desc="structures which don't close loops are reported as FAIL_DO_NOT_RETRY", default='false' ),
3155  ), # -abrelax
3156 
3157  #########################AnchoredDesign#############################
3158  Option_Group( 'AnchoredDesign',
3159  Option( 'anchor', 'File', desc='anchor specification file', default='anchor' ),
3160  Option( 'allow_anchor_repack', 'Boolean', desc='allow repacking of anchor (default is to prevent)', default='false'),
3161  Option( 'vary_cutpoints', 'Boolean', desc='vary loop cutpoints. Picks new cutpoints at start of each nstruct', default='false'),
3162  Option( 'no_frags', 'Boolean', desc='use no fragments. Overrides passing an old-style fragment file. Skips new-style fragment generation.', default='false'),
3163  Option( 'debug', 'Boolean', desc='debug mode (extra checks and pdb dumps)', default='false' ),
3164  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' ),
3165  Option( 'refine_only', 'Boolean', desc='refine only mode (skip perturbation step)', default='false' ),
3166  Option( 'perturb_show', 'Boolean', desc='dump perturbed centroid pdbs as well as final results', default='false' ),
3167  Option( 'perturb_cycles', 'Integer', desc='perturbation phase runs for <input> cycles', default = '5' ),
3168  Option( 'perturb_temp', 'Real', desc='perturbation phase temperature for monte carlo', default = '0.8' ),
3169  Option( 'perturb_CCD_off', 'Boolean', desc='CCD-style loop remodeling off in perturb phase (meaning, KIC only)', default = 'false' ),
3170  Option( 'perturb_KIC_off', 'Boolean', desc='KIC-style loop remodeling off in perturb phase (meaning, CCD only)', default = 'false' ),
3171  Option( 'refine_CCD_off', 'Boolean', desc='CCD-style loop remodeling off in refine phase (meaning, KIC only)', default = 'false' ),
3172  Option( 'refine_KIC_off', 'Boolean', desc='KIC-style loop remodeling off in refine phase (meaning, CCD only)', default = 'false' ),
3173  Option( 'refine_cycles', 'Integer', desc='refinement phase runs for <input> cycles', default = '5' ),
3174  Option( 'refine_temp', 'Real', desc='refinement phase temperature for monte carlo', default = '0.8' ),
3175  Option( 'refine_repack_cycles', 'Integer', desc='refinement phase runs repack every <input> cycles', lower = '2', default = '20' ),
3176  Option( 'rmsd', 'Boolean', desc='Calculate result structure CA RMSD from starting structure', default = 'false'),
3177  Option( 'unbound_mode', 'Boolean', desc='Ignore the anchor, as if this were loop modeling', default = 'false'),
3178  Option( 'chainbreak_weight', 'Real', desc='Chainbreak term weight', default = '2.0'),
3179  Option_Group( 'filters',
3180  Option( 'score', 'Real', desc='do not print trajectories with scores greater than this total scorefunction value', default='0'),
3181  Option( 'sasa', 'Real', desc='do not print trajectories with sasas less than this interface delta sasa value', default='500'),
3182  Option( 'omega', 'Boolean', desc='filter out non-trans omegas', default='false'),
3183  ), # -AnchoredDesign:filters
3184  Option_Group( 'akash',
3185  Option( 'dyepos', 'Integer', desc='dye position', default = '0'), #deliberate illegal default - flag should be ignored if not user specified ),
3186  ), # -AnchoredDesign:akash
3187  Option_Group( 'testing',
3188  Option( 'VDW_weight', 'Real', desc='centroid VDW weight; testing if 2 better than 1', lower='0', default = '1.0'),
3189  Option( 'anchor_via_constraints', 'Boolean', desc='allow anchor&jump to move; anchor held in place via constraints - you must specify constraints!', default = 'false'),
3190  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.'),
3191  Option( 'RMSD_only_this', 'File', desc='Perform only RMSD calculations without modifying input. Only used for re-running metrics during benchmarking/debugging.'),
3192  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'),
3193  Option( 'super_secret_fixed_interface_mode', 'Boolean', desc='hold the anchor-containing loop fixed. Currently in testing.', default = 'false'),
3194  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'),
3195  ), # -AnchoredDesign:testing
3196  ), # -AnchoredDesign
3197 
3198  ##############################################################################
3199  # Rosetta Antibody Options -----------------------------------------------
3200  Option_Group('antibody',
3201  Option( 'antibody', 'Boolean',
3202  desc='Antibody option group',
3203  legal='true', default='true'
3204  ),
3205  Option('numbering_scheme', 'String',
3206  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.',
3207  default='Chothia_Scheme'
3208  ),
3209  Option('cdr_definition', 'String',
3210  desc='The CDR definition to use. Current Options are: Chothia, Aroop, North, Kabat, Martin',
3211  default='Aroop'
3212  ),
3213  Option('light_chain', 'String',
3214  desc='Type of light chain if known. Only used for design for now.',
3215  legal = ['unknown', 'lambda', 'kappa'],
3216  default='unknown'
3217  ),
3218  Option('check_cdr_chainbreaks', 'Boolean',
3219  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',
3220  default='true'
3221  ),
3222  Option('check_cdr_pep_bond_geom', 'Boolean',
3223  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.',
3224  default='false'
3225  ),
3226  Option( 'graft_l1', 'Boolean',
3227  desc='Graft CDR L1 from template',
3228  default='false'
3229  ),
3230  Option('l1_template', 'String',
3231  desc='Choose specified template for CDR L1 grafting',
3232  default='l1.pdb'
3233  ),
3234  Option( 'graft_l2', 'Boolean',
3235  desc='Graft CDR L2 from template',
3236  default='false'
3237  ),
3238  Option('l2_template', 'String',
3239  desc='Choose specified template for CDR L2 grafting',
3240  default='l2.pdb'
3241  ),
3242  Option( 'graft_l3', 'Boolean',
3243  desc='Graft CDR L3 from template',
3244  default='false'
3245  ),
3246  Option('l3_template', 'String',
3247  desc='Choose specified template for CDR L3 grafting',
3248  default='l3.pdb'
3249  ),
3250  Option( 'graft_h1', 'Boolean',
3251  desc='Graft CDR H1 from template',
3252  default='false'
3253  ),
3254  Option('h1_template', 'String',
3255  desc='Choose specified template for CDR H1 grafting',
3256  default='h1.pdb'
3257  ),
3258  Option( 'graft_h2', 'Boolean',
3259  desc='Graft CDR H2 from template',
3260  default='false'
3261  ),
3262  Option('h2_template', 'String',
3263  desc='Choose specified template for CDR H2 grafting',
3264  default='h2.pdb'
3265  ),
3266  Option( 'graft_h3', 'Boolean',
3267  desc='Graft CDR H3 from template',
3268  default='false'
3269  ),
3270  Option('h3_template', 'String',
3271  desc='Choose specified template for CDR H3 grafting',
3272  default='h3.pdb'
3273  ),
3274  Option( 'h3_no_stem_graft', 'Boolean',
3275  desc='Graft CDR H3 from template, use stem to superimpose, but do not copy the stem',
3276  default='false'
3277  ),
3278  Option( 'packonly_after_graft', 'Boolean',
3279  desc='Only do packing after grafting, do not do minimization',
3280  default='false'
3281  ),
3282  Option( 'stem_optimize', 'Boolean',
3283  desc='turn on/off the option to optimize the grafted stems',
3284  default='true'
3285  ),
3286  Option( 'stem_optimize_size', 'Integer',
3287  desc=' define the size of the stem to optimize ',
3288  default='4'
3289  ),
3290  Option( 'preprocessing_script_version', 'String',
3291  desc='Rosetta 2 using Perl script has errors for grafting',
3292  default='R3_Python'
3293  ),
3294  Option( 'model_h3', 'Boolean',
3295  desc='Model CDR H3 from scratch using fragments',
3296  default='false'
3297  ),
3298  Option( 'snugfit', 'Boolean',
3299  desc='Adjust relative orientation of VL-VH',
3300  default='false'
3301  ),
3302  Option( 'refine_h3', 'Boolean',
3303  desc='Refine CDR H3 in high resolution',
3304  default='true'
3305  ),
3306  Option( 'h3_filter', 'Boolean',
3307  desc='filter decoys having neither kink nor extend form',
3308  default='true'
3309  ),
3310  Option( 'h3_filter_tolerance', 'Real',
3311  desc='maximum number of tries for the filter',
3312  default='5'
3313  ),
3314  Option( 'cter_insert', 'Boolean',
3315  desc='insert kind or extend Ab fragments to CDR H3',
3316  default='true'
3317  ),
3318  Option( 'flank_residue_min', 'Boolean',
3319  desc='minimize flank residues of CDR H3 during high-reso refinement',
3320  default='true'
3321  ),
3322  Option( 'sc_min', 'Boolean',
3323  desc='minimize the side chain after finishing the rotamer packing',
3324  default='false'
3325  ),
3326  Option( 'rt_min', 'Boolean',
3327  desc='minimize the rotamer each packing',
3328  default='false'
3329  ),
3330  Option( 'bad_nter', 'Boolean',
3331  desc='the n-terminal is bad because of bad H3 grafting',
3332  default='true'
3333  ),
3334  Option( 'extend_h3_before_modeling', 'Boolean',
3335  desc='extend the H3 to forget the intial H3 configuration',
3336  default='true'
3337  ),
3338  Option( 'idealize_h3_stems_before_modeling', 'Boolean',
3339  desc='idealize the H3 stem, H3 grafting does not copy the coordinates which makes the grafting bad ',
3340  default='true'
3341  ),
3342  Option('remodel', 'String',
3343  desc='Choose a perturb method to model H3 in centroid mode',
3344  default='legacy_perturb_ccd'
3345  ),
3346  Option('refine', 'String',
3347  desc='Choose a refine method to model H3 in high-resol model',
3348  default='legacy_perturb_ccd'
3349  ),
3350  Option('centroid_refine', 'String',
3351  desc='Choose a refine method to refine a loop in centroid mode',
3352  default='refine_kic'
3353  ),
3354  Option( 'constrain_cter', 'Boolean',
3355  desc='The option to turn on/off the cterminal constrain penalty in loop scoring function',
3356  default='false'
3357  ),
3358  Option( 'constrain_vlvh_qq', 'Boolean',
3359  desc='The option to turn on/off the VL-VH QQ H-bond in docking scoring function',
3360  default='false'
3361  ),
3362  Option( 'snug_loops', 'Boolean',
3363  desc='Allow CDR loop backbone flexibility during minimization',
3364  default='false'
3365  ),
3366  Option( 'input_fv','File',
3367  desc='input antibody variable (Fv) region',
3368  default='FR02.pdb'
3369  ),
3370  Option( 'camelid','Boolean',
3371  desc='Camelid input with only heavy (VH) chain',
3372  default='false'
3373  ),
3374  Option( 'camelid_constraints','Boolean',
3375  desc='Display constraints file for use with camelid H3 modeler',
3376  default='false'
3377  ),
3378  ### Only used for antibody design at the moment ###
3379  ############# CDR Dihedral Constraints ############
3380  Option('use_mean_cluster_cst_data', 'Boolean',
3381  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.',
3382  default = 'true'
3383  ),
3384  Option('force_use_of_cluster_csts_with_outliers', 'Boolean',
3385  desc= 'Force the use of cluster dihedral constraints to use ones with outliers.',
3386  default = 'false'
3387  ),
3388  Option('cluster_csts_stats_cutoff', 'Integer',
3389  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.',
3390  default='10'
3391  ),
3392  Option('general_dihedral_cst_phi_sd', 'Real',
3393  desc = 'Standard deviation to use for phi while using general dihedral circular harmonic constraints',
3394  default='16.0'
3395  ),
3396  Option('general_dihedral_cst_psi_sd', 'Real',
3397  desc = 'Standard deviation to use for psi while using general dihedral circular harmonic constraints',
3398  default = '16.0'
3399  ),
3400  ##############################################################################
3401  # Rosetta AntibodyDesign Options -----------------------------------------------
3402  Option_Group( 'design',
3403  Option('base_cdr_instructions', 'String',
3404  desc='The Default/Baseline instructions file. Should not need to be changed.',
3405  default='/sampling/antibodies/design/default_instructions.txt'
3406  ),
3407 
3408  Option('cdr_instructions', 'String',
3409  desc='Path to CDR Instruction File',
3410  ),
3411  Option('antibody_database', 'String',
3412  desc='Path to the current Antibody Database, updated weekly. Download from http://dunbrack2.fccc.edu/PyIgClassify/ ',
3413  default='/sampling/antibodies/antibody_database_rosetta_design.db'
3414  ),
3415  Option('paper_ab_db', 'Boolean',
3416  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/',
3417  default='false'
3418  ),
3419  Option('paper_ab_db_path', 'String',
3420  desc='Path to the North paper ab_db path. Only used if -paper_ab_db option is passed',
3421  default='/sampling/antibodies/antibody_database_rosetta_design_north_paper.db'
3422  ),
3423  Option('design_cdrs', 'StringVector',
3424  legal = ['L1', 'L2', 'L3', 'H1', 'H2', 'H3', 'l1', 'l2', 'l3', 'h1', 'h2', 'h3'],
3425  desc = "Design these CDRs in graft and sequence design steps. Use to override instructions file"
3426  ),
3427  Option('top_designs', 'Integer',
3428  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.',
3429  default='1'
3430  ),
3431  ###### Protocol Steps
3432  Option('design_protocol', 'String',
3433  desc='Set the main protocol to use. Note that deterministic is currently only available for the grafting of one CDR.',
3434  default='gen_mc',
3435  legal = ['gen_mc', 'even_cluster_mc', 'even_length_cluster_mc', 'deterministic_graft']
3436  ),
3437  Option('run_snugdock', 'Boolean',
3438  desc='Run snugdock on each ensemble after designing.',
3439  default='false'
3440  ),
3441  Option('run_relax', 'Boolean',
3442  desc = 'Run Dualspace Relax on each ensemble after designing (after snugdock if run). Also output pre-relaxed structures',
3443  default = 'false'
3444  ),
3445  Option('run_interface_analyzer', 'Boolean',
3446  desc = 'Run the Interface Analyzer and add the information to the resulting score function for each top design output.',
3447  default = 'true'),
3448 
3449  ###### Paratope + Epitope
3450  Option('paratope', 'StringVector',
3451  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.",
3452  legal = ['L1', 'L2', 'L3', 'H1', 'H2', 'H3', 'l1', 'l2', 'l3', 'h1', 'h2', 'h3'],
3453  ),
3454  Option('epitope', 'StringVector',
3455  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 = []
3456  ),
3457  Option('use_epitope_constraints', 'Boolean',
3458  default = 'false',
3459  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."
3460  ),
3461  ###### Constraint Control
3462  Option('dihedral_cst_weight', 'Real',
3463  default = '.3',
3464  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.'
3465  ),
3466  Option('atom_pair_cst_weight', 'Real',
3467  default = '0.01',
3468  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.'
3469  ),
3470  Option('global_dihedral_cst_scoring', 'Boolean',
3471  default = 'false',
3472  desc = 'Use the dihedral cst score throughout the protocol, including final scoring of the poses instead of just during minimization step'
3473  ),
3474  Option('global_atom_pair_cst_scoring', 'Boolean',
3475  default = 'false',
3476  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.'
3477  ),
3478  ###### Optimization Step
3479  Option('do_dock', 'Boolean',
3480  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 ',
3481  default='false'
3482  ),
3483  Option('do_rb_min', 'Boolean',
3484  desc='Minimize the ab-ag interface post graft and any docking/cdr min by minimizing the jump',
3485  default='false'
3486  ),
3487  Option('dock_min_dock', 'Boolean',
3488  desc='Do Dock -> Min -> Dock instead of Dock->Min where you would otherwise want 2 cycles. Must already be passing do_dock',
3489  default='false'
3490  ),
3491  ###### Protocol Rounds
3492  Option('outer_cycle_rounds', 'Integer',
3493  desc='Rounds for outer loop of the protocol (not for deterministic_graft ). Each round chooses a CDR and designs',
3494  default='150'
3495  ),
3496  Option('inner_cycle_rounds', 'Integer',
3497  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.',
3498  default = '1'
3499  ),
3500  Option('dock_cycle_rounds', 'Integer',
3501  desc='Number of rounds for any docking. If you are seeing badly docked structures, increase this value.',
3502  default='1'
3503  ),
3504  ##### Distance Detection
3505  Option('interface_dis', 'Real',
3506  desc='Interface distance cutoff. Used for repacking of interface, epitope detection, etc.',
3507  default='8.0'
3508  ),
3509  Option('neighbor_dis', 'Real',
3510  desc='Neighbor distance cutoff. Used for repacking after graft, minimization, etc.',
3511  default='6.0'
3512  ),
3513  ###### Outlier Control
3514  Option('use_outliers', 'Boolean',
3515  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.',
3516  default='false'
3517  ),
3518  Option('use_H3_graft_outliers', 'Boolean',
3519  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.',
3520  default = 'true'
3521  ),
3522  Option('use_only_H3_kinked', 'Boolean',
3523  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.',
3524  default = 'false'
3525  ),
3526  ###### Regional Sequence Design
3527  Option('design_antigen', 'Boolean',
3528  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.',
3529  default = 'false'
3530  ),
3531  Option('design_framework', 'Boolean',
3532  desc='Design framework residues during sequence design. Typically done with only neighbor residues of designing CDRs or during interface minimization.',
3533  default = 'false'
3534  ),
3535  Option('conservative_framework_design', 'Boolean',
3536  desc='If designing Framework positions, use conservative mutations instead of all of them.',
3537  default='true'
3538  ),
3539  ###### Seq Design Control
3540  Option('design_H3_stem', 'Boolean',
3541  default='false',
3542  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.'
3543  ),
3544  Option('design_proline', 'Boolean',
3545  default='false',
3546  desc='Enable proline design. Profiles for proline are very good, but designing them is a bit risky. Enable this if you are feeling daring.'
3547  ),
3548  Option('sample_zero_probs_at', 'Real',
3549  default='0',
3550  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. '
3551  ),
3552  Option('force_mutate_framework_for_cluster', 'Boolean',
3553  default = 'true',
3554  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",
3555  ),
3556  ## Profile Stats
3557  Option('seq_design_stats_cutoff', 'Integer',
3558  default='10',
3559  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.'
3560 
3561  ),
3562  Option('seq_design_profile_samples', 'Integer',
3563  default='1',
3564  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.'
3565  ),
3566  ##### Fine Control
3567  Option('use_light_chain_type','Boolean',
3568  default='true',
3569  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.'
3570  ),
3571  Option('idealize_graft_cdrs', 'Boolean',
3572  desc='Idealize the CDR before grafting. May help or hinder. Still testing.',
3573  default = 'false'
3574  ),
3575  Option('add_backrub_pivots', 'StringVector',
3576  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.',
3577  ),
3578  Option('inner_kt', 'Real',
3579  desc = "KT used in the inner min monte carlo after each graft.",
3580  default = '2.0'),
3581  Option('outer_kt', 'Real',
3582  desc = 'KT used for the outer graft Monte Carlo. Each graft step will use this value',
3583  default = '1.0'),
3584  ###### Benchmarking
3585  Option('random_start', 'Boolean',
3586  desc = 'Start graft design (currently) with a new set of CDRs from the CDRSets as to not bias the run with native CDRs.',
3587  default='false'
3588  ),
3589  Option('adapt_graft', 'Boolean',
3590  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.',
3591  default='true'
3592  ),
3593  Option('enable_adapt_graft_cartesian', 'Boolean',
3594  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',
3595  default = 'false'
3596  ),
3597  Option('remove_antigen', 'Boolean',
3598  desc = 'Remove the antigen from the pose before doing any design on it',
3599  default = 'false'
3600  ),
3601  Option('add_graft_log_to_pdb', 'Boolean',
3602  desc = 'Add the full graft log to the output pose. Must also pass -pdb_comments option.',
3603  default = 'false'
3604  ),
3605  Option('mutate_framework_for_cluster', 'Boolean',
3606  desc = 'Mutate the framework to maintain certain clusters post-graft.',
3607  default = 'false'
3608  ),
3609  ), #design
3610  ), # antibody
3611 
3612  ## Options for specific task operations - outside global packing options.
3613  Option_Group( 'task_operations',
3614  Option( 'cons_design_data_source', 'String',
3615  desc='Data source used for the ConservativeDesignOperation. This guides the set of allowed mutations. Higher blosum means higher conservation (numbers indicate sequence similarity cutoffs.',
3616  default='blosum62',
3617  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']
3618  ),
3619  ),
3620 
3621  ##########################################################################
3622  Option_Group( 'assembly',
3623  Option( 'pdb1','File', desc='pdb1 file' ),
3624  Option( 'pdb2','File', desc='pdb2 file' ),
3625 # Option( 'nterm_seq', 'String', default='', desc='extra sequence at Nterminus' ),
3626 # Option( 'cterm_seq', 'String', default='', desc='extra sequence at Cterminus' ),
3627 # Option( 'linkers_pdb1', 'IntegerVector', desc="Residue numbers to be built as linkers " ),
3628 # Option( 'linkers_pdb2', 'IntegerVector', desc="Residue numbers to be built as linkers " ),
3629 # Option( 'preserve_sidechains_pdb1', 'IntegerVector', desc="Residue numbers to be sidchain-preserved " ),
3630 # Option( 'preserve_sidechains_pdb2', 'IntegerVector', desc="Residue numbers to be sidchain-preserved " ),
3631  ), # -assembly
3632 
3633  ## options for BackrubMover
3634  Option_Group( 'backrub',
3635  Option( 'pivot_residues', 'IntegerVector', desc='residues for which contiguous stretches can contain segments (internal residue numbers, defaults to all residues)', default = 'utility::vector1<int>()'),
3636  Option( 'pivot_atoms', 'StringVector', desc='main chain atoms usable as pivots', default = 'utility::vector1<std::string>(1, "CA")'),
3637  Option( 'min_atoms', 'Integer', desc='minimum backrub segment size (atoms)', default = '3'),
3638  Option( 'max_atoms', 'Integer', desc='maximum backrub segment size (atoms)', default = '34'),
3639 
3640  #BackrubProtocol
3641  Option( 'ntrials', 'Integer', desc='number of Monte Carlo trials to run', default = '1000'),
3642  Option( 'sc_prob', 'Real', desc='probability of making a side chain move', default = '0.25'),
3643  Option( 'sm_prob', 'Real', desc='probability of making a small move', default = '0'),
3644  Option( 'sc_prob_uniform', 'Real', desc='probability of uniformly sampling chi angles', default = '0.1'),
3645  Option( 'sc_prob_withinrot', 'Real', desc='probability of sampling within the current rotamer', default = '0.0'),
3646  Option( 'mc_kt', 'Real', desc='value of kT for Monte Carlo', default = '0.6'),
3647  Option( 'mm_bend_weight', 'Real', desc = 'weight of mm_bend bond angle energy term', default = '1.0'),
3648  Option( 'initial_pack', 'Boolean', desc = 'force a repack at the beginning regardless of whether mutations are set in the resfile', default = 'false'),
3649  Option( 'minimize_movemap', 'File', desc = 'specify degrees of freedom for minimization'),
3650  Option( 'trajectory', 'Boolean', desc = 'record a trajectory', default = 'false'),
3651  Option( 'trajectory_gz', 'Boolean', desc = 'gzip the trajectory', default = 'false'),
3652  Option( 'trajectory_stride', 'Integer', desc = 'write out a trajectory frame every N steps', default = '100'),
3653 
3654  ), # -backrub
3655 
3656  # batch_relax mode -----------------------------------------------------------
3657  Option_Group( 'batch_relax',
3658  Option( 'batch_size', 'Integer', desc='Size of batches - note that thsie affects memory usage significantly', default='100' ),
3659  #Option( 'return_all', 'Boolean', desc='Return all structures or only the ones that made it to the end ?', default='false' ),
3660  ), # -batch_relax
3661 
3662  ## options for BBGaussianMover
3663  Option_Group( 'bbg',
3664  Option( 'factorA', 'Real', desc='Control how big the move would be(acceptance rate), default 1.0', default='1.0'),
3665  Option( 'factorB', 'Real', desc='Control how local the move would be(folded 10.0, unfolded 0.1), default 10.0', default='10.0'),
3666  Option( 'ignore_improper_res', "Boolean", desc='Skip improper residues (proline)', default = 'false'),
3667  Option( 'fix_short_segment', "Boolean", desc='Do not apply small mover to short segments, for loop', default = 'false'),
3668  ), # -bbg
3669 
3670  Option_Group( 'boinc',
3671  Option( 'graphics', 'Boolean', desc='The boinc client uses this option for the windowed graphics', default='false' ),
3672  Option( 'fullscreen','Boolean', desc='The boinc client uses this option for the screensaver full screen graphics', default='false' ),
3673  Option( 'max_fps', 'Integer', desc='Maximum frames per second, overrides user preference.', default='0' ),
3674  Option( 'max_cpu', 'Integer', desc='Maximum cpu percentage, overrides user preferecne.', default='0' ),
3675  Option( 'noshmem', 'Boolean', desc='for testing graphics without shared memory.', default='false' ),
3676  Option('cpu_run_time', 'Integer', desc='Target cpu run time in seconds', default='10800'),
3677  Option('max_nstruct', 'Integer', desc='Maximum number of output models (failed or successful) for a given client', default='99' ),
3678  Option('cpu_frac', 'Real', desc='Percentage of CPU time used for graphics', default='10.0'),
3679  Option('frame_rate', 'Real', desc='Number of frames per second for graphics', default='10.0'),
3680  Option('watchdog', 'Boolean', desc='Turn watchdog on', default='false'),
3681  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'),
3682  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'),
3683  Option('description_file', 'File', desc='work unit description file', default='rosetta_description.txt'),
3684  Option('score_cut_pct','Real', desc='score cut done on the local nodes by percentage, required to return centroid models'),
3685  Option('score_cut_fl', 'File', desc='temp file where output is stored in', default='score_cut_tmp.out'),
3686  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)'),
3687  ), # -boinc
3688 
3689  # Broker stuff -----------------------------------------------------------
3690  Option_Group( 'broker',
3691  Option( 'setup', 'FileVector', desc="setup file for topology-broker",default='NO_SETUP_FILE' ),
3692  Option('rb_mover_stage1_weight', 'Real', desc = 'weight of RB mover in abinitio stage 1', default = '5.0'),
3693  Option('large_frag_mover_stage1_weight', 'Real', desc = 'weight of fragment mover in abinitio stage 1',default = '1.0'),
3694  Option('small_frag_mover_stage1_weight', 'Real', desc = 'weight of fragment mover in abinitio stage 1',default = '1.0'),
3695  ), # -broker
3696 
3697  Option_Group( 'bunsat_calc2',
3698 # Option( 'probe_radius', 'Real', desc="Probe radius for SASA calculation", default = '1.4' ),
3699 # Option( 'wobble', 'Real', desc="Distance atoms can move towards" \
3700 # " or away from solvent. Value is subtracted from inner shell and added to outer shell for variable distance SASA.", default = '0.0' ),
3701  Option( 'sasa_burial_cutoff', 'Real', desc="Minimum SASA to be considered exposed", default = '0.01' ),
3702  Option( 'layered_sasa', 'Boolean', desc="Use the variable distance solvent SASA calculator for finding buried unsats", default="true"),
3703  Option( 'generous_hbonds', 'Boolean', desc="Use generous hbond criteria", default = "true"),
3704  Option( 'AHD_cutoff', 'Real', desc="Minimum AHD angle for secondary geometry based h-bond detection", default = '120' ),
3705  Option( 'dist_cutoff', 'Real', desc="max dist", default = '3.0'),
3706  Option( 'hxl_dist_cutoff', 'Real', desc="hxl max dist", default = '3.5'),
3707  Option( 'sulph_dist_cutoff', 'Real', desc="max sulph dist", default = '3.3'),
3708  Option( 'metal_dist_cutoff', 'Real', desc="max metal dist", default = '2.7'),
3709  ), # -bunsat_calc2
3710 
3711  ############################################################################
3712  # equilibrium sampling options
3713  Option_Group('canonical_sampling',
3714  Option_Group('probabilities',
3715  Option('sc','Real',desc='probability of making a side chain move',default = '0.25'),
3716  Option('localbb','Real',desc='probability of making a small move',default = '0.75'),
3717  Option('sc_prob_uniform','Real',desc='probability of uniformly sampling chi angles',default = '0.1'),
3718  Option('sc_prob_withinrot','Real',desc='probability of sampling within the current rotamer',default = '0.9'),
3719  Option('sc_prob_perturbcurrent','Real',desc='probability of perturbing the current rotamer',default = '0.0'),
3720  Option('MPI_sync_pools','Boolean',desc='use MPI to synchronize pools and communicate between nodes',default = 'false'),
3721  Option('MPI_bcast','Boolean',desc='use broadcasting in syncing',default = 'false'),
3722  Option('fast_sc_moves','Boolean',desc='use the fast SidechainMCMover',default = 'false'),
3723  Option('fast_sc_moves_ntrials','Real',desc='specify the number of ntrials for each call of scmover apply',default='1000'),
3724  Option('no_jd2_output','Boolean',desc='do not write to silent-file specified by -out:file:silent',default = 'false'),
3725  Option('use_hierarchical_clustering','Boolean',desc='use the HierarchicalLevel class',default = 'false'),
3726 # Option('hierarchical_max_cache_size','Integer',desc='set the max-cache size of the hierarchy',default = '1000'),
3727  Option('backrub','Real',desc='set the probability of executing a backrub move when making a backbone move',default = '0.5'),
3728  Option('conrot','Real',desc='set relative probability of executing a conrot move when making a backbone move',default = '0.0'),
3729  ), # -canonical_sampling:probabilities
3730  Option_Group('sampling',
3731  Option('no_detailed_balance','Boolean',desc='preserve detailed balance',default = 'false'),
3732  Option('ntrials','Integer',desc='number of Monte Carlo trials to run',default = '1000' ),
3733  Option('mc_kt','Real',desc='value of kT for Monte Carlo',default='0.6'),
3734  Option('interval_pose_dump','Integer',desc='dump a pose out every x steps',default='1000'),
3735  Option('interval_data_dump','Integer',desc='dump data out every x steps',default='100'),
3736  Option('output_only_cluster_transitions','Boolean',desc='output only cluster transitions',default = 'false'),
3737  Option('transition_threshold','Real',desc='if rmsd to known_structures larger than X, add a new structure to pool',default = '2.0'),
3738  Option('max_files_per_dir','Integer',desc='distribute traj and transition files into subdirectories with max N entries',default = '1000'),
3739  Option('save_loops_only','Boolean',desc='save only loop conformation to pool',default = 'false'),
3740  Option('dump_loops_only','Boolean',desc='dump only loop conformation in silent-files',default = 'false'),
3741  ), # -canonical_sampling:sampling
3742  Option_Group('out',
3743  Option('new_structures','File',desc='',default = 'discovered_decoys.out'),
3744  ), # -canonical_sampling:out
3745  ), # -canonical_sampling
3746 
3747  ##relevent casp options for refinement protocols
3748  Option_Group( 'casp',
3749 # Option( 'decoy', 'String'),
3750 # Option( 'wt', 'String'),
3751 # Option( 'rots' , 'String'),
3752  Option( 'opt_radius', 'Real', desc='optimization radius for repacking and minimization'),
3753  Option( 'repack', 'Boolean', desc='should we repack the structure?'),
3754  Option( 'sc_min', 'Boolean', desc='should we sidechain minimize the structure?'),
3755  Option( 'sequential', 'Boolean', desc='should mutations be considered in sequence or all together?'),
3756  Option( 'num_iterations', 'Real', desc='number of iterations to perform'),
3757 # Option( 'weight_file', 'String', desc='what weight-file to use?'),
3758  Option( 'refine_res', 'String', desc='specifies file that contains which residues to refine'),
3759  ), # -casp
3760 
3761  ############################UBQ_*, chemically_conjugated_docking, UBQ_E2_thioester, UBQ_Gp_*########################
3762  Option_Group( 'chemically_conjugated_docking',
3763  #UBQ_E2_thioester AND shared group
3764  Option( 'UBQpdb', 'File', desc='ubiquitin structure, or the structure for the attached thing that is moving', default='1UBQ.pdb'),
3765  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'),
3766  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'),
3767  Option( 'SASAfilter', 'Real', desc='filter out structures with interface dSASA less than this', default='1000'),
3768  Option( 'scorefilter', 'Real', desc='filter out structures with total score greater than this', default='10'),
3769  Option( 'publication', 'Boolean', desc='output statistics used in publication. TURN OFF if not running (original Saha et al.) publication demo.', default='false'),
3770  Option( 'n_tail_res', 'Integer', desc='Number of c-terminal ~tail~ residues to make flexible (terminus inclusive)', default='3'),
3771  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'),
3772  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=''),
3773  Option( 'UBQ2_lys', 'Integer', desc='which Lys on the second UB will be conjugated', default='48'),
3774  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.'),
3775  Option( 'dont_minimize_omega', 'Boolean', desc='disable minimization of omega angles near thioester in MoveMap; not present in original publications (Saha; Baker)', default='false'),
3776  #UBQ_Gp_LYX-Cterm and UBQ_Gp_CYD-CYD group
3777  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'),
3778  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'),
3779  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'),
3780  ), # -chemically_conjugated_docking
3781 
3782  # Chunk related stuff -----------------------------------------------------------
3783  Option_Group( 'chunk',
3784  Option( 'pdb2', 'File', desc="file for chunk2" ),
3785  Option( 'loop2', 'File', desc="rigid region for chunk2" ),
3786  ), # -chunk
3787 
3788  # clustering options -----------------------------------------------------------
3789  Option_Group( 'cluster',
3790  Option('lite','Boolean',desc="uses light-weight method of outputting cluster-centers, useful for when there's a HUGE amount of data!",default='false'),
3791  Option( 'input_score_filter', 'Real', desc="Only read in structures below a certain energy", default = '1000000.0' ),
3792  Option( 'output_score_filter', 'Real', desc="Only read in structures below a certain energy", default = '1000000.0' ),
3793  Option( 'exclude_res', 'IntegerVector', desc="Residue numbers to be excluded from cluster RMS calculation", default = '-1' ),
3794  Option( 'thinout_factor', 'Real', desc="Ignore this fraction of decoys in the first round !", default = '-1' ),
3795 # Option( 'max_cluster_seeds', 'Integer', desc="Do not calculate initial cluster centers for more then this many structuers", default = '500' ),
3796  Option( 'radius', 'Real', desc="Cluster radius", default = '3.0' ),
3797  Option( 'limit_cluster_size', 'Integer', desc="For each cluster only retain top N ", default = '-1' ),
3798  Option( 'limit_cluster_size_percent', 'Real', desc="0 to 1. For each cluster only retain top N % " ),
3799  Option( 'random_limit_cluster_size_percent', 'Real', desc="0 to 1. For each cluster only retain random N % " ),
3800  Option( 'limit_clusters', 'Integer', desc="Only retain largest N clusters", default = '100' ),
3801  Option( 'limit_total_structures', 'Integer', desc="Only retain the first N structures (ordered by cluster number)", default = '-1' ),
3802  Option( 'max_total_cluster','Integer', desc="Only ever make N clusters or less", default = '1000'),
3803  Option( 'gdtmm', 'Boolean', desc="Cluster by gdtmm instead of RMS", default = 'false' ),
3804  Option( 'skip_align', 'Boolean', desc="Cluster without aligning the structures", default = 'false' ),
3805  Option( 'sort_groups_by_energy', 'Boolean', desc="Sort clusters by energy", default = 'false' ),
3806  Option( 'sort_groups_by_size', 'Boolean', desc="Sort clusters by energy", default = 'false' ),
3807  Option( 'remove_singletons', 'Boolean', desc="Get rid of single-member clusters", default = 'false' ),
3808  Option( 'export_only_low', 'Boolean', desc="Print only the lowest energy member", default = 'false' ),
3809  Option( 'remove_highest_energy_member', 'Boolean', desc="Remove highest energy member from each cluster", default = 'false' ),
3810  Option( 'idealize_final_structures', 'Boolean', desc="Run an idealization over the resulting structures", default = 'false' ),
3811  Option( 'limit_dist_matrix', 'Integer', desc="Only calculate full matrix for a subset of structres. Then simply assign structures to nearest cluster", default = '-1'),
3812  Option( 'make_ensemble_cst', "Boolean", desc="Create a set of constraints describing the variablity in each cluster of each residue.", default='false' ),
3813  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' ),
3814  Option( 'loops', "Boolean", desc='Cluster the loop specified with the -loops:loop_file option', default = 'false' ),
3815  Option( 'population_weight', 'Real', desc="Order Clusters by (1-p)*score - p*size whpere p = population_weight " , default = '0.09' ),
3816 
3817  Option( 'template_scores', 'String', desc="imple textfile containing template names (in caps) and scores." ),
3818 
3819  Option( 'K_level', "Integer", desc='Hierarchical cluster level number', default = '1'),
3820  Option( 'K_radius', "RealVector", desc='Radius list of different level of cluster', default = 'utility::vector1<float>(1, 2.0)'),
3821  Option( 'K_n_cluster', "IntegerVector", desc='How many clusters in each level', default = 'utility::vector1<int>(1, 10000)'),
3822  Option( 'K_style', "StringVector", desc='Which K-cluster engine to use', default = 'utility::vector1<std::string>(9, "GKC")'),
3823 # Option( 'K_threshold', "Real", desc='Threshold for test the convergence of iteration', default = '0.01'),
3824  Option( 'K_n_sub', "Integer", desc='Number of clusters in subdir', default = '100'),
3825  Option( 'K_deque_size', "Integer", desc='Size of subcluster deque', default = '20'),
3826  Option( 'K_deque_level', "Integer", desc='Provide deque in top level', default = '1'),
3827  Option( 'K_redundant', "Boolean", desc='Keep all the higher level center structure in sub-pools', default = 'true'),
3828  Option( 'K_not_fit_xyz', "Boolean", desc='Do not rotate xyz when calculate rmsd', default = 'false'),
3829  Option( 'K_save_headers', "Boolean", desc='Save headers in silent file', default = 'false'),
3830  Option( 'score_diff_cut','Real',desc='score difference cut for RNA and SWA clustering', default = '1000000.0' ),
3831  Option( 'auto_tune', 'Boolean', desc='autotune rmsd for clustering between 0.1A up to 2.0A, for SWA clusterer', default='false' ),
3832  ),
3833 
3834  Option_Group( 'cm', # comparative modeling
3835  Option_Group('sanitize',
3836 # Option('bound_delta', 'Real', desc = 'Distance in Angstroms from aligned position before a penalty is incurred', default = '0.5'),
3837 # Option('bound_sd', 'Real', desc = 'Value of standard deviation in bound func', default = '1.0'),
3838  Option('num_fragments', 'Integer', desc = 'Use the top k fragments at each position during sanitization', default = '25'),
3839  Option('cst_weight_pair', 'Real', desc = 'atom_pair_constraint weight', default = '1.0'),
3840  Option('cst_weight_coord', 'Real', desc = 'coordinate_constraint weight', default = '1.0'),
3841  ), # -cm:sanitize
3842 
3843  Option( 'start_models_only', 'Boolean', desc='Make starting models only!', default='false' ),
3844  Option( 'aln_format', 'String', legal = ['grishin','general'],
3845  default='grishin'
3846  ),
3847  Option( 'recover_side_chains', 'Boolean', desc='recover side-chains',
3848  default='false'
3849  ),
3850  Option( 'steal_extra_residues', 'FileVector',
3851  desc='list of template extra residues (ie ligands) to add to query pose in comparative modeling',
3852  ),
3853  Option( 'loop_mover', 'String',
3854  legal = [
3855  'quick_ccd','quick_ccd_moves','perturb_ccd','perturb_kic','sdwindow'
3856  ],
3857  default='quick_ccd',
3858  ),
3859  Option( 'loop_close_level', 'Integer', legal=[ '0', '1', '2', '3' ],
3860  default='0',
3861  desc="level of aggressiveness to use in closing loops. \
3862  The integers that follow flags specify how aggressively \
3863  loops are rebuilt. Each option implies all non-zero levels below it,\
3864  so that loop_close_level 2 implies level 1 as well. Meaning of \
3865  the options are: \
3866  NO_REBUILD 0 don't rebuild loops at all \
3867  REBUILD_UNALIGNED 1 rebuild loops around unaligned regions \
3868  REBUILD_CHAINBREAK 2 rebuild loops around chainbreaks \
3869  REBUILD_EXHAUSTIVE 3 rebuild loops around regions with a chainbreak until no chainbreaks remain",
3870  ),
3871  Option( 'min_loop_size', 'Integer',
3872  desc='Minimum size of loops to remodel when building threading models.',
3873  default='5'
3874  ),
3875  Option( 'max_loop_rebuild', 'Integer',
3876  desc='Maximum number of times to try to rebuild a loop before giving up.',
3877  default='10'
3878  ),
3879  Option(
3880  'loop_rebuild_filter', 'Real',
3881  desc='Maximum score a structure must have after loop rebuilding.',
3882  default='0'
3883  ),
3884  Option( 'aln_length_filter_quantile', 'Real',
3885  desc='Only use alignment lengths longer than the Xth quantile. e.g. setting this to 0.75 will only use the 25% longest alignments',
3886  default='0.0',
3887  ),
3888  Option( 'aln_length_filter', 'Integer',
3889  desc='Only use alignment longer or equal to this length',
3890  default='-1',
3891  ),
3892 # Option( 'template_ids', 'StringVector',
3893 # desc = 'List of template identifiers to use in comparative modeling',
3894 # ),
3895 # Option( 'ligand_pdb', 'File',
3896 # desc = 'Add a ligand to the system',
3897 # ),
3898  Option( 'seq_score', 'StringVector',
3899  desc = 'sequence-based scoring scheme used for generating alignments',
3900  legal = [ 'L1', 'ProfSim', 'DP', 'Matrix', 'Simple', 'ChemicalShift' ],
3901  default = 'utility::vector1<std::string>(1,"Simple")',
3902  ),
3903  Option( 'aligner', 'String',
3904  desc = 'algorithm for making sequence alignments',
3905  legal = [ 'local', 'global', 'mc' ],
3906  ),
3907  Option( 'min_gap_open', 'Real',
3908  desc = 'gap opening penalty for sequence alignments (usually negative)',
3909  default = '-2.0',
3910  ),
3911  Option( 'max_gap_open', 'Real',
3912  desc = 'gap opening penalty for sequence alignments (usually negative)',
3913  default = '-2.0',
3914  ),
3915  Option( 'min_gap_extend', 'Real',
3916  desc = 'gap extension penalty for sequence alignments (usually negative)',
3917  default = '-0.2'
3918  ),
3919  Option( 'max_gap_extend', 'Real',
3920  desc = 'gap extension penalty for sequence alignments (usually negative)',
3921  default = '-0.2'
3922  ),
3923  Option( 'nn', 'Integer',
3924  desc = 'number of neighbors to include in constraint derivation',
3925  default = '500',
3926  ),
3927 # Option( 'fr_temperature', 'Real',
3928 # desc = 'temperature to use during fragment-based refinement of structures',
3929 # default = '2.0'
3930 # ),
3931  Option( 'ev_map','FileVector', desc='Input file that maps pdbChains to blast e-values'
3932  ),
3933  Option( 'hh_map','FileVector', desc='Input file that maps pdbChains to hhsearch probabilities'
3934  ),
3935  Option_Group( 'hybridize', # tempalate hybridization
3936  Option( 'starting_template', 'IntegerVector', desc='Define starting templates' ),
3937  Option( 'realign_domains', 'Boolean', desc='domain parse and realign the starting templates', default='true' ),
3938  Option( 'realign_domains_stage2', 'Boolean', desc='realign the starting templates to the pose after stage1', default='true' ),
3939  Option( 'add_non_init_chunks', 'Integer', desc='add (on average) this many non-template chunks', default='0' ),
3940  Option( 'stage1_increase_cycles', 'Real', desc='Scale stage 1 cycles', default='1.0' ),
3941  Option( 'stage2_increase_cycles', 'Real', desc='Scale stage 2 cycles', default='1.0' ),
3942  Option( 'stage2min_increase_cycles', 'Real', desc='Scale minimizer cycles after stage 2', default='1.0'),
3943  Option( 'stage1_probability', 'Real', desc='Probability of hybridizing in stage 1, 0=never, 1=always', default='1.0' ),
3944  Option( 'skip_stage2', 'Boolean', desc='skip cartesian fragment hybridize stage', default='false' ),
3945  Option( 'no_global_frame', 'Boolean', desc='no global-frame fragment insertions', default='false' ),
3946  Option( 'linmin_only', 'Boolean', desc='linmin only in stage 2', default='false' ),
3947  Option( 'relax', 'Integer', desc='if n==1, perform relax at end; if n>1 perform batch relax over n centroids', default='0' ),
3948  Option( 'frag_weight_aligned', 'Real', desc='Probability of fragment insertion in the aligned region', default='0.' ),
3949  Option( 'max_registry_shift', 'Integer', desc='maximum registry shift', default='0' ),
3950  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' ),
3951  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' ),
3952  Option( 'big_frag_insertion_weight', 'Real', desc='weight for big fragment insertions vs. template chunk insertions in stage1', default='0.5' ),
3953  Option( 'auto_frag_insertion_weight', 'Boolean', desc='automatically set the weight for fragment insertions vs. template chunk insertions in stage1', default='true' ),
3954  Option( 'stage1_1_cycles', 'Integer', desc='Number of cycles for ab initio stage 1 in Stage1', default='2000'),
3955  Option( 'stage1_2_cycles', 'Integer', desc='Number of cycles for ab initio stage 2 in Stage1', default='2000'),
3956  Option( 'stage1_3_cycles', 'Integer', desc='Number of cycles for ab initio stage 3 in Stage1', default='2000'),
3957  Option( 'stage1_4_cycles', 'Integer', desc='Number of cycles for ab initio stage 4 in Stage1', default='400'),
3958  Option( 'stage2_temperature', 'Real', desc='Monte Carlo temperature in the stage2', default='2.0'),
3959  Option( 'stage1_4_cenrot_score', 'String', desc='Switch to cenrot model in stage1_4', default='score_cenrot_cm_stage1_4.wts'),
3960 
3961  ), # -cm:hybridize
3962  ), # -cm
3963 
3964  ##############################################################################
3965  # ContactMap options
3966  Option_Group( 'contactMap',
3967  Option( 'contactMap', 'Boolean',
3968  desc="contactMap option group",
3969  legal='true', default='true'
3970  ),
3971  Option( 'prefix', 'String',
3972  default = 'contact_map_',
3973  desc = "Prefix of contactMap filename"
3974  ),
3975  Option( 'distance_cutoff', 'Real',
3976  default = '10.0',
3977  desc = "Cutoff Backbone distance for two atoms to be considered interacting"
3978  ),
3979  Option( 'region_def', 'String',
3980  default = '',
3981  desc = "Region definition for comparison eg: 1-10:20-30,40-50,A:ligand=X"
3982  ),
3983  Option( 'row_format', 'Boolean',
3984  default = 'false',
3985  desc = "Flag whether to output in row instead of matrix format"
3986  ),
3987  Option( 'distance_matrix', 'Boolean',
3988  default = 'false',
3989  desc = "Output a distance matrix instead of a contact map"
3990  ),
3991  ), # -contactMap
3992 
3993  ##################################
3994  # VIP mover options
3995  Option_Group( 'cp',
3996  Option( 'cutoff', 'Real', desc="designable neighbor cutoff", default='16' ),
3997 # Option( 'minimizer', 'String', desc="minimizer to use for initial minimization", default='score12_full'),
3998  Option( 'relax_sfxn', 'String', desc="score function for final relaxation step", default='score12_full'),
3999  Option( 'pack_sfxn', 'String', desc="score function for mutational trials",default='gauss'),
4000 # Option( 'minimizer_tol', 'Real', desc="tolerance for minimization", default='.0001'),
4001  Option( 'minimizer_score_fxn', 'String', desc="score function for initial minimization", default='score12_full'),
4002  Option( 'output', 'String', desc="file where we want to dump the final pose",default='final_mutant.pdb'),
4003  Option( 'ncycles', 'Integer', desc="how many cycles to run refinement for",default='0'),
4004  Option( 'max_failures', 'Integer', desc="how many failures to tolerate at each iteration before quitting",default='1'),
4005  Option( 'print_reports', 'Boolean', desc="print reports to text file?",default='false' ),
4006  Option( 'vipReportFile', 'String', desc="File to print reports to", default='reports.txt' ),
4007  Option( 'exclude_file', 'String', desc="Optional input file to specify positions that should not be mutated", default='cp_excludes' ),
4008  Option( 'relax_mover', 'String', desc="relax w/o constraints=relax, w constraints=cst_relax", default='relax'),
4009  Option( 'skip_relax','Boolean',desc="Skip relax step... may reduce accurate identification of mutations",default='false'),
4010  Option( 'local_relax','Boolean',desc="Limit relax step to neighbors",default='false'),
4011  Option( 'print_intermediate_pdbs','Boolean',desc="Output a pdb file for each consecutive mutation",default='false'),
4012  Option( 'use_unrelaxed_starting_points', 'Boolean', desc="For subsequent iterations, uses mutation before relaxation",default='false' ),
4013  Option( 'easy_vip_acceptance', 'Boolean', desc="For all iterations, use initial energy for acceptance test",default='false' ),
4014  ), # -cp
4015  # end VIP
4016 
4017  Option_Group( 'cryst',
4018  Option( 'mtzfile', 'String', desc = 'mtz file'),
4019  Option( 'crystal_refine', 'Boolean', desc='Turns on crystal-refinement-specific options', default='false' ),
4020  ),
4021 
4022  ############################################################################
4023  # Solid state NMR orientational constraints
4024  Option_Group('csa',
4025  Option( 'useZ', 'Boolean', desc='Use absolute zaxis for scoring csa'),
4026  ),
4027 
4028  # cutoutdomain Options -----------------------------------------------------------
4029  Option_Group( 'cutoutdomain',
4030  Option( 'start', 'Integer', desc="start residue", default = '1' ),
4031  Option( 'end', 'Integer', desc="end residue", default = '2' ),
4032  ), # -cutoutdomain
4033 
4034  ## Cyclization Options ##
4035  Option_Group( 'cyclization',
4036  #Option( 'chains_to_cyclize', 'IntegerVector', desc="The chain number to cyclize", default="1" ),
4037  #Option( 'chains_to_cyclize', 'IntegerVector', desc="The chain number to cyclize", default="0" ),
4038  Option( 'chains_to_cyclize', 'IntegerVector', desc="The chain number to cyclize" ),
4039  Option( 'num_min_rebuild', 'Integer', desc="The number of time to iterate between minimization and rebuilding the connection dependant atom positions", default='3' ),
4040  Option( 'add_constraints', 'Boolean', desc="The add constraints to maintain cycle geometry", default='true' ),
4041  ), # -cyclization
4042 
4043  ## Options for cyclic peptide structure prediction app (simple_cycpep_predict) -- Vikram K. Mulligan, Baker laboratory (vmullig@uw.edu) ##
4044  Option_Group( 'cyclic_peptide',
4045  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" ),
4046  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" ),
4047  Option( 'checkpoint_job_identifier', 'String', desc="A unique job name for checkpointing. If none is provided, jobs are not checkpointed.", default="" ),
4048  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="" ),
4049  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="" ),
4050  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." ),
4051  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' ),
4052  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' ),
4053  Option( 'cyclic_permutations', 'Boolean', desc="Should cyclic permutations of the sequence be considered when setting up the kinematic closure? Default true.", default='true' ),
4054  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' ),
4055  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' ),
4056  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' ),
4057  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' ),
4058  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' ),
4059  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' ),
4060  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' ),
4061  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' ),
4062  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' ),
4063  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' ),
4064  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' ),
4065  ), # -cyclic_peptide
4066 
4067  Option_Group('dc',
4068  Option( 'useZ', 'Boolean', desc='Use absolute zaxis for scoring dc'),
4069  ),
4070 
4071  ## ekellogg. Options for ddg protocol
4072  Option_Group( 'ddg',
4073 # Option('avg_rot_cst_enrg','Boolean',default='false'),
4074 # Option('use_bound_cst','Boolean',default='false'),
4075 # Option('cap_rot_cst_enrg','Real',default='false'),
4076  Option('opt_input_structure','Boolean',default='false'),
4077  Option('pack_until_converge','Boolean',default='false'),
4078  Option('no_constraints','Boolean',default='false'),
4079 # Option('apply_rot_cst_to_mutation_region_only','Real'),
4080 # Option('rot_cst_enrg_cutoff','Real'),
4081  Option('use_rotamer_constraints_to_native','Boolean',default='false'),
4082 # Option('single_res_scoring','Boolean'),
4083 # Option('downweight_by_sasa','Boolean'),
4084 # Option('global','Boolean'),
4085 # Option('exclude_solvent_exposed_res','Boolean'),
4086 # Option('radius','Real'),
4087 # Option('wt','String'),
4088 # Option('mut','String'),
4089 
4090  Option('suppress_checkpointing','Boolean',default='false',desc="boinc specific options to suppress checkpointing behavior"),
4091  Option('wt_only','Boolean',desc="option added to minirosetta app in order to produce only refinement in wt structures"),
4092  Option('mut_only','Boolean',desc="options added to minirosetta app in order to produce refinement in only mutant structure"),
4093  Option('output_silent','Boolean'),
4094  Option('minimization_scorefunction','String'),
4095  Option('minimization_patch','String'),
4096  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." ),
4097  Option('lowest_x_decoys','Integer'),
4098  Option('local_opt_only','Boolean',default='false'),
4099  Option('print_per_res_diff','Boolean',default='false'),
4100  Option('mean','Boolean'),
4101  Option('min','Boolean'),
4102 # Option('rb_restrict_to_mutsite_nbrs','Boolean',default='false'),
4103  Option('no_bb_movement','Boolean',default='false'),
4104  Option('initial_repack','Boolean',default='false'),
4105 # Option('rb_file','String'),
4106  Option('interface_ddg','Integer',default='0', desc='Calculate ddGs across an interface? Uses jump # specified for determining interface.'),
4107  Option('ens_variation', 'Real', default='0.5'),
4108  Option('sc_min_only','Boolean',default='true'),
4109  Option('min_cst_weights','String',default='talaris2013'),
4110  Option('opt_radius','Real',default='8.0'),
4111  Option('output_dir','String',default='./'),
4112  ##Option('accepted_mc_pose_dir','String',default='./'),
4113  Option('last_accepted_pose_dir','String',default='./'),
4114  Option('min_with_cst','Boolean', default='false', desc="Used in ensemble generation"),
4115  Option('temperature', 'Real', default='10',desc='because I really dont know what the monte carlo temperature should be set to'),
4116  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'),
4117  Option('mut_file','String',desc='alternate specification for mutations. File format described in fix_bb_monomer_ddg.cc above the read_in_mutations function'),
4118 # 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'),
4119  Option('out_pdb_prefix','String',desc='specifies the prefix assigned to output so that no overwriting happens'),
4120  Option('constraint_weight','Real',default='1.0',desc='because that other option isnt working'),
4121  Option( 'harmonic_ca_tether', 'Real', default='2.0', desc='default CA tether for harmonic constraints'),
4122  Option('iterations','Integer',default='20',desc='specifies the number of iterations of refinement'),
4123  Option('out', 'String',default='ddg_predictions.out',desc='create output file of predicted ddgs'),
4124  Option('debug_output', 'Boolean', default='false',desc='specify whether or not to write a whole bunch of debug statements to standard out'),
4125  Option('dump_pdbs','Boolean',default='true',desc='specify whether or not to dump repacked wild-type and mutant pdbs'),
4126  Option('weight_file', 'String', default='ddg.wts',desc='specifies the weight-files to be used in calculations'),
4127 # 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.'),
4128  ), # -ddg
4129 
4130  Option_Group( 'DenovoProteinDesign',
4131  Option( 'redesign_core', 'Boolean', desc='redesign core of pdb', default='false'),
4132  Option( 'redesign_loops', 'Boolean', desc='redesign loops of pdb', default='false'),
4133  Option( 'redesign_surface', 'Boolean', desc='redesign surface of pdb', default='false'),
4134  Option( 'redesign_complete', 'Boolean', desc='complete redesign of pdb', default='false'),
4135  ##Option( 'disfavor_native_aa', 'Boolean', desc='penalize native aa in design', default='false'),
4136 # Option( 'disallow_native_aa', 'Boolean', desc='do not allow native aa in design', default='false'),
4137  Option( 'optimize_loops', 'Boolean', desc="do serious loop modeling at the end of designrelax mover"),
4138  Option( 'secondary_structure_file', 'File', desc="has fasta file format - describes secondary structure of desired target with H/C/E" ),
4139  Option( 'hydrophobic_polar_pattern', 'File', desc="has fasta file format - describes hydrophobic(B) polar(P) pattern" ),
4140  Option( 'use_template_sequence', 'Boolean', desc='use the template pdbs sequence when creating starting structures', default='false'),
4141  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'),
4142  Option( 'create_from_template_pdb', 'File', desc='create starting structure from a template pdb, follow with pdb name'),
4143  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'),
4144  ), # -DenovoProteinDesign
4145 
4146  Option_Group( 'dna',
4147  Option_Group( 'specificity',
4148  Option( 'exclude_dna_dna', 'Boolean', default='true'),
4149  Option( 'params', 'RealVector', desc="vector of real-valued params"),
4150  Option( 'frag_files', 'FileVector', desc="files to collect frags from" ),
4151 # Option( 'exclude_bb_sc_hbonds', 'Boolean', default='false'),
4152  Option( 'only_repack', 'Boolean', default='false'),
4153  Option( 'design_DNA', 'Boolean', default='false'),
4154 # Option( 'run_test', 'Boolean', default='false'),
4155  Option( 'soft_rep', 'Boolean', default='false'),
4156  Option( 'dump_pdbs', 'Boolean', default='false'),
4157  Option( 'fast', 'Boolean', default='false'),
4158  Option( 'randomize_motif', 'Boolean', default='false'),
4159  Option( 'Wfa_elec', 'Real', default='0'),
4160  Option( 'Wdna_bs', 'Real', default='0'),
4161  Option( 'Wdna_bp', 'Real', default='0'),
4162  Option( 'minimize_tolerance', 'Real', default='0.001'),
4163  Option( 'weights_tag', 'String'),
4164  Option( 'weights_tag_list', 'String'),
4165  Option( 'min_type', 'String', default='dfpmin'),
4166  #Option( 'output_tag', 'String'),
4167 # Option( 'tf', 'String'),
4168  Option( 'mode', 'String'),
4169  Option( 'score_function', 'String'),
4170  Option( 'pre_minimize', 'Boolean', default='false'),
4171  Option( 'post_minimize', 'Boolean', default='false'),
4172  Option( 'pre_pack', 'Boolean', default='false'),
4173  Option( 'nloop', 'Integer', default='20'),
4174  Option( 'n_inner', 'Integer' ),
4175  Option( 'n_outer', 'Integer' ),
4176  Option( 'nstep_water', 'Integer', default='0'),
4177  Option( 'moving_jump', 'Integer', default='0'),
4178  Option( 'motif_begin', 'Integer', default='0'),
4179  Option( 'motif_size', 'Integer', default='0'),
4180  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'),
4181  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'),
4182  Option( 'lk_ball_wtd_tag', 'String'),
4183  Option( 'lk_ball_for_bb', 'Boolean', default='false'),
4184  Option( 'lk_ball_ramp_width_A2', 'Real', default='5.0'),
4185  Option( 'lk_ball_water_fade', 'Real', default='1.0'),
4186  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)'),
4187  ), # -dna:specificity
4188 
4189  # ashworth
4190  Option_Group( 'design',
4191 # Option( 'output_initial_pdb', 'Boolean', default = 'false', desc = 'write pdb file for loaded and scored input structure'),
4192  Option( 'output_unbound_pdb', 'Boolean', default = 'false', desc = 'write out an unbound pdb if doing binding score calculations'),
4193  Option( 'z_cutoff', 'Real', default = '3.5', lower = '0', desc = 'distance along DNA-axis from designing DNA bases to allow amino acids to design' ),
4194  # the following options are not implemented yet
4195  Option( 'protein_scan', 'String', default = 'ACDEFGHIKLMNPQRSTVWY', desc = 'single-residue scanning of protein residue types for binding and specificity scores'),
4196  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.'),
4197  Option( 'minimize', 'Boolean', default = 'false', desc = 'Perform minimization in DNA design mode.'),
4198 # Option( 'iterations', 'Integer', default = '1', lower = '1', desc = ''),
4199 # Option( 'bb_moves', 'String', default = 'ccd', legal=['ccd','backrub'], desc = ''),
4200  Option( 'dna_defs', 'StringVector', default = '""', desc = ''),
4201  Option( 'dna_defs_file', 'String', default = '', desc = ''),
4202 # Option( 'preminimize_interface', 'Boolean', default = 'false', desc = ''),
4203 # Option( 'prepack_interface', 'Boolean', default = 'false', desc = ''),
4204 # Option( 'flush', 'Boolean', default = 'false', desc = 'enable some tracer flushes in order to see more frequent output'),
4205  Option( 'nopdb', 'Boolean', default = 'false', desc = 'use this flag to disable pdb output' ),
4206 # Option( 'nopack', 'Boolean', default = 'false', desc = 'don\'t actually repack structures' ),
4207 # Option( 'more_stats', 'Boolean', default = 'false' ),
4208 # Option( 'pdb_each_iteration', 'Boolean', default = 'false' ),
4209  Option( 'designable_second_shell', 'Boolean', default = 'false' ),
4210  Option( 'base_contacts_only', 'Boolean', default = 'false' ),
4211  Option( 'probe_specificity', 'Integer', desc='Rapidly estimate the explicit specificity of DNA designs during fixed-backbone repacking', default='1' ),
4212  Option( 'reversion_scan', 'Boolean', desc='Try to revert spurious mutations after designing', default='false' ),
4213  Option( 'binding', 'Boolean', desc='compute a protein-DNA binding energy', default='false' ),
4214  Option( 'Boltz_temp', 'Real', desc='temperature for Boltzmann calculations', default='0.6' ),
4215  Option( 'repack_only', 'Boolean', desc='Do not allow protein sequences to mutate arbitrarily', default='false' ),
4216  Option( 'sparse_pdb_output', 'Boolean', desc='Output only coordinates that change relative to the input structure', default='false' ),
4217  Option_Group( 'specificity',
4218  Option( 'output_structures', 'Boolean', default='false', desc='output structures for each sequence combination'),
4219  Option( 'include_dna_potentials', 'Boolean', default='false', desc='include DNA potentials in calculations of DNA sequence specificity'),
4220  ),
4221  Option_Group( 'reversion',
4222  Option( 'dscore_cutoff', 'Real', desc='limit for acceptable loss in energy', default='1.5' ),
4223  Option( 'dspec_cutoff', 'Real', desc='limit for acceptable loss in specificity', default='-0.05' ),
4224  ),
4225  ), # -dna:design
4226  ), # -dna
4227 
4228  ##############################################################################
4229  # Docking options ---------------------------------------------------------
4230  Option_Group('docking',
4231  Option( 'kick_relax', 'Boolean',
4232  desc='Add relax step at the end of symmetric docking',
4233  default='false'
4234  ),
4235  Option( 'docking', 'Boolean',
4236  desc='Docking option group',
4237  legal='true', default='true'
4238  ),
4239  Option( 'view', 'Boolean',
4240  desc='Decide whether to use the viewer (graphical) or not',
4241  default='false'
4242  ),
4243  Option( 'no_filters', 'Boolean',
4244  desc='Toggle the use of filters',
4245  default='false'
4246  ),
4247  Option( 'design_chains', 'StringVector',
4248  short='Which chains do we want to allow to design?',
4249  desc='Pass in the one-letter chain identifiers, separated by space, for each chain to design: -design_chains A B',
4250  ),
4251  Option( 'recover_sidechains', 'File',
4252  short='take sidechains from this pdb',
4253  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',
4254  ),
4255  Option('partners', 'String',
4256  short='defines docking partners by chainID for multichain docking partners',
4257  desc='defines docking partners by ChainID, example: docking chains L+H with A is -partners LH_A',
4258  default='_'
4259  ),
4260  Option('docking_local_refine', 'Boolean',
4261  short='Skip centroid mode',
4262  desc='Do a local refinement of the docking position (high resolution)',
4263  default='false'
4264  ),
4265  Option('low_res_protocol_only', 'Boolean',
4266  short='Only low resolution',
4267  desc='Run only low resolution docking, skip high resolution docking',
4268  default='false'
4269  ),
4270  Option('randomize1', 'Boolean',
4271  short='Randomize the first docking partner.',
4272  desc='Randomize the first docking partner.',
4273  default='false'
4274  ),
4275  Option('randomize2', 'Boolean',
4276  short='Randomize the second docking partner.',
4277  desc='Randomize the second docking partner.',
4278  default='false'
4279  ),
4280  Option('use_ellipsoidal_randomization', 'Boolean',
4281  short='Use ellipsoidal docking randomization.',
4282  desc='Modify docking randomization to use ellipsoidal rather than spherical method.',
4283  default='false'
4284  ),
4285  Option('spin', 'Boolean',
4286  short='Spin a second docking partner.',
4287  desc='Spin a second docking partner around axes from center of mass of partner1 to partner2',
4288  default='false'
4289  ),
4290  Option('tilt', 'RealVector',
4291  short='tilt the docking partners at a random angle around the sliding axis',
4292  desc='tilt the docking partners at a random angle : -tilt PARTNER1_MAX_DEGREES PARTNER2_MAX_DEGREES.',
4293  n='2'
4294  ),
4295  Option('tilt1_center', 'String',
4296  short='resID around which rotation of partner1 is centered (CA carbon)',
4297  desc='resID around which rotation of partner1 is centered (default: center of mass of partner 1',
4298  default='',
4299  ),
4300  Option('tilt2_center', 'String',
4301  short='resID around which rotation of partner2 is centered (CA carbon)',
4302  desc='resID around which rotation of partner2 is centered (default: center of mass of partner 2',
4303  default='',
4304  ),
4305  Option('dock_pert', 'RealVector',
4306  short='Do a small perturbation with partner two: -dock_pert ANGSTROMS DEGREES.',
4307  desc='Do a small perturbation with partner two: -dock_pert ANGSTROMS DEGREES. Good values for protein docking are 3 A and 8 deg.',
4308  n='2'
4309 # DO NOT supply default values for this option -- reasonable values differ for protein and ligand protocols.
4310 # Also, default values will cause a perturbation to *always* occur, even with no command line flags -- very surprising.
4311 # Adding defaults WILL BREAK existing protocols in unexpected ways.
4312 # Decided by Jeff, Monica, Ian, and Sid in March 2008.
4313 #
4314 # Jeff notes that eventually there should be 3 parameters, like Rosetta++:
4315 # rotation, normal translation, and perpendicular translation.
4316  ),
4317  Option('uniform_trans', 'Real',
4318  short='Uniform random repositioning within a sphere of the given radius.'
4319  ),
4320  Option('center_at_interface', 'Boolean',
4321  short='Perform all initial perturbations with the center of rotation at the interface between partners',
4322  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.',
4323  default='false'
4324  ),
4325  Option('dock_mcm_first_cycles', 'Integer',
4326  short='First cycle of DockMCMProtocol.',
4327  desc='Perfrom 4 cycles to let the filter decide to continue.',
4328  default='4'
4329  ),
4330  Option('dock_mcm_second_cycles', 'Integer',
4331  short='Second cycle of DockMCMProtocol.',
4332  desc='If the first cycle pass the fliter, continue 45 cycles.',
4333  default='45'
4334  ),
4335  Option('docking_centroid_outer_cycles', 'Integer',
4336  short='Outer cycles during docking rigid body adaptive moves.',
4337  desc='Outer cycles during cking rigid body adaptive moves.',
4338  default='10'
4339  ),
4340  Option('docking_centroid_inner_cycles', 'Integer',
4341  short='Inner cycles during docking rigid body adaptive moves.',
4342  desc='Inner cycles during docking rigid body adaptive moves.',
4343  default='50'
4344  ),
4345  ##Option('dock_mcm', 'Boolean',
4346  ## short='Do a monte-carlo minimize search.',
4347  ## desc='Do a monte-carlo minimize search.',
4348  ## default='true'
4349  ##),
4350  Option('dock_min', 'Boolean',
4351  short='Minimize the final fullatom structure.',
4352  desc='Minimize the final fullatom structure.',
4353  default='false'
4354  ),
4355  Option('flexible_bb_docking', 'String',
4356  short='How to do flexible backbone docking, if at all.',
4357  desc='How to do flexible backbone docking, if at all. Choices include fixedbb, ccd, alc, and backrub.',
4358  default='fixedbb'
4359  ),
4360  Option('flexible_bb_docking_interface_dist', 'Real',
4361  short='Distance between chains required to define a residue as having flexible backbone (ie. loop).',
4362  desc='Distance between chains required to define a residue as having flexible backbone (ie. loop).',
4363  default='10.0'
4364  ),
4365  Option('ensemble1', 'String',
4366  short='denotes partner1 as an ensemble',
4367  desc='turns on ensemble mode for partner 1. String is multi-model pdb file',
4368  default=''
4369  ),
4370  Option('ensemble2', 'String',
4371  short='denotes partner2 as an ensemble',
4372  desc='turns on ensemble mode for partner 2. String is multi-model pdb file',
4373  default=''
4374  ),
4375  Option('dock_mcm_trans_magnitude', 'Real',
4376  short='The magnitude of the translational perturbation during mcm in docking.',
4377  desc='The magnitude of the translational perturbation during mcm in docking.',
4378  default='0.1'
4379  ),
4380  Option('dock_mcm_rot_magnitude', 'Real',
4381  short='The magnitude of the rotational perturbation during mcm in docking.',
4382  desc='The magnitude of the rotational perturbation during mcm in docking.',
4383  default='5.0'
4384  ),
4385  Option('minimization_threshold', 'Real',
4386  short='Threhold for Rosetta to decide whether to minimize jump after a rigid_pert',
4387  desc='Threhold for Rosetta to decide whether to minimize jump after a rigid_pert',
4388  default='15'
4389  ),
4390  Option('temperature', 'Real',
4391  short='Temperature setting for the mc object during rigid-body docking',
4392  desc='Temperature setting for the mc object during rigid-body docking',
4393  default='0.8'
4394  ),
4395  Option('repack_period', 'Integer',
4396  short='full repack period during dockingMCM',
4397  desc='full repack period during dockingMCM',
4398  default='8'
4399  ),
4400  Option('extra_rottrial', 'Boolean',
4401  short='extra rotamer trial after minimization',
4402  desc='extra rotamer trial after minimization',
4403  default='false'
4404  ),
4405  Option('dock_rtmin', 'Boolean',
4406  short='does rotamer trials with minimization, RTMIN',
4407  desc='does rotamer trials with minimization, RTMIN',
4408  default='false'
4409  ),
4410  Option('sc_min', 'Boolean',
4411  short='does sidechain minimization of interface residues',
4412  desc='does sidechain minimization of interface residues',
4413  default='false'
4414  ),
4415  Option('norepack1', 'Boolean',
4416  short='Do not repack the side-chains of partner 1.',
4417  desc='Do not repack the side-chains of partner 1.',
4418  default='false'
4419  ),
4420  Option('norepack2', 'Boolean',
4421  short='Do not repack the side-chains of partner 2.',
4422  desc='Do not repack the side-chains of partner 2.',
4423  default='false'
4424  ),
4425  Option('bb_min_res', 'IntegerVector',
4426  short='Minimize backbone at these positions.',
4427  desc='Minimize backbone at these positions.'
4428  ),
4429  Option('sc_min_res', 'IntegerVector',
4430  short='Minimize backbone at these positions.',
4431  desc='Minimize backbone at these positions.'
4432  ),
4433  Option('dock_ppk', 'Boolean',
4434  short='docking prepack mode',
4435  desc='docking prepack mode',
4436  default='false'
4437  ),
4438  Option('max_repeats', 'Integer',
4439  short='how many repeats to use',
4440  desc='If a decoy does not pass the low- and high-resolution filters, how many attempts to make before failur',
4441  default='1000'
4442  ),
4443  Option('dock_lowres_filter', 'RealVector',
4444  short='manually sets the lowres docking filter: -dock_lowres_filter <INTERCHAIN_CONTACT CUTOFF> <INTERCHAIN_VDW CUTOFF> <RESTRAINT CUTOFF>',
4445  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'
4446  ),
4447  Option( 'multibody', 'IntegerVector', desc="List of jumps allowed to move during docking" ),
4448 
4449  Option('ignore_default_docking_task', 'Boolean',
4450  short='Ignore the DockingTask',
4451  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.',
4452  default='false'
4453  ),
4454 
4455  ################ patches for explicit scoring - NGS
4456  Option( 'low_patch', 'String',
4457  desc="Name of weights patch file (without extension .wts) to use during rigid body "),
4458  Option( 'high_patch', 'String',
4459  desc="Name of weights patch file (without extension .wts) to use during docking"),
4460  Option( 'high_min_patch', 'String',
4461  desc="Name of weights patch file (without extension .wts) to use during "),
4462  Option( 'pack_patch', 'String',
4463  desc="Name of weights patch file (without extension .wts) to use during packing"),
4464  Option('use_legacy_protocol', 'Boolean',
4465  short='Use the legacy high resolution docking algorithm.',
4466  desc='Use the legacy high resolution docking algorithm for output compatibility.',
4467  default='false'
4468  ),
4469  Option('docklowres_trans_magnitude', 'Real',
4470  short='The magnitude of the translational perturbation during lowres in docking.',
4471  desc='The magnitude of the translational perturbation during lowres in docking.',
4472  default='0.7'
4473  ),
4474  Option('docklowres_rot_magnitude', 'Real',
4475  short='The magnitude of the rotational perturbation during lowres in docking.',
4476  desc='The magnitude of the rotational perturbation during lowres in docking.',
4477  default='5.0'
4478  ),
4479 
4480 
4481  ###################################################################################
4482  # ligand options ( part of docking )--------------------------------------
4483  Option_Group( 'ligand',
4484  Option( 'ligand', 'Boolean', desc="docking:ligand option group", legal='true', default='true' ),
4485  Option( 'protocol', 'String', desc="Which protocol to run?", default='abbreviated' ),
4486  Option( 'soft_rep', 'Boolean', desc="Use soft repulsive potential?", default='false' ),
4487  Option( 'tweak_sxfn', 'Boolean', desc="Apply default modifications to the score function?", default='true' ),
4488  Option( 'old_estat', 'Boolean', desc="Emulate Rosetta++ electrostatics? (higher weight, ignore protein-protein)", default='false' ),
4489  Option( 'random_conformer', 'Boolean', desc="Start from a random ligand rotamer chosen from the library", default='false' ),
4490  Option( 'improve_orientation', 'Integer', desc="Do N cycles of randomization to minimize clashes with backbone" ),
4491  Option( 'mutate_same_name3', 'Boolean', desc="Allow ligand to 'design' to residue types with same name3? Typically used for protonation states / tautomers.", default='false' ),
4492  Option( 'subset_to_keep', 'Real', desc="When selecting a subset of ligand poses, what fraction (number if > 1.0) to keep?", default='0.05' ),
4493  Option( 'min_rms', 'Real', desc="When selecting a subset of ligand poses, all must differ by at least this amount.", default='0.8' ),
4494  Option( 'max_poses', 'Integer', desc="When selecting a subset of ligand poses, select as most this many.", default='50' ),
4495  Option( 'minimize_ligand', 'Boolean', desc="Allow ligand torsions to minimize?", default='false' ),
4496  Option( 'harmonic_torsions', 'Real', desc="Minimize with harmonic restraints with specified stddev (in degrees)", default='10.0' ),
4497  Option( 'use_ambig_constraints', 'Boolean', desc="Use ambiguous constraints to restrain torsions instead of adding and removing constraints", default='false' ),
4498  Option( 'shear_moves', 'Integer', desc="Do N pseudo-shear moves on ligand torsions per MCM cycle", default='0' ),
4499  Option( 'minimize_backbone', 'Boolean', desc="Allow protein backbone to minimize? Restrained except near ligand.", default='false' ),
4500  Option( 'harmonic_Calphas', 'Real', desc="Minimize with harmonic restraints with specified stddev (in Angstroms)", default='0.2' ),
4501  Option( 'tether_ligand', 'Real', desc="Restrain ligand to starting point with specified stddev (in Angstroms)" ),
4502  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 ..." ),
4503  Option('option_file', 'String', desc="Name of Ligand Option File for use with multi_ligand_dock application"),
4504 # Option('rescore', 'Boolean', desc="No docking (debug/benchmark mode)", default='false'),
4505  Option_Group( 'grid',
4506  Option( 'grid', 'Boolean', desc="docking:ligand:grid option group", legal='true', default='true' ),
4507  Option( 'grid_kin', 'File', desc="Write kinemage version of generated grid to named file" ),
4508  Option( 'grid_map', 'File', desc="Write grid to named file as electron density in BRIX (aka `O'-map) format" ),
4509  ), # -docking:ligand:grid
4510  ), # -docking:ligand
4511 # Option_Group( 'symmetry',
4512 # Option( 'minimize_backbone', 'Boolean', desc="Allow protein backbone to minimize? ", default='false' ),
4513 # Option( 'minimize_sidechains', 'Boolean', desc="Allow protein sidechains to minimize? ", default='false' ),
4514 # ), # -docking:symmetry
4515  ), # -docking
4516 
4517  ##domainassembly
4518  Option_Group( 'DomainAssembly',
4519  Option( 'da_setup', 'Boolean', desc='run DomainAssembly setup routine', legal=['true','false'], default='false'),
4520  Option( 'da_setup_option_file','File', desc='input list of pdbs and linker sequences', default='--' ),
4521  Option( 'da_setup_output_pdb','File',desc='PDB file output by DomainAssemblySetup',default='--' ),
4522  Option( 'da_linker_file','File',desc='input file with linker definitions',default='--' ),
4523  Option( 'da_require_buried','File',desc='Input file containing residues to be buried in the domain interface',default='--'),
4524  Option( 'da_start_pdb','File',desc='input pdb for linker optimization',default='--' ),
4525  Option( 'run_fullatom','Boolean', desc='Run fullatom stage of the protocol', legal=['true','false'], default='false'),
4526  Option( 'run_centroid','Boolean', desc='Run centroid stage of the protocol', legal=['true','false'], default='false'),
4527  Option( 'run_centroid_abinitio','Boolean', desc='Run centroid abinitio stage of the protocol', legal=['true','false'], default='true'),
4528  Option( 'da_nruns','Integer', desc='number of runs', default='1' ),
4529  Option( 'da_start_pdb_num','Integer', desc='starting number for output pdb files', default='1' ),
4530  Option( 'da_linker_file_rna','File', desc='input file with moveable RNA definitions', default='--' ),
4531  Option( 'residues_repack_only','String', desc='Residues not to be redesigned under any circumstances'),
4532  Option( 'da_eval_pose_map','File', desc='input file that maps pose coordinates to structurally related positions of native pose'),
4533  ), # -DomainAssembly
4534 
4535  Option_Group( 'edensity',
4536  Option( 'debug', 'Boolean', default = 'false'),
4537  Option( 'mapfile', 'String' ),
4538  Option( 'mapreso', 'Real', default = '0.0'),
4539  Option( 'grid_spacing', 'Real', default = '0.0'),
4540  Option( 'centroid_density_mass', 'Real', default = '0.0'),
4541  Option( 'sliding_window', 'Integer', default = '1'),
4542  Option( 'cryoem_scatterers', 'Boolean', default = 'false'),
4543  Option( 'force_apix', 'Real', default = '0.0', desc='force pixel spacing to take a particular value'),
4544  Option( 'fastdens_wt', 'Real', default = '0.0', desc='wt of fast edens score'),
4545  Option( 'fastdens_params', 'RealVector', desc='parameters for fastdens scoring'),
4546  Option( 'legacy_fastdens_score', 'Boolean', default = 'false', desc='use the pre-June 2013 normalization for scoring'),
4547  Option( 'sliding_window_wt', 'Real', default = '0.0', desc='wt of edens sliding-window score'),
4548  Option( 'score_sliding_window_context', 'Boolean', default = 'false', desc='when using sl. win. density fit, include neighbor atoms (slows trajectory)'),
4549  Option( 'whole_structure_ca_wt', 'Real', default = '0.0', desc='wt of edens centroid (CA-only) scoring'),
4550  Option( 'whole_structure_allatom_wt', 'Real', default = '0.0', desc='wt of edens centroid (allatom) scoring'),
4551 # Option( 'no_edens_in_minimizer', 'Boolean', default = 'false', desc='exclude density score from minimizer'),
4552  Option( 'debug_derivatives', 'Boolean', default = 'false', desc='calculate numeric derivatives for density terms and compare with analytical'),
4553  Option( 'realign', 'String' , default = 'no' , legal=['no', 'min', 'random', 'membrane', 'membrane_min'] , desc='how to initially align the pose to density'),
4554  Option( 'membrane_axis', 'String' , default = 'Z' , desc='the membrane normal axis'),
4555  Option( 'atom_mask', 'Real', default = '3.2', desc='override default (=3.2A) atom mask radius to this value (hi-res scoring)'),
4556  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)'),
4557  Option( 'ca_mask', 'Real', default = '6.0', desc='override default (=6A) CA mask radius to this value (low-res scoring)'),
4558  Option( 'score_symm_complex', 'Boolean', default = 'false', desc='If set, scores the structure over the entire symmetric complex; otherwise just use controlling monomer'),
4559  Option( 'sc_scaling', 'Real', default = '1.0', desc='Scale sidechain density by this amount (default same as mainchain density)'),
4560  Option( 'n_kbins', 'Integer', default = '1', desc='Number of B-factor bins'),
4561 # Option( 'render_sigma', 'Real', default = '2', desc='initially render at this sigma level (extras=graphics build only)'),
4562  Option( 'unmask_bb', 'Boolean', default = 'false', desc='Only include sidechain atoms in atom mask'),
4563  ), # -edensity
4564 
4565  ## options for enzyme design
4566  Option_Group('enzdes',
4567  Option( 'enzdes', 'Boolean', desc="enzdes option group", legal='true', default='true' ),
4568  Option( 'checkpoint', 'String', default = '', desc = 'write/read checkpoint files to the desired filename.'),
4569  Option('enz_score', 'Boolean', default = 'false',
4570  desc="prevent repacking in enzyme design calculation"),
4571  Option('enz_repack', 'Boolean', default = 'false',
4572  desc="prevent redesign in enzyme design calculation"),
4573  Option('cst_opt', 'Boolean', default = 'false',
4574  desc="pre design constraint minimization"),
4575  Option('cst_predock', 'Boolean', default = 'false',
4576  desc="docks a ligand relative the catalytic residue"),
4577  Option('trans_magnitude','Real',default = '0.1',
4578  desc="rigid body translation in Angstrom"),
4579  Option('rot_magnitude','Real',default = '2',
4580  desc="rigid body rotation in deg"),
4581  Option('dock_trials','Real',default = '100',
4582  desc="number of docking trials"),
4583  Option('cst_min', 'Boolean', default = 'false',
4584  desc="after design minimization, constraints turned off"),
4585  Option('cst_design', 'Boolean', default = 'false',
4586  desc="invokes actual design"),
4587  Option('design_min_cycles', 'Integer', default = '1',
4588  desc="determines how many iterations of designing/minimizing are done during a design run"),
4589  Option('make_consensus_mutations', 'Boolean', default = 'false',
4590  desc="Invokes mutations back to sequence profile consensus throughout whole protein in EnzdesFixBB protocol. sequence profile file must be specified through -in:pssm option."),
4591  Option('bb_min','Boolean', default = 'false',
4592  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."),
4593  Option('bb_min_allowed_dev','Real', default = '0.5',
4594  desc="distance by which Cas are allowed to move during backbone minimization before a penalty is assigned."),
4595  Option('loop_bb_min_allowed_dev','Real', default = '0.5',
4596  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."),
4597  Option('minimize_ligand_torsions','Real', default = '10.0',
4598  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"),
4599  Option('minimize_all_ligand_torsions','Real', default = '10.0',
4600  desc="allows constrained minimization of all ligand torsions using stddev."),
4601  Option('chi_min','Boolean', default = 'false',
4602  desc="allows chi values of active site residues to move during cst_opt and cst_min."),
4603  Option('min_all_jumps','Boolean', default = 'false',
4604  desc="allows all jumps in the pose to minimize during cst_opt and cst_min. By default only ligand-associated jumps minimize"),
4605  Option('cst_dock', 'Boolean', default = 'false',
4606  desc="ligand docking after design. By default, constraints (except covalent connections will be turned off for this stage."),
4607  Option('run_ligand_motifs', 'Boolean', default = 'false',
4608  desc="run ligand motif search and add motif rotamers to packer"),
4609  Option('enz_debug', 'Boolean', default = 'false',
4610  desc="invokes various debug routines around the enzdes code"),
4611  Option('cstfile','File', default = 'constraints.cst',
4612  desc="file that contains all necessary constraints for an enzyme design calculation"),
4613  Option('enz_loops_file','File', default = 'eloops.els',
4614  desc="file that contains definitions of loop regions"),
4615  Option('flexbb_protocol', 'Boolean', default = 'false',
4616  desc="triggers flexible backbone design"),
4617  Option('remodel_protocol', 'Boolean', default = 'false',
4618  desc="triggers remodel protocol design"),
4619  Option('kic_loop_sampling', 'Boolean', default = 'false', desc="Generate alternate loop conformations using KIC loop closure instead of backrub"),
4620  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"),
4621  Option('fix_catalytic_aa', 'Boolean', default = 'false',
4622  desc="preventing catalytic aa from repacking"),
4623  Option('additional_packing_ligand_rb_confs', 'Integer', default = '0',
4624  desc="Ligand Rotamers will be built at additional random rigid body positions during packing"),
4625  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." ),
4626  Option('single_loop_ensemble_size', 'Integer', default = '100',
4627  desc="number of conformations generated for each of the independent loops in a flexbb calculation"),
4628  Option('loop_generator_trials', 'Integer', default = '200',
4629  desc="number of trials of that the respective loop generator(backrub/kinematic kic) does in enzdes flexbb"),
4630  Option('no_catres_min_in_loopgen', 'Boolean', default = 'false',
4631  desc="prevents minimization of catalytic residues when generating loop ensembles"),
4632  Option('mc_kt_low', 'Real', default = '0.6',
4633  desc="low monte carlo limit for ensemble generation using backrub"),
4634  Option('mc_kt_high', 'Real', default = '0.9',
4635  desc="high monte carlo limit for ensemble generation using backrub"),
4636  Option('min_cacb_deviation', 'Real', default = '0.3',
4637  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"),
4638  Option('max_bb_deviation', 'Real', default = '0.1',
4639  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."),
4640  Option('max_bb_deviation_from_startstruct', 'Real', default = '1.5',
4641  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."),
4642 # Option('flexbb_outstructs', 'Integer', default = '10',
4643 # desc="doesn't do much anymore in the current implementation of the flexbb protocol"),
4644  Option('remodel_trials', 'Integer', default = '100',
4645  desc="how often each loop is being remodeled in the enzdes_remodel mover"),
4646  Option('remodel_secmatch', 'Boolean', default = 'false',
4647  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"),
4648  Option('dump_inverse_rotamers', 'Boolean', default = 'false',
4649  desc="in case of remodel secmatching against inverse rotamers, these rotamers will be dumped before the protocol starts for visual inspection by the user"),
4650  Option('remodel_aggressiveness', 'Real', default = '0.1',
4651  desc="determines the aggressiveness with which a given loop is remodeled. legal values between 0 and 1, where 1 is aggressive and 0 conservative."),
4652  Option('favor_native_res','Real', default = '0.5',
4653  desc="a bonus energy assigned to the native res during a design calculation"),
4654  Option('detect_design_interface', 'Boolean', default = 'false',
4655  desc="automatically detect design/repack region around ligand(s)"),
4656  Option('include_catres_in_interface_detection', 'Boolean', default = 'false',
4657  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"),
4658  Option('arg_sweep_interface', 'Boolean', default = 'false',
4659  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."),
4660  Option('arg_sweep_cutoff', 'Real', default = '3.7',
4661  desc="Interaction cutoff distance from arginine to ligand when performing arginine sweep interface detection."),
4662  Option('cut1','Real', default = '0.0',
4663  desc="option to specify redesign cutoff 1 in enzdes calculation"),
4664  Option('cut2','Real', default = '0.0',
4665  desc="option to specify redesign cutoff 2 in enzdes calculation"),
4666  Option('cut3','Real', default = '10.0',
4667  desc="option to specify repack cutoff 1 in enzdes calculation"),
4668  Option('cut4','Real', default = '10.0',
4669  desc="option to specify repack cutoff 2 in enzdes calculation"),
4670  Option('lig_packer_weight','Real', default = '1.0',
4671  desc="specifies the weights for protein ligand interaction during packing (and only packing!! )"),
4672  Option('no_unconstrained_repack', 'Boolean', default = 'false',
4673  desc="no unconstrained repacking after the design stage"),
4674  Option('secmatch_Ecutoff', 'Real', default = '1.0',
4675  desc="the maximum constraint energy at which a residue is accepted in the secondary matcher"),
4676  Option('change_lig','File', default = 'ligchange_file.txt',
4677  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."),
4678  Option('process_ligrot_separately','String', default = 'default_lig',
4679  desc="In the EnzdesFixBB protocol, causes the protocol to be executed separately for all non_bb clashing ligand rotamers."),
4680  Option('start_from_random_rb_conf','Boolean', default = 'false',
4681  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."),
4682  Option('bb_bump_cutoff','Real', default = '2.0',
4683  desc="option to specify the maximum allowed backbone energie when replacing a new residue type"),
4684  Option('sc_sc_bump_cutoff','Real', default = '2.0',
4685  desc="option to specify the maximum allowed energy between two newly placed sidechains in the secondary matcher"),
4686  Option('no_packstat_calculation','Boolean', default = 'false',
4687  desc="will determine whether the computationally intensive packstat calculation will be done at the end of a run"),
4688  Option('compare_native','String', default = './',
4689  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"),
4690  Option('final_repack_without_ligand','Boolean', default = 'false',
4691  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."),
4692  Option('dump_final_repack_without_ligand_pdb','Boolean', default = 'false',
4693  desc="If option -final_repack_without_ligand is active, this option will cause the repacked structure to be separately dumped."),
4694  Option('parser_read_cloud_pdb','Boolean', default = 'false',
4695  desc="read cloud format PDB for enzdes in rosetta scripts"),
4696  ), # -enzdes
4697 
4698  Option_Group( 'fast_loops',
4699  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' ),
4700  Option( 'nr_scored_sampling_passes', 'Integer',desc='good windows go into scored-sampling N times', default='4' ),
4701  Option( 'nr_scored_fragments', 'Integer',desc='scored loops sampled per good window each pass', default='20' ),
4702  Option( 'min_breakout_good_loops', 'Integer',desc='stop doing scored sampling if N or more good loops have been found', default='5' ),
4703  Option( 'min_breakout_fast_loops', 'Integer',desc='stop doing fast sampling if N or more good loops have been found', default='80' ),
4704  Option( 'min_good_loops', 'Integer',desc='treat as failure if less good-loops than', default='0' ),
4705  Option( 'min_fast_loops', 'Integer',desc='treat as failure if less fast-loops than', default='3' ),
4706  Option( 'vdw_delta', 'Real', desc='accept as good loop if vdw-score < vdw-score-start+vdw-delta', default='0.5' ),
4707  Option( 'give_up', 'Integer',desc='if N scored_frag_attemps didnt give any good loop -- jump out', default='1000' ),
4708  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'),
4709  Option( 'fragsample_score', 'File', desc='Scorefunction used durgin scored-frag sampling', default='loop_fragsample.wts' ),
4710  Option( 'fragsample_patch', 'File', desc='Patch weights for scorefunction used during scored-frag sampling' ),
4711  Option( 'overwrite_filter_scorefxn', 'File', desc='force Scorefunction to be used during filter stage (instead last score of sampling protocol)' ),
4712  Option( 'patch_filter_scorefxn', 'File', desc='apply patch to Scorefunction used during filter stage' ),
4713  Option( 'filter_cst_file', 'File', desc='use these constraints to filter loops --- additional to whatever is in pose already' ),
4714  Option( 'filter_cst_weight', 'Real', desc='weight for constraints versus normal score (might contain additional constraints)', default='1.0' ),
4715  Option( 'fast_relax_sequence_file', 'File', desc='use this FastRelax protocol for loop-selection'),
4716  ), # -fast_loops
4717 
4718 # Option_Group( 'fldsgn',
4719 # Option( 'view', 'Boolean', desc='viewing pose during protocol' ),
4720 # Option( 'blueprint', 'FileVector', default=['blueprint'], desc="blueprint filename(s). "),
4721 # Option( 'dr_cycles', 'Integer', desc="design-refine cycles", default='3' ),
4722 # Option( 'centroid_sfx', 'String', desc="filename of the centroid score function to use," ),
4723 # Option( 'centroid_sfx_patch', 'String', desc="filename of the centroid score function patch to use," ),
4724 # Option( 'fullatom_sfx', 'String', desc="filename of the full-atom score function to use" ),
4725 # Option( 'fullatom_sfx_patch', 'String', desc="filename of the full-atom score function patch to use" ),
4726 # Option( 'run_flxbb', 'Integer', desc='run flxbb at the given stage' ),
4727 # ), # -fldsgn
4728 
4729  Option_Group( 'flexpack',
4730  Option_Group( 'annealer',
4731  Option( 'inner_iteration_scale', 'Real', desc="Scale up or down the number of inner iterations in the flexpack annealer"),
4732  Option( 'outer_iteration_scale', 'Real', desc="Scale up or down the number of outer iterations in the flexpack annealer"),
4733  Option( 'fixbb_substitutions_scale', 'Real', desc="Scale up or down the number of fixed-backbone rotamer substitutions in the flexpack annealer"),
4734  Option( 'pure_movebb_substitutions_scale', 'Real', desc="Scale up or down the number of backbone moves"),
4735  Option( 'rotsub_movebb_substitutions_scale', 'Real', desc="Scale up or down the number of rotamer substitions with backbone moves"),
4736  ), # -flexpack:annealer
4737  ), # -flexpack
4738 
4739  # FlexPepDocking Options -----------------------------------------------------------
4740  Option_Group( 'flexPepDocking',
4741  Option( 'params_file', 'String',
4742  desc='parameters file that describe the complex details, like anchor residues, etc.' ),
4743  Option( 'peptide_anchor', 'Integer',
4744  desc='Set the peptide anchor residue mannualy (instead of using the center of mass', lower='1', default='1' ),
4745  Option( 'receptor_chain', 'String',
4746  desc='chain-id of receptor protein'),
4747  Option( 'peptide_chain', 'String',
4748  desc='chain-id of peptide protein'),
4749  Option( 'pep_fold_only', 'Boolean',
4750  desc="Only fold a peptide, without docking (no input receptor is expected in this case).",
4751  default = 'false' ),
4752  Option( 'lowres_abinitio', 'Boolean',
4753  desc="Do a preemptive ab-initio low-resolution peptide docking",
4754  default = 'false' ),
4755  Option( 'lowres_preoptimize', 'Boolean',
4756  desc="Do a preemptive optimization in low resolution",
4757  default = 'false' ),
4758  Option( 'flexPepDockingMinimizeOnly', 'Boolean',
4759  desc="Just do simple minimization on input structure",
4760  default = 'false' ),
4761  Option( 'extend_peptide', 'Boolean',
4762  desc="start the protocol with the peptide in extended conformation",
4763  default = 'false' ),
4764  Option( 'place_peptide_on_binding_site', 'Boolean',
4765  desc="places peptide on the binding using SiteConstraints",
4766  default = 'false' ),
4767  Option( 'sample_pcs', 'Integer',
4768  desc="number of principle components to use for initial peptide placement and flipping",
4769  lower='0', default = '0' ),
4770  Option( 'SlideIntoContact', 'Boolean',
4771  desc="Slides peptide toward or away from receptor to remove clashes",
4772  default = 'false' ),
4773  Option( 'recalculate_foldtree', 'Boolean',
4774  desc="recalculates foldtree after random RB perturbation",
4775  default = 'false' ),
4776  Option( 'pep_refine', 'Boolean',
4777  desc="High-resolution peptide refinement over receptor surface, equivalent to the obsolete -rbMCM -torsionsMCM flags",
4778  default = 'false' ),
4779  Option( 'rbMCM', 'Boolean',
4780  desc="Do rigid body mcm in the main loop of the protocol (obsolete)",
4781  default = 'false' ),
4782  Option( 'torsionsMCM', 'Boolean',
4783  desc="Do torsions (small/shear mcm in the main loop of the protocol (obsolete)",
4784  default = 'false' ),
4785  Option( 'peptide_loop_model', 'Boolean',
4786  desc="Do cycles of random loop modeling to peptide backbone",
4787  default = 'false' ),
4788  Option( 'backrub_peptide', 'Boolean',
4789  desc="Adds a backrub stage to the protocol",
4790  default = 'false' ),
4791  Option( 'boost_fa_atr', 'Boolean',
4792  desc="while ramping up the fa_rep, start from high atr and lower to normal",
4793  default = 'true' ),
4794  Option( 'ramp_fa_rep', 'Boolean',
4795  desc="Whether to ramp the full-atom repulsive score during the protocol",
4796  default= 'true' ),
4797  Option( 'ramp_rama', 'Boolean',
4798  desc="Whether to ramp the Ramachandran score during the protocol",
4799  default= 'false' ),
4800  Option( 'flexpep_score_only', 'Boolean',
4801  desc="just reads in the pose and scores it",
4802  default = 'false' ),
4803  Option('ref_startstruct', 'File',
4804  desc='Alternative start structure for scoring statistics, instead of the original start structure (useful as reference for rescoring previous runs)'
4805  ),
4806  Option( 'use_cen_score', 'Boolean',
4807  desc="when in score_only mode, uses centroid weights to score",
4808  default = 'false' ),
4809  Option( 'design_peptide', 'Boolean',
4810  desc="Add a desing stage to each cycle of the RB-torsions perturbations",
4811  default = 'false' ),
4812  Option( 'rep_ramp_cycles', 'Integer',
4813  desc='Number of cycles for the ramping up of repulsion term',
4814  lower='0', default='10' ),
4815  Option( 'mcm_cycles', 'Integer',
4816  desc='Number of cycles for the mcm procedures (rb/torsions)',
4817  lower='0', default='8' ),
4818  Option( 'random_phi_psi_preturbation','Real',
4819  desc="Size of random perturbation of peptide's phi/psi",
4820  lower='0.0', default = '0.0' ),
4821  Option( 'smove_angle_range','Real',
4822  desc="Defines the perturbations size of small/sheer moves",
4823  lower='0.0', default = '6.0' ),
4824  Option( 'min_receptor_bb', 'Boolean',
4825  desc="Whether to include protein backbone in minimization",
4826  default='false' ),
4827  Option( 'random_trans_start','Real',
4828  desc="Size of random perturbation of peptide's rigid body translation",
4829  lower='0.0', default = '0.0' ),
4830  Option( 'random_rot_start','Real',
4831  desc="Size of random perturbation of peptide's rigid body rotation",
4832  lower='0.0', default = '0.0' ),
4833  Option( 'flexpep_prepack','Boolean',
4834  desc="Prepack an initial structure and exit",
4835  default = 'false' ),
4836  Option('flexpep_noprepack1', 'Boolean',
4837  short='Do not prepack the side-chains of partner 1 ( = globular protein ).',
4838  desc='Do not repack the side-chains of partner 1 ( = globular protein).',
4839  default='false'
4840  ),
4841  Option('flexpep_noprepack2', 'Boolean',
4842  short='Do not prepack the side-chains of partner 2 ( = peptide).',
4843  desc='Do not repack the side-chains of partner 2 ( = peptide).',
4844  default='false'
4845  ),
4846  Option('score_filter', 'Real',
4847  short='Only output decoys with scores lower than this filter.',
4848  desc='Only output decoys with scores lower than this filter.',
4849  default = '10000.0' ),
4850  Option('hb_filter', 'Integer',
4851  short='Only output decoys with more h-bonds than this filter.',
4852  desc='Only output decoys with more h-bonds than this filter.',
4853  lower='0', default = '0' ),
4854  Option('hotspot_filter', 'Integer',
4855  short='Only output decoys with more hotspots than this filter.',
4856  desc='Only output decoys with more hotspots than this filter.',
4857  lower='0', default = '0' ),
4858  Option('frag5', 'String', desc="5-mer fragments for ab-initio flexPepDock" ),
4859  Option('frag9_weight', 'Real',
4860  desc='Relative weight of 9-mers in ab-initio',
4861  lower='0', default='0.1'),
4862  Option('frag5_weight', 'Real',
4863  desc='relative weight of 5-mers in ab-initio',
4864  lower='0', default='0.25'),
4865  Option('frag3_weight', 'Real',
4866  desc='Relative weight of 3-mers in ab-initio',
4867  lower='0', default='1.0'),
4868  Option('pSer2Asp_centroid', 'Boolean',
4869  desc='convert pSer to Asp during centroid mode',
4870  default='false'),
4871  Option('pSer2Glu_centroid', 'Boolean',
4872  desc='convert pSer to Glu during centroid mode',
4873  default='false'),
4874  Option('dumpPDB_abinitio', 'Boolean',
4875  desc='dump PDB during Monte-Carlo ab-initio',
4876  default='false'),
4877  Option('dumpPDB_lowres', 'Boolean',
4878  desc='dump PDB during Monte-Carlo low-res',
4879  default='false'),
4880  Option('dumpPDB_hires', 'Boolean',
4881  desc='dump PDB during Monte-Carlo hi-res',
4882  default='false'),
4883  ), # -flexPepDocking
4884 
4885  #################################FloppyTail####################################################
4886  Option_Group( 'FloppyTail',
4887  Option( 'flexible_start_resnum', 'Integer', desc='starting residue for the flexible region, using PDB numbering', default='180'),
4888  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'),
4889  Option( 'flexible_chain', 'String', desc='chain ID for flexible region', default='C'),
4890  Option( 'shear_on', 'Real', desc='fraction of perturb moves when shear turns on (0.5 = halfway through)', default='1.0/3.0'),
4891  Option( 'pair_off', 'Boolean', desc='turn off Epair electrostatics term. Used once for a simple side experiment, not meant for general use.', default='false'),
4892  Option( 'publication', 'Boolean', desc='output statistics used in publication. TURN OFF if not running publication demo.', default='false'),
4893  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'),
4894  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'),
4895  Option( 'debug', 'Boolean', desc='debug mode (extra checks and pdb dumps)', default='false' ),
4896  Option( 'cen_weights', 'String', desc = 'Use a different/custom scorefunction for centroid step'),
4897  Option( 'perturb_show', 'Boolean', desc='dump perturbed centroid pdbs as well as final results', default='false' ),
4898  Option( 'perturb_cycles', 'Integer', desc='perturbation phase runs for <input> cycles', default = '5' ),
4899  Option( 'perturb_temp', 'Real', desc='perturbation phase temperature for monte carlo', default = '0.8' ),
4900  Option( 'refine_cycles', 'Integer', desc='refinement phase runs for <input> cycles', default = '5' ),
4901  Option( 'refine_temp', 'Real', desc='refinement phase temperature for monte carlo', default = '0.8' ),
4902  Option( 'refine_repack_cycles', 'Integer', desc='refinement phase runs repack every <input> cycles', lower = '2', default = '20' ),
4903  Option_Group( 'short_tail',
4904  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'),
4905  Option( 'short_tail_off', 'Real', desc='fraction of refine cycles where movemap reverts to full tail (0.5 = halfway through)', default='0.0'),
4906  ),
4907  ), # -FloppyTail
4908 
4909  Option_Group( 'flxbb',
4910  Option( 'view', 'Boolean', desc='viewing pose during protocol' ),
4911  Option( 'ncycle', 'Integer', desc='number of cycles of design and relax' ),
4912  Option( 'constraints_sheet', 'Real', desc='weight constraints between Ca atoms in beta sheet' ),
4913  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' ),
4914  Option( 'constraints_NtoC', 'Real', desc='weight constraints between N- and C- terminal CA atoms' ),
4915  Option( 'filter_trial', 'Integer', desc="number of filtering trial " ),
4916  Option( 'filter_type', 'String', desc="filter type name, currently only packstat is available" ),
4917 # Option( 'exclude_Met', 'Boolean', desc="do not use Met for design" ),
4918 # Option( 'exclude_Ala', 'Boolean', desc="do not use Ala for design" ),
4919  Option( 'blueprint', 'File', desc='blueprint file ' ),
4920  Option( 'movemap_from_blueprint', 'Boolean', desc='viewing pose during protocol' ),
4921  Option_Group( 'layer',
4922  Option( 'layer', 'String',
4923  desc='design core, boundary, and surface with different aa types', default='normal'
4924  ),
4925 # Option( 'pore_radius', 'Real',
4926 # desc="sphere radius for sasa calculation",
4927 # ),
4928 # Option( 'burial', 'Real',
4929 # desc="surface area when residues regarded as core ",
4930 # ),
4931 # Option( 'surface', 'Real',
4932 # desc="surface area when residues regarded as surface ",
4933 # ),
4934  ), # -flxbb:layer
4935  ), # -flxbb
4936 
4937  Option_Group( 'fold_and_dock',
4938  Option( 'move_anchor_points','Boolean', desc="move the anchor points that define symmetric coordinate system during symmetry fragment insertion", default='false'),
4939  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'),
4940  Option( 'rotate_anchor_to_x','Boolean', desc="rotate the anchor residue to the x-axis before applying rigid body transformations", default='true'),
4941  Option ('trans_mag_smooth', 'Real', desc = 'translation perturbation size for smooth refinement', default='0.1'),
4942  Option ('rot_mag_smooth', 'Real', desc = 'rotational perturbation size for smooth refinement', default='1.0'),
4943  Option ('rb_rot_magnitude', 'Real', desc = 'rotational perturbation size for rigid body pertubations', default='8.0'),
4944  Option ('rb_trans_magnitude', 'Real', desc = 'translational perturbation size rigid body pertubations', default='3.0'),
4945  Option ('rigid_body_cycles', 'Integer', desc ='number of rigid bosy cycles during fold and dock fragment insertion', default='50' ),
4946  Option ('move_anchor_frequency', 'Real', desc = 'Frequency of slide-anchor moves', default='1.0'),
4947  Option ('rigid_body_frequency', 'Real', desc = 'The fraction of times rigid body cycles are applied during fragment assembly moves', default='0.2'),
4948  Option( 'rigid_body_disable_mc','Boolean', desc="Dissallow moves to be accepted locally by MC criteria within the rigid body mover ", default='false'),
4949  Option ('slide_contact_frequency', 'Real', desc = 'The fraction of times subunits are slided together during fragment assembly moves', default='0.1'),
4950  ), # -fold_and_dock
4951 
4952  Option_Group( 'fold_cst',
4953  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' ),
4954  Option( 'violation_skip_basis', 'Integer', desc='local skip_rate is viol/base', default='100' ),
4955  Option( 'violation_skip_ignore', 'Integer', desc='no skip for numbers below this level', default='10' ),
4956  Option( 'keep_skipped_csts', 'Boolean', desc='final score only with active constraints', default='false'),
4957  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' ),
4958  Option( 'force_minimize', 'Boolean', desc='Minimization moves in fold_constraints protocol also if no constraints present', default='false' ),
4959  Option( 'seq_sep_stages', 'RealVector', desc='give vector with sequence_separation after stage1, stage3 and stage4', default='0' ),
4960  Option( 'reramp_cst_cycles', 'Integer', desc='in stage2 do xxx cycles where atom_pair_constraint is ramped up', default='0' ),
4961  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' ),
4962  Option( 'reramp_iterations', 'Integer', desc='do X loops of annealing cycles', default='1' ),
4963  Option( 'skip_on_noviolation_in_stage1', 'Boolean', desc='if constraints report no violations --- skip cycles', default='false' ),
4964  Option( 'stage1_ramp_cst_cycle_factor', 'Real', desc='spend x*<standard cycles> on each step of sequence separation', default='0.25' ),
4965  Option( 'stage2_constraint_threshold', 'Real', desc='stop runs that violate this threshold at end of stage2', default='0' ),
4966  Option( 'ignore_sequence_seperation', 'Boolean', desc='usually constraints are switched on according to their separation in the fold-tree', default='false' ),
4967  Option( 'no_recover_low_at_constraint_switch', 'Boolean', desc='dont recover low when max_seq_sep is increased', default='false' ),
4968  Option( 'ramp_coord_cst', 'Boolean', desc='ramp coord csts just like chainbreak-weights during fold-cst', default='false' ),
4969  ), # -fold_cst
4970 
4971  # fold from loops
4972  Option_Group('fold_from_loops',
4973  Option ('native_ca_cst', 'Boolean', desc = 'derive constraints from the native topology', default ='false'),
4974  Option('swap_loops','File', desc='pdb of the target loops ', default='--'),
4975  Option( 'checkpoint', 'String', desc = 'write/read checkpoint files for nstruct. Provide a checkpoint filename after this option.', default=''),
4976  Option ('ca_csts_dev', 'Real', desc = 'standard deviation allowed to each constraint', default='0.5'),
4977  Option ('add_relax_cycles', 'Integer', desc ='additional relax cycles', default='2' ),
4978  Option ('loop_mov_nterm', 'Integer', desc ='Movable region inside the provided loop(nterm)', default='0' ),
4979  Option ('loop_mov_cterm', 'Integer', desc ='Moveable region inside the provided loop(cterm)', default='0' ),
4980  Option ('ca_rmsd_cutoff', 'Real', desc = 'Filter the decoys to pass the relax-design stage ', default='5.0'),
4981  Option ('res_design_bs', 'IntegerVector', desc='enumerate the residues to be designed within the fixed binding site' ),
4982  Option ('clear_csts','File', desc='input loops file with ranges free of CA csts', default='--'),
4983  Option ('output_centroid','Boolean',desc='output centroid structures befor the design stage', default = 'false'),
4984  Option ('add_cst_loop','Boolean',desc='add CA csts of motif to constraint set', default = 'false'),
4985  ), # -fold_from_loops
4986 
4987 ## -------------------------- FRAGMENT PICKING --------------
4988  Option_Group( 'frags',
4989  Option( 'j', 'Integer', desc='Number of threads to use'),
4990  Option( 'filter_JC', 'Boolean',
4991  desc='Filter J-coupling values in the dynamic range ', default='false'),
4992 
4993  Option( 'bounded_protocol', 'Boolean',
4994  desc = 'makes the picker use bounded protocol to select fragments. This is teh default behavior',
4995  default = 'true'
4996  ),
4997  Option( 'keep_all_protocol', 'Boolean',
4998  desc = 'makes the picker use keep-all protocol to select fragments. The default is bounded protocol',
4999  default = 'false'
5000  ),
5001  Option( 'quota_protocol', 'Boolean',
5002  desc = 'quota protocol implies the use of a QuotaCollector and a QuotaSelelctor, no matter what user set up by other flags.',
5003  default = 'false'),
5004  Option(
5005  'nonlocal_pairs', 'Boolean',
5006  desc = 'identifies and outputs nonlocal fragment pairs.',
5007  default = 'false'
5008  ),
5009  Option( 'fragment_contacts', 'Boolean',
5010  desc = 'identifies and outputs fragment contacts.',
5011  default = 'false'
5012  ),
5013  Option( 'p_value_selection', 'Boolean',
5014  desc = 'the final fragment selection will b based on p-value rather than on a total score for the given fragment',
5015  default = 'false'),
5016 
5017  Option( 'n_frags', 'Integer',
5018  desc = 'number of fragments per position',
5019  default = '200'
5020  ),
5021  Option( 'allowed_pdb', 'File',
5022  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",
5023  ),
5024  Option( 'ss_pred', 'StringVector',
5025  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.',
5026  ),
5027  Option( 'spine_x', 'File',
5028  desc = "provides phi and psi torsion angle predictions and solvent accessibility prediction from Spine-X",
5029  ),
5030  Option( 'depth', 'File',
5031  desc = "provides residue depth values from DEPTH",
5032  ),
5033  Option( 'denied_pdb', 'File',
5034  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.",
5035  ),
5036  Option( 'frag_sizes', 'IntegerVector',
5037  desc = 'sizes of fragments to pick from the vall',
5038  default = ['9','3','1'],
5039  ),
5040  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'),
5041  Option( 'write_scores', 'Boolean', desc='Fragment picker will write scores in output fragment files.', default='false' ),
5042  Option( 'annotate', 'Boolean', desc='read the annotation from the rosetta++ fragment file', default='false' ),
5043  Option( 'nr_large_copies', 'Integer', desc='make N copies for each standard 9mer (or so) fragment', default='1' ),
5044 
5045  Option( 'n_candidates', 'Integer',
5046  desc = 'number of fragment candidates per position; the final fragments will be selected from them',
5047  default = '200'
5048  ),
5049  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'),
5050  Option( 'rama_C', 'Real', desc='Constant in RamaScore equation, command line is for optimization tests', default='0.0'),
5051  Option( 'rama_B', 'Real', desc='Constant in RamaScore equation, command line is for optimization tests', default='1.0'),
5052  Option( 'sigmoid_cs_A', 'Real', desc='Constant in CSScore equation, command line is for optimization tests', default='2.0'),
5053  Option( 'sigmoid_cs_B', 'Real', desc='Constant in CSScore equation, command line is for optimization tests', default='4.0'),
5054  Option( 'seqsim_H', 'Real', desc='Secondary structure type prediction multiplier, for use in fragment picking', default='1.0'),
5055  Option( 'seqsim_E', 'Real', desc='Secondary structure type prediction multiplier, for use in fragment picking', default='1.0'),
5056  Option( 'seqsim_L', 'Real', desc='Secondary structure type prediction multiplier, for use in fragment picking', default='1.0'),
5057  Option( 'rama_norm', 'Real', desc='Used to multiply rama table values after normalization, default (0.0) means use raw counts (unnormalized)', default='0.0'),
5058  Option( 'describe_fragments','String',desc='Writes scores for all fragments into a file', default=''),
5059  Option( 'picking_old_max_score', 'Real', desc='maximal score allowed for fragments picked by the old vall (used by RosettaRemodel).', default='1000000.0'),
5060  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'),
5061  Option( 'output_silent', 'Boolean', desc='Fragment picker will output fragments into a silent file.', default='false'),
5062  Option( 'output_index', 'Boolean', desc='Fragment picker will output fragments into an index file.', default='false'),
5063  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'),
5064 
5065  Option_Group( 'scoring',
5066  Option('config', 'File', desc = 'scoring scheme used for picking fragments', default = '', ),
5067  Option('profile_score', 'String', desc = 'scoring scheme used for profile-profile comparison', default = 'L1', ),
5068 # Option( 'predicted_secondary', 'FileVector',
5069 # desc = 'provides one or more files with secondary structure prediction, to be used by secondary structure scoring and quota selector',
5070 # default = '',
5071 # ),
5072  ), # -frags:scoring
5073 
5074  Option_Group( 'picking',
5075  Option( 'selecting_rule', 'String',
5076  desc = 'the way how fragments are selected from candidates, e.g. QuotaSelector of BestTotalScoreSelector',
5077  default = 'BestTotalScoreSelector',
5078  legal=['QuotaSelector','BestTotalScoreSelector'],
5079  ),
5080  Option( 'selecting_scorefxn', 'String',
5081  desc = 'in the case user chose BestTotalScoreSelector to be used, this option provides a custom scoring function to be used at the selection step',
5082  ),
5083  Option( 'quota_config_file', 'File',
5084  desc = 'provides a configuration file for quota selector',
5085  ),
5086  Option( 'query_pos','IntegerVector',
5087  desc = 'provide sequence position for which fragments will be picked. By default fragments are picked for the whole query sequence',
5088  ),
5089  ), # -frags:picking
5090 
5091  Option_Group( 'nonlocal',
5092  Option( 'relax_input', 'Boolean',
5093  desc = 'relax input before running protocol' ),
5094  Option( 'relax_input_with_coordinate_constraints', 'Boolean',
5095  desc = 'relax input with coordinate constraints before running protocol' ),
5096  Option( 'relax_frags_repeats', 'Integer',
5097  desc = 'relax repeats for relaxing fragment pair' ),
5098  Option( 'single_chain', 'Boolean',
5099  desc = 'non-local fragment pairs will be restricted to the same chain' ),
5100  Option( 'min_contacts_per_res', 'Real',
5101  desc = 'minimum contacts per residue in fragment to be considered a fragment pair', default = '1.0' ),
5102  Option( 'max_ddg_score', 'Real',
5103  desc = 'maximum DDG score of fragment pair' ),
5104  Option( 'max_rmsd_after_relax', 'Real',
5105  desc = 'maximum rmsd of fragment pair after relax' ),
5106  Option( 'output_frags_pdbs', 'Boolean',
5107  desc = 'output non-local fragment pair PDBs' ),
5108  Option( 'output_idealized', 'Boolean',
5109  desc = 'output an idealized pose which can be used for generating a new VALL' ),
5110  Option( 'output_silent', 'Boolean',
5111  desc = 'output non-local fragment pairs silent file', default = 'true' ),
5112  ), # -frags:nonlocal
5113 
5114  Option_Group( 'contacts',
5115  Option( 'min_seq_sep', 'Integer',
5116  desc = 'minimum sequence separation between contacts', default = '12' ),
5117  Option( 'dist_cutoffs', 'RealVector', default = ['9.0'], desc = 'distance cutoffs to be considered a contact. contact counts will only be saved.' ),
5118  Option( 'centroid_distance_scale_factor', 'Real', default = '1.0', desc = 'Scaling factor for centroid distance cutoffs.' ),
5119  Option( 'type', 'StringVector',
5120  desc='Atom considered for contacts',
5121  legal = ['ca','cb','cen'], default='utility::vector1<std::string>(1,"ca")'
5122  ),
5123  Option( 'neighbors', 'Integer',
5124  desc = 'number of adjacent residues to a contact for finding neighboring contacts', default = '0' ),
5125  Option( 'output_all', 'Boolean', desc = 'output all contacts', default = 'false' ),
5126  ), # -frags:contacts
5127 
5128  Option_Group( 'ABEGO',
5129  Option( 'phi_psi_range_A' , 'Real', desc = 'Further filter phi&psi during frag picking process in design', default = '999.0'),
5130  ), # -frags:ABEGO
5131  ), # -frags
5132 ## -------------------------- END OF fragment picking --------------
5133 
5134  # rosetta holes settings -----------------------------------------------------------
5135  Option_Group( 'holes',
5136  Option('dalphaball','File', desc="The DAlaphaBall_surf program"),
5137  Option('params','File', desc="File containing score parameters",default="holes_params.dat"),
5138  Option('h_mode','Integer', desc="include H's or no... see PoseBalls.cc",default="0"),
5139  Option('water','Boolean', desc="include water or no",default="false"),
5140  Option('make_pdb' ,'Boolean', desc="make pdb with scores",default="false"),
5141  Option('make_voids' ,'Boolean', desc="do separate SLOW void calculation",default="false"),
5142  Option('atom_scores' ,'Boolean', desc="output scores for all atoms",default="false"),
5143  Option('residue_scores','Boolean', desc="output scores for all residues (avg over atoms)",default="false"),
5144 # Option('cav_shrink' ,'Real' , desc="Cavity ball radii reduced by this amount",default="0.7"),
5145  Option('minimize' ,'String' , desc="RosettaHoles params to use: decoy15, decoy25 or resl",default="decoy15"),
5146  Option('debug' ,'Boolean' , desc="dump debug output",default="false"),
5147  ), # -holes
5148 
5149  ## options for hotspot hashing
5150  Option_Group( 'hotspot',
5151  Option( 'allow_gly', 'Boolean', desc='Allow glycines in hotspot hashing constraints?', default = 'false' ),
5152  Option( 'allow_proline', 'Boolean', desc='Allow prolines in hotspot hashing constraints?', default = 'false' ),
5153  Option( 'benchmark', 'Boolean', desc='Score existing interface?', default = 'false'),
5154  Option( 'residue', 'StringVector', desc='mini residue name3 to use for hotspot hashing', default = 'utility::vector1<std::string>(1,"ALL")'),
5155  Option( 'hashfile', 'File', desc='Existing hotspot hash file.'),
5156  Option( 'target', 'File', desc='Target PDB of the hotspot hash. Used for both de novo hashing and making hash density maps.'),
5157  Option( 'target_res', 'Integer', desc='Rosetta residue number of interest on the target PDB. Used for targeted hashing'),
5158  Option( 'target_dist', 'Real', desc='Tolerated distance from the target residue. Used for targeted hashing', default='20' ),
5159  Option( 'density', 'File', desc='Filename to write *unweighted* hotspot density (compared to -target PDB).'),
5160  Option( 'weighted_density', 'File', desc='Filename to write *score weighted* hotspot density (compared to -target PDB).'),
5161  Option( 'rms_target', 'File', desc='Filename to write best rms of hotspot to target complex. Suitable for pymol data2b_res'),
5162  Option( 'rms_hotspot', 'File', desc='Filename to write best rms of hotspot to target complex. Suitable for rms vs E scatter plots.'),
5163  Option( 'rms_hotspot_res', 'Integer', desc='Rosetta residue # to use for calculating rms_hotspot.'),
5164  Option( 'rescore', 'Boolean', desc='Rescore hotspots from -hashfile based on the supplied -target PDB.', default='false'),
5165  Option( 'threshold', 'Real', desc='Score threshold for hotspot accepts. Found hotspots must be better than or equal to threshold', default='-1.0' ),
5166  Option( 'sc_only', 'Boolean', desc='Make backbone atoms virtual to find sidechain-only hotspots?', default='true'),
5167  Option( 'fxnal_group', 'Boolean', desc='Only use a stubs functional group for rmsd calculations.', default='true'),
5168  Option( 'cluster', 'Boolean', desc='Cluster stubset. Will take place before colonyE.', default='false'),
5169  Option( 'colonyE', 'Boolean', desc='Rescore hotspots from -hashfile based on colony energy.', default='false'),
5170  Option( 'length', 'Integer', desc='Length of hotspot peptide to use for hashing. Sidechain-containing group will be in the center.', default='1'),
5171  Option( 'envhb', 'Boolean', desc='Use environment dependent Hbonds when scoring hotspots.', default='false'),
5172  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' ),
5173  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' ),
5174  ), # -hotspot
5175 
5176  Option_Group( 'indexed_structure_store',
5177  Option( 'fragment_store', 'File', desc='Fragment store. [.h5] file'),
5178  Option( 'fragment_threshold_distance', 'Real', desc='sets the fragment threshold distance when being read in by the VallLookback score function',default = '0.4'),
5179  ), # -indexed_structure_store
5180  Option_Group( 'lh',
5181 # Option( 'db_prefix', 'String', default = 'loopdb', desc='stem for loop database' ),
5182  Option( 'loopsizes', 'IntegerVector', default = ['10','15','20'] , desc='Which loopsizes to use' ),
5183  Option( 'num_partitions', 'Integer', default = '1', desc='Number of partitions to split the database into'),
5184  Option( 'db_path', 'Path', default = '', desc = 'Path to database' ),
5185  Option( 'exclude_homo', 'Boolean', default = 'false', desc = 'Use a homolog exclusion filter' ),
5186  Option( 'bss', 'Boolean', default = 'false', desc = 'Use BinaryProteinSilentStruct instead of ProteinSilentStruct (needed for nonideal)' ),
5187  Option( 'refstruct', 'String', default = '', desc = 'File with a target reference structure' ),
5188  Option( 'homo_file', 'String', default = '', desc = 'File containing homologs to exclude' ),
5189  Option( 'createdb_rms_cutoff', 'RealVector', default = ['0','0','0'], desc = 'RMS cutoff used for throwing out similar fragments.' ),
5190  Option( 'min_bbrms', 'Real', default='20.0' ),
5191  Option( 'max_bbrms', 'Real', default='1400.0' ),
5192  Option( 'min_rms' , 'Real', default='0.5' ),
5193  Option( 'max_rms' , 'Real', default='4.0' ),
5194  Option( 'filter_by_phipsi', 'Boolean', default = 'true' ),
5195  Option( 'max_radius' , 'Integer', default='4' ),
5196  Option( 'max_struct' , 'Integer', default='10' ),
5197  Option( 'max_struct_per_radius' , 'Integer', default='10' ),
5198  Option( 'grid_space_multiplier' , 'Real', default = '1' ),
5199  Option( 'grid_angle_multiplier' , 'Real', default = '2.5' ),
5200  Option( 'skim_size', 'Integer', default='100' ),
5201  Option( 'rounds', 'Integer', default='100' ),
5202  Option( 'jobname', 'String', desc = 'Prefix (Ident string) !', default = 'default' ),
5203  Option( 'max_lib_size', 'Integer', default = '2' ),
5204  Option( 'max_emperor_lib_size', 'Integer', default = '25' ),
5205  Option( 'max_emperor_lib_round', 'Integer', default = '0' ),
5206  Option( 'library_expiry_time', 'Integer', default = '2400' ),
5207  Option( 'objective_function', 'String', desc = 'What to use as the objective function', default='score' ),
5208  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' ),
5209  Option( 'mpi_resume', 'String', desc = 'Prefix (Ident string) for resuming a previous job!'),
5210  Option( 'mpi_feedback', 'String', default = 'no',
5211  legal=['no','add_n_limit','add_n_replace', 'single_replace', 'single_replace_rounds' ], ),
5212  Option( 'mpi_batch_relax_chunks', 'Integer', default='100' ),
5213  Option( 'mpi_batch_relax_absolute_max', 'Integer', default='300' ),
5214  Option( 'mpi_outbound_wu_buffer_size', 'Integer', default='60' ),
5215  Option( 'mpi_loophash_split_size ', 'Integer', default='50' ),
5216  Option( 'mpi_metropolis_temp', 'Real', default='1000000.0' ),
5217  Option( 'mpi_save_state_interval', 'Integer', default='1200' ),
5218  Option( 'mpi_master_save_score_only', 'Boolean', default = 'true' ),
5219  Option( 'max_loophash_per_structure', 'Integer', default='1' ),
5220  Option( 'prob_terminus_ramapert' , 'Real', default='0.0', desc="Prob. to run ramapert instead of fraginsert on terminus" ),
5221  Option( 'rms_limit', 'Real', default='2.0', desc = 'How to deal with returned relaxed structures' ),
5222  Option( 'similarity_reference', 'Real', default='2.0', desc = 'How to deal with returned relaxed structures' ),
5223  Option( 'centroid_only', 'Boolean', default = 'false', desc = 'false' ),
5224  Option( 'write_centroid_structs', 'Boolean', default = 'false', desc = 'Output raw loophashed decoys as well as relaxed ones' ),
5225  Option( 'write_all_fa_structs', 'Boolean', default = 'false', desc = 'Write out all structures returned from batch relax' ),
5226  Option( 'sandbox', 'Boolean', default = 'false', desc = 'Sand box mode' ),
5227  Option( 'create_db', 'Boolean', default = 'false', desc = 'Make database with this loopsize' ),
5228  Option( 'sample_weight_file', 'File', desc = 'Holds the initial per residue sample weights' ),
5229  Option( 'radius_size', 'Real',default = '2',desc='tune the radius for hypershell'),
5230  # specific for mpi_refinement (above are shared by both loophash & mpi_refinement)
5231  Option( 'max_ref_lib_size', 'Integer', default = '2' ),
5232  Option( 'multi_objective_functions', 'StringVector', desc = 'What to use as the objective function', default='utility::vector1<std::string>(1,"score")' ),
5233  Option( 'additional_objective_functions', 'StringVector', desc = 'What to add for the multi-objective function' ),
5234  Option( 'edensity_weight_for_sampling', 'Real', desc = 'weight for elec_dens_fast in WorkUnit_Samplers', default='0.0' ),
5235  Option( 'mpi_master_schfile', 'String', default = '', desc = 'schedule file'),
5236  Option( 'mpi_master_cpu_weight', 'IntegerVector', default = ['0.0'], desc = 'weight on number of slaves'),
5237  Option( 'mpi_loophash_scan_type', 'String', default='random' ),
5238  Option( 'mpi_read_structure_for_emperor', 'Boolean', default='true' ),
5239  Option( 'mpi_packmin_init', 'Boolean', default='false' ),
5240  Option( 'max_sample_per_structure', 'Integer', default='1' ),
5241  Option( 'loop_string', 'String', default='', desc = 'string to be parsed for loop region, e.g. 1-10,15-20,32-38' ),
5242  Option( 'seg_string', 'String', default='', desc = 'string to be parsed for segment region, e.g. 1-10,15-20,32-38' ),
5243  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'),
5244  Option( 'pert_init_loop', 'Boolean', default='false', desc = 'Try perturbing loops from starting structure at the beginning' ),
5245  Option( 'NMdist', 'Real', default='10.0', desc = 'normalmodemover distance cut'),
5246  Option( 'objective_dominate_cut', 'RealVector', default=['0.0','0.0','3.0'], desc = 'cut for objective function domination'),
5247  Option( 'objective_cut_increment', 'RealVector', default=['0.0','0.0','0.0'], desc = 'objective_dominate_cut increment for every call'),
5248  Option( 'similarity_method', 'String', default='sum' ),
5249  Option( 'similarity_measure', 'String', default='Sscore' ),
5250  Option( 'similarity_tolerance', 'Real', default='0.5' ),
5251  Option( 'parent_selection_kT', 'Real', default='0.2' ),
5252  Option( 'sim_replace_obj', 'String', default='goap' ),
5253  Option( 'ulr_mulfactor', 'Real', default='1.8' ),
5254  Option( 'filter_up_to_maxlib', 'Boolean', default='false' ),
5255  Option( 'minimize_after_nmsearch', 'Boolean', default='false' ),
5256 
5257  Option_Group( 'fragpdb',
5258  Option( 'out_path', 'String', default = '', desc='Path where pdbs are saved' ),
5259  Option( 'indexoffset', 'IntegerVector', desc='list of index offset pairs' , default = ['-1']),
5260  Option( 'bin', 'StringVector', desc='list of bin keys', default = 'utility::vector1<std::string>()' ),
5261  ), # -lh:fragpdb
5262  Option_Group( 'symfragrm',
5263  Option( 'pdblist', 'FileVector', desc='list of pdbs to be processed' ),
5264  ), # -lh:symfragrm
5265  ), # -lh
5266 
5267  Option_Group( 'loopfcst',
5268  Option( 'coord_cst_weight', 'Real', desc='use coord constraints for template', default='0.0' ),
5269  Option( 'coord_cst_all_atom', 'Boolean', desc='use coord constraints on all atoms and not just CA', default='false' ),
5270  Option( 'use_general_protocol', 'Boolean', desc='use the new machinery around classes KinematicXXX', default='false' ),
5271  Option( 'coord_cst_weight_array', 'File', desc='use these weights (per seqpos) for coord cst in rigid regions', default='' ),
5272  Option( 'dump_coord_cst_weight_array', 'File', desc='dump these weights (per seqpos) for coord cst in rigid regions', default='' ),
5273  ), # -loopfcst
5274 
5275  Option_Group( 'LoopModel',
5276  Option( 'input_pdb','File', desc='input pdb file', default='LoopModel::input_pdb' ),
5277 # Option( 'loop_file','File', desc='input loops list file', default='LoopModel::loop_file' ),
5278  ), # -LoopModel
5279 
5280  ## Make Rot Lib Options ##
5281  Option_Group( 'make_rot_lib',
5282  Option( 'options_file', 'File', desc='path to make rot lib options file' ),
5283  Option( 'two_fold_symmetry_135_315', 'IntegerVector', desc='the chi number at which to apply two fold symmetry across the 135/315 axis' ),
5284  Option( 'two_fold_symmetry_0_180' , 'IntegerVector', desc='the chi number at which to apply two fold symmetry across the 0/180 axis' ),
5285  Option( 'three_fold_symmetry_90_210_330' , 'IntegerVector', desc='the chi number at which to apply two fold symmetry across the 0/180 axis' ),
5286  Option( 'use_terminal_residues' , 'Boolean', desc='Use separate ACE and NME residues as terminal capping groups, rather than patches', default='false' ),
5287  Option( 'k_medoids' , 'Boolean', desc='Use k-medoids instead of k-means clustering', default='false' ),
5288  ), # -make_rot_lib
5289 
5290  Option_Group( 'match',
5291  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)" ),
5292  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' ),
5293  Option( 'active_site_definition_by_residue', 'File', desc='File describing the active site of the scaffold as a set of resid/radius pairs' ),
5294  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++' ),
5295  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.' ),
5296  Option( 'grid_boundary', 'File', desc='File describing the volume in space in which the third orientation atom must lie', default = ''),
5297  Option( 'geometric_constraint_file', 'File', desc='File describing the geometry of the downstream object relative to the upstream object' ),
5298  Option( 'scaffold_active_site_residues', 'File', desc="File with the residue indices on the scaffold that should be \
5299  considered as potential launch points for the scaffold's active site. File format described in MatcherTask.cc \
5300  in the details section of the initialize_scaffold_active_site_residue_list_from_command_line() method.", default = ''),
5301  Option( 'scaffold_active_site_residues_for_geomcsts', 'File', desc="File which lists the residue indices on the \
5302  scaffold to consider as potential launch points for the scaffold's active site for each geometric constraint; \
5303  each constraint may have a separate set of residue ids. File format described in MatcherTask.cc in the details \
5304  section of the initialize_scaffold_active_site_residue_list_from_command_line() method.", default = ''),
5305  Option( 'euclid_bin_size', 'Real', desc='The bin width for the 3-dimensional coordinate hasher, in Angstroms', default = '1.0'),
5306  Option( 'euler_bin_size', 'Real', desc='The bin width for the euler angle hasher, in degrees', default = '10.0'),
5307  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'),
5308  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'),
5309  Option( 'orientation_atoms', 'StringVector', desc="The three atoms, by name, on the downstream partner \
5310  to use to describe its 6 dimensional coordinate; its position and orientation. \
5311  Only usable when the downstream partner is a single residue. Exactly 3 atom names must be given. \
5312  If these atoms are unspecified, the matcher will use the residues neighbor atom and two atoms \
5313  bonded to the neighbor atom to define the orientation. The euclidean coordinate of the third \
5314  orientation atom is used as the first the dimensions of the downstream residues 6D coordinate; the \
5315  other three dimensions are the three euler angles described by creating a coordinate frame at orientation \
5316  atom 3, with the z axis along the vector from orientation atom 2 to orientation atom 3, and the y axis \
5317  lying in the plane with orientation atoms 1,2&3."),
5318  Option( 'output_format', 'String', desc='The format in which the matches are output', default = 'CloudPDB', legal = [ 'PDB', 'KinWriter', 'CloudPDB' ] ),
5319  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' ] ),
5320  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' ),
5321  Option( 'output_matchres_only', 'Boolean', desc='Whether to output the matched residues only or the whole pose for every match', default = 'false'),
5322  Option( 'geom_csts_downstream_output', 'IntegerVector', desc='For which of the geometric constraints the downstream residue/ligand will be output', default = ['1']),
5323  Option( 'filter_colliding_upstream_residues', 'Boolean', desc='Filter the output matches if the hits induce a collision between the upstream residues', default = 'true' ),
5324  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' ),
5325  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' ),
5326  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' ),
5327  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' ),
5328  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' ),
5329  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' ),
5330  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' ),
5331  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' ),
5332  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' ),
5333  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' ),
5334  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' ),
5335 
5336  Option( 'define_match_by_single_downstream_positioning', 'Boolean', desc="Enumerate combinations of matches where a \
5337  single positioning of the downstream partner as well as the conformations of the upstream residues defines the \
5338  match; it is significantly faster to enumerate unique matches when they are defined this way instead of enumerating the \
5339  (combinatorially many) matches when a match is defined by n-geometric-constraint locations of the downstream partner. \
5340  This faster technique for outputting matches is automatically chosen when the flag -match::output_format is PDB." ),
5341  Option( 'ligand_rotamer_index', 'Integer', desc="Match with a particular conformation of the ligand; the index \
5342  represents which conformation in the multi-model .pdb file specified in the ligand's .params file by the \
5343  PDB_ROTAMERS field. The index of the first conformation in that file is 1; valid indices range from 1 to \
5344  the number of entries in the multi-model .pdb file. If this command-line flag is not used, then the conformation \
5345  of the ligand described by the ICOOR_INTERNAL lines of the ligand's .params file is used instead." ),
5346  Option( 'enumerate_ligand_rotamers', 'Boolean', desc="Match with all ligand rotamers specified in the multi-model \
5347  .pdb file specified in the ligand's .params file by the PDB_ROTAMERS field. This flag may not be used in \
5348  combination with the match::ligand_rotamer_index flag. Geometry of the ligand rotamers in the .pdb file will \
5349  be idealized to the .params file bond angles and lengths.", default = 'true' ),
5350  Option( 'only_enumerate_non_match_redundant_ligand_rotamers', 'Boolean', desc="Only defined if enumerate_ligand_rotamers is true \
5351  this option causes the matcher to determine which rotamers in the ligand rotamer library are redundant in terms of matching, \
5352  meaning the atoms they're matched through are superimposable. after having subdivided the ligand rotamer library into match-redundant \
5353  subgroups, the matcher will then only place the first nonclashing rotamer from each subgroup. ", default = 'true' ),
5354  Option( 'dynamic_grid_refinement', 'Boolean', desc="When too many hits land in the same 'connected component', requiring the \
5355  enumeration of twoo many matches, refine the grid size to be smaller so that fewer matches have to be enumerated. \
5356  This process works on individual connected components and is not applied to all regions of 6D. This is significantly \
5357  more efficient than enumerating all matches, while allowing the grid size to remain large and the rotamer and external \
5358  geometry to remain dense. (*A connected component refers to " ),
5359  Option( 'build_round1_hits_twice', 'Boolean', desc="Memory saving strategy that avoids paying for the storage of all the round-1 hits \
5360  and instead records only what 6D voxels those hits fall in to. Then the second round of matching proceeds storing only the hits that \
5361  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 \
5362  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 \
5363  classic match algorithm (and must not use secondary matching).", default='false' ),
5364  ), # -match
5365 
5366  Option_Group( 'matdes',
5367  Option('num_subs_building_block', 'Integer', desc='The number of subunits in the oligomeric building block', default='1'),
5368  Option('num_subs_total', 'Integer', desc='The number of subunits in the target assembly', default='1'),
5369  Option('pdbID', 'String', desc='The PDB ID', default='0xxx'),
5370  Option('prefix', 'String', desc='Prefix appended to output PDB files. Perhaps useful to describe the architecture, e.g., 532_3_...', default='pre_'),
5371  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'),
5372  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'),
5373  Option('tag', 'String', desc='Four digit ID tag attached to a design model during design'),
5374  Option_Group( 'dock',
5375  Option('neg_r', 'Real', desc='Specify whether radial displacement is positive or negative. 1 for negative, 0 for positive.', default='0'),
5376  Option('dump_pdb', 'Boolean', desc='Dump a pdb of a particular docked configuration', default='false'),
5377  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'),
5378  ), # -matdes:dock
5379 
5380  Option_Group( 'design',
5381  Option('contact_dist', 'Real', desc='CA-CA distance for defining interface residues', default='10.0'),
5382  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'),
5383  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'),
5384  Option('grid_nsamp_angle' , 'Integer', desc='The number of samples the rigid body grid is divided into in angle space', default='9'),
5385  Option('grid_nsamp_radius', 'Integer', desc='The number of samples the rigid body grid is divided into in radius space', default='9'),
5386  Option('fav_nat_bonus', 'Real', desc='Bonus to be awarded to native residues', default='0.0'),
5387  ), # -matdes:design
5388 
5389  Option_Group( 'mutalyze',
5390  Option('calc_rot_boltz', 'Boolean', desc='Specify whether to calculate RotamerBoltzmann probabilities or not', default='0'),
5391  Option('ala_scan', 'Boolean', desc='Specify whether to calculate ddGs for alanine-scanning mutants at the designed interface', default='1'),
5392  Option('revert_scan', 'Boolean', desc='Specify whether to calculate ddGs for reversion mutants at the designed interface', default='1'),
5393  Option('min_rb', 'Boolean', desc='Specify whether to minimize the rigid body DOFs', default='1'),
5394  ), # -matdes:mutalyze
5395 
5396  ), # -matdes
5397 
5398  Option_Group( 'mc',
5399  Option( 'log_scores_in_MC', 'Boolean', desc="Score each decoy during a simulation and output it to log; slows down run!", default="false" ),
5400  Option( 'hierarchical_pool', 'String', desc='specify prefix in order to look for hierarchical pool' ),
5401  Option( 'read_structures_into_pool', 'File', desc='specify the silent-structs to create a hierarchy for lazy users'),
5402  Option( 'convergence_check_frequency', 'Integer', desc='how often check for convergences in MC object?', default = '100' ),
5403  Option( 'known_structures', 'File',
5404  desc='specify a filename of a silent-file containing known structures',
5405  default='known_structs.in'
5406  ), ##using this option will cause that tag of nearest structure to sampled decoys is reported
5407  Option( 'max_rmsd_against_known_structures', 'Real', desc='stop sampling if rmsd to a known-structure is lower than X',default='1.5' ),
5408  Option( 'excluded_residues_from_rmsd', 'IntegerVector', desc='residues that are not used for RMSD computation in pool' ),
5409  Option( 'heat_convergence_check', 'Integer',
5410  desc ="jump out of current abinitio run if X unsuccesful mc-trials reached", default='0'),
5411  ), # -mc
5412 
5413 
5414  Option_Group( 'mh', # sheffler willsheffler@gmail.com
5415  Option( 'motif_out_file' , 'String' , desc="file to dump ResPairMotifs to" , default="motifs" ),
5416  Option( 'harvest_motifs' , 'FileVector' , desc="files to harvest ResPairMotifs from" , default="SPECIFY_ME_DUMMY" ),
5417  Option( 'print_motifs' , 'FileVector' , desc="files to print ResPairMotifs from" , default="SPECIFY_ME_DUMMY" ),
5418  Option( 'remove_duplicates' , 'FileVector' , desc="files to remove dup ResPairMotifs from" , default="SPECIFY_ME_DUMMY" ),
5419  Option( 'dump_motif_pdbs' , 'FileVector' , desc="files to extract ResPairMotifs clusters from" , default="SPECIFY_ME_DUMMY" ),
5420  Option( 'merge_motifs' , 'FileVector' , desc="files to merge ResPairMotifs from" , default="SPECIFY_ME_DUMMY" ),
5421  Option( 'merge_scores' , 'FileVector' , desc="files to merge scores from" , default="SPECIFY_ME_DUMMY" ),
5422  Option( 'merge_motifs_one_per_bin' , 'Boolean' , desc="keep only one motif per hash bin (for sepcified grid)" , default="false" ),
5423  Option( 'gen_reverse_motifs_on_load' , 'Boolean' , desc="" , default="false" ),
5424  Option( 'dump_input_pdb' , 'FileVector' , desc="files to dump biount interpretation from" , default="SPECIFY_ME_DUMMY" ),
5425  Option( 'score_pdbs' , 'FileVector' , desc="files to score with input counts file" , default="SPECIFY_ME_DUMMY" ),
5426  Option( 'sequence_recovery' , 'FileVector' , desc="pdb files to score" , default="SPECIFY_ME_DUMMY" ),
5427  Option( 'explicit_motif_score' , 'FileVector' , desc="pdb files to score" , default="SPECIFY_ME_DUMMY" ),
5428  Option( 'harvest_scores' , 'FileVector' , desc="get counts from ResPairMotif files and dump to binary counts file" , default="" ),
5429  Option( 'print_scores' , 'File' , desc="print a binary counts file" , default="" ),
5430  Option( 'dump_matching_motifs' , 'FileVector' , desc="pdb files to score" , default="SPECIFY_ME_DUMMY" ),
5431  Option( 'score_across_chains_only' , 'Boolean' , desc="ignore intra-chain motifs" , default= 'false' ),
5432  Option( 'normalize_score_ncontact' , 'Boolean' , desc="normalize by total num contacts" , default= 'true' ),
5433  # Option( 'hash_cart_size' , 'Real' , desc="dimensions of binned space" , default= '12.0' ),
5434  Option( 'harvest_motifs_min_hh_ends' , 'Integer' , desc="restrict to middle of hilix contacts " , default= '0' ),
5435  Option( 'ignore_io_errors' , 'Boolean' , desc=" " , default= 'false' ),
5436  Option( 'motif_match_radius' , 'Real' , desc="width of euler angle bin" , default= '9e9' ),
5437  Option( 'merge_similar_motifs' , 'RealVector' , desc="give 3 hash params" ),
5438  Option_Group('score',
5439  Option('background_weight' ,'Real' , desc="weight on cb contacts, kinda" , default= '0.0' ),
5440  Option('ca_cb_clash_weight' ,'Real' , desc="weight on cb clashes, kinda" , default= '1.0' ),
5441  Option('noloops' ,'Boolean' , desc="ignore loop ss in scored structs" , default= 'false' ),
5442  Option('nosheets' ,'Boolean' , desc="ignore strand ss in scored structs" , default= 'false' ),
5443  Option('nohelix' ,'Boolean' , desc="ignore helix ss in scored structs" , default= 'false' ),
5444  Option('spread_ss_element' ,'Boolean' , desc="" , default= 'false' ),
5445  Option('min_cover_fraction' ,'Real' , desc="" , default= '0.0' ),
5446  Option('strand_pair_weight' ,'Real' , desc="" , default= '1.0' ),
5447  Option('anti_polar_weight' ,'Real' , desc="" , default= '1.0' ),
5448  Option('min_contact_pairs' ,'Real' , desc="" , default= '1.0' ),
5449  Option('max_contact_pairs' ,'Real' , desc="" , default= '9e9' ),
5450  Option('max_cb_dis' ,'Real' , desc="" , default= '9.0' ),
5451  Option('coverage_pow' ,'Real' , desc="" , default= '0.0' ),
5452  Option('use_ss1' ,'Boolean' , desc="" , default= 'true' ),
5453  Option('use_ss2' ,'Boolean' , desc="" , default= 'true' ),
5454  Option('use_aa1' ,'Boolean' , desc="" , default= 'false' ),
5455  Option('use_aa2' ,'Boolean' , desc="" , default= 'false' ),
5456  Option('use_log' ,'Boolean' , desc="" , default= 'true' ),
5457  ),
5458  Option_Group('path',
5459  Option( 'biounit' ,'StringVector' , desc="path to search for biounits in the ab/1abc.pdb1.gz format" , default="utility::vector1<std::string>()" ),
5460  Option( 'biounit_ideal' ,'StringVector' , desc="idealized biounit coords, missing PDBInfo metadatab" , default="utility::vector1<std::string>()" ),
5461  Option( 'pdb' ,'StringVector' , desc="path to search for pdbs in the ab/1abc.pdb.gz format" , default="utility::vector1<std::string>()" ),
5462  Option( 'motifs' , 'StringVector' , desc="concrete motifs in .rpm.bin.gz format" , default="utility::vector1<std::string>()" ),
5463  Option( 'motifs_SC_SC' , 'StringVector' , desc="concrete SC_SC motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5464  Option( 'motifs_SC_BB' , 'StringVector' , desc="concrete SC_BB motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5465  Option( 'motifs_BB_BB' , 'StringVector' , desc="concrete BB_BB motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5466  Option( 'motifs_BB_PH' , 'StringVector' , desc="concrete BB_PH motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5467  Option( 'motifs_BB_PO' , 'StringVector' , desc="concrete BB_PO motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5468  Option( 'motifs_PH_PO' , 'StringVector' , desc="concrete PH_PO motifs, try to replace with path::motifs" , default="utility::vector1<std::string>()" ),
5469  Option( 'scores' , 'StringVector' , desc="motif hash data for scoring, mixed, may not use" ),
5470  Option( 'scores_SC_SC' , 'StringVector' , desc="motif hash data for scoring SC_SC" ),
5471  Option( 'scores_SC_BB' , 'StringVector' , desc="motif hash data for scoring SC_BB" ),
5472  Option( 'scores_BB_BB' , 'StringVector' , desc="motif hash data for scoring" ),
5473  Option( 'scores_BB_PH' , 'StringVector' , desc="motif hash data for scoring BB_PH" ),
5474  Option( 'scores_BB_PO' , 'StringVector' , desc="motif hash data for scoring BB_PO" ),
5475  Option( 'scores_PH_PO' , 'StringVector' , desc="motif hash data for scoring strand pairings" ),
5476  Option( 'scores_frags' , 'StringVector' , desc="motif hash data for scoring strand pairings" ),
5477  ),
5478  Option_Group('harvest',
5479  Option('hash_cart_resl' ,'Real' , desc="width of cartesian bin" , default= '0.8' ),
5480  Option('hash_angle_resl' ,'Real' , desc="width of euler angle bin" , default= '15.0' ),
5481  Option('smoothing_factor' ,'Real' , desc="smoothing radius exp(-d/resl**2 * factor)" , default= '1.0' ),
5482  Option('idealize' ,'Boolean' , desc="" , default= 'false' ),
5483  Option('dump' ,'Boolean' , desc="" , default= 'false' ),
5484  Option('min_bin_val' ,'Real' , desc="" , default='0.0' ),
5485  Option('sep_aa' ,'Boolean' , desc="" , default= 'false' ),
5486  Option('sep_aa1' ,'Boolean' , desc="" , default= 'false' ),
5487  Option('sep_aa2' ,'Boolean' , desc="" , default= 'false' ),
5488  Option('sep_ss' ,'Boolean' , desc="" , default= 'false' ),
5489  Option('sep_dssp' ,'Boolean' , desc="" , default= 'false' ),
5490  Option('sep_lj' ,'RealVector' , desc="" , default= 'utility::vector1<double>()' ),
5491  Option('sep_hb' ,'RealVector' , desc="" , default= 'utility::vector1<double>()' ),
5492  Option('sep_nbrs' ,'RealVector' , desc="" , default= 'utility::vector1<double>()' ),
5493  Option('sep_bfac' ,'RealVector' , desc="" , default= 'utility::vector1<double>()' ),
5494  Option('sep_dist' ,'RealVector' , desc="" , default= 'utility::vector1<double>()' ),
5495  Option('weight_by_energy' ,'Boolean' , desc="" , default= 'true' ),
5496  Option('max_rmsd' ,'Real' , desc="skip structure if refined rms to input is higher than this" , default='0.5' ),
5497  Option('max_res' ,'Integer' , desc="max res in biounit (or whatever) for harvest" , default="1000" ),
5498  Option('agg_with_max' ,'Boolean' , desc="" , default= 'false' ),
5499  Option('multiplier' ,'Real' , desc="" , default= '1.0' ),
5500 
5501  ),
5502  Option_Group('match',
5503  Option('interface_only' ,'Boolean' , desc="" , default= 'true' ),
5504  Option('ss' ,'Boolean' , desc="" , default= 'true' ),
5505  Option('ss1' ,'Boolean' , desc="" , default= 'true' ),
5506  Option('ss2' ,'Boolean' , desc="" , default= 'true' ),
5507  Option('aa' ,'Boolean' , desc="" , default= 'false' ),
5508  Option('aa1' ,'Boolean' , desc="" , default= 'false' ),
5509  Option('aa2' ,'Boolean' , desc="" , default= 'false' ),
5510  ),
5511  Option_Group('dump',
5512  Option('limit_per_pair' ,'Integer' , desc="" , default= '999999' ),
5513  Option('max_per_res' ,'Integer' , desc="" , default= '30' ),
5514  Option('max_ca_dis' ,'Real' , desc="" , default= '12.0' ),
5515  Option('max_rms' ,'Real' , desc="" , default= '0.5' ),
5516  Option('resfile_min_pair_score' ,'Real' , desc="" , default= '0.00' ),
5517  Option('resfile_min_tot_score' ,'Real' , desc="" , default= '0.00' ),
5518  Option('resfile_dump' ,'Boolean' , desc="" , default= 'false' ),
5519  Option('symmetric_motifs' ,'Boolean' , desc="" , default= 'false' ),
5520  ),
5521  Option_Group('filter',
5522  Option('filter_harvest' ,'Boolean' , desc="filter while harvesting" , default= 'false' ),
5523  Option('filter_io' ,'Boolean' , desc="filter while reading filter" , default= 'true' ),
5524  Option('pdb' ,'String' , desc="4/5 letter pdb code" ),
5525  Option('lig' ,'String' , desc="3 letter lig code" ),
5526  Option('motif_type' ,'String' , desc="bb pb sc pp" ),
5527  Option('restype1' ,'String' , desc="allowed res types for res1" , default='ACDEFGHIKLMNPQRSTVWY' ),
5528  Option('restype2' ,'String' , desc="allowed res types for res2" , default='ACDEFGHIKLMNPQRSTVWY' ),
5529  Option('restype' ,'String' , desc="allowed res types" , default='ACDEFGHIKLMNPQRSTVWY' ),
5530  Option('restype_one' ,'String' , desc="allowed res types need at least one" , default='ACDEFGHIKLMNPQRSTVWY' ),
5531  Option('not_restype' ,'String' , desc="disallowed res types" , default='ACGP' ),
5532  Option('not_restype_one' ,'String' , desc="disallowed res types at least one not" , default='ACGP' ),
5533  Option('seqsep' ,'Integer' , desc="min filter seqsep" , default= '0' ),
5534  Option('max_seqsep' ,'Integer' , desc="min filter seqsep" , default= '99999' ),
5535  Option('no_hb_bb' ,'Boolean' , desc="no bb hbonded" , default= 'false' ),
5536  Option('mindist2' ,'Real' , desc="min CA-CA dist sq" , default= '0.0' ),
5537  Option('maxdist2' ,'Real' , desc="max CA-CA dist sq" , default= '999999.0' ),
5538  Option('ss1' ,'String' , desc="filter ss1" , default= '' ),
5539  Option('ss2' ,'String' , desc="filter ss2" , default= '' ),
5540  Option('dssp1' ,'String' , desc="filter dssp1" , default= '' ),
5541  Option('dssp2' ,'String' , desc="filter dssp2" , default= '' ),
5542  Option('aa1' ,'String' , desc="filter aa1" , default= '' ),
5543  Option('aa2' ,'String' , desc="filter aa2" , default= '' ),
5544  Option('sasa' ,'Real' , desc="filter max sasa" , default= '999.0' ),
5545  # Option('avge_cut' ,'Real' , desc="filter max total rosetta E cut (default 999.0 = no filtering" , default= '999.0' ),
5546  Option('faatr' ,'Real' , desc="filter max faatr (default 999.0 = no filtering" , default= '999.0' ),
5547  Option('hb_sc' ,'Real' , desc="filter max hb_sc (default 999.0 = no filtering" , default= '999.0' ),
5548  Option('hb_bb_sc' ,'Real' , desc="filter max hb_bb_sc (default 999.0 = no filtering" , default= '999.0' ),
5549  Option('hb_bb' ,'Real' , desc="filter max hb_bb (default 999.0 = no filtering" , default= '999.0' ),
5550  Option('occupancy' ,'Real' , desc="filter min occupancy (default 0.0 = no filtering" , default= '0.0' ),
5551  Option('coorderr' ,'Real' , desc="filter max bfac coorderr = sqrt(B/8*pi**2)) (default 999.0 = no filtering" , default= '999.0' ),
5552  Option('uniformfrag' ,'Boolean' , desc="is frag and all same ss in frag" , default= 'false' ),
5553  Option('faatr_or_hbbb' ,'Real' , desc="filter require atr or hb (bb allowed) below thresh" , default= '999.0' ),
5554  Option('faatr_or_hb' ,'Real' , desc="filter require atr or hb below thresh" , default= '999.0' ),
5555  Option('noloops' ,'Boolean' , desc="" , default= 'false' ),
5556  Option('oneloop' ,'Boolean' , desc="" , default= 'false' ),
5557  Option('nodisulf' ,'Boolean' , desc="" , default= 'false' ),
5558  Option('score' ,'Real' , desc="filter on ResPairMotir::score()" , default= '999.0' ),
5559  ),
5560  ),
5561 
5562 
5563  # options for motif protocol stuff
5564  Option_Group( 'magnesium',
5565  Option( 'scan', 'Boolean', desc="default mode: scan Mg(2+) through PDB", default='true' ),
5566  Option( 'mg_res', 'IntegerVector', desc="supply PDB residue numbers of Mg(2+) to look at [leave blank to scan a new Mg(2+)]", default='' ),
5567  Option( 'minimize_during_scoring', 'Boolean', desc="minimize mg(2+) during scoring/hydration of each position", default='true' ),
5568  Option( 'ligand_res', 'ResidueChainVector', desc="in scan, look at positions near these residues (PDB numbering/chains)", default='' ),
5569  Option( 'pose_ligand_res', 'IntegerVector', desc="in scan, look at positions near these residues, pose numbering (1,2,..)", default='' ),
5570  Option( 'lores_scan', 'Boolean', desc="do not try hydration or minimization during scan", default='false' ),
5571  Option( 'xyz_step', 'Real', desc="increment in Angstroms for xyz scan", default='0.50' ),
5572  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 */
5573  Option( 'score_cut_PDB', 'Real', desc="score cut for PDB output from scanning (deprecated)", default='0.0' ),
5574  Option( 'integration_test', 'Boolean', desc="Stop after first mg position found -- for testing", default='false' ),
5575  Option( 'tether_to_closest_res', 'Boolean', desc="stay near closest ligand res; helps force unique grid sampling in different cluster jobs.", default='false' ),
5576  Option( 'fixup', 'Boolean', desc="test mode: align the 6 octahedral virtual 'orbitals' for specified mg_res", default='false' ),
5577  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' ),
5578  Option( 'hydrate', 'Boolean', desc="test mode: strip out waters and hydrate mg(2+) for specified mg_res", default='false' ),
5579  Option( 'monte_carlo', 'Boolean', desc="test mode: monte carlo sampling of Mg(2+) and surrounding waters", default='false' ),
5580  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' ),
5581  Option( 'all_hydration_frames', 'Boolean', desc="in -hydration test mode, Sample all hydration frames (slow)", default='false' ),
5582  Option( 'leave_other_waters', 'Boolean', desc="in -hydration test mode, do not remove all waters", default='false' ),
5583  Option( 'minimize', 'Boolean', desc="minimize Mg(2+) after hydration or hydrogen-packing", default='false' ),
5584  Option( 'minimize_mg_coord_constraint_distance', 'Real', desc="harmonic tether to Mg(2+) during minimize", default='0.2' ),
5585 
5586  Option_Group('montecarlo',
5587  Option( 'temperature', 'Real', desc="temperature for Monte Carlo", default='1.0' ),
5588  Option( 'cycles', 'Integer', desc="Monte Carlo cycles", default='100000' ),
5589  Option( 'dump', 'Boolean', desc="dump PDBs from Mg monte carlo", default='false' ),
5590  Option( 'add_delete_frequency', 'Real', desc="add_delete_frequency for Monte Carlo", default='0.1' ),
5591  ) # monte_carlo
5592  ), # magnesium
5593 
5594  # options for motif protocol stuff
5595  Option_Group( 'motifs',
5596  Option( 'close_enough', 'Real', default = '1.0', desc='4-atom rmsd cutoff beyond which you don\'t bother trying an inverse rotamer' ),
5597  Option( 'max_depth', 'Integer', default = '1', desc='Maximum recursion depth - i.e., maximum number of motifs to incorporate' ),
5598  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)" ),
5599  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'),
5600  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'),
5601  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'),
5602  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'),
5603  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'),
5604  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'),
5605  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'),
5606  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'),
5607  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'),
5608  Option( 'duplicate_dist_cutoff', 'Real', default = '1.0', desc = 'Value for determining whether a motif is different from others already in a library'),
5609  Option( 'duplicate_angle_cutoff', 'Real', default = '0.4', desc = 'Value for determining whether a motif is different from others already in a library'),
5610  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'),
5611  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" ),
5612  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'),
5613  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" ),
5614  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" ),
5615  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" ),
5616  Option( 'list_motifs', 'FileVector', desc="File(s) containing list(s) of PDB files to process" ),
5617  Option( 'motif_filename', 'String', desc="File containing motifs" ),
5618  Option( 'file_prefix', 'String', default = 'motif', desc="File containing motifs" ),
5619  Option( 'build_residue_file', 'String', desc="File containing the target positions for building and incorporating motifs" ),
5620  Option( 'motif_flexible_loop_file', 'String', desc="File containing the flexible loop definition" ),
5621  Option( 'residue_trim_file', 'String', desc="File a list of residues to trim to Ala before motif incorporation." ),
5622  Option( 'BPData', 'String', desc="File containing BuildPosition specific motifs and/or rotamers" ),
5623  Option( 'list_dnaconformers', 'FileVector', desc="File(s) containing list(s) of PDB files to process" ),
5624  Option( 'target_dna_defs', 'StringVector', default = '""', desc = ''),
5625  Option( 'motif_build_defs', 'StringVector', default = '""', desc = ''),
5626 # Option( 'motif_build_position_chain', 'String', default = '""', desc = ''),
5627  Option( 'motif_build_positions', 'IntegerVector', desc = ''),
5628  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'),
5629  Option( 'r2', 'Real', default = '1.1', lower = '0', desc = 'RMSD cutoff between motif anchor position and motif target position for accepting the motif'),
5630  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'),
5631  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'),
5632  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'),
5633  Option( 'rotlevel', 'Integer', default = '5', lower = '1', desc = 'level of rotamer sampling for motif search'),
5634  Option( 'num_repacks', 'Integer', default = '5', lower = '0', desc = 'number of cycles of dropping special_rot weight and design'),
5635  Option( 'minimize', 'Boolean', default = 'true', desc = 'whether or not to minimize the motifs toward the xtal structure DNA'),
5636  Option( 'minimize_dna', 'Boolean', default = 'true', desc = 'whether or not to minimize DNA after every round of design with special_rot weight dropping'),
5637  Option( 'run_motifs', 'Boolean', default = 'true', desc = 'whether or not to use motifs in DnaPackerMotif'),
5638  Option( 'expand_motifs', 'Boolean', default = 'true', desc = 'whether or not to use expand (use all types) motifs in DnaPackerMotif'),
5639  Option( 'aromatic_motifs', 'Boolean', default = 'true', desc = 'whether or not to use expand (use aromatic only types) motifs in DnaPackerMotif'),
5640  Option( 'dump_motifs', 'Boolean', default = 'true', desc = 'whether or not to output pdbs with the best rotamer/conformer for each motifs'),
5641  Option( 'quick_and_dirty', 'Boolean', default = 'true', desc = 'quick motif run to get a list of all possible motifs before doing a real run'),
5642  Option( 'special_rotweight', 'Real', default = '-40.0', desc = 'starting weight for the weight on motif rotamers'),
5643  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'),
5644  Option( 'data_file', 'String', desc = 'name of output file for any data about how many rotamers and motifs pass what tests, etc'),
5645  Option( 'target_aa', 'String', default = 'LEU', desc = 'three letter code for the target amino acid for finding motifs'),
5646 # 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'),
5647  Option( 'flex_sugar', 'Boolean', default = 'true', desc = 'whether or not to add the flexible sugar, not using PB way of adding options'),
5648  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'),
5649  Option( 'rots2add', 'Integer', default = '100', lower = '1', desc = 'number of rotamers to add to design from the MotifSearch for each amino acid type'),
5650  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'),
5651  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'),
5652  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'),
5653  Option('ligand_motif_sphere','Real', default = '6.0',
5654  desc="option to specify radius of motif search around ligand"),
5655  ), # -motifs
5656 
5657  Option_Group( 'ms' , # multistate_design
5658 # Option( 'share_data', 'Boolean', desc='share rotamers and energies between states -- valid only if state variability is defined rotamerically', default='false' ),
5659 # Option( 'verbose', 'Boolean', desc='', default='false' ),
5660 # Option( 'restrict_to_canonical', 'Boolean', desc='design only canonical residue types', default='false' ),
5661  Option( 'pop_from_ss', 'Integer', desc='generate starting sequence population based on single-state design results', default='0' ),
5662  Option( 'pop_size', 'Integer', desc='genetic algorithm population size', default='100' ),
5663  Option( 'generations', 'Integer', desc='number of genetic algorithm generations', default='20' ),
5664  Option( 'num_packs', 'Integer', desc='number of repack trials per sequence/state combination', default='1' ),
5665  Option( 'numresults', 'Integer', desc='number of top-fitness results to save for explicit reference at the end of multistate design', default='1' ),
5666  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' ),
5667  Option( 'Boltz_temp', 'Real', desc='thermodynamic temperature to use for specificity calculations', default='0.6' ),
5668  Option( 'mutate_rate', 'Real', desc='rate of mutation per position', default='0.5' ),
5669  Option( 'fraction_by_recombination', 'Real', desc='fraction of the population that should be generated by recombination during the evolution stage', default='0.5' ),
5670  Option_Group( 'checkpoint',
5671  Option( 'prefix', 'String', desc='prefix to add to the beginning of checkpoint file names', default='' ),
5672  Option( 'interval', 'Integer', desc='frequency with which the entity checkpoint is written', default='0' ),
5673  Option( 'gz', 'Boolean', desc='compress checkpoing files with gzip', default='false' ),
5674  Option( 'rename', 'Boolean', desc='rename checkpoint files after genetic algorithm completes', default='false' ),
5675  ), # -ms:checkpoint
5676  ), # -ms:
5677 
5678  # NonlocalAbinitio
5679  Option_Group('nonlocal',
5680 # Option('builder', 'String', desc = 'One of {simple, star}. Specifies how non-local abinitio should construct the fold tree', default = 'star'),
5681  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.'),
5682 # 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'),
5683  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'),
5684 # Option('rdc_weight', 'Real', desc = 'Weight for the rdc energy term in nonlocal abinitio protocol', default = '5'),
5685  ), # -nonlocal
5686 
5687  Option_Group( 'optE',
5688  Option( 'optE', 'Boolean', desc="optE option group", legal='true', default='true' ),
5689  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' ),
5690  Option( 'data_in', 'String', default='optE.data', desc='file from which to read in optE data' ),
5691  Option( 'data_out', 'String', default='optE.data.out', desc='file to which to write optE data' ),
5692  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.' ),
5693  Option( 'fix', 'StringVector', desc='weights to be fixed (must also appear in the weightfile given by the -optE::weights option)' ),
5694  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'),
5695  Option( 'fixed', 'File', desc='IterativeOptEDriver flag: specify a file to read score types and weights for score types that are on but fixed'),
5696  Option( 'parse_tagfile', 'File', desc='a file in utility::tag format that optE may parse to customize its operation'),
5697  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'),
5698  Option( 'optE_soft_rep', 'Boolean', desc='Instruct the IterativeOptEDriver to use the soft-repulsion etable' ),
5699  Option( 'no_hb_env_dependence', 'Boolean', desc='Disable environmental dependent weighting of hydrogen bond terms'),
5700  Option( 'no_hb_env_dependence_DNA', 'Boolean', desc='Disable environmental dependent weighting of hydrogen bonds involving DNA'),
5701  Option( 'optE_no_protein_fa_elec', 'Boolean', desc='Instruct the IterativeOptEDriver to use the soft-repulsion etable', default='false' ),
5702  Option( 'centroid_rot', 'Boolean', desc='Use CENTROID_ROT vdw radii', default='false' ),
5703  Option( 'centroid_rot_min', 'Boolean', desc='Use CENTROID_ROT_MIN vdw radii', default='false' ),
5704  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.'),
5705  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'),
5706  ##Option( 'recover_nat_aa', 'Boolean', desc='With the iterative optE driver, use design to recover the native amino acids'),
5707  Option( 'recover_nat_rot', 'Boolean', desc='With the iterative optE driver, repack to recover the native rotamers'),
5708  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' ),
5709  Option( 'optimize_nat_aa', 'Boolean', desc='With the iterative optE driver, optimize weights to maximize the probability of the native rotamer'),
5710  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'),
5711  Option( 'optimize_ligand_rot', 'File', desc='With the iterative optE driver, optimize weights to maximize the probability of the native rotamer around the ligand'),
5712  Option( 'optimize_pssm', 'Boolean', desc='With the iterative optE driver, optimize weights to maximize the match between a BLAST generated pssm probabillity distribution'),
5713  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'),
5714  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'),
5715  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'),
5716  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.'),
5717  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.'),
5718  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'),
5719  Option( 'pretend_no_ddG_repulsion','Boolean', desc='With the iterative optE driver, set all repulsive scores to zero when looking for ddG correlations'),
5720  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 >.'),
5721  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"),
5722  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."),
5723  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'),
5724  Option( 'approximate_decoy_entropy', 'Real', desc='Alpha expansion of conformation space size as a function of nres: size ~ alpha ^ nres; entropy ~ nres ln alpha.' ),
5725  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'),
5726  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'),
5727  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'),
5728  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 >.'),
5729  Option( 'no_design', 'Boolean', desc="Don't bother loading pdbs and doing design; just optimize weights for decoy-discrim and or native rotamer recovery"),
5730  Option( 'sqrt_pssm', 'Boolean', desc='Turn the pssm probability vectors into unit vectors so that dot product is a true similarity measure'),
5731  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'),
5732  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'),
5733  Option( 'optimize_starting_free_weights', 'Boolean', desc='With the iterative optE driver, try many different starting points for the minimization', default='false'),
5734  Option( 'wrap_dof_optimization', 'File', desc='Create new dofs and setup arithmetic dependencies for free dofs.' ),
5735  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'),
5736  Option( 'inv_kT_natrot', 'Real', desc='1 / kT for the pNativeRotamer fitness function', default = '1' ),
5737  Option( 'inv_kT_nataa', 'Real', desc='1 / kT for the pNatAA and PSSM fitness function', default = '1' ),
5738  Option( 'inv_kT_natstruct', 'Real', desc='1 / kT for the pNativeStructure fitness function', default = '1' ),
5739  Option( 'mpi_weight_minimization', 'Boolean', desc='Distribute OptEMultifunc func/dfunc evaluations across nodes' ),
5740  Option( 'dont_use_reference_energies', 'Boolean', desc='Do not use reference energies anywhere during the protocol.', default='false' ),
5741  Option( 'number_of_swarm_particles', 'Integer', desc='The number of particles to use during particle swarm weight optimization.', default='100' ),
5742  Option( 'number_of_swarm_cycles', 'Integer', desc='The number of cycles to run the swarm minimizer for.', default='20' ),
5743  Option( 'constrain_weights', 'File', desc='When minimizing the fitness objective function, also include weight constraints in the objective function'),
5744  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'),
5745  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'),
5746  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'),
5747  Option( 'design_with_minpack', 'Boolean', desc='Use the min-packer to design in the sequence recovery stages.', default='false'),
5748  Option( 'limit_bad_scores', 'Boolean', desc='Quit after 100,000 inf or NaN errors in optE objective function'),
5749  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'),
5750  Option_Group( 'rescore',
5751  Option( 'weights', 'File', desc='Weight set to use when rescoring optE partition functions' ),
5752  Option( 'context_round', 'Integer', desc='Integer of the context PDBs generated during design to use to measure the pNatAA'),
5753  Option( 'outlog', 'File', desc='File to which the OptEPosition data should be written'),
5754  Option( 'measure_sequence_recovery', 'Boolean', desc='When rescoring a weight set, run design with that weight set and measure the sequence recovery.', default='false' ),
5755  ), # -optE:rescore
5756  ), # -optE
5757 
5758  # packstat measure settings -----------------------------------------------------------
5759  Option_Group( 'packstat',
5760  Option( 'include_water', 'Boolean',desc="Revert to old style etables", default="false" ),
5761  Option( 'oversample', "Integer", desc="Precision of SASA measurements", default='0' ),
5762  Option( 'packstat_pdb', "Boolean", desc="Output a pdb with packing visualizations", default='false' ),
5763  Option( 'surface_accessibility', "Boolean", desc="Compute extra cavity burial information", default='false' ),
5764  Option( 'residue_scores', "Boolean", desc="Output the score for each resdiue", default='false' ),
5765  Option( 'cavity_burial_probe_radius', "Real", desc="Radius probe to consider a cavity buried", default='1.4' ),
5766  Option( 'raw_stats', "Boolean", desc="Output the raw stats per-residue (for training, etc...)", default='false'),
5767  Option( 'threads', "Integer", desc="Number of threads to use (0 for no threading)", default='0' ),
5768  Option( 'cluster_min_volume', 'Real', desc='voids smaller than this will not be shown.', default='30'),
5769  Option( 'min_surface_accessibility', 'Real', desc='voids must be at least this exposed', default='-1.0'),
5770  Option( 'min_cluster_overlap', 'Real', desc='void-balls must overlap by this much to be clustered', default='0.1'),
5771  Option( 'min_cav_ball_radius', 'Real', desc='radius of smallest void-ball to consider', default='0.7'),
5772 # Option( 'max_cav_ball_radius', 'Real', desc='radius of largest void-ball to consider', default='3.0'),
5773  ), # -packstat
5774 
5775  ## options for parser
5776  Option_Group( 'parser',
5777  Option( 'protocol', 'String', desc='File name for the xml parser protocol' ),
5778  Option( 'script_vars', 'StringVector', desc='Variable substitutions for xml parser, in the form of name=value' ),
5779  Option( 'view', 'Boolean', desc='Use the viewer?' ),
5780  Option( 'patchdock', 'String', desc='Patchdock output file name.' ),
5781  Option( 'patchdock_random_entry', 'IntegerVector', desc='Pick a random patchdock entry between two entry numbers. inclusive', n='2' ),
5782  ), # -parser
5783 
5784  Option_Group( 'patterson',
5785 # Option( 'debug', 'Boolean', default = 'false'),
5786  Option( 'weight', 'Real', default = '0.0', desc='wt of patterson correlation'),
5787  Option( 'sc_scaling', 'Real', default = '1.0', desc='Scale sidechain density by this amount (default = same as mainchain density)'),
5788  Option( 'radius_cutoffs', 'RealVector', desc='patterson-space radius cuttoffs'),
5789  Option( 'resolution_cutoffs', 'RealVector', desc='reciprocal space F^2 cuttoffs'),
5790  Option( 'Bsol', 'Real', default = '300.0', desc='solvent B'),
5791  Option( 'Fsol', 'Real', default = '0.95', desc='solvent fraction'),
5792  Option( 'model_B', 'Real', default = '0.0', desc='B factor computing patterson CC'),
5793  Option( 'rmsd', 'Real', default = '2.0', desc='Expected RMS error for sigma-A calculation'),
5794  Option( 'no_ecalc', 'Boolean', default = 'false', desc='Do not normalize p_o with ecalc'),
5795  Option( 'nshells', 'Integer', default = '50', desc='Number of resolution shells for patterson normalization'),
5796  Option( 'use_spline_interpolation', 'Boolean', default = 'false', desc='use spline interpolation for derivative evaluation? (default trilinear)'),
5797  Option( 'use_on_repack', 'Boolean', default = 'false', desc='SLOW - use patterson correlation on repacks (default no)'),
5798  Option( 'dont_use_symm_in_pcalc', 'Boolean', default = 'false', desc='perform Pcalc in P1 (default no)'),
5799  ), # -patterson
5800 
5801  Option_Group( 'pb_potential',
5802  Option( 'charged_chains', 'IntegerVector', desc="Chain numbers that carries charge in the PB calculation",default='1' ),
5803  Option( 'sidechain_only', 'Boolean', desc="Only calculate interactions to sidechain.", default="true" ),
5804  Option( 'revamp_near_chain', 'IntegerVector', desc="Scale down PB interactions if near the given chain. Use chain numbers as input." ),
5805  Option( 'apbs_path', 'String', desc="Path to the APBS (Adaptive Poisson-Boltzmann Solver) executable"),
5806  Option( 'potential_cap', 'Real', desc="Cap for PB potential input", default = '20.0' ),
5807  Option( 'epsilon', 'Real', desc="Tolerance in A. When a charged atom moves byond this tolerance, the PDE is resolved.", default='2.0'),
5808  Option( 'apbs_debug', 'Integer', desc="APBS debug level [0-6]", default="2"),
5809  Option( 'calcenergy', 'Boolean', desc="Calculate energy?", default="false"),
5810  ), # -pb_potential
5811 
5812  # Some of the PCS options are migrating into TopologyClaimer framework.
5813  Option_Group( 'PCS',
5814  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'),
5815  Option( 'normalization_id', 'Integer', desc = 'Normalize individual data set. The integer identify the normalization method to be used'),
5816 # Option( 'npc_files_input', 'StringVector', desc = 'A list of pseudocontact shift (PCS) files in the .npc format. One file per lanthanide' ),
5817 # Option( 'pcs_weight', 'Real', desc = 'Reweight the pseudocontact shift (PCS) energy term.'),
5818 # 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' ),
5819 # Option( 'minimize_tensor', 'Boolean', desc = 'Optimize the best tensor found form the grid search'),
5820  ), # PCS
5821  Option_Group( 'PCSTS1',
5822  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'),
5823  Option( 'normalization_id', 'Integer', desc = 'Normalize individual data set. The integer identify the normalization method to be used'),
5824  ), # PCSTS1
5825  Option_Group( 'PCSTS2',
5826  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'),
5827  Option( 'normalization_id', 'Integer', desc = 'Normalize individual data set. The integer identify the normalization method to be used'),
5828  ), # PCSTS2
5829  Option_Group( 'PCSTS3',
5830  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'),
5831  Option( 'normalization_id', 'Integer', desc = 'Normalize individual data set. The integer identify the normalization method to be used'),
5832  ), # PCSTS3
5833  Option_Group( 'PCSTS4',
5834  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'),
5835  Option( 'normalization_id', 'Integer', desc = 'Normalize individual data set. The integer identify the normalization method to be used'),
5836  ), # PCSTS4
5837 
5838  ###############################################################################
5839  ## peptide specificity / flexible backbone design options (chrisk)
5840  Option_Group( 'pepspec',
5841  Option( 'soft_wts', 'String', default='soft_rep.wts'),
5842  Option( 'cen_wts', 'String', default='cen_ghost.wts'),
5843  Option( 'binding_score', 'Boolean', default='true'),
5844 
5845  Option( 'no_cen', 'Boolean', default='true'),
5846  Option( 'no_cen_rottrials', 'Boolean', default='true'),
5847  Option( 'run_sequential', 'Boolean', default='false'),
5848  Option( 'pep_anchor', 'Integer' ),
5849  Option( 'pep_chain', 'String', default=' '),
5850  Option( 'n_peptides', 'Integer', default='8' ),
5851  Option( 'n_build_loop', 'Integer', default='1000' ),
5852  Option( 'n_cgrelax_loop', 'Integer', default='1' ),
5853  Option( 'n_dock_loop', 'Integer', default='4' ),
5854  Option( 'interface_cutoff', 'Real', default='5.0'),
5855  Option( 'use_input_bb', 'Boolean', default='false'),
5856  Option( 'remove_input_bb', 'Boolean', default='false'),
5857  Option( 'homol_csts', 'String', default='prep.csts'),
5858  Option( 'p_homol_csts', 'Real', default='1.0'),
5859 # Option( 'frag_file', 'String', default='sampling/filtered.vall.dat.2006-05-05.gz'),
5860  Option( 'gen_pep_bb_sequential', 'Boolean', default='false'),
5861  Option( 'input_seq', 'String' ),
5862  Option( 'ss_type', 'String' ),
5863  Option( 'upweight_interface', 'Boolean', default='false'),
5864  Option( 'calc_sasa', 'Boolean', default='false'),
5865 
5866  Option( 'diversify_pep_seqs', 'Boolean', default='true'),
5867  Option( 'diversify_lvl', 'Integer', default='10'),
5868  Option( 'dump_cg_bb', 'Boolean', default='false'),
5869  Option( 'save_low_pdbs', 'Boolean', default='true'),
5870  Option( 'save_all_pdbs', 'Boolean', default='false'),
5871  Option( 'no_design', 'Boolean', default='false'),
5872 
5873  Option( 'pdb_list', 'String' ),
5874  Option( 'ref_pdb_list', 'String' ),
5875  Option( 'add_buffer_res', 'Boolean', default='false'),
5876  Option( 'cg_res_type', 'String', default = 'ALA' ),
5877 
5878  Option( 'native_pep_anchor', 'Integer' ),
5879  Option( 'native_pep_chain', 'String', default=''),
5880  Option( 'native_align', 'Boolean', default='false'),
5881  Option( 'rmsd_analysis', 'Boolean', default='false'),
5882 # Option( 'phipsi_analysis', 'Boolean', default='false'),
5883 
5884  Option( 'anchor_type', 'String', default='ALA' ),
5885  Option( 'no_prepack_prot', 'Boolean', default='false'),
5886  Option( 'prep_use_ref_rotamers', 'Boolean', default='false'),
5887  Option( 'n_prepend', 'Integer', default='0' ),
5888  Option( 'n_append', 'Integer', default='0' ),
5889  Option( 'clash_cutoff', 'Real', default='5' ),
5890  Option( 'n_anchor_dock_std_devs', 'Real', default='1.0' ),
5891  Option( 'prep_trans_std_dev', 'Real', default='0.5' ),
5892  Option( 'prep_rot_std_dev', 'Real', default='10.0' ),
5893  Option( 'seq_align', 'Boolean', default='false'),
5894  Option( 'prep_align_prot_to', 'String'),
5895  ), # -pepspec
5896 
5897  ###################################################################################
5898  # Residue protonation state options
5899  Option_Group( 'pH' ,
5900  Option( 'pH_mode', 'Boolean', desc="Allow protonated/deprotonated versions of the residues based on pH", default='false' ),
5901  Option( 'keep_input_protonation_state', 'Boolean', desc="Read in residue protonation states from input pdb?", default='false' ),
5902  Option( 'value_pH', 'Real', desc="pH value input for the pHEnergy score", default = '7.0' ),
5903  Option_Group( 'calc_pka',
5904  Option( 'pka_all', 'Boolean', desc="Calculate pKa values for all protonatable protein residues in the PDB?", default='false' ),
5905  Option( 'pka_for_resnos', 'RealVector', desc="Residue no whose pKa value is to be determined", default = '0' ),
5906  Option( 'pka_for_chainno', 'String', desc="Chain no of the residue whose pKa is to be determined", default = 'A' ),
5907  Option( 'pH_neighbor_pack', 'Boolean', desc="Pack the neighbors while calculating pKa?", default='false' ),
5908  Option( 'pka_rad', 'Real', desc="Radius of repack", default = '5.0' ),
5909  Option( 'pH_prepack', 'Boolean', desc="Prepack structure before calculating pKa values?", default='false' ),
5910  Option( 'pH_relax', 'Boolean', desc="Relax structure before calculating pKa values?", default='false' ),
5911  Option( 'rotamer_prot_stats', 'Boolean', desc="Get rotamer protonation statistics when titrating?", default='false' ),
5912  ), # -pH:calc_pka
5913  Option( 'pH_unbound', 'FileVector', desc="Name(s) of unbound receptor and ligand PDB file(s)" ),
5914  Option( 'output_raw_scores', 'Boolean', desc="Return raw scores contributing to interface score?" ),
5915  Option( 'pre_process', 'Boolean', desc="Refine rigid body orientation?" ),
5916  Option( 'cognate_partners', 'String', desc="Chain IDs for the cognate complex", default='_' ),
5917  Option( 'cognate_pdb', 'File', desc="File containing the cognate Antigen-Antibody complex" ),
5918  ), # -pH
5919 
5920  ##############################################################################
5921  # PocketGrid/Fingerprint options ---------------------------------------------
5922  Option_Group('pocket_grid',
5923  Option( 'pocket_grid_size', 'Real',default='0',desc='grid spacing in Angstroms'),
5924  Option( 'pocket_grid_size_x', 'Real',default='10',desc='grid spacing in Angstroms'),
5925  Option( 'pocket_grid_size_y', 'Real',default='10',desc='grid spacing in Angstroms'),
5926  Option( 'pocket_grid_size_z', 'Real',default='10',desc='grid spacing in Angstroms'),
5927  Option( 'pocket_grid_spacing', 'Real',default='0.5',desc='grid spacing in Angstroms'),
5928  Option( 'pocket_max_spacing', 'Real',default='8',desc='Maximum residue-residue distance to be considered a pocket'),
5929  Option( 'pocket_min_size', 'Real',default='10',desc='Minimum pocket size to score, in cubic Angstroms'),
5930  Option( 'pocket_max_size', 'Real',default='0',desc='Maximum pocket size to report, in cubic Angstroms, 0 for no limit'),
5931  Option( 'pocket_probe_radius', 'Real',default='1.0',desc='radius of surface probe molecule'),
5932  Option( 'central_relax_pdb_num', 'String',default='-1',desc='Residue number:(optional)Chain around which to do Pocket Constraint'),
5933  Option( 'pocket_ntrials', 'Integer',default='100000',desc='Number of trials to use for backrub'),
5934  Option( 'pocket_num_angles', 'Integer',default='1',desc='Number of different pose angles to measure pocket score at'),
5935  Option( 'pocket_side', 'Boolean', desc="Include only side chain residues for target surface", default='false' ),
5936  Option( 'pocket_dump_pdbs', 'Boolean', desc="Generate PDB files",default='false' ),
5937  Option( 'pocket_dump_exemplars', 'Boolean', desc="Generate exemplar PDB files",default='false' ),
5938  Option( 'pocket_filter_by_exemplar', 'Boolean', desc="Restrict the pocket to the exemplars",default='false' ),
5939  Option( 'pocket_dump_rama', 'Boolean', desc="Generate Ramachandran maps for each pocket cluster",default='false' ),
5940  Option( 'pocket_restrict_size', 'Boolean', desc="Pockets that are too large return score of 0",default='false' ),
5941  Option( 'pocket_ignore_buried', 'Boolean', desc="Ignore pockets that are not solvent exposed",default='true' ),
5942  Option( 'pocket_only_buried', 'Boolean', desc="Identify only pockets buried in the protein core (automatically sets -pocket_ignored_buried false)",default='false' ),
5943  Option( 'pocket_psp', 'Boolean', desc="Mark Pocket-Solvent-Pocket events as well",default='true' ),
5944  Option( 'pocket_sps', 'Boolean', desc="Unmark Solvent-Pocket-Solvent events",default='false' ),
5945  Option( 'pocket_search13', 'Boolean', desc="Search in 13 directions (all faces and edges of a cube) versus faces and diagonal",default='false' ),
5946  Option( 'pocket_surface_score', 'Real',default='0',desc='Score given to pocket surface'),
5947  Option( 'pocket_surface_dist', 'Real',default='2.5',desc='Distance to consider pocket surface'),
5948  Option( 'pocket_buried_score', 'Real',default='5.0',desc='Score given to deeply buried pocket points'),
5949  Option( 'pocket_buried_dist', 'Real',default='2.0',desc='Distance to consider pocket buried'),
5950  Option( 'pocket_exemplar_vdw_pen', 'Real',default='300.0',desc='Temporary max penalty for vdW class in exemplar discovery'),
5951  Option( 'pocket_debug_output', 'Boolean', desc="Print any and all debuggind output related to pockets", default='false' ),
5952  Option( 'dump_pocketGrid', 'Boolean', desc="print the pocket grid points into a PDB file",default='false' ),
5953  Option( 'dump_Grid', 'Boolean', desc="print the grid points into a PDB file",default='false' ),
5954  Option( 'extend_eggshell', 'Boolean', desc="Extend the eggshell points",default='false' ),
5955  Option( 'extend_eggshell_dist', 'Real',default='1',desc='Distance to extend eggshell'),
5956  Option( 'extra_eggshell_dist', 'Real',default='4',desc='Distance to extend extra eggshell points'),
5957  Option( 'eggshell_dist', 'Real',default='4',desc='Distance to extend eggshell points from ligand atoms'),
5958  Option( 'reduce_rays', 'Boolean', default='true', desc='reduce no. of rays by rounding and removing duplicate xyz coordinates'),
5959  Option( 'pocket_static_grid', 'Boolean', desc="No autoexpanding grid", default='false' ),
5960  Option( 'dump_espGrid', 'Boolean', desc="print the electrostaticpotential grid into a PDB file",default='false' ),
5961  Option( 'dump_connollySurface', 'Boolean', desc="print the connolly surface points into a PDB file",default='false' ),
5962  Option( 'esp_buffer_dist', 'Real',default='0.5',desc='buffer dist added to Vdw radius atom while assigining electrostatic potential values'),
5963  Option( 'round_pocketGrid_center', 'Boolean', desc="round_pocketGrid_center", default='true' ),
5964  ),
5965  Option_Group('gen_pharmacophore',
5966  Option( 'clash_distance_cutoff', 'Real', default='1.0', desc='clash distance cutoff to include ideal hydrogen bonding atoms'),
5967  Option( 'ring_sasa_cutoff', 'Integer', default='25', desc='ring_sasa_cutoff to include in pharmacophore'),
5968  Option( 'min_num_ring', 'Integer', default='1', desc='minimimum number of rings to be in a cluster'),
5969  Option( 'ring_ring_dist_cutoff', 'Real', default='5.0', desc='ring - ringatom distance to include in the pharmacophore clusters'),
5970  Option( 'ring_atm_dist_cutoff', 'Real', default='5.0', desc='ring - hbond atom distance to include in the pharmacophore clusters'),
5971  ),
5972  Option_Group('fingerprint',
5973  Option( 'print_eggshell', 'Boolean', desc="print the eggshell points into a PDB file",default='false' ),
5974  Option( 'atom_radius_scale', 'Real', default='0.9', desc='Scale to shrink the radius of atom'),
5975  Option( 'atom_radius_buffer', 'Real', default='1.0', desc='Value to subtract from all atomic radii, to match PocketGrid buffer thickness'),
5976  Option( 'packing_weight', 'Real', default='1', desc='Add weight to rho large deviation'),
5977  Option( 'dist_cut_off', 'Real', default='5', desc='set cut_off distance to add packing weight'),
5978  Option( 'include_extrashell_to_set_origin', 'Boolean', desc="include extrashell points to set origin",default='false' ),
5979  Option( 'include_hydrogens', 'Boolean', desc="include hydrogen atoms for fingerprint",default='false' ),
5980  Option( 'multiple_origin', 'Boolean', desc="set multiple origin points for ray casting",default='false' ),
5981  Option( 'use_DARC_gpu', 'Boolean', desc="use GPU when computing DARC score",default='false' ),
5982  Option( 'square_score', 'Boolean', desc="square the terms in DARC scoring function",default='false' ),
5983  Option( 'darc_components', 'Boolean', desc="get the score for individual components in DARC scoring function",default='false' ),
5984  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)'),
5985  Option( 'origin_res_num', 'String', default='1', desc='Residue number:(optional)Chain to be used as origin for ray-casting'),
5986  Option( 'add_esp', 'Boolean', default='false', desc='add electrostatic calculations'),
5987  Option( 'darc_shape_only', 'Boolean', default='false', desc='darc with shape only'),
5988  Option( 'darc_elsts_only', 'Boolean', default='false', desc='darc with electrostatics only'),
5989  Option( 'esp_weight', 'Real', default='0.117', desc='add weight for electrostatic energy'),
5990  Option( 'esp_protein_wt', 'Real', default='0', desc='add weight for electrostatic energy inside protein'),
5991  Option( 'esp_surface_wt', 'Real', default='0', desc='add weight for electrostatic energy on protein surface'),
5992  Option( 'delphi_grid', 'Boolean', desc="input electrostatic potential grid if from DELPHI, default is ZAP grid",default='false' ),
5993  Option( 'cap_e_potential', 'Real', default='10.0', desc='max/min value to cap electrostatic potential'),
5994  Option( 'return_zero_darc_score', 'Boolean', desc="return 0 as darc score",default='false' ),
5995  Option( 'set_surface_esp_to_zero', 'Boolean', desc="set surface electrostatic potential to zero",default='false' ),
5996  Option( 'set_protein_esp_to_zero', 'Boolean', desc="set protein electrostatic potential to zero",default='false' ),
5997  Option( 'inp_lig', 'String', default='inp_lig.pdb', desc='inp_lig'),
5998  Option( 'ref_lig', 'String', default='ref_lig.pdb', desc='ref_lig'),
5999  ),
6000 
6001  Option_Group ( 'ProQ',
6002  Option( 'svmmodel','Integer', desc="SVM model to use (in cross-validation, default is to use all [1-5])",default='1'),
6003  Option( 'basename','String', desc="basename location for sequence specific inputfile)",default=""),
6004  Option( 'membrane','Boolean', desc="use membrane version (ProQM)",default='false'),
6005  Option( 'prof_bug','Boolean', desc="reproduce the profile bug in ProQres",default='false'),
6006  Option( 'output_feature_vector','Boolean', desc="outputs the feature vector",default='false'),
6007  Option( 'output_local_prediction','Boolean', desc="outputs the local predicted values",default='false'),
6008  Option( 'prefix','String', desc="prefix for outputfiles)",default=""),
6009  Option( 'use_gzip','Boolean', desc="gzip output files", default='false'),
6010  Option( 'normalize','Real', desc="Normalizing factor (usually target sequence length)", default='1.0'),
6011  ), # -ProQ
6012 
6013  Option_Group( 'qsar',
6014  Option( 'weights','String',default='talaris2013',desc = 'select qsar weight set to use'),
6015  Option( 'grid_dir','String',desc = 'Directory to store grids in'),
6016  Option( 'max_grid_cache_size','Integer',desc= 'delete old grids if grid cache exceeds specified size')
6017  ), # qsar
6018 
6019  Option_Group( 'rbe',
6020  Option( 'server_url', 'String', desc='serverurl for rosetta backend' ),
6021  Option( 'server_port', 'String', default = '80', desc='port for rosetta backend' ),
6022  Option( 'poll_frequency', 'Real', default='1.0' ),
6023  ),
6024 
6025  Option_Group( 'RBSegmentRelax',
6026  Option( 'input_pdb','File', desc='input pdb file', default='--' ),
6027  Option( 'rb_file','File', desc='input rb segment file', default='--' ),
6028 # Option( 'cst_wt', 'Real', desc='Weight on constraint term in scoring function', default = '0.1' ),
6029 # Option( 'cst_width', 'Real', desc='Width of harmonic constraints on csts', default = '1.0' ),
6030 # Option( 'cst_pdb', 'String', desc='PDB file from which to draw constraints', default = '--' ),
6031  Option( 'nrbmoves', 'Integer', desc='number of rigid-body moves', default = '100' ),
6032  Option( 'nrboutercycles', 'Integer', desc='number of rigid-body moves', default = '5' ),
6033  Option( 'rb_scorefxn', 'String', desc='number of rigid-body moves', default = 'score5' ),
6034  Option( 'skip_fragment_moves', 'Boolean', desc='omit fragment insertions (in SS elements)', default = 'false' ),
6035  Option( 'skip_seqshift_moves', 'Boolean', desc='omit sequence shifting moves', default = 'false' ),
6036  Option( 'skip_rb_moves', 'Boolean', desc='omit rigid-body moves', default = 'false' ),
6037  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)' ),
6038  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)' ),
6039  Option( 'default_movement_params', 'RealVector', desc='default-rotation, default-translation' , default = 'utility::vector1<float>(2,0.0)' ),
6040  Option( 'cst_seqwidth', 'Integer', desc='sequence width on constraints', default = '0' ),
6041  ), # -RBSegmentRelax
6042 
6043  ############################################################################
6044  # CS-Rosetta options
6045  Option_Group('rdc',
6046  Option( 'correct_NH_length', 'Boolean', desc='fix N-H bond-vector to 1.04 as measured in ottiger&bax 98', default='true'),
6047  Option( 'reduced_couplings', 'Boolean', desc='gives more equal weights to different bond-vectors', default='false'),
6048  Option( 'weights', 'File', desc='specify weights for individual residues ( works for all couplings at this reside)' ),
6049  Option( 'iterate_weights', 'Real', desc='do a wRDC computation, i.e., iterate tensor calculation until weights are ~exp ( -dev2/sigma )', default='1' ),
6050  Option( 'segment_file','File',desc='Definition of rigid segments for alignment tensor optimization'),
6051 
6052  Option( 'segment_scoring_mode', 'String',
6053  desc="Type of treatment of alignment tensor-based scoring : pairwise or fixed_axis_z (e.g. for homo-dimers) ",
6054  legal=['pairwise', 'fixed_axis_z', 'fixed_sum']
6055  ),
6056 
6057  Option( 'total_weight','Real',desc='Weight for RDC scores of individual al. tensors', default='1.0'),
6058  Option( 'tensor_weight','Real',desc='Weight for pairwise scoring of al. tensors', default='1.0'),
6059  Option( 'print_rdc_values','File',desc='print computed vs experimental RDC values'),
6060  Option( 'iterate_tol','Real',desc='tolerance for tensor iterations', default='0.01'),
6061  Option( 'iterate_reset','Boolean',desc='reset weights to 1.0 when optimizing for new structure', default='false' ),
6062  Option( 'dump_weight_trajectory','File', desc='if yes, write weights to file for each scoring event'),
6063  Option( 'fix_normAzz', 'RealVector', desc='divide by this axial tensor component' ),
6064 # Option( 'select_residues_file', 'File', desc='loop/rigid-file with RIGID entries that define the set of residues active for RDC score' ),
6065  Option( 'fit_method', 'String', legal = [ 'svd', 'nls'], default = 'nls' ),
6066  Option( 'fixDa', 'RealVector'),
6067  Option( 'fixR', 'RealVector'),
6068  Option( 'nlsrepeat', 'Integer', default = '5' ),
6069  ), # -rdc
6070 
6071  # relax mode -----------------------------------------------------------
6072  Option_Group( 'relax',
6073  ## Different relax modes:
6074  Option( 'fast', 'Boolean', desc='Do a preset, small cycle number FastRelax' ),
6075  Option( 'thorough', 'Boolean', desc='Do a preset, large cycle number FastRelax' ),
6076 # Option( 'membrane', 'Boolean', desc='Do membrane relax', default='false' ),
6077  Option( 'centroid_mode', 'Boolean', desc="Use centroid relax protocol", default='false'),
6078  Option( 'default_repeats', 'Integer', desc='Default number of repeats done by FastRelax. Has no effect if a custom script is used!', default='5' ),
6079  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.' ),
6080  Option( 'cyclic_peptide', 'Boolean', desc='Set up N-to-C constraints in a cyclic peptide' ),
6081 
6082  ## Options for Range Relax
6083  Option_Group('range',
6084  Option( 'set_tm_helical', 'Boolean', desc="Set helical secondary structure in TM region", default='false'),
6085  Option( 'kT', 'Real', desc="Advanced option: kT", default='1.0'),
6086  Option( 'angle_max', 'Real', desc="Maximum dihedral angle deviation for Small and ShearMover inside RangeRelax", default='0.1'),
6087  Option( 'nmoves', 'String', desc="Number of Small and Shear moves inside RangeRelax, can be \'nres\' for all residues or an integer", default='nres'),
6088  Option( 'spherical_wave', 'Boolean', desc="Relax in a spherical wave pattern starting at the center residue outwards.", default='false'),
6089  Option( 'repack_again', 'Boolean', desc="Do an additional round of repacking all residues after the RangeRelax", default='false'),
6090  Option( 'cycles', 'Integer', desc="Maximum number of cycles for repacking and minimization. Default 3", default='3'),
6091  Option( 'min_cycles', 'Integer', desc="Maximum number of cycles within the Minimizer. Default 2000", default='2000'),
6092  Option( 'idealize', 'Boolean', desc="Idealize decoy after run. Default: true", default='true'),
6093  ),
6094 
6095  ## Options for Sequence Relax
6096  Option( 'ramady', 'Boolean', desc='Run ramady code which aleviates stuck bad ramachandran energies', default='false' ),
6097  Option( 'ramady_rms_limit', 'Real', desc='(ramady-only) Reject rama changes which perturb structure by more than this', default='0.5' ),
6098  Option( 'ramady_cutoff', 'Real', desc='(ramady-only) Cutoff at which a rama is considered bad', default='2.0' ),
6099  Option( 'ramady_max_rebuild', 'Integer', desc='(ramady-only) The maximum number of bad ramas to fix per repack-min cycle', default='1' ),
6100  Option( 'ramady_force', 'Boolean', desc='(ramady-only) Force rebuilding of bad ramas (normal skip-rate = 10%)', default='false' ),
6101  Option( 'script', 'File', desc='Relax script file', default='' ),
6102  Option( 'script_max_accept', 'Integer', desc='Limit number of best accepts', default = '10000000' ),
6103 
6104  Option( 'superimpose_to_native', 'Boolean', desc='Superimpose input structure to native', default='false' ),
6105  Option( 'superimpose_to_file', 'File', desc='Superimpose input structure to file', default='false' ),
6106  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" ),
6107  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" ),
6108  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" ),
6109  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)' ),
6110  Option( 'limit_aroma_chi2', 'Boolean', desc = "limit chi2 rotamer of PHE,TYR, and HIS around 90 ", default="false" ),
6111  Option( 'respect_resfile', 'Boolean', desc = "Tell FastRelax to respect the input resfile. Used mainly for doing design within FastRelax.", default="false"),
6112 
6113  ## Options to manipulate the movemap
6114  Option( 'bb_move', 'Boolean', default='true', desc='allow backbone to move during relax'),
6115  Option( 'chi_move', 'Boolean', default='true', desc='allow sidechain to move during relax'),
6116  Option( 'jump_move', 'Boolean', default='false', desc='allow jump to move during relax'),
6117  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.'),
6118  Option( 'fix_omega', 'Boolean', default='false', desc='Fix omega angles during relax' ),
6119  Option( 'minimize_bond_lengths', 'Boolean', default='false', desc='Free bond length DOFs during relax for all atoms' ),
6120  Option( 'minimize_bond_angles', 'Boolean', default='false', desc='Free bond angle DOFs during relax for all atoms' ),
6121  Option( 'minimize_bondlength_subset', 'Integer', legal=[ '0', '1', '2', '3'], default='0',
6122  desc="Minimize only a subset of bondlengths \
6123 0 Default all bondlengths \
6124 1 backbone only \
6125 2 sidechain only \
6126 3 CA only (Ca-C,Ca-N and Ca-Cb)",
6127  ),
6128  Option( 'minimize_bondangle_subset', 'Integer', legal=[ '0', '1', '2', '3', '4'], default='0',
6129  desc="Minimize only a subset of bondlengths \
6130 0 Default all bondangles \
6131 1 backbone only \
6132 2 sidechain only \
6133 3 tau only \
6134 4 Ca-Cb only",
6135  ),
6136  ## Use an alternate minimizer
6137  Option( 'min_type', 'String', default = 'dfpmin_armijo_nonmonotone', desc = 'minimizer to use during relax.'),
6138  Option( 'cartesian', 'Boolean', default='false', desc='Use Cartesian minimizer' ),
6139 
6140  Option( 'chainbreak_weight', 'Real', desc='chainbreak weight', default='0.0'),
6141  Option( 'linear_chainbreak_weight', 'Real', desc='linear chainbreak weight', default='0.0'),
6142  Option( 'overlap_chainbreak_weight', 'Real', desc='overlap chainbreak weight', default='0.0'),
6143 
6144 
6145  # Older, deprecated protocols
6146  Option( 'classic', 'Boolean', desc='Do very old classic relax ! This is a poor protocol - don\'t use it !' ),
6147  Option( 'sequence_file', 'File', desc='Relax script file', default='' ),
6148  Option( 'quick', 'Boolean', desc='Do a preset, small cycle number FastRelax' ),
6149  Option( 'sequence', 'Boolean', desc='Do a preset, small cycle number FastRelax' ),
6150 
6151  Option( 'minirelax_repeats', 'Integer', desc='', default='2'),
6152  Option( 'minirelax_sdev', 'Real', desc='tether on coordinate constraints for minirelax', default='0.5' ),
6153  Option( 'wobblemoves', 'Boolean', desc='Do Wobble moves ?', default="false" ),
6154  Option( 'constrain_relax_segments', 'File', desc='loop definition file', default='' ),
6155  Option( 'coord_cst_width', 'Real', desc='Width on coordinate constraints from constrain_relax_* options', default='0.0' ),
6156  Option( 'coord_cst_stdev', 'Real', desc='Stdev on coordinate constraints from constrain_relax_* options', default='0.5' ),
6157  Option( 'ramp_constraints', 'Boolean', desc='Ramp constraints during phase1 of relax from full to zero', default='false' ),
6158  Option( 'energycut', 'Real', desc='Rottrial energycut (per residue!)', default='0.01'),
6159  Option( 'mini', 'Boolean', desc='perform a relax that is only a minimization and repack.', default='false' ),
6160  Option( 'stage1_ramp_cycles', 'Integer', desc='Ramp cyclesin stage 1 ', default='8'),
6161  Option( 'stage1_ramp_inner_cycles', 'Integer', desc='Inner cycles means how many small shear moves + rottrials', default='1'),
6162  Option( 'stage2_repack_period', 'Integer', desc='Full repack after how many cycles in stage 2', default='100'),
6163  Option( 'stage2_cycles', 'Integer', desc='How many stage 2 cycles ? (by default its -1 means Nresidues*4 )', default='-1'),
6164  Option( 'min_tolerance', 'Real', desc='Minimizer tolerance', default='0.00025'),
6165  Option( 'stage3_cycles', 'Integer', desc='How many stage 3 cycles ? (by default its -1 means Nresidues )', default='-1'),
6166  Option( 'cycle_ratio', 'Real', desc='Post-multiplier for cycle numbers', default='1.0'),
6167  Option( 'filter_stage2_beginning', 'Real', desc='FArelax score filter', default='99999999.00'),
6168  Option( 'filter_stage2_quarter', 'Real', desc='FArelax score filter', default='99999999.00'),
6169  Option( 'filter_stage2_half', 'Real', desc='FArelax score filter', default='99999999.00'),
6170  Option( 'filter_stage2_end', 'Real', desc='FArelax score filter', default='99999999.00'),
6171 
6172  ## Options for CentroidRelax
6173  Option_Group('centroid',
6174  Option( 'weights', 'String', desc="Weights to use for centroid minimization", default='score4_smooth_cen_relax'),
6175  Option( 'ramp_vdw', 'Boolean', desc="Ramp up the VDW weight", default='true'),
6176  Option( 'ramp_rama', 'Boolean', desc="Ramp up the rama/rama2b weight", default='false'),
6177  Option( 'parameters', 'String', desc="Database file for ramp/min parameter", default='sampling/cen_relax/default_relax_parameters.txt'),
6178  Option( 'do_final_repack', 'Boolean', desc="Repack sidechains in movemap after protocol if given a fullatom structure", default='false'),
6179  Option( 'increase_vdw_radii','Boolean', desc="Increase BB vdw radii", default='false'),
6180  ), # -relax:centroid
6181  ), # -relax
6182 
6183  ##remodel
6184  Option_Group( 'remodel',
6185 # Option( 'help', 'Boolean', desc='help menu.'),
6186 # Option( 'autopilot', 'Boolean', desc='autopilot'),
6187  Option( 'blueprint', 'File', desc='blueprint file name'),
6188 # Option( 'cstfile', 'File', desc='description'),
6189  Option( 'cstfilter', 'Integer', desc='filter cst energy', default='10'),
6190  Option( 'cen_sfxn', 'String', desc = 'centroid score function to be used for building', default='remodel_cen'),
6191  Option( 'check_scored_centroid', 'Boolean', desc = 'dump centroid structures after build'),
6192  Option( 'num_trajectory', 'Integer', desc='Number of remodel trajectories.', default = '10'),
6193  Option( 'save_top' , 'Integer', desc= 'the number of final low scoring pdbs to keep.', default = '5'),
6194  Option( 'swap_refine_confirm_protocols' , 'Boolean', desc= 'swapping the protocols used refinement and confirmation', default = 'false'),
6195 # Option( 'num_frag_moves', 'Integer', desc= 'number of fragment moves to try in the centroid stage.'),
6196  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.'),
6197  Option( 'use_same_length_fragments', 'Boolean' , desc= 'harvest fragments that matches the length to rebuild', default = 'true'),
6198 # Option( 'enable_ligand_aa', 'Boolean' , desc= 'handles ligand attachment and clash check after centroid build.'),
6199  Option( 'no_jumps', 'Boolean', desc= 'will setup simple foldtree and fold through it during centroid build.'),
6200 # Option( 'backrub', 'Boolean', desc= 'run backrub MC trajectory after every completed loop building attempt'),
6201  Option( 'use_blueprint_sequence ', 'Boolean', desc=' picks fragments based on both secondary structure and the second column (sequence) in blueprint file'),
6202 # Option( 'randomize_equivalent_fragments ', 'Boolean', desc=' will randomize identical scoring fragments; without either this flag or'),
6203  Option( 'quick_and_dirty ', 'Boolean', desc=' only do fragment insertion'),
6204  Option( 'checkpoint ', 'Boolean', desc=' this writes out the best pdbs collected so far after each design step.'),
6205 # 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.'),
6206  Option( 'use_pose_relax ', 'Boolean', desc=' an alternative to the default minimization step, but use constraints in a similar way.'),
6207  Option( 'use_cart_relax ', 'Boolean', desc=' an alternative to the default minimization step, but use constraints in a similar way.'),
6208  Option( 'free_relax ', 'Boolean', desc=' running pose_relax with no constraints.'),
6209 # Option( 'use_dssp_assignment' , 'Boolean', desc=' use dssp assignment.'),
6210 # Option( 'keep_jumps_in_minimizer ', 'Boolean', desc=' no constraint is setup for minimization, only rebuilt regions allow bbmove.'),
6211 # Option( 'output_fragfiles', 'File', desc='output fragment file [filename ,e.g. aafr01].'),
6212 # Option( 'read_fragfile' , 'File' , desc='read fragment file.'),
6213  Option( 'generic_aa' , 'String' , desc='the type of AA for centroid building', default='V'),
6214  Option( 'cluster_radius', 'Real', desc='cluster radius for accumulator, default to auto set value', default = '-1.0'),
6215  Option( 'use_clusters', 'Boolean', desc='use clustering in accumulator', default = 'false'),
6216  Option( 'run_confirmation', 'Boolean', desc='use KIC rms confirmation', default = 'false'),
6217  Option( 'cluster_on_entire_pose', 'Boolean', desc='cluster use all pose, not just loops', default = 'false'),
6218 # Option( 'collect_clustered_top', 'Integer', desc='take the best N from each cluster', default = '1'),
6219  Option( 'dr_cycles', 'Integer', desc='number of design-refine cycles to use', default = '3'),
6220  Option( 'two_chain_tree', 'Integer', desc='label the start of the second chain'),
6221  Option( 'repeat_structure', 'Integer', desc='build identical repeats this many times', default='1'),
6222  Option( 'lh_ex_limit', 'Integer', desc='loophasing neighboring bin expansion limit', default='5'),
6223  Option( 'lh_filter_string', 'StringVector', desc='loophash ABEGO filter target fragment type. list sequentially for each loop'),
6224  Option( 'lh_cbreak_selection', 'Integer', desc='loophash with cbreak dominant weight', default='10'),
6225  Option( 'lh_closure_filter', 'Boolean', desc='filter for close rms when bypass_closure is used', default='false'),
6226  Option( 'cen_minimize', 'Boolean' , desc= 'centroid minimization after fragment building', default = 'false'),
6227  Option( 'core_cutoff', 'Integer', desc='number of neighbors required to consider core in auto design', default = '18'),
6228  Option( 'boundary_cutoff', 'Integer', desc='number of neighbors required to consider boundary in auto design', default = '15'),
6229  Option( 'resclass_by_sasa', 'Boolean' , desc= 'switch to use sasa for residue classification', default = 'false'),
6230 
6231  Option( 'helical_rise', 'Real', desc='helical parameter: rise', default = '0.0'),
6232  Option( 'helical_radius', 'Real', desc='helical parameter: radius', default = '0.0'),
6233  Option( 'helical_omega', 'Real', desc='helical parameter: omega', default = '0.0'),
6234  Option( 'COM_sd', 'Real', desc='center of mass coordinate constraint sd value', default = '1.0'),
6235  Option( 'COM_tolerance', 'Real', desc='center of mass coordinate constraint tolerance value', default = '0.0'),
6236 
6237  Option( 'vdw', 'Real', desc='set vdw weight', default = '1.0'),
6238  Option( 'rama', 'Real', desc='set rama weight', default = '0.1'),
6239  Option( 'cbeta', 'Real', desc='set cbeta weight', default = '0.0'),
6240  Option( 'cenpack', 'Real', desc='set cenpack weight', default = '0.0'),
6241  Option( 'rg_local', 'Real', desc='set rg_local weight', default = '0.0'),
6242  Option( 'hb_lrbb', 'Real', desc='set hbond_lrbb weight', default = '0.0'),
6243  Option( 'hb_srbb', 'Real', desc='set hbond_srbb weight', default = '0.0'),
6244  Option( 'rg', 'Real', desc='set rg weight'),
6245  Option( 'rsigma', 'Real', desc='set rsigma weight', default = '0.0'),
6246  Option( 'ss_pair', 'Real', desc='set sspair weight', default = '0.0'),
6247  Option( 'build_disulf', 'Boolean', desc='build disulfides', default = 'false'),
6248 # Option( 'max_disulf_allowed', 'Integer', desc='number of disulf pairs can be generated at a time', default = '1'),
6249  Option( 'match_rt_limit', 'Real', desc='match RT score cutoff', default = '0.4'),
6250  Option( 'disulf_landing_range', 'IntegerVector', desc='residue range for disulf landing sites', n = '2'),
6251 # Option( 'rank_by_bsasa' ,'Boolean', desc= 'rank results by bsasa.'),
6252 
6253  Option_Group( 'staged_sampling',
6254  Option( 'staged_sampling', 'Boolean', desc = 'sampling first with 9mers then 3mers. Staged energies. For rebuilding entire structure not loop closure', default = 'false'),
6255  Option( 'residues_to_sample', 'File', desc = 'residues to allow sampling (format:1,3,5)', default = ''),
6256  Option( 'starting_sequence', 'String', desc = 'AA sequence to start', default = ''),
6257  Option( 'starting_pdb', 'File', desc = 'pdb to start', default = ''),
6258  Option( 'require_frags_match_blueprint', 'Boolean', desc = 'makes sure the frags match the definition in the blueprint', default = 'true'),
6259  Option( 'start_w_ideal_helices', 'Boolean', desc = 'begins with all helices set to -63.8 phi and -41.1 for psi.', default = 'false'),
6260  Option( 'sample_over_loops', 'Boolean', desc = 'sample residues defined as loops in the blueprint', default = 'false'),
6261  Option( 'small_moves', 'Boolean', desc = 'add a stage of small moves', default = 'false'),
6262  Option( 'fa_relax_moves', 'Boolean', desc = 'Adds a stage of fa relax', default = 'false'),
6263  ), # -remodel:staged_sampling
6264  Option_Group( 'domainFusion',
6265  Option( 'insert_segment_from_pdb', 'File', desc='segment pdb file to be inserted [insert pdb file name].', default=''),
6266  #Option( 'rigid_segment_in_refinement', 'Boolean', desc=' rigid segment in refinement.'),
6267  ), # -remodel:domainFusion
6268  Option_Group( 'design',
6269  Option( 'no_design ', 'Boolean', desc=' skips all design steps. WARNING: will only output centroid level structures and dump all fragment tries.' ),
6270  Option( 'design_all', 'Boolean', desc=' force AUTO design procedure (layered) to perform design on all positions. ' ),
6271  Option( 'allow_rare_aro_chi', 'Boolean', desc='allow all aromatic rotamers, not issuing AroChi2 filter', default= 'false' ),
6272 # Option( 'silent', 'Boolean', desc=' dumps all structures by silent-mode WARNING: will work only during no_design protocol (see -no_design).' ),
6273  Option( 'skip_partial', 'Boolean', desc=' skip design stage that operate only on burial positions', default = 'false' ),
6274  Option( 'design_neighbors', 'Boolean', desc= 'design neighbors.', default='false'),
6275  Option( 'find_neighbors', 'Boolean', desc = 'find neighbors for design/repack' ,default= 'false' ),
6276  ), # -remodel:design
6277 
6278  ## remodel loop mover options
6279  Option_Group( 'RemodelLoopMover',
6280  Option( 'max_linear_chainbreak', 'Real', desc="linear chainbreak is <= this value, loop is considered closed (default 0.07) ", default = '0.07' ),
6281  Option( 'randomize_loops', 'Boolean', desc="randomize loops prior to running main protocol (default true)", default='true' ),
6282  Option( 'use_loop_hash', 'Boolean', desc="centroid build with loop hash (default false)", default='false' ),
6283  Option( 'allowed_closure_attempts', 'Integer', desc="the allowed number of overall closure attempts (default 1)", default='1' ),
6284  Option( 'loophash_cycles', 'Integer', desc="the number of loophash closure cycles to perform (default 8)", default='8' ),
6285  Option( 'simultaneous_cycles', 'Integer', desc="the number of simultaneous closure cycles to perform (default 2)", default='2' ),
6286  Option( 'independent_cycles', 'Integer', desc="the number of independent closure cycles to perform (default 8)", default='8' ),
6287  Option( 'boost_closure_cycles', 'Integer', desc="the maximum number of possible lockdown closure cycles to perform (default 30)", default='30' ) ,
6288  Option( 'force_cutting_N', 'Boolean', desc="force a cutpoint at N-term side of blueprint assignment", default='false' ) ,
6289  Option( 'bypass_closure', 'Boolean', desc="turning off CCD closure in the mover for tethered docking purpose", default='false' ),
6290  Option( 'cyclic_peptide', 'Boolean', desc="circularize structure joining N and C-term.", default='false' ),
6291  Option( 'temperature', 'Real', desc="temperature for monte carlo ( default 2.0)", default='2.0' ),
6292 # Option( 'max_chews', 'Integer', desc='maxium number of residues to chew on either side of loop', default='1'),
6293  ), # -remodel:RemodelLoopMover
6294  ), # -remodel
6295 
6296  Option_Group( 'resample',
6297  Option( 'silent', 'File', desc='a silent file for decoys to restart sampling from ', default='' ),
6298  Option( 'tag', 'String', desc='which decoy to select from silent file ', default='' ),
6299  Option( 'stage1', 'Boolean', desc='if true restart after stage1, otherwise after stage2 ', default='false' ),
6300  Option( 'stage2', 'Boolean', desc='if true restart after stage1, otherwise after stage2 ', default='false' ),
6301  Option( 'jumps', 'Boolean', desc='if true restart after stage1, otherwise after stage2 ', default='false' ),
6302  Option( 'min_max_start_seq_sep','RealVector', desc='range of (random) start values for seq-separation', default='0' ),
6303  ), # -resample
6304 
6305  # rescore mode -----------------------------------------------------------
6306  Option_Group( 'rescore',
6307 # Option( 'pose_metrics', 'Boolean', desc="Do pose metrics calc" ),
6308  Option( 'assign_ss', 'Boolean', desc="Invoke DSSP to assign secondary structure.", default = 'false' ),
6309  Option( 'skip', 'Boolean', desc="Dont actually call scoring function (i.e. get evaluators only)" ),
6310  Option( 'verbose', 'Boolean', desc="Full break down of weights, raw scores and weighted scores ?" ),
6311 # Option( 'msms_analysis', 'String', desc="Run MSMS on the structure and determine surface properties. " ),
6312  ), # -rescore
6313 
6314  Option_Group( 'rna',
6315  Option( 'corrected_geo', 'Boolean', desc="Use PHENIX-based RNA sugar close energy and params files", default='true'),
6316  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' ),
6317  Option( 'vary_geometry','Boolean', desc='Let bond lengths and angles vary from ideal in minimizer', default='false' ),
6318  Option( 'data_file', 'String', desc="RDAT or legacy-format file with RNA chemical mapping data",default='' ),
6319 
6320  Option_Group( 'farna',
6321  Option( 'cycles', 'Integer', desc= "Default number of Monte Carlo cycles",default='0' ), # now default is set based on the number of moving residues
6322  Option( 'temperature', 'Real', desc= "temperature",default='2.0' ),
6323  Option( 'minimize_rna', 'Boolean', desc= "Minimize RNA after fragment assembly",default='false' ),
6324  Option( 'params_file', 'String', desc= "Input file for pairings",default="default.prm" ),
6325  Option( 'lores_scorefxn', 'String', desc= "Low resolution scorefunction weights file",default="farna/rna_lores.wts" ),
6326  Option( 'filter_lores_base_pairs', 'Boolean', desc= "Filter for models that satisfy structure parameters",default= 'true' ),
6327  Option( 'filter_lores_base_pairs_early', 'Boolean', desc= "Filter for models that satisfy structure parameters at round 2 of 10",default= 'true' ),
6328  Option( 'filter_chain_closure', 'Boolean', desc= "Filter for models that have closed chains after lores before minimize",default='true' ),
6329  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' ),
6330  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' ),
6331  Option( 'relax_rna', 'Boolean', desc= "Relax RNA after fragment assembly",default='false' ),
6332  Option( 'simple_relax', 'Boolean', desc= "Relax by minimizing after any fragment insertion",default='false' ),
6333  Option( 'ignore_secstruct', 'Boolean', desc= "Ignore sec struct in input file",default='false' ),
6334  Option( 'jump_change_frequency', 'Real', desc= "jump change frequency",default='0.1' ),
6335  Option( 'close_loops', 'Boolean', desc= "close loops after de novo protocol and again after minimization",default= 'true' ), # this should always be on.
6336  Option( 'close_loops_after_each_move', 'Boolean', desc= "close loops during frag insertion and jump mover -- can be expensive",default= 'false' ),
6337  Option( 'output_lores_silent_file', 'Boolean', desc= "output lores stuff",default= 'false' ),
6338  Option( 'heat', 'Boolean',desc= "Heat (random frag insertions)", default='false' ),
6339  Option( 'dump', 'Boolean', desc= "Dump pdb",default= 'false' ),
6340  Option( 'staged_constraints', 'Boolean', desc= "Apply constraints in stages depending on sequence separation",default= 'false' ),
6341  Option( 'jump_library_file', 'String', desc= "Input file for jumps",default="sampling/rna/1jj2_RNA_jump_library.dat" ),
6342  Option( 'vall_torsions', 'String', desc='Torsions file containing information on fragments from RNA models', default='rna.torsions' ),
6343  Option( 'use_1jj2_torsions', 'Boolean',desc= "Use original (ribosome) fragments, 1JJ2", default='false' ),
6344  Option( 'rna_lores_chainbreak_weight', 'Real', desc= "chainbreak weight for lo res sampling",default='0.0' ),
6345  Option( 'rna_lores_linear_chainbreak_weight', 'Real', desc= "linear chainbreak weight for lo res sampling",default='0.0' ),
6346  Option( 'allow_bulge ', 'Boolean', desc= "Automatically virtualize residues that are not energetically stable",default= 'false' ),
6347  Option( 'allowed_bulge_res', 'IntegerVector', desc= "Use with allow_bulge, allowable pos for virtualization",default=[] ),
6348  Option( 'allow_consecutive_bulges', 'Boolean', desc= "allow_consecutive_bulges",default= 'false' ),
6349  Option( 'binary_output', 'Boolean', desc= "force output to binary rna silentstruct",default= 'false' ),
6350  Option( 'move_first_rigid_body', 'Boolean', desc= "first_rigid_body is usually kept frozen, but might be useful to sample it.",default= 'false' ),
6351  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' ),
6352  Option( 'suppress_bp_constraint', 'Real', desc= "Factor by which to lower base pair constraint weight. ",default='1.0' ),
6353  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' ),
6354  Option( 'autofilter', 'Boolean', desc= "Automatically skip output/minimize if lores score is worse than 20th percentile, updated on the fly.",default= 'true' ),
6355  Option( 'output_res_num', 'ResidueChainVector', desc= "Numbering (and chain) of residues in output PDB or silent file",default=[] ),
6356  Option( 'refine_silent_file', 'String', desc= "Name of the silent file to be refined.",default="" ),
6357  Option( 'refine_native', 'Boolean', desc= "Refine starting from the native pose",default= 'false' ),
6358  Option( 'bps_moves', 'Boolean', desc= "Base pair step moves",default= 'false' ),
6359  Option( 'disallow_bps_at_extra_min_res', 'Boolean', desc= "Disallow base pair step moves inside input domains, even extra_min_res",default= 'false' ),
6360  Option( 'allow_fragment_moves_in_bps', 'Boolean', desc= "Allow fragment/jump moves in regions claimed by base pair steps",default= 'false' ),
6361 
6362  Option_Group('db',
6363  Option( 'jump_database', 'Boolean', desc='Generate a database of jumps extracted from base pairings from a big RNA file', default='false' ),
6364  Option( 'bps_database', 'Boolean', desc='Generate a database of base pair steps extracted from a big RNA file', default='false' ),
6365  ), # -rna:farna:database
6366 
6367  Option_Group('minimize',
6368  Option( 'minimize_rounds', 'Integer', desc='The number of rounds of minimization.', default = '2' ),
6369  Option( 'skip_coord_constraints', 'Boolean', desc='Skip first stage of minimize with coordinate constraints',default='false' ),
6370  Option( 'skip_o2prime_trials', 'Boolean', desc='No O2* packing in minimizer',default='false' ),
6371  Option( 'deriv_check', 'Boolean', desc="In rna_minimize, check derivatives numerically", default='false' ),
6372  Option( 'minimizer_use_coordinate_constraints', 'Boolean', desc= "Use coordinate constraints for first round of minimizer",default= 'true' ),
6373  Option( 'minimize_bps', 'Boolean', desc= "Minimize base pair steps (from Rosetta library)",default= 'true' ),
6374  Option( 'extra_minimize_res', 'IntegerVector', desc= "Extra residues during minimize step",default=[] ),
6375  Option( 'extra_minimize_chi_res', 'IntegerVector', desc= "Extra side-chain chis to move during minimize step",default=[] ),
6376  ), # -rna:farna:minimize
6377  ), # -rna:farna
6378  ), # -rna
6379 
6380  Option_Group('rotamerdump',
6381  Option('xyz','Boolean',default= 'false',desc="when using the RotamerDump application, output the xyz coords of every rotamer"),
6382  Option('one_body','Boolean',default='false',desc="when using the RotamerDump application, output the one_body energies of every rotamer"),
6383  Option('two_body','Boolean',default='false',desc="when using the RotamerDump application, output the two_body energies of every rotamer"),
6384  Option('annealer','Boolean',default='false',desc="Run the annealer and output the rotamers it chose"),
6385  ), # -rotamerdump
6386 
6387  Option_Group( 'sample_around',
6388  Option( 'alpha_increment', 'Real', desc= "if sampling jump, rotation increment, in degrees", default='40.0' ),
6389  Option( 'cosbeta_increment', 'Real', desc= "if sampling jump, cosbeta increment, no units", default='0.25' ),
6390  Option( 'gamma_increment', 'Real', desc= "if sampling jump, rotation increment, in degrees", default='40.0' ),
6391  ), #sample_around
6392 
6393  ###############################################################################
6394  ## peptide specificity / flexible backbone design options (chrisk)
6395  Option_Group( 'sicdock',
6396  Option( 'clash_dis' , 'Real', default='3.5' , desc="max acceptable clash dis"),
6397  Option( 'contact_dis' , 'Real', default='12.0', desc="max acceptable contact dis"),
6398  Option( 'hash_2D_vs_3D', 'Real', default='1.3' , desc="grid spacing top 2D hash"),
6399 # Option( 'term_min_expose', 'Real', default='0.1' , desc="terminus at least X exposed"),
6400 # Option( 'term_max_angle', 'Real', default='45.0' , desc="terminus at most X degrees from XY plane"),
6401  ), # -sicdock
6402 
6403  ################################
6404  ## In development helix assembly options
6405  Option_Group( 'sewing',
6406 
6407  ##General options
6408  Option('model_file_name','File', desc="Filename for model file (creation or reading)"),
6409  Option('score_file_name','File', desc="Filename for scores file (creation or reading)"),
6410 
6411  ##ModelTrimmer options
6412  Option('new_model_file_name','File', desc="Filename for new model file to be written"),
6413  Option('remove_any_dssp','String', desc="If a given model has *any* segments with this DSSP, remove it", default=""),
6414  Option('remove_all_dssp','String', desc="If a given model has *all* non-loop segments with this DSSP, remove it", default=""),
6415  Option('min_helix_length','Integer', desc="Helices less than supplied length will be removed from model file", default='0'),
6416  Option('max_helix_length','Integer', desc="Helices greater than supplied length will be removed from model file", default='1000'),
6417  Option('min_loop_length','Integer', desc="Loops less than supplied length will be removed from model file", default='0'),
6418  Option('max_loop_length','Integer', desc="Loops greater than supplied length will be removed from model file", default='1000'),
6419  Option('min_strand_length','Integer', desc="Strands less than supplied length will be removed from model file", default='0'),
6420  Option('max_strand_length','Integer', desc="Strands greater than supplied length will be removed from model file", default='1000'),
6421 
6422  Option('leave_models_by_ss_num','Boolean', desc="Only models with certain number of secondary structures remain", default='false'),
6423  Option('model_should_have_this_num_of_ss','Integer', desc="Only models with this number of secondary structures remain", default='5'),
6424 
6425  Option('model_should_have_at_least_one_E_at_terminal_segment','Boolean', desc="model_should_have_at_least_one_E_at_terminal_segment", default='false'),
6426  Option('model_should_have_at_least_one_E','Boolean', desc="model_should_have_at_least_one_E", default='false'),
6427  Option('leave_models_with_E_terminal_ss','Boolean', desc="leave only models_with_E_terminal_ss", default='false'),
6428  Option('leave_antiparallel_way_H_bonded_models_by_terminal_strands_only','Boolean', desc="leave only anti-pa H_bonded_models by_terminal_strands", default='false'),
6429  Option('leave_parallel_way_H_bonded_models_by_terminal_strands_only','Boolean', desc="leave only pa H_bonded_models by_terminal_strands", default='false'),
6430  Option('box_length','Integer', desc="Neighborhood lookup box size, 3 for 27 boxes, 4 for 64 boxes etc",default='3'),
6431 
6432 
6433  ##SewingHasher and ModelDumper options
6434  Option( 'mode', 'String',
6435  desc="The mode sewing_hasher should run.",
6436  default='hash',
6437  legal=["hash", "generate", "generate_five_ss_model", "convert", "test"]),
6438 
6439  Option('num_models_to_dump','Integer', desc="Used for ModelDumper. How many random models should be dumped?"),
6440  Option('models_to_dump','IntegerVector', desc="Used for ModelDumper for specifying model ids you want to dump"),
6441  Option('min_hash_score','Integer', desc="Minimum number of overlapping atoms per segment", default='10'),
6442  Option('max_clash_score','Integer', desc="Maximum number of atoms found in the same bin, but not from superimposed fragments",default='0'),
6443  Option('num_segments_to_match','Integer', desc="Number of segments required to have min_hash_score atom matches",default='1'),
6444  Option('match_segments','IntegerVector', desc="Segment scored by the hasher"),
6445 
6446  Option('max_models','Integer', desc="Maximum models to hash, for testing purposes only"),
6447  Option('starting_model','Integer', desc="Starting model for hashing"),
6448  Option('num_procs','Integer', desc="Number of processors to split up hashing with"),
6449  Option('rank','Integer', desc="The processor rank for this process"),
6450  Option('hash_tag_only_terminal_Es','Boolean', desc="hash_tag_only_terminal_Es",default='false'),
6451 
6452  ##Base AssemblyMover options
6453  Option('assembly_type','String', desc="Type of Assembly class to generate", default='continuous'),
6454  Option('num_edges_to_follow','Integer',desc="Maximum number of edges on graph to follow"),
6455  Option('base_native_bonus','Real',desc="Weighting term for packing native rotamers"),
6456  Option('neighbor_cutoff','Integer',desc="Cutoff for favoring natives in SEWING refinement. Any residues with fewer neighbors is not favored"),
6457  Option('dump_pdbs','Boolean', desc="Dump intermediate PDBs", default='false'),
6458  Option('skip_refinement','Boolean', desc="Should you refine the final assembly", default='false'),
6459  Option('skip_filters','Boolean', desc="Should the Assembly be filtered before refinment", default='false'),
6460  Option('min_motif_score','Real',desc="Minimum allowable motif score", default='20'),
6461 
6462  ##ClashScore options
6463  Option('offset_bump_dsq','Real', desc="offset to bump_dsq", default='0'),
6464 
6465  ##RepeatAssembly options
6466  Option('num_repeats','Integer', desc="Number of repeats to print in final structures", default='3'),
6467  Option('repeat','Boolean', desc="Should the AssemblyConstraintsMover treat this as a repeat?", default='false'),
6468 
6469  ##SewingAppend options
6470  Option('pose_segment_starts','IntegerVector', desc="Segment begin indices"),
6471  Option('pose_segment_ends','IntegerVector', desc="Segment end indices"),
6472  Option('keep_source_segments', 'Boolean', desc="Keep the source segments rather than the target segments. For use with append", default='false'),
6473  Option('partner_pdb', 'File', desc="A PDB that is not part of the Assembly, but will be used for clash checking"),
6474  Option('keep_model_residues', 'IntegerVector', desc="A list of residues from the input pose that will not be designed (but are repacked)"),
6475 
6476  ##LoopHashAssemblyMover options
6477  Option('min_lh_fragments','Integer', desc="Minimium number of LoopHash fragments necessary for each designed loop", default='10'),
6478  Option('skip_loop_generation','Boolean', desc="Should you skip generation of loops", default='false'),
6479 
6480  ##ExhaustiveAssemblyMover options
6481  Option('max_ss_num','Integer', desc="max_ss_num", default='5'),
6482  Option('dump_every_model_for_devel_purpose','Boolean', desc="dump_every_model_for_devel_purpose", default='false'),
6483  ), # -sewing
6484 
6485  Option_Group( 'SSrbrelax',
6486 # Option( 'input_pdb','File', desc='input pdb file', default='input_pdb' ),
6487  Option( 'rb_file','File', desc='rb definition file', default='rb_file' ),
6488  Option( 'rb_param_file','File', desc='rb param file', default='rb_param_file' ),
6489  Option( 'frag_sizes','IntegerVector', desc='lengths of fragments to be used in loop modeling', default=['9','3','1']),
6490  Option( 'frag_files', 'FileVector', desc='fragment libraries files', default=['FragFile9','FragFile3','FragFile1'] ),
6491  ), # -SSrbrelax
6492 
6493  ################################
6494  # step-wise assembly options
6495  Option_Group( 'stepwise',
6496  Option( 's1', 'StringVector',desc="input file(s)"),
6497  Option( 's2', 'StringVector',desc="input file(s)"),
6498  Option( 'silent1', 'StringVector',desc="input file"),
6499  Option( 'silent2', 'StringVector',desc="input file"),
6500  Option( 'tags1', 'StringVector',desc="input tag(s)"),
6501  Option( 'tags2', 'StringVector',desc="input tag(s)"),
6502  Option( 'slice_res1', 'IntegerVector',desc='Residues to slice out of starting file',default=[]),
6503  Option( 'slice_res2', 'IntegerVector',desc='Residues to slice out of starting file',default=[]),
6504  Option( 'input_res1', 'IntegerVector',desc='Residues already present in starting file',default=[]),
6505  Option( 'input_res2', 'IntegerVector',desc='Residues already present in starting file2',default=[]),
6506  Option( 'backbone_only1', 'Boolean', desc="just copy protein backbone DOFS, useful for homology modeling"),
6507  Option( 'backbone_only2', 'Boolean', desc="just copy protein backbone DOFS, useful for homology modeling"),
6508  Option( 'fixed_res', 'IntegerVector', desc='Do not move these residues during minimization.', default=[] ),
6509  Option( 'test_encapsulation', 'Boolean', desc="Test ability StepWiseRNA Modeler to figure out what it needs from just the pose - no JobParameters", default="false" ),
6510  Option( 'choose_random', 'Boolean', desc="ask swa residue sampler for a random solution", default="false" ),
6511  Option( 'num_random_samples', 'Integer', desc="In choose_random/monte-carlo mode, number of samples from swa residue sampler before minimizing best", default="20" ),
6512  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" ),
6513  Option( 'num_pose_minimize','Integer', desc='optional: set_num_pose_minimize by Minimizer', default='0' ),
6514  Option( 'atr_rep_screen', 'Boolean', desc='In sampling, screen for contacts (but no clash) between partitions before packing',default='true' ),
6515  Option( 'atr_rep_screen_for_docking', 'Boolean', desc='In just docking moves, screen for contacts (but no clash) between partitions before packing',default='false' ),
6516  Option( 'align_pdb', 'String', desc='PDB to align to. Default will be -native, or no alignment', default='' ),
6517  Option( 'enumerate', 'Boolean', desc="For SWM. Force enumeration (SWA-like) instead of random", default="false" ),
6518  Option( 'preminimize', 'Boolean', desc="For SWM. Just prepack and minimize", default="false" ),
6519  Option( 'skip_preminimize', 'Boolean', desc="Skip preminimize before stepwise monte carlo", default="false" ),
6520  Option( 'test_all_moves', 'Boolean', desc="Try all moves from starting pose, recursing through additions ", default="false" ),
6521  Option( 'new_move_selector', 'Boolean', desc="For SWM. Use new move selector which does keep track of proposal probabilities.", default="true" ),
6522  Option( 'dump', 'Boolean', desc="Dump intermediate silent & PDB files",default="false" ),
6523  Option( 'VERBOSE', 'Boolean', desc= "VERBOSE", default='false' ),
6524  Option( 'use_green_packer', 'Boolean', desc= "use packer instead of rotamer trials for side-chain packing and O2' optimization", default='false' ),
6525  Option( 'rmsd_screen', 'Real', desc="keep sampled residues within this rmsd from the native pose",default="0.0" ),
6526  Option( 'skip_minimize', 'Boolean', desc="Skip minimize, e.g. in prepack step",default="false" ),
6527  Option( 'virtualize_packable_moieties_in_screening_pose', 'Boolean', desc="Virtualize 2'-OH, terminal phosphates in stepwise contact screening, before actual packing ",default="false" ),
6528  Option( 'sampler_silent_file', 'String', desc='In StepWiseConnectionSampler, where to output all poses that pass filters', default='' ),
6529  Option( 'superimpose_over_all', 'Boolean', desc='In final superimposition, do not keep any domains fixed, superimpose over everything',default="false" ),
6530  Option( 'move', 'StringVector', desc="For SWM. Format: 'ADD 5 BOND_TO_PREVIOUS 4'", default=[] ),
6531  Option( 'min_type', 'String', desc="Minimizer type",default="dfpmin_armijo_nonmonotone" ),
6532  Option( 'min_tolerance', 'Real', desc="Minimizer tolerance",default="0.000025" ),
6533  Option( 'vary_polar_hydrogen_geometry', 'Boolean', desc='Optimize hydrogens that form hydrogen bonds', default='false' ),
6534  Option( 'output_minimized_pose_list', 'Boolean', desc='Use legacy output that puts out all minimized poses; set to true in legacy SWA', default='false' ),
6535  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' ),
6536  Option( 'output_cluster_size', 'Boolean', desc="Output cluster_size in StepWiseClusterer as an extra score in the pose", default='false' ),
6537  Option( 'lores', 'Boolean', desc="Use coarse-grained energy function to sample; no minimize.", default='false' ),
6538  Option( 'verbose_sampler', 'Boolean', desc="verbose output from StepWiseConnectionSampler sample-and-screen.", default='false' ),
6539 
6540  Option_Group( 'monte_carlo',
6541  Option( 'verbose_scores', 'Boolean', desc= "Show all score components", default='false' ),
6542  Option( 'skip_deletions', 'Boolean', desc= "no delete moves -- just for testing", default='false' ),
6543 # Option( 'erraser', 'Boolean', desc= "Use KIC sampling", default='true' ),
6544  Option( 'allow_internal_hinge_moves', 'Boolean', desc= "Allow moves in which internal suites are sampled (hinge-like motions)", default='true' ),
6545  Option( 'allow_internal_local_moves', 'Boolean', desc= "Allow moves in which internal cutpoints are created to allow ERRASER rebuilds", default='true' ),
6546  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' ),
6547  Option( 'skip_bulge_frequency', 'Real', desc= "Compared to 'normal' add moves, how often to skip a bulge and do addition.", default='0.0' ),
6548  Option( 'from_scratch_frequency', 'Real', desc= "Allow modeling of 'free' dinucleotides that are not part of input poses", default='0.1' ),
6549  Option( 'allow_split_off', 'Boolean', desc= "Allow chunks that do not contain fixed domains to split off after nucleating on fixed domains.", default='true' ),
6550  Option( 'cycles', 'Integer', desc= "Number of Monte Carlo cycles", default='50' ),
6551  Option( 'temperature', 'Real', desc= "Monte Carlo temperature", default='1.0' ),
6552  Option( 'add_proposal_density_factor', 'Real', desc= "Increase/decrease the proposal_density_ratio for add moves by this factor", default='1.0' ),
6553  Option( 'add_delete_frequency', 'Real', desc= "Frequency of add/delete vs. resampling", default='0.5' ),
6554  Option( 'docking_frequency', 'Real', desc= "Frequency of docking vs. folding moves", default='0.2' ),
6555  Option( 'submotif_frequency', 'Real', desc= "Frequency of submotif additions", default='0.2' ),
6556  Option( 'intermolecular_frequency', 'Real', desc= "Same as -docking_frequency, to be deprecated soon", default='0.2' ),
6557  Option( 'minimize_single_res_frequency', 'Real', desc= "Frequency with which to minimize the residue that just got rebuilt, instead of all", default='0.0' ),
6558  Option( 'allow_variable_bond_geometry', 'Boolean', desc= "In 10% of moves, let bond angles & distance change", default='true' ),
6559  Option( 'switch_focus_frequency', 'Real', desc= "Frequency with which to switch the sub-pose that is being modeled", default='0.5' ),
6560  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' ),
6561  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' ),
6562  Option( 'make_movie', 'Boolean', desc= "create silent files in movie/ with all steps and accepted steps", default='false' ),
6563  Option( 'recover_low', 'Boolean', desc="Output lowest energy model in monte carlo, not the last frame", default='true' ),
6564  Option( 'use_precomputed_library', 'Boolean', desc="In from_scratch moves, do not sample dinucleotides explicitly, but instead use library saved to disk.", default='true' ),
6565  Option( 'allow_submotif_split', 'Boolean', desc="for submotif moves, allow submotifs to be split. (inconsistent with detailed balance.)", default='false' ),
6566  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' ),
6567  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' ),
6568  Option( 'vary_loop_length_frequency', 'Real', desc="In design, allow loops ('n') to shorten from loop lengths defined in FASTA files.", default='0.0'),
6569  Option_Group( 'csa',
6570  Option( 'csa_bank_size', 'Integer', desc='Do conformational space annealing (population monte carlo) with this number of models in the bank',default='0' ),
6571  Option( 'csa_rmsd', 'Real', desc='RMSD cutoff for calling two poses different in conformational space annealing (population monte carlo)',default='1.0' ),
6572  Option( 'csa_output_rounds', 'Boolean', desc='output silent files at intermediate stages (at integral multiples of bank_size)',default='false' ),
6573  ),
6574  ), # -stepwise:monte_carlo
6575  Option_Group( 'rna',
6576  Option( 'sampler_num_pose_kept', 'Integer', desc="set_num_pose_kept by ResidueSampler )", default='108' ),
6577  Option( 'native_edensity_score_cutoff', 'Real', desc= "native_edensity_score_cutoff", default='-1.0' ), #Fang's electron density code,
6578  Option( 'o2prime_legacy_mode', 'Boolean', desc="complete virtualization of O2' hydrogen during sampling, and then complete restoration and packing", default='false' ),
6579  Option( 'allow_virtual_o2prime_hydrogens', 'Boolean', desc= "allow O2' hydrogen to be virtualized during packing.", default='false' ),
6580  Option( 'sampler_perform_phosphate_pack', 'Boolean', desc= "perform terminal phosphate packing inside StepWiseRNA_ResidueSampler", default='false' ),
6581  Option( 'force_phosphate_instantiation', 'Boolean', desc= "Require terminal phosphates to be instantiated.", default='false' ),
6582  Option( 'distinguish_pucker', 'Boolean', desc= "distinguish pucker when cluster:both in sampler and clusterer", default='true' ),
6583  Option( 'finer_sampling_at_chain_closure', 'Boolean', desc= "Sampler: finer_sampling_at_chain_closure", default='false' ), #Jun 9, 201,
6584  Option( 'PBP_clustering_at_chain_closure', 'Boolean', desc= "Sampler: PBP_clustering_at_chain_closure", default='false' ),
6585  Option( 'sampler_allow_syn_pyrimidine', 'Boolean', desc="sampler_allow_syn_pyrimidine", default='false' ), #Nov 15, 2010
6586  Option( 'sampler_extra_chi_rotamer', 'Boolean', desc="Sampler: extra_syn_chi_rotamer", default='false' ),
6587  Option( 'sampler_extra_beta_rotamer', 'Boolean', desc="Sampler: extra_beta_rotamer", default='false' ),
6588  Option( 'sampler_extra_epsilon_rotamer', 'Boolean', desc="Sampler: extra_epsilon_rotamer", default='true' ), #Change this to true on April 9, 2011
6589  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
6590  Option( 'virtual_sugar_legacy_mode', 'Boolean', desc="In virtual sugar sampling, use legacy protocol to match Parin's original workflow", default='false' ),
6591  Option( 'VDW_rep_optimize_memory_usage', 'Boolean', desc="RNA_VDW_BinChecker, do not store vector of occupied xyz bins.", default='false' ),
6592  Option( 'erraser', 'Boolean', desc="Use KIC sampling", default='false' ),
6593  Option( 'centroid_screen', 'Boolean', desc="centroid_screen", default='true' ),
6594  Option( 'VDW_atr_rep_screen', 'Boolean', desc="classic VDW_atr_rep_screen", default='true' ),
6595  Option( 'minimize_and_score_native_pose', 'Boolean', desc="minimize_and_score_native_pose ", default='false' ), #Sept 15, 2010
6596  Option( 'rm_virt_phosphate', 'Boolean', desc="Remove virtual phosphate patches during minimization", default='false' ),
6597  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
6598  Option( 'VDW_rep_alignment_RMSD_CUTOFF', 'Real', desc="use with VDW_rep_screen_info", default='0.001' ), #Nov 12, 2010
6599  Option( 'VDW_rep_delete_matching_res', 'StringVector', desc="delete residues in VDW_rep_pose that exist in the working_pose", default=[] ), #Feb 20, 2011
6600  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
6601  Option( 'integration_test', 'Boolean', desc=" integration_test ", default='false' ), #March 16, 2012
6602  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' ),
6603  Option( 'parin_favorite_output', 'Boolean', desc=" parin_favorite_output ", default='true' ), #Change to true on Oct 10, 2010
6604  Option( 'reinitialize_CCD_torsions', 'Boolean', desc="Sampler: reinitialize_CCD_torsions: Reinitialize_CCD_torsion to zero before every CCD chain closure", default='false' ),
6605  Option( 'sample_both_sugar_base_rotamer', 'Boolean', desc="Sampler: Super hacky for SQUARE_RNA", default='false' ),
6606  Option( 'sampler_include_torsion_value_in_tag', 'Boolean', desc="Sampler:include_torsion_value_in_tag", default='true' ),
6607  Option( 'sampler_assert_no_virt_sugar_sampling', 'Boolean', desc="sampler_assert_no_virt_sugar_sampling", default='false' ), #July 28, 2011
6608  Option( 'sampler_try_sugar_instantiation', 'Boolean', desc="for floating base sampling, try to instantiate sugar if it looks promising", default='false' ), #July 28, 2011
6609  Option( 'do_not_sample_multiple_virtual_sugar', 'Boolean', desc=" Sampler: do_not_sample_multiple_virtual_sugar ", default='false' ),
6610  Option( 'sample_ONLY_multiple_virtual_sugar', 'Boolean', desc=" Sampler: sample_ONLY_multiple_virtual_sugar ", default='false' ),
6611  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
6612  Option( 'minimizer_rename_tag', 'Boolean', desc="Reorder and rename the tag by the energy_score", default='true' ), #March 15, 2012
6613  Option( 'minimize_res', 'IntegerVector', desc='alternative to fixed_res', default=[] ),
6614  Option( 'alignment_res', 'StringVector', desc="align_res_list", default=[] ),
6615  Option( 'native_alignment_res', 'IntegerVector', desc="optional: native_alignment_res ", default=[] ),
6616  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=[] ),
6617  Option( 'missing_res', 'IntegerVector', desc='Residues missing in starting pose_1, alternative to input_res',default=[] ),
6618  Option( 'missing_res2', 'IntegerVector', desc='Residues missing in starting pose_2, alternative to input_res2',default=[] ),
6619  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' ),
6620  Option( 'minimize_and_score_sugar', 'Boolean', desc="minimize and sugar torsion + angle? and include the rna_sugar_close_score_term ", default='true' ),
6621  Option( 'global_sample_res_list', 'IntegerVector', desc="A list of all the nucleotide to be build/sample over the entire dag.",default=[] ),
6622  Option( 'filter_output_filename', 'File', desc="CombineLongLoopFilterer: filter_output_filename", default="filter_struct.txt" ),
6623  Option( 'combine_long_loop_mode', 'Boolean', desc=" Sampler: combine_long_loop_mode ", default="false" ),
6624  Option( 'combine_helical_silent_file', 'Boolean', desc="CombineLongLoopFilterer: combine_helical_silent_file", default="false" ),
6625  Option( 'output_extra_RMSDs', 'Boolean', desc="output_extra_RMSDs", default="false" ),
6626  Option( 'protonated_H1_adenosine_list', 'IntegerVector', desc="optional: protonate_H1_adenosine_list", default=[] ),
6627  Option( 'native_virtual_res', 'IntegerVector', desc=" optional: native_virtual_res ", default=[] ),
6628  Option( 'simple_append_map', 'Boolean', desc="simple_append_map", default="false" ),
6629  Option( 'allow_fixed_res_at_moving_res', 'Boolean', desc="mainly just to get Hermann Duplex modeling to work", default="false" ),
6630  Option( 'force_user_defined_jumps', 'Boolean', desc="Trust and use user defined jumps", default="false" ),
6631  Option( 'jump_point_pairs', 'StringVector', desc="optional: extra jump_points specified by the user for setting up the fold_tree ", default=[] ),
6632  Option( 'add_virt_root', 'Boolean', desc="add_virt_root", default="false" ),
6633  Option( 'floating_base', 'Boolean', desc=" floating_base ", default="false" ),
6634  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" ),
6635  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" ),
6636  Option( 'rebuild_bulge_mode', 'Boolean', desc="rebuild_bulge_mode", default="false" ),
6637  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" ),
6638  Option( 'virtual_sugar_do_minimize', 'Boolean', desc="When instantiating virtual sugar, minimize (as in original SWA code) -- takes extra time!", default="true" ),
6639  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
6640  Option( 'filter_user_alignment_res', 'Boolean', desc=" filter_user_alignment_res ", default="true" ),
6641  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" ),
6642  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" )
6643  ), # -stepwise:rna
6644  Option_Group( 'protein',
6645  Option( 'global_optimize', 'Boolean', desc="In clustering, packing, minimizing, use all residues.",default="false" ),
6646  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" ),
6647  Option( 'sample_beta', 'Boolean', desc="sample beta strand pairing -- later need to specify parallel/antiparallel",default="false" ),
6648  Option( 'ghost_loops', 'Boolean', desc="Virtualize loops in centroid screening",default="false" ),
6649  Option( 'centroid_screen', 'Boolean', desc="Centroid Screen",default="false" ),
6650  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" ),
6651  Option( 'centroid_weights', 'String', desc="weights for centroid filter",default="score3.wts" ),
6652  Option( 'score_diff_cut', 'Real', desc="score difference cut for clustering",default="10.0" ),
6653  Option( 'filter_native_big_bins', 'Boolean', desc="Figure out various terms for score12",default="false" ),
6654  Option( 'cluster_by_all_atom_rmsd', 'Boolean', desc="cluster by all atom rmsd",default="false" ),
6655  Option( 'centroid_output', 'Boolean', desc="output centroid structure during screening",default="false" ),
6656  Option( 'n_sample', 'Integer', desc="number of samples per torsion angle",default="18" ),
6657  Option( 'nstruct_centroid', 'Integer', desc="Number of decoys to output from centroid screening",default="0" ),
6658  Option( 'ccd_close', 'Boolean', desc="Close loops with CCD",default="false" ),
6659  Option( 'bridge_res', 'IntegerVector', desc="instead of enumerative sampling of backbone torsions, combine silent files that contains pieces of loops", default=[] ),
6660  Option( 'cart_min', 'Boolean', desc="Use cartesian minimizer",default="false" ),
6661  Option( 'move_jumps_between_chains', 'Boolean', desc="Move all jumps",default="false" ),
6662  Option( 'use_packer_instead_of_rotamer_trials', 'Boolean', desc="Use packer instead of rotamer trials in residue sampling",default="false" ),
6663  Option( 'expand_loop_takeoff', 'Boolean', desc="expand -sample_res loop to include connection to previous/next residues",default="false" ),
6664  Option( 'skip_coord_constraints', 'Boolean', desc='Skip first stage of minimize with coordinate constraints',default='false' ),
6665  Option( 'allow_virtual_side_chains', 'Boolean', desc='In packing, allow virtual side chains',default='true' ),
6666  Option( 'protein_prepack', 'Boolean', desc='In packing, prepack separate partitions',default='true' ),
6667  Option( 'disulfide_file', 'String', desc='File with pairs of numbers for desired disulfides.', default=''),
6668  ), # -stepwise:protein
6669  ), # -stepwise
6670 
6671  ################################
6672  # full_model_info --> may replace stepwise stuff above.
6673  Option_Group( 'full_model',
6674  Option( 'cutpoint_open', 'ResidueChainVector',desc='open cutpoints in full model',default=[]),
6675  Option( 'cutpoint_closed', 'ResidueChainVector',desc='closed cutpoints in full model',default=[]),
6676  Option( 'other_poses', 'StringVector',desc='list of PDB files containing other poses'),
6677  Option( 'jump_res', 'ResidueChainVector', desc= "optional: residues for defining jumps -- please supply in pairs", default=[] ),
6678  Option( 'extra_min_res', 'ResidueChainVector', desc= "specify residues other than those being built that should be minimized", default=[] ),
6679  Option( 'extra_min_jump_res', 'ResidueChainVector', desc= "specify jump-connected pairs other than those being built that should be minimized", default=[] ),
6680  Option( 'root_res', 'ResidueChainVector', desc= "optional: desired root res (used in SWM move testing)", default=[] ),
6681  Option( 'virtual_sugar_res', 'ResidueChainVector', desc= "optional: starting virtual sugars (used in SWM move testing)", default=[] ),
6682  Option( 'virtual_res', 'ResidueChainVector', desc="optional: residues for defining virtual residues", default=[] ),
6683  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=[] ),
6684  Option( 'calc_rms_res', 'ResidueChainVector', desc="residues over which to calculate rms for SWA. Not in wide use anymore.", default=[] ),
6685  Option( 'working_res', 'ResidueChainVector', desc="residues that are being built [by default will be set from sample_res and any input pdbs]", default=[] ),
6686  Option( 'motif_mode','Boolean',desc='in fixed PDB parts, minimize residues right next to loops & disallow pair/stacking in most distal residues',default='false'),
6687  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'),
6688  Option_Group( 'rna',
6689  Option( 'terminal_res', 'ResidueChainVector', desc="optional: residues that are not allowed to stack during sampling", default=[] ),
6690  Option( 'block_stack_above_res', 'ResidueChainVector', desc="optional: residues on which other residues cannot stack above (uses repulsion atoms)", default=[] ),
6691  Option( 'block_stack_below_res', 'ResidueChainVector', desc="optional: residues on which other residues cannot stack below (uses repulsion atoms)", default=[] ),
6692  Option( 'force_syn_chi_res_list', 'ResidueChainVector', desc="optional: sample only syn chi for the res in sampler.", default=[] ),
6693  Option( 'force_anti_chi_res_list', 'ResidueChainVector', desc="optional: sample only anti chi for the res in sampler.", default=[] ),
6694  Option( 'force_north_sugar_list', 'ResidueChainVector', desc="optional: sample only north sugar for the res in sampler.", default=[] ),
6695  Option( 'force_south_sugar_list', 'ResidueChainVector', desc="optional: sample only south sugar for the res in sampler.", default=[] ),
6696  Option( 'bulge_res', 'ResidueChainVector', desc="optional: residues to be turned into a bulge variant", default=[] ),
6697  Option( 'sample_sugar_res', 'ResidueChainVector', desc="optional: residues in fixed input pose whose sugars can still move", default=[] ),
6698  ), # -full_model:rna
6699  ), # -full_model
6700 
6701  ## strand assembly options
6702  Option_Group( 'strand_assembly',
6703  # all options are for StrandBundleFeaatures only, since SandwichFeatures are dealt with parse_my_tag
6704  # default values are in code
6705  Option('min_num_strands_to_deal','Integer', desc="Minimum number of strands to handle beta-sandwich"),
6706  Option('max_num_strands_to_deal','Integer', desc="Maximum number of strands to handle beta-sandwich"),
6707  Option('extract_native_only', 'Boolean', desc="if true, extract native full strands only"),
6708  Option('min_res_in_strand','Integer', desc="minimum number of residues in a strand, for edge strand definition & analysis"),
6709  Option('max_res_in_strand','Integer', desc="Maximum number of residues in a strand, for edge strand definition & analysis"),
6710  Option('min_O_N_dis','Real', desc="Minimum distance between backbone oxygen and backbone nitrogen"),
6711  Option('max_O_N_dis','Real', desc="Maximum distance between backbone oxygen and backbone nitrogen"),
6712  Option('min_sheet_dis','Real', desc="Minimum distance between sheets (CA and CA)"),
6713  Option('max_sheet_dis','Real', desc="Maximum distance between sheets (CA and CA)"),
6714  Option('min_sheet_torsion','Real', desc="Minimum torsion between sheets (CA and CA) with respect to terminal residues"),
6715  Option('max_sheet_torsion','Real', desc="Maximum torsion between sheets (CA and CA) with respect to terminal residues"),
6716  Option('min_sheet_angle','Real', desc="Minimum angle between sheets (CA and CA)"),
6717  Option('max_sheet_angle','Real', desc="Maximum angle between sheets (CA and CA)"),
6718  Option('min_shortest_dis_sidechain_inter_sheet','Real', desc="minimum distance between sidechains between sheets (pairs of strands)"),
6719  ), # -strand_assembly
6720 
6721  #################################TailSegment####################################################
6722  Option_Group( 'TailSegment',
6723  Option( 'refine_cycles', 'Integer', desc='refinement phase runs for <input> cycles', default = '100' ),
6724  Option( 'refine_repack_cycles', 'Integer', desc='refinement phase runs repack every <input> cycles', default = '10' ),
6725  ), # -TailSegment
6726 
6727  Option_Group( 'templates',
6728  Option( 'config', 'File', desc='read a list of templates and alignments', default='templates.dat' ),
6729  Option( 'fix_aligned_residues', 'Boolean', desc='pick only from template fragments and then keep these residues fixed', default='false' ),
6730  Option( 'fix_frag_file', 'File', desc=' fragments from this file are picked once in beginning and then kept fixed', default='' ),
6731  Option( 'fix_margin', 'Integer', desc='keep n residues at edges of fixed fragments moveable', default='1' ),
6732  Option( 'min_nr_large_frags', 'Integer', desc='how many large fragments should be present', default='100000' ),
6733  Option( 'min_nr_small_frags', 'Integer', desc='how many small fragments should be present', default='100000' ),
6734  Option( 'no_pick_fragments', 'Boolean', desc='no further fragment picking from templates', default='false' ),
6735  Option( 'nr_large_copies', 'Integer', desc='make N copies of each picked template fragment -- a hacky way to weight them', default='4' ),
6736  Option( 'nr_small_copies', 'Integer', desc='make N copies of each picked template fragment -- a hacky way to weight them', default='20' ),
6737  Option( 'pairings', 'Boolean', desc='use pairings from templates', default='false' ),
6738  Option( 'pick_multiple_sizes', 'Boolean', desc='pick 9mers, 18mers and 27mers', default='false' ),
6739  Option( 'strand_constraint', 'Boolean', desc='use the template-based strand-constraints', default='false' ),
6740  Option( 'vary_frag_size', 'Boolean', desc='pick fragments as long as aligned regions', default='false' ),
6741  Option( 'no_culling', 'Boolean', desc='dont throw out constraints that are violated by other templates', default='false' ),
6742  Option( 'helix_pairings', 'File', desc='file with list of pairings that are enforced (pick jumps from templates with H)', default='' ),
6743  Option( 'prefix', 'File', desc='path for config directory -- applied to all filenames in template_config_file', default='' ),
6744  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' ),
6745  Option( 'force_native_topology', 'Boolean', desc='force the native toplogy (geometries from templates)', default='false' ),
6746  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' ),
6747  Option( 'min_frag_size', 'Integer', desc='smallest fragment picked from aligned template regions', default='6' ),
6748  Option( 'max_shrink', 'Integer', desc='pick fragments up to max_shrink smaller than aligned regions', default='0' ),
6749  Option( 'shrink_step', 'Integer', desc='shrink_step 5 , eg., 27mer 22mer 17mer', default='5' ),
6750  Option( 'shrink_pos_step', 'Integer', desc='distance between start pos in shrinked fragments', default='5' ),
6751  Option( 'min_padding', 'Integer', desc='minimum space between fragment and gap', default='0' ),
6752  Option( 'min_align_pos', 'Integer', desc='ignore aligned residues before this position', default='0' ),
6753  Option( 'max_align_pos', 'Integer', desc='ignore aligned residues after this position', default='-1' ),
6754 
6755  Option_Group( 'cst',
6756  Option( 'topN', 'Integer', desc='topN ranking models are used for constraints ( culling and source )', default='0' ),
6757  Option( 'wTopol', 'Real', desc='weight for beta-pairing topology score in ranking', default='0.5' ),
6758  Option( 'wExtern', 'Real', desc='weight for external score ( column in template_config_file, e.g, svn-score', default='0.5' ),
6759  ),
6760 
6761  Option_Group( 'fragsteal',
6762  Option( 'topN', 'Integer', desc='topN ranking models are used for fragment stealing', default='0' ),
6763  Option( 'wTopol', 'Real', desc='weight for beta-pairing topology score in ranking', default='0.5' ),
6764  Option( 'wExtern', 'Real', desc='weight for external score ( column in template_config_file, e.g, svn-score', default='0.5' ),
6765  ),
6766  ), # -templates
6767 
6768  ## Unfolded State Options ##
6769  Option_Group( 'unfolded_state',
6770  Option( 'unfolded_energies_file', 'File', desc='path to an alternative unfolded state energies file' ),
6771  Option( 'split_unfolded_energies_file', 'File', desc='path to an alternative split unfolded state energies file' ),
6772  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'], ),
6773  ), # -unfolded_state
6774 
6775  Option_Group( 'wum',
6776  Option( 'n_slaves_per_master', 'Integer', default='64' , desc = 'A value between 32 and 128 is usually recommended' ),
6777  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' ),
6778  Option( 'memory_limit', 'Integer', default = '0', desc = 'Memory limit for queues (in kB) ' ),
6779 
6780  Option( 'extra_scorefxn', 'String', desc='Extra score function for post-batchrelax-rescoring' ),
6781  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)' ),
6782  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)' ),
6783  Option( 'trim_proportion', 'Real', default='0.0' ),
6784 
6785  ), # -wum
6786 
6787 #######################################
6788 # Personal/Pilot option groups
6789 # Please keep in alphabetical order
6790 
6791  ## Options for Spencer Bliven's apps
6792  Option_Group( 'blivens',
6793  Option_Group( 'disulfide_scorer',
6794  Option( 'nds_prob', 'Real', desc='The probability of scoring a non-disulfide pair', default = '0.0' ),
6795  Option( 'cys_prob', 'Real', desc='The probability of outputing a pair of non-disulf cysteines. Default to nds_prob', default = '-1.0' ),
6796  ),
6797  Option( 'score_type', 'String', desc='The scoring type to use, eg for a filter.', default = 'total_score' ),
6798  ), # -blivens
6799 
6800 # ###############################################################################
6801 # ## chrisk's crazy options
6802 # Option_Group( 'chrisk',
6803 # Option( 'hb_elec', 'Boolean', desc="turn on hb-elec switch function", default='false' ),
6804 # ), # -chrisk
6805 
6806  Option_Group('cmiles',
6807  Option_Group('kcluster',
6808  Option('num_clusters', 'Integer', desc = 'Number of clusters to use during k clustering')
6809  ),
6810  Option_Group('jumping',
6811  Option('resi', 'Integer', desc = 'Residue i'),
6812  Option('resj', 'Integer', desc = 'Residue j'),
6813  ),
6814  ), # -cmiles
6815 
6816  Option_Group( 'crossmatch',
6817 # Option( 'write_reduced_matchset', 'StringVector',desc="<name> <pdb1> <pdb2> ..."),
6818 # Option( 'interface_size', 'Integer',desc="num CB-CB within 8A",default='30'),
6819 # Option( 'max_dis_any', 'Real',desc="",default='3.0'),
6820 # Option( 'max_dis_all', 'Real',desc="",default='2.6'),
6821 # Option( 'max_dis_metal', 'Real',desc="",default='1.0'),
6822  Option( 'clash_dis', 'Real',desc="",default='3.0'),
6823 # Option( 'identical_match_dis', 'Real',desc="",default='0.0001'),
6824  # Option( 'filterdist' ,'Real' ,desc="MC temp for cen fold", default="2.0" ),
6825  ), # -crossmatch
6826 
6827  ## dwkulp some options for programs
6828  Option_Group( 'dwkulp',
6829  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=""),
6830  ), # -dwkulp
6831 
6832  # evolution mode -----------------------------------------------------------
6833  Option_Group( 'evolution',
6834  Option( 'parentlist', 'FileVector', desc="File(s) containing list(s) of Parent PDB files to process" ),
6835  Option( 'childlist', 'FileVector', desc="File(s) containing list(s) of Parent PDB files to process" ),
6836  Option( 'action' , 'String', desc="One of the following: diversify, intensify ", default = "diversify" ),
6837  Option( 'rms_threshold', 'Real', desc='RMS Clustering threshold', default='3.5'),
6838  Option( 'rms_topmargin', 'Real', desc='RMS Clustering threshold', default='5.0'),
6839  Option( 'targetdir' , 'String', desc="Write target new parent polulation to this directory ! ", default = "./" ),
6840  Option( 'padding_score_filter', 'Real', desc='RMS Clustering threshold', default='5.0'),
6841  Option( 'padding_stage2_filter', 'Real', desc='RMS Clustering threshold', default='15.0'),
6842  ),
6843 
6844  ## options for my pilot apps. No big deal if these need to change!
6845  ## tex
6846  Option_Group( 'james',
6847  Option( 'min_seqsep', 'Integer', default = '0' ),
6848  Option( 'atom_names', 'StringVector', default = 'utility::vector1<std::string>()' ),
6849  Option( 'dist_thresholds', 'RealVector', default = 'utility::vector1<float>(1, 1.0)' ),
6850  Option( 'torsion_thresholds', 'RealVector', default = 'utility::vector1<float>(1, 30.0)' ),
6851 # Option( 'sog_cutoff', 'Real', default='5.0' ),
6852 # Option( 'shift_sog_func', 'Boolean', default = 'true' ),
6853 # Option( 'min_type', 'String', default='dfpmin_armijo_nonmonotone' ),
6854 # Option( 'min_tol', 'Real', default='0.0001' ),
6855  Option( 'debug', 'Boolean', default='false'),
6856  Option( 'real', 'Real', default = '7.0', desc = 'Option for keeping things real.' ),
6857  Option(
6858  'n_designs', 'Integer',
6859  default = '1', desc = 'total number of designs that James should make.'
6860  ),
6861 # Option( 'awesome_mode', 'Boolean', default = 'true', desc = 'activates or deactivates awesome_mode.' ),
6862 # Option( 'n_clusters', 'Integer', default = '10', desc = 'number of clusters for k-means clustering.' ),
6863  Option( 'thread_unaligned', 'Boolean', default = 'false', desc = 'basic_threading without performing an alignment' ),
6864  ),
6865 
6866  Option_Group( 'krassk',
6867 # Option( 'left_tail', 'Integer', default='0' ),
6868 # Option( 'right_tail', 'Integer', default='0' ),
6869  Option( 'tail_mode', 'Boolean', default = 'false'),
6870  Option( 'tail_mode_name', 'Integer', default = '1' ),
6871  Option( 'tail_output_file_name', 'String', default='tail_output'),
6872  ),
6873 
6874  ##options for liz
6875  #Option_Group('liz',
6876  # Option( 'score', 'Boolean', default='true'),
6877  #),
6878 
6879  ## Options for LooDo pilot app (kblacklock)
6880  Option_Group( 'loodo',
6881  Option( 'ins_begin', 'Integer', desc="insertion site (pose numbering)"),
6882  Option( 'cap', 'String', desc="cap pdb", default=""),
6883  Option( 'bot', 'String', desc="bot pdb", default=""),
6884  Option( 'fragAlength', 'IntegerVector', desc='lengths for loop A'),
6885  Option( 'fragBlength', 'IntegerVector', desc='lengths for loop B'),
6886  Option( 'known', 'Integer', desc='length of known interior region'),
6887  Option( 'fragAnative', 'String', desc='native loop A pdb file', default=""),
6888  Option( 'fragBnative', 'String', desc='native loop B pdb file', default=""),
6889  Option( 'gridligpath', 'String', desc='path to gridlig file', default=""),
6890  Option( 'debug', 'Boolean', desc='dump CapHitB pdbs', default="false"),
6891  Option( 'ca_ratio', 'Real', desc='fraction of C-alphas required in active site grid', default='0.5'),
6892  Option( 'distance_tolerance', 'Real', desc='distance cutoff for pairwise Real6 x,y,z comparisons', default='5.0'),
6893  Option( 'euler_tolerance', 'Real', desc='angle cutoff for pairwise Real6 euler angle comparisons', default='15.0'),
6894  Option( 'num_frags', 'Integer', desc='number fragments to pick per frame in library',default='4500'),
6895  Option( 'use_fraglib', 'String', desc='fragment library to use instead of vall database'),
6896  Option( 'use_fraglibsc','String', desc='fragment library to use instead of vall database with sidechain torsions specified'),
6897  Option( 'com_in_grid', 'Boolean', desc='cap center-of-mass required to lie in placement grid', default="false"),
6898  Option( 'loud', 'Boolean', desc='loud output?',default="false"),
6899  Option( 'dump_all_As', 'Boolean', desc='dump passing As',default="false"),
6900  Option( 'dump_all_Bs', 'Boolean', desc='dump passing Bs',default="false"),
6901  Option( 'caphit_rt_file', 'String', desc='name of CapHit_RT or filtered CapHitRT file')
6902  ), #-loodo
6903 
6904  # options for my inv_kin_lig_loop_design program.
6905  Option_Group( 'murphp',
6906  Option( 'inv_kin_lig_loop_design_filename', 'String', desc='input filename to be used for inv_kin_lig_loop_design' ),
6907  ),
6908 
6909  Option_Group( 'peptide_deriver',
6910  Option( 'pep_lengths', 'IntegerVector', desc = 'Length(s) of derived peptides', default = [ '10' ] ),
6911  Option( 'skip_zero_isc', 'Boolean', desc = 'Makes derivation go faster by skipping peptides with 0 interface score', default = 'true' ),
6912  Option( 'dump_peptide_pose', 'Boolean', desc = 'Output pose with peptide cut out (best one for each chain pair)', default = 'false' ),
6913  Option( 'dump_cyclic_poses', 'Boolean', desc = 'Output each cyclic peptide pose (those that are modeled; which is determined by -optimize_cyclic_threshold)', default = 'false' ),
6914  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' ),
6915  Option( 'dump_report_file', 'Boolean', desc = 'Send PeptideDeriver output to a file (<input_name>.peptiderive.txt)', default = 'true' ),
6916  Option( 'restrict_receptors_to_chains', 'StringVector', desc = 'Only use chains listed here as receptors. When empty, consider all chains.', default = [] ),
6917  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 = [] ),
6918  Option( 'do_minimize', 'Boolean', desc = 'Perform minimization before everything.', default = 'true' ),
6919  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' ),
6920  Option( 'report_format', 'String', desc = 'The format of the report. Either \'basic\' (easily parsable format) or \'markdown\' (pretty, readable, but verbose format).', default = 'markdown' ),
6921  Option( 'report_gzip', 'Boolean', desc = 'Gzip report file (only if -dump_report_file is enabled)', default = 'false' ),
6922  ), # peptide_deriver
6923 
6924  ## these are just temporary for hacking/debugging -- if they conflict with something else let me know and
6925  ## I can get rid of them
6926  ## -Phil
6927  Option_Group( 'phil',
6928  #Option( 'nstruct', 'Integer', default='10'),
6929  Option( 'nloop', 'Integer', default='10'),
6930  Option( 'vall_file', 'String'),
6931 # Option( 'align_file', 'String'),
6932  ), # phil
6933 
6934  ##options for Robert
6935  #Option_Group('Robert',
6936  # Option( 'score', 'Boolean', default='true'),
6937  # ),
6938  ## options for my pilot apps. Only the best for Robert!
6939  ## Robert
6940  Option_Group( 'robert',
6941  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)"),
6942  Option( 'pcs_maxsub_filter', 'Real', default='0.9', desc="minimum normalized maxsub for PCS clustering protocol"),
6943  Option( 'pcs_maxsub_rmsd', 'Real', default='4.0', desc="maxsub calculation's rmsd threshold"),
6944  Option( 'pcs_dump_cluster', 'Boolean', default = 'false'),
6945  Option( 'pcs_cluster_coverage', 'Real', default='0.3', desc="cluster coverage required"),
6946  Option( 'pcs_cluster_lowscoring', 'Boolean', default = 'true', desc="cluster lowest 20% against lowest 50%"),
6947  ),
6948 
6949  ###############################################################################
6950  ## rotamer analysis options (chrisk)
6951  Option_Group( 'rot_anl',
6952  Option( 'tag', 'String', desc="nametag", default='.' ),
6953 
6954 # Option( 'premin', 'Boolean', desc="do all sc min and dump pdb", default='false' ),
6955  Option( 'min', 'Boolean', desc="do sc min", default='false' ),
6956 # Option( 'diff_to_min', 'Boolean', desc="native pose is post-min", default='false' ),
6957  Option( 'repack', 'Boolean', desc="", default='false' ),
6958  Option( 'rtmin', 'Boolean', desc="", default='false' ),
6959  Option( 'scmove', 'Boolean', desc="", default='false' ),
6960  Option( 'design', 'Boolean', desc="", default='false' ),
6961 
6962 # Option( 'score_tol', 'Real', desc="score filter for dump_pdb", default='1.0' ),
6963 # Option( 'rmsd_tol', 'Real', desc="rmsd filter for dump_pdb", default='1.0' ),
6964  Option( 'dump_pdb', 'Boolean', desc="dump_pdb when pass thresh", default='false' ),
6965  Option( 'nloop_scmove', 'Integer', desc="base of scmover loop (total=nloop^n_chi)", default='9' ),
6966  ), # -rot_anl
6967 
6968  Option_Group( 'smhybrid',
6969  Option( 'add_cavities', 'Boolean',desc="output cavities in result pdbs", default="false" ),
6970  Option( 'abinitio_design', 'Boolean',desc="do a design run in centroid mode", default="true" ),
6971  Option( 'fa_refine', 'Boolean',desc="Do nobu's flxbb", default="true" ),
6972  Option( 'virtual_nterm', 'Boolean',desc="remove Nterm", default="false" ),
6973  Option( 'debug', 'Boolean',desc="debug", default="false" ),
6974  Option( 'refine', 'Boolean',desc="don't do bit centroid moves", default="false" ),
6975 # Option( 'filter', 'Boolean',desc="filter centroid results as you go", default="false" ),
6976 # Option( 'floating_scs_rep', 'Boolean',desc="should floating scs repel those in other subunits?", default="false" ),
6977 # Option( 'flxbb', 'Boolean',desc="allow bb moves in minimization", default="false" ),
6978  Option( 'centroid_all_val', 'Boolean',desc="mutate all to VAL in centroid mode", default="false" ),
6979  Option( 'subsubs_attract' , 'Boolean',desc="attract subsubs togeher", default="false" ),
6980  Option( 'linker_cst' , 'Boolean',desc="attract N/C termini for linker", default="false" ),
6981  Option( 'pseudosym' , 'Boolean',desc="HACK pseudosymmetry", default="false" ),
6982  Option( 'design_linker' , 'Boolean',desc="allow design on added 'linker' residues", default="true" ),
6983  Option( 'design' , 'Boolean',desc="allow design on added 'linker' residues", default="true" ),
6984  Option( 'restrict_design_to_interface','Boolean',desc="allow design on added 'linker' residues", default="false" ),
6985  Option( 'restrict_design_to_subsub_interface','Boolean',desc="allow design on added 'linker' residues", default="false" ),
6986  Option( 'design_hydrophobic','Boolean',desc="design all hydrophobic", default="false" ),
6987  Option( 'add_metal_at_0' , 'Boolean',desc="DEPRECATED", default="false" ),
6988  Option( 'nres_mono', 'Integer',desc="target number of residues per monomer", default="20" ),
6989  Option( 'abinitio_cycles', 'Integer',desc="number of abinitio cycles", default="10000" ),
6990  Option( 'primary_subsubunit','Integer' ,desc="primary subunut", default="1" ),
6991  Option( 'minbb' ,'Integer' ,desc="level of bb min 0=None 1=little 2=all", default="1" ),
6992  Option( 'switch_concert_sub','Integer' ,desc="assume prmary subsub is on this subunit for concerted RB moves", default="1" ),
6993  Option( 'temperature' ,'Real' ,desc="MC temp for cen fold", default="2.0" ),
6994  Option( 'inter_subsub_cst' ,'Boolean' ,desc="add dis csts inter-subsub", default="false" ),
6995  Option( 'rb_mag' ,'Real' ,desc="magnitude of rb moves", default="1.0" ),
6996 # Option( 'ss', 'String' ,desc="secondary structure", default="" ),
6997  Option( 'symm_def_template', 'File',desc="template for symmetry definition file" ),
6998  Option( 'symm_def_template_reduced', 'File',desc="template for reduced symmetry definition file" ),
6999  Option( 'attach_as_sc', 'IntegerVector',desc="attach the group via side chain" ),
7000  Option( 'attach_as_sc_sub', 'IntegerVector',desc="attach the group via side chain in this sub" ),
7001 # Option( 'inversion_subs', 'IntegerVector',desc="subunits to be inverted, if any" ),
7002  Option( 'chainbreaks', 'BooleanVector',desc="close chainbreak from this subsub to the next" ),
7003  Option( 'design_res_files', 'StringVector',default='""',desc="files containing designable residues for each component pose" ),
7004  Option( 'fixed_res_files', 'StringVector',default='""',desc="files containing fixed residues (no repack even) for each component pose" ),
7005  Option( 'frag_res_files', 'StringVector',default='""',desc="files containing residues ok to insert frags into. will have starting ss" ),
7006  Option( 'scattach_res_files','StringVector',default='""',desc="files containing residues ok to scattach to." ),
7007  Option( 'rep_edge_files','StringVector',default='""',desc="files containing residues which are edge strands." ),
7008  Option( 'virtual_res_files' ,'StringVector',default='""',desc="files containing residues that should be virtual" ),
7009  Option( 'jumpcut_files', 'StringVector',default='""',desc="file specifying jumps and cuts for subsubunits" ),
7010  Option( 'cst_sub_files', 'StringVector',default='""',desc="file specifying which subunits are part of a structural unit and shoudl be constrained"),
7011  Option( 'symm_file_tag', 'StringVector',default='""',desc="label for each subunit" ),
7012  Option( 'attach_atom', 'StringVector',default='""',desc="attach atom on each subunit" ),
7013  Option( 'add_res_before', 'StringVector',default='""',desc="SS to add before each subunit region" ),
7014  Option( 'add_res_after', 'StringVector',default='""',desc="SS to add after each subunit region" ),
7015  Option( 'add_ss_before', 'StringVector',default='""',desc="residues to add" ),
7016  Option( 'add_ss_after', 'StringVector',default='""',desc="SS to add after each subunit region" ),
7017  Option( 'add_atom_at_cen', 'StringVector',default='""',desc="SS to add after each subunit region" ),
7018  Option( 'attach_rsd', 'StringVector',default='""',desc="attach rsd on each subunit" ),
7019  ), # -smhybrid
7020 
7021  # thread side-chains tools (barak) -----------------------------------------------------------
7022  Option_Group( 'threadsc',
7023  Option('src_chain', 'String',
7024  short='Chain of source pdb',
7025  desc='Chain of source pdb'
7026  ),
7027  Option('trg_chain', 'String',
7028  short='Chain of target pdb',
7029  desc='Chain of target pdb'
7030  ),
7031  Option('src_first_resid', 'Integer',
7032  short='Residue id of first residue in source pdb range',
7033  desc='Residue id of first residue in source pdb range'
7034  ),
7035  Option('trg_first_resid', 'Integer',
7036  short='Residue id of first residue in source pdb range',
7037  desc='Residue id of first residue in source pdb range'
7038  ),
7039  Option('nres', 'Integer',
7040  short='Number of residues to be threaded',
7041  desc='Number of residues to be threaded'
7042  ),
7043  Option('trg_anchor', 'Integer',
7044  short='anchor residue for backbone threading',
7045  desc='anchor residue for backbone threading',
7046  ),
7047  ), # threadsc
7048 
7049  ###############################################################################
7050  ## (yab) ufv sandbox options
7051  Option_Group( 'ufv',
7052  Option( 'left', 'Integer', desc="left endpoint" ),
7053  Option( 'right', 'Integer', desc="right endpoint" ),
7054  Option( 'ss', 'String', desc="secondary structure string" ),
7055  Option( 'aa_during_build', 'String', desc="amino acid string during centroid build" ),
7056  Option( 'aa_during_design_refine', 'String', desc="amino acid string during design-refine" ),
7057  Option( 'keep_junction_torsions', 'Boolean', desc="when rebuilding loops, keep (approx) the original torsions at the junctions of the loop endpoints", default='false' ),
7058  Option( 'ufv_loops', 'File', desc="use this multiple loop file in place of specifying single loop options on command line" ),
7059  Option( 'use_fullmer', 'Boolean', desc="use full-mer fragments when building loop", default='false' ),
7060  Option( 'centroid_loop_mover', 'String', desc="the centroid loop mover to use", default='RemodelLoopMover' ),
7061  Option( 'no_neighborhood_design', 'Boolean', desc="only repack the neighborhood of the loop, don't design", default='false' ),
7062  Option( 'dr_cycles', 'Integer', desc="design-refine cycles", default='3' ),
7063  Option( 'centroid_sfx', 'String', desc="filename of the centroid score function to use," ),
7064  Option( 'centroid_sfx_patch', 'String', desc="filename of the centroid score function patch to use," ),
7065  Option( 'fullatom_sfx', 'String', desc="filename of the full-atom score function to use" ),
7066  Option( 'fullatom_sfx_patch', 'String', desc="filename of the full-atom score function patch to use" ),
7067 
7068  Option_Group( 'insert',
7069  Option( 'insert_pdb', 'File', desc="pdb of insert structure" ),
7070  Option( 'attached_pdb', 'File', desc="pdb of structure in rigid body relationship with insert structure" ),
7071  Option( 'connection_scheme', 'String', desc="enforce type of insertion: choose either n2c or c2n" ),
7072  ), # -ufv:insert
7073  ), # -ufv
7074 
7075  Option_Group( 'willmatch',
7076 # Option( 'arg_dun_th', 'Real', desc='fa_dun thresh for ARG', default='16.0' ),
7077 # Option( 'asp_dun_th', 'Real', desc='fa_dun thresh for ASP', default='8.0' ),
7078 # Option( 'glu_dun_th', 'Real', desc='fa_dun thresh for GLU', default='12.0' ),
7079 # Option( 'lys_dun_th', 'Real', desc='fa_dun thresh for LYS', default='16.0' ),
7080 # Option( 'usecache', 'Boolean', desc='use cached stage 1 data', default='false' ),
7081  Option( 'write_reduced_matchset', 'StringVector',desc="<name> <pdb1> <pdb2> ..."),
7082  Option( 'interface_size', 'Real',desc="num CB-CB within 8A",default='30'),
7083  Option( 'max_dis_any', 'Real',desc="",default='3.0'),
7084  Option( 'max_dis_all', 'Real',desc="",default='2.6'),
7085  Option( 'max_dis_hb', 'Real',desc="",default='3.2'),
7086  Option( 'min_dis_hb', 'Real',desc="",default='2.2'),
7087  Option( 'max_dis_hb_colinear', 'Real',desc="",default='0.7'),
7088  Option( 'max_dis_metal','Real',desc="",default='1.0'),
7089  Option( 'max_ang_metal','Real',desc="",default='5.0'),
7090  Option( 'clash_dis', 'Real',desc="",default='3.5'),
7091  Option( 'c2_linker_dist', 'Real',desc="",default='3.5'),
7092  Option( 'identical_match_dis', 'Real',desc="",default='0.0001'),
7093  Option( 'chi1_increment', 'Real',desc="",default='10.0'),
7094  Option( 'chi2_increment', 'Real',desc="",default='20.0'),
7095  Option( 'c2_symm_increment', 'Real',desc="",default='20.0'),
7096  Option( 'cb_sasa_thresh', 'Real',desc="",default='20.0'),
7097  Option( 'design_interface', 'Boolean',desc="", default="true" ),
7098  Option( 'chilist', 'File',desc="" ),
7099  Option( 'fixed_res', 'File',desc="" ),
7100  Option( 'native1', 'File',desc="" ),
7101  Option( 'native2', 'File',desc="" ),
7102  Option( 'exclude_res1', 'File',desc="",default="" ),
7103  Option( 'exclude_res2', 'File',desc="",default="" ),
7104  Option( 'taglist', 'File',desc="" ),
7105  Option( 'residues', 'IntegerVector',desc="" ),
7106  Option( 'symmetry_d2', 'Boolean', desc="", default='false'),
7107  Option( 'symmetry_c2_dock', 'Boolean', desc="", default='false'),
7108  Option( 'splitwork', 'IntegerVector', desc=""),
7109  Option( 'exclude_ala', 'Boolean', desc="", default="false"),
7110  Option( 'match_overlap_dis','Real',desc="distance under which to consider matches redundant",default='00.20'),
7111  Option( 'match_overlap_ang','Real',desc="ang(deg) under which to consider matches redundant",default='10.00'),
7112  Option( 'forbid_residues', 'IntegerVector',desc="disallow residues for matching" ),
7113  Option( 'poi', 'RealVector',desc="xyz coords of some site of interest" ),
7114  Option( 'poidis', 'Real',desc="poi distance threshold" ),
7115  Option( 'homodimer', 'Boolean', desc="examine only homodimer configs", default="false"),
7116  Option( 'fa_dun_thresh','Real',desc="",default='6.0'),
7117 
7118  # Option( 'filterdist' ,'Real' ,desc="MC temp for cen fold", default="2.0" ),
7119  ), #-willmatch
7120 
7121 ) # end options