Minimac4
Loading...
Searching...
No Matches
variant.hpp
Go to the documentation of this file.
1#ifndef MINIMAC4_VARIANT_HPP
2#define MINIMAC4_VARIANT_HPP
3
4#include <string>
5#include <vector>
6#include <cstdint>
7#include <limits>
8
18{
19 std::string chrom;
20 std::uint32_t pos;
21 std::string id;
22 std::string ref;
23 std::string alt;
24 bool in_tar;
25 bool in_ref;
26 float af;
27 float err;
28 float recom;
29 std::vector<std::int8_t> gt;
30};
31
40{
41 std::string chrom;
42 std::uint32_t pos = 0;
43 std::string id;
44 std::string ref;
45 std::string alt;
46 float err = std::numeric_limits<float>::quiet_NaN();
47 float recom = std::numeric_limits<float>::quiet_NaN();
48 double cm = std::numeric_limits<double>::quiet_NaN();
49
51
52 reference_site_info(std::string _chrom,
53 std::uint32_t _pos,
54 std::string _id,
55 std::string _ref,
56 std::string _alt,
57 float _err,
58 float _recom,
59 double _cm)
60 : chrom(std::move(_chrom)),
61 pos(_pos),
62 id(_id),
63 ref(std::move(_ref)),
64 alt(std::move(_alt)),
65 err(_err),
66 recom(_recom),
67 cm(_cm)
68 {}
69};
70
76{
78
79 reference_variant(const std::string& _chrom,
80 std::uint32_t _pos,
81 const std::string& _id,
82 const std::string& _ref,
83 const std::string& _alt,
84 float _err,
85 float _recom,
86 double _cm,
87 std::size_t _ac,
88 std::vector<std::int8_t> _gt)
89 : reference_site_info(_chrom, _pos, _id, _ref, _alt, _err, _recom, _cm),
90 ac(_ac),
91 gt(std::move(_gt))
92 {}
93
94 std::size_t ac = 0;
95 std::vector<std::int8_t> gt;
96};
97
106{
107 std::size_t ac;
108 std::vector<std::uint32_t> alt_allele_offsets;
109
110 sparse_ref_variant(const std::string& _chrom,
111 std::uint32_t _pos,
112 const std::string& _id,
113 const std::string& _ref,
114 const std::string& _alt,
115 float _err,
116 float _recom,
117 double _cm,
118 std::size_t _ac,
119 const std::size_t* off_it, const std::size_t* off_it_end)
120 : reference_site_info(_chrom, _pos, _id, _ref, _alt, _err, _recom, _cm),
121 ac(_ac),
122 alt_allele_offsets(off_it, off_it_end)
123 {}
124};
125
126#endif // MINIMAC4_VARIANT_HPP
reference_site_info(std::string _chrom, std::uint32_t _pos, std::string _id, std::string _ref, std::string _alt, float _err, float _recom, double _cm)
Definition variant.hpp:52
std::string chrom
Chromosome name.
Definition variant.hpp:41
std::string alt
Alternate allele.
Definition variant.hpp:45
float err
Error rate.
Definition variant.hpp:46
std::string ref
Reference allele.
Definition variant.hpp:44
std::string id
Variant identifier.
Definition variant.hpp:43
reference_site_info()
Definition variant.hpp:50
float recom
Recombination rate.
Definition variant.hpp:47
double cm
Centimorgan position.
Definition variant.hpp:48
std::uint32_t pos
Position on the chromosome.
Definition variant.hpp:42
std::size_t ac
Allele count.
Definition variant.hpp:94
reference_variant()
Definition variant.hpp:77
reference_variant(const std::string &_chrom, std::uint32_t _pos, const std::string &_id, const std::string &_ref, const std::string &_alt, float _err, float _recom, double _cm, std::size_t _ac, std::vector< std::int8_t > _gt)
Definition variant.hpp:79
std::vector< std::int8_t > gt
Genotype vector.
Definition variant.hpp:95
sparse_ref_variant(const std::string &_chrom, std::uint32_t _pos, const std::string &_id, const std::string &_ref, const std::string &_alt, float _err, float _recom, double _cm, std::size_t _ac, const std::size_t *off_it, const std::size_t *off_it_end)
Definition variant.hpp:110
std::vector< std::uint32_t > alt_allele_offsets
Offsets of alternate alleles.
Definition variant.hpp:108
std::size_t ac
Allele count.
Definition variant.hpp:107
Represents a variant in the target dataset.
Definition variant.hpp:18
std::string alt
Alternate allele.
Definition variant.hpp:23
float recom
Recombination rate.
Definition variant.hpp:28
std::vector< std::int8_t > gt
Genotype data for each sample.
Definition variant.hpp:29
bool in_tar
True if site exists in the target file.
Definition variant.hpp:24
std::string chrom
Chromosome name.
Definition variant.hpp:19
float err
Error rate.
Definition variant.hpp:27
float af
Allele frequency.
Definition variant.hpp:26
bool in_ref
True if site exists in the reference file.
Definition variant.hpp:25
std::string ref
Reference allele.
Definition variant.hpp:22
std::string id
Variant identifier.
Definition variant.hpp:21
std::uint32_t pos
1-based position on the chromosome
Definition variant.hpp:20