/usr/include/libphylo/readDatMatrix.h is in rate4site 3.0.0-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | // $Id: readDatMatrix.h 5805 2009-01-20 09:19:26Z adido $
#ifndef ___READ_DAT_MATRIX
#define ___READ_DAT_MATRIX
#include "definitions.h"
#include <string>
#include <iostream>
#include <fstream>
#include "datMatrixHolder.h"
using namespace std;
void normalizeQ(VVdouble& q, const Vdouble& freq);
void readDatMatrixFromFile(const string & matrixFileName,
VVdouble & subMatrix,
Vdouble & freq);
void readDatMatrixFromString(const string & matrixFileString,
VVdouble & subMatrix,
Vdouble & freq, int alphaSize = 20);
VVdouble fromWagSandFreqToQ(const VVdouble & s,const Vdouble& freq);
#include "replacementModel.h"
#include "definitions.h"
#include "errorMsg.h"
class pupAll : public replacementModel {
public:
// get matrix from file:
explicit pupAll(const string& matrixFileString) : err_allow_for_pijt_function(1e-4) {fillMatricesFromFile(matrixFileString);}
explicit pupAll(const string& matrixFileString, const vector<MDOUBLE>& freq) : err_allow_for_pijt_function(1e-4) {fillMatricesFromFile(matrixFileString,freq);}
// get matrix from within the .exe
explicit pupAll(const datMatrixString& matrixFileString,int alphaSize = 20) : err_allow_for_pijt_function(1e-4) {fillMatrices(matrixFileString.Val,alphaSize); }
explicit pupAll(const datMatrixString& matrixFileString, const vector<MDOUBLE>& freq) : err_allow_for_pijt_function(1e-4) {fillMatrices(matrixFileString.Val,freq);}
const int alphabetSize() const {return _freq.size();}//20 or 61
const MDOUBLE err_allow_for_pijt_function; //1e-4
virtual replacementModel* clone() const { return new pupAll(*this); }
const MDOUBLE Pij_t(const int i,const int j, const MDOUBLE t) const;
const MDOUBLE dPij_dt(const int i,const int j, const MDOUBLE t) const;
const MDOUBLE d2Pij_dt2(const int i,const int j, const MDOUBLE t) const;
const MDOUBLE freq(const int i) const {return _freq[i];}
const MDOUBLE Pij_tAlpha (const int i,const int j, const MDOUBLE t, const MDOUBLE alpha) const;
const MDOUBLE Pij_tAlpha_dt (const int i,const int j, const MDOUBLE t, const MDOUBLE alpha) const;
const MDOUBLE Pij_tAlpha_dt2(const int i,const int j, const MDOUBLE t, const MDOUBLE alpha) const;
private:
void fillMatrices(const string & matrixName,const vector<MDOUBLE>& freq);
void fillMatrices(const string & matrixName,int alphaSize);
void fillMatricesFromFile(const string & dataFileString,const vector<MDOUBLE>& freq);
void fillMatricesFromFile(const string & dataFileString);
bool currectFloatingPointProblems(MDOUBLE& sum) const;
VVdouble _leftEigen;
VVdouble _rightEigen;
Vdouble _eigenVector;
Vdouble _freq;
};
#endif
|