www.pudn.com > Genecircus20070919.rar > calculate_mi.h


// calculate_mi.h: interface for the calculate_mi class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_CALCULATE_MI_H__D4DF72BE_574D_4BBD_944C_518BF33DE50A__INCLUDED_) 
#define AFX_CALCULATE_MI_H__D4DF72BE_574D_4BBD_944C_518BF33DE50A__INCLUDED_ 
#include "data_container.h" 
#include "Integration.h" 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
//typedef std::vector max_p; 
 
class calculate_mi   
{ 
public: 
	calculate_mi(); 
	virtual ~calculate_mi(); 
	void get_GenePairs_Mi(int i,int j,bool p = true); 
	double get_GenePairs_Mi_and_save(int i,int j); 
	void rank_transformation(Pair_Vector & pairs); 
    Microarray_Set * gene_matrix_for_calcu_mi; 
	double calculateprob(Pair_Vector pairs,int i); 
	void Getresult(int index,double max = 0.0); 
	double erf(double up,double low); 
	void preparebasictable(); 
	void save_to_pvalue_temp(int size,p p1,wxString name ,wxString dirname = ""); 
	void setmimatrix(int i,int j,wxString name1,wxString name2,double mi,bool p = true); 
    double ** prob_table; 
    double *  norm_1D_table; 
    double ** norm_2D_table; 
	Integration * Integr; 
	wxString dirname; 
	//Microarray_Set * microset; 
	int number; 
	double sigma;//width 
	double pvalue; 
	//max_p max; 
	int other_name_index; 
	wxString name_for_now_gene; 
public: 
    bool law;//true is select shuffle result bigest,false is select the top 3% 
	bool ok_readandwrite_index; 
	int step; 
}; 
 
#endif // !defined(AFX_CALCULATE_MI_H__D4DF72BE_574D_4BBD_944C_518BF33DE50A__INCLUDED_)