44  if((timsCompressionType != 1) && (timsCompressionType != 2))
 
   47        QObject::tr(
"compression type %1 not handled by this library")
 
   48          .arg(timsCompressionType));
 
   52      throw pappso::PappsoException(
 
   53        QObject::tr(
"No TIMS binary file name specified"));
 
   56  if(!file.open(QIODevice::ReadOnly))
 
   58      throw PappsoException(
 
   59        QObject::tr(
"ERROR opening TIMS binary file %1 for read")
 
   60          .arg(timsBinFile.absoluteFilePath()));
 
 
  111  const std::vector<pappso::TimsFrameRecord> &frame_record_list)
 
  119            QObject::tr(
"ERROR opening TIMS binary file %1 for read")
 
 
  139            QObject::tr(
"ERROR opening TIMS binary file %1 for read")
 
 
  149  const std::vector<pappso::TimsFrameRecord> &frame_record_list)
 
  152  qDebug() << 
"frameId:" << frameId;
 
  176                           if(chunck.getFrameId() == frameId)
 
  190            QObject::tr(
"ERROR reading TIMS binary file %1 with linear QFile: " 
  193              .arg(error.
qwhat()));
 
  200  bool seekpos_ok = p_file->seek(frame_record_list[frameId].tims_offset);
 
  204        QObject::tr(
"ERROR reading TIMS frame %1 TIMS binary file %2: " 
  205                    "m_timsBinFile.seek(%3) failed")
 
  208          .arg(frame_record_list[frameId].tims_offset));
 
  215        p_file, frameId, frame_record_list);
 
  221        QObject::tr(
"ERROR reading TIMS binary file %1 with random QFile: " 
  224          .arg(error.
qwhat()));
 
 
  232  const std::vector<pappso::TimsFrameRecord> &frame_record_list)
 
  237      auto it = std::min_element(
 
  241          return a.getFrameId() < b.getFrameId();
 
 
  264          auto decompressed_size2 =
 
  268          if(decompressed_size2 == ZSTD_CONTENTSIZE_UNKNOWN)
 
  271                QObject::tr(
"ERROR TimsBinDec::getTimsFrameFromRawDataChunck " 
  272                            "reading TIMS frame %1 TIMS binary file %2: " 
  273                            " decompressed_size2 == ZSTD_CONTENTSIZE_UNKNOWN, " 
  280          if(decompressed_size2 == ZSTD_CONTENTSIZE_ERROR)
 
  284                QObject::tr(
"ERROR TimsBinDec::getTimsFrameFromRawDataChunck " 
  285                            "reading TIMS frame %1 TIMS binary file %2: " 
  286                            " decompressed_size2 == ZSTD_CONTENTSIZE_ERROR, " 
  292          qDebug() << 
" decompressed_size2=" << decompressed_size2;
 
  304          std::size_t decompressed_size =
 
  311          if(decompressed_size != decompressed_size2)
 
  314                QObject::tr(
"ERROR TimsBinDec::getTimsFrameFromRawDataChunck " 
  315                            "reading TIMS frame %1 TIMS binary file %2: " 
  316                            "decompressed_size != decompressed_size2")
 
  319                  .arg(decompressed_size)
 
  320                  .arg(decompressed_size2));
 
  326            std::make_shared<TimsFrame>(raw_data_chunck.
getFrameId(),
 
  336              frame_sptr = std::make_shared<TimsFrameType1>(
 
  348        std::make_shared<TimsFrame>(raw_data_chunck.
getFrameId(),
 
 
  365  std::size_t start_frame_id,
 
  366  std::size_t chunk_deque_size,
 
  367  const std::vector<pappso::TimsFrameRecord> &frame_record_list)
 
  375  if(p_file == 
nullptr)
 
  380  bool seekpos_ok = p_file->seek(frame_record_list[start_frame_id].tims_offset);
 
  384        QObject::tr(
"ERROR reading TIMS frame %1 TIMS binary file %2: " 
  385                    "m_timsBinFile.seek(%3) failed")
 
  388          .arg(frame_record_list[start_frame_id].tims_offset));
 
  396          chunck.readTimsFrame(p_file, start_frame_id, frame_record_list);
 
  406          "ERROR in TimsBinDec::startLinearRead reading TIMS binary file %1:\n " 
  407          " start_frame_id=%2 m_firstFrameId=%3 m_lastFrameId=%4 " 
  413          .arg(error.
qwhat()));
 
 
virtual const QString & qwhat() const
 
std::size_t m_firstFrameId
 
std::size_t m_decompressMemoryBufferSize
 
TimsFrameSPtr getTimsFrameSPtrByOffset(std::size_t frameId, const std::vector< pappso::TimsFrameRecord > &frame_record_list)
 
void startLinearRead(std::size_t start_frame_id, std::size_t chunk_deque_size, const std::vector< pappso::TimsFrameRecord > &frame_record_list)
populate a fifo buffer with TimsFrameRawDataChunck accelerates inputs from file
 
QFile * getQfileRandom()
open one QFile handler for random read
 
std::size_t m_linearForwardThreshold
 
void closeLinearRead()
close file access and flush cache
 
std::size_t m_lastFrameId
 
std::size_t m_linearAccessRawDataChunckDequeSize
 
QFile * getQfileLinear(std::size_t frameId, const std::vector< pappso::TimsFrameRecord > &frame_record_list)
open one QFile handler for linear read
 
std::vector< TimsFrameRawDataChunck > m_linearAccessRawDataChunckList
 
int m_timsCompressionType
 
void moveLinearReadForward(const std::vector< pappso::TimsFrameRecord > &frame_record_list)
 
TimsBinDec(const QFileInfo &timsBinFile, int timsCompressionType)
 
TimsFrameSPtr getTimsFrameFromRawDataChunck(const TimsFrameRawDataChunck &raw_data_chunck)
 
TimsFrameRawDataChunck m_randemAccessFrameRawDataChunck
 
char * mpa_decompressMemoryBuffer
 
std::size_t getFrameId() const
 
quint32 getCompressedSize() const
 
quint32 getFrameNumberOfScans() const
 
char * getMemoryBuffer() const
 
quint32 getFrameLength() const
 
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
 
std::shared_ptr< TimsFrame > TimsFrameSPtr