36 #ifndef ALGO_BLAST_GUMBEL_PARAMS__INCLUDED_SLS_ALP_DATA
37 #define ALGO_BLAST_GUMBEL_PARAMS__INCLUDED_SLS_ALP_DATA
54 #include <sys/timeb.h>
56 #define _CRTDBG_MAP_ALLOC
135 throw error(
"Unexpected error",4);
323 string smatr_file_name_,
324 string RR1_file_name_,
325 string RR2_file_name_,
330 string out_file_name_);
346 string smatr_file_name_,
348 Int4 &number_of_AA_smatr_);
351 string out_file_name_);
373 string RR_file_name_,
376 Int4 *&RR_sum_elements_,
377 Int4 &number_of_AA_RR_);
380 const vector<double> &vector_,
383 Int4 *&RR_sum_elements_,
384 Int4 &number_of_AA_RR_);
399 bool ee_error_flag=
false;
400 error ee_error(
"",0);
418 matr_[
i]=
new T [dim_];
433 ee_error=
error(
"Internal error in the program\n",4);
448 delete[]matr_[
i];matr_[
i]=
NULL;
452 delete[]matr_;matr_=
NULL;
470 delete []matr_[
i];matr_[
i]=
NULL;
472 delete []matr_;matr_=
NULL;
490 if(value_<0||value_>1)
492 throw error(
"Unexpected error in q_elem importance_sampling::get_random_pair\n",4);
501 if(sum_distr_[v3-1]==value_)
507 if(sum_distr_[v3-1]>value_)
517 return elements_[
v2-1];
634 #ifndef NCBI_OS_MSWIN
649 delete[]d_elem;d_elem=
NULL;
652 d_alp_data->d_memory_size_in_MB-=(double)
sizeof(
T)*(double)(d_dim+1)/
mb_bytes;
661 bool ee_error_flag=
false;
662 error ee_error(
"",0);
672 d_elem_new=
new T[d_dim+1];
676 for(
i=0;
i<d_dim+1-d_step;
i++)
678 d_elem_new[
i]=d_elem[
i];
681 for(
i=d_dim+1-d_step;
i<d_dim+1;
i++)
687 delete[]d_elem;d_elem=
NULL;
690 d_alp_data->d_memory_size_in_MB+=(double)
sizeof(
T)*(double)d_step/
mb_bytes;
693 d_elem=d_elem_new;d_elem_new=
NULL;
705 ee_error=
error(
"Internal error in the program\n",4);
712 delete[]d_elem_new;d_elem_new=
NULL;
723 delete[]d_elem;d_elem=
NULL;
726 d_alp_data->d_memory_size_in_MB-=(double)
sizeof(
T)*(double)(d_dim+1)/
mb_bytes;
734 bool ee_error_flag=
false;
735 error ee_error(
"",0);
746 d_elem_new=
new T[d_dim+1];
750 for(
i=0;
i<d_dim+1-d_step;
i++)
752 d_elem_new[
i]=d_elem[
i];
755 for(
i=d_dim+1-d_step;
i<d_dim+1;
i++)
760 d_dim_plus_d_ind0=d_dim+d_ind0;
764 d_alp_data->d_memory_size_in_MB+=(double)
sizeof(
T)*(double)d_step/
mb_bytes;
768 delete[]d_elem;d_elem=
NULL;
769 d_elem=d_elem_new;d_elem_new=
NULL;
782 ee_error=
error(
"Internal error in the program\n",4);
789 delete[]d_elem_new;d_elem_new=
NULL;
798 bool ee_error_flag=
false;
799 error ee_error(
"",0);
809 d_elem_new=
new T[d_dim+1];
814 for(
i=0;
i<d_step;
i++)
819 for(
i=0;
i<d_dim+1-d_step;
i++)
821 d_elem_new[
i+d_step]=d_elem[
i];
826 d_alp_data->d_memory_size_in_MB+=(double)
sizeof(
T)*(double)d_step/
mb_bytes;
829 delete[]d_elem;d_elem=
NULL;
830 d_elem=d_elem_new;d_elem_new=
NULL;
843 ee_error=
error(
"Internal error in the program\n",4);
850 delete[]d_elem_new;d_elem_new=
NULL;
static T Tmax(T x_, T y_, T z_)
bool d_smatr_symmetric_flag
importance_sampling * d_is
struct_for_randomization * d_rand_all
void get_memory_for_matrix(Int4 dim_, T **&matr_)
static double round(const double &x_)
alp_data(Int4 rand_, Int4 open_, Int4 epen_, string smatr_file_name_, string RR1_file_name_, string RR2_file_name_, double max_time_, double max_mem_, double eps_lambda_, double eps_K_, string out_file_name_)
Int4 * d_RR2_sum_elements
static T Tmax(T i_, T j_)
static T Tmin(T x_, T y_, T z_)
static T Tmin(T x_, T y_, T z_, T w_)
static void get_current_time(double &seconds_)
static T Tmax(T x_, T y_, T z_, T w_)
void read_smatr(string smatr_file_name_, Int4 **&smatr_, Int4 &number_of_AA_smatr_)
static T Tmin(T i_, T j_)
Int4 d_minimum_realizations_number
static Int4 random_long(double value_, Int4 dim_)
Int4 d_number_of_AA_smatr
double get_allocated_memory_in_MB()
void delete_memory_for_matrix(Int4 dim_, T **&matr_)
Int4 * d_RR1_sum_elements
static void assert_mem(void *pointer_)
static T random_long(double value_, Int4 dim_, double *sum_distr_, T *elements_)
static char digit_to_string(Int4 digit_)
void check_out_file(string out_file_name_)
double d_memory_size_in_MB
Int4 d_realizations_number2
void read_RR(string RR_file_name_, double *&RR_, double *&RR_sum_, Int4 *&RR_sum_elements_, Int4 &number_of_AA_RR_)
static string long_to_string(Int4 number_)
void increase_elem_by_x(Int4 ind_, T x_)
void increase_elem_by_1(Int4 ind_)
void set_elem(Int4 ind_, T elem_)
array_positive(alp_data *alp_data_)
void increment_array_on_the_rigth()
void increase_elem_by_1(Int4 ind_)
void increment_array_on_the_left()
array(alp_data *alp_data_)
void set_elem(Int4 ind_, T elem_)
importance_sampling(alp_data *alp_data_, Int4 open_, Int4 epen_, Int4 number_of_AA_, Int4 **smatr_, double *RR1_, double *RR2_)
double * d_elements_values
static double lambda_equation(double x_, void *func_number_)
int32_t Int4
4-byte (32-bit) signed integer
uint32_t Uint4
4-byte (32-bit) unsigned integer
TValue GetRand(void)
Get the next random number in the interval [0..GetMax()] (inclusive)
static TValue GetMax(void)
The max. value GetRand() returns.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
Front end for a platform-specific configuration summary.
The NCBI C++/STL use hints.
error_for_single_realization()
error(std::string st_, Int4 error_code_)
Int4 d_total_realizations_number_with_ALP
vector< Int4 > d_preliminary_realizations_numbers_ALP
Int4 d_total_realizations_number_with_killing
vector< Int4 > d_preliminary_realizations_numbers_killing
vector< Int4 > d_first_stage_preliminary_realizations_numbers_ALP