SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
sam_flag.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2006-2024 Knut Reinert & Freie Universität Berlin
2// SPDX-FileCopyrightText: 2016-2024 Knut Reinert & MPI für molekulare Genetik
3// SPDX-License-Identifier: BSD-3-Clause
4
10#pragma once
11
14
15namespace seqan3
16{
17
21{};
22
72enum class sam_flag : uint16_t
73{
74 none = 0,
75 paired = 0x1,
76 proper_pair = 0x2,
77 unmapped = 0x4,
78 mate_unmapped = 0x8,
79 on_reverse_strand = 0x10,
81 first_in_pair = 0x40,
82 second_in_pair = 0x80,
83 secondary_alignment = 0x100,
84 failed_filter = 0x200,
85 duplicate = 0x400,
87};
88
93template <>
94inline constexpr bool add_enum_bitwise_operators<sam_flag> = true;
96
100template <>
102{
108 template <typename stream_t>
109 constexpr void operator()(stream_t & stream, sam_flag const arg) const
110 {
111 stream << static_cast<int16_t>(arg);
112 }
113};
114
115} // namespace seqan3
Provides seqan3::add_enum_bitwise_operators.
Provides seqan3::debug_stream and related types.
@ none
No flag is set.
Definition debug_stream_type.hpp:33
sam_flag
An enum flag that describes the properties of an aligned read (given as a SAM record).
Definition sam_flag.hpp:73
@ mate_on_reverse_strand
The mate sequence has been reverse complemented before being mapped (aligned).
@ mate_unmapped
The mate of this read is not mapped to a reference (unaligned).
@ secondary_alignment
This read alignment is an alternative (possibly suboptimal) to the primary.
@ duplicate
The read is marked as a PCR duplicate or optical duplicate.
@ on_reverse_strand
The read sequence has been reverse complemented before being mapped (aligned).
@ failed_filter
The read alignment failed a filter, e.g. quality controls.
@ second_in_pair
Indicates the ordering (see details in the seqan3::sam_flag description).
@ first_in_pair
Indicates the ordering (see details in the seqan3::sam_flag description).
@ unmapped
The read is not mapped to a reference (unaligned).
@ supplementary_alignment
This sequence is part of a split alignment and is not the primary alignment.
@ paired
The aligned read is paired (paired-end sequencing).
@ proper_pair
The two aligned reads in a pair have a proper distance between each other.
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
Type tag which indicates that no reference information has been passed to the SAM file on constructio...
Definition sam_flag.hpp:21
constexpr void operator()(stream_t &stream, sam_flag const arg) const
Prints the sam flag.
Definition sam_flag.hpp:109
Definition default_printer.hpp:41
Hide me