[med-svn] [Git][med-team/rapmap][upstream] New upstream version 0.15.0+dfsg
Michael R. Crusoe
gitlab at salsa.debian.org
Thu Nov 14 13:47:03 GMT 2019
Michael R. Crusoe pushed to branch upstream at Debian Med / rapmap
Commits:
9e3b41dd by Michael R. Crusoe at 2019-11-14T13:38:27Z
New upstream version 0.15.0+dfsg
- - - - -
2 changed files:
- include/IndexHeader.hpp
- src/RapMapSAIndexer.cpp
Changes:
=====================================
include/IndexHeader.hpp
=====================================
@@ -54,6 +54,8 @@ class IndexHeader {
ar( cereal::make_nvp("NameHash", nameHash256_) );
ar( cereal::make_nvp("SeqHash512", seqHash512_) );
ar( cereal::make_nvp("NameHash512", nameHash512_) );
+ ar( cereal::make_nvp("DecoySeqHash", decoySeqHash256_) );
+ ar( cereal::make_nvp("DecoyNameHash", decoyNameHash256_) );
}
template <typename Archive>
@@ -69,6 +71,8 @@ class IndexHeader {
ar( cereal::make_nvp("NameHash", nameHash256_) );
ar( cereal::make_nvp("SeqHash512", seqHash512_) );
ar( cereal::make_nvp("NameHash512", nameHash512_) );
+ ar( cereal::make_nvp("DecoySeqHash", decoySeqHash256_) );
+ ar( cereal::make_nvp("DecoyNameHash", decoyNameHash256_) );
} catch (const cereal::Exception& e) {
auto cerrLog = spdlog::get("stderrLog");
cerrLog->error("Encountered exception [{}] when loading index.", e.what());
@@ -91,10 +95,16 @@ class IndexHeader {
std::string seqHash256() const { return seqHash256_; }
std::string nameHash256() const { return nameHash256_; }
+ void setDecoySeqHash256(const std::string& seqHash) { decoySeqHash256_ = seqHash; }
+ void setDecoyNameHash256(const std::string& nameHash) { decoyNameHash256_ = nameHash; }
+ std::string decoySeqHash256() const { return decoySeqHash256_; }
+ std::string decoyNameHash256() const { return decoyNameHash256_; }
+
void setSeqHash512(const std::string& seqHash) { seqHash512_ = seqHash; }
void setNameHash512(const std::string& nameHash) { nameHash512_ = nameHash; }
std::string seqHash512() const { return seqHash512_; }
std::string nameHash512() const { return nameHash512_; }
+
private:
// The type of index we have
IndexType type_;
@@ -117,6 +127,10 @@ class IndexHeader {
std::string seqHash512_;
// Hash of sequence names in txome
std::string nameHash512_;
+ // Hash of the names of decoys
+ std::string decoyNameHash256_;
+ // Hash of the sequences of decoys
+ std::string decoySeqHash256_;
};
=====================================
src/RapMapSAIndexer.cpp
=====================================
@@ -465,8 +465,11 @@ void indexTranscriptsSA(ParserT* parser,
digestpp::sha256 nameHasher256;
digestpp::sha512 seqHasher512;
digestpp::sha512 nameHasher512;
- //picosha2::hash256_one_by_one seqHasher; seqHasher.init();
- //picosha2::hash256_one_by_one nameHasher; nameHasher.init();
+
+ digestpp::sha256 decoySeqHasher256;
+ digestpp::sha256 decoyNameHasher256;
+
+
bool firstRecord{true};
bool hasGencodeSep = (sepStr.find('|') != std::string::npos);
@@ -536,9 +539,6 @@ void indexTranscriptsSA(ParserT* parser,
[](const char a) -> bool { return !(isprint(a)); }),
readStr.end());
- seqHasher256.absorb(readStr.begin(), readStr.end());
- seqHasher512.absorb(readStr.begin(), readStr.end());
-
uint32_t readLen = readStr.size();
uint32_t completeLen = readLen;
@@ -573,6 +573,14 @@ void indexTranscriptsSA(ParserT* parser,
//throw std::logic_error("Input fasta file contained out-of-order decoy targets.");
}
+ // If this was a decoy, add it to the decoy hash
+ if (isDecoy) {
+ decoySeqHasher256.absorb(readStr.begin(), readStr.end());
+ } else { // otherwise the ref hash
+ seqHasher256.absorb(readStr.begin(), readStr.end());
+ seqHasher512.absorb(readStr.begin(), readStr.end());
+ }
+
// First, replace non ATCG nucleotides
for (size_t b = 0; b < readLen; ++b) {
readStr[b] = ::toupper(readStr[b]);
@@ -656,8 +664,12 @@ void indexTranscriptsSA(ParserT* parser,
// If there was no collision, then add the transcript
transcriptNames.emplace_back(processedName);
- nameHasher256.absorb(processedName.begin(), processedName.end());
- nameHasher512.absorb(processedName.begin(), processedName.end());
+ if (isDecoy) {
+ decoyNameHasher256.absorb(processedName.begin(), processedName.end());
+ } else {
+ nameHasher256.absorb(processedName.begin(), processedName.end());
+ nameHasher512.absorb(processedName.begin(), processedName.end());
+ }
// The position at which this transcript starts
transcriptStarts.push_back(currIndex);
@@ -869,10 +881,15 @@ void indexTranscriptsSA(ParserT* parser,
std::string nameHash256 = nameHasher256.hexdigest();
std::string seqHash512 = seqHasher512.hexdigest();
std::string nameHash512 = nameHasher512.hexdigest();
+ std::string decoySeqHash256 = decoySeqHasher256.hexdigest();
+ std::string decoyNameHash256 = decoyNameHasher256.hexdigest();
+
header.setSeqHash256(seqHash256);
header.setNameHash256(nameHash256);
header.setSeqHash512(seqHash512);
header.setNameHash512(nameHash512);
+ header.setDecoySeqHash256(decoySeqHash256);
+ header.setDecoyNameHash256(decoyNameHash256);
//std::string seqHash;
//std::string nameHash;
//picosha2::get_hash_hex_string(seqHasher, seqHash);
View it on GitLab: https://salsa.debian.org/med-team/rapmap/commit/9e3b41ddec31d2981d0b5ade34d3d8e072a8958c
--
View it on GitLab: https://salsa.debian.org/med-team/rapmap/commit/9e3b41ddec31d2981d0b5ade34d3d8e072a8958c
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20191114/2f7b9882/attachment-0001.html>
More information about the debian-med-commit
mailing list