void setPrefixAndRegisterAsTemp(std::string const & prefix, uint64_t const numbwt, uint64_t const numgt)
			{
				setPrefix(prefix, numbwt, numgt);
				for ( uint64_t i = 0; i < getGT().size(); ++i )
					::libmaus2::util::TempFileRemovalContainer::addTempFile(getGT()[i]);
				for ( uint64_t i = 0; i < getBWT().size(); ++i )
					::libmaus2::util::TempFileRemovalContainer::addTempFile(getBWT()[i]);
				::libmaus2::util::TempFileRemovalContainer::addTempFile(getHWT());
				::libmaus2::util::TempFileRemovalContainer::addTempFile(getHist());
				::libmaus2::util::TempFileRemovalContainer::addTempFile(getSampledISA());			
			}
Exemple #2
0
	void build(const char *textFileName) {
            this->free();
            unsigned char *text = readText(textFileName, this->textLen, (DATATYPE)0);
            checkNullChar(text, this->textLen);
            DATATYPE bwtLen;
            unsigned char *bwt = getBWT(textFileName, text, this->textLen, bwtLen, (DATATYPE)0);
            cout << "Huffman encoding ... " << flush;
            encodeHuffFromText(2, bwt, bwtLen, this->code, this->codeLen);
            cout << "Done" << endl;
            cout << "Building WT ... " << flush;
            this->wt->createHWT(bwt, bwtLen, this->code, this->codeLen);
            delete[] bwt;
            cout << "Done" << endl;
            fillArrayC(text, this->textLen, this->c);
            delete[] text;
            cout << "Index successfully built" << endl;
        }