SeqAn3  3.0.3
The Modern C++ library for sequence analysis.
seqan3::alignment_file_input< traits_type_, selected_field_ids_, valid_formats_ > Struct Template Reference

#include <seqan3/io/alignment_file/input.hpp>

+ Inheritance diagram for seqan3::alignment_file_input< traits_type_, selected_field_ids_, valid_formats_ >:

Additional Inherited Members

- Public Types inherited from seqan3::sam_file_input< sam_file_input_default_traits<>, fields< field::seq, field::id, field::offset, field::ref_seq, field::ref_id, field::ref_offset, field::alignment, field::cigar, field::mapq, field::qual, field::flag, field::mate, field::tags, field::evalue, field::bit_score, field::header_ptr >, type_list< format_sam, format_bam > >
using traits_type = traits_type_
 A traits type that defines aliases and template for storage of the fields.
 
using selected_field_ids = selected_field_ids_
 A seqan3::fields list with the fields selected for the record.
 
using valid_formats = valid_formats_
 A seqan3::type_list with the possible formats.
 
using stream_char_type = char
 Character type of the stream(s).
 
using value_type = record_type
 The value_type is the record_type.
 
using reference = record_type &
 The reference type.
 
using const_reference = void
 The const_reference type is void because files are not const-iterable.
 
using size_type = size_t
 An unsigned integer type, usually std::size_t.
 
using difference_type = std::make_signed_t< size_t >
 A signed integer type, usually std::ptrdiff_t.
 
using iterator = detail::in_file_iterator< sam_file_input >
 The iterator type of this view (an input iterator).
 
using const_iterator = void
 The const iterator type is void because files are not const-iterable.
 
using sentinel = std::default_sentinel_t
 The type returned by end().
 
using sequence_type = typename traits_type::template sequence_container< typename traits_type::sequence_alphabet >
 The type of field::seq (default std::vector<seqan3::dna5>).
 
using id_type = typename traits_type::template id_container< char >
 The type of field::id (default std::string by default).
 
using offset_type = int32_t
 The type of field::offset is fixed to int32_t.
 
using ref_sequence_type = std::conditional_t< std::same_as< typename traits_type::ref_sequences, ref_info_not_given >, dummy_ref_type, ref_sequence_sliced_type >
 The type of field::ref_seq (default depends on construction). More...
 
using ref_id_type = std::optional< int32_t >
 The type of field::ref_id is fixed to std::optional<int32_t>. More...
 
using ref_offset_type = std::optional< int32_t >
 The type of field::ref_offset is fixed to an std::optional<int32_t>. More...
 
using mapq_type = uint8_t
 The type of field::mapq is fixed to uint8_t.
 
using quality_type = typename traits_type::template quality_container< typename traits_type::quality_alphabet >
 The type of field::qual (default std::vector<seqan3::phred42>).
 
using flag_type = sam_flag
 The type of field::flag is fixed to seqan3::sam_flag.
 
using cigar_type = std::vector< cigar >
 The type of field::cigar is fixed to std::vector<cigar>.
 
using mate_type = std::tuple< ref_id_type, ref_offset_type, int32_t >
 The type of field::mate is fixed to std::tuple<ref_id_type, ref_offset_type, int32_t>).
 
using e_value_type = double
 The type of field::evalue is fixed to double.
 
using bitscore_type = double
 The type of field::bitscore is fixed to double.
 
using header_type = sam_file_header< typename traits_type::ref_ids >
 The type of field::header_ptr (default: sam_file_header<typename traits_type::ref_ids>).
 
using alignment_type = std::tuple< gap_decorator< ref_sequence_type >, alignment_query_type >
 The type of field::alignment (default: std::pair<std::vector<gapped<dna5>>, std::vector<gapped<dna5>>>).
 
using field_types = type_list< sequence_type, id_type, offset_type, ref_sequence_type, ref_id_type, ref_offset_type, alignment_type, std::vector< cigar >, mapq_type, quality_type, flag_type, mate_type, sam_tag_dictionary, e_value_type, bitscore_type, header_type * >
 The previously defined types aggregated in a seqan3::type_list.
 
using field_ids = fields< field::seq, field::id, field::offset, field::ref_seq, field::ref_id, field::ref_offset, field::alignment, field::cigar, field::mapq, field::qual, field::flag, field::mate, field::tags, field::evalue, field::bit_score, field::header_ptr >
 The subset of seqan3::field tags valid for this file; order corresponds to the types in field_types. More...
 
