mythos.energy.dna2
Implementation of the oxDNA2 energy model in mythos.
Submodules
Classes
Bonded excluded volume energy function for DNA1 model. |
|
Configuration for the bonded excluded volume energy function. |
|
Cross-stacking energy function for DNA1 model. |
|
Configuration for the cross-stacking energy function. |
|
FENE energy function for DNA1 model. |
|
Configuration for the FENE energy function. |
|
Hydrogen bonding energy function for DNA1 model. |
|
Configuration for the hydrogen bonding energy function. |
|
Configuration for the stacking energy function. |
|
Unbonded excluded volume energy function for DNA1 model. |
|
Configuration for the unbonded excluded volume energy function. |
|
Coaxial stacking energy function for DNA1 model. |
|
Configuration for the coaxial stacking energy function. |
|
Debye-huckel energy function for DNA2 model. |
|
Configuration for the debye-huckel energy function. |
|
Nucleotide rigid body with additional sites for DNA2. |
|
Stacking energy function for DNA2 model. |
Functions
|
Return the default simulation and energy configurations for dna2. |
|
Return the default configurations for the energy functions for dna2. |
|
Return the default energy functions for dna2. |
|
Return the default transform function for dna2 simulations. |
Create the default oxDNA2 energy function. |
Package Contents
- class mythos.energy.dna2.BondedExcludedVolume[source]
Bases:
mythos.energy.base.BaseEnergyFunctionBonded excluded volume energy function for DNA1 model.
- pairwise_energies(body: mythos.energy.base.BaseNucleotide, bonded_neighbors: mythos.utils.types.Arr_Bonded_Neighbors_2) mythos.utils.types.Arr_Bonded_Neighbors[source]
Computes the excluded volume energy for each bonded pair.
- compute_energy(nucleotide: mythos.energy.base.BaseNucleotide) mythos.utils.types.Scalar[source]
Compute the energy of the system given the nucleotide.
- class mythos.energy.dna2.BondedExcludedVolumeConfiguration[source]
Bases:
mythos.energy.configuration.BaseConfigurationConfiguration for the bonded excluded volume energy function.
- required_params: tuple[str] = ('eps_exc', 'dr_star_base', 'sigma_base', 'sigma_back_base', 'sigma_base_back',...
- dependent_params: tuple[str] = ('b_base', 'dr_c_base', 'b_back_base', 'dr_c_back_base', 'b_base_back', 'dr_c_base_back')
- init_params() BondedExcludedVolumeConfiguration[source]
Initializes the dependent parameters in configuration.
Should be implemented in the subclass if dependent parameters are present.
- class mythos.energy.dna2.CrossStacking[source]
Bases:
mythos.energy.base.BaseEnergyFunctionCross-stacking energy function for DNA1 model.
- params: CrossStackingConfiguration
- pairwise_energies(body_i: mythos.energy.base.BaseNucleotide, body_j: mythos.energy.base.BaseNucleotide, unbonded_neighbors: mythos.utils.types.Arr_Unbonded_Neighbors_2) mythos.utils.types.Arr_Unbonded_Neighbors[source]
Computes the cross stacking energy for each unbonded pair.
- compute_energy(nucleotide: mythos.energy.base.BaseNucleotide) mythos.utils.types.Scalar[source]
Compute the energy of the system given the nucleotide.
- class mythos.energy.dna2.CrossStackingConfiguration[source]
Bases:
mythos.energy.configuration.BaseConfigurationConfiguration for the cross-stacking energy function.
- required_params: tuple[str] = ('dr_low_cross', 'dr_high_cross', 'k_cross', 'r0_cross', 'dr_c_cross', 'theta0_cross_1',...
- dependent_params: tuple[str] = ('b_low_cross', 'dr_c_low_cross', 'b_high_cross', 'dr_c_high_cross', 'b_cross_1',...
- init_params() CrossStackingConfiguration[source]
Initializes the dependent parameters in configuration.
Should be implemented in the subclass if dependent parameters are present.
- class mythos.energy.dna2.Fene[source]
Bases:
mythos.energy.base.BaseEnergyFunctionFENE energy function for DNA1 model.
- params: FeneConfiguration
- pairwise_energies(body: mythos.energy.base.BaseNucleotide, bonded_neighbors: mythos.utils.types.Arr_Bonded_Neighbors_2) mythos.utils.types.Arr_Bonded_Neighbors[source]
Computes the FENE energy for each bonded pair.
- compute_energy(nucleotide: mythos.energy.base.BaseNucleotide) mythos.utils.types.Scalar[source]
Compute the energy of the system given the nucleotide.
- class mythos.energy.dna2.FeneConfiguration[source]
Bases:
mythos.energy.configuration.BaseConfigurationConfiguration for the FENE energy function.
- init_params() FeneConfiguration[source]
Initializes the dependent parameters in configuration.
Should be implemented in the subclass if dependent parameters are present.
- class mythos.energy.dna2.HydrogenBonding[source]
Bases:
mythos.energy.base.BaseEnergyFunctionHydrogen bonding energy function for DNA1 model.
- params: HydrogenBondingConfiguration
- compute_v_hb(body_i: mythos.energy.base.BaseNucleotide, body_j: mythos.energy.base.BaseNucleotide, unbonded_neighbors: mythos.utils.types.Arr_Unbonded_Neighbors) mythos.utils.types.Arr_Unbonded_Neighbors[source]
Computes the sequence-independent energy for each unbonded pair.
- weight(i: int, j: int, seq: mythos.utils.types.Probabilistic_Sequence) float[source]
Computes the sequence-dependent weight for an unbonded pair.
- pairwise_energies(body_i: mythos.energy.base.BaseNucleotide, body_j: mythos.energy.base.BaseNucleotide, seq: mythos.utils.types.Discrete_Sequence, unbonded_neighbors: mythos.utils.types.Arr_Unbonded_Neighbors_2) mythos.utils.types.Arr_Unbonded_Neighbors[source]
Computes the hydrogen bonding energy for each unbonded pair.
- compute_energy(nucleotide: mythos.energy.base.BaseNucleotide) mythos.utils.types.Scalar[source]
Compute the energy of the system given the nucleotide.
- class mythos.energy.dna2.HydrogenBondingConfiguration[source]
Bases:
mythos.energy.configuration.BaseConfigurationConfiguration for the hydrogen bonding energy function.
- pseq_constraints: mythos.input.sequence_constraints.SequenceConstraints | None = None
- required_params: tuple[str] = ('eps_hb', 'a_hb', 'dr0_hb', 'dr_c_hb', 'dr_low_hb', 'dr_high_hb', 'a_hb_1', 'theta0_hb_1',...
- dependent_params: tuple[str] = ('b_low_hb', 'dr_c_low_hb', 'b_high_hb', 'dr_c_high_hb', 'b_hb_1', 'delta_theta_hb_1_c',...
- init_params() HydrogenBondingConfiguration[source]
Initializes the dependent parameters in configuration.
Should be implemented in the subclass if dependent parameters are present.
- class mythos.energy.dna2.StackingConfiguration[source]
Bases:
mythos.energy.configuration.BaseConfigurationConfiguration for the stacking energy function.
- pseq_constraints: mythos.input.sequence_constraints.SequenceConstraints | None = None
- required_params: tuple[str] = ('eps_stack_base', 'eps_stack_kt_coeff', 'dr_low_stack', 'dr_high_stack', 'a_stack',...
- dependent_params: tuple[str] = ('b_low_stack', 'dr_c_low_stack', 'b_high_stack', 'dr_c_high_stack', 'b_stack_4',...
- init_params() StackingConfiguration[source]
Initializes the dependent parameters in configuration.
Should be implemented in the subclass if dependent parameters are present.
- class mythos.energy.dna2.UnbondedExcludedVolume[source]
Bases:
mythos.energy.base.BaseEnergyFunctionUnbonded excluded volume energy function for DNA1 model.
- pairwise_energies(body_i: mythos.energy.base.BaseNucleotide, body_j: mythos.energy.base.BaseNucleotide, unbonded_neighbors: mythos.utils.types.Arr_Unbonded_Neighbors_2) mythos.utils.types.Arr_Bonded_Neighbors[source]
Computes the excluded volume energy for each unbonded pair.
- compute_energy(nucleotide: mythos.energy.base.BaseNucleotide) mythos.utils.types.Scalar[source]
Compute the energy of the system given the nucleotide.
- class mythos.energy.dna2.UnbondedExcludedVolumeConfiguration[source]
Bases:
mythos.energy.configuration.BaseConfigurationConfiguration for the unbonded excluded volume energy function.
- required_params: tuple[str] = ('eps_exc', 'dr_star_base', 'sigma_base', 'dr_star_back_base', 'sigma_back_base',...
- dependent_params: tuple[str] = ('b_base', 'dr_c_base', 'b_back_base', 'dr_c_back_base', 'b_base_back', 'dr_c_base_back',...
- init_params() UnbondedExcludedVolumeConfiguration[source]
Initializes the dependent parameters in configuration.
Should be implemented in the subclass if dependent parameters are present.
- class mythos.energy.dna2.CoaxialStacking[source]
Bases:
mythos.energy.base.BaseEnergyFunctionCoaxial stacking energy function for DNA1 model.
- params: CoaxialStackingConfiguration
- pairwise_energies(body_i: mythos.energy.dna2.nucleotide.Nucleotide, body_j: mythos.energy.dna2.nucleotide.Nucleotide, unbonded_neighbors: mythos.utils.types.Arr_Unbonded_Neighbors_2) mythos.utils.types.Arr_Unbonded_Neighbors[source]
Computes the coaxial stacking energy for each unbonded pair.
- compute_energy(nucleotide: mythos.energy.dna2.nucleotide.Nucleotide) mythos.utils.types.Scalar[source]
Compute the energy of the system given the nucleotide.
- class mythos.energy.dna2.CoaxialStackingConfiguration[source]
Bases:
mythos.energy.configuration.BaseConfigurationConfiguration for the coaxial stacking energy function.
- required_params: tuple[str] = ('dr_low_coax', 'dr_high_coax', 'k_coax', 'dr0_coax', 'dr_c_coax', 'theta0_coax_4',...
- init_params() CoaxialStackingConfiguration[source]
Initializes the dependent parameters in configuration.
Should be implemented in the subclass if dependent parameters are present.
- class mythos.energy.dna2.Debye[source]
Bases:
mythos.energy.base.BaseEnergyFunctionDebye-huckel energy function for DNA2 model.
- params: DebyeConfiguration
- __post_init__(topology: mythos.input.topology.Topology | None) None[source]
- pairwise_energies(body_i: mythos.energy.base.BaseNucleotide, body_j: mythos.energy.base.BaseNucleotide, unbonded_neighbors: mythos.utils.types.Arr_Unbonded_Neighbors_2) mythos.utils.types.Arr_Bonded_Neighbors[source]
Computes the debye-huckel energy for each unbonded pair.
- compute_energy(nucleotide: mythos.energy.base.BaseNucleotide) mythos.utils.types.Scalar[source]
Compute the energy of the system given the nucleotide.
- class mythos.energy.dna2.DebyeConfiguration[source]
Bases:
mythos.energy.configuration.BaseConfigurationConfiguration for the debye-huckel energy function.
- required_params: tuple[str] = ('q_eff', 'lambda_factor', 'prefactor_coeff', 'kt', 'salt_conc', 'half_charged_ends')
- init_params() DebyeConfiguration[source]
Initializes the dependent parameters in configuration.
Should be implemented in the subclass if dependent parameters are present.
- class mythos.energy.dna2.Nucleotide[source]
Bases:
mythos.energy.base.BaseNucleotideNucleotide rigid body with additional sites for DNA2.
This class is inteneded to be used as a dataclass for a nucleotide rigid body as a rigid_body_transform_fn in jax_md.energy.ComposedEnergyFunction.
- center: mythos.utils.types.Arr_Nucleotide_3
- orientation: mythos.utils.types.Arr_Nucleotide_3 | jax_md.rigid_body.Quaternion
- stack_sites: mythos.utils.types.Arr_Nucleotide_3
- back_sites: mythos.utils.types.Arr_Nucleotide_3
- back_sites_dna1: mythos.utils.types.Arr_Nucleotide_3
- base_sites: mythos.utils.types.Arr_Nucleotide_3
- back_base_vectors: mythos.utils.types.Arr_Nucleotide_3
- base_normals: mythos.utils.types.Arr_Nucleotide_3
- cross_prods: mythos.utils.types.Arr_Nucleotide_3
- static from_rigid_body(rigid_body: jax_md.rigid_body.RigidBody, com_to_backbone_x: mythos.utils.types.Scalar, com_to_backbone_y: mythos.utils.types.Scalar, com_to_backbone_dna1: mythos.utils.types.Scalar, com_to_hb: mythos.utils.types.Scalar, com_to_stacking: mythos.utils.types.Scalar) Nucleotide[source]
Class method to precompute nucleotide sites from a rigid body.
- class mythos.energy.dna2.Stacking[source]
Bases:
mythos.energy.dna1.StackingStacking energy function for DNA2 model.
- pairwise_energies(body: mythos.energy.dna2.nucleotide.Nucleotide, seq: mythos.utils.types.Discrete_Sequence, bonded_neighbors: mythos.utils.types.Arr_Bonded_Neighbors_2) mythos.utils.types.Arr_Bonded_Neighbors[source]
Computes the stacking energy for each bonded pair.
- compute_energy(nucleotide: mythos.energy.dna2.nucleotide.Nucleotide) mythos.utils.types.Scalar[source]
Compute the energy of the system given the nucleotide.
- mythos.energy.dna2.default_configs() tuple[mythos.utils.types.PyTree, mythos.utils.types.PyTree][source]
Return the default simulation and energy configurations for dna2.
- mythos.energy.dna2.default_energy_configs(overrides: dict = MappingProxyType({}), opts: dict = MappingProxyType({})) list[mythos.energy.configuration.BaseConfiguration][source]
Return the default configurations for the energy functions for dna2.
- mythos.energy.dna2.default_energy_fns() list[mythos.energy.base.BaseEnergyFunction][source]
Return the default energy functions for dna2.
- mythos.energy.dna2.default_transform_fn() callable[source]
Return the default transform function for dna2 simulations.
- mythos.energy.dna2.create_default_energy_fn(topology: mythos.input.topology.Topology, displacement_fn: callable = DEFAULT_DISPLACEMENT) mythos.energy.base.EnergyFunction[source]
Create the default oxDNA2 energy function.
This creates the composed energy function from the default set of function classes, associated configs, and the default transform function - built for the provided topology and displacement function.
- Parameters:
topology – The topology of the system.
displacement_fn – The displacement function to use. defaults to DEFAULT_DISPLACEMENT.