Configuration Options

The following are the general configuration file settings.

[settings]
#: The default pH of new molecules
default_pH = 7.0

#: The default pKs of ionizable amino-acids. [Ref]_
#:
#: Some amino-acids have degenerate ionizeable atoms; these are listed and
#: separated by '-' characters. The different pKs for each ionization is
#: listed in the subsequent items in the tuple.
#:
#:  .. [Ref] G. R. Grimsley, J. M. Scholtz, C. N. Pace, Protein Sci. 18, 247-51
#:           (2009).
pKs = {'ASP': {'OD1-OD2': (-1.0, 3.5)},
       'GLU': {'OE1-OE2': (-1.0, 4.2)},
       'HIS': {'ND1-NE2': (6.6, 14.0)},
       'CYS': {'SG': (6.8,)},
       'TYR': {'OH': (10.3,)},
       'LYS': {'NZ': (10.5, 14.0, 14.0)},
       'last': {'O-OXT': (-1.0, 3.3)},
       'first': {'N': (7.7, 14.0, 14.0),}
     }

#: Path for the datasets
dataset_path = 'data/'

#: Path for model input molecule identifiers
model_molecule_identifiers = ('high_res.txt',
                              #'high_res_short.txt',
                              )

#: Path for the Ramachandran statistics datasets
ramachandran_dataset_path = 'data/ramachandranstatistics/'

#: Path for the Hbond statistics datasets
hbond_dataset_path = 'data/hbondstatistics/'

#: The cutoff Energy (in kT) to report good, warning and bad energies.
energy_cutoff_good = 3.4  # Within 96.6% of observed values
energy_cutoff_warning = 5.4  # Within 99.5% of observed values
energy_cutoff_bad = 20.0  # Only observed < 0.5% of the time.

#: urls to download PDB files
pdb_urls = ('https://files.rcsb.org/download/',)

#: Only load the first model, by default
pdb_first_model = True

The utils.settings impact how general functions behave and how the data are presented.

[utils.settings]
#: The default max width (in characters) of markdown tables (MDTable)
#: This is the value used when outputting tables outside of the terminal
default_max_width = 100

#: When writing files, overwrite them if they already exist.
overwrite_files = True

#: Save files fetched and cached files (get_or_fetch) to the local directory
save_fetched_files_locally = False

#: If files are not overwritten, the create new versions up to the following
#: number
max_file_versions = 99

The hydrogens.settings impact how hydrogen atoms are added to a molecule. These impact the --hydrogenate option.

[hydrogens.settings]
#: The default optimal length of standard bonds (in Angstroms) for biomolecules
bond_length = {'N-H': 1.023,    # L. Yao, et al. JACS 130, 16518-20 (2008)
               'C-H': 1.117,    # M. Ottiger, et al. JACS 121, 4690-4695 (1999)
               'C-C': 1.517,    # M. Ottiger, et al. JACS 121, 4690-4695 (1999)
               'N-H2': 1.01,    # PK Sawinski, et al. Crys Growth & Design
                                # 13, 1730 (2013)
               'O-H': 0.958,    # MN Frey et al.,  JCP 59, 915-924 (1973).
               'C-N': 1.488,    # MN Frey et al.,  JCP 59, 915-924 (1973).
               'C=O': 1.250,
               'C-O': 1.413,
               }

The hbonds.settings impact how hydrogen bonds are detected. These impact the hbonds command and the --rama option in the measure command.

[hbonds.settings]
# Hydrogen Bond Definitions
# -------------------------

#: Element selector string for the hydrogen bond donor atom1. The OR
#: operator, '|', is supported.
#:
#: Hydrogen bond dipoles are defined as:
#:
#:     donor2--donor1 .... acceptor1--acceptor2
donor1_elements = 'H|D'

#: Element selector string for the hydrogen bond donor atom2. The OR
#: operator, '|', is supported.
donor2_elements = 'N|15N|O'

#: Element selector string for the hydrogen bond acceptor atom1. The OR
#: operator, '|', is supported.
acceptor1_elements = 'O'

#: Element selector string for the hydrogen bond acceptor atom2. The OR
#: operator, '|', is supported.
acceptor2_elements = 'C|13C'


#: The cutoff distance ranges (in A) between atoms to be considered a hydrogen
#: bond.
#:
#: 'd1a1': The distance between the donor1 and acceptor1 atoms
hbond_distance_cutoff = {'d1a1': (1.5, 2.5),
                         }

#: The cutoff angle ranges (in degrees) between atoms to be considered a
#: hydrogen bond.
hbond_angle_cutoff = {'theta': (105., 180.),
                       'phi': (-180., 180.)
                      }


# Dihedral Angle Ranges
# ---------------------

# Phi torsion angle range (in degrees) for helices. (Generously allowed)
helix_phi = (-170., 0.)

# Phi torsion angle range (in degrees) for helices. (Generously allowed)
helix_psi = (-100., 55.)

# Phi torsion angle range (in degrees) for beta-sheet. (Generously allowed)
beta_phi = (-200., -25.)

# Psi torsion angle range (in degrees) for beta-sheet. (Generously allowed)
beta_psi = (45., 220.)


#: Phi torsion angle ranges (in degrees) for residue i+1 in turns
beta_turn_i1_phi = {'turnI':   (-110., -10.),
                    'turnII':  (-110., -10.),
                    'turnIp':  (10., 110.),
                    'turnIIp': (10., 110.),
                    }

#: Psi torsion angle ranges (in degrees) for residue i+1 in turns
beta_turn_i1_psi = {'turnI':   (-80., 20.),
                    'turnII':  (70., 170.),
                    'turnIp':  (-20., 80.),
                    'turnIIp': (-170., -70.)
                    }

#: Phi torsion angle ranges (in degrees) for residue i+2 in turns
beta_turn_i2_phi =  {'turnI': (-140., -40.),
                     'turnII': (30., 140.),
                     'turnIp': (40., 140.),
                     'turnIIp': (-130., -30.)
                     }

#: Psi torsion angle ranges (in degrees) for residue i+2 in turns
beta_turn_i2_psi = {'turnI':   (-50., 50.),
                    'turnII':  (-50., 50.),
                    'turnIp':  (-50., 50.),
                    'turnIIp': (-50., 50.)
                    }


# Classification names
# --------------------

#: Classification type name for backbone-backbone (bb-bb) amide hydrogen
#: bonds
type_bb_bb_amide = 'bb-bb amide'

#: Classification type name for backbone-sidechain (sc-bb) amide hydrogen
#: bonds
type_bb_sc_amide = 'bb-sc amide'

#: Classification type name for sidechain-backbone (sc-bb) amide hydrogen
#: bonds
type_sc_bb_amide = 'sc-bb amide'

#: Classification type name for sidechain-sidechain (sc-sc) amide hydrogen
#: bonds
type_sc_sc_amide = 'sc-sc amide'

#: Classification type name for backbone-backbone (bb-bb) aliphatic hydrogen
#: bonds
type_bb_bb_aliphatic = 'bb-bb aliph.'

#: Classification type name for backbone-sidechain (bb-sc) aliphatic hydrogen
#: bonds
type_bb_sc_aliphatic = 'bb-sc aliph.'

#: Classification type name for sidechain-backbone (sc-bb) aliphatic hydrogen
#: bonds
type_sc_bb_aliphatic = 'sc-bb aliph.'

#: Classification type name for backbone-backbone (sc-sc) aliphatic hydrogen
#: bonds
type_sc_sc_aliphatic = 'sc-sc aliph.'

#: Classification type name for backbone-backbone (bb-sc) hydroxyl hydrogen
#: bonds
type_bb_sc_hydroxyl = 'bb-sc hydroxyl'

#: Classification type name for sidechain-backbone (sc-bb) hydroxyl hydrogen
#: bonds
type_sc_bb_hydroxyl = 'sc-bb hydroxyl'

#: Classification type name for sidechain-sidechain (sc-sc) hydroxyl hydrogen
#: bonds
type_sc_sc_hydroxyl = 'sc-sc hydroxyl'

#: Major classification name for type I turns
major_beta_turnI = "type I turn"

#: Major classification name for type II turns
major_beta_turnII = "type II turn"

#: Major classification name for type I' turns
major_beta_turnIp = "type I' turn"

#: Major classification name for type II' turns
major_beta_turnIIp = "type II' turn"

#: Major classification name for sheets
major_beta = 'sheet'

#: Major classification name for anti-parallel beta-sheets
major_beta_anti = 'sheet, anti-parallel'

#: Major classification name for parallel beta-sheets
major_beta_par = 'sheet, parallel'

#: Major classification name for 310-helices
major_310 = '310-helix'

#: Major classification name for alpha-helices
major_alpha = 'alpha-helix'

#: Major classification name for pi-helices
major_pi = 'pi-helix'

#: Major classification name for isolated hydrogen bonds
major_isolated = 'isolated'

#: Minor classification name for the N-terminal residues
minor_N = 'N-term'

#: Minor classification name for the C-terminal residues of alpha-helices
minor_C = 'C-term'

#: Minor classification name for glycines
minor_gly = 'Gly'


# Assign Blocks
# -------------

#: Assign blocks of residues, including gaps
assign_blocks = True

#: Assign alpha-helix blocks
assign_blocks_alpha = True

#: Assign beta-strand blocks, including gaps
assign_blocks_beta = True

#: Assign 310-helix blocks, including gaps
assign_blocks_310 = True

#: assign_blocks: Overwrite classification assignments, if an assignment has
#: already been made
assign_blocks_overwrite = False


#: assign_blocks: Check the previous and subsequent residues in a contiguous
#: alpha-helix assignment
assign_blocks_alpha_extend_termini = False

#: assign_blocks: Label the 'minor' classification of the specified number of
# N- or C-terminal residues as 'N-term' or 'C-term'
assign_blocks_alpha_label_N_term = 1
assign_blocks_alpha_label_C_term = 1

#: assign_blocks: Only fill gaps in alpha-helices that are as large as the
#: following number
assign_blocks_alpha_gap_tolerance = 1


#: assign_blocks: Check the previous and subsequent residues in a contiguous
#: beta-sheet assignment
assign_blocks_beta_extend_termini = True

#: assign_blocks: Label the 'minor' classification of the specified number of
# N- or C-terminal residues as 'N-term' or 'C-term'
assign_blocks_beta_label_N_term = 1
assign_blocks_beta_label_C_term = 1

#: assign_blocks: Only fill gaps in beta-sheets that are as large as the
#: following number
assign_blocks_beta_gap_tolerance = 2


#: assign_blocks: Check the previous and subsequent residues in a contiguous
#: 310 assignment
assign_blocks_310_extend_termini = False

#: assign_blocks: Label the 'minor' classification of the specified number of
#: N- or C-terminal residues as 'N-term' or 'C-term'
assign_blocks_310_label_N_term = 0
assign_blocks_310_label_C_term = 0

#: assign_blocks: Only fill gaps in 310-helices that are as large as the
#: following number
assign_blocks_310_gap_tolerance = 3


# Tables
# ------

#: Render HBond tables with detailed information
hbond_table_detailed = False

#: Sort HBond tables by the hydrogen bond type
hbond_table_sort_type = False

#: Render the Rama table with detailed information, including minor assignments
rama_table_detailed = True

The pa.settings impact how partial alignment (RDC and RACS) data are fit.

[pa.settings]
#: The gyromagnetic ratios (in rad T^-1 s^-1) of common nuclei
gamma = {'H': 267.513E6,
         'C': 67.262E6,
         'N': -27.116E6}

#: Calculate dipolar couplings from bond lengths and gyromagnetic ratios. If
#: this is False, the values in the default_predicted_rdcs are used. However,
#: if a value is not specified in the default_predicted_rdcs, the value will
#: still be calculated from bond lengths.
calculate_from_bonds = False

#: The default dipolar couplings calculated.
#: The static dipolar coupling constants listed are for common bonds in
#: proteins. Values are calculated based on average calculated DCCs for 2MJB
#: and scaled to an HN DCC of -11472Hz. This is equal to the
#: dipolar reduced anisotropy.
#: These values are used if ``calculate_from_bonds`` is False.
default_predicted_rdcs = {'N-H': 10823., #11472.,  # 1.02 A
                          'NE1-HE1': 10823.,
                          'CA-HA': -22300.,
                          'C-N+1': 1115.,
                          'C-CA': -1880.,
                          'CA-CB': -1880.,
                          }


