mythos.observables.propeller ============================ .. py:module:: mythos.observables.propeller .. autoapi-nested-parse:: Propeller twist observable. Attributes ---------- .. autoapisummary:: mythos.observables.propeller.TARGETS mythos.observables.propeller.propeller_twist_rad Classes ------- .. autoapisummary:: mythos.observables.propeller.PropellerTwist Functions --------- .. autoapisummary:: mythos.observables.propeller.single_propeller_twist_rad Module Contents --------------- .. py:data:: TARGETS .. py:function:: single_propeller_twist_rad(bp: jax.numpy.ndarray, base_normals: jax.numpy.ndarray) -> jax.numpy.ndarray Computes the propeller twist of a base pair. .. py:data:: propeller_twist_rad .. py:class:: PropellerTwist Bases: :py:obj:`mythos.observables.base.BaseObservable` Computes the propeller twist of a base pair. The propeller twist is defined as the angle between the normal vectors of h-bonded bases Args: - bp: a 2-dimensional array containing the indices of the h-bonded nucleotides - base_normals: the base normal vectors of the entire body .. py:attribute:: h_bonded_base_pairs :type: jax.numpy.ndarray .. py:method:: __post_init__() -> None Validate the input. .. py:method:: __call__(trajectory: mythos.simulators.io.SimulatorTrajectory) -> mythos.utils.types.ARR_OR_SCALAR Calculate the twist of the propeller in degrees. :param trajectory: the trajectory to calculate the propeller twist for :type trajectory: jd_traj.Trajectory :returns: the propeller twist in degrees for each state , so expect a size of (n_states,) :rtype: jd_types.ARR_OR_SCALAR