IMP logo
IMP Reference Guide  develop.63b38c487d,2024/12/25
The Integrative Modeling Platform
IMP::bff::AV Class Reference

A decorator for a particle with accessible volume (AV). More...

#include <IMP/bff/AV.h>

+ Inheritance diagram for IMP::bff::AV:

Detailed Description

A decorator for a particle with accessible volume (AV).

Using the decorator one can get and set AV parameters and modify derivatives.

AV must have IMP.Hierarchy parent with XYZ -> is labeling site AV coordinates = AV mean position

Definition at line 94 of file AV.h.

Public Member Functions

 AV (::IMP::Model *m,::IMP::ParticleIndex id)
 
 AV (const IMP::ParticleAdaptor &d)
 
IMP::bff::PathMapHeader create_path_map_header ()
 Creates a path map header. More...
 
Float get_allowed_sphere_radius () const
 
Float get_contact_volume_thickness () const
 
Float get_contact_volume_trapped_fraction () const
 
algebra::Vector3D get_derivatives () const
 Get the vector of derivatives accumulated by add_to_derivatives(). More...
 
Float get_linker_length () const
 
Float get_linker_width () const
 
IMP::bff::PathMapget_map () const
 Get the PathMap associated with the AV object. More...
 
IMP::algebra::Vector3D get_mean_position (bool include_source=true) const
 Get the mean position of the AV object. More...
 
bool get_parameters_are_optimized () const
 Get whether the coordinates are optimized. More...
 
Particleget_particle () const
 Get the particle pointer of the AV object. More...
 
Particleget_particle (unsigned int i) const
 Get the particle pointer of the AV object at the specified index. More...
 
ParticleIndex get_particle_index () const
 Get the particle index of the AV object. More...
 
ParticleIndex get_particle_index (unsigned int i) const
 Get the particle index of the AV object at the specified index. More...
 
IMP::algebra::Vector3D get_radii ()
 Returns the radii of an object. More...
 
Float get_radius1 () const
 
Float get_radius2 () const
 
Float get_radius3 () const
 
Float get_simulation_grid_resolution () const
 
Particleget_source () const
 Get the source particle of the AV object. More...
 
IMP::algebra::Vector3D get_source_coordinates () const
 Get the source coordinates of the AV object. More...
 
void init_path_map ()
 Initializes the path map. More...
 
void resample (bool shift_xyz=true)
 Resample the AV object. More...
 
void set_allowed_sphere_radius (Float t)
 
void set_av_parameter (const nlohmann::json &j)
 Sets the AV parameter using a JSON object. More...
 
void set_av_parameters_are_optimized (bool tf) const
 Set whether the coordinates are optimized. More...
 
void set_contact_volume_thickness (Float t)
 
void set_contact_volume_trapped_fraction (Float t)
 
void set_linker_length (Float t)
 
void set_linker_width (Float t)
 
void set_radius1 (Float t)
 
void set_radius2 (Float t)
 
void set_radius3 (Float t)
 
void set_simulation_grid_resolution (Float t)
 
void show (std::ostream &out=std::cout) const
 
- Public Member Functions inherited from IMP::core::Gaussian
 Gaussian (::IMP::Model *m,::IMP::ParticleIndex id)
 
 Gaussian (const IMP::ParticleAdaptor &d)
 
algebra::Gaussian3D get_gaussian () const
 create Gaussian3D from these attributes More...
 
Eigen::Matrix3d get_global_covariance ()
 retrieve global covariance More...
 
Eigen::Matrix3d get_local_covariance () const
 retrieve local covariance (as diagonal matrix) More...
 
algebra::Vector3D get_variances () const
 retrieve local variances as Vector3D More...
 
void set_gaussian (const algebra::Gaussian3D &g)
 Get the covariance attributes from a Gaussian3D object. More...
 
void set_global_covariance (Eigen::Matrix3d covar)
 set the global-frame covariance. does NOT update local frame! More...
 
void set_local_covariance (const Eigen::Vector3d covar)
 set the local-frame covariance. More...
 
void set_variances (const algebra::Vector3D v)
 equivalent to set_local_covariance, used for backwards compatibility More...
 
void show (std::ostream &out=std::cout) const
 
void update_global_covariance ()
 update the global covariance More...
 
- Public Member Functions inherited from IMP::core::RigidBody
 RigidBody (::IMP::Model *m,::IMP::ParticleIndex id)
 
 RigidBody (const IMP::ParticleAdaptor &d)
 
 RigidBody (const RigidBody &)=default
 
