Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
SBL::GT Namespace Reference

Typedefs

template<class Move_Set_Selector , class ... Move_Set_Traits>
using T_Combined_Move_Set_Traits_WL = T_Combined_Move_Set_Traits< Combined_WL_Move_Set_Data_Interface, Move_Set_Selector, Move_Set_Traits... >
 Combined Move Set WL provides an easy way to combine move sets for Wang Landau. The Move_Set_Selector should be a functor that returns an array containing the probability of using each move set, in the same order than the definition of the template parameters. More...
 
typedef std::pair< double, double > Bin_energy_range
 
typedef int Bin_index
 
using Combined_MS_Traits = T_Combined_Move_Set_Traits_WL< Move_Set_Selector, No_Overstep_Cone_Move_Set_Traits, Gaussian_Move_Set_Traits >
 

Enumerations

enum  DoS_save_frequency_type { Log_scale, Normal_scale }
 

Functions

template<typename T , T Begin, class Func , T ... Is>
constexpr void static_for_impl (Func &&f, std::integer_sequence< T, Is... >)
 
template<typename T , T Begin, T End, class Func >
constexpr void static_for (Func &&f)
 
template<class Tuple >
constexpr std::size_t tuple_size (const Tuple &)
 
template<typename Tuple , typename F , std::size_t ... Indices>
void for_each_impl (Tuple &&tuple, F &&f, std::index_sequence< Indices... >)
 
template<typename Tuple , typename F >
void for_each (Tuple &&tuple, F &&f)
 
double dist (std::vector< double > &a, std::vector< double > &b)
 
void removeRow (Eigen::MatrixXd &matrix, unsigned int rowToRemove)
 
void removeColumn (Eigen::MatrixXd &matrix, unsigned int colToRemove)
 
double & get (double *A, int i, int j, int n, int m)
 
template<class K >
bool is_in_convex_interior (typename K::FT *pt, double *A, double *b, int dim, int nhp)
 
template<class K >
Params< K > getHMCTrajParams (typename K::FT xi, typename K::FT ui, typename K::FT a)
 
template<class K >
void updateTrajNoReflection (typename K::FT *x, typename K::FT *u, typename K::FT a, typename K::FT t, int dim)
 
template<class K >
void reflect (typename K::FT *u, typename K::FT *n, int dim)
 
template<class K >
K::FT intersectionHMCPlane (typename K::FT *x, typename K::FT *u, double *A, double *b, typename K::FT a, int dim, int nhp, int index)
 
template<class K >
std::pair< typename K::FT, std::vector< typename K::FT > > intersectionHMCPlanes (typename K::FT *x, typename K::FT *u, typename K::FT a, int dim, double *A, double *b, int nhp)
 
template<class K >
int T_HMC_internal (typename K::FT *x, typename K::FT *u, double *A, double *b, int dim, int nhp, typename K::FT a, typename K::FT dist, int max_reflections)
 Take a step for HMC in a convex for a gaussian of variance sigma = 1/sqrt(2a). Returns the internal number of steps (aka the number of reflections). More...
 
int HMC_internal_DP (double *x, double *u, double *A, double *b, int dim, int nhp, double a, double dist, int max_reflections)
 Take a step for HMC in double precision in a convex for a gaussian of variance sigma = 1/sqrt(2a). Returns the internal number of steps (aka the number of reflections). More...
 
int HMC_internal_MP (const Data_MP &data)
 Take a step for HMC in multi-precision in a convex for a gaussian of variance sigma = 1/sqrt(2a). Returns the internal number of steps (aka the number of reflections). More...
 
std::vector< std::vector< double > > read_CSV_Matrix (std::string filename)
 

Class Documentation

◆ SBL::GT::Bin_properties_MS

class SBL::GT::Bin_properties_MS

template<class Move_Set_Controller_Data>
class SBL::GT::Bin_properties_MS< Move_Set_Controller_Data >

◆ SBL::GT::Darting_Move_Params

struct SBL::GT::Darting_Move_Params

Darting Move set Params.

◆ SBL::GT::Darting_Move_Set_Traits

class SBL::GT::Darting_Move_Set_Traits

Darting Move set traits (see paper for details of internal working)

Class Members
typedef T_Darting_Move_Set_Controller< Conformation > Controller
typedef T_Darting_Move_Set< Conformation > Move_Set

