btllib

Classes | Public Types | Public Member Functions | Static Public Attributes | Friends | List of all members
btllib::SeqReader Class Reference

`#include <seq_reader.hpp>`

## Classes
struct | Flag
struct | Record

## Public Types
enum class | Format { UNDETERMINED , FASTA , FASTQ , SAM , GFA2 , INVALID }

## Public Member Functions
| SeqReader (const std::string &source_path, unsigned flags, unsigned threads=3)
| SeqReader (const SeqReader &)=delete
| SeqReader (SeqReader &&)=delete
SeqReader & | operator= (const SeqReader &)=delete
SeqReader & | operator= (SeqReader &&)=delete
void | close () noexcept
bool | fold_case () const
bool | trim_masked () const
bool | short_mode () const
bool | long_mode () const
Format | get_format () const
Record | read ()
OrderQueueMPMC< Record >::Block | read_block ()
RecordIterator | begin ()
RecordIterator | end ()
size_t | get_buffer_size () const
size_t | get_block_size () const

## Static Public Attributes
static const size_t | MAX_SIMULTANEOUS_SEQREADERS = 256
static const size_t | SHORT_MODE_BUFFER_SIZE = 32
static const size_t | SHORT_MODE_BLOCK_SIZE = 32
static const size_t | LONG_MODE_BUFFER_SIZE = 4
static const size_t | LONG_MODE_BLOCK_SIZE = 1
static const size_t | FORMAT_BUFFER_SIZE = 16384

## Friends
class | SeqReaderFastaModule
class | SeqReaderMultilineFastaModule
class | SeqReaderFastqModule
class | SeqReaderMultilineFastqModule
class | SeqReaderSamModule
class | SeqReaderGfa2Module
std::ostream & | operator<< (std::ostream &os, const Format f)

## Detailed Description

Read a FASTA, FASTQ, SAM, or GFA2 file. When reading SAM files, `samtools fastq` is used to convert from the SAM format to the FASTQ format. Capable of reading gzip (.gz), bzip2 (.bz2), xz (.xz), zip (.zip), 7zip (.7z), lrzip (.lrz), BAM (.bam) and CRAM (.cram), and URL (http://, https://, ftp://) files. Threadsafe.

Examples
  seq_reader.cpp.

## Constructor & Destructor Documentation

## ◆ SeqReader()

btllib::SeqReader::SeqReader | ( | const std::string & | source_path,
|  | unsigned | flags,
|  | unsigned | threads = `3`
| ) |  |

Construct a SeqReader to read sequences from a given path.

Parameters

  source_path | Filepath to read from. Pass "-" to read from stdin.
  flags | Modifier flags. Specifiying either short or long mode flag is mandatory; other flags are optional.
  threads | Maximum number of helper threads to use. Must be at least 1.

## Member Function Documentation

## ◆ begin()

RecordIterator btllib::SeqReader::begin | ( |  | ) |
| inline

For range-based for loop only.

## ◆ read()

Record btllib::SeqReader::read | ( |  | ) |

Obtain next record.

## ◆ read_block()

OrderQueueMPMC< Record >::Block btllib::SeqReader::read_block | ( |  | ) |

Obtain a whole block of records.

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

- include/btllib/seq_reader.hpp