using record_type = sam_record< detail::select_types_with_ids_t< field_types, field_ids, selected_field_ids >, selected_field_ids >
 The type of the record, a specialisation of seqan3::record; acts as a tuple of the selected field types.
 
- Public Member Functions inherited from seqan3::sam_file_input< sam_file_input_default_traits<>, fields< field::seq, field::id, field::offset, field::ref_seq, field::ref_id, field::ref_offset, field::alignment, field::cigar, field::mapq, field::qual, field::flag, field::mate, field::tags, field::evalue, field::bit_score, field::header_ptr >, type_list< format_sam, format_bam > >
header_typeheader ()
 Access the file's header. More...
 
 sam_file_input ()=delete
 Default constructor is explicitly deleted, you need to give a stream or file name.
 
 sam_file_input (sam_file_input const &)=delete
 Copy construction is explicitly deleted because you cannot have multiple access to the same file.
 
 sam_file_input (sam_file_input &&)=default
 Move construction is defaulted.
 
 sam_file_input (std::filesystem::path filename, selected_field_ids const &fields_tag=selected_field_ids{})
 Construct from filename. More...
 
 sam_file_input (stream_t &stream, file_format const &format_tag, selected_field_ids const &fields_tag=selected_field_ids{})
 Construct from an existing stream and with specified format. More...
 
 sam_file_input (stream_t &&stream, file_format const &format_tag, selected_field_ids const &fields_tag=selected_field_ids{})
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
 sam_file_input (std::filesystem::path filename, typename traits_type::ref_ids &ref_ids, typename traits_type::ref_sequences &ref_sequences, selected_field_ids const &fields_tag=selected_field_ids{})
 Construct from filename and given additional reference information. More...
 
 sam_file_input (stream_t &stream, typename traits_type::ref_ids &ref_ids, typename traits_type::ref_sequences &ref_sequences, file_format const &format_tag, selected_field_ids const &fields_tag=selected_field_ids{})
 Construct from an existing stream and with specified format. More...
 
 sam_file_input (stream_t &&stream, typename traits_type::ref_ids &ref_ids, typename traits_type::ref_sequences &ref_sequences, file_format const &format_tag, selected_field_ids const &fields_tag=selected_field_ids{})
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
sam_file_inputoperator= (sam_file_input const &)=delete
 Copy assignment is explicitly deleted because you cannot have multiple access to the same file.
 
sam_file_inputoperator= (sam_file_input &&)=default
 Move assignment is defaulted.
 
 ~sam_file_input ()=default
 Destructor is defaulted.
 
iterator begin ()
 Returns an iterator to current position in the file. More...
 
sentinel end () noexcept
 Returns a sentinel for comparison with iterator. More...
 
reference front () noexcept
 Return the record we are currently at in the file. More...
 
- Public Attributes inherited from seqan3::sam_file_input< sam_file_input_default_traits<>, fields< field::seq, field::id, field::offset, field::ref_seq, field::ref_id, field::ref_offset, field::alignment, field::cigar, field::mapq, field::qual, field::flag, field::mate, field::tags, field::evalue, field::bit_score, field::header_ptr >, type_list< format_sam, format_bam > >
sam_file_input_options< typename traits_type::sequence_legal_alphabet > options
 The options are public and its members can be set directly.
 
- Static Public Attributes inherited from seqan3::sam_file_input< sam_file_input_default_traits<>, fields< field::seq, field::id, field::offset, field::ref_seq, field::ref_id, field::ref_offset, field::alignment, field::cigar, field::mapq, field::qual, field::flag, field::mate, field::tags, field::evalue, field::bit_score, field::header_ptr >, type_list< format_sam, format_bam > >
static constexpr bool is_default_selected_field_ids
 brief Does selected_field_ids contain all fields like in the default case?
 

Detailed Description

template<sam_file_input_traits traits_type_ = sam_file_input_default_traits<>, detail::fields_specialisation selected_field_ids_ = fields<field::seq, field::id, field::offset, field::ref_seq, field::ref_id, field::ref_offset, field::alignment, field::cigar, field::mapq, field::qual, field::flag, field::mate, field::tags, field::evalue, field::bit_score, field::header_ptr>, detail::type_list_of_sam_file_input_formats valid_formats_ = type_list<format_sam, format_bam>>
struct seqan3::alignment_file_input< traits_type_, selected_field_ids_, valid_formats_ >

Deprecated:
Use seqan3::sam_file_input instead.

The documentation for this struct was generated from the following file: