[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