ligning.optimization

class ligning.optimization.BOOptimizer(name: Optional[str] = 'optimizer_0')

Automated BO Optimizer

optimize(objective_func: object, para_ranges: list, n_iter: Optional[int] = 100, make_plot: Optional[bool] = True, log_flag: Optional[bool] = False) Tuple[nparray, nparray, int]

Training a Bayesian Optimizer

Parameters
  • objective_func (object) – objective function object

  • para_ranges (list) – list of parameter ranges (as lists) or parameter values (as float)

  • n_iter (Optional[int], optional) – number of optimization iterations, by default 100

  • make_plot (Optional[bool], optional) – flag to make discovery plot, by default True

  • log_flag (Optional[bool], optional) – flag to take log of the responses, by default False

Returns

  • X_opt_full (nparray) – values of optimal parameters

  • y_opt (nparray) – value of optimal reponse

  • index_opt (int) – index of the sampling points where optimum is

class ligning.optimization.MaskedFunc(objective_func, para_ranges)

Wrapper for the objective function with fixed and varying inputs

predict(X_real: nparray) nparray

Vectorized objective function object takes a matrix and return the reponses in a matrix

Parameters

X_real (nparray) – input parameter matrix

Returns

Y_real – output reponse matrix

Return type

nparray

class ligning.optimization.ParameterMask(para_ranges: list, return_1d: Optional[bool] = True)

Mask object to create full X matrix with fixed values and varying values

prepare_X(X) nparray

Prepare the full X vector

Returns

X_full – full X vector

Return type

nparray

class ligning.optimization.Simulation(linkage_distribution_input: list, monomer_distribution_input: list, expected_size: Tuple[int, float], max_size: Tuple[int, float], distribution_scaling: float, Tmetro: int, Tmetro_out: int, seed_init: Optional[int] = 1, library_name: Optional[str] = 'lignin_x', ResultsName: Optional[str] = 'results', trial_index: Optional[int] = None, n_population: Optional[int] = 100, i_max: Optional[int] = 1000, i_max_out: Optional[int] = 1000, i_max_ring: Optional[int] = 500, additional_metrics: Optional[Tuple[list, float]] = None, population_metrics: Optional[list] = None, size_in_MW: Optional[bool] = False, branching_propensity: Optional[float] = None, metrics_weights: Optional[Tuple[list, nparray]] = None, verbose: Optional[bool] = True, show_plots: Optional[bool] = True, save_path: Optional[str] = '/home/docs/checkouts/readthedocs.org/user_builds/ligningraphs/checkouts/latest/docs/source')

Full MCMC simulation to generate a population of lignin structures

run()

Main body run the MCMC simulations

class ligning.optimization.Trajectory(linkage_distribution_input: list, monomer_distribution_input: list, Tmetro: int, expected_size: Tuple[int, float], max_size: Tuple[int, float], distribution_scaling: Optional[float] = 1.0, additional_metrics: Optional[Tuple[list, float]] = None, size_in_MW: Optional[bool] = False, branching_propensity: Optional[float] = None, metrics_weights: Optional[Tuple[list, nparray]] = None, verbose: Optional[bool] = True, file: Optional[str] = None)

Single MCMC trajectory

run_MCMC(rseed: int, i_max: Optional[int] = 500) Tuple[Polymer, dict]

run MCMC simulations

Parameters
  • rseed (int) – random seed

  • i_max (Optional[bool], optional) – maximum number of iterations in the inner loop, by default 500

Returns

  • polymer_final (Polymer) – final polymer object

  • MC_dict (dict) – MC trajectory

run_MCMC_ring(polymer_init: Polymer, rseed: int, i_max_ring: Optional[int] = 100)

Run MCMC simulations to add the ring

Parameters
  • polymer_init (Polymer) – initial polymer object

  • rseed (int) – random seed

  • i_max_ring (Optional[int], optional) – maximum number of iterations in the inner loop, by default 500

Returns

  • polymer_final (Polymer) – final polymer object

  • MC_dict (dict) – MC trajectory

  • acceptance_count (int) – accepted ring addition

class ligning.optimization.VectorizedFunc(objective_func: object)

Wrapper for the vectorized objective function

predict(X_real: nparray) nparray

Vectorized objective function object takes a matrix and return the reponses in a matrix

Parameters

X_real (nparray) – input parameter matrix

Returns

Y_real – output reponse matrix

Return type

nparray