This file is indexed.

/usr/include/libphylo/readDatMatrix.h is in rate4site 3.0.0-2.

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