SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
align_config_gap_cost_affine.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
13#pragma once
14
18
19namespace seqan3::align_cfg
20{
21// ------------------------------------------------------------------
22// seqan3::align_cfg::open_score
23// ------------------------------------------------------------------
24
30struct open_score : seqan3::detail::strong_type<int32_t, open_score, seqan3::detail::strong_type_skill::convert>
31{
33 using base_t = seqan3::detail::strong_type<int32_t, open_score, seqan3::detail::strong_type_skill::convert>;
34 using base_t::base_t; // Import the base class constructors
35};
36
37// ------------------------------------------------------------------
38// seqan3::align_cfg::extension_score
39// ------------------------------------------------------------------
40
47 seqan3::detail::strong_type<int32_t, extension_score, seqan3::detail::strong_type_skill::convert>
48{
50 using base_t = seqan3::detail::strong_type<int32_t, extension_score, seqan3::detail::strong_type_skill::convert>;
51 using base_t::base_t; // Import the base class constructors
52};
53
72{
73public:
75 int32_t open_score{0};
77 int32_t extension_score{-1};
78
82 constexpr gap_cost_affine() = default;
83 constexpr gap_cost_affine(gap_cost_affine const &) = default;
84 constexpr gap_cost_affine(gap_cost_affine &&) = default;
85 constexpr gap_cost_affine & operator=(gap_cost_affine const &) = default;
86 constexpr gap_cost_affine & operator=(gap_cost_affine &&) = default;
87 ~gap_cost_affine() = default;
88
106
109 static constexpr seqan3::detail::align_config_id id{seqan3::detail::align_config_id::gap};
110};
111
112} // namespace seqan3::align_cfg
Provides some utility functions for the alignment configurations.
A configuration element for the affine gap cost scheme.
Definition align_config_gap_cost_affine.hpp:72
constexpr gap_cost_affine()=default
Defaulted.
constexpr gap_cost_affine(seqan3::align_cfg::open_score open_score, seqan3::align_cfg::extension_score extension_score)
Construction from strongly typed open score and extension score.
Definition align_config_gap_cost_affine.hpp:100
constexpr gap_cost_affine(gap_cost_affine &&)=default
Defaulted.
constexpr gap_cost_affine(gap_cost_affine const &)=default
Defaulted.
constexpr gap_cost_affine & operator=(gap_cost_affine const &)=default
Defaulted.
constexpr gap_cost_affine & operator=(gap_cost_affine &&)=default
Defaulted.
~gap_cost_affine()=default
Defaulted.
A special sub namespace for the alignment configurations.
Definition align_config_band.hpp:22
SeqAn specific customisations in the standard namespace.
Provides seqan3::pipeable_config_element.
Provides basic data structure for strong types.
A strong type of underlying type int32_t that represents the score (usually negative) of any characte...
Definition align_config_gap_cost_affine.hpp:48
seqan3::detail::strong_type< int32_t, extension_score, seqan3::detail::strong_type_skill::convert > base_t
The type of the strong type base class.
Definition align_config_gap_cost_affine.hpp:50
A strong type of underlying type int32_t that represents a score (usually negative) that is incurred ...
Definition align_config_gap_cost_affine.hpp:31
seqan3::detail::strong_type< int32_t, open_score, seqan3::detail::strong_type_skill::convert > base_t
The type of the strong type base class.
Definition align_config_gap_cost_affine.hpp:33
Adds pipe interface to configuration elements.
Definition pipeable_config_element.hpp:29
Hide me