void add_member (ParticleIndexAdaptor p)
 
void add_non_rigid_member (ParticleIndexAdaptor p)
 
void add_to_derivatives (const algebra::Vector3D &local_derivative, const algebra::Vector3D &local_location, DerivativeAccumulator &da)
 
void add_to_derivatives (const algebra::Vector3D &local_derivative, const algebra::Vector3D &global_derivative, const algebra::Vector3D &local_location, const algebra::Rotation3D &rot_local_to_global, DerivativeAccumulator &da)
 
void add_to_rotational_derivatives (const algebra::Vector4D &other_qderiv, const algebra::Rotation3D &rot_other_to_local, const algebra::Rotation3D &rot_local_to_global, DerivativeAccumulator &da)
 
void add_to_rotational_derivatives (const algebra::Vector4D &qderiv, DerivativeAccumulator &da)
 
void add_to_torque (const algebra::Vector3D &torque_local, DerivativeAccumulator &da)
 
const ParticleIndexesget_body_member_particle_indexes () const
 
algebra::Vector3D get_coordinates () const
 
bool get_coordinates_are_optimized () const
 
ParticleIndexes get_member_indexes () const
 
const ParticleIndexesget_member_particle_indexes () const
 
IMP::algebra::ReferenceFrame3D get_reference_frame () const
 
RigidMembers get_rigid_members () const
 
IMP::algebra::Rotation3D get_rotation () const
 
algebra::VectorD< 4 > get_rotational_derivatives () const
 Get the derivatives of the quaternion. More...
 
algebra::Vector3D get_torque () const
 
void normalize_rotation ()
 Normalize the quaternion. More...
 
RigidBodyoperator= (const RigidBody &)=default
 
void pull_back_body_member_adjoints (ParticleIndex pi, DerivativeAccumulator &da)
 Pull back global adjoints from member that is also a rigid body. More...
 
void pull_back_body_member_adjoints (ParticleIndex pi, const algebra::Transformation3D &TA, algebra::Transformation3D &TB, algebra::Transformation3DAdjoint &DTC, algebra::Transformation3DAdjoint &DTA, algebra::Transformation3DAdjoint &DTB, algebra::Vector3D &betatorque, DerivativeAccumulator &da)
 
void pull_back_member_adjoints (ParticleIndex pi, DerivativeAccumulator &da)
 Pull back global adjoints from member that is a point. More...
 
void pull_back_member_adjoints (ParticleIndex pi, const algebra::Transformation3D &T, algebra::Vector3D &x, algebra::Vector3D &Dy, algebra::Vector3D &Dx, algebra::Transformation3DAdjoint &DT, algebra::Vector3D &xtorque, DerivativeAccumulator &da)
 
void pull_back_members_adjoints (DerivativeAccumulator &da)
 Pull back global adjoints from members. More...
 
void remove_member (ParticleIndexAdaptor p)
 Remove the member from this rigid body. More...
 
void set_coordinates_are_optimized (bool tf)
 
void set_is_rigid_member (ParticleIndex pi, bool tf)
 
void set_reference_frame (const IMP::algebra::ReferenceFrame3D &tr)
 Set the current reference frame. More...
 
void set_reference_frame_from_members (const ParticleIndexes &members)
 
void set_reference_frame_lazy (const IMP::algebra::ReferenceFrame3D &tr)
 Change the reference, delay updating the members until evaluate. More...
 
void show (std::ostream &out=std::cout) const
 
void update_members ()
 
- Public Member Functions inherited from IMP::core::XYZ
 XYZ (::IMP::Model *m,::IMP::ParticleIndex id)
 
 XYZ (const IMP::ParticleAdaptor &d)
 
void add_to_derivative (int i, Float v, DerivativeAccumulator &d)
 
void add_to_derivatives (const algebra::Vector3D &v, DerivativeAccumulator &d)
 Add the vector v to the derivative vector of the x,y,z coordinates. More...
 
Float get_coordinate (int i) const
 Get the ith coordinate. More...
 
const algebra::Vector3Dget_coordinates () const
 Convert it to a vector. More...
 
bool get_coordinates_are_optimized () const
 Get whether the coordinates are optimized. More...
 
Float get_derivative (int i) const
 
algebra::Vector3D get_derivatives () const
 Get the vector of derivatives accumulated by add_to_derivatives(). More...
 
algebra::Vector3D get_vector_to (const XYZ &b) const
 Get the vector from this particle to another. More...
 
Float get_x () const
 
Float get_y () const
 
Float get_z () const
 
