IMP.bff
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
AV.h File Reference
#include <IMP/bff/bff_config.h>
#include <IMP/decorator_macros.h>
#include <IMP/Decorator.h>
#include <IMP/algebra/Vector3D.h>
#include <IMP/algebra/Transformation3D.h>
#include <IMP/core/XYZ.h>
#include <IMP/log.h>
#include <IMP/bff/PathMap.h>
#include <string>
#include <cmath>
#include <vector>
#include <limits>
#include <iostream>
#include <IMP/bff/internal/json.h>
#include <IMP/bff/internal/InverseSampler.h>
#include <IMP/bff/internal/Histogram.h>
Include dependency graph for AV.h:

Go to the source code of this file.

Classes

class  AVPairDistanceMeasurement
 Container for experimental distance measurement. More...
 
class  AV
 A decorator for a particle with accessible volume (AV). More...
 

Enumerations

enum  DyePairMeasures {
  DYE_PAIR_DISTANCE_E , DYE_PAIR_DISTANCE_MEAN , DYE_PAIR_DISTANCE_MP , DYE_PAIR_EFFICIENCY ,
  DYE_PAIR_DISTANCE_DISTRIBUTION , DYE_PAIR_XYZ_DISTANCE
}
 Different types of distances between two accessible volumes. More...
 

Functions

 IMP_DECORATORS (AV, AVs, ParticlesTemp)
 
template<typename T >
fret_efficiency (T distance, double forster_radius)
 Computes the FRET efficiency given the distance and Forster radius.
 
template<typename T >
distance_fret (double fret_efficiency, double forster_radius)
 Computes the distance between two volumes given the FRET efficiency and Forster radius.
 
IMPBFFEXPORT double av_distance (const AV &a, const AV &b, double forster_radius=52.0, int distance_type=DYE_PAIR_DISTANCE_MEAN, int n_samples=10000)
 Computes the distance to another accessible volume.
 
IMPBFFEXPORT std::vector< double > av_random_points (const AV &av1, int n_samples=10000)
 
IMPBFFEXPORT std::vector< double > av_random_distances (const AV &av1, const AV &av2, int n_samples=10000)
 Random sampling over AV/AV distances.
 
IMPBFFEXPORT std::vector< double > av_distance_distribution (const AV &av1, const AV &av2, std::vector< double > axis, int n_samples=10000)
 Compute the distance to another accessible volume.
 
IMPBFFEXPORT IMP::ParticleIndex search_labeling_site (const IMP::core::Hierarchy &hier, std::string json_str="", const nlohmann::json &json_data=nlohmann::json())
 Find the particle index of a labeling site.
 

Enumeration Type Documentation

◆ DyePairMeasures

Different types of distances between two accessible volumes.

Enumerator
DYE_PAIR_DISTANCE_E 
DYE_PAIR_DISTANCE_MEAN 

Mean FRET averaged distance R_E.

DYE_PAIR_DISTANCE_MP 

Mean distance <R_DA>

DYE_PAIR_EFFICIENCY 

Distance between AV mean positions.

DYE_PAIR_DISTANCE_DISTRIBUTION 

Mean FRET efficiency.

DYE_PAIR_XYZ_DISTANCE 

Distance distribution.

Distance between XYZ of dye particles

Function Documentation

◆ av_distance()

IMPBFFEXPORT double av_distance ( const AV a,
const AV b,
double  forster_radius = 52.0,
int  distance_type = DYE_PAIR_DISTANCE_MEAN,
int  n_samples = 10000 
)

Computes the distance to another accessible volume.

Parameters
aThe first accessible volume.
bThe second accessible volume.
forster_radiusThe Forster radius.
distance_typeThe type of distance to compute.
n_samplesThe number of samples to use for distance computation.
Returns
The distance between the two accessible volumes.

◆ av_distance_distribution()

IMPBFFEXPORT std::vector< double > av_distance_distribution ( const AV av1,
const AV av2,
std::vector< double >  axis,
int  n_samples = 10000 
)

Compute the distance to another accessible volume.

◆ av_random_distances()

IMPBFFEXPORT std::vector< double > av_random_distances ( const AV av1,
const AV av2,
int  n_samples = 10000 
)

Random sampling over AV/AV distances.

◆ av_random_points()

IMPBFFEXPORT std::vector< double > av_random_points ( const AV av1,
int  n_samples = 10000 
)

◆ distance_fret()

template<typename T >
T distance_fret ( double  fret_efficiency,
double  forster_radius 
)
inline

Computes the distance between two volumes given the FRET efficiency and Forster radius.

Template Parameters
TThe type of the distance.
Parameters
fret_efficiencyThe FRET efficiency.
forster_radiusThe Forster radius.
Returns
The distance between the two volumes.

◆ fret_efficiency()

template<typename T >
T fret_efficiency ( distance,
double  forster_radius 
)
inline

Computes the FRET efficiency given the distance and Forster radius.

Template Parameters
TThe type of the distance.
Parameters
distanceThe distance between the two volumes.
forster_radiusThe Forster radius.
Returns
The FRET efficiency.

◆ IMP_DECORATORS()

IMP_DECORATORS ( AV  ,
AVs  ,
ParticlesTemp   
)

◆ search_labeling_site()

IMPBFFEXPORT IMP::ParticleIndex search_labeling_site ( const IMP::core::Hierarchy &  hier,
std::string  json_str = "",
const nlohmann::json &  json_data = nlohmann::json() 
)

Find the particle index of a labeling site.

This function searches for the particle index of a labeling site in a given hierarchy.

Parameters
[in]hierThe hierarchy in which the labeling site is searched.
[in]json_strThe JSON string containing the FPS.json position (optional).
[in]json_dataThe JSON data containing the FPS.json position (optional).
Returns
The particle index of the labeling site.
Note
If both json_str and json_data are provided, json_str will be used.