Commit d72e3595 authored by Li's avatar Li Committed by Li Song
Browse files

Allow gizpped barcode translate file. Bump up version number. Update a comment.

parent fc633831
Loading
Loading
Loading
Loading
+22 −4
Original line number Diff line number Diff line
@@ -9,6 +9,8 @@
#include <string>
#include <vector>

#include <zlib.h>

#include "khash.h"
#include "utils.h"

@@ -39,11 +41,27 @@ class BarcodeTranslator {

  void SetTranslateTable(const std::string &file) {
    barcode_translate_table_ = kh_init(k64_str);
    
    if (1) {
      gzFile barcode_translate_file = gzopen(file.c_str(), "r");
      const uint32_t line_buffer_size = 512;
      char file_line[line_buffer_size];
      while (gzgets(barcode_translate_file, file_line, line_buffer_size) != NULL) {
        int line_len = strlen(file_line);
        if (file_line[line_len - 1] == '\n') {
          file_line[line_len - 1] = '\0';
        }
        std::string tmp_string(file_line);
        ProcessTranslateFileLine(tmp_string);
      }
    } else {
      // Old implementation, which does not support gzipped input.
      std::ifstream file_stream(file);
      std::string file_line;
      while (getline(file_stream, file_line)) {
        ProcessTranslateFileLine(file_line);
      }
    }

    mask_ = (1ull << (2 * from_bc_length_)) - 1;
    /*for (int i = 0; i < from_bc_length_; ++i)
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@
#include "temp_mapping.h"
#include "utils.h"

#define CHROMAP_VERSION "0.2.3-r465"
#define CHROMAP_VERSION "0.2.4-r467"

namespace chromap {

+1 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ void MappingGenerator<SAMMapping>::EmplaceBackSingleEndMappingRecord(
      mapping_in_memory.read_id, std::string(mapping_in_memory.read_name),
      mapping_in_memory.barcode_key, /*num_dups=*/1,
      mapping_in_memory.GetFragmentStartPosition(), mapping_in_memory.rid,
      /*mpos=*/0, /*mrid=*/-1, 0, 
      /*mpos=*/0, /*mrid=*/-1, /*tlen=*/0, 
      mapping_in_memory.SAM_flag, mapping_in_memory.GetStrand(),
      /*is_alt=*/0, mapping_in_memory.is_unique, mapping_in_memory.mapq,
      mapping_in_memory.NM, mapping_in_memory.n_cigar, mapping_in_memory.cigar,