total_free_energy.thermodynamic_state = ProtocolPath( "thermodynamic_state", "global") calculation_schema.workflow_schema = WorkflowSchema() calculation_schema.workflow_schema.protocol_schemas = [ *(protocol.schema for protocol in attach_pull_protocols), *(protocol.schema for protocol in release_protocols), symmetry_correction.schema, orientation_free_energy.schema, total_free_energy.schema, ] calculation_schema.workflow_schema.protocol_replicators = [ orientation_replicator, *attach_pull_replicators, release_replicator, ] # Define where the final value comes from. calculation_schema.workflow_schema.final_value_source = ProtocolPath( "result", total_free_energy.id) return calculation_schema register_calculation_schema( HostGuestBindingAffinity, SimulationLayer, HostGuestBindingAffinity.default_paprika_schema, )
total_iterations.id) conditional_group.add_protocols(total_iterations, run_yank) # Define the full workflow schema. schema = WorkflowSchema() schema.protocol_schemas = [ build_full_coordinates.schema, assign_full_parameters.schema, energy_minimisation.schema, equilibration_simulation.schema, filter_solvent.schema, filter_solute.schema, build_vacuum_coordinates.schema, assign_vacuum_parameters.schema, conditional_group.schema, ] schema.final_value_source = ProtocolPath("estimated_free_energy", conditional_group.id, run_yank.id) calculation_schema.workflow_schema = schema return calculation_schema # Register the properties via the plugin system. register_calculation_schema(SolvationFreeEnergy, SimulationLayer, SolvationFreeEnergy.default_simulation_schema)
schema.protocol_replicators = [ full_data_replicator, component_replicator, component_data_replicator, gradient_replicator, ] schema.gradients_sources = [ProtocolPath("result", combine_gradients.id)] schema.final_value_source = ProtocolPath("result", calculate_excess_volume.id) calculation_schema.workflow_schema = schema return calculation_schema # Register the properties via the plugin system. register_calculation_schema(Density, SimulationLayer, Density.default_simulation_schema) register_calculation_schema( Density, ReweightingLayer, Density.default_reweighting_schema ) register_calculation_schema( ExcessMolarVolume, SimulationLayer, ExcessMolarVolume.default_simulation_schema, ) register_calculation_schema( ExcessMolarVolume, ReweightingLayer, ExcessMolarVolume.default_reweighting_schema, )
*(x.schema for x in gas_protocols if x is not None), divide_by_liquid_molecules.schema, energy_of_vaporization.schema, ideal_volume.schema, enthalpy_of_vaporization.schema, ] schema.protocol_replicators = [liquid_replicator, gas_replicator] schema.final_value_source = ProtocolPath("result", enthalpy_of_vaporization.id) calculation_schema.workflow_schema = schema return calculation_schema # Register the properties via the plugin system. register_calculation_schema( EnthalpyOfMixing, SimulationLayer, EnthalpyOfMixing.default_simulation_schema ) register_calculation_schema( EnthalpyOfMixing, ReweightingLayer, EnthalpyOfMixing.default_reweighting_schema ) register_calculation_schema( EnthalpyOfVaporization, SimulationLayer, EnthalpyOfVaporization.default_simulation_schema, ) register_calculation_schema( EnthalpyOfVaporization, ReweightingLayer, EnthalpyOfVaporization.default_reweighting_schema, )
protocols.reweight_observable.volumes = ProtocolPath( "output_observables", protocols.decorrelate_observable.id ) protocols.reweight_observable.thermodynamic_state = ProtocolPath( "thermodynamic_state", "global" ) schema = WorkflowSchema() schema.protocol_schemas = [ *(x.schema for x in protocols), compute_dipoles.schema, join_dipoles.schema, decorrelate_dipoles.schema, ] schema.protocol_replicators = [data_replicator] schema.final_value_source = ProtocolPath( "value", protocols.reweight_observable.id ) calculation_schema.workflow_schema = schema return calculation_schema # Register the properties via the plugin system. register_calculation_schema( DielectricConstant, SimulationLayer, DielectricConstant.default_simulation_schema ) register_calculation_schema( DielectricConstant, ReweightingLayer, DielectricConstant.default_reweighting_schema )