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
|
#include <iostream>
#include <fstream>
#include <seqan/index.h>
#include <seqan/alignment_free.h>
#include <seqan/statistics.h>
#include <seqan/seq_io.h>
using namespace seqan;
int main()
{
// Build path to serialized MarkovModel.
CharString mmPath = getAbsolutePath("/demos/statistics/zscore_example_mm.3");
// Open the file.
FILE * mmFile = fopen(toCString(mmPath), "rb");
if (!mmFile)
{
std::cerr << "ERROR: Could not open " << mmPath << "\n";
return 1;
}
// Create MarkovModel of order 3 and load it from the file.
MarkovModel<Dna> mm(3);
read(mmFile, mm);
fclose(mmFile); // close file again
// Build set of words that we want to compute the zscore of.
DnaString word = "CCCAAAGC";
// Compute variance.
double variance = 0;
int n = 10000; // assumed text length
calculateVariance(variance, word, mm, n);
std::cout << "variance: " << variance << "\n";
return 0;
}
|