#ifndef _PERMUTATION_H_ // may be included more than once #define _PERMUTATION_H_ #include "dstring.h" #include "dtable.h" #include "fileio.h" using namespace std; // permutes dstring and stores each permutation into dtable class Permutation { public: Permutation(); //constructs count=0 Permutation(DString dString); //hashes permuted DString substrings ~Permutation(); DString getComplement(DString str); void permute(DString dString); //permutes dString subsequences + adds to dTable void permute(DGFile &file); //permutes dString subsequences via a DGFile + adds to dTable int getCount(); void printDTable(); DTable dTable; //genomicPair hash table private: static const int SUBSTR_MIN_LENGTH = 6; static const int SUBSTR_MAX_LENGTH = 8; int count; //permutation counter void initialize(); }; #endif