A library for working with phylogenetic and population genetic data.
v0.27.0
variant.hpp
Go to the documentation of this file.
1 #ifndef GENESIS_POPULATION_VARIANT_H_
2 #define GENESIS_POPULATION_VARIANT_H_
3 
4 /*
5  Genesis - A toolkit for working with phylogenetic data.
6  Copyright (C) 2014-2021 Lucas Czech
7 
8  This program is free software: you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation, either version 3 of the License, or
11  (at your option) any later version.
12 
13  This program is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with this program. If not, see <http://www.gnu.org/licenses/>.
20 
21  Contact:
22  Lucas Czech <lczech@carnegiescience.edu>
23  Department of Plant Biology, Carnegie Institution For Science
24  260 Panama Street, Stanford, CA 94305, USA
25 */
26 
35 
36 #include <string>
37 #include <vector>
38 
39 namespace genesis {
40 namespace population {
41 
42 // =================================================================================================
43 // Variant
44 // =================================================================================================
45 
62 struct Variant
63 {
64  std::string chromosome;
65  size_t position = 0;
66  char reference_base = 'N';
67  char alternative_base = 'N';
68 
69  std::vector<BaseCounts> samples;
70 };
71 
72 } // namespace population
73 } // namespace genesis
74 
75 #endif // include guard
base_counts.hpp
genesis::population::Variant::position
size_t position
Definition: variant.hpp:65
genesis::population::Variant::reference_base
char reference_base
Definition: variant.hpp:66
genesis::population::Variant::samples
std::vector< BaseCounts > samples
Definition: variant.hpp:69
genesis::population::Variant
A single variant at a position in a chromosome, along with BaseCounts for a set of samples.
Definition: variant.hpp:62
genesis
Container namespace for all symbols of genesis in order to keep them separate when used as a library.
Definition: placement/formats/edge_color.cpp:42
genesis::population::Variant::alternative_base
char alternative_base
Definition: variant.hpp:67
genesis::population::Variant::chromosome
std::string chromosome
Definition: variant.hpp:64