# propertyestimator.protocols.utils.generate_base_reweighting_protocols

`propertyestimator.protocols.utils.``generate_base_reweighting_protocols`(analysis_protocol, mbar_protocol, workflow_options, replicator_id='data_repl', id_suffix='')

  Constructs a set of protocols which, when combined in a workflow schema, may be executed to reweight a set of existing data to estimate a particular property. The reweighted observable of interest will be calculated by following the passed in analysis_protocol.

  Parameters

    - analysis_protocol (AveragePropertyProtocol) – The protocol which will take input from the stored data, and generate a set of observables to reweight.

    - mbar_protocol (BaseReweightingProtocol) – A template mbar reweighting protocol, which has it’s reference observables already set. This method will automatically set the reduced potentials on this object.

    - workflow_options (WorkflowOptions) – The options being used to generate a workflow.

    - replicator_id (str) – The id to use for the data replicator.

    - id_suffix (str) – A string suffix to append to each of the protocol ids.

  Returns

    - BaseReweightingProtocols – A named tuple of the protocol which should form the bulk of a property estimation workflow.

    - ProtocolReplicator – A replicator which will clone the workflow for each piece of stored data.