◆ SBL::GT::Darting_Move_Stats

struct SBL::GT::Darting_Move_Stats

Darting Move set Stats.

Class Members
int ending_min
bool move_set_used
double p_xy
double p_yx

◆ SBL::GT::Data_MP

struct SBL::GT::Data_MP
Class Members
double * A
double a
double * b
int dim
int max_reflections
int nbr_hyperplanes
double travel_time
double * u
double * x

◆ SBL::GT::Gaussian_Move_Params

struct SBL::GT::Gaussian_Move_Params

Gaussian Move params.

Class Members
double sigma

◆ SBL::GT::Gaussian_Move_Set_Traits

class SBL::GT::Gaussian_Move_Set_Traits

Gaussian Move Set, simplest move set provided. Propose a move sampled from a normal distribution centered on the starting point.

Class Members
typedef T_Gaussian_Move_Set_Controller< Conformation > Controller
typedef T_Gaussian_Move_Set< Conformation > Move_Set

◆ SBL::GT::Gaussian_Move_Stats

struct SBL::GT::Gaussian_Move_Stats

Gaussian Move Set stats.

Class Members
bool move_set_used

◆ SBL::GT::Inexact_predicates_kernel_for_frechet_mean

class SBL::GT::Inexact_predicates_kernel_for_frechet_mean
Class Members
typedef double FT
typedef Inexact_predicates_kernel_for_frechet_mean self

◆ SBL::GT::Lazy_exact_predicates_kernel_for_frechet_mean

class SBL::GT::Lazy_exact_predicates_kernel_for_frechet_mean
Class Members
typedef Interval_nt< true > FT
typedef Lazy_exact_predicates_kernel_for_frechet_mean self
typedef Uncertain< bool > Uncertain

◆ SBL::GT::No_Overstep_Cone_Move_Params

struct SBL::GT::No_Overstep_Cone_Move_Params

No overstep cone move set params.

Class Members
pair< double, double > bin_down
pair< double, double > bin_up
Cone_Distribution< double * > cone_distribution
Cone_Distribution< double * > cone_distribution_down
Cone_Distribution< double * > cone_distribution_up
pair< double, double > current_bin
double current_bin_density
bool down
double down_bin_density
double proba_cone
bool up
double up_bin_density
bool use_cone

◆ SBL::GT::No_Overstep_Cone_Move_Set_Traits

class SBL::GT::No_Overstep_Cone_Move_Set_Traits

No overstep cone move set traits: a move set that aims to sample neighbourings energy strata, and uses the cone strategy for better mixing. See paper for details.

Class Members
typedef T_No_Overstep_Cone_Move_Set_Controller< Conformation > Controller
typedef T_No_Overstep_Cone_Move_Set< Conformation > Move_Set

◆ SBL::GT::No_Overstep_Cone_Move_Stats

struct SBL::GT::No_Overstep_Cone_Move_Stats

No overstep cone move set stats.

Class Members
bool interval_down
bool interval_up
bool move_set_used
int num_interval
bool sucess
bool sucess_down
bool sucess_same
bool sucess_up
bool try_down
bool try_same
bool try_up

◆ SBL::GT::No_Overstep_Move_Params

struct SBL::GT::No_Overstep_Move_Params

No overstep move set params.

Class Members
pair< double, double > bin_down
pair< double, double > bin_up
pair< double, double > current_bin
double current_bin_density
bool down
double down_bin_density
bool up
double up_bin_density

◆ SBL::GT::No_Overstep_Move_Set_Traits

class SBL::GT::No_Overstep_Move_Set_Traits

No overstep move set traits: a move set that aims to sample neighbourings energy strata. See paper for details.

Class Members
typedef T_No_Overstep_Move_Set_Controller< Conformation > Controller
typedef T_No_Overstep_Move_Set< Conformation > Move_Set

◆ SBL::GT::No_Overstep_Move_Stats

struct SBL::GT::No_Overstep_Move_Stats

No overstep move set stats.

Class Members
bool interval_down
bool interval_up
bool move_set_used
int num_interval
bool sucess
bool sucess_down
bool sucess_same
bool sucess_up
bool try_down
bool try_same
bool try_up

◆ SBL::GT::Params

struct SBL::GT::Params

