SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
|
The generic base class. More...
#include <seqan3/io/sam_file/sam_tag_dictionary.hpp>
Public Types | |
using | type = detail::sam_tag_variant |
The type for all unknown tags with no extra overload defaults to a std::variant. | |
Related Symbols | |
(Note that these are not member symbols.) | |
template<uint16_t tag_value> | |
using | sam_tag_type_t = typename sam_tag_type< tag_value >::type |
Short cut helper for seqan3::sam_tag_type::type. | |
The generic base class.
All known tags of the SAM specifications already have a pre-defined type. If you want to specify the type of your custom tag (the SAM specifications recommend to use X?, Y? or Z?) you need to overload the seqan3::sam_tag_type struct in the following way: (take tag "XX" as an example)
Everything else, like the get and set functions and correct SAM output (XX:i:? in this case) is handled by the seqan3::sam_tag_dictionary.
The seqan3::sam_tag_type is overloaded the following SAM tags:
Tag Name | SeqAn Type Implementation |
---|---|
"AM"_tag | int32_t |
"AS"_tag | int32_t |
"BC"_tag | std::string |
"BQ"_tag | std::string |
"BZ"_tag | std::string |
"CB"_tag | std::string |
"CC"_tag | std::string |
"CG"_tag | std::vector<int32_t> |
"CM"_tag | int32_t |
"CO"_tag | std::string |
"CP"_tag | int32_t |
"CQ"_tag | std::string |
"CR"_tag | std::string |
"CS"_tag | std::string |
"CT"_tag | std::string |
"CY"_tag | std::string |
"E2"_tag | std::string |
"FI"_tag | int32_t |
"FS"_tag | std::string |
"FZ"_tag | std::vector<uint16_t> |
"H0"_tag | int32_t |
"H1"_tag | int32_t |
"H2"_tag | int32_t |
"HI"_tag | int32_t |
"IH"_tag | int32_t |
"LB"_tag | std::string |
"MC"_tag | std::string |
"MD"_tag | std::string |
"MI"_tag | std::string |
"MQ"_tag | int32_t |
"NH"_tag | int32_t |
"NM"_tag | int32_t |
"OC"_tag | std::string |
"OP"_tag | int32_t |
"OQ"_tag | std::string |
"OX"_tag | std::string |
"PG"_tag | std::string |
"PQ"_tag | int32_t |
"PT"_tag | std::string |
"PU"_tag | std::string |
"Q2"_tag | std::string |
"QT"_tag | std::string |
"QX"_tag | std::string |
"R2"_tag | std::string |
"RG"_tag | std::string |
"RT"_tag | std::string |
"RX"_tag | std::string |
"SA"_tag | std::string |
"SM"_tag | int32_t |
"TC"_tag | int32_t |
"U2"_tag | std::string |
"UQ"_tag | int32_t |