void set_coordinate (unsigned int i, Float v)
 set the ith coordinate More...
 
void set_coordinates (const algebra::Vector3D &v)
 set all coordinates from a vector More...
 
void set_coordinates_are_optimized (bool tf) const
 Set whether the coordinates are optimized. More...
 
void set_x (Float t)
 
void set_y (Float t)
 
void set_z (Float t)
 
void show (std::ostream &out=std::cout) const
 
- Public Member Functions inherited from IMP::Decorator
bool get_is_valid () const
 Returns true if constructed with a non-default constructor. More...
 
Modelget_model () const
 Returns the Model containing the particle. More...
 
Particleget_particle () const
 Returns the particle decorated by this decorator. More...
 
ParticleIndex get_particle_index () const
 Returns the particle index decorated by this decorator. More...
 
 operator Particle * () const
 
 operator ParticleIndex () const
 
Particleoperator-> () const
 

Static Public Member Functions

static void do_setup_particle (Model *m, ParticleIndex pi, ParticleIndex pi_source, double linker_length=20.0, const algebra::Vector3D radii=algebra::Vector3D(3.5, 0, 0), double linker_width=0.5, double allowed_sphere_radius=1.5, double contact_volume_thickness=0.0, double contact_volume_trapped_fraction=-1, double simulation_grid_resolution=1.5)
 Sets up the attributes for a particle in a model for AV (Anisotropic Volume) calculations. More...
 
static FloatKey get_av_key (unsigned int i)
 Get the FloatKey object for a specific AV feature. More...
 
static bool get_is_setup (const IMP::ParticleAdaptor &p)
 
static bool get_is_setup (Model *m, ParticleIndex pi)
 
static ParticleIndexKey get_particle_key (unsigned int i)
 Get the particle key for the specified index. More...
 
static AV setup_particle (Model *m, ParticleIndex pi, IMP::ParticleIndex pi_source)
 
static AV setup_particle (IMP::ParticleAdaptor pa, IMP::ParticleIndex pi_source)
 
- Static Public Member Functions inherited from IMP::core::Gaussian
static ObjectKey get_global_covariance_key ()
 
static bool get_is_setup (const IMP::ParticleAdaptor &p)
 
static bool get_is_setup (Model *m, ParticleIndex pi)
 
static ObjectKey get_local_covariance_key ()
 
static Gaussian setup_particle (Model *m, ParticleIndex pi)
 
static Gaussian setup_particle (IMP::ParticleAdaptor pa)
 
static Gaussian setup_particle (Model *m, ParticleIndex pi, algebra::Gaussian3D g)
 
static Gaussian setup_particle (IMP::ParticleAdaptor pa, algebra::Gaussian3D g)
 
- Static Public Member Functions inherited from IMP::core::RigidBody
static bool get_is_setup (const IMP::ParticleAdaptor &p)
 
static bool get_is_setup (Model *m, ParticleIndex pi)
 Return true if the particle is a rigid body. More...
 
static FloatKeys get_rotation_keys ()
 Get keys for rotation quaternion. More...
 
static RigidBody setup_particle (IMP::ParticleAdaptor pa, ParticleIndexesAdaptor ps)
 
static RigidBody setup_particle (Model *m, ParticleIndex pi, ParticleIndexesAdaptor ps)
 
static RigidBody setup_particle (IMP::ParticleAdaptor pa, algebra::ReferenceFrame3D rf)
 
static RigidBody setup_particle (Model *m, ParticleIndex pi, algebra::ReferenceFrame3D rf)
 
static void teardown_particle (RigidBody rb)
 Make the rigid body no longer rigid. More...
 
- Static Public Member Functions inherited from IMP::core::XYZ
static FloatKey get_coordinate_key (unsigned int i)
 
static bool get_is_setup (const IMP::ParticleAdaptor &p)
 
static bool get_is_setup (Model *m, ParticleIndex pi)
 
static const FloatKeysget_xyz_keys ()
 Get a vector containing the keys for x,y,z. More...
 
static XYZ setup_particle (IMP::ParticleAdaptor pa)
 
static XYZ setup_particle (Model *m, ParticleIndex pi)
 
static XYZ setup_particle (IMP::ParticleAdaptor pa, algebra::Vector3D v)
 
static XYZ setup_particle (Model *m, ParticleIndex pi, algebra::Vector3D v)
 

Protected Member Functions

IMP::algebra::VectorD< 9 > get_parameter () const
 
- Protected Member Functions inherited from IMP::Decorator
 Decorator (Model *m, ParticleIndex pi)
 
 Decorator (ParticleAdaptor p)
 