template<class K>
struct SBL::GT::Params< K >

Class Members
FT C
FT phi
FT w

◆ SBL::GT::T_Combined_Move_Params

struct SBL::GT::T_Combined_Move_Params

template<class Conformation, class ... Move_Set_Traits>
struct SBL::GT::T_Combined_Move_Params< Conformation, Move_Set_Traits >

Collect into a tuple the params of all move sets.

Class Members
move_params

◆ SBL::GT::T_Combined_Move_Set_Traits

class SBL::GT::T_Combined_Move_Set_Traits

template<template< class Base_Data_Interface, int i > class Combined_Move_Set_Data_Interface, class Move_Set_Selector, class ... Move_Set_Traits>
class SBL::GT::T_Combined_Move_Set_Traits< Combined_Move_Set_Data_Interface, Move_Set_Selector, Move_Set_Traits >

Class Members
Controller
Move_Set

◆ SBL::GT::T_Combined_Move_Stats

struct SBL::GT::T_Combined_Move_Stats

template<class Conformation, class ... Move_Set_Traits>
struct SBL::GT::T_Combined_Move_Stats< Conformation, Move_Set_Traits >

Collect into a tuple the stats of all move sets.

Class Members
bool move_set_used
move_stats

◆ SBL::GT::T_Converter_geometric_objects_3_to_interval

class SBL::GT::T_Converter_geometric_objects_3_to_interval

template<class GeometricIntervalKernel3>
class SBL::GT::T_Converter_geometric_objects_3_to_interval< GeometricIntervalKernel3 >

Class Members
typedef Circle_3 Circle_3
typedef FT FT
typedef Plane_3 Plane_3
typedef Point_3 Point_3
typedef T_Converter_geometric_objects_3_to_interval< GeometricIntervalKernel3 > Self
typedef Sphere_3 Sphere_3
typedef Vector_3 Vector_3

◆ SBL::GT::T_DS_snapshot_default

class SBL::GT::T_DS_snapshot_default

template<class Bin_properties>
class SBL::GT::T_DS_snapshot_default< Bin_properties >

A class storing the main pieces of information, at a given time stamp in the course of the algorithm.

Class Members
double averageInterbinSize
vector< Bin_properties > bin_properties
vector< Bin_energy_range > bin_ranges
vector< pair< uint64_t, uint64_t > > climbs
vector< pair< uint64_t, uint64_t > > descents
bool exp_regime
int gamma_index
double increment
uint64_t num_mixing
uint64_t num_steps
uint64_t num_steps_mixing

◆ SBL::GT::T_Union_of_balls_3_meidal_axis_halfedge

class SBL::GT::T_Union_of_balls_3_meidal_axis_halfedge

template<class Refs, class WeightedAlphaComplex3, class DelaunayTriangulation3>
class SBL::GT::T_Union_of_balls_3_meidal_axis_halfedge< Refs, WeightedAlphaComplex3, DelaunayTriangulation3 >

◆ SBL::GT::T_Union_of_balls_3_meidal_axis_vertex

class SBL::GT::T_Union_of_balls_3_meidal_axis_vertex

template<class Refs, class WeightedAlphaComplex3, class DelaunayTriangulation3>
class SBL::GT::T_Union_of_balls_3_meidal_axis_vertex< Refs, WeightedAlphaComplex3, DelaunayTriangulation3 >

◆ SBL::GT::Trigonometric_interval_kernel

class SBL::GT::Trigonometric_interval_kernel
Class Members
typedef Interval_nt< false > Interval
typedef Interval_nt< false > Interval
typedef Trigonometric_interval_kernel Self
typedef Trigonometric_interval_kernel Self

Typedef Documentation

◆ Bin_energy_range

typedef std::pair<double, double> Bin_energy_range

◆ Bin_index

typedef int Bin_index

◆ Combined_MS_Traits

◆ T_Combined_Move_Set_Traits_WL

Combined Move Set WL provides an easy way to combine move sets for Wang Landau. The Move_Set_Selector should be a functor that returns an array containing the probability of using each move set, in the same order than the definition of the template parameters.

Enumeration Type Documentation

◆ DoS_save_frequency_type

Enumerator
Log_scale 
Normal_scale 

Function Documentation

◆ dist()

