int Read(std::string inName) { std::ifstream bwtIn; CrucialOpen(inName, bwtIn, std::ios::binary|std::ios::in); bwtSequence.Read(bwtIn); bwtIn.read((char*)charCount, sizeof(DNALength)*CharCountSize); bwtIn.read((char*)&firstCharPos, sizeof(DNALength)); bwtIn.read((char*)&useDebugData, sizeof(useDebugData)); if (useDebugData) { saCopy.resize(bwtSequence.length-1); bwtIn.read((char*)&saCopy[0], (bwtSequence.length-1) * sizeof(DNALength)); } occ.Read(bwtIn, useDebugData); pos.Read(bwtIn); occ.InitializeBWT(bwtSequence); return 1; }