perses.rjmc.topology_proposal.PointMutationEngine

class perses.rjmc.topology_proposal.PointMutationEngine(wildtype_topology, system_generator, chain_id, proposal_metadata=None, max_point_mutants=None, residues_allowed_to_mutate=None, allowed_mutations=None, verbose=False, always_change=True)[source]

wildtype_topology : openmm.app.Topology system_generator : SystemGenerator chain_id : str

id of the chain to mutate (using the first chain with the id, if there are multiple)
proposal_metadata : dict – OPTIONAL
Contains information necessary to initialize proposal engine
max_point_mutants : int – OPTIONAL
default = None
residues_allowed_to_mutate : list(str) – OPTIONAL
default = None
allowed_mutations : list(list(tuple)) – OPTIONAL

default = None (‘residue id to mutate’,’desired mutant residue name (3-letter code)’) Example:

Desired systems are wild type T4 lysozyme, T4 lysozyme L99A, and T4 lysozyme L99A/M102Q allowed_mutations = [

[(‘99’,’ALA’)], [(‘99’,’ALA’),(‘102’,’GLN’)]

]

always_change : Boolean – OPTIONAL, default True

Have the proposal engine always propose another mutation If allowed_mutations is not specified, always_change will require ALL point mutations to be different The proposal engine will choose number of locations specified by max_point_mutants, and will require all of those residues to change eg: if old topology included L99A and M102Q, the new proposal cannot

include L99A OR M102Q

(This is only relevant in cases where max_point_mutants > 1)

Attributes:
chemical_state_list

Methods

compute_state_key(topology) Compute the corresponding state key of a given topology, according to this proposal engine’s scheme.
propose(current_system, current_topology[, …])
__init__(wildtype_topology, system_generator, chain_id, proposal_metadata=None, max_point_mutants=None, residues_allowed_to_mutate=None, allowed_mutations=None, verbose=False, always_change=True)[source]

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__(wildtype_topology, …[, …]) Initialize self.
compute_state_key(topology) Compute the corresponding state key of a given topology, according to this proposal engine’s scheme.
propose(current_system, current_topology[, …])

Attributes

chemical_state_list
compute_state_key(topology)[source]

Compute the corresponding state key of a given topology, according to this proposal engine’s scheme.

Parameters:
topology : app.Topology

the topology in question

Returns:
chemical_state_key : str

The chemical_state_key

propose(current_system, current_topology, current_metadata=None)