File: common.h

package info (click to toggle)
libpappsomspp 0.11.10-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 18,844 kB
  • sloc: cpp: 85,012; xml: 44,164; python: 668; sql: 186; sh: 33; makefile: 32
file content (72 lines) | stat: -rw-r--r-- 1,915 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#pragma once

#include <QDebug>
#include <pappsomspp/core/msfile/msfileaccessor.h>
#include <pappsomspp/core/pappsoexception.h>
#include <iostream>
#include <iomanip>
#include <odsstream/odsdocwriter.h>
#include <QJsonDocument>
#include <QJsonArray>
#include <pappsomspp/core/psm/peptidespectrummatch.h>
#include <pappsomspp/core/psm/peptideisotopespectrummatch.h>
#include <pappsomspp/core/amino_acid/aastringcodec.h>

using namespace pappso;

MassSpectrum readMgf(const QString &filename);

QualifiedMassSpectrum readQualifiedMassSpectrumMgf(const QString &filename);


class XicOdsWriter
{
  public:
  XicOdsWriter(CalcWriterInterface &output) : _output(output)
  {
    _output.writeCell("rt");
    _output.writeCell("intensity");
    _output.writeLine();
  };

  void
  write(const Trace &xic)
  {
    auto it = xic.begin();
    while(it != xic.end())
      {

        _output.writeCell(it->x);
        _output.writeCell(it->y);
        _output.writeLine();
        it++;
      }
  };

  private:
  CalcWriterInterface &_output;
};

bool compareTextFiles(const QString &file1, const QString &file2);

std::vector<std::size_t> getMapKeys(const std::map<std::size_t, std::size_t> &map_table);
std::vector<std::size_t> getMapValues(const std::map<std::size_t, std::size_t> &map_table);


void writeJsonTrace(const QString &filepath, Trace &xic);

void writeJsonPsm(const QString &filepath,
                  const MassSpectrum &mass_spectrum,
                  const pappso::PeptideSpectrumMatch &psm);

void writeJsonPsmIsotope(const QString &filein,
                         const MassSpectrum &mass_spectrum,
                         const pappso::PeptideIsotopeSpectrumMatch &psm);


void writeJsonCodeList(const QString &filein,
                       const std::vector<uint32_t> code_list,
                       const pappso::AaStringCodec &aa_codec);


QJsonArray toJson(const std::vector<double> &myVec);