[med-svn] [Git][med-team/racon][upstream] New upstream version 1.4.10
Michael R. Crusoe
gitlab at salsa.debian.org
Tue Nov 12 14:40:44 GMT 2019
Michael R. Crusoe pushed to branch upstream at Debian Med / racon
Commits:
46027c68 by Michael R. Crusoe at 2019-11-12T13:14:42Z
New upstream version 1.4.10
- - - - -
8 changed files:
- .gitmodules
- CMakeLists.txt
- src/cuda/cudapolisher.cpp
- + src/logger.cpp
- + src/logger.hpp
- src/polisher.cpp
- src/polisher.hpp
- src/window.cpp
Changes:
=====================================
.gitmodules
=====================================
@@ -16,9 +16,6 @@
[submodule "vendor/rampler"]
path = vendor/rampler
url = https://github.com/rvaser/rampler
-[submodule "vendor/logger"]
- path = vendor/logger
- url = https://github.com/rvaser/logger
[submodule "vendor/ClaraGenomicsAnalysis"]
path = vendor/ClaraGenomicsAnalysis
url = https://github.com/clara-genomics/ClaraGenomicsAnalysis
=====================================
CMakeLists.txt
=====================================
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.2)
project(racon)
-set(racon_version 1.4.7)
+set(racon_version 1.4.10)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
@@ -30,6 +30,7 @@ include_directories(${PROJECT_SOURCE_DIR}/src)
set(racon_sources
src/main.cpp
+ src/logger.cpp
src/polisher.cpp
src/overlap.cpp
src/sequence.cpp
@@ -58,9 +59,6 @@ endif()
if (NOT TARGET edlib)
add_subdirectory(vendor/edlib EXCLUDE_FROM_ALL)
endif()
-if (NOT TARGET logger)
- add_subdirectory(vendor/logger EXCLUDE_FROM_ALL)
-endif()
if (racon_enable_cuda)
if (DEFINED CLARAGENOMICSANALYSIS_SDK_PATH)
list(APPEND CMAKE_PREFIX_PATH "${CLARAGENOMICSANALYSIS_SDK_PATH}/cmake")
@@ -90,7 +88,7 @@ if (racon_enable_cuda)
endif()
endif()
-target_link_libraries(racon bioparser spoa thread_pool edlib_static logger)
+target_link_libraries(racon bioparser spoa thread_pool edlib_static)
if (racon_enable_cuda)
target_link_libraries(racon cudapoa cudaaligner)
endif()
@@ -106,6 +104,7 @@ if (racon_build_tests)
set(racon_test_sources
test/racon_test.cpp
+ src/logger.cpp
src/polisher.cpp
src/overlap.cpp
src/sequence.cpp
@@ -123,7 +122,7 @@ if (racon_build_tests)
add_subdirectory(vendor/googletest/googletest EXCLUDE_FROM_ALL)
endif()
- target_link_libraries(racon_test bioparser spoa thread_pool edlib_static logger gtest_main)
+ target_link_libraries(racon_test bioparser spoa thread_pool edlib_static gtest_main)
if (racon_enable_cuda)
target_link_libraries(racon_test cudapoa cudaaligner)
endif()
=====================================
src/cuda/cudapolisher.cpp
=====================================
@@ -10,11 +10,11 @@
#include <cuda_profiler_api.h>
#include "sequence.hpp"
+#include "logger.hpp"
#include "cudapolisher.hpp"
#include <claragenomics/utils/cudautils.hpp>
#include "bioparser/bioparser.hpp"
-#include "logger/logger.hpp"
namespace racon {
=====================================
src/logger.cpp
=====================================
@@ -0,0 +1,56 @@
+/*!
+ * @file logger.cpp
+ *
+ * @brief Logger source file
+ */
+
+#include <iostream>
+
+#include "logger.hpp"
+
+namespace racon {
+
+Logger::Logger()
+ : time_(0.), bar_(0), time_point_() {
+}
+
+Logger::~Logger() {
+}
+
+void Logger::log() {
+ auto now = std::chrono::steady_clock::now();
+ if (time_point_ != std::chrono::time_point<std::chrono::steady_clock>()) {
+ time_ += std::chrono::duration_cast<std::chrono::duration<double>>(now - time_point_).count();
+ }
+ time_point_ = now;
+}
+
+void Logger::log(const std::string& msg) const {
+ std::cerr << msg << " " << std::fixed
+ << std::chrono::duration_cast<std::chrono::duration<double>>(std::chrono::steady_clock::now() - time_point_).count()
+ << " s" << std::endl;
+}
+
+void Logger::bar(const std::string& msg) {
+ ++bar_;
+ std::string progress_bar = "[" + std::string(bar_, '=') + (bar_ == 20 ? "" : ">" + std::string(19 - bar_, ' ')) + "]";
+
+ std::cerr << msg << " " << progress_bar << " " << std::fixed
+ << std::chrono::duration_cast<std::chrono::duration<double>>(std::chrono::steady_clock::now() - time_point_).count()
+ << " s";
+
+ bar_ %= 20;
+ if (bar_ == 0) {
+ std::cerr << std::endl;
+ } else {
+ std::cerr << "\r";
+ }
+}
+
+void Logger::total(const std::string& msg) const {
+ std::cerr << msg << " " << std::fixed
+ << time_ + std::chrono::duration_cast<std::chrono::duration<double>>(std::chrono::steady_clock::now() - time_point_).count()
+ << " s" << std::endl;
+}
+
+}
=====================================
src/logger.hpp
=====================================
@@ -0,0 +1,56 @@
+/*!
+ * @file logger.hpp
+ *
+ * @brief Logger header file
+ */
+
+#pragma once
+
+#include <cstdint>
+#include <chrono>
+#include <string>
+
+namespace racon {
+
+static const std::string version = "v1.0.0";
+
+class Logger {
+public:
+ Logger();
+
+ Logger(const Logger&) = default;
+ Logger& operator=(const Logger&) = default;
+
+ Logger(Logger&&) = default;
+ Logger& operator=(Logger&&) = default;
+
+ ~Logger();
+
+ /*!
+ * @brief Resets the time point
+ */
+ void log();
+
+ /*!
+ * @brief Prints the elapsed time from last time point to stderr
+ */
+ void log(const std::string& msg) const;
+
+ /*!
+ * @brief Prints a progress bar and the elapsed time from last time to
+ * stderr (the progress bar resets after 20 calls)
+ */
+ void bar(const std::string& msg);
+
+ /*!
+ * @brief Prints the total elapsed time from the first log() call
+ */
+ void total(const std::string& msg) const;
+
+private:
+ double time_;
+ std::uint32_t bar_;
+ std::chrono::time_point<std::chrono::steady_clock> time_point_;
+};
+
+}
=====================================
src/polisher.cpp
=====================================
@@ -11,6 +11,7 @@
#include "overlap.hpp"
#include "sequence.hpp"
#include "window.hpp"
+#include "logger.hpp"
#include "polisher.hpp"
#ifdef CUDA_ENABLED
#include "cuda/cudapolisher.hpp"
@@ -19,7 +20,6 @@
#include "bioparser/bioparser.hpp"
#include "thread_pool/thread_pool.hpp"
#include "spoa/spoa.hpp"
-#include "logger/logger.hpp"
namespace racon {
@@ -170,7 +170,7 @@ Polisher::Polisher(std::unique_ptr<bioparser::Parser<Sequence>> sparser,
alignment_engines_(), sequences_(), dummy_quality_(window_length, '!'),
window_length_(window_length), windows_(),
thread_pool_(thread_pool::createThreadPool(num_threads)),
- thread_to_id_(), logger_(new logger::Logger()) {
+ thread_to_id_(), logger_(new Logger()) {
uint32_t id = 0;
for (const auto& it: thread_pool_->thread_identifiers()) {
=====================================
src/polisher.hpp
=====================================
@@ -25,15 +25,13 @@ namespace spoa {
class AlignmentEngine;
}
-namespace logger {
- class Logger;
-}
namespace racon {
class Sequence;
class Overlap;
class Window;
+class Logger;
enum class PolisherType {
kC, // Contig polishing
@@ -95,7 +93,7 @@ protected:
std::unique_ptr<thread_pool::ThreadPool> thread_pool_;
std::unordered_map<std::thread::id, uint32_t> thread_to_id_;
- std::unique_ptr<logger::Logger> logger_;
+ std::unique_ptr<Logger> logger_;
};
}
=====================================
src/window.cpp
=====================================
@@ -42,6 +42,10 @@ Window::~Window() {
void Window::add_layer(const char* sequence, uint32_t sequence_length,
const char* quality, uint32_t quality_length, uint32_t begin, uint32_t end) {
+ if (sequence_length == 0 || begin == end) {
+ return;
+ }
+
if (quality != nullptr && sequence_length != quality_length) {
fprintf(stderr, "[racon::Window::add_layer] error: "
"unequal quality size!\n");
View it on GitLab: https://salsa.debian.org/med-team/racon/commit/46027c68ac888987d82b0efd0d0b0730e96fb426
--
View it on GitLab: https://salsa.debian.org/med-team/racon/commit/46027c68ac888987d82b0efd0d0b0730e96fb426
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/20191112/9fc6f657/attachment-0001.html>
More information about the debian-med-commit
mailing list