#include "pufferfish/ProgOpts.hpp" #include "SalmonStringUtils.hpp" #include #include #include #include std::vector salmon::stringtools::encodeSequenceInSAM(const char* src, size_t len) { //uint8_t* target = new uint8_t[static_cast(ceil(len / 2.0))](); std::vector target(static_cast(ceil(len / 2.0)), 0); for (size_t i = 0; i < len; ++i) { size_t byte = i >> 1; size_t nibble = i & 0x1; if (nibble) { target[byte] |= charToSamEncode[static_cast(src[i])]; } else { target[byte] |= (charToSamEncode[static_cast(src[i])] << 4); } } return target; }