wham 1.1.4

An implementation of the weighted histogram analysis method
Documentation
name: wham
version: "1.1.3"
author: D. Bauer <bauer@bio.tu-darmstadt.de>
about: |
  wham is a fast implementation of the weighted histogram analysis method (WHAM) written in Rust. It currently supports potential of mean force (PMF) calculations in multiple dimensions at constant temperature.

  Metadata file format:
      /path/to/timeseries_file1  x_1  x_2  x_N  fc_1  fc_2  fc_N
      /path/to/timeseries_file2  x_1  x_2  x_N  fc_1  fc_2  fc_N
      /path/to/timeseries_file3  x_1  x_2  x_N  fc_1  fc_2  fc_N
  The first column is a path to a timeseries file _relative_ to the metadata file (see below). This is followed by the position of the umbrella potential x in N dimensions and the force constant fc in each dimension. Lines starting with a # are treated as comments and will not be parsed.

  Timeseries file format:
      time  x_1  x_2  x_N
      time  x_1  x_2  x_N
      time  x_1  x_2  x_N
  The first column will be ignored and is followed by N reaction coordinates x.

  Shipped under the GPLv3 license.
args:
    - metadata:
        short: f
        long: file
        value_name: METADATA
        takes_value: true
        required: true
        help: Path to the metadata file.
    - min_hist:
        long: min
        value_name: HIST_MIN
        takes_value: true
        required: true
        allow_hyphen_values: true
        help: Histogram minima (comma separated for multiple dimensions). Also accepts "pi".
    - max_hist:
        long: max
        value_name: HIST_MAX
        takes_value: true
        required: true
        allow_hyphen_values: true
        help: Histogram maxima (comma separated). Also accepts "pi".
    - bins:
        short: b
        long: bins
        value_name: BINS
        takes_value: true
        required: true
        help: Number of histogram bins (comma separated).
    - tolerance:
        short: t
        long: tolerance
        value_name: TOLERANCE
        takes_value: true
        required: false
        help: Abortion criteria for WHAM calculation. WHAM stops if abs(F_new - F_old) < tolerance (defaults to 0.000001).
    - iterations:
        short: i
        long: iterations
        value_name: ITERATIONS
        takes_value: true
        required: false
        help: Stop WHAM after this many iterations without convergence (defaults to 100,000).
    - cyclic:
        short: c
        long: cyclic
        help: For periodic reaction coordinates. If this is set, the first and last coordinate bin in each dimension are treated as neighbors for the bias calculation.
    - verbose:
        short: v
        long: verbose
        help: Enables verbose output.
        takes_value: false
    - temperature:
        short: T
        long: temperature
        help: WHAM temperature in Kelvin.
        takes_value: true
        required: true
    - output:
        short: o
        long: output
        help: Free energy output file (defaults to wham.out).
        takes_value: true
        required: false
    - bootstrap:
        long: bt
        help: Number of bayesian bootstrapping runs for error analysis by assigning random weights (defaults to 0).
        takes_value: true
        required: false
    - bootstrap_seed:
        long: seed
        help: Random seed for bootstrapping runs.
        takes_value: true
        required: false
    - start:
        long: start
        help: Skip rows in timeseries with an index smaller than this value (defaults to 0)
        takes_value: true
        required: false
    - end:
        long: end
        help: Skip rows in timeseries with an index larger than this value (defaults to 1e+20)
        takes_value: true
        required: false
    - uncorr:
        short: g
        long: uncorr
        help: Estimates statistical inefficiency of each timeseries via autocorrelation and removes correlated samples (default is off).
        takes_value: false
        required: false
    - convdt:
        long: convdt
        help: "Performs WHAM for slices with the given delta in time and returns an output file for each slice. THis is useful to check the result for convergence. Example: with --convdt 100 and a timeseries ranging from 0-300, free energy surfaces for slices 0-100, 0-200 and 0-300 will be given returned."
        takes_value: true
        required: false
    - ignore_empty:
        long: ignore_empty
        help: If this is set, do not fail if a histogram is empty.
        takes_value: false
        required: false