utilities.util submodule

cg_openmm.utilities.util.distance(positions_1, positions_2)[source]

Calculate the distance between two particles, given their positions.

Parameters
  • positions_1 (Quantity() ( np.array( [3] ), simtk.unit )) – Positions for the first particle

  • positions_2 – Positions for the first particle

Returns

  • distance ( Quantity()) - Distance between two particles

Example

>>> from foldamers.cg_model.cgmodel import CGModel
>>> cgmodel = CGModel()
>>> particle_1_coordinates = cgmodel.positions[0]
>>> particle_2_coordinates = cgmodel.positions[1]
>>> particle_distance = distance(particle_1_coordinates,particle_2_coordinates)
cg_openmm.utilities.util.fit_sigmoid(xdata, ydata, plotfile='Q_vs_T_fit.pdf', xlabel='T (K)', ylabel='Q')[source]

Fit a sigmoidal curve (such as native contact fraction vs T) to hyperbolic tangent switching function

Parameters
  • xdata (Quantity or numpy 1D array) – x data series

  • ydata (Quantity or numpy 1D array) – y data series

  • plotfile (str) – Path to output file for plotting results (default=’Q_vs_T_fit.pdf’)

Returns

  • param_opt ( 1D numpy array ) - optimized sigmoid parameters (x0, y0, y1, d)

  • param_cov ( 2D numpy array ) - estimated covariance of param_opt

cg_openmm.utilities.util.get_box_vectors(box_size)[source]

Given a simulation box length, construct a vector.

Parameters

box_size – Length of individual sides of a simulation box

Returns

  • box_vectors ( List( Quantity() ) ) - Vectors to use when defining an OpenMM simulation box.

cg_openmm.utilities.util.lj_go(positions_1, positions_2, sigma, epsilon_repulsive, epsilon_attractive, r_exp=12.0, a_exp=6.0)[source]

Calculate the Lennard-Jones interaction energy between two particles, given their positions and definitions for their equilbrium interaction distance (sigma) and strength (epsilon).

Parameters
  • positions_1 – Positions for the first particle

  • positions_2 – Positions for the first particle

  • sigma – Lennard-Jones equilibrium interaction distance for two non-bonded particles

  • epsilon_repulsive – Lennard-Jones equilibrium interaction energy for two non-bonded particles (applies to repulsive part only).

  • epsilon_attractive – Lennard-Jones equilibrium interaction energy for two non-bonded particles (applies to attractive part only).

  • r_exp (float) – repulsive exponent (default=12.0)

  • a_exp (float) – attractive exponent (default=6.0)

Returns

  • v ( Quantity() ) - Lennard-Jones interaction energy

cg_openmm.utilities.util.lj_v(positions_1, positions_2, sigma, epsilon, r_exp=12.0, a_exp=6.0)[source]

Calculate the Lennard-Jones interaction energy between two particles, given their positions and definitions for their equilbrium interaction distance (sigma) and strength (epsilon).

Parameters
  • positions_1 – Positions for the first particle

  • positions_2 – Positions for the first particle

  • sigma – Lennard-Jones equilibrium interaction distance for two non-bonded particles

  • epsilon – Lennard-Jones equilibrium interaction energy for two non-bonded particles.

  • r_exp (float) – repulsive exponent (default=12.0)

  • a_exp (float) – attractive exponent (default=6.0)

Returns

  • v ( Quantity() ) - Lennard-Jones interaction energy

cg_openmm.utilities.util.set_box_vectors(system, box_size)[source]

Impose a set of simulation box vectors on an OpenMM simulation object.

Parameters
  • system (System()) – OpenMM System()

  • box_size – Length of individual sides of a simulation box

Returns

  • system (System()) - OpenMM system object