#: The default RACS tensor values of various nuclei in proteins.
#: order - the xx/yy/zz component order of the tensor.
#:
#:          1. The first component is colinear with the atom -- ref_atom1
#:             vector
#:
#:          2. The second component is orthogonal to the
#:             atom -- ref_atom1 -- ref_atom2 plane
#:
#:          3. The third component is orthogonal to the second two components.
#:
#:          4. Tensor rotations conducted with the Z-Y-X convention for the
#:             alpha, beta and gamma angles, respectively.
#:
#:  See the following reference for tensor conventions and values: Cornilescu
#:  et al. JACS 2000, 122, 10143.

default_predicted_racs = {
    # The Carbonyl CSA. This convention places the x-axis (s11) near the,
    # C-N bond and the z-axis (s33) orthogonal to the O-C-N plane.
    'C': {'delta': -86.53 * 1.03,  # ppm (Reduced anisotropy)
          'eta': 0.63,
          'alpha': 40.,            # degrees
          'beta': 0.,              # degrees
          'gamma': 0.,             # degrees
          'ref_atom1': 'N+1',
          'ref_atom2': 'O',
          'order': 'xzy',
          },

    # The Nitrogen CSA. This convention places the z-axis (s11) near the H-N
    # bond, and the y-axis (s22) orthogonal to the H-N-CA plane.
    'N': {'delta': 108.53 * 0.993,  # ppm (Reduced anisotropy)
          'eta': 0.16,
          'alpha': 0.,              # degrees
          'beta': -20.,             # degrees
          'gamma': 0.,              # degrees
          'ref_atom1': 'H',
          'ref_atom2': 'CA',
          'order': 'zyx',
          },

    # The amide H CSA. This convention places the z-axis (s33) near the H-N
    # bond, and the x-axis (s11) orthogonal to the H-N-C plane.
    'H': {'delta': -5.93,           # ppm (Reduced anisotropy)
          'eta': 1.00,
          'alpha': 0.,              # degrees
          'beta': 0.,               # degrees
          'gamma': -7.,              # degrees
          'ref_atom1': 'N',
          'ref_atom2': 'C-1',
          'order': 'zxy',
          },
    }

#: Default errors in absolute values
default_error = {'N-H':   0.2,  # Hz
                 'CA-HA': 0.5,  # Hz
                 'N-C':   0.5,  # Hz
                 'CA-C':  0.5,  # HZ
                 'NE-HE': 0.2,  # Hz
                 'C-C':   0.5,  # Hz (bond type)
                 'C-H':   1.0,  # Hz (bond type)
                 'C':     1.,  # ppb
                 'N':     1.,  # ppb
                 'H':     5.,  # ppb
                 }

#: urls to download mr files
mr_urls = ('https://files.rcsb.org/download/',)

#: Xplor-NIH incorporates C-H methyl RDCs by projecting them on the associated
#: carbon-carbon bond. If the data uses this convention, then set this setting
#: to True. This convention, however, occludes the use of C-C RDCs, like the
#: CA-CB coupling of an ALA, and it is not set by default.
project_methyls = False

#: The order parameter to use for methyl groups
methyl_order_parameter = 1.0

#: Settings to enable individual fixers by default
enable_signfixer = True
enable_outlierfixer = False
enable_nhscalefixer = False

#: The alpha-critical values for the Grubbs test of outliers. These are used to
#: identify warning or bad data points in terms of their deviations with
#: respect to the best-fit SVD data.
alpha_warning = 0.05
alpha_bad = 0.01


The following options only impact the creation of mollib datasets through the build_data setup command.

[statistics.settings]
#: The number of bins to use (along each dimension) in creating the
#: Ramachandran histogram
ramachandran_histogram_bins = 72

#: The number of bins to use (along each dimension) in creating the
#: hydrogen bond histogram
hbond_histogram_bins = 8