Gamgee
You miserable little maggot. I'll stove your head in!
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
reference_map.h
Go to the documentation of this file.
1 #ifndef gamgee__reference_map__guard
2 #define gamgee__reference_map__guard
3 
4 #include <unordered_map>
5 #include <vector>
6 #include <string>
7 
8 #include "fastq_reader.h"
9 #include "interval.h"
10 
11 namespace gamgee {
12 
18 class ReferenceMap : public std::unordered_map<std::string, std::string> {
19  public:
20 
26  ReferenceMap(const std::string& filename);
27 
33  std::string get_sequence(const Interval& interval,
34  const bool reverse_strand = false
35  )const;
36 
37  private:
38  void load_reference_from_fastq_reader(gamgee::FastqReader& reader);
39  void read_fastq(gamgee::FastqReader& reader);
40 };
41 
42 } // namespace gamgee
43 
44 #endif /* gamgee__reference_map__guard */
Utility class to store an genomic location (Interval).
Definition: interval.h:19
Utility class to read many Fastq records from a stream (e.g. Fastq file, stdin, ...) in a for-each loop in a for-each loop.
Definition: fastq_reader.h:36
ReferenceMap(const std::string &filename)
opens a fasta/fastq reference file and creates a ReferenceMap from it
Definition: reference_map.cpp:15
Definition: exceptions.h:9
std::string get_sequence(const Interval &interval, const bool reverse_strand=false) const
locates the DNA sequence for a given Interval
Definition: reference_map.cpp:25
Utility class to create a reference object for all reference operations in Foghorn.
Definition: reference_map.h:18