3
* @brief Useful functions for sequence I/O.
4
* @author Yu Peng (ypeng@cs.hku.hk)
9
#ifndef __SEQUENCE_SEQUENCE_IO_H_
11
#define __SEQUENCE_SEQUENCE_IO_H_
18
#include "sequence/sequence_reader.h"
19
#include "sequence/sequence_writer.h"
24
class ShortReadLibrary;
25
class LongReadLibrary;
27
uint64_t ReadLibrary(const std::string &filename, ShortReadLibrary &library);
28
uint64_t ReadLibrary(const std::string &filename, LongReadLibrary &library);
30
uint64_t ReadSequence(const std::string &filename, std::deque<Sequence> &sequences);
31
uint64_t ReadSequence(const std::string &filename, std::deque<Sequence> &sequences, std::deque<std::string> &names);
33
uint64_t ReadSequence(const std::string &filename, std::deque<ShortSequence> &sequences);
34
uint64_t ReadSequence(const std::string &filename, std::deque<ShortSequence> &sequences, std::deque<std::string> &names);
36
uint64_t WriteSequence(const std::string &filename, const std::deque<Sequence> &sequences, const std::string &prefix = "");
37
uint64_t WriteSequence(FastaWriter &writer, const std::deque<Sequence> &sequences, const std::string &prefix = "");
39
uint64_t WriteSequence(const std::string &filename, const std::deque<ShortSequence> &sequences, const std::string &prefix = "");
40
uint64_t WriteSequence(FastaWriter &writer, const std::deque<ShortSequence> &sequences, const std::string &prefix = "");