SeqAn3
header.hpp
Go to the documentation of this file.
1
// ============================================================================
2
// SeqAn - The Library for Sequence Analysis
3
// ============================================================================
4
//
5
// Copyright (c) 2006-2018, Knut Reinert & Freie Universitaet Berlin
6
// Copyright (c) 2016-2018, Knut Reinert & MPI Molekulare Genetik
7
// All rights reserved.
8
//
9
// Redistribution and use in source and binary forms, with or without
10
// modification, are permitted provided that the following conditions are met:
11
//
12
// * Redistributions of source code must retain the above copyright
13
// notice, this list of conditions and the following disclaimer.
14
// * Redistributions in binary form must reproduce the above copyright
15
// notice, this list of conditions and the following disclaimer in the
16
// documentation and/or other materials provided with the distribution.
17
// * Neither the name of Knut Reinert or the FU Berlin nor the names of
18
// its contributors may be used to endorse or promote products derived
19
// from this software without specific prior written permission.
20
//
21
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24
// ARE DISCLAIMED. IN NO EVENT SHALL KNUT REINERT OR THE FU BERLIN BE LIABLE
25
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
31
// DAMAGE.
32
//
33
// ============================================================================
34
40
#pragma once
41
42
#include <unordered_map>
43
#include <vector>
44
45
#include <
seqan3/core/platform.hpp
>
46
47
namespace
seqan3
48
{
49
52
struct
alignment_file_header
53
{
55
struct
program_info_t
56
{
57
std::string
id
;
58
std::string
name
;
59
std::string
command_line_call
;
60
std::string
previous
;
61
std::string
description
;
62
std::string
version
;
63
};
64
65
std::string
format_version
;
66
std::string
sorting
{
"unknown"
};
67
std::string
grouping
{
"none"
};
68
69
std::vector<program_info_t>
program_infos
;
70
71
std::vector<std::string>
comments
;
72
110
std::unordered_map<std::string, std::tuple<uint32_t, std::string>>
ref_dict
;
111
151
std::vector<std::pair<std::string, std::string>>
read_groups
;
152
};
153
154
}
// namespace seqan3
seqan3::alignment_file_header::sorting
std::string sorting
The sorting state of the file. SAM: [unknown, unsorted, queryname, coordinate].
Definition:
header.hpp:66
seqan3::alignment_file_header::comments
std::vector< std::string > comments
The list of comments.
Definition:
header.hpp:71
platform.hpp
Contains platform and dependency checks.
seqan3::alignment_file_header::program_info_t::name
std::string name
The official name.
Definition:
header.hpp:58
seqan3::alignment_file_header::ref_dict
std::unordered_map< std::string, std::tuple< uint32_t, std::string > > ref_dict
The Reference Dictionary. (used by the SAM/BAM format)
Definition:
header.hpp:110
seqan3
The main SeqAn3 namespace.
Definition:
aligned_sequence_concept.hpp:58
seqan3::alignment_file_header::program_info_t::version
std::string version
The program/tool version.
Definition:
header.hpp:62
seqan3::alignment_file_header::read_groups
std::vector< std::pair< std::string, std::string > > read_groups
The Read Group Dictionary. (used by the SAM/BAM format)
Definition:
header.hpp:151
seqan3::alignment_file_header::program_info_t::id
std::string id
A unique (file scope) id.
Definition:
header.hpp:57
seqan3::alignment_file_header::program_infos
std::vector< program_info_t > program_infos
The list of program information.
Definition:
header.hpp:69
seqan3::alignment_file_header::grouping
std::string grouping
The grouping state of the file. SAM: [none, query, reference].
Definition:
header.hpp:67
seqan3::alignment_file_header::program_info_t::description
std::string description
A description of the program and/or program call.
Definition:
header.hpp:61
seqan3::alignment_file_header::program_info_t::previous
std::string previous
The id of the previous program if program calls were chained.
Definition:
header.hpp:60
seqan3::alignment_file_header
Stores the header information of alignment files.
Definition:
header.hpp:52
seqan3::alignment_file_header::program_info_t::command_line_call
std::string command_line_call
The command line call that produces the file.
Definition:
header.hpp:59
seqan3::alignment_file_header::program_info_t
Stores information of the program/tool that was used to create the file.
Definition:
header.hpp:55
seqan3::alignment_file_header::format_version
std::string format_version
The file format version. Note: this is overwritten by our formats on output.
Definition:
header.hpp:65
seqan3
io
alignment_file
header.hpp
Generated by
1.8.13