File: Read.hpp

package info (click to toggle)
consensuscore 1.1.1%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 3,404 kB
  • sloc: cpp: 38,940; python: 2,083; ansic: 542; sh: 184; makefile: 82; cs: 10
file content (48 lines) | stat: -rw-r--r-- 891 bytes parent folder | download | duplicates (4)
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
// Author: David Alexander

#pragma once

#include <string>

#include <ConsensusCore/Features.hpp>
#include <ConsensusCore/Types.hpp>

namespace ConsensusCore {
struct Read
{
    QvSequenceFeatures Features;
    std::string Name;
    std::string Chemistry;

    Read(QvSequenceFeatures features, std::string name, std::string chemistry);

    Read(const Read& other);

    int Length() const;
    std::string ToString() const;

    static Read Null();
};

enum StrandEnum
{
    FORWARD_STRAND = 0,
    REVERSE_STRAND = 1
};

struct MappedRead : public Read
{
    StrandEnum Strand;
    int TemplateStart;
    int TemplateEnd;
    bool PinStart;
    bool PinEnd;

    MappedRead(const Read& read, StrandEnum strand, int templateStart, int templateEnd,
               bool pinStart = true, bool pinEnd = true);

    MappedRead(const MappedRead& other);

    std::string ToString() const;
};
}