Member Function Documentation

IMP::bff::PathMapHeader IMP::bff::AV::create_path_map_header ( )

Creates a path map header.

Returns
The created path map header.
static void IMP::bff::AV::do_setup_particle ( Model m,
ParticleIndex  pi,
ParticleIndex  pi_source,
double  linker_length = 20.0,
const algebra::Vector3D  radii = algebra::Vector3D(3.5, 0, 0),
double  linker_width = 0.5,
double  allowed_sphere_radius = 1.5,
double  contact_volume_thickness = 0.0,
double  contact_volume_trapped_fraction = -1,
double  simulation_grid_resolution = 1.5 
)
static

Sets up the attributes for a particle in a model for AV (Anisotropic Volume) calculations.

This function sets up the attributes for a particle in a model for AV calculations. The attributes include linker length, radii, linker width, allowed sphere radius, contact volume thickness, contact volume trapped fraction, and simulation grid resolution. It also sets up a particle attribute to store the source particle index.

Parameters
mThe model in which the particle resides.
piThe index of the particle to set up.
pi_sourceThe index of the source particle.
linker_lengthThe length of the linker.
radiiThe radii of the particle in the x, y, and z directions.
linker_widthThe width of the linker.
allowed_sphere_radiusThe radius of the allowed sphere.
contact_volume_thicknessThe thickness of the contact volume.
contact_volume_trapped_fractionThe fraction of the contact volume that is trapped.
simulation_grid_resolutionThe resolution of the simulation grid.

Definition at line 181 of file AV.h.

+ Here is the call graph for this function:

Float IMP::bff::AV::get_allowed_sphere_radius ( ) const

returns the value of the allowed_sphere_radius attribute

Definition at line 259 of file AV.h.

static FloatKey IMP::bff::AV::get_av_key ( unsigned int  i)
static

Get the FloatKey object for a specific AV feature.

This function returns a FloatKey object representing a specific AV feature based on the given index.

Parameters
iThe index of the AV feature.
Returns
The FloatKey object for the AV feature at the given index.
Note
The valid range for the index is 0 to 8.
If the index is out of range, an error message will be generated.

Definition at line 146 of file AV.h.

Float IMP::bff::AV::get_contact_volume_thickness ( ) const

returns the value of the contact_volume_thickness attribute

Definition at line 260 of file AV.h.

Float IMP::bff::AV::get_contact_volume_trapped_fraction ( ) const

returns the value of the contact_volume_trapped_fraction attribute

Definition at line 261 of file AV.h.

algebra::Vector3D IMP::bff::AV::get_derivatives ( ) const

Get the vector of derivatives accumulated by add_to_derivatives().

Somewhat suspect based on wanting a Point/Vector differentiation but we don't have points

Definition at line 312 of file AV.h.

+ Here is the call graph for this function:

Float IMP::bff::AV::get_linker_length ( ) const

returns the value of the linker_length attribute

Definition at line 254 of file AV.h.

Float IMP::bff::AV::get_linker_width ( ) const

returns the value of the linker_width attribute

Definition at line 258 of file AV.h.

IMP::bff::PathMap* IMP::bff::AV::get_map ( ) const

Get the PathMap associated with the AV object.

Returns
A pointer to the PathMap object.
IMP::algebra::Vector3D IMP::bff::AV::get_mean_position ( bool  include_source = true) const

Get the mean position of the AV object.

Returns
The mean position as a Vector3D.
bool IMP::bff::AV::get_parameters_are_optimized ( ) const

Get whether the coordinates are optimized.

Returns
true only if all of them are optimized.

Definition at line 279 of file AV.h.

+ Here is the call graph for this function:

Particle* IMP::bff::AV::get_particle ( ) const

Get the particle pointer of the AV object.

Returns
The particle pointer of the AV object.

Definition at line 238 of file AV.h.

+ Here is the call graph for this function:

Particle* IMP::bff::AV::get_particle ( unsigned int  i) const

Get the particle pointer of the AV object at the specified index.

Parameters
iThe index of the AV object.
Returns
The particle pointer of the AV object at the specified index.

Definition at line 247 of file AV.h.

+ Here is the call graph for this function:

ParticleIndex IMP::bff::AV::get_particle_index ( ) const

Get the particle index of the AV object.

Returns
The particle index of the AV object.

Definition at line 221 of file AV.h.

+ Here is the call graph for this function:

ParticleIndex IMP::bff::AV::get_particle_index ( unsigned int  i) const

Get the particle index of the AV object at the specified index.