double SBL::GT::dist ( std::vector< double > &  a,
std::vector< double > &  b 
)

◆ for_each()

void SBL::GT::for_each ( Tuple &&  tuple,
F &&  f 
)

◆ for_each_impl()

void SBL::GT::for_each_impl ( Tuple &&  tuple,
F &&  f,
std::index_sequence< Indices... >   
)

◆ get()

double& SBL::GT::get ( double *  A,
int  i,
int  j,
int  n,
int  m 
)

◆ getHMCTrajParams()

Params<K> SBL::GT::getHMCTrajParams ( typename K::FT  xi,
typename K::FT  ui,
typename K::FT  a 
)

◆ HMC_internal_DP()

int HMC_internal_DP ( double *  x,
double *  u,
double *  A,
double *  b,
int  dim,
int  nhp,
double  a,
double  dist,
int  max_reflections 
)

Take a step for HMC in double precision in a convex for a gaussian of variance sigma = 1/sqrt(2a). Returns the internal number of steps (aka the number of reflections).

Parameters
xinitial position
uinitial velocity
Amatrix defining Hyperplane normals
bvector defining Hyperplanes
dimdimension of the convex
nhpnumber of hyperplanes
aequivalent to the std sigma with a = 1/(2*sigma^2)
disttravel time
max_reflectionsmaximum numbe of reflections allowed

◆ HMC_internal_MP()

int HMC_internal_MP ( const Data_MP data)

Take a step for HMC in multi-precision in a convex for a gaussian of variance sigma = 1/sqrt(2a). Returns the internal number of steps (aka the number of reflections).

Parameters
dataencapsulate all required parameters (for iRRAM). For details about these params, see T_HMC_internal ot HMC_internal_DP documentation

◆ intersectionHMCPlane()

K::FT SBL::GT::intersectionHMCPlane ( typename K::FT *  x,
typename K::FT *  u,
double *  A,
double *  b,
typename K::FT  a,
int  dim,
int  nhp,
int  index 
)

◆ intersectionHMCPlanes()

std::pair<typename K::FT,std::vector<typename K::FT> > SBL::GT::intersectionHMCPlanes ( typename K::FT *  x,
typename K::FT *  u,
typename K::FT  a,
int  dim,
double *  A,
double *  b,
int  nhp 
)

◆ is_in_convex_interior()

bool SBL::GT::is_in_convex_interior ( typename K::FT *  pt,
double *  A,
double *  b,
int  dim,
int  nhp 
)

◆ read_CSV_Matrix()

std::vector<std::vector<double> > SBL::GT::read_CSV_Matrix ( std::string  filename)

◆ reflect()

void SBL::GT::reflect ( typename K::FT *  u,
typename K::FT *  n,
int  dim 
)

◆ removeColumn()

void SBL::GT::removeColumn ( Eigen::MatrixXd &  matrix,
unsigned int  colToRemove 
)

◆ removeRow()

void SBL::GT::removeRow ( Eigen::MatrixXd &  matrix,
unsigned int  rowToRemove 
)

◆ static_for()

constexpr void SBL::GT::static_for ( Func &&  f)

◆ static_for_impl()

constexpr void SBL::GT::static_for_impl ( Func &&  f,
std::integer_sequence< T, Is... >   
)

◆ T_HMC_internal()

int T_HMC_internal ( typename K::FT *  x,
typename K::FT *  u,
double *  A,
double *  b,
int  dim,
int  nhp,
typename K::FT  a,
typename K::FT  dist,
int  max_reflections 
)

Take a step for HMC in a convex for a gaussian of variance sigma = 1/sqrt(2a). Returns the internal number of steps (aka the number of reflections).

Parameters
xinitial position
uinitial velocity
Amatrix defining Hyperplane normals
bvector defining Hyperplanes
dimdimension of the convex
nhpnumber of hyperplanes
aequivalent to the std sigma with a = 1/(2*sigma^2)
disttravel time
max_reflectionsmaximum numbe of reflections allowed

◆ tuple_size()

constexpr std::size_t SBL::GT::tuple_size ( const Tuple &  )

◆ updateTrajNoReflection()

void SBL::GT::updateTrajNoReflection ( typename K::FT *  x,
typename K::FT *  u,
typename K::FT  a,
typename K::FT  t,
int  dim 
)