Parameters
iThe index of the AV object.
Returns
The particle index of the AV object at the specified index.

Definition at line 230 of file AV.h.

+ Here is the call graph for this function:

static ParticleIndexKey IMP::bff::AV::get_particle_key ( unsigned int  i)
static

Get the particle key for the specified index.

Parameters
iThe index of the particle key.
Returns
The particle key at the specified index.

Definition at line 210 of file AV.h.

IMP::algebra::Vector3D IMP::bff::AV::get_radii ( )

Returns the radii of an object.

This function returns the radii of an object as a 3D vector. The radii are obtained by calling the functions get_radius1(), get_radius2(), and get_radius3() and storing the values in a Vector3D object.

Returns
A Vector3D object representing the radii of the object.

Definition at line 272 of file AV.h.

Float IMP::bff::AV::get_radius1 ( ) const

returns the value of the radius1 attribute

Definition at line 255 of file AV.h.

Float IMP::bff::AV::get_radius2 ( ) const

returns the value of the radius2 attribute

Definition at line 256 of file AV.h.

Float IMP::bff::AV::get_radius3 ( ) const

returns the value of the radius3 attribute

Definition at line 257 of file AV.h.

Float IMP::bff::AV::get_simulation_grid_resolution ( ) const

returns the value of the simulation_grid_resolution attribute

Definition at line 262 of file AV.h.

Particle* IMP::bff::AV::get_source ( ) const

Get the source particle of the AV object.

Returns
A pointer to the source Particle object.
IMP::algebra::Vector3D IMP::bff::AV::get_source_coordinates ( ) const

Get the source coordinates of the AV object.

Returns
The source coordinates as a Vector3D.
void IMP::bff::AV::init_path_map ( )

Initializes the path map.

This function initializes the path map used by the AV system. The path map is a data structure that stores information about the available paths or routes in the system.

Returns
void
void IMP::bff::AV::resample ( bool  shift_xyz = true)

Resample the AV object.

Parameters
shift_xyzFlag indicating whether to shift the XYZ coordinates.
void IMP::bff::AV::set_allowed_sphere_radius ( Float  t)

sets the value of the allowed_sphere_radius attribute to t

Definition at line 259 of file AV.h.

void IMP::bff::AV::set_av_parameter ( const nlohmann::json &  j)

Sets the AV parameter using a JSON object.

This function takes a JSON object as input and sets the AV parameter accordingly.

Parameters
jThe JSON object containing the AV parameter.
void IMP::bff::AV::set_av_parameters_are_optimized ( bool  tf) const

Set whether the coordinates are optimized.

Definition at line 290 of file AV.h.

+ Here is the call graph for this function:

void IMP::bff::AV::set_contact_volume_thickness ( Float  t)

sets the value of the contact_volume_thickness attribute to t

Definition at line 260 of file AV.h.

void IMP::bff::AV::set_contact_volume_trapped_fraction ( Float  t)

sets the value of the contact_volume_trapped_fraction attribute to t

Definition at line 261 of file AV.h.

void IMP::bff::AV::set_linker_length ( Float  t)

sets the value of the linker_length attribute to t

Definition at line 254 of file AV.h.

void IMP::bff::AV::set_linker_width ( Float  t)

sets the value of the linker_width attribute to t

Definition at line 258 of file AV.h.

void IMP::bff::AV::set_radius1 ( Float  t)

sets the value of the radius1 attribute to t

Definition at line 255 of file AV.h.

void IMP::bff::AV::set_radius2 ( Float  t)

sets the value of the radius2 attribute to t

Definition at line 256 of file AV.h.

void IMP::bff::AV::set_radius3 ( Float  t)

sets the value of the radius3 attribute to t

Definition at line 257 of file AV.h.

void IMP::bff::AV::set_simulation_grid_resolution ( Float  t)

sets the value of the simulation_grid_resolution attribute to t

Definition at line 262 of file AV.h.

static AV IMP::bff::AV::setup_particle ( IMP::ParticleAdaptor  pa,
IMP::ParticleIndex  pi_source 
)
static
Returns
a AV object that decorates the particle specified by pa
See Also
setup_particle(m, pi, pi_source )

Definition at line 253 of file AV.h.

static AV IMP::bff::AV::setup_particle ( Model m,
ParticleIndex  pi,
IMP::ParticleIndex  pi_source 
)
static

Setup the particle with unspecified AV - uses default values.

Returns
a AV object that decorates particle pi

Definition at line 253 of file AV.h.


The documentation for this class was